Merge branch 'main' of github.com:strapi/strapi into features/custom-fields

This commit is contained in:
Mark Kaylor 2022-08-22 15:49:15 +02:00
commit 7883d1578a
82 changed files with 2111 additions and 1333 deletions

View File

@ -28,7 +28,7 @@ module.exports = {
'no-use-before-define': 'warn',
'no-param-reassign': 'warn',
'no-continue': 'warn',
'no-process-exit': 'warn',
'no-process-exit': 'off',
'no-plusplus': 'warn',
'no-loop-func': 'warn',
'guard-for-in': 'warn',

View File

@ -13,7 +13,7 @@ https://guides.github.com/features/mastering-markdown/
Please ensure you have also read and understand the contributing guide.
https://github.com/strapi/strapi/blob/master/CONTRIBUTING.md#reporting-an-issue
https://github.com/strapi/strapi/blob/main/CONTRIBUTING.md#reporting-an-issue
-->
## Bug report

View File

@ -8,7 +8,7 @@ To help us merge your PR, make sure to follow the instructions below:
- Refer to the issue you are closing in the PR description: Fix #issue
- Specify if the PR is ready to be merged or work in progress (by opening a draft PR)
Please ensure you read the Contributing Guide: https://github.com/strapi/strapi/blob/master/CONTRIBUTING.md
Please ensure you read the Contributing Guide: https://github.com/strapi/strapi/blob/main/CONTRIBUTING.md
-->
### What does it do?

View File

@ -1,6 +1,6 @@
# PR checker for status
This action checks a PR labels, milestone and status to validate it is ready for merging into master.
This action checks a PR labels, milestone and status to validate it is ready for merging into main.
> ❗️ When making changes to this code, make sure to run the build before committing. See [Development](#development) to know more.

View File

@ -9,7 +9,7 @@
"watch": "NODE_ENV=production ncc build index.js -w -o dist --minify"
},
"devDependencies": {
"@actions/core": "1.9.0",
"@actions/core": "1.9.1",
"@actions/github": "5.0.0",
"@vercel/ncc": "0.34.0"
}

View File

@ -9,7 +9,7 @@ on:
- labeled
- unlabeled
branches:
- master
- main
jobs:
check-pr-status:

23
.github/workflows/nightly.yml vendored Normal file
View File

@ -0,0 +1,23 @@
name: 'Nightly Releases'
on:
schedule:
- cron: '0 0 * * 2-6'
workflow_dispatch:
jobs:
publish:
name: 'Publish'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup npmrc
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
- uses: actions/setup-node@v3
with:
node-version: 16
- run: yarn
- run: ./scripts/pre-publish.sh --yes
env:
VERSION: '0.0.0-${{ github.sha }}'
DIST_TAG: experimental

44
.github/workflows/pages.yml vendored Normal file
View File

@ -0,0 +1,44 @@
name: Deploy static content to Pages
on:
push:
branches:
- 'main'
workflow_dispatch:
concurrency:
group: 'pages'
cancel-in-progress: true
defaults:
run:
working-directory: docs
jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Build website
run: yarn build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/build
user_name: github-actions[bot]
user_email: 41898282+github-actions[bot]@users.noreply.github.com

View File

@ -3,7 +3,7 @@ name: 'Tests'
on:
push:
branches:
- master
- main
pull_request:
jobs:

View File

@ -1,10 +0,0 @@
trigger_deploy:
stage: deploy
script:
- curl -X POST
--form "token=$TRIGGER_TOKEN"
--form "ref=master"
--form "variables[UPSTREAM_COMMIT_SHA]=$CI_COMMIT_SHA"
https://gitlab.com/api/v4/projects/12825884/trigger/pipeline
only:
- develop

View File

@ -1,6 +1,6 @@
# Contribute to Strapi
Strapi is an open-source project administered by [the Strapi team](https://strapi.io/about-us). We appreciate your interest and efforts to contribute to Strapi. See the [LICENSE](https://github.com/strapi/strapi/blob/master/LICENSE) licensing information. All work done is available on GitHub.
Strapi is an open-source project administered by [the Strapi team](https://strapi.io/about-us). We appreciate your interest and efforts to contribute to Strapi. See the [LICENSE](https://github.com/strapi/strapi/blob/main/LICENSE) licensing information. All work done is available on GitHub.
We highly appreciate your effort to contribute, but we recommend you talk to a maintainer before spending a lot of time making a pull request that may not align with the project roadmap. Whether it is from Strapi or contributors, every pull request goes through the same process.
@ -51,7 +51,7 @@ The Strapi core team will review your pull request and either merge it, request
**Before submitting your pull request** make sure the following requirements are fulfilled:
- Fork the repository and create your new branch from `master`.
- Fork the repository and create your new branch from `main`.
- Run `yarn setup` in the root of the repository.
- If you've fixed a bug or added code that should be tested, please make sure to add tests
- Ensure the following test suites are passing:

View File

@ -17,11 +17,14 @@
<img src="https://img.shields.io/npm/v/@strapi/strapi/latest.svg" alt="NPM Version" />
</a>
<a href="https://github.com/strapi/strapi/actions/workflows/tests.yml">
<img src="https://github.com/strapi/strapi/actions/workflows/tests.yml/badge.svg?branch=master" alt="Tests" />
<img src="https://github.com/strapi/strapi/actions/workflows/tests.yml/badge.svg?branch=main" alt="Tests" />
</a>
<a href="https://discord.strapi.io">
<img src="https://img.shields.io/discord/811989166782021633?label=Discord" alt="Strapi on Discord" />
</a>
<a href="https://github.com/strapi/strapi/actions/workflows/nightly.yml">
<img src="https://github.com/strapi/strapi/actions/workflows/nightly.yml/badge.svg" alt="Strapi Nightly Release Build Status" />
</a>
</p>
<br>

View File

@ -1,7 +1,6 @@
comment:
branches:
- master
- develop
- main
github_checks:
annotations: false

View File

@ -9,12 +9,13 @@ const config = {
title: 'Doc',
tagline: 'Dinosaurs are cool',
url: 'https://your-docusaurus-test-site.com',
baseUrl: '/',
baseUrl: '/strapi/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
favicon: 'img/favicon.ico',
organizationName: 'strapi',
projectName: 'strapi',
trailingSlash: false,
// Even if you don't use internalization, you can use this field to set useful
// metadata like html lang. For example, if your site is Chinese, you may want
@ -32,7 +33,7 @@ const config = {
docs: {
routeBasePath: '/',
sidebarPath: require.resolve('./sidebars.js'),
// editUrl: 'https://github.com/strapi/strapi/tree/master/docs//docs',
// editUrl: 'https://github.com/strapi/strapi/tree/main/docs//docs',
},
blog: false,
},

View File

@ -14,8 +14,8 @@
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
"@docusaurus/core": "2.0.0-beta.21",
"@docusaurus/preset-classic": "2.0.0-beta.21",
"@docusaurus/core": "2.0.1",
"@docusaurus/preset-classic": "2.0.1",
"@mdx-js/react": "^1.6.22",
"clsx": "^1.1.1",
"prism-react-renderer": "^1.3.3",

File diff suppressed because it is too large Load Diff

View File

@ -91,7 +91,7 @@
"jest-circus": "26.6.3",
"jest-cli": "26.6.3",
"jest-watch-typeahead": "0.6.5",
"lerna": "5.1.6",
"lerna": "5.4.3",
"lint-staged": "10.5.4",
"lodash": "4.17.21",
"npm-run-all": "4.1.5",

View File

@ -36,16 +36,34 @@ const DynamicTable = ({
});
const formattedHeaders = headers.displayedHeaders.map((header) => {
const { metadatas } = header;
if (header.fieldSchema.type === 'relation') {
const sortFieldValue = `${header.name}.${header.metadatas.mainField.name}`;
return {
...header,
metadatas: {
...metadatas,
label: formatMessage({
id: getTrad(`containers.ListPage.table-headers.${header.name}`),
defaultMessage: header.name,
}),
},
name: sortFieldValue,
};
}
return header;
return {
...header,
metadatas: {
...metadatas,
label: formatMessage({
id: getTrad(`containers.ListPage.table-headers.${header.name}`),
defaultMessage: header.name,
}),
},
};
});
if (!hasDraftAndPublish) {
@ -61,7 +79,10 @@ const DynamicTable = ({
type: 'custom',
},
metadatas: {
label: formatMessage({ id: getTrad('containers.ListPage.table-headers.published_at') }),
label: formatMessage({
id: getTrad(`containers.ListPage.table-headers.publishedAt`),
defaultMessage: 'publishedAt',
}),
searchable: false,
sortable: true,
},

View File

@ -1,4 +1,8 @@
import React from 'react';
import { useIntl } from 'react-intl';
import PropTypes from 'prop-types';
import { useHistory } from 'react-router-dom';
import { Typography } from '@strapi/design-system/Typography';
import { Tbody, Tr, Td } from '@strapi/design-system/Table';
import { Flex } from '@strapi/design-system/Flex';
@ -9,9 +13,7 @@ import {
pxToRem,
useTracking,
} from '@strapi/helper-plugin';
import { useIntl } from 'react-intl';
import PropTypes from 'prop-types';
import { useHistory } from 'react-router-dom';
import DeleteButton from './DeleteButton';
import UpdateButton from './UpdateButton';

View File

@ -1,5 +1,9 @@
import React, { useEffect, useRef } from 'react';
import { useIntl } from 'react-intl';
import { useQuery, useMutation, useQueryClient } from 'react-query';
import { useHistory } from 'react-router-dom';
import qs from 'qs';
import {
SettingsPageTitle,
useFocusWhenNavigate,
@ -16,9 +20,7 @@ import { HeaderLayout, ContentLayout } from '@strapi/design-system/Layout';
import { Main } from '@strapi/design-system/Main';
import { Button } from '@strapi/design-system/Button';
import Plus from '@strapi/icons/Plus';
import { useQuery, useMutation, useQueryClient } from 'react-query';
import { useHistory } from 'react-router-dom';
import qs from 'qs';
import { axiosInstance } from '../../../../../core/utils';
import adminPermissions from '../../../../../permissions';
import tableHeaders from './utils/tableHeaders';
@ -47,6 +49,14 @@ const ApiTokenListView = () => {
push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });
}, [push]);
const headers = tableHeaders.map((header) => ({
...header,
metadatas: {
...header.metadatas,
label: formatMessage(header.metadatas.label),
},
}));
const {
data: apiTokens,
status,
@ -134,7 +144,7 @@ const ApiTokenListView = () => {
{!canRead && <NoPermissions />}
{shouldDisplayDynamicTable && (
<DynamicTable
headers={tableHeaders}
headers={headers}
contentType="api-tokens"
rows={apiTokens}
withBulkActions={canDelete || canUpdate}

View File

@ -3,7 +3,10 @@ const tableHeaders = [
name: 'name',
key: 'name',
metadatas: {
label: 'Name',
label: {
id: 'Settings.apiTokens.ListView.headers.name',
defaultMessage: 'Name',
},
sortable: true,
},
},
@ -11,7 +14,10 @@ const tableHeaders = [
name: 'description',
key: 'description',
metadatas: {
label: 'Description',
label: {
id: 'Settings.apiTokens.ListView.headers.description',
defaultMessage: 'Description',
},
sortable: false,
},
},
@ -19,7 +25,10 @@ const tableHeaders = [
name: 'type',
key: 'type',
metadatas: {
label: 'Token type',
label: {
id: 'Settings.apiTokens.ListView.headers.type',
defaultMessage: 'Token type',
},
sortable: false,
},
},
@ -27,7 +36,10 @@ const tableHeaders = [
name: 'createdAt',
key: 'createdAt',
metadatas: {
label: 'Created at',
label: {
id: 'Settings.apiTokens.ListView.headers.createdAt',
defaultMessage: 'Created at',
},
sortable: false,
},
},

View File

@ -1,9 +1,11 @@
import React from 'react';
import { IntlProvider } from 'react-intl';
import { render as renderTL, fireEvent, screen, waitFor } from '@testing-library/react';
import { render as renderTL, fireEvent, screen, waitFor, configure } from '@testing-library/react';
import { ThemeProvider, lightTheme } from '@strapi/design-system';
import LogoInput from '../index';
configure({ asyncUtilTimeout: 8000 });
const getFakeSize = jest.fn(() => ({
width: 500,
height: 500,
@ -28,7 +30,7 @@ const render = (props) =>
<LogoInput
{...props}
defaultLogo="/admin/defaultLogo.png"
onChangeLogo={() => jest.fn()}
onChangeLogo={jest.fn()}
onResetMenuLogo={jest.fn()}
/>
</IntlProvider>
@ -172,7 +174,7 @@ describe('ApplicationsInfosPage || LogoInput', () => {
it('should show error message when uploading wrong file format', async () => {
render();
const changeLogoButton = document.querySelector('button');
const changeLogoButton = screen.getByRole('button');
fireEvent.click(changeLogoButton);
fireEvent.click(screen.getByText('From url'));
@ -247,8 +249,11 @@ describe('ApplicationsInfosPage || LogoInput', () => {
it('should accept upload and lead user to next modal', async () => {
render();
const changeLogoButton = document.querySelector('button');
fireEvent.click(changeLogoButton);
fireEvent.click(screen.getByText('From url'));
const textInput = document.querySelector('input[name="logo-url"]');

View File

@ -38,6 +38,14 @@ const ListPage = () => {
const { notifyStatus } = useNotifyAT();
const queryName = ['users', search];
const headers = tableHeaders.map((header) => ({
...header,
metadatas: {
...header.metadatas,
label: formatMessage(header.metadatas.label),
},
}));
const title = formatMessage({
id: 'global.users',
defaultMessage: 'Users',
@ -143,14 +151,14 @@ const ListPage = () => {
isLoading={isLoading}
onConfirmDeleteAll={deleteAllMutation.mutateAsync}
onConfirmDelete={(id) => deleteAllMutation.mutateAsync([id])}
headers={tableHeaders}
headers={headers}
rows={data?.results}
withBulkActions
withMainAction={canDelete}
>
<TableRows
canDelete={canDelete}
headers={tableHeaders}
headers={headers}
rows={data?.results || []}
withBulkActions
withMainAction={canDelete}

View File

@ -7,30 +7,50 @@ const tableHeaders = [
{
name: 'firstname',
key: 'firstname',
metadatas: { label: 'Firstname', sortable: true },
metadatas: {
label: {
id: 'Settings.permissions.users.firstname',
defaultMessage: 'Firstname',
},
sortable: true,
},
},
{
name: 'lastname',
key: 'lastname',
metadatas: { label: 'Lastname', sortable: true },
metadatas: {
label: {
id: 'Settings.permissions.users.lastname',
defaultMessage: 'Lastname',
},
sortable: true,
},
},
{
key: 'email',
name: 'email',
metadatas: { label: 'Email', sortable: true },
metadatas: {
label: { id: 'Settings.permissions.users.email', defaultMessage: 'Email' },
sortable: true,
},
},
{
key: 'roles',
name: 'roles',
metadatas: { label: 'Roles', sortable: false },
/* eslint-disable react/prop-types */
metadatas: {
label: {
id: 'Settings.permissions.users.roles',
defaultMessage: 'Roles',
},
sortable: false,
},
cellFormatter({ roles }, { formatMessage }) {
return (
<Typography textColor="neutral800">
{roles
.map((role) =>
formatMessage({
id: `global.${role.code}`,
id: `Settings.permissions.users.${role.code}`,
defaultMessage: role.name,
})
)
@ -38,25 +58,37 @@ const tableHeaders = [
</Typography>
);
},
/* eslint-enable react/prop-types */
},
{
key: 'username',
name: 'username',
metadatas: { label: 'Username', sortable: true },
metadatas: {
label: {
id: 'Settings.permissions.users.username',
defaultMessage: 'Username',
},
sortable: true,
},
},
{
key: 'isActive',
name: 'isActive',
metadatas: { label: 'User status', sortable: false },
// eslint-disable-next-line react/prop-types
metadatas: {
label: {
id: 'Settings.permissions.users.user-status',
defaultMessage: 'User status',
},
sortable: false,
},
cellFormatter({ isActive }, { formatMessage }) {
return (
<Flex>
<Status isActive={isActive} variant={isActive ? 'success' : 'danger'} />
<Typography textColor="neutral800">
{formatMessage({
id: isActive ? 'global.active' : 'global.inactive',
id: isActive
? 'Settings.permissions.users.active'
: 'Settings.permissions.users.inactive',
defaultMessage: isActive ? 'Active' : 'Inactive',
})}
</Typography>

View File

@ -116,9 +116,9 @@
"Settings.permissions.select-all-by-permission": "Seleccioneu tots els permisos de {label}",
"Settings.permissions.select-by-permission": "Seleccionar permís de {label}",
"Settings.permissions.users.create": "Crear nou usuari",
"Settings.permissions.users.form.email": "Email",
"Settings.permissions.users.form.firstname": "Nom",
"Settings.permissions.users.form.lastname": "Cognom",
"Settings.permissions.users.email": "Email",
"Settings.permissions.users.firstname": "Nom",
"Settings.permissions.users.lastname": "Cognom",
"Settings.permissions.users.form.sso": "connecta amb SSO",
"Settings.permissions.users.form.sso.description": "quan està disponible, els usuaris poden accedir via SSO",
"Settings.permissions.users.listview.header.subtitle": "Tots els usuaris que tenen accés al panell d'administració de Strapi",
@ -545,7 +545,7 @@
"content-manager.containers.List.published": "Publicat",
"content-manager.containers.ListPage.displayedFields": "Camps mostrats",
"content-manager.containers.ListPage.items": "{number, plural, =0 {elements} one {element} other {elements}}",
"content-manager.containers.ListPage.table-headers.published_at": "Estat",
"content-manager.containers.ListPage.table-headers.publishedAt": "Estat",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Edita l'etiqueta",
"content-manager.containers.SettingPage.add.field": "Inserir un altre camp",
"content-manager.containers.SettingPage.add.relational-field": "Inserir un altre camp relacional",

View File

@ -116,9 +116,9 @@
"Settings.permissions.select-all-by-permission": "Wähle alle {label}-Berechtigungen",
"Settings.permissions.select-by-permission": "Wähle {label}-Berechtigung",
"Settings.permissions.users.create": "Benutzer einladen",
"Settings.permissions.users.form.email": "E-Mail",
"Settings.permissions.users.form.firstname": "Vorname",
"Settings.permissions.users.form.lastname": "Nachname",
"Settings.permissions.users.email": "E-Mail",
"Settings.permissions.users.firstname": "Vorname",
"Settings.permissions.users.lastname": "Nachname",
"Settings.permissions.users.form.sso": "Mit SSO einloggen",
"Settings.permissions.users.form.sso.description": "Nutzer können sich per SSO einloggen wenn aktiviert (ON)",
"Settings.permissions.users.listview.header.subtitle": "Alle Nutzer mit Zugriff auf diese Administrationsoberfläche",
@ -539,7 +539,7 @@
"content-manager.containers.List.published": "Veröffentlicht",
"content-manager.containers.ListPage.displayedFields": "Dargestellte Felder",
"content-manager.containers.ListPage.items": "{number, plural, one {Eintrag} other {Einträge}}",
"content-manager.containers.ListPage.table-headers.published_at": "Status",
"content-manager.containers.ListPage.table-headers.publishedAt": "Status",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Beschriftung ändern",
"content-manager.containers.SettingPage.add.field": "Ein weiteres Feld hinzufügen",
"content-manager.containers.SettingPage.add.relational-field": "Ein weiteres Beziehungs-Feld hinzufügen",

View File

@ -114,9 +114,9 @@
"Settings.permissions.select-all-by-permission": "Vælg alle {label} tilladelser",
"Settings.permissions.select-by-permission": "Vælg {label} tilladelse",
"Settings.permissions.users.create": "Opret ny bruger",
"Settings.permissions.users.form.email": "E-mail",
"Settings.permissions.users.form.firstname": "Fornavn",
"Settings.permissions.users.form.lastname": "Efternavn",
"Settings.permissions.users.email": "E-mail",
"Settings.permissions.users.firstname": "Fornavn",
"Settings.permissions.users.lastname": "Efternavn",
"Settings.permissions.users.form.sso": "Forbind med SSO",
"Settings.permissions.users.form.sso.description": "Når aktiveret (TIL), kan brugere logge ind med SSO",
"Settings.permissions.users.listview.header.subtitle": "Alle brugere som har adgnag til Strapi admin panelet",
@ -485,7 +485,7 @@
"content-manager.containers.List.published": "Offentliggjort",
"content-manager.containers.ListPage.displayedFields": "Viste felter",
"content-manager.containers.ListPage.items": "{number, plural, =0 {elementer} one {element} other {elementer}}",
"content-manager.containers.ListPage.table-headers.published_at": "Tilstand",
"content-manager.containers.ListPage.table-headers.publishedAt": "Tilstand",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Redigér label",
"content-manager.containers.SettingPage.add.field": "Indsæt endnu et felt",
"content-manager.containers.SettingPage.add.relational-field": "Indsæt endnu et relationsfelt",

View File

@ -87,6 +87,10 @@
"Settings.apiTokens.create": "Create new API Token",
"Settings.apiTokens.description": "List of generated tokens to consume the API",
"Settings.apiTokens.emptyStateLayout": "You dont have any content yet...",
"Settings.apiTokens.ListView.headers.name": "Name",
"Settings.apiTokens.ListView.headers.description": "Description",
"Settings.apiTokens.ListView.headers.type": "Token type",
"Settings.apiTokens.ListView.headers.createdAt": "Created at",
"Settings.apiTokens.notification.copied": "Token copied to clipboard.",
"Settings.apiTokens.title": "API Tokens",
"Settings.apiTokens.types.full-access": "Full access",
@ -142,13 +146,21 @@
"Settings.permissions.select-all-by-permission": "Select all {label} permissions",
"Settings.permissions.select-by-permission": "Select {label} permission",
"Settings.permissions.users.create": "Invite new user",
"Settings.permissions.users.form.email": "Email",
"Settings.permissions.users.form.firstname": "First name",
"Settings.permissions.users.form.lastname": "Last name",
"Settings.permissions.users.email": "Email",
"Settings.permissions.users.firstname": "Firstname",
"Settings.permissions.users.lastname": "Lastname",
"Settings.permissions.users.user-status": "User status",
"Settings.permissions.users.roles": "Roles",
"Settings.permissions.users.username": "Username",
"Settings.permissions.users.active": "Active",
"Settings.permissions.users.inactive": "Inactive",
"Settings.permissions.users.form.sso": "Connect with SSO",
"Settings.permissions.users.form.sso.description": "When enabled (ON), users can login via SSO",
"Settings.permissions.users.listview.header.subtitle": "All the users who have access to the Strapi admin panel",
"Settings.permissions.users.tabs.label": "Tabs Permissions",
"Settings.permissions.users.strapi-super-admin": "Super Admin",
"Settings.permissions.users.strapi-editor": "Editor",
"Settings.permissions.users.strapi-author": "Author",
"Settings.profile.form.notify.data.loaded": "Your profile data has been loaded",
"Settings.profile.form.section.experience.clear.select": "Clear the interface language selected",
"Settings.profile.form.section.experience.here": "here",
@ -578,7 +590,7 @@
"content-manager.containers.List.published": "Published",
"content-manager.containers.ListPage.displayedFields": "Displayed Fields",
"content-manager.containers.ListPage.items": "{number, plural, =0 {items} one {item} other {items}}",
"content-manager.containers.ListPage.table-headers.published_at": "State",
"content-manager.containers.ListPage.table-headers.publishedAt": "State",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Edit {fieldName}",
"content-manager.containers.SettingPage.add.field": "Insert another field",
"content-manager.containers.SettingPage.add.relational-field": "Insert another relational field",
@ -687,8 +699,6 @@
"form.button.done": "Done",
"global.search": "Search",
"global.actions": "Actions",
"global.active": "Active",
"global.inactive": "Inactive",
"global.back": "Back",
"global.cancel": "Cancel",
"global.change-password": "Change password",
@ -734,15 +744,6 @@
"global.select": "Select",
"global.select-all-entries": "Select all entries",
"global.settings": "Settings",
"global.strapi-super-admin": "Super Admin",
"global.strapi-editor": "Editor",
"global.strapi-author": "Author",
"global.table.header.email": "Email",
"global.table.header.firstname": "Firstname",
"global.table.header.isActive": "User status",
"global.table.header.lastname": "Lastname",
"global.table.header.roles": "Roles",
"global.table.header.username": "Username",
"global.type": "Type",
"global.users": "Users",
"notification.contentType.relations.conflict": "Content type has conflicting relations",

View File

@ -114,9 +114,9 @@
"Settings.permissions.select-all-by-permission": "Seleccionar todos los permisos de {label}",
"Settings.permissions.select-by-permission": "Seleccionar permiso de {label}",
"Settings.permissions.users.create": "Crear nuevo usuario",
"Settings.permissions.users.form.email": "Correo electrónico",
"Settings.permissions.users.form.firstname": "Nombre",
"Settings.permissions.users.form.lastname": "Apellido",
"Settings.permissions.users.email": "Correo electrónico",
"Settings.permissions.users.firstname": "Nombre",
"Settings.permissions.users.lastname": "Apellido",
"Settings.permissions.users.form.sso": "connect with sso",
"Settings.permissions.users.form.sso.description": "when enabled (on), users can login via sso",
"Settings.permissions.users.listview.header.subtitle": "Todos los usuarios que tienen acceso al panel de administración de strapi",
@ -485,7 +485,7 @@
"content-manager.containers.List.published": "Publicado",
"content-manager.containers.ListPage.displayedFields": "Campos mostrados",
"content-manager.containers.ListPage.items": "{number, plural, =0 {elementos} one {elemento} other {elementos}}",
"content-manager.containers.ListPage.table-headers.published_at": "Estado",
"content-manager.containers.ListPage.table-headers.publishedAt": "Estado",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Edita la etiqueta",
"content-manager.containers.SettingPage.add.field": "Insertar otro campo",
"content-manager.containers.SettingPage.add.relational-field": "Insertar otro campo relacional",

View File

@ -114,9 +114,9 @@
"Settings.permissions.select-all-by-permission": "Sélectionner toutes les permissions de {label}",
"Settings.permissions.select-by-permission": "Sélectionner la permission de {label}",
"Settings.permissions.users.create": "Créer un nouvel Utilisateur",
"Settings.permissions.users.form.email": "Email",
"Settings.permissions.users.form.firstname": "Prénom",
"Settings.permissions.users.form.lastname": "Nom",
"Settings.permissions.users.email": "Email",
"Settings.permissions.users.firstname": "Prénom",
"Settings.permissions.users.lastname": "Nom",
"Settings.permissions.users.form.sso": "Se connecter via SSO",
"Settings.permissions.users.form.sso.description": "Quand activé, les utilisateurs peuvent se connecter via SSO",
"Settings.permissions.users.listview.header.subtitle": "Tous les utilisateurs ayant accès au panneau d'administration de Strapi",
@ -484,7 +484,7 @@
"content-manager.containers.List.published": "Publié",
"content-manager.containers.ListPage.displayedFields": "Champs affichés",
"content-manager.containers.ListPage.items": "{number, plural, =0 {élements} one {élement} other {élements}}",
"content-manager.containers.ListPage.table-headers.published_at": "Statut",
"content-manager.containers.ListPage.table-headers.publishedAt": "Statut",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Editer le label",
"content-manager.containers.SettingPage.add.field": "Insérer un autre champ",
"content-manager.containers.SettingPage.add.relational-field": "Insérer un autre champ relationnel",

View File

@ -35,9 +35,9 @@
"settings.permissions.select-all-by-permission": "બધી {label} પરવાનગીઓ પસંદ કરો",
"settings.permissions.select-by-permission": "{label} પરવાનગી પસંદ કરો",
"Settings.permissions.users.create": "નવા વપરાશકર્તાને આમંત્રિત કરો",
"Settings.permissions.users.form.email": "ઈમેલ",
"Settings.permissions.users.form.firstname": "પ્રથમ નામ",
"Settings.permissions.users.form.lastname": "છેલ્લું નામ",
"Settings.permissions.users.email": "ઈમેલ",
"Settings.permissions.users.firstname": "પ્રથમ નામ",
"Settings.permissions.users.lastname": "છેલ્લું નામ",
"Settings.permissions.users.form.sso": "SSO સાથે કનેક્ટ કરો",
"Settings.permissions.users.form.sso.description": "જ્યારે સક્ષમ (ચાલુ) હોય, ત્યારે વપરાશકર્તાઓ SSO દ્વારા લૉગિન કરી શકે છે",
"Settings.permissions.users.listview.header.subtitle": "સ્ટ્રેપી એડમિન પેનલની ઍક્સેસ ધરાવતા તમામ વપરાશકર્તાઓ",
@ -462,7 +462,7 @@
"content-manager.containers.List.published": "પ્રકાશિત",
"content-manager.containers.ListPage.displayedFields": "પ્રદર્શિત ક્ષેત્રો",
"content-manager.containers.ListPage.items": "{સંખ્યા, બહુવચન, =0 {items} એક {item} અન્ય {items}}",
"content-manager.containers.ListPage.table-headers.published_at": "રાજ્ય",
"content-manager.containers.ListPage.table-headers.publishedAt": "રાજ્ય",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "{fieldName} સંપાદિત કરો",
"content-manager.containers.SettingPage.add.field": "બીજું ક્ષેત્ર દાખલ કરો",
"content-manager.containers.SettingPage.add.relational-field": "બીજું રિલેશનલ ફીલ્ડ દાખલ કરો",

View File

@ -83,9 +83,9 @@
"Settings.permissions.conditions.or": "או",
"Settings.permissions.conditions.when": "כאשר",
"Settings.permissions.users.create": "יצירת משתמש חדש",
"Settings.permissions.users.form.email": "דוא\"ל",
"Settings.permissions.users.form.firstname": "שם פרטי",
"Settings.permissions.users.form.lastname": "שם משפחה",
"Settings.permissions.users.email": "דוא\"ל",
"Settings.permissions.users.firstname": "שם פרטי",
"Settings.permissions.users.lastname": "שם משפחה",
"Settings.permissions.users.form.sso": "התחבר באמצעות SSO",
"Settings.permissions.users.form.sso.description": "כשמאופשר (ON), משתמשים יוכלו להתחבר באמצעות SSO",
"Settings.roles.create.description": "הגדירו את הזכויות הניתנות לתפקיד",

View File

@ -116,9 +116,9 @@
"Settings.permissions.select-all-by-permission": "सभी {लेबल} अनुमतियों का चयन करें",
"Settings.permissions.select-by-permission": "{लेबल} अनुमति चुनें",
"Settings.permissions.users.create": "नए उपयोगकर्ता को आमंत्रित करें",
"Settings.permissions.users.form.email": "ईमेल",
"Settings.permissions.users.form.firstname": "प्रथम नाम",
"Settings.permissions.users.form.lastname": "उपनाम",
"Settings.permissions.users.email": "ईमेल",
"Settings.permissions.users.firstname": "प्रथम नाम",
"Settings.permissions.users.lastname": "उपनाम",
"Settings.permissions.users.form.sso": "एसएसओ से जुड़ें",
"Settings.permissions.users.form.sso.description": "सक्षम (चालू) होने पर, उपयोगकर्ता एसएसओ के माध्यम से लॉगिन कर सकते हैं",
"Settings.permissions.users.listview.header.subtitle": "वे सभी उपयोगकर्ता जिनके पास Strapi व्यवस्थापक पैनल तक पहुंच है",
@ -543,7 +543,7 @@
"content-manager.containers.List.published": "प्रकाशित",
"content-manager.containers.ListPage.displayedFields": "प्रदर्शित फ़ील्ड",
"content-manager.containers.ListPage.items": "{संख्या, बहुवचन, =0 {आइटम} एक {आइटम} अन्य {आइटम}}",
"content-manager.containers.ListPage.table-headers.published_at": "राज्य",
"content-manager.containers.ListPage.table-headers.publishedAt": "राज्य",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "संपादित करें {फ़ील्डनाम}",
"content-manager.containers.SettingPage.add.field": "एक और फ़ील्ड डालें",
"content-manager.containers.SettingPage.add.relational-field": "एक और रिलेशनल फील्ड डालें",

View File

@ -114,9 +114,9 @@
"Settings.permissions.select-all-by-permission": "Minden {label} hozzáféres kiválasztása",
"Settings.permissions.select-by-permission": "{label} hozzáféres kiválasztása",
"Settings.permissions.users.create": "Új felhasználó meghívása",
"Settings.permissions.users.form.email": "Email",
"Settings.permissions.users.form.firstname": "Keresztnév",
"Settings.permissions.users.form.lastname": "Vezetéknév",
"Settings.permissions.users.email": "Email",
"Settings.permissions.users.firstname": "Keresztnév",
"Settings.permissions.users.lastname": "Vezetéknév",
"Settings.permissions.users.form.sso": "Csatlakozas SSO-val",
"Settings.permissions.users.form.sso.description": "Ha engedélyezve van (ON), a felhasználók bejelentkezhetnek SSO-n keresztül",
"Settings.permissions.users.listview.header.subtitle": "Minden felhasználó, aki hozzáfér a Strapi adminisztrációs panelhez",
@ -486,7 +486,7 @@
"content-manager.containers.List.published": "Közzétett",
"content-manager.containers.ListPage.displayedFields": "Megjelenített mezők",
"content-manager.containers.ListPage.items": "{number} elem",
"content-manager.containers.ListPage.table-headers.published_at": "Állapot",
"content-manager.containers.ListPage.table-headers.publishedAt": "Állapot",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "{fieldName} szerkesztése",
"content-manager.containers.SettingPage.add.field": "Másik mező beszúrása",
"content-manager.containers.SettingPage.add.relational-field": "Másik relációs mező beszúrása",

View File

@ -73,9 +73,9 @@
"Settings.permissions.conditions.or": "ATAU",
"Settings.permissions.conditions.when": "Ketika",
"Settings.permissions.users.create": "Buat pengguna Baru",
"Settings.permissions.users.form.email": "Email",
"Settings.permissions.users.form.firstname": "Nama depan",
"Settings.permissions.users.form.lastname": "Nama belakang",
"Settings.permissions.users.email": "Email",
"Settings.permissions.users.firstname": "Nama depan",
"Settings.permissions.users.lastname": "Nama belakang",
"Settings.roles.create.description": "Tentukan hak yang diberikan untuk peran tersebut",
"Settings.roles.create.title": "Buat peran",
"Settings.roles.created": "Peran dibuat",
@ -334,7 +334,7 @@
"content-manager.containers.List.errorFetchRecords": "Eror",
"content-manager.containers.List.published": "Dipublikasi",
"content-manager.containers.ListPage.displayedFields": "Bidang Ditampilkan",
"content-manager.containers.ListPage.table-headers.published_at": "Status",
"content-manager.containers.ListPage.table-headers.publishedAt": "Status",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Edit label",
"content-manager.containers.SettingPage.add.field": "Tambah bidang lain",
"content-manager.containers.SettingPage.add.relational-field": "Tambah bidang relasional",

View File

@ -81,9 +81,9 @@
"Settings.permissions.conditions.or": "Oppure",
"Settings.permissions.conditions.when": "Quando",
"Settings.permissions.users.create": "Crea nuovo utente",
"Settings.permissions.users.form.email": "Email",
"Settings.permissions.users.form.firstname": "Nome",
"Settings.permissions.users.form.lastname": "Cognome",
"Settings.permissions.users.email": "Email",
"Settings.permissions.users.firstname": "Nome",
"Settings.permissions.users.lastname": "Cognome",
"Settings.roles.create.description": "Definisci permessi del ruolo",
"Settings.roles.create.title": "Crea ruolo",
"Settings.roles.created": "Ruolo creato",
@ -343,7 +343,7 @@
"content-manager.containers.List.errorFetchRecords": "Errore",
"content-manager.containers.List.published": "Pubblicato",
"content-manager.containers.ListPage.displayedFields": "Campi visualizzati",
"content-manager.containers.ListPage.table-headers.published_at": "Stato",
"content-manager.containers.ListPage.table-headers.publishedAt": "Stato",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Modifica etichetta",
"content-manager.containers.SettingPage.add.field": "Inserisci nuovo campo",
"content-manager.containers.SettingPage.add.relational-field": "Inserisci nuovo campo relazione",

View File

@ -114,9 +114,9 @@
"Settings.permissions.select-all-by-permission": "Select all {label} permissions",
"Settings.permissions.select-by-permission": "Select {label} permission",
"Settings.permissions.users.create": "新しいユーザーを作成",
"Settings.permissions.users.form.email": "Eメール",
"Settings.permissions.users.form.firstname": "名",
"Settings.permissions.users.form.lastname": "姓",
"Settings.permissions.users.email": "Eメール",
"Settings.permissions.users.firstname": "名",
"Settings.permissions.users.lastname": "姓",
"Settings.permissions.users.form.sso": "Connect with SSO",
"Settings.permissions.users.form.sso.description": "When enabled (ON), users can login via SSO",
"Settings.permissions.users.listview.header.subtitle": "All the users who have access to the Strapi admin panel",
@ -485,7 +485,7 @@
"content-manager.containers.List.published": "Published",
"content-manager.containers.ListPage.displayedFields": "フィールドが表示されました",
"content-manager.containers.ListPage.items": "{number, plural, =0 {items} one {item} other {items}}",
"content-manager.containers.ListPage.table-headers.published_at": "State",
"content-manager.containers.ListPage.table-headers.publishedAt": "State",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Edit {fieldName}",
"content-manager.containers.SettingPage.add.field": "Insert another field",
"content-manager.containers.SettingPage.add.relational-field": "Insert another relational field",

View File

@ -112,9 +112,9 @@
"Settings.permissions.select-all-by-permission": "Select all {label} permissions",
"Settings.permissions.select-by-permission": "Select {label} permission",
"Settings.permissions.users.create": "새 사용자 추가",
"Settings.permissions.users.form.email": "이메일",
"Settings.permissions.users.form.firstname": "이름",
"Settings.permissions.users.form.lastname": "성",
"Settings.permissions.users.email": "이메일",
"Settings.permissions.users.firstname": "이름",
"Settings.permissions.users.lastname": "성",
"Settings.permissions.users.form.sso": "Connect with SSO",
"Settings.permissions.users.form.sso.description": "When enabled (ON), users can login via SSO",
"Settings.permissions.users.listview.header.subtitle": "{number, plural, =0 {# 명} one {# 명} other {# 명}}의 사용자를 찾았습니다.",
@ -483,7 +483,7 @@
"content-manager.containers.List.published": "발행됨",
"content-manager.containers.ListPage.displayedFields": "표시 필드",
"content-manager.containers.ListPage.items": "{number, plural, =0 {items} one {item} other {items}}",
"content-manager.containers.ListPage.table-headers.published_at": "상태",
"content-manager.containers.ListPage.table-headers.publishedAt": "상태",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "{fieldName} 수정",
"content-manager.containers.SettingPage.add.field": "다른 필드 추가",
"content-manager.containers.SettingPage.add.relational-field": "다른 릴레이션 필드 추가",

View File

@ -116,9 +116,9 @@
"Settings.permissions.select-all-by-permission": "എല്ലാ {label} അനുമതികളും തിരഞ്ഞെടുക്കുക",
"Settings.permissions.select-by-permission": "{label} അനുമതി തിരഞ്ഞെടുക്കുക",
"Settings.permissions.users.create": "പുതിയ ഉപയോക്താവിനെ ക്ഷണിക്കുക",
"Settings.permissions.users.form.email": "ഇമെയിൽ",
"Settings.permissions.users.form.firstname": "പേരിന്റെ ആദ്യഭാഗം",
"Settings.permissions.users.form.lastname": "പേരിന്റെ അവസാന ഭാഗം",
"Settings.permissions.users.email": "ഇമെയിൽ",
"Settings.permissions.users.firstname": "പേരിന്റെ ആദ്യഭാഗം",
"Settings.permissions.users.lastname": "പേരിന്റെ അവസാന ഭാഗം",
"Settings.permissions.users.form.sso": "SSO-മായി ബന്ധിപ്പിക്കുക",
"Settings.permissions.users.form.sso.description": "പ്രാപ്തമാക്കുമ്പോൾ (ഓൺ), ഉപയോക്താക്കൾക്ക് SSO വഴി ലോഗിൻ ചെയ്യാൻ കഴിയും",
"Settings.permissions.users.listview.header.subtitle": "Strapi അഡ്മിൻ പാനലിലേക്ക് ആക്‌സസ് ഉള്ള എല്ലാ ഉപയോക്താക്കളും",
@ -543,7 +543,7 @@
"content-manager.containers.List.published": "പ്രസിദ്ധീകരിച്ചു",
"content-manager.containers.ListPage.displayedFields": "പ്രദർശിപ്പിച്ച ഫീൽഡുകൾ",
"content-manager.containers.ListPage.items": "{സംഖ്യ, ബഹുവചനം, =0 {ഇനങ്ങൾ} ഒന്ന് {ഇനം} മറ്റൊന്ന് {ഇനങ്ങൾ}}",
"content-manager.containers.ListPage.table-headers.published_at": "സ്റ്റേറ്റ്",
"content-manager.containers.ListPage.table-headers.publishedAt": "സ്റ്റേറ്റ്",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "എഡിറ്റ് {fieldName}",
"content-manager.containers.SettingPage.add.field": "മറ്റൊരു ഫീൽഡ് ചേർക്കുക",
"content-manager.containers.SettingPage.add.relational-field": "മറ്റൊരു റിലേഷണൽ ഫീൽഡ് ചേർക്കുക",

View File

@ -114,9 +114,9 @@
"Settings.permissions.select-all-by-permission": "Selecteer alle {label} rechten",
"Settings.permissions.select-by-permission": "Selecteer {label} recht",
"Settings.permissions.users.create": "Nodig nieuwe gebruiker uit",
"Settings.permissions.users.form.email": "E-mail",
"Settings.permissions.users.form.firstname": "Voornaam",
"Settings.permissions.users.form.lastname": "Achternaam",
"Settings.permissions.users.email": "E-mail",
"Settings.permissions.users.firstname": "Voornaam",
"Settings.permissions.users.lastname": "Achternaam",
"Settings.permissions.users.form.sso": "Verbind met SSO",
"Settings.permissions.users.form.sso.description": "Wanneer dit aan staat (ON), kunnen gebruikers inloggen met SSO",
"Settings.permissions.users.listview.header.subtitle": "Alle gebruikers die toegang hebben tot het Strapi beheerdersdashboard",
@ -488,7 +488,7 @@
"content-manager.containers.List.published": "Gepubliceerd",
"content-manager.containers.ListPage.displayedFields": "Weergegeven velden",
"content-manager.containers.ListPage.items": "{number, plural, =0 {items} één {item} ander {items}}",
"content-manager.containers.ListPage.table-headers.published_at": "Status",
"content-manager.containers.ListPage.table-headers.publishedAt": "Status",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Pas {fieldName} aan",
"content-manager.containers.SettingPage.add.field": "Voeg nog een veld toe",
"content-manager.containers.SettingPage.add.relational-field": "Voeg nog een gerelateerd veld toe",

View File

@ -81,9 +81,9 @@
"Settings.permissions.conditions.or": "ELLER",
"Settings.permissions.conditions.when": "Når",
"Settings.permissions.users.create": "Opprett ny bruker",
"Settings.permissions.users.form.email": "Epost",
"Settings.permissions.users.form.firstname": "Fornavn",
"Settings.permissions.users.form.lastname": "Etternavn",
"Settings.permissions.users.email": "Epost",
"Settings.permissions.users.firstname": "Fornavn",
"Settings.permissions.users.lastname": "Etternavn",
"Settings.permissions.users.form.sso": "Koble til med SSO",
"Settings.roles.create.description": "Definér rollens rettigheter",
"Settings.roles.create.title": "Opprett en rolle",

View File

@ -116,9 +116,9 @@
"Settings.permissions.select-all-by-permission": "Wybierz wszystkie {label} uprawnienia",
"Settings.permissions.select-by-permission": "Wybierz {label} uprawnienie",
"Settings.permissions.users.create": "Utwórz nowego użytkownika",
"Settings.permissions.users.form.email": "E-mail",
"Settings.permissions.users.form.firstname": "Imię",
"Settings.permissions.users.form.lastname": "Nazwisko",
"Settings.permissions.users.email": "E-mail",
"Settings.permissions.users.firstname": "Imię",
"Settings.permissions.users.lastname": "Nazwisko",
"Settings.permissions.users.form.sso": "Połącz z logowaniem jednokrotnym (SSO)",
"Settings.permissions.users.form.sso.description": "Po włączeniu (ON) użytkownicy mogą logować się za pomocą logowania jednokrotnego (SSO)",
"Settings.permissions.users.listview.header.subtitle": "Wszyscy użytkownicy posiadający dostęp do panelu admina",
@ -543,7 +543,7 @@
"content-manager.containers.List.published": "Opublikowany",
"content-manager.containers.ListPage.displayedFields": "Wyświetlone atrybuty",
"content-manager.containers.ListPage.items": "{number, plural, =0 {items} one {item} other {items}}",
"content-manager.containers.ListPage.table-headers.published_at": "Stan",
"content-manager.containers.ListPage.table-headers.publishedAt": "Stan",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Edytuj etykietę",
"content-manager.containers.SettingPage.add.field": "Wstaw inne pole",
"content-manager.containers.SettingPage.add.relational-field": "Wstaw inne pole relacyjne",

View File

@ -114,9 +114,9 @@
"Settings.permissions.select-all-by-permission": "Selecionar todas as permissões de {label}",
"Settings.permissions.select-by-permission": "Selecionar permissão de {label}",
"Settings.permissions.users.create": "Convidar novo usuário",
"Settings.permissions.users.form.email": "E-mail",
"Settings.permissions.users.form.firstname": "Primeiro nome",
"Settings.permissions.users.form.lastname": "Último nome",
"Settings.permissions.users.email": "E-mail",
"Settings.permissions.users.firstname": "Primeiro nome",
"Settings.permissions.users.lastname": "Último nome",
"Settings.permissions.users.form.sso": "Conectar com SSO",
"Settings.permissions.users.form.sso.description": "Quando ativado, usuários podem se conectar com SSO",
"Settings.permissions.users.listview.header.subtitle": "Todos os usuários com acesso ao painel administrativo",
@ -488,7 +488,7 @@
"content-manager.containers.List.published": "Publicado",
"content-manager.containers.ListPage.displayedFields": "Campos exibidos",
"content-manager.containers.ListPage.items": "{number, plural, =0 {itens} one {item} other {itens}}",
"content-manager.containers.ListPage.table-headers.published_at": "Estado",
"content-manager.containers.ListPage.table-headers.publishedAt": "Estado",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Editar {fieldName}",
"content-manager.containers.SettingPage.add.field": "Criar outro campo",
"content-manager.containers.SettingPage.add.relational-field": "Criar outro campo relacional",

View File

@ -93,9 +93,9 @@
"Settings.permissions.conditions.or": "ИЛИ",
"Settings.permissions.conditions.when": "Когда",
"Settings.permissions.users.create": "Создать нового пользователя",
"Settings.permissions.users.form.email": "Email",
"Settings.permissions.users.form.firstname": "Имя",
"Settings.permissions.users.form.lastname": "Фамилия",
"Settings.permissions.users.email": "Email",
"Settings.permissions.users.firstname": "Имя",
"Settings.permissions.users.lastname": "Фамилия",
"Settings.permissions.users.form.sso": "Соединить с SSO",
"Settings.permissions.users.form.sso.description": "Когда включено (ВКЛЮЧЕНО), пользователи смогут входить через SSO",
"Settings.profile.form.section.experience.interfaceLanguage": "Язык интерфейса",
@ -378,7 +378,7 @@
"content-manager.containers.List.errorFetchRecords": "Ошибка",
"content-manager.containers.List.published": "Опубликованный",
"content-manager.containers.ListPage.displayedFields": "Отображаемые поля",
"content-manager.containers.ListPage.table-headers.published_at": "Состояние",
"content-manager.containers.ListPage.table-headers.publishedAt": "Состояние",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Отредактируйте ярлык",
"content-manager.containers.SettingPage.add.field": "Добавить еще одно поле",
"content-manager.containers.SettingPage.add.relational-field": "Добавить еще одно связанное поле",

View File

@ -116,9 +116,9 @@
"Settings.permissions.select-all-by-permission":"सर्व {लेबल} अनुमतिः चिनोतु",
"Settings.permissions.select-by-permission": "{नामपत्र} अनुमतिं चिनोतु",
"Settings.permissions.users.create": "नवप्रयोक्तारं आमन्त्रयतु",
"Settings.permissions.users.form.email":"ईमेल",
"Settings.permissions.users.form.firstname":"प्रथमनाम",
"Settings.permissions.users.form.lastname": "अन्तिनाम",
"Settings.permissions.users.email":"ईमेल",
"Settings.permissions.users.firstname":"प्रथमनाम",
"Settings.permissions.users.lastname": "अन्तिनाम",
"Settings.permissions.users.form.sso": "SSO इत्यनेन सह संयोजयन्तु",
"Settings.permissions.users.form.sso.description": "यदा सक्षम (ON) भवति तदा उपयोक्तारः SSO मार्गेण प्रवेशं कर्तुं शक्नुवन्ति",
"Settings.permissions.users.listview.header.subtitle": "सर्वप्रयोक्तारः येषां Strapi व्यवस्थापकपटले प्रवेशः अस्ति",
@ -543,7 +543,7 @@
"content-manager.containers.List.published": "प्रकाशित",
"content-manager.containers.ListPage.displayedFields": "प्रदर्शितक्षेत्राणि",
"content-manager.containers.ListPage.items": "{संख्या, बहुवचन, =0 {आइटम} एक {आइटम} अन्य {आइटम}}",
"content-manager.containers.ListPage.table-headers.published_at": "राज्यम्",
"content-manager.containers.ListPage.table-headers.publishedAt": "राज्यम्",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "{क्षेत्रनाम} सम्पादित करें",
"content-manager.containers.SettingPage.add.field": "अन्यं क्षेत्रं सम्मिलितं कुर्वन्तु",
"content-manager.containers.SettingPage.add.relational-field": "अन्यं सम्बन्धक्षेत्रं सम्मिलितं कुर्वन्तु",

View File

@ -73,9 +73,9 @@
"Settings.permissions.conditions.or": "ALEBO",
"Settings.permissions.conditions.when": "Kedy",
"Settings.permissions.users.create": "Vytvoriť používateľa",
"Settings.permissions.users.form.email": "Email",
"Settings.permissions.users.form.firstname": "Krstné meno",
"Settings.permissions.users.form.lastname": "Priezvisko",
"Settings.permissions.users.email": "Email",
"Settings.permissions.users.firstname": "Krstné meno",
"Settings.permissions.users.lastname": "Priezvisko",
"Settings.roles.create.description": "Definujte práva priradené role",
"Settings.roles.create.title": "Votvoriť rolu",
"Settings.roles.created": "Rola bola vytvorená",
@ -333,7 +333,7 @@
"content-manager.containers.List.errorFetchRecords": "Chyba",
"content-manager.containers.List.published": "Publikované",
"content-manager.containers.ListPage.displayedFields": "Zobrazené políčka",
"content-manager.containers.ListPage.table-headers.published_at": "Stav",
"content-manager.containers.ListPage.table-headers.publishedAt": "Stav",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "Upraviť popis",
"content-manager.containers.SettingPage.add.field": "Vložiť ďalšie políčko",
"content-manager.containers.SettingPage.add.relational-field": "Vložiť ďalšie políčko prepojenia",

View File

@ -73,9 +73,9 @@
"Settings.permissions.conditions.or": "หรือ",
"Settings.permissions.conditions.when": "เมื่อ",
"Settings.permissions.users.create": "สร้างผู้ใช้ใหม่",
"Settings.permissions.users.form.email": "อีเมล",
"Settings.permissions.users.form.firstname": "ชื่อ",
"Settings.permissions.users.form.lastname": "นามสกุล",
"Settings.permissions.users.email": "อีเมล",
"Settings.permissions.users.firstname": "ชื่อ",
"Settings.permissions.users.lastname": "นามสกุล",
"Settings.roles.create.description": "กำหนดสิทธิที่กำหนดให้กับบทบาท",
"Settings.roles.create.title": "สร้างบทบาท",
"Settings.roles.created": "บทบาทที่สร้าง",

View File

@ -115,13 +115,21 @@
"Settings.permissions.select-all-by-permission": "选择所有 {label} 权限",
"Settings.permissions.select-by-permission": "选择 {label} 权限",
"Settings.permissions.users.create": "邀请新用户",
"Settings.permissions.users.form.email": "电子邮件",
"Settings.permissions.users.form.firstname": "名字",
"Settings.permissions.users.form.lastname": "姓氏",
"Settings.permissions.users.email": "电子邮件",
"Settings.permissions.users.firstname": "名字",
"Settings.permissions.users.lastname": "姓氏",
"Settings.permissions.users.user-status": "是否激活",
"Settings.permissions.users.roles": "用户角色",
"Settings.permissions.users.username": "用户名",
"Settings.permissions.users.active": "已激活",
"Settings.permissions.users.inactive": "未激活",
"Settings.permissions.users.form.sso": "通过 SSO 登录",
"Settings.permissions.users.form.sso.description": "当启用这个选项ON用户可以通过SSO登录",
"Settings.permissions.users.listview.header.subtitle": "所有能够访问 Strapi 管理后台的用户",
"Settings.permissions.users.tabs.label": "标签页权限",
"Settings.permissions.users.strapi-super-admin": "超级管理员",
"Settings.permissions.users.strapi-editor": "编辑",
"Settings.permissions.users.strapi-author": "作者",
"Settings.profile.form.notify.data.loaded": "你的个人数据已经加载完成",
"Settings.profile.form.section.experience.clear.select": "清除已选择的界面语言",
"Settings.profile.form.section.experience.documentation": "文档",
@ -498,7 +506,7 @@
"content-manager.containers.List.published": "已发布",
"content-manager.containers.ListPage.displayedFields": "显示字段",
"content-manager.containers.ListPage.items": "{number, plural, =0 {项} one {项} other {项}}",
"content-manager.containers.ListPage.table-headers.published_at": "状态",
"content-manager.containers.ListPage.table-headers.publishedAt": "状态",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "编辑 {fieldName}",
"content-manager.containers.SettingPage.add.field": "添加字段",
"content-manager.containers.SettingPage.add.relational-field": "添加关联字段",
@ -614,8 +622,6 @@
"content-type-builder.plugin.name": "模型构建器",
"form.button.done": "完成",
"global.search": "搜索",
"global.active": "已激活",
"global.inactive": "未激活",
"global.back": "返回",
"global.cancel": "取消",
"global.change-password": "修改密码",
@ -653,15 +659,6 @@
"global.roles": "角色列表",
"global.save": "保存",
"global.settings": "设置",
"global.strapi-super-admin": "超级管理员",
"global.strapi-editor": "编辑",
"global.strapi-author": "作者",
"global.table.header.email": "电子邮件",
"global.table.header.firstname": "名字",
"global.table.header.isActive": "是否激活",
"global.table.header.lastname": "姓氏",
"global.table.header.roles": "用户角色",
"global.table.header.username": "用户名",
"global.users": "用户列表",
"global.type": "类型",
"notification.contentType.relations.conflict": "内容类型有关联冲突",

View File

@ -115,9 +115,9 @@
"Settings.permissions.select-all-by-permission": "選擇所有 {label} 權限",
"Settings.permissions.select-by-permission": "選擇 {label} 權限",
"Settings.permissions.users.create": "新增使用者",
"Settings.permissions.users.form.email": "電子郵件",
"Settings.permissions.users.form.firstname": "名字",
"Settings.permissions.users.form.lastname": "姓氏",
"Settings.permissions.users.email": "電子郵件",
"Settings.permissions.users.firstname": "名字",
"Settings.permissions.users.lastname": "姓氏",
"Settings.permissions.users.form.sso": "透過 SSO 登入",
"Settings.permissions.users.form.sso.description": "當啟動這個選項時 (ON),使用者可以透過 SSO 登入",
"Settings.permissions.users.listview.header.subtitle": "找到 {number, plural, =0 {# users} one {# user } other {# users}}",
@ -490,7 +490,7 @@
"content-manager.containers.List.published": "已發布",
"content-manager.containers.ListPage.displayedFields": "顯示欄位",
"content-manager.containers.ListPage.items": "{number, plural, =0 {項} one {項} other {項}}",
"content-manager.containers.ListPage.table-headers.published_at": "狀態",
"content-manager.containers.ListPage.table-headers.publishedAt": "狀態",
"content-manager.containers.ListSettingsView.modal-form.edit-label": "編輯 {fieldName}",
"content-manager.containers.SettingPage.add.field": "插入其他欄位",
"content-manager.containers.SettingPage.add.relational-field": "插入額外的關聯欄位",

View File

@ -7,4 +7,6 @@ module.exports = {
...baseConfig,
displayName: (pkg.strapi && pkg.strapi.name) || pkg.name,
roots: [__dirname],
collectCoverageFrom: ['<rootDir>/packages/core/admin/admin/**/*.js'],
coverageDirectory: '<rootDir>/packages/core/admin/coverage',
};

View File

@ -34,7 +34,8 @@
"test:front": "cross-env IS_EE=true jest --config ./jest.config.front.js",
"test:front:watch": "cross-env IS_EE=true jest --config ./jest.config.front.js --watchAll",
"test:front:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js",
"test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll"
"test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll",
"test:front:ce:cov": "cross-env IS_EE=false jest --config ./jest.config.front.js --coverage"
},
"dependencies": {
"@babel/core": "7.18.10",
@ -56,7 +57,7 @@
"@strapi/icons": "1.2.1",
"@strapi/typescript-utils": "4.3.4",
"@strapi/utils": "4.3.4",
"axios": "0.24.0",
"axios": "0.27.2",
"babel-loader": "8.2.5",
"babel-plugin-styled-components": "2.0.2",
"bcryptjs": "2.4.3",
@ -65,7 +66,7 @@
"codemirror": "^5.65.6",
"cross-env": "^7.0.3",
"css-loader": "6.7.1",
"date-fns": "2.28.0",
"date-fns": "2.29.2",
"dotenv": "8.5.1",
"esbuild-loader": "^2.19.0",
"execa": "^1.0.0",
@ -123,7 +124,7 @@
"redux": "^4.0.1",
"reselect": "^4.0.0",
"rimraf": "3.0.2",
"sanitize-html": "2.7.0",
"sanitize-html": "2.7.1",
"semver": "7.3.7",
"sift": "13.5.4",
"style-loader": "3.3.1",

View File

@ -31,7 +31,7 @@
"test:unit": "jest --verbose"
},
"dependencies": {
"date-fns": "2.28.0",
"date-fns": "2.29.2",
"debug": "4.3.1",
"fs-extra": "10.0.0",
"knex": "1.0.7",

View File

@ -5,4 +5,6 @@ module.exports = {
...baseConfig,
displayName: (pkg.strapi && pkg.strapi.name) || pkg.name,
roots: [__dirname],
collectCoverageFrom: ['<rootDir>/packages/core/helper-plugin/lib/src/**/*.js'],
coverageDirectory: '<rootDir>/packages/core/helper-plugin/coverage',
};

View File

@ -45,14 +45,9 @@ const TableHead = ({
const isSorted = sortBy === name;
const isUp = sortOrder === 'ASC';
const intlLabel = formatMessage({
id: `global.table.header.${name}`,
defaultMessage: label,
});
const sortLabel = formatMessage(
{ id: 'components.TableHeader.sort', defaultMessage: 'Sort on {label}' },
{ label: intlLabel }
{ label }
);
const handleClickSort = (shouldAllowClick = true) => {
@ -80,15 +75,15 @@ const TableHead = ({
)
}
>
<Tooltip label={isSortable ? sortLabel : intlLabel}>
<Tooltip label={isSortable ? sortLabel : label}>
<Typography
textColor="neutral600"
as={!isSorted && isSortable ? 'button' : 'span'}
label={intlLabel}
label={label}
onClick={() => handleClickSort(!isSorted)}
variant="sigma"
>
{intlLabel}
{label}
</Typography>
</Tooltip>
</Th>

View File

@ -34,7 +34,7 @@
"prepublishOnly": "npm run build",
"storybook": "start-storybook -p 6006",
"test:front": "jest --config ./jest.config.front.js",
"test:front:cov": "jest --config ./jest.config.front.js --coverage --collectCoverageFrom='<rootDir>/packages/core/helper-plugin/lib/src/**/*.js' --coverageDirectory='<rootDir>/packages/core/helper-plugin/coverage'",
"test:front:cov": "jest --config ./jest.config.front.js --coverage",
"test:front:watch": "jest --config ./jest.config.front.js --watchAll",
"watch": "yarn create:index && cross-env NODE_ENV=development webpack-cli -w"
},
@ -44,8 +44,8 @@
"@fortawesome/free-brands-svg-icons": "^5.15.2",
"@fortawesome/free-solid-svg-icons": "^5.15.3",
"@fortawesome/react-fontawesome": "^0.2.0",
"axios": "0.25.0",
"date-fns": "2.28.0",
"axios": "0.27.2",
"date-fns": "2.29.2",
"formik": "^2.2.6",
"immer": "9.0.6",
"invariant": "^2.2.1",

View File

@ -13,7 +13,7 @@
<img src="https://img.shields.io/npm/v/@strapi/strapi/latest.svg" alt="NPM Version" />
</a>
<a href="https://github.com/strapi/strapi/actions/workflows/tests.yml">
<img src="https://github.com/strapi/strapi/actions/workflows/tests.yml/badge.svg?branch=master" alt="Tests" />
<img src="https://github.com/strapi/strapi/actions/workflows/tests.yml/badge.svg?branch=main" alt="Tests" />
</a>
<a href="https://discord.strapi.io">
<img src="https://img.shields.io/discord/811989166782021633?label=Discord" alt="Strapi on Discord" />

View File

@ -23,12 +23,16 @@ function getFiles(ctx) {
/**
* @type {import('./').MiddlewareFactory}
*/
module.exports = (config) => {
module.exports = (config, { strapi }) => {
const bodyConfig = defaultsDeep(defaults, config);
const { config: gqlConfig } = strapi.plugin('graphql');
const gqlEndpoint = gqlConfig('endpoint');
return async (ctx, next) => {
// TODO: find a better way later
if (ctx.url === '/graphql') {
if (ctx.url === gqlEndpoint) {
await next();
} else {
try {

View File

@ -30,22 +30,27 @@ const defaults = {
/**
* @type {import('./').MiddlewareFactory}
*/
module.exports = (config) => (ctx, next) => {
let helmetConfig = defaultsDeep(defaults, config);
if (
ctx.method === 'GET' &&
['/graphql', '/documentation'].some((str) => ctx.path.startsWith(str))
) {
helmetConfig = merge(helmetConfig, {
contentSecurityPolicy: {
directives: {
'script-src': ["'self'", "'unsafe-inline'", 'cdn.jsdelivr.net'],
'img-src': ["'self'", 'data:', 'cdn.jsdelivr.net', 'strapi.io'],
module.exports =
(config, { strapi }) =>
(ctx, next) => {
let helmetConfig = defaultsDeep(defaults, config);
const { config: gqlConfig } = strapi.plugin('graphql');
const gqlEndpoint = gqlConfig('endpoint');
if (
ctx.method === 'GET' &&
[gqlEndpoint, '/documentation'].some((str) => ctx.path.startsWith(str))
) {
helmetConfig = merge(helmetConfig, {
contentSecurityPolicy: {
directives: {
'script-src': ["'self'", "'unsafe-inline'", 'cdn.jsdelivr.net'],
'img-src': ["'self'", 'data:', 'cdn.jsdelivr.net', 'strapi.io'],
},
},
},
});
}
});
}
return helmet(helmetConfig)(ctx, next);
};
return helmet(helmetConfig)(ctx, next);
};

View File

@ -161,7 +161,7 @@ describe('UploadAssetDialog', () => {
const assets = [
{
name: 'http://localhost:5000/an-image.png',
name: 'an-image.png',
ext: 'png',
mime: 'image/png',
source: 'url',
@ -170,7 +170,7 @@ describe('UploadAssetDialog', () => {
rawFile: new File([''], 'image/png'),
},
{
name: 'http://localhost:5000/a-pdf.pdf',
name: 'a-pdf.pdf',
ext: 'pdf',
mime: 'application/pdf',
source: 'url',
@ -179,7 +179,7 @@ describe('UploadAssetDialog', () => {
rawFile: new File([''], 'application/pdf'),
},
{
name: 'http://localhost:5000/a-video.mp4',
name: 'a-video.mp4',
ext: 'mp4',
mime: 'video/mp4',
source: 'url',
@ -188,7 +188,7 @@ describe('UploadAssetDialog', () => {
rawFile: new File([''], 'video/mp4'),
},
{
name: 'http://localhost:5000/not-working-like-cors.lutin',
name: 'not-working-like-cors.lutin',
ext: 'lutin',
mime: 'application/json',
source: 'url',

View File

@ -2,6 +2,10 @@ import axios from 'axios';
import { AssetSource } from '../constants';
import { typeFromMime } from './typeFromMime';
function getFilenameFromURL(url) {
return new URL(url).pathname.split('/').pop();
}
export const urlsToAssets = async (urls) => {
const assetPromises = urls.map((url) =>
axios
@ -10,7 +14,7 @@ export const urlsToAssets = async (urls) => {
timeout: 60000,
})
.then((res) => {
const loadedFile = new File([res.data], res.config.url, {
const loadedFile = new File([res.data], getFilenameFromURL(res.config.url), {
type: res.headers['content-type'],
});

View File

@ -28,7 +28,7 @@
"@strapi/utils": "4.3.4",
"byte-size": "7.0.1",
"cropperjs": "1.5.12",
"date-fns": "2.28.0",
"date-fns": "2.29.2",
"fs-extra": "10.0.0",
"immer": "9.0.15",
"koa-range": "0.3.0",

View File

@ -12,6 +12,7 @@ const crypto = require('crypto');
const fs = require('fs');
const fse = require('fs-extra');
const _ = require('lodash');
const { extension } = require('mime-types');
const {
sanitize,
nameToSlug,
@ -72,7 +73,10 @@ module.exports = ({ strapi }) => ({
async formatFileInfo({ filename, type, size }, fileInfo = {}, metas = {}) {
const fileService = getService('file');
const ext = path.extname(filename);
let ext = path.extname(filename);
if (!ext) {
ext = `.${extension(type)}`;
}
const basename = path.basename(fileInfo.name || filename, ext);
const usedName = fileInfo.name || filename;

View File

@ -1,10 +1,7 @@
# strapi-utils
[![npm version](https://img.shields.io/npm/v/strapi-utils.svg)](https://www.npmjs.org/package/strapi-utils)
[![npm downloads](https://img.shields.io/npm/dm/strapi-utils.svg)](https://www.npmjs.org/package/strapi-utils)
[![npm dependencies](https://david-dm.org/strapi/strapi-utils.svg)](https://david-dm.org/strapi/strapi-utils)
[![Build status](https://travis-ci.org/strapi/strapi-utils.svg?branch=master)](https://travis-ci.org/strapi/strapi-utils)
[![Slack status](https://slack.strapi.io/badge.svg)](https://slack.strapi.io)
[![npm version](https://img.shields.io/npm/v/@strapi/utils.svg)](https://www.npmjs.org/package/@strapi/utils)
[![npm downloads](https://img.shields.io/npm/dm/@strapi/utils.svg)](https://www.npmjs.org/package/@strapi/utils)
Shared utilities between Strapi packages.

View File

@ -36,7 +36,7 @@
},
"dependencies": {
"@sindresorhus/slugify": "1.1.0",
"date-fns": "2.28.0",
"date-fns": "2.29.2",
"http-errors": "1.8.1",
"lodash": "4.17.21",
"yup": "0.32.9"

View File

@ -43,7 +43,7 @@ module.exports = (opts) => {
...packageJsonStrapi,
},
engines: {
node: '>=12.x.x <=16.x.x',
node: '>=14.19.1 <=16.x.x',
npm: '>=6.0.0',
},
license: 'MIT',

View File

@ -9,8 +9,12 @@ module.exports = () => ({
},
include: [
// Include the root directory
// Include root files
'./',
// Include all ts files
'./**/*.ts',
// Include all js files
'./**/*.js',
// Force the JSON files in the src folder to be included
'src/**/*.json',
],
@ -25,7 +29,7 @@ module.exports = () => ({
// Do not include admin files in the server compilation
'src/admin/',
// Do not include test files
'**/*.test.ts',
'**/*.test.*',
// Do not include plugins in the server compilation
'src/plugins/**',
],

View File

@ -1,14 +1,28 @@
'use strict';
const { red, green, bold, yellow } = require('chalk');
const semver = require('semver');
const packageJSON = require('../resources/json/common/package.json');
module.exports = function checkBeforeInstall() {
const currentNodeVersion = process.versions.node;
const semver = currentNodeVersion.split('.');
const major = semver[0];
const { engines } = packageJSON({ strapiDependencies: [] });
if (major < 12) {
console.error(`You are running Node ${currentNodeVersion}`);
console.error('Strapi requires Node 12 and higher.');
// error if the node version isn't supported
if (!semver.satisfies(currentNodeVersion, engines.node)) {
console.error(red(`You are running ${bold(`Node.js ${currentNodeVersion}`)}`));
console.error(`Strapi requires ${bold(green(`Node.js ${engines.node}`))}`);
console.error('Please make sure to use the right version of Node.');
process.exit(1);
}
// warn if not using a LTS version
else if (semver.satisfies(currentNodeVersion, '15.x.x || 17.x.x || 19.x.x')) {
console.warn(yellow(`You are running ${bold(`Node.js ${currentNodeVersion}`)}`));
console.warn(
`Strapi only supports ${bold(
green('LTS versions of Node.js')
)}, other versions may not be compatible.`
);
}
};

View File

@ -36,7 +36,7 @@
"test": "echo \"no tests yet\""
},
"dependencies": {
"@sentry/node": "6.19.6",
"@sentry/node": "6.19.7",
"chalk": "^4.1.1",
"execa": "^1.0.0",
"fs-extra": "10.0.0",
@ -46,6 +46,7 @@
"node-machine-id": "^1.1.10",
"ora": "^5.4.1",
"tar": "6.1.11",
"semver": "^7.3.4",
"uuid": "^8.3.2"
},
"engines": {

View File

@ -1,4 +1,4 @@
import '@strapi/strapi';
import { Strapi } from '@strapi/strapi';
export default ({ strapi }: { strapi: Strapi }) => {
// bootstrap phase

View File

@ -1,4 +1,4 @@
import '@strapi/strapi';
import { Strapi } from '@strapi/strapi';
export default ({ strapi }: { strapi: Strapi }) => ({
index(ctx) {

View File

@ -1,4 +1,4 @@
import '@strapi/strapi';
import { Strapi } from '@strapi/strapi';
export default ({ strapi }: { strapi: Strapi }) => {
// destroy phase

View File

@ -1,4 +1,4 @@
import '@strapi/strapi';
import { Strapi } from '@strapi/strapi';
export default ({ strapi }: { strapi: Strapi }) => {
// registeration phase

View File

@ -1,4 +1,4 @@
import '@strapi/strapi';
import { Strapi } from '@strapi/strapi';
export default ({ strapi }: { strapi: Strapi }) => ({
getWelcomeMessage() {

View File

@ -2,7 +2,7 @@
* `{{ name }}` middleware
*/
import '@strapi/strapi';
import { Strapi } from '@strapi/strapi';
export default (config, { strapi }: { strapi: Strapi }) => {
// Add your own logic here.

View File

@ -9,8 +9,7 @@
},
"dependencies": {},
"devDependencies": {
"typescript": "4.6.3",
"@strapi/strapi": "4.1.8"
"typescript": "4.6.3"
},
"author": {
"name": "A Strapi developer"
@ -21,7 +20,7 @@
}
],
"engines": {
"node": ">=12.x.x <=16.x.x",
"node": ">=14.19.1 <=16.x.x",
"npm": ">=6.0.0"
},
"scripts": {

View File

@ -28,7 +28,7 @@
},
"dependencies": {
"@graphql-tools/schema": "8.1.2",
"@graphql-tools/utils": "^8.9.0",
"@graphql-tools/utils": "^8.10.0",
"@strapi/utils": "4.3.4",
"apollo-server-core": "3.1.2",
"apollo-server-koa": "3.10.0",

View File

@ -1,7 +1,65 @@
{
"CMEditViewCopyLocale.copy-failure": "Échec de la copie de la locale",
"CMEditViewCopyLocale.copy-success": "Locale copiée",
"CMEditViewCopyLocale.copy-text": "Remplir à partir d'une autre locale",
"CMEditViewCopyLocale.submit-text": "Oui, remplir",
"CMListView.popover.display-locales.label": "Afficher les locales traduites",
"CheckboxConfirmation.Modal.body": "Voulez-vous le désactiver ?",
"CheckboxConfirmation.Modal.button-confirm": "Oui, désactiver",
"CheckboxConfirmation.Modal.content": "La désactivation de la localisation entraînera la suppression de tout votre contenu, à l'exception de celui associé à votre locale par défaut (si elle existe).",
"Field.localized": "Cette valeur est unique pour la locale sélectionnée",
"Field.not-localized": "Cette valeur est commune à toutes les locales",
"Settings.list.actions.add": "Ajouter une locale",
"Settings.list.actions.delete": "Supprimer une locale",
"Settings.list.actions.deleteAdditionalInfos": "Cela supprimera les versions locales actives <em>(d'Internationalisation)</em>.",
"Settings.list.actions.edit": "Modifier une locale",
"Settings.list.description": "Configurer les paramètres du plugin d'internationalisation",
"Settings.list.empty.description": "Ce n'est pas un comportement habituel, ce qui signifie que vous avez peut-être modifié la base de données manuellement. Assurez-vous d'avoir au moins une locale enregistrée dans votre base de données afin de pouvoir utiliser Strapi correctement.",
"Settings.list.empty.title": "Il n'y a pas de locale",
"Settings.locales.default": "Par défaut",
"Settings.locales.list.sort.default": "Trier par la locale par défaut",
"Settings.locales.list.sort.displayName": "Trier par nom d'affichage",
"Settings.locales.list.sort.id": "Trier par ID",
"Settings.locales.modal.advanced": "Paramètres avancés",
"Settings.locales.modal.advanced.setAsDefault": "Définir comme locale par défaut",
"Settings.locales.modal.advanced.setAsDefault.hint": "Une locale par défaut est requise, changez-la en en sélectionnant une autre",
"Settings.locales.modal.advanced.settings": "Paramètres",
"Settings.locales.modal.base": "Paramètres de base",
"Settings.locales.modal.create.alreadyExist": "Cette locale existe déjà",
"Settings.locales.modal.create.defaultLocales.loading": "Chargement des locales disponibles...",
"Settings.locales.modal.create.success": "Locale ajoutée avec succès",
"Settings.locales.modal.create.tab.label": "Navigation entre les paramètres de base et les paramètres avancés de l'I18N",
"Settings.locales.modal.delete.confirm": "Oui, supprimer",
"Settings.locales.modal.delete.message": "La suppression de cette locale entraîne la suppression de tout le contenu associé. Si vous souhaitez conserver du contenu, veillez à le réaffecter à une autre locale au préalable.",
"Settings.locales.modal.delete.secondMessage": "Voulez-vous supprimer cette locale ?",
"Settings.locales.modal.delete.success": "Locale supprimée avec succès",
"Settings.locales.modal.edit.confirmation": "Terminer",
"Settings.locales.modal.edit.locales.label": "Locales",
"Settings.locales.modal.edit.success": "Locale modifiée avec succès",
"Settings.locales.modal.edit.tab.label": "Navigation entre les paramètres de base et les paramètres avancés de l'I18N",
"Settings.locales.modal.locales.displayName": "Nom d'affichage de la locale",
"Settings.locales.modal.locales.displayName.description": "La locale sera affichée sous ce nom dans le panneau d'administration.",
"Settings.locales.modal.locales.displayName.error": "Le nom d'affichage de la locale doit avoir moins de 50 caractères.",
"Settings.locales.modal.locales.label": "Locales",
"Settings.locales.modal.locales.loaded": "Les locales ont été chargées avec succès.",
"Settings.locales.modal.title": "Configurations",
"Settings.locales.row.default-locale": "Locale par défaut",
"Settings.locales.row.displayName": "Nom d'affichage",
"Settings.locales.row.id": "ID",
"Settings.permissions.loading": "Chargement des autorisations",
"Settings.permissions.read.denied.description": "Afin de pouvoir lire ceci, assurez de contacter l'administrateur de votre système.",
"Settings.permissions.read.denied.title": "Vous n'avez pas les autorisations nécessaires pour accéder à ce contenu.",
"actions.select-locale": "Sélectionnez une locale",
"components.Select.locales.not-available": "Aucun contenu disponible",
"plugin.description.long": "Créez, lisez et modifiez votre contenu en différentes langues depuis le panel d'administration et votre API.",
"plugin.description.short": "Créez, lisez et modifiez votre contenu en différentes langues depuis le panel d'administration et votre API.",
"plugin.name": "Internationalisation"
}
"plugin.name": "Internationalisation",
"plugin.schema.i18n.ensure-unique-localization": "Les champs uniques doivent avoir une locale",
"plugin.schema.i18n.localized.description": "Donne la possibilité d'avoir du contenu dans différentes locales",
"plugin.schema.i18n.localized.description-content-type": "Donne la possibilité d'avoir du contenu dans différentes locales",
"plugin.schema.i18n.localized.description-field": "Le champ peut avoir des valeurs différentes dans chaque locale",
"plugin.schema.i18n.localized.label": "Activer la localisation pour ce type de contenu",
"plugin.schema.i18n.localized.label-content-type": "Activer la localisation pour ce type de contenu",
"plugin.schema.i18n.localized.label-field": "Activer la localisation pour ce champ"
}

View File

@ -24,7 +24,7 @@
"test:unit": "jest --verbose"
},
"dependencies": {
"@sentry/node": "6.19.6"
"@sentry/node": "6.19.7"
},
"peerDependencies": {
"@strapi/strapi": "^4.0.0"

View File

@ -36,7 +36,7 @@
"test": "echo \"no tests yet\""
},
"dependencies": {
"@sendgrid/mail": "7.4.7",
"@sendgrid/mail": "7.7.0",
"@strapi/utils": "4.3.4"
},
"engines": {

View File

@ -5,15 +5,18 @@ cd "$(dirname "$0")/.."
set -e
version=""
distTag=""
version=$VERSION
distTag=$DIST_TAG
echo "Please enter the version you want to publish"
read -r version
if [[ -z "$version" ]]; then
echo "Please enter the version you want to publish"
read -r version
fi
echo "Please enter the dist-tag you want to publish with"
read -r distTag
if [[ -z "$distTag" ]]; then
echo "Please enter the dist-tag you want to publish with"
read -r distTag
fi
# publish packages
./node_modules/.bin/lerna publish --no-push --no-git-tag-version --force-publish --exact "$version" --dist-tag "$distTag"
./node_modules/.bin/lerna publish --no-push --no-git-tag-version --force-publish --exact "$version" --dist-tag "$distTag" $@

View File

@ -13,8 +13,8 @@ read -r version
# publish packages
./node_modules/.bin/lerna publish --no-push --force-publish --dist-tag latest --exact "$version"
# push master branch
git push origin master
# push main branch
git push origin main
# push tag
git push origin v"$version"

1584
yarn.lock

File diff suppressed because it is too large Load Diff