Compare commits

..
Author SHA1 Message Date
Etienne 1c0a7029c3 Fix slow db query issue (#19770)
https://github.com/twentyhq/twenty/pull/19586#discussion_r3074136617
2026-04-16 17:57:15 +02:00
Charles BochetandEtienne 613be773cb fix: replace slow deep-equal with fastDeepEqual to resolve CPU bottleneck (#19771)
## Summary

- Replaced the `deep-equal` npm package with the existing
`fastDeepEqual` from `twenty-shared/utils` across 5 files in the server
and shared packages
- `deep-equal` was causing severe CPU overhead in the record update hot
path (`executeMany` → `formatTwentyOrmEventToDatabaseBatchEvent` →
`objectRecordChangedValues` → `deepEqual`, called **per field per
record**)
- `fastDeepEqual` is ~100x faster for plain JSON database records since
it skips unnecessary prototype chain inspection and edge-case handling
- Removed the now-unnecessary `LARGE_JSON_FIELDS` branching in
`objectRecordChangedValues` since all fields now use the fast
implementation
2026-04-16 17:56:56 +02:00
prastoin 2dd1fffe02 fix(server): cherry-pick breaking changes 2026-04-15 17:55:17 +02:00
Paul Rastoinandprastoin e13c9ef46c [Upgrade] Fix workspace creation cursor (#19701)
The upgrade migration system required new workspaces to always start
from a workspace command, which was too rigid. When the system was
mid-upgrade within an instance command (IC) segment, workspace creation
would fail or produce inconsistent state.

Instance commands now write upgrade migration rows for **all
active/suspended workspaces** alongside the global row. This means every
workspace has a complete migration history, including instance command
records.

- `InstanceCommandRunnerService` reloads `activeOrSuspendedWorkspaceIds`
immediately before writing records (both success and failure paths) to
mitigate race conditions with concurrent workspace creation.
- `recordUpgradeMigration` in `UpgradeMigrationService` accepts a
discriminated union over `status`, handles `error: unknown` formatting
internally, and writes global + workspace rows in batch.

`getInitialCursorForNewWorkspace` now accepts the last **attempted**
(not just completed) instance command with its status:

- If the IC is `completed` and the next step is a workspace segment →
cursor is set to the last WC of that segment (existing behavior).
- If the IC is `failed` or not the last of its segment → cursor is set
to that IC itself, preserving its status.

This allows workspaces to be created at any point during the upgrade
lifecycle, including mid-IC-segment and after IC failure.

`validateWorkspaceCursorsAreInWorkspaceSegment` accepts workspaces whose
cursor is:
1. Within the current workspace segment, OR
2. At the immediately preceding instance command with `completed` status
(handles the `-w` single-workspace upgrade scenario).

Workspaces with cursors in a previous segment, ahead of the current
segment, or at a preceding IC with `failed` status are rejected.

created empty workspaces to allow testing upgrade with several active
workspaces
2026-04-15 17:51:35 +02:00
prastoin 438d502988 fid(server): workspace activation set workspace.version 2026-04-14 16:46:56 +02:00
608 changed files with 9902 additions and 25207 deletions
-4
View File
@@ -17,10 +17,6 @@
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"],
"env": {}
},
"twenty": {
"type": "streamable-http",
"url": "https://twentyfortwenty.twenty.com/mcp"
}
}
}
@@ -1,42 +0,0 @@
name: CD
on:
push:
branches:
- main
pull_request:
types: [labeled]
permissions:
contents: read
env:
TWENTY_DEPLOY_URL: http://localhost:3000
concurrency:
group: cd-${{ github.ref }}
cancel-in-progress: true
jobs:
deploy-and-install:
if: >-
github.event_name == 'push' ||
(github.event_name == 'pull_request' && github.event.label.name == 'deploy')
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Deploy
uses: twentyhq/twenty/.github/actions/deploy-twenty-app@main
with:
api-url: ${{ env.TWENTY_DEPLOY_URL }}
api-key: ${{ secrets.TWENTY_DEPLOY_API_KEY }}
- name: Install
uses: twentyhq/twenty/.github/actions/install-twenty-app@main
with:
api-url: ${{ env.TWENTY_DEPLOY_URL }}
api-key: ${{ secrets.TWENTY_DEPLOY_API_KEY }}
@@ -1,48 +0,0 @@
name: CI
on:
push:
branches:
- main
pull_request: {}
permissions:
contents: read
env:
TWENTY_VERSION: latest
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Spawn Twenty test instance
id: twenty
uses: twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main
with:
twenty-version: ${{ env.TWENTY_VERSION }}
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: yarn
- name: Install dependencies
run: yarn install --immutable
- name: Run integration tests
run: yarn test
env:
TWENTY_API_URL: ${{ steps.twenty.outputs.server-url }}
TWENTY_API_KEY: ${{ steps.twenty.outputs.api-key }}
@@ -35,4 +35,3 @@ yarn-error.log*
# typescript
*.tsbuildinfo
*.d.ts
@@ -1 +0,0 @@
24.5.0
@@ -1,19 +1,40 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["typescript"],
"plugins": ["typescript", "import", "unicorn"],
"categories": {
"correctness": "off"
},
"ignorePatterns": ["node_modules", "dist"],
"ignorePatterns": ["node_modules"],
"rules": {
"func-style": ["error", "declaration", { "allowArrowFunctions": true }],
"no-console": ["warn", { "allow": ["group", "groupCollapsed", "groupEnd"] }],
"no-control-regex": "off",
"no-debugger": "error",
"no-duplicate-imports": "error",
"no-undef": "off",
"no-unused-vars": "off",
"no-redeclare": "off",
"typescript/no-unused-vars": [
"warn",
{
"argsIgnorePattern": "^_"
}
],
"typescript/no-explicit-any": "off"
"import/no-duplicates": "error",
"typescript/no-redeclare": "error",
"typescript/ban-ts-comment": "error",
"typescript/consistent-type-imports": ["error", {
"prefer": "type-imports",
"fixStyle": "inline-type-imports"
}],
"typescript/explicit-function-return-type": "off",
"typescript/explicit-module-boundary-types": "off",
"typescript/no-empty-object-type": ["error", {
"allowInterfaces": "with-single-extends"
}],
"typescript/no-empty-function": "off",
"typescript/no-explicit-any": "off",
"typescript/no-unused-vars": ["warn", {
"vars": "all",
"varsIgnorePattern": "^_",
"args": "after-used",
"argsIgnorePattern": "^_"
}]
}
}
@@ -1 +1,5 @@
yarnPath: .yarn/releases/yarn-4.9.2.cjs
nodeLinker: node-modules
enableTransparentWorkspaces: false
@@ -1,14 +0,0 @@
## Base documentation
- Documentation: https://docs.twenty.com/developers/extend/apps/getting-started
- Rich app example: https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples/postcard
## UUID requirement
- All generated UUIDs must be valid UUID v4.
## Common Pitfalls
- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
@@ -1,14 +0,0 @@
## Base documentation
- Documentation: https://docs.twenty.com/developers/extend/apps/getting-started
- Rich app example: https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples/postcard
## UUID requirement
- All generated UUIDs must be valid UUID v4.
## Common Pitfalls
- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
@@ -1,14 +0,0 @@
## Base documentation
- Documentation: https://docs.twenty.com/developers/extend/apps/getting-started
- Rich app example: https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples/postcard
## UUID requirement
- All generated UUIDs must be valid UUID v4.
## Common Pitfalls
- Creating an object without an index view associated. Unless this is a technical object, user will need to visualize it.
- Creating a view without a navigationMenuItem associated. This will make the view available on the left sidebar.
- Creating a front-end component that has a scroll instead of being responsive to its fixed widget height and width, unless it is specifically meant to be used in a canvas tab.
@@ -1,11 +1,44 @@
This is a [Twenty](https://twenty.com) application bootstrapped with [`create-twenty-app`](https://www.npmjs.com/package/create-twenty-app).
# Self Hosting
## Getting Started
Used to manage billing and telemetry of self-hosted instances
Run `yarn twenty help` to list all available commands.
## Features
## Learn More
### Telemetry Webhook
- [Twenty Apps documentation](https://docs.twenty.com/developers/extend/apps/getting-started)
- [twenty-sdk CLI reference](https://www.npmjs.com/package/twenty-sdk)
- [Discord](https://discord.gg/cx5n4Jzs57)
Receives user signup telemetry events from self-hosted Twenty instances and creates/updates selfHostingUser records.
**Endpoint:** `POST /webhook/telemetry`
**Payload Structure:**
```json
{
"action": "user_signup",
"timestamp": "2025-11-21T...",
"version": "1",
"payload": {
"userId": "uuid",
"workspaceId": "uuid",
"payload": {
"events": [
{
"userEmail": "user@example.com",
"userId": "uuid",
"userFirstName": "John",
"userLastName": "Doe",
"locale": "en",
"serverUrl": "https://self-hosted.example.com"
}
]
}
}
}
```
**Response:**
```json
{
"success": true,
"message": "Self hosting user created/updated: uuid"
}
```
@@ -1,6 +1,6 @@
{
"name": "self-hosting",
"version": "1.0.0",
"version": "0.0.1",
"license": "MIT",
"engines": {
"node": "^24.5.0",
@@ -11,22 +11,13 @@
"scripts": {
"twenty": "twenty",
"lint": "oxlint -c .oxlintrc.json .",
"lint:fix": "oxlint --fix -c .oxlintrc.json .",
"test": "vitest run",
"test:watch": "vitest"
},
"dependencies": {
"twenty-client-sdk": "1.22.0-canary.6",
"twenty-sdk": "1.22.0-canary.6"
"lint:fix": "oxlint --fix -c .oxlintrc.json ."
},
"devDependencies": {
"@types/node": "^24.7.2",
"@types/react": "^19.0.0",
"oxlint": "^0.16.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"typescript": "^5.9.3",
"vite-tsconfig-paths": "^4.2.1",
"vitest": "^3.1.1"
}
"twenty-sdk": "0.6.2"
},
"$schema": "https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-cli/src/constants/schemas/appManifest.schema.json",
"universalIdentifier": "a7070f46-3158-4b40-828f-8e6b1febc233"
}
@@ -1,72 +0,0 @@
import { appBuild, appDeploy, appInstall, appUninstall } from 'twenty-sdk/cli';
import { MetadataApiClient } from 'twenty-client-sdk/metadata';
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
import { APPLICATION_UNIVERSAL_IDENTIFIER } from 'src/application.config';
const APP_PATH = process.cwd();
describe('App installation', () => {
beforeAll(async () => {
const buildResult = await appBuild({
appPath: APP_PATH,
tarball: true,
onProgress: (message: string) => console.log(`[build] ${message}`),
});
if (!buildResult.success) {
throw new Error(
`Build failed: ${buildResult.error?.message ?? 'Unknown error'}`,
);
}
const deployResult = await appDeploy({
tarballPath: buildResult.data.tarballPath!,
onProgress: (message: string) => console.log(`[deploy] ${message}`),
});
if (!deployResult.success) {
throw new Error(
`Deploy failed: ${deployResult.error?.message ?? 'Unknown error'}`,
);
}
const installResult = await appInstall({ appPath: APP_PATH });
if (!installResult.success) {
throw new Error(
`Install failed: ${installResult.error?.message ?? 'Unknown error'}`,
);
}
});
afterAll(async () => {
const uninstallResult = await appUninstall({ appPath: APP_PATH });
if (!uninstallResult.success) {
console.warn(
`App uninstall failed: ${
uninstallResult.error?.message ?? 'Unknown error'
}`,
);
}
});
it('should find the installed app in the applications list', async () => {
const metadataClient = new MetadataApiClient();
const result = await metadataClient.query({
findManyApplications: {
id: true,
name: true,
universalIdentifier: true,
},
});
const installedApp = result.findManyApplications.find(
(application: { universalIdentifier: string }) =>
application.universalIdentifier === APPLICATION_UNIVERSAL_IDENTIFIER,
);
expect(installedApp).toBeDefined();
});
});
@@ -1,53 +0,0 @@
import * as fs from 'fs';
import * as os from 'os';
import * as path from 'path';
import { beforeAll } from 'vitest';
const CONFIG_DIR = path.join(os.homedir(), '.twenty');
const CONFIG_PATH = path.join(CONFIG_DIR, 'config.test.json');
beforeAll(async () => {
const apiUrl = process.env.TWENTY_API_URL!;
const token = process.env.TWENTY_API_KEY!;
if (!apiUrl || !token) {
throw new Error(
'TWENTY_API_URL and TWENTY_API_KEY must be set.\n' +
'Start a local server: yarn twenty server start\n' +
'Or set them in vitest env config.',
);
}
let response: Response;
try {
response = await fetch(`${apiUrl}/healthz`);
} catch {
throw new Error(
`Twenty server is not reachable at ${apiUrl}. ` +
'Make sure the server is running before executing integration tests.',
);
}
if (!response.ok) {
throw new Error(`Server at ${apiUrl} returned ${response.status}`);
}
fs.mkdirSync(CONFIG_DIR, { recursive: true });
fs.writeFileSync(
CONFIG_PATH,
JSON.stringify(
{
remotes: {
local: { apiUrl, apiKey: token },
},
defaultRemote: 'local',
},
null,
2,
),
);
process.env.TWENTY_APP_ACCESS_TOKEN ??= token;
});
@@ -1,9 +1,6 @@
import { defineApplication } from 'twenty-sdk';
import { UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers.constant';
export const APPLICATION_UNIVERSAL_IDENTIFIER =
'94f7db30-59e5-4b09-a5fe-64cd3d4a65b0';
export default defineApplication({
universalIdentifier: '94f7db30-59e5-4b09-a5fe-64cd3d4a65b0',
displayName: 'Self Hosting',
@@ -5,7 +5,7 @@ import {
type ObjectRecordUpdateEvent,
} from 'twenty-sdk';
import { SELF_HOSTING_USER_NAME_SINGULAR } from 'src/objects/selfHostingUser.object';
import { CoreApiClient } from 'twenty-client-sdk/core';
import { CoreApiClient } from 'twenty-sdk/clients';
type SelfHostingUser = {
id: string;
@@ -1,5 +1,5 @@
import { defineLogicFunction, type RoutePayload } from 'twenty-sdk';
import { CoreApiClient } from 'twenty-client-sdk/core';
import { CoreApiClient } from 'twenty-sdk/clients';
import { type TelemetryEvent } from 'src/logic-functions/types/telemetry-event.type';
export const main = async (
@@ -4,7 +4,7 @@ import { UNIVERSAL_IDENTIFIERS } from 'src/constants/universal-identifiers.const
export default defineRole({
universalIdentifier:
UNIVERSAL_IDENTIFIERS.roles.defaultRole.universalIdentifier,
label: 'Self hosting default role',
label: 'default role',
description: 'Add a description for your role',
canReadAllObjectRecords: true,
canUpdateAllObjectRecords: true,
@@ -27,16 +27,5 @@
"~/*": ["./*"]
}
},
"exclude": [
"node_modules",
"dist",
"**/*.test.ts",
"**/*.spec.ts",
"**/*.integration-test.ts"
],
"references": [
{
"path": "./tsconfig.spec.json"
}
]
"exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.spec.ts"]
}
@@ -1,9 +0,0 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"composite": true,
"types": ["vitest/globals", "node"]
},
"include": ["src/**/*.ts", "src/**/*.tsx"],
"exclude": ["node_modules", "dist"]
}
@@ -1,24 +0,0 @@
import tsconfigPaths from 'vite-tsconfig-paths';
import { defineConfig } from 'vitest/config';
export default defineConfig({
plugins: [
tsconfigPaths({
projects: ['tsconfig.spec.json'],
ignoreConfigErrors: true,
}),
],
test: {
testTimeout: 120_000,
hookTimeout: 120_000,
include: ['src/**/*.integration-test.ts'],
setupFiles: ['src/__tests__/setup-test.ts'],
env: {
TWENTY_API_URL: process.env.TWENTY_API_URL ?? 'http://localhost:2020',
TWENTY_API_KEY:
process.env.TWENTY_API_KEY ??
// Tim Apple (admin) access token for twenty-app-dev
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC05ZTNiLTQ2ZDQtYTU1Ni04OGI5ZGRjMmIwMzQiLCJ1c2VySWQiOiIyMDIwMjAyMC05ZTNiLTQ2ZDQtYTU1Ni04OGI5ZGRjMmIwMzQiLCJ3b3Jrc3BhY2VJZCI6IjIwMjAyMDIwLTFjMjUtNGQwMi1iZjI1LTZhZWNjZjdlYTQxOSIsIndvcmtzcGFjZU1lbWJlcklkIjoiMjAyMDIwMjAtMDY4Ny00YzQxLWI3MDctZWQxYmZjYTk3MmE3IiwidXNlcldvcmtzcGFjZUlkIjoiMjAyMDIwMjAtOWUzYi00NmQ0LWE1NTYtODhiOWRkYzJiMDM1IiwidHlwZSI6IkFDQ0VTUyIsImF1dGhQcm92aWRlciI6InBhc3N3b3JkIiwiaWF0IjoxNzUxMjgxNzA0LCJleHAiOjQ5MDQ4ODE3MDR9.9S4wc0MOr5iczsomlFxZdOHD1IRDS4dnRSwNVNpctF4',
},
},
});
File diff suppressed because it is too large Load Diff
@@ -735,7 +735,6 @@ enum ViewType {
KANBAN
CALENDAR
FIELDS_WIDGET
TABLE_WIDGET
}
enum ViewKey {
@@ -793,6 +792,7 @@ type Workspace {
isCustomDomainEnabled: Boolean!
editableProfileFields: [String!]
defaultRole: Role
version: String
fastModel: String!
smartModel: String!
aiAdditionalInstructions: String
@@ -1258,7 +1258,6 @@ enum PageLayoutType {
RECORD_INDEX
RECORD_PAGE
DASHBOARD
STANDALONE_PAGE
}
type Analytics {
@@ -1487,7 +1486,6 @@ type NavigationMenuItem {
icon: String
color: String
folderId: UUID
pageLayoutId: UUID
position: Float!
applicationId: UUID
createdAt: DateTime!
@@ -1501,7 +1499,6 @@ enum NavigationMenuItemType {
LINK
OBJECT
RECORD
PAGE_LAYOUT
}
type ObjectRecordEventProperties {
@@ -2587,7 +2584,6 @@ type Location {
}
type PlaceDetailsResult {
street: String
state: String
postcode: String
city: String
@@ -2721,7 +2717,6 @@ enum EngineComponentKey {
enum CommandMenuItemAvailabilityType {
GLOBAL
GLOBAL_OBJECT_CONTEXT
RECORD_SELECTION
FALLBACK
}
@@ -3368,7 +3363,6 @@ type Query {
workspaceLookupAdminPanel(workspaceId: UUID!): UserLookup!
getAdminWorkspaceChatThreads(workspaceId: UUID!): [AdminWorkspaceChatThread!]!
getAdminChatThreadMessages(threadId: UUID!): AdminChatThreadMessages!
findOneAdminApplicationRegistration(id: String!): ApplicationRegistration!
getUsageAnalytics(input: UsageAnalyticsInput): UsageAnalytics!
getPostgresCredentials: PostgresCredentials
findManyPublicDomains: [PublicDomain!]!
@@ -3575,7 +3569,6 @@ type Mutation {
updatePageLayout(id: String!, input: UpdatePageLayoutInput!): PageLayout!
destroyPageLayout(id: String!): Boolean!
updatePageLayoutWithTabsAndWidgets(id: String!, input: UpdatePageLayoutWithTabsInput!): PageLayout!
resetPageLayoutToDefault(id: String!): PageLayout!
resetPageLayoutWidgetToDefault(id: String!): PageLayoutWidget!
resetPageLayoutTabToDefault(id: String!): PageLayoutTab!
createPageLayoutWidget(input: CreatePageLayoutWidgetInput!): PageLayoutWidget!
@@ -3667,7 +3660,6 @@ type Mutation {
verifyTwoFactorAuthenticationMethodForAuthenticatedUser(otp: String!): VerifyTwoFactorAuthenticationMethod!
deleteUser: User!
deleteUserFromWorkspace(workspaceMemberIdToDelete: String!): UserWorkspace!
updateWorkspaceMemberSettings(input: UpdateWorkspaceMemberSettingsInput!): Boolean!
updateUserEmail(newEmail: String!, verifyEmailRedirectPath: String): Boolean!
resendEmailVerificationToken(email: String!, origin: String!): ResendEmailVerificationToken!
activateWorkspace(data: ActivateWorkspaceInput!): Workspace!
@@ -3746,7 +3738,6 @@ input CreateNavigationMenuItemInput {
icon: String
color: String
folderId: UUID
pageLayoutId: UUID
position: Float
}
@@ -3765,7 +3756,6 @@ input UpdateNavigationMenuItemInput {
link: String
icon: String
color: String
pageLayoutId: UUID
}
"""The `Upload` scalar type represents a file upload."""
@@ -4602,11 +4592,6 @@ input UpdateApplicationRegistrationVariablePayload {
description: String
}
input UpdateWorkspaceMemberSettingsInput {
workspaceMemberId: UUID!
update: JSON!
}
input ActivateWorkspaceInput {
displayName: String
}
@@ -534,7 +534,7 @@ export interface View {
__typename: 'View'
}
export type ViewType = 'TABLE' | 'KANBAN' | 'CALENDAR' | 'FIELDS_WIDGET' | 'TABLE_WIDGET'
export type ViewType = 'TABLE' | 'KANBAN' | 'CALENDAR' | 'FIELDS_WIDGET'
export type ViewKey = 'INDEX'
@@ -579,6 +579,7 @@ export interface Workspace {
isCustomDomainEnabled: Scalars['Boolean']
editableProfileFields?: Scalars['String'][]
defaultRole?: Role
version?: Scalars['String']
fastModel: Scalars['String']
smartModel: Scalars['String']
aiAdditionalInstructions?: Scalars['String']
@@ -981,7 +982,7 @@ export interface PageLayout {
__typename: 'PageLayout'
}
export type PageLayoutType = 'RECORD_INDEX' | 'RECORD_PAGE' | 'DASHBOARD' | 'STANDALONE_PAGE'
export type PageLayoutType = 'RECORD_INDEX' | 'RECORD_PAGE' | 'DASHBOARD'
export interface Analytics {
/** Boolean that confirms query was dispatched */
@@ -1210,7 +1211,6 @@ export interface NavigationMenuItem {
icon?: Scalars['String']
color?: Scalars['String']
folderId?: Scalars['UUID']
pageLayoutId?: Scalars['UUID']
position: Scalars['Float']
applicationId?: Scalars['UUID']
createdAt: Scalars['DateTime']
@@ -1219,7 +1219,7 @@ export interface NavigationMenuItem {
__typename: 'NavigationMenuItem'
}
export type NavigationMenuItemType = 'VIEW' | 'FOLDER' | 'LINK' | 'OBJECT' | 'RECORD' | 'PAGE_LAYOUT'
export type NavigationMenuItemType = 'VIEW' | 'FOLDER' | 'LINK' | 'OBJECT' | 'RECORD'
export interface ObjectRecordEventProperties {
updatedFields?: Scalars['String'][]
@@ -2297,7 +2297,6 @@ export interface Location {
}
export interface PlaceDetailsResult {
street?: Scalars['String']
state?: Scalars['String']
postcode?: Scalars['String']
city?: Scalars['String']
@@ -2369,7 +2368,7 @@ export interface CommandMenuItem {
export type EngineComponentKey = 'NAVIGATE_TO_NEXT_RECORD' | 'NAVIGATE_TO_PREVIOUS_RECORD' | 'CREATE_NEW_RECORD' | 'DELETE_RECORDS' | 'RESTORE_RECORDS' | 'DESTROY_RECORDS' | 'ADD_TO_FAVORITES' | 'REMOVE_FROM_FAVORITES' | 'EXPORT_NOTE_TO_PDF' | 'EXPORT_RECORDS' | 'UPDATE_MULTIPLE_RECORDS' | 'MERGE_MULTIPLE_RECORDS' | 'IMPORT_RECORDS' | 'EXPORT_VIEW' | 'SEE_DELETED_RECORDS' | 'CREATE_NEW_VIEW' | 'HIDE_DELETED_RECORDS' | 'EDIT_RECORD_PAGE_LAYOUT' | 'EDIT_DASHBOARD_LAYOUT' | 'SAVE_DASHBOARD_LAYOUT' | 'CANCEL_DASHBOARD_LAYOUT' | 'DUPLICATE_DASHBOARD' | 'ACTIVATE_WORKFLOW' | 'DEACTIVATE_WORKFLOW' | 'DISCARD_DRAFT_WORKFLOW' | 'TEST_WORKFLOW' | 'SEE_ACTIVE_VERSION_WORKFLOW' | 'SEE_RUNS_WORKFLOW' | 'SEE_VERSIONS_WORKFLOW' | 'ADD_NODE_WORKFLOW' | 'TIDY_UP_WORKFLOW' | 'DUPLICATE_WORKFLOW' | 'SEE_VERSION_WORKFLOW_RUN' | 'SEE_WORKFLOW_WORKFLOW_RUN' | 'STOP_WORKFLOW_RUN' | 'SEE_RUNS_WORKFLOW_VERSION' | 'SEE_WORKFLOW_WORKFLOW_VERSION' | 'USE_AS_DRAFT_WORKFLOW_VERSION' | 'SEE_VERSIONS_WORKFLOW_VERSION' | 'SEARCH_RECORDS' | 'SEARCH_RECORDS_FALLBACK' | 'ASK_AI' | 'VIEW_PREVIOUS_AI_CHATS' | 'NAVIGATION' | 'TRIGGER_WORKFLOW_VERSION' | 'FRONT_COMPONENT_RENDERER' | 'REPLY_TO_EMAIL_THREAD' | 'COMPOSE_EMAIL' | 'GO_TO_PEOPLE' | 'GO_TO_COMPANIES' | 'GO_TO_DASHBOARDS' | 'GO_TO_OPPORTUNITIES' | 'GO_TO_SETTINGS' | 'GO_TO_TASKS' | 'GO_TO_NOTES' | 'GO_TO_WORKFLOWS' | 'GO_TO_RUNS' | 'DELETE_SINGLE_RECORD' | 'DELETE_MULTIPLE_RECORDS' | 'RESTORE_SINGLE_RECORD' | 'RESTORE_MULTIPLE_RECORDS' | 'DESTROY_SINGLE_RECORD' | 'DESTROY_MULTIPLE_RECORDS' | 'EXPORT_FROM_RECORD_INDEX' | 'EXPORT_FROM_RECORD_SHOW' | 'EXPORT_MULTIPLE_RECORDS'
export type CommandMenuItemAvailabilityType = 'GLOBAL' | 'GLOBAL_OBJECT_CONTEXT' | 'RECORD_SELECTION' | 'FALLBACK'
export type CommandMenuItemAvailabilityType = 'GLOBAL' | 'RECORD_SELECTION' | 'FALLBACK'
export type CommandMenuItemPayload = (PathCommandMenuItemPayload | ObjectMetadataCommandMenuItemPayload) & { __isUnion?: true }
@@ -2929,7 +2928,6 @@ export interface Query {
workspaceLookupAdminPanel: UserLookup
getAdminWorkspaceChatThreads: AdminWorkspaceChatThread[]
getAdminChatThreadMessages: AdminChatThreadMessages
findOneAdminApplicationRegistration: ApplicationRegistration
getUsageAnalytics: UsageAnalytics
getPostgresCredentials?: PostgresCredentials
findManyPublicDomains: PublicDomain[]
@@ -3029,7 +3027,6 @@ export interface Mutation {
updatePageLayout: PageLayout
destroyPageLayout: Scalars['Boolean']
updatePageLayoutWithTabsAndWidgets: PageLayout
resetPageLayoutToDefault: PageLayout
resetPageLayoutWidgetToDefault: PageLayoutWidget
resetPageLayoutTabToDefault: PageLayoutTab
createPageLayoutWidget: PageLayoutWidget
@@ -3121,7 +3118,6 @@ export interface Mutation {
verifyTwoFactorAuthenticationMethodForAuthenticatedUser: VerifyTwoFactorAuthenticationMethod
deleteUser: User
deleteUserFromWorkspace: UserWorkspace
updateWorkspaceMemberSettings: Scalars['Boolean']
updateUserEmail: Scalars['Boolean']
resendEmailVerificationToken: ResendEmailVerificationToken
activateWorkspace: Workspace
@@ -3792,6 +3788,7 @@ export interface WorkspaceGenqlSelection{
isCustomDomainEnabled?: boolean | number
editableProfileFields?: boolean | number
defaultRole?: RoleGenqlSelection
version?: boolean | number
fastModel?: boolean | number
smartModel?: boolean | number
aiAdditionalInstructions?: boolean | number
@@ -4461,7 +4458,6 @@ export interface NavigationMenuItemGenqlSelection{
icon?: boolean | number
color?: boolean | number
folderId?: boolean | number
pageLayoutId?: boolean | number
position?: boolean | number
applicationId?: boolean | number
createdAt?: boolean | number
@@ -5620,7 +5616,6 @@ export interface LocationGenqlSelection{
}
export interface PlaceDetailsResultGenqlSelection{
street?: boolean | number
state?: boolean | number
postcode?: boolean | number
city?: boolean | number
@@ -6298,7 +6293,6 @@ export interface QueryGenqlSelection{
workspaceLookupAdminPanel?: (UserLookupGenqlSelection & { __args: {workspaceId: Scalars['UUID']} })
getAdminWorkspaceChatThreads?: (AdminWorkspaceChatThreadGenqlSelection & { __args: {workspaceId: Scalars['UUID']} })
getAdminChatThreadMessages?: (AdminChatThreadMessagesGenqlSelection & { __args: {threadId: Scalars['UUID']} })
findOneAdminApplicationRegistration?: (ApplicationRegistrationGenqlSelection & { __args: {id: Scalars['String']} })
getUsageAnalytics?: (UsageAnalyticsGenqlSelection & { __args?: {input?: (UsageAnalyticsInput | null)} })
getPostgresCredentials?: PostgresCredentialsGenqlSelection
findManyPublicDomains?: PublicDomainGenqlSelection
@@ -6417,7 +6411,6 @@ export interface MutationGenqlSelection{
updatePageLayout?: (PageLayoutGenqlSelection & { __args: {id: Scalars['String'], input: UpdatePageLayoutInput} })
destroyPageLayout?: { __args: {id: Scalars['String']} }
updatePageLayoutWithTabsAndWidgets?: (PageLayoutGenqlSelection & { __args: {id: Scalars['String'], input: UpdatePageLayoutWithTabsInput} })
resetPageLayoutToDefault?: (PageLayoutGenqlSelection & { __args: {id: Scalars['String']} })
resetPageLayoutWidgetToDefault?: (PageLayoutWidgetGenqlSelection & { __args: {id: Scalars['String']} })
resetPageLayoutTabToDefault?: (PageLayoutTabGenqlSelection & { __args: {id: Scalars['String']} })
createPageLayoutWidget?: (PageLayoutWidgetGenqlSelection & { __args: {input: CreatePageLayoutWidgetInput} })
@@ -6509,7 +6502,6 @@ export interface MutationGenqlSelection{
verifyTwoFactorAuthenticationMethodForAuthenticatedUser?: (VerifyTwoFactorAuthenticationMethodGenqlSelection & { __args: {otp: Scalars['String']} })
deleteUser?: UserGenqlSelection
deleteUserFromWorkspace?: (UserWorkspaceGenqlSelection & { __args: {workspaceMemberIdToDelete: Scalars['String']} })
updateWorkspaceMemberSettings?: { __args: {input: UpdateWorkspaceMemberSettingsInput} }
updateUserEmail?: { __args: {newEmail: Scalars['String'], verifyEmailRedirectPath?: (Scalars['String'] | null)} }
resendEmailVerificationToken?: (ResendEmailVerificationTokenGenqlSelection & { __args: {email: Scalars['String'], origin: Scalars['String']} })
activateWorkspace?: (WorkspaceGenqlSelection & { __args: {data: ActivateWorkspaceInput} })
@@ -6571,7 +6563,7 @@ export interface AddQuerySubscriptionInput {eventStreamId: Scalars['String'],que
export interface RemoveQueryFromEventStreamInput {eventStreamId: Scalars['String'],queryId: Scalars['String']}
export interface CreateNavigationMenuItemInput {id?: (Scalars['UUID'] | null),userWorkspaceId?: (Scalars['UUID'] | null),targetRecordId?: (Scalars['UUID'] | null),targetObjectMetadataId?: (Scalars['UUID'] | null),viewId?: (Scalars['UUID'] | null),type: NavigationMenuItemType,name?: (Scalars['String'] | null),link?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),color?: (Scalars['String'] | null),folderId?: (Scalars['UUID'] | null),pageLayoutId?: (Scalars['UUID'] | null),position?: (Scalars['Float'] | null)}
export interface CreateNavigationMenuItemInput {id?: (Scalars['UUID'] | null),userWorkspaceId?: (Scalars['UUID'] | null),targetRecordId?: (Scalars['UUID'] | null),targetObjectMetadataId?: (Scalars['UUID'] | null),viewId?: (Scalars['UUID'] | null),type: NavigationMenuItemType,name?: (Scalars['String'] | null),link?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),color?: (Scalars['String'] | null),folderId?: (Scalars['UUID'] | null),position?: (Scalars['Float'] | null)}
export interface UpdateOneNavigationMenuItemInput {
/** The id of the record to update */
@@ -6579,7 +6571,7 @@ id: Scalars['UUID'],
/** The record to update */
update: UpdateNavigationMenuItemInput}
export interface UpdateNavigationMenuItemInput {folderId?: (Scalars['UUID'] | null),position?: (Scalars['Float'] | null),name?: (Scalars['String'] | null),link?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),color?: (Scalars['String'] | null),pageLayoutId?: (Scalars['UUID'] | null)}
export interface UpdateNavigationMenuItemInput {folderId?: (Scalars['UUID'] | null),position?: (Scalars['Float'] | null),name?: (Scalars['String'] | null),link?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),color?: (Scalars['String'] | null)}
export interface CreateViewFilterGroupInput {id?: (Scalars['UUID'] | null),parentViewFilterGroupId?: (Scalars['UUID'] | null),logicalOperator?: (ViewFilterGroupLogicalOperator | null),positionInViewFilterGroup?: (Scalars['Float'] | null),viewId: Scalars['UUID']}
@@ -6861,8 +6853,6 @@ export interface UpdateApplicationRegistrationVariableInput {id: Scalars['String
export interface UpdateApplicationRegistrationVariablePayload {value?: (Scalars['String'] | null),description?: (Scalars['String'] | null)}
export interface UpdateWorkspaceMemberSettingsInput {workspaceMemberId: Scalars['UUID'],update: Scalars['JSON']}
export interface ActivateWorkspaceInput {displayName?: (Scalars['String'] | null)}
export interface UpdateWorkspaceInput {subdomain?: (Scalars['String'] | null),customDomain?: (Scalars['String'] | null),displayName?: (Scalars['String'] | null),logo?: (Scalars['String'] | null),inviteHash?: (Scalars['String'] | null),isPublicInviteLinkEnabled?: (Scalars['Boolean'] | null),allowImpersonation?: (Scalars['Boolean'] | null),isGoogleAuthEnabled?: (Scalars['Boolean'] | null),isMicrosoftAuthEnabled?: (Scalars['Boolean'] | null),isPasswordAuthEnabled?: (Scalars['Boolean'] | null),isGoogleAuthBypassEnabled?: (Scalars['Boolean'] | null),isMicrosoftAuthBypassEnabled?: (Scalars['Boolean'] | null),isPasswordAuthBypassEnabled?: (Scalars['Boolean'] | null),defaultRoleId?: (Scalars['UUID'] | null),isTwoFactorAuthenticationEnforced?: (Scalars['Boolean'] | null),trashRetentionDays?: (Scalars['Float'] | null),eventLogRetentionDays?: (Scalars['Float'] | null),fastModel?: (Scalars['String'] | null),smartModel?: (Scalars['String'] | null),aiAdditionalInstructions?: (Scalars['String'] | null),editableProfileFields?: (Scalars['String'][] | null),enabledAiModelIds?: (Scalars['String'][] | null),useRecommendedModels?: (Scalars['Boolean'] | null)}
@@ -9267,8 +9257,7 @@ export const enumViewType = {
TABLE: 'TABLE' as const,
KANBAN: 'KANBAN' as const,
CALENDAR: 'CALENDAR' as const,
FIELDS_WIDGET: 'FIELDS_WIDGET' as const,
TABLE_WIDGET: 'TABLE_WIDGET' as const
FIELDS_WIDGET: 'FIELDS_WIDGET' as const
}
export const enumViewKey = {
@@ -9412,8 +9401,7 @@ export const enumFieldDisplayMode = {
export const enumPageLayoutType = {
RECORD_INDEX: 'RECORD_INDEX' as const,
RECORD_PAGE: 'RECORD_PAGE' as const,
DASHBOARD: 'DASHBOARD' as const,
STANDALONE_PAGE: 'STANDALONE_PAGE' as const
DASHBOARD: 'DASHBOARD' as const
}
export const enumBillingPlanKey = {
@@ -9452,8 +9440,7 @@ export const enumNavigationMenuItemType = {
FOLDER: 'FOLDER' as const,
LINK: 'LINK' as const,
OBJECT: 'OBJECT' as const,
RECORD: 'RECORD' as const,
PAGE_LAYOUT: 'PAGE_LAYOUT' as const
RECORD: 'RECORD' as const
}
export const enumMetadataEventAction = {
@@ -9691,7 +9678,6 @@ export const enumEngineComponentKey = {
export const enumCommandMenuItemAvailabilityType = {
GLOBAL: 'GLOBAL' as const,
GLOBAL_OBJECT_CONTEXT: 'GLOBAL_OBJECT_CONTEXT' as const,
RECORD_SELECTION: 'RECORD_SELECTION' as const,
FALLBACK: 'FALLBACK' as const
}
@@ -89,9 +89,9 @@ export default {
380,
387,
418,
500,
505,
506
499,
504,
505
],
"types": {
"BillingProductDTO": {
@@ -1675,6 +1675,9 @@ export default {
"defaultRole": [
29
],
"version": [
1
],
"fastModel": [
1
],
@@ -3056,9 +3059,6 @@ export default {
"folderId": [
3
],
"pageLayoutId": [
3
],
"position": [
11
],
@@ -5170,9 +5170,6 @@ export default {
]
},
"PlaceDetailsResult": {
"street": [
1
],
"state": [
1
],
@@ -7166,15 +7163,6 @@ export default {
]
}
],
"findOneAdminApplicationRegistration": [
7,
{
"id": [
1,
"String!"
]
}
],
"getUsageAnalytics": [
283,
{
@@ -8103,15 +8091,6 @@ export default {
]
}
],
"resetPageLayoutToDefault": [
114,
{
"id": [
1,
"String!"
]
}
],
"resetPageLayoutWidgetToDefault": [
75,
{
@@ -9068,15 +9047,6 @@ export default {
]
}
],
"updateWorkspaceMemberSettings": [
6,
{
"input": [
488,
"UpdateWorkspaceMemberSettingsInput!"
]
}
],
"updateUserEmail": [
6,
{
@@ -9106,7 +9076,7 @@ export default {
66,
{
"data": [
489,
488,
"ActivateWorkspaceInput!"
]
}
@@ -9115,7 +9085,7 @@ export default {
66,
{
"data": [
490,
489,
"UpdateWorkspaceInput!"
]
}
@@ -9130,7 +9100,7 @@ export default {
232,
{
"input": [
491,
490,
"SetupOIDCSsoInput!"
]
}
@@ -9139,7 +9109,7 @@ export default {
232,
{
"input": [
492,
491,
"SetupSAMLSsoInput!"
]
}
@@ -9148,7 +9118,7 @@ export default {
228,
{
"input": [
493,
492,
"DeleteSsoInput!"
]
}
@@ -9157,7 +9127,7 @@ export default {
229,
{
"input": [
494,
493,
"EditSsoInput!"
]
}
@@ -9179,7 +9149,7 @@ export default {
323,
{
"input": [
495,
494,
"SendEmailInput!"
]
}
@@ -9205,7 +9175,7 @@ export default {
"String!"
],
"connectionParameters": [
497,
496,
"EmailAccountConnectionParameters!"
],
"id": [
@@ -9217,7 +9187,7 @@ export default {
157,
{
"input": [
499,
498,
"UpdateLabPublicFeatureFlagInput!"
]
}
@@ -9295,7 +9265,7 @@ export default {
6,
{
"role": [
500,
499,
"AiModelRole!"
],
"modelId": [
@@ -9500,7 +9470,7 @@ export default {
68,
{
"input": [
501,
500,
"CreateOneAppTokenInput!"
]
}
@@ -9536,7 +9506,7 @@ export default {
6,
{
"workspaceMigration": [
503,
502,
"WorkspaceMigrationInput!"
]
}
@@ -9610,7 +9580,7 @@ export default {
"String!"
],
"fileFolder": [
506,
505,
"FileFolder!"
],
"filePath": [
@@ -9704,9 +9674,6 @@ export default {
"folderId": [
3
],
"pageLayoutId": [
3
],
"position": [
11
],
@@ -9744,9 +9711,6 @@ export default {
"color": [
1
],
"pageLayoutId": [
3
],
"__typename": [
1
]
@@ -11649,17 +11613,6 @@ export default {
1
]
},
"UpdateWorkspaceMemberSettingsInput": {
"workspaceMemberId": [
3
],
"update": [
15
],
"__typename": [
1
]
},
"ActivateWorkspaceInput": {
"displayName": [
1
@@ -11824,7 +11777,7 @@ export default {
1
],
"files": [
496
495
],
"__typename": [
1
@@ -11843,13 +11796,13 @@ export default {
},
"EmailAccountConnectionParameters": {
"IMAP": [
498
497
],
"SMTP": [
498
497
],
"CALDAV": [
498
497
],
"__typename": [
1
@@ -11889,7 +11842,7 @@ export default {
"AiModelRole": {},
"CreateOneAppTokenInput": {
"appToken": [
502
501
],
"__typename": [
1
@@ -11905,7 +11858,7 @@ export default {
},
"WorkspaceMigrationInput": {
"actions": [
504
503
],
"__typename": [
1
@@ -11913,7 +11866,7 @@ export default {
},
"WorkspaceMigrationDeleteActionInput": {
"type": [
505
504
],
"metadataName": [
355
@@ -11941,7 +11894,7 @@ export default {
260,
{
"input": [
508,
507,
"LogicFunctionLogsInput!"
]
}
@@ -220,7 +220,6 @@ The scaffolder already started a local Twenty server for you. To manage it later
|---------|-------------|
| `yarn twenty server start` | Start the local server (pulls image if needed) |
| `yarn twenty server start --port 3030` | Start on a custom port |
| `yarn twenty server start --test` | Start a separate test instance on port 2021 |
| `yarn twenty server stop` | Stop the server (preserves data) |
| `yarn twenty server status` | Show server status, URL, and credentials |
| `yarn twenty server logs` | Stream server logs |
@@ -229,20 +228,6 @@ The scaffolder already started a local Twenty server for you. To manage it later
Data is persisted across restarts in two Docker volumes (`twenty-app-dev-data` for PostgreSQL, `twenty-app-dev-storage` for files). Use `reset` to wipe everything and start fresh.
### Running a test instance
Pass `--test` to any `server` command to manage a second, fully isolated instance — useful for running integration tests or experimenting without touching your main dev data.
| Command | Description |
|---------|-------------|
| `yarn twenty server start --test` | Start the test instance (defaults to port 2021) |
| `yarn twenty server stop --test` | Stop the test instance |
| `yarn twenty server status --test` | Show test instance status, URL, and credentials |
| `yarn twenty server logs --test` | Stream test instance logs |
| `yarn twenty server reset --test` | Wipe test data and start fresh |
The test instance runs in its own Docker container (`twenty-app-dev-test`) with dedicated volumes (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) and config, so it can run in parallel with your main instance without conflicts. Combine `--test` with `--port` to override the default 2021.
<Note>
The server requires **Docker** to be running. If you see a "Docker not running" error, make sure Docker Desktop (or the Docker daemon) is started.
</Note>
@@ -80,57 +80,6 @@ Pre-release tags work as expected: bumping `1.0.0-rc.1` → `1.0.0-rc.2` is allo
{/* TODO: add screenshot of the Upgrade button */}
## Automated CI/CD (scaffolded workflows)
Apps generated with `create-twenty-app` ship with two GitHub Actions workflows out of the box, under `.github/workflows/`. They are ready to run as soon as you push the repo to GitHub — no extra setup is needed for CI, and CD only requires a single secret.
### CI — `ci.yml`
Runs integration tests on every push to `main` and every pull request.
**What it does:**
1. Checks out your app's source.
2. Spawns an isolated Twenty test instance using the `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` composite action (the CI equivalent of `yarn twenty server start --test`).
3. Enables Corepack, sets up Node.js from your `.nvmrc`, and installs dependencies with `yarn install --immutable`.
4. Runs `yarn test`, passing `TWENTY_API_URL` and `TWENTY_API_KEY` from the spawned instance so your tests can talk to a real server.
**Config knobs:**
- `TWENTY_VERSION` (env, defaults to `latest`) — pin the Twenty server version used in CI by editing this in `ci.yml`.
- Concurrency is grouped by `github.ref` and cancels in-progress runs on new pushes.
No secrets are required — the test instance is ephemeral and lives only for the duration of the job.
### CD — `cd.yml`
Deploys your app to a configured Twenty server on every push to `main`, and optionally from a pull request when the `deploy` label is applied.
**What it does:**
1. Checks out the PR head (for labeled PRs) or the pushed commit.
2. Runs `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — the CI equivalent of `yarn twenty deploy`.
3. Runs `twentyhq/twenty/.github/actions/install-twenty-app@main` so the newly deployed version is installed into the target workspace.
**Required configuration:**
| Setting | Where | Purpose |
|---------|-------|---------|
| `TWENTY_DEPLOY_URL` | `env` in `cd.yml` (defaults to `http://localhost:3000`) | The Twenty server to deploy to. Change this to your real server URL before first use. |
| `TWENTY_DEPLOY_API_KEY` | GitHub repo **Settings → Secrets and variables → Actions** | API key with deploy permission on the target server. |
<Note>
The default `TWENTY_DEPLOY_URL` of `http://localhost:3000` is a placeholder — it will not reach anything from a GitHub-hosted runner. Update it to your server's public URL (or use a self-hosted runner with network access) before enabling CD.
</Note>
**Triggering a preview deploy from a PR:**
Add the `deploy` label to a pull request. The `if:` guard in `cd.yml` will run the job for that PR using the PR's head commit, letting you validate a change on the target server before merging.
### Pinning the reusable actions
Both workflows reference reusable actions at `@main`, so action updates in the `twentyhq/twenty` repo are picked up automatically. If you want deterministic builds, replace `@main` with a commit SHA or release tag on each `uses:` line.
## Publishing to npm
Publishing to npm makes your app discoverable in the Twenty marketplace. Any Twenty workspace can browse, install, and upgrade marketplace apps directly from the UI.
@@ -220,7 +220,6 @@ npx create-twenty-app@latest my-twenty-app --example postcard
| -------------------------------------- | --------------------------------------------- |
| `yarn twenty server start` | بدء الخادم المحلي (يسحب الصورة إذا لزم الأمر) |
| `yarn twenty server start --port 3030` | ابدأ على منفذ مخصّص |
| `yarn twenty server start --test` | ابدأ مثيل اختبار منفصل على المنفذ 2021 |
| `yarn twenty server stop` | إيقاف الخادم (مع الحفاظ على البيانات) |
| `yarn twenty server status` | عرض حالة الخادم، وعنوان URL، وبيانات الاعتماد |
| `yarn twenty server logs` | بث سجلات الخادم |
@@ -229,20 +228,6 @@ npx create-twenty-app@latest my-twenty-app --example postcard
يتم الاحتفاظ بالبيانات عبر عمليات إعادة التشغيل في وحدتي تخزين Docker (`twenty-app-dev-data` لـ PostgreSQL، و`twenty-app-dev-storage` للملفات). استخدم `reset` لمسح كل شيء والبدء من جديد.
### تشغيل مثيل الاختبار
مرر `--test` إلى أي أمر `server` لإدارة مثيل ثانٍ معزول تمامًا — مفيد لتشغيل اختبارات التكامل أو للتجربة من دون لمس بيانات التطوير الرئيسية لديك.
| أمر | الوصف |
| ---------------------------------- | ---------------------------------------------------- |
| `yarn twenty server start --test` | بدء مثيل الاختبار (المنفذ الافتراضي 2021) |
| `yarn twenty server stop --test` | إيقاف مثيل الاختبار |
| `yarn twenty server status --test` | عرض حالة مثيل الاختبار، وعنوان URL، وبيانات الاعتماد |
| `yarn twenty server logs --test` | بث سجلات مثيل الاختبار |
| `yarn twenty server reset --test` | محو بيانات الاختبار والبدء من جديد |
يعمل مثيل الاختبار في حاوية Docker خاصة به (`twenty-app-dev-test`) مع وحدات تخزين مخصصة (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) وتهيئة مستقلة، بحيث يمكنه العمل بالتوازي مع مثيلك الرئيسي من دون تعارضات. اجمع `--test` مع `--port` لتجاوز القيمة الافتراضية 2021.
<Note>
يتطلّب الخادم أن يكون **Docker** قيد التشغيل. إذا ظهرت لك رسالة خطأ "Docker not running"، فتأكّد من تشغيل Docker Desktop (أو خادوم Docker).
</Note>
@@ -80,57 +80,6 @@ yarn twenty deploy
{/* TODO: add screenshot of the Upgrade button */}
## CI/CD المؤتمتة (مهام سير عمل مُولَّدة بالقوالب)
التطبيقات المُولَّدة باستخدام `create-twenty-app` تأتي افتراضيًا مع مهمَّتي سير عمل من GitHub Actions ضمن `.github/workflows/`. هي جاهزة للتشغيل بمجرد دفع المستودع إلى GitHub — لا حاجة لأي إعداد إضافي لـ CI، وCD يتطلّب سرًّا واحدًا فقط.
### CI — `ci.yml`
يشغّل اختبارات التكامل عند كل دفع إلى `main` وعند كل طلب سحب.
**ماذا يفعل:**
1. يجلب مصدر تطبيقك.
2. ينشئ مثيلاً اختبارياً معزولاً من Twenty باستخدام الإجراء المركّب `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (المكافئ في CI للأمر `yarn twenty server start --test`).
3. يُفعِّل Corepack، ويُعدّ Node.js من ملف `.nvmrc` لديك، ويثبّت التبعيات بواسطة `yarn install --immutable`.
4. يشغّل `yarn test`، ويمرّر `TWENTY_API_URL` و`TWENTY_API_KEY` من المثيل الذي تم إنشاؤه بحيث تتمكّن اختباراتك من التواصل مع خادم حقيقي.
**خيارات التكوين:**
* `TWENTY_VERSION` (متغيّر بيئة، القيمة الافتراضية `latest`) — ثبّت نسخة خادم Twenty المستخدمة في CI عبر تعديل هذا في `ci.yml`.
* يتم تجميع التشغيل المتزامن حسب `github.ref` ويلغي التشغيلات قيد التقدّم عند أي دفع جديد.
لا تتطلّب أي أسرار — مثيل الاختبار مؤقّت ويستمر فقط طوال مدّة المهمّة.
### CD — `cd.yml`
ينشر تطبيقك إلى خادم Twenty مُهيّأ عند كل دفع إلى `main`، وبشكل اختياري من طلب سحب عند تطبيق الوسم `deploy`.
**ماذا يفعل:**
1. يجلب رأس طلب السحب (للطلبات الموسومة) أو الالتزام المدفوع.
2. يشغّل `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — وهو المكافئ في CI للأمر `yarn twenty deploy`.
3. يشغّل `twentyhq/twenty/.github/actions/install-twenty-app@main` بحيث تُثبَّت النسخة المُنشَرة حديثًا في مساحة العمل المستهدفة.
**التكوين المطلوب:**
| الإعداد | حيث | الغرض |
| ----------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `TWENTY_DEPLOY_URL` | `env` في `cd.yml` (القيمة الافتراضية `http://localhost:3000`) | خادم Twenty الذي سيتم النشر إليه. غيّر هذا إلى عنوان URL لخادمك الحقيقي قبل أول استخدام. |
| `TWENTY_DEPLOY_API_KEY` | في مستودع GitHub **Settings → Secrets and variables → Actions** | مفتاح API يمتلك إذن النشر على الخادم المستهدف. |
<Note>
القيمة الافتراضية لـ `TWENTY_DEPLOY_URL` وهي `http://localhost:3000` مجرد عنصر نائب — لن تصل إلى أي شيء من مُشغِّل مستضاف لدى GitHub. حدّثها إلى عنوان URL العام لخادمك (أو استخدم مُشغِّلًا مستضافًا ذاتيًا مع وصول شبكي) قبل تمكين CD.
</Note>
**تشغيل نشر معاينة من طلب سحب:**
أضِف الوسم `deploy` إلى طلب سحب. الشرط `if:` في `cd.yml` سيشغّل المهمّة لذلك الطلب مستخدمًا التزام رأس الطلب، مما يتيح لك التحقّق من التغيير على الخادم المستهدف قبل الدمج.
### تثبيت الإجراءات القابلة لإعادة الاستخدام
يشير كلا سيرَي العمل إلى إجراءات قابلة لإعادة الاستخدام عند `@main`، لذا تُلتقط تحديثات الإجراءات في مستودع `twentyhq/twenty` تلقائيًا. إذا كنت تريد بناءات حتمية، فاستبدِل `@main` بقيمة SHA لالتزام أو بوسم إصدار في كل سطر `uses:`.
## النشر على npm
يُتيح النشر على npm إمكانية العثور على تطبيقك في سوق Twenty. يمكن لأي مساحة عمل في Twenty استعراض تطبيقات السوق وتثبيتها وترقيتها مباشرةً من واجهة المستخدم.
@@ -220,7 +220,6 @@ Nástroj pro vytvoření kostry vám již spustil lokální server Twenty. Pro j
| -------------------------------------- | ------------------------------------------------------ |
| `yarn twenty server start` | Spustí lokální server (v případě potřeby stáhne image) |
| `yarn twenty server start --port 3030` | Spustí na vlastním portu |
| `yarn twenty server start --test` | Spusťte samostatnou testovací instanci na portu 2021 |
| `yarn twenty server stop` | Zastaví server (zachová data) |
| `yarn twenty server status` | Zobrazí stav serveru, URL a přihlašovací údaje |
| `yarn twenty server logs` | Streamuje protokoly serveru |
@@ -229,20 +228,6 @@ Nástroj pro vytvoření kostry vám již spustil lokální server Twenty. Pro j
Data přetrvávají při restartech ve dvou svazcích Dockeru (`twenty-app-dev-data` pro PostgreSQL, `twenty-app-dev-storage` pro soubory). Pomocí `reset` vymažte vše a začněte znovu.
### Spuštění testovací instance
Předejte volbu `--test` libovolnému příkazu `server` pro správu druhé, plně izolované instance — užitečné pro spouštění integračních testů nebo experimentování, aniž byste se dotkli svých hlavních vývojových dat.
| Příkaz | Popis |
| ---------------------------------- | --------------------------------------------------------- |
| `yarn twenty server start --test` | Spustí testovací instanci (výchozí port je 2021) |
| `yarn twenty server stop --test` | Zastaví testovací instanci |
| `yarn twenty server status --test` | Zobrazí stav testovací instance, URL a přihlašovací údaje |
| `yarn twenty server logs --test` | Streamuje protokoly testovací instance |
| `yarn twenty server reset --test` | Vymaže testovací data a začne znovu |
Testovací instance běží ve vlastním kontejneru Docker (`twenty-app-dev-test`) s vyhrazenými svazky (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) a konfigurací, takže může běžet paralelně s vaší hlavní instancí bez konfliktů. Zkombinujte `--test` s `--port` pro změnu výchozího portu 2021.
<Note>
Server vyžaduje, aby **Docker** běžel. Pokud vidíte chybu "Docker not running", ujistěte se, že je spuštěný Docker Desktop (nebo démon Dockeru).
</Note>
@@ -80,57 +80,6 @@ Předběžné tagy fungují podle očekávání: zvýšení z `1.0.0-rc.1` → `
{/* TODO: add screenshot of the Upgrade button */}
## Automatizované CI/CD (předpřipravené workflowy)
Aplikace vygenerované pomocí `create-twenty-app` jsou hned připravené se dvěma workflowy GitHub Actions ve složce `.github/workflows/`. Jsou připravené ke spuštění hned, jakmile repozitář pushnete na GitHub — pro CI není potřeba žádné další nastavení a CD vyžaduje pouze jeden secret.
### CI — `ci.yml`
Automaticky spouští integrační testy při každém pushi do `main` a u pull requestů.
**K čemu slouží:**
1. Provede checkout zdrojového kódu vaší aplikace.
2. Spustí izolovanou testovací instanci Twenty pomocí složené akce `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (ekvivalent v CI k `yarn twenty server start --test`).
3. Povolí Corepack, nastaví Node.js podle vašeho `.nvmrc` a nainstaluje závislosti pomocí `yarn install --immutable`.
4. Spustí `yarn test` a předá `TWENTY_API_URL` a `TWENTY_API_KEY` ze spuštěné instance, aby vaše testy mohly komunikovat se skutečným serverem.
**Konfigurační volby:**
* `TWENTY_VERSION` (env, výchozí hodnota `latest`) — uzamkněte v CI používanou verzi serveru Twenty úpravou této hodnoty v `ci.yml`.
* Souběžné běhy jsou seskupeny podle `github.ref` a při nových pushích ruší právě probíhající běhy.
Nejsou potřeba žádné secrety — testovací instance je efemérní a existuje pouze po dobu běhu úlohy.
### CD — `cd.yml`
Nasazuje vaši aplikaci na nakonfigurovaný server Twenty při každém pushi do `main` a volitelně také z pull requestu, pokud je přidán štítek `deploy`.
**K čemu slouží:**
1. Provede checkout headu PR (u označených PR) nebo pushnutého commitu.
2. Spustí `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — ekvivalent v CI k `yarn twenty deploy`.
3. Spustí `twentyhq/twenty/.github/actions/install-twenty-app@main`, aby se nově nasazená verze nainstalovala do cílového workspace.
**Požadovaná konfigurace:**
| Nastavení | Kde | Účel |
| ----------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `TWENTY_DEPLOY_URL` | `env` v `cd.yml` (výchozí `http://localhost:3000`) | Server Twenty, na který se nasazuje. Před prvním použitím to změňte na skutečnou URL vašeho serveru. |
| `TWENTY_DEPLOY_API_KEY` | GitHub repozitář **Settings → Secrets and variables → Actions** | API klíč s oprávněním k nasazení na cílovém serveru. |
<Note>
Výchozí `TWENTY_DEPLOY_URL` `http://localhost:3000` je pouze zástupná hodnota — z runneru hostovaného GitHubem tato adresa nebude dosažitelná. Před povolením CD ji aktualizujte na veřejnou URL vašeho serveru (nebo použijte self-hosted runner s přístupem do sítě).
</Note>
**Spuštění náhledového nasazení z PR:**
Přidejte k pull requestu štítek `deploy`. Podmínka `if:` v `cd.yml` spustí úlohu pro dané PR s použitím head commitu PR, což vám umožní ověřit změnu na cílovém serveru před sloučením.
### Připnutí verzí znovupoužitelných akcí
Obě workflowy odkazují na znovupoužitelné akce na `@main`, takže aktualizace akcí v repozitáři `twentyhq/twenty` se přeberou automaticky. Pokud chcete deterministická sestavení, nahraďte `@main` v každém řádku `uses:` za commit SHA nebo tag vydání.
## Publikování na npm
Publikování na npm zajistí, že bude vaše aplikace dohledatelná v Marketplace Twenty. Jakýkoli pracovní prostor Twenty může procházet, instalovat a aktualizovat aplikace z Marketplace přímo z UI.
@@ -220,7 +220,6 @@ Der Scaffolder hat bereits einen lokalen Twenty-Server für Sie gestartet. Um ih
| -------------------------------------- | ----------------------------------------------------------- |
| `yarn twenty server start` | Lokalen Server starten (lädt das Image bei Bedarf herunter) |
| `yarn twenty server start --port 3030` | Auf einem benutzerdefinierten Port starten |
| `yarn twenty server start --test` | Starten Sie eine separate Testinstanz auf Port 2021 |
| `yarn twenty server stop` | Server stoppen (Daten bleiben erhalten) |
| `yarn twenty server status` | Serverstatus, URL und Anmeldedaten anzeigen |
| `yarn twenty server logs` | Serverprotokolle streamen |
@@ -229,20 +228,6 @@ Der Scaffolder hat bereits einen lokalen Twenty-Server für Sie gestartet. Um ih
Daten bleiben über Neustarts hinweg in zwei Docker-Volumes bestehen (`twenty-app-dev-data` für PostgreSQL, `twenty-app-dev-storage` für Dateien). Verwenden Sie `reset`, um alles zu löschen und neu zu beginnen.
### Eine Testinstanz ausführen
Übergeben Sie `--test` an jeden `server`-Befehl, um eine zweite, vollständig isolierte Instanz zu verwalten — nützlich, um Integrationstests auszuführen oder zu experimentieren, ohne Ihre Hauptentwicklungsdaten anzutasten.
| Befehl | Beschreibung |
| ---------------------------------- | ----------------------------------------------------- |
| `yarn twenty server start --test` | Die Testinstanz starten (standardmäßig Port 2021) |
| `yarn twenty server stop --test` | Die Testinstanz stoppen |
| `yarn twenty server status --test` | Status, URL und Anmeldedaten der Testinstanz anzeigen |
| `yarn twenty server logs --test` | Protokolle der Testinstanz streamen |
| `yarn twenty server reset --test` | Alle Testdaten löschen und neu starten |
Die Testinstanz läuft in einem eigenen Docker-Container (`twenty-app-dev-test`) mit dedizierten Volumes (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) und eigener Konfiguration, sodass sie parallel zu Ihrer Hauptinstanz ohne Konflikte ausgeführt werden kann. Kombinieren Sie `--test` mit `--port`, um den Standardport 2021 zu überschreiben.
<Note>
Der Server erfordert, dass **Docker** läuft. Wenn der Fehler "Docker not running" angezeigt wird, stellen Sie sicher, dass Docker Desktop (oder der Docker-Daemon) gestartet ist.
</Note>
@@ -80,57 +80,6 @@ Pre-Release-Tags funktionieren wie erwartet: Das Erhöhen von `1.0.0-rc.1` → `
{/* TODO: add screenshot of the Upgrade button */}
## Automatisiertes CI/CD (vorgefertigte Workflows)
Apps, die mit `create-twenty-app` erzeugt wurden, enthalten von Haus aus zwei GitHub-Actions-Workflows unter `.github/workflows/`. Sie sind einsatzbereit, sobald Sie das Repository zu GitHub pushen — für CI ist keine zusätzliche Einrichtung erforderlich, und für CD ist nur ein einziges Secret nötig.
### CI — `ci.yml`
Führt Ihre Integrationstests bei jedem Push auf `main` und bei Pull Requests aus.
**Was sie macht:**
1. Checkt den Quellcode Ihrer App aus.
2. Startet eine isolierte Twenty-Testinstanz mithilfe der Composite-Action `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (das CI-Äquivalent zu `yarn twenty server start --test`).
3. Aktiviert Corepack, richtet Node.js anhand Ihrer `.nvmrc` ein und installiert Abhängigkeiten mit `yarn install --immutable`.
4. Führt `yarn test` aus und übergibt `TWENTY_API_URL` und `TWENTY_API_KEY` aus der gestarteten Instanz, damit Ihre Tests mit einem echten Server kommunizieren können.
**Konfigurationsoptionen:**
* `TWENTY_VERSION` (env, standardmäßig `latest`) — fixieren Sie die in CI verwendete Twenty-Server-Version, indem Sie dies in `ci.yml` anpassen.
* Die Parallelität wird nach `github.ref` gruppiert und bricht laufende Ausführungen bei neuen Pushes ab.
Es sind keine Secrets erforderlich — die Testinstanz ist flüchtig und existiert nur für die Dauer des Jobs.
### CD — `cd.yml`
Stellt Ihre App bei jedem Push auf `main` auf einem konfigurierten Twenty-Server bereit und optional aus einem Pull Request, wenn das Label `deploy` gesetzt ist.
**Was sie macht:**
1. Checkt den PR-Head (bei PRs mit Label) oder den gepushten Commit aus.
2. Führt `twentyhq/twenty/.github/actions/deploy-twenty-app@main` aus — das CI-Äquivalent zu `yarn twenty deploy`.
3. Führt `twentyhq/twenty/.github/actions/install-twenty-app@main` aus, damit die neu bereitgestellte Version in den Ziel-Workspace installiert wird.
**Erforderliche Konfiguration:**
| Einstellung | Wo | Zweck |
| ----------------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `TWENTY_DEPLOY_URL` | `env` in `cd.yml` (standardmäßig `http://localhost:3000`) | Der Twenty-Server, auf den bereitgestellt werden soll. Ändern Sie dies vor der ersten Verwendung auf die echte Server-URL. |
| `TWENTY_DEPLOY_API_KEY` | GitHub-Repository **Settings → Secrets and variables → Actions** | API-Schlüssel mit Berechtigung zum Bereitstellen auf dem Zielserver. |
<Note>
Der Standardwert von `TWENTY_DEPLOY_URL` (`http://localhost:3000`) ist ein Platzhalter — von einem GitHub-gehosteten Runner ist er nicht erreichbar. Aktualisieren Sie sie auf die öffentliche URL Ihres Servers (oder verwenden Sie einen selbstgehosteten Runner mit Netzwerkzugriff), bevor Sie CD aktivieren.
</Note>
**Eine Vorschau-Bereitstellung aus einem PR auslösen:**
Fügen Sie einem Pull Request das Label `deploy` hinzu. Die `if:`-Bedingung in `cd.yml` führt den Job für diesen PR mit dem Head-Commit des PR aus, sodass Sie eine Änderung auf dem Zielserver vor dem Mergen validieren können.
### Fixieren der wiederverwendbaren Actions
Beide Workflows verweisen auf wiederverwendbare Actions mit `@main`, sodass Aktualisierungen der Actions im Repository `twentyhq/twenty` automatisch übernommen werden. Wenn Sie deterministische Builds möchten, ersetzen Sie `@main` in jeder `uses:`-Zeile durch eine Commit-SHA oder einen Release-Tag.
## Auf npm veröffentlichen
Die Veröffentlichung auf npm macht Ihre App im Twenty-Marktplatz auffindbar. Jeder Twenty-Arbeitsbereich kann Marktplatz-Apps direkt über die Benutzeroberfläche durchsuchen, installieren und aktualisieren.
@@ -220,7 +220,6 @@ Lo scaffolder ha già avviato per te un server Twenty locale. Per gestirlo in se
| -------------------------------------- | --------------------------------------------------------- |
| `yarn twenty server start` | Avvia il server locale (scarica l'immagine se necessario) |
| `yarn twenty server start --port 3030` | Avvia su una porta personalizzata |
| `yarn twenty server start --test` | Avvia un'istanza di test separata sulla porta 2021 |
| `yarn twenty server stop` | Arresta il server (conserva i dati) |
| `yarn twenty server status` | Mostra stato del server, URL e credenziali |
| `yarn twenty server logs` | Trasmetti in streaming i log del server |
@@ -229,20 +228,6 @@ Lo scaffolder ha già avviato per te un server Twenty locale. Per gestirlo in se
I dati vengono mantenuti tra i riavvii in due volumi Docker (`twenty-app-dev-data` per PostgreSQL, `twenty-app-dev-storage` per i file). Usa `reset` per cancellare tutto e ripartire da zero.
### Esecuzione di un'istanza di test
Passa `--test` a qualsiasi comando `server` per gestire una seconda istanza completamente isolata — utile per eseguire test di integrazione o per sperimentare senza toccare i tuoi dati di sviluppo principali.
| Comando | Descrizione |
| ---------------------------------- | ------------------------------------------------------------------------ |
| `yarn twenty server start --test` | Avvia l'istanza di test (per impostazione predefinita usa la porta 2021) |
| `yarn twenty server stop --test` | Arresta l'istanza di test |
| `yarn twenty server status --test` | Mostra stato, URL e credenziali dell'istanza di test |
| `yarn twenty server logs --test` | Trasmetti in streaming i log dell'istanza di test |
| `yarn twenty server reset --test` | Cancella i dati di test e riparti da zero |
L'istanza di test viene eseguita nel proprio container Docker (`twenty-app-dev-test`) con volumi dedicati (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) e configurazione dedicata, così può essere eseguita in parallelo con la tua istanza principale senza conflitti. Combina `--test` con `--port` per sovrascrivere il valore predefinito 2021.
<Note>
Il server richiede che **Docker** sia in esecuzione. Se vedi l'errore "Docker not running", assicurati che Docker Desktop (o il demone Docker) sia avviato.
</Note>
@@ -80,57 +80,6 @@ I tag di pre-release funzionano come previsto: incrementare `1.0.0-rc.1` → `1.
{/* TODO: add screenshot of the Upgrade button */}
## CI/CD automatizzati (workflow preconfigurati)
Le app generate con `create-twenty-app` includono due workflow di GitHub Actions pronti all'uso, nella cartella `.github/workflows/`. Sono pronti all'esecuzione non appena esegui il push del repository su GitHub — non è necessaria alcuna configurazione aggiuntiva per la CI e la CD richiede solo un singolo secret.
### CI — `ci.yml`
Esegue automaticamente i test di integrazione a ogni push su `main` e sulle pull request.
**Cosa fa:**
1. Esegue il checkout del codice sorgente della tua app.
2. Avvia un'istanza di test isolata di Twenty utilizzando l'azione composita `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (l'equivalente per la CI di `yarn twenty server start --test`).
3. Abilita Corepack, configura Node.js dal tuo `.nvmrc` e installa le dipendenze con `yarn install --immutable`.
4. Esegue `yarn test`, passando `TWENTY_API_URL` e `TWENTY_API_KEY` dall'istanza avviata affinché i tuoi test possano comunicare con un server reale.
**Opzioni di configurazione:**
* `TWENTY_VERSION` (variabile di ambiente, predefinito `latest`) — fissa la versione del server Twenty usata nella CI modificando questo valore in `ci.yml`.
* La concorrenza è raggruppata per `github.ref` e annulla le esecuzioni in corso in caso di nuovi push.
Non sono necessari Secrets — l'istanza di test è effimera ed esiste solo per la durata del job.
### CD — `cd.yml`
Esegue il deploy della tua app su un server Twenty configurato a ogni push su `main` e, facoltativamente, da una pull request quando viene applicata l'etichetta `deploy`.
**Cosa fa:**
1. Esegue il checkout della testa della PR (per le PR etichettate) oppure del commit inviato.
2. Esegue `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — l'equivalente per la CI di `yarn twenty deploy`.
3. Esegue `twentyhq/twenty/.github/actions/install-twenty-app@main` in modo che la versione appena distribuita venga installata nello spazio di lavoro di destinazione.
**Configurazione richiesta:**
| Impostazione | Dove | Scopo |
| ----------------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `TWENTY_DEPLOY_URL` | `env` in `cd.yml` (predefinito `http://localhost:3000`) | Il server Twenty su cui effettuare il deploy. Modificalo con l'URL reale del tuo server prima del primo utilizzo. |
| `TWENTY_DEPLOY_API_KEY` | Repository GitHub **Settings → Secrets and variables → Actions** | Chiave API con autorizzazione di deploy sul server di destinazione. |
<Note>
Il valore predefinito di `TWENTY_DEPLOY_URL`, `http://localhost:3000`, è un segnaposto — non raggiungerà alcuna risorsa da un runner ospitato su GitHub. Aggiornalo all'URL pubblico del tuo server (oppure usa un runner self-hosted con accesso di rete) prima di abilitare il CD.
</Note>
**Attivare un deploy di anteprima da una PR:**
Aggiungi l'etichetta `deploy` a una pull request. La condizione `if:` in `cd.yml` eseguirà il job per quella PR utilizzando il commit di testa della PR, permettendoti di convalidare una modifica sul server di destinazione prima del merge.
### Bloccare le azioni riutilizzabili
Entrambi i workflow fanno riferimento ad azioni riutilizzabili a `@main`, quindi gli aggiornamenti delle azioni nel repository `twentyhq/twenty` vengono recepiti automaticamente. Se desideri build deterministiche, sostituisci `@main` con uno SHA di commit o un tag di release in ciascuna riga `uses:`.
## Pubblicazione su npm
La pubblicazione su npm rende la tua app scopribile nel marketplace di Twenty. Qualsiasi spazio di lavoro Twenty può sfogliare, installare e aggiornare le app del marketplace direttamente dall'interfaccia utente.
@@ -220,7 +220,6 @@ A ferramenta de scaffolding já iniciou um servidor local do Twenty para você.
| -------------------------------------- | ------------------------------------------------------ |
| `yarn twenty server start` | Inicia o servidor local (baixa a imagem se necessário) |
| `yarn twenty server start --port 3030` | Iniciar em uma porta personalizada |
| `yarn twenty server start --test` | Inicie uma instância de teste separada na porta 2021 |
| `yarn twenty server stop` | Interrompe o servidor (preserva os dados) |
| `yarn twenty server status` | Mostra o status do servidor, a URL e as credenciais |
| `yarn twenty server logs` | Transmite os logs do servidor |
@@ -229,20 +228,6 @@ A ferramenta de scaffolding já iniciou um servidor local do Twenty para você.
Os dados são persistidos entre reinicializações em dois volumes do Docker (`twenty-app-dev-data` para PostgreSQL, `twenty-app-dev-storage` para arquivos). Use `reset` para apagar tudo e começar do zero.
### Executando uma instância de teste
Passe `--test` para qualquer comando de `server` para gerenciar uma segunda instância totalmente isolada — útil para executar testes de integração ou experimentar sem tocar nos seus dados principais de desenvolvimento.
| Comando | Descrição |
| ---------------------------------- | ------------------------------------------------------------- |
| `yarn twenty server start --test` | Inicia a instância de teste (padrão: porta 2021) |
| `yarn twenty server stop --test` | Interrompe a instância de teste |
| `yarn twenty server status --test` | Mostra o status da instância de teste, a URL e as credenciais |
| `yarn twenty server logs --test` | Transmite os logs da instância de teste |
| `yarn twenty server reset --test` | Exclui os dados de teste e inicia do zero |
A instância de teste é executada em seu próprio contêiner Docker (`twenty-app-dev-test`) com volumes dedicados (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) e configuração própria, para que possa ser executada em paralelo com sua instância principal sem conflitos. Combine `--test` com `--port` para substituir a porta padrão 2021.
<Note>
O servidor requer que o **Docker** esteja em execução. Se você vir um erro "Docker not running", certifique-se de que o Docker Desktop (ou o daemon do Docker) esteja iniciado.
</Note>
@@ -80,57 +80,6 @@ Tags de pré-lançamento funcionam como esperado: incrementar `1.0.0-rc.1` → `
{/* TODO: add screenshot of the Upgrade button */}
## CI/CD automatizado (fluxos de trabalho pré-configurados)
Os apps gerados com `create-twenty-app` já vêm com dois fluxos de trabalho do GitHub Actions prontos, em `.github/workflows/`. Eles estão prontos para executar assim que você fizer push do repositório para o GitHub — nenhuma configuração extra é necessária para CI, e CD requer apenas um único segredo.
### CI — `ci.yml`
Executa testes de integração a cada push para `main` e a cada pull request.
**O que faz:**
1. Faz checkout do código-fonte do seu app.
2. Inicia uma instância de teste do Twenty isolada usando a ação composta `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (o equivalente em CI de `yarn twenty server start --test`).
3. Habilita o Corepack, configura o Node.js a partir do seu `.nvmrc` e instala as dependências com `yarn install --immutable`.
4. Executa `yarn test`, passando `TWENTY_API_URL` e `TWENTY_API_KEY` da instância iniciada para que seus testes possam se comunicar com um servidor real.
**Opções de configuração:**
* `TWENTY_VERSION` (env, padrão `latest`) — fixe a versão do servidor Twenty usada no CI editando isto em `ci.yml`.
* A concorrência é agrupada por `github.ref` e cancela execuções em andamento quando há novos pushes.
Nenhum segredo é necessário — a instância de teste é efêmera e existe apenas durante a execução do job.
### CD — `cd.yml`
Faz o deploy do seu app para um servidor Twenty configurado a cada push para `main` e, opcionalmente, a partir de um pull request quando o rótulo `deploy` é aplicado.
**O que faz:**
1. Faz checkout do head do PR (para PRs rotulados) ou do commit enviado.
2. Executa `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — o equivalente em CI de `yarn twenty deploy`.
3. Executa `twentyhq/twenty/.github/actions/install-twenty-app@main` para que a versão recém-implantada seja instalada no workspace de destino.
**Configuração obrigatória:**
| Configuração | Onde | Finalidade |
| ----------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `TWENTY_DEPLOY_URL` | `env` em `cd.yml` (padrão `http://localhost:3000`) | O servidor Twenty para o qual fazer o deploy. Altere isto para a URL real do seu servidor antes do primeiro uso. |
| `TWENTY_DEPLOY_API_KEY` | Repositório do GitHub **Settings → Secrets and variables → Actions** | Chave de API com permissão de deploy no servidor de destino. |
<Note>
O `TWENTY_DEPLOY_URL` padrão de `http://localhost:3000` é um placeholder — ele não alcançará nada a partir de um runner hospedado pelo GitHub. Atualize-o para a URL pública do seu servidor (ou use um runner self-hosted com acesso à rede) antes de habilitar o CD.
</Note>
**Acionando um deploy de pré-visualização a partir de um PR:**
Adicione o rótulo `deploy` a um pull request. A condição `if:` em `cd.yml` executará o job para esse PR usando o commit HEAD do PR, permitindo que você valide uma alteração no servidor de destino antes de fazer o merge.
### Fixando as ações reutilizáveis
Ambos os fluxos de trabalho fazem referência a ações reutilizáveis em `@main`, portanto as atualizações de ações no repositório `twentyhq/twenty` são aplicadas automaticamente. Se você quiser builds determinísticos, substitua `@main` por um SHA de commit ou uma tag de release em cada linha `uses:`.
## Publicação no npm
Publicar no npm torna seu aplicativo descobrível no Marketplace da Twenty. Qualquer espaço de trabalho da Twenty pode navegar, instalar e atualizar aplicativos do Marketplace diretamente pela UI.
@@ -220,7 +220,6 @@ npx create-twenty-app@latest my-twenty-app --example postcard
| -------------------------------------- | -------------------------------------------------------------- |
| `yarn twenty server start` | Запустить локальный сервер (при необходимости скачивает образ) |
| `yarn twenty server start --port 3030` | Запустить на пользовательском порту |
| `yarn twenty server start --test` | Запускает отдельный тестовый экземпляр на порту 2021 |
| `yarn twenty server stop` | Остановить сервер (данные сохраняются) |
| `yarn twenty server status` | Показать состояние сервера, URL и учётные данные |
| `yarn twenty server logs` | Потоковый вывод журналов сервера |
@@ -229,20 +228,6 @@ npx create-twenty-app@latest my-twenty-app --example postcard
Данные сохраняются между перезапусками в двух томах Docker (`twenty-app-dev-data` для PostgreSQL, `twenty-app-dev-storage` для файлов). Используйте `reset`, чтобы стереть всё и начать заново.
### Запуск тестового экземпляра
Передайте `--test` любой команде `server`, чтобы управлять вторым, полностью изолированным экземпляром — это полезно для запуска интеграционных тестов или экспериментов, не затрагивая ваши основные данные разработки.
| Команда | Описание |
| ---------------------------------- | ------------------------------------------------------------- |
| `yarn twenty server start --test` | Запустить тестовый экземпляр (по умолчанию — порт 2021) |
| `yarn twenty server stop --test` | Остановить тестовый экземпляр |
| `yarn twenty server status --test` | Показать состояние тестового экземпляра, URL и учётные данные |
| `yarn twenty server logs --test` | Выводить журналы тестового экземпляра в потоковом режиме |
| `yarn twenty server reset --test` | Удалить тестовые данные и начать с чистого листа |
Тестовый экземпляр запускается в собственном контейнере Docker (`twenty-app-dev-test`) с выделенными томами (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) и собственной конфигурацией, поэтому он может работать параллельно с вашим основным экземпляром без конфликтов. Совместите `--test` с `--port`, чтобы переопределить значение по умолчанию (2021).
<Note>
Для работы сервера необходимо, чтобы **Docker** был запущен. Если вы видите ошибку "Docker not running", убедитесь, что запущен Docker Desktop (или демон Docker).
</Note>
@@ -80,57 +80,6 @@ When updating an already deployed tarball app, the server requires the `version`
{/* TODO: add screenshot of the Upgrade button */}
## Автоматизированный CI/CD (рабочие процессы, сгенерированные шаблоном)
Приложения, созданные с помощью `create-twenty-app`, «из коробки» включают два рабочих процесса GitHub Actions в каталоге `.github/workflows/`. Они готовы к запуску, как только вы запушите репозиторий на GitHub — для CI не требуется дополнительной настройки, а для CD нужен лишь один секрет.
### CI — `ci.yml`
Автоматически запускает интеграционные тесты при каждом пуше в `main` и для каждого pull request.
**Что делает:**
1. Извлекает исходный код вашего приложения.
2. Запускает изолированный тестовый экземпляр Twenty с помощью составного действия `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` (эквивалент для CI `yarn twenty server start --test`).
3. Включает Corepack, настраивает Node.js на основе вашего `.nvmrc` и устанавливает зависимости с помощью `yarn install --immutable`.
4. Запускает `yarn test`, передавая `TWENTY_API_URL` и `TWENTY_API_KEY` из запущенного экземпляра, чтобы ваши тесты могли взаимодействовать с реальным сервером.
**Параметры конфигурации:**
* `TWENTY_VERSION` (переменная окружения, по умолчанию `latest`) — зафиксируйте версию сервера Twenty, используемую в CI, отредактировав это значение в `ci.yml`.
* Параллельные запуски группируются по `github.ref` и отменяют выполняющиеся прогоны при новых пушах.
Секреты не требуются — тестовый экземпляр эфемерен и существует только на время выполнения задания.
### CD — `cd.yml`
Разворачивает ваше приложение на настроенном сервере Twenty при каждом пуше в `main` и, при необходимости, из pull request при наличии метки `deploy`.
**Что делает:**
1. Извлекает head-коммит PR (для PR с меткой) или запушенный коммит.
2. Запускает `twentyhq/twenty/.github/actions/deploy-twenty-app@main` — эквивалент для CI `yarn twenty deploy`.
3. Запускает `twentyhq/twenty/.github/actions/install-twenty-app@main`, чтобы новая развернутая версия была установлена в целевое рабочее пространство.
**Обязательная конфигурация:**
| Настройка | Где | Назначение |
| ----------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `TWENTY_DEPLOY_URL` | `env` в `cd.yml` (по умолчанию `http://localhost:3000`) | Сервер Twenty, на который выполняется деплой. Перед первым использованием замените это на URL вашего реального сервера. |
| `TWENTY_DEPLOY_API_KEY` | В репозитории GitHub — **Settings → Secrets and variables → Actions** | Ключ API с правом деплоя на целевом сервере. |
<Note>
Значение `TWENTY_DEPLOY_URL` по умолчанию — `http://localhost:3000` — это заглушка: с хостируемого GitHub раннера к ней не будет доступа. Перед включением CD замените его на публичный URL вашего сервера (или используйте self-hosted раннер с сетевым доступом).
</Note>
**Запуск предварительного деплоя из PR:**
Добавьте к pull request метку `deploy`. Условие `if:` в `cd.yml` запустит задачу для этого PR, используя его head-коммит, что позволит проверить изменение на целевом сервере до слияния.
### Закрепление версий повторно используемых действий
Оба рабочих процесса ссылаются на повторно используемые действия с указанием `@main`, поэтому обновления действий в репозитории `twentyhq/twenty` подхватываются автоматически. Если вам нужны детерминированные сборки, замените `@main` на SHA коммита или тег релиза в каждой строке `uses:`.
## Публикация в npm
Публикация в npm делает ваше приложение видимым в маркетплейсе Twenty. Любое рабочее пространство Twenty может просматривать, устанавливать и обновлять приложения из маркетплейса непосредственно из интерфейса.
@@ -216,33 +216,18 @@ npx create-twenty-app@latest my-twenty-app --example postcard
İskelet oluşturucu sizin için zaten yerel bir Twenty sunucusu başlattı. Daha sonra yönetmek için `yarn twenty server` komutunu kullanın:
| Komut | Açıklama |
| -------------------------------------- | --------------------------------------------------------------- |
| `yarn twenty server start` | Yerel sunucuyu başlatır (gerekirse imajı çeker) |
| `yarn twenty server start --port 3030` | Özel bir portta başlatır |
| `yarn twenty server start --test` | 2021 numaralı bağlantı noktasında ayrı bir test örneği başlatın |
| `yarn twenty server stop` | Sunucuyu durdurur (verileri korur) |
| `yarn twenty server status` | Sunucu durumunu, URL'yi ve kimlik bilgilerini gösterir |
| `yarn twenty server logs` | Sunucu günlüklerini akış olarak iletir |
| `yarn twenty server logs --lines 100` | Son 100 günlük satırını gösterir |
| `yarn twenty server reset` | Tüm verileri siler ve sıfırdan başlatır |
| Komut | Açıklama |
| -------------------------------------- | ------------------------------------------------------ |
| `yarn twenty server start` | Yerel sunucuyu başlatır (gerekirse imajı çeker) |
| `yarn twenty server start --port 3030` | Özel bir portta başlatır |
| `yarn twenty server stop` | Sunucuyu durdurur (verileri korur) |
| `yarn twenty server status` | Sunucu durumunu, URL'yi ve kimlik bilgilerini gösterir |
| `yarn twenty server logs` | Sunucu günlüklerini akış olarak iletir |
| `yarn twenty server logs --lines 100` | Son 100 günlük satırını gösterir |
| `yarn twenty server reset` | Tüm verileri siler ve sıfırdan başlatır |
Veriler, yeniden başlatmalar arasında iki Docker biriminde kalıcıdır (PostgreSQL için `twenty-app-dev-data`, dosyalar için `twenty-app-dev-storage`). Her şeyi silip baştan başlamak için `reset` kullanın.
### Test örneği çalıştırma
`server` komutlarının herhangi birine `--test` parametresini vererek ikinci, tamamen yalıtılmış bir örneği yönetin — entegrasyon testlerini çalıştırmak veya ana geliştirme verilerinize dokunmadan denemeler yapmak için kullanışlıdır.
| Komut | Açıklama |
| ---------------------------------- | -------------------------------------------------------------- |
| `yarn twenty server start --test` | Test örneğini başlatır (varsayılan bağlantı noktası 2021'dir) |
| `yarn twenty server stop --test` | Test örneğini durdurur |
| `yarn twenty server status --test` | Test örneğinin durumunu, URL'yi ve kimlik bilgilerini gösterir |
| `yarn twenty server logs --test` | Test örneği günlüklerini akış olarak iletir |
| `yarn twenty server reset --test` | Test verilerini siler ve sıfırdan başlatır |
Test örneği, kendine ait bir Docker konteynerinde (`twenty-app-dev-test`), ayrılmış birimlerle (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) ve yapılandırmayla çalışır; böylece ana örneğinizle çakışma olmadan paralel olarak çalışabilir. Varsayılan 2021'i geçersiz kılmak için `--test` ile `--port`'u birlikte kullanın.
<Note>
Sunucunun çalışması için **Docker**'ın çalışıyor olması gerekir. "Docker not running" hatası görürseniz Docker Desktop'ın (veya Docker daemon'ının) başlatıldığından emin olun.
</Note>
@@ -80,57 +80,6 @@ Bir güncelleme yayımlamak için:
{/* TODO: add screenshot of the Upgrade button */}
## Otomatik CI/CD (hazır şablonlu iş akışları)
`create-twenty-app` ile oluşturulan uygulamalar, kutudan çıktığı gibi `.github/workflows/` altında iki GitHub Actions iş akışıyla gelir. Depoyu GitHuba iter itmez çalışmaya hazırdır — CI için ek bir kurulum gerekmez ve CD yalnızca tek bir gizli anahtar gerektirir.
### CI — `ci.yml`
Entegrasyon testlerini `main` dalına yapılan her itmede ve her çekme isteğinde otomatik olarak çalıştırır.
**Ne yapar:**
1. Uygulamanızın kaynak kodunu alır.
2. `twentyhq/twenty/.github/actions/spawn-twenty-app-dev-test@main` bileşik eylemini kullanarak yalıtılmış bir Twenty test örneği başlatır (CI'daki `yarn twenty server start --test` eşdeğeri).
3. Corepacki etkinleştirir, `.nvmrc` dosyanızdan Node.js'i kurar ve bağımlılıkları `yarn install --immutable` ile yükler.
4. Oluşturulan örnekten `TWENTY_API_URL` ve `TWENTY_API_KEY` değerlerini aktararak `yarn test`i çalıştırır; böylece testleriniz gerçek bir sunucuyla haberleşebilir.
**Yapılandırma seçenekleri:**
* `TWENTY_VERSION` (ortam, varsayılanı `latest`) — CIda kullanılan Twenty sunucu sürümünü `ci.yml` içinde bunu düzenleyerek sabitleyin.
* Eşzamanlılık `github.ref` bazında gruplanır ve yeni itmelerde devam eden çalışmaları iptal eder.
Gizli anahtar gerekmez — test örneği geçicidir ve yalnızca iş süresi boyunca çalışır.
### CD — `cd.yml`
`main` dalına yapılan her itmede uygulamanızı yapılandırılmış bir Twenty sunucusuna dağıtır ve isteğe bağlı olarak `deploy` etiketi uygulandığında bir çekme isteğinden de dağıtım yapar.
**Ne yapar:**
1. Etiketli PR'ler için PR'in head commit'ini ya da itilen commit'i alır.
2. `twentyhq/twenty/.github/actions/deploy-twenty-app@main` çalıştırır — `yarn twenty deploy` komutunun CI eşdeğeridir.
3. `twentyhq/twenty/.github/actions/install-twenty-app@main` eylemini çalıştırır; böylece yeni dağıtılan sürüm hedef çalışma alanına kurulur.
**Gerekli yapılandırma:**
| Ayar | Koşul | Amaç |
| ----------------------- | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- |
| `TWENTY_DEPLOY_URL` | `cd.yml` içinde `env` (varsayılan: `http://localhost:3000`) | Dağıtımın yapılacağı Twenty sunucusu. İlk kullanımdan önce bunu gerçek sunucu URL'nizle değiştirin. |
| `TWENTY_DEPLOY_API_KEY` | GitHub deposu **Settings → Secrets and variables → Actions** | Hedef sunucuda dağıtım iznine sahip API anahtarı. |
<Note>
Varsayılan `TWENTY_DEPLOY_URL` olan `http://localhost:3000` bir yer tutucudur — GitHub barındırmalı bir çalıştırıcıdan hiçbir yere erişemez. CD'yi etkinleştirmeden önce bunu sunucunuzun genel URL'siyle güncelleyin (veya ağ erişimi olan öz barındırılan bir çalıştırıcı kullanın).
</Note>
**Bir PR'den bir önizleme dağıtımını tetikleme:**
Bir çekme isteğine `deploy` etiketini ekleyin. `cd.yml` içindeki `if:` koruması, ilgili PR için işi PR'in head commit'ini kullanarak çalıştırır; böylece birleştirmeden önce hedef sunucuda değişikliği doğrulayabilirsiniz.
### Yeniden kullanılabilir eylemleri sabitleme
Her iki iş akışı da `@main` üzerindeki yeniden kullanılabilir eylemlere başvurur; bu nedenle `twentyhq/twenty` deposundaki eylem güncellemeleri otomatik olarak alınır. Deterministik derlemeler istiyorsanız, her `uses:` satırında `@main` ifadesini bir commit SHA'sı veya sürüm etiketiyle değiştirin.
## npmye yayımlama
npmye yayımlamak, uygulamanızın Twenty pazaryerinde keşfedilebilir olmasını sağlar. Herhangi bir Twenty çalışma alanı, pazaryeri uygulamalarına doğrudan arayüzden göz atabilir, yükleyebilir ve güncelleyebilir.
@@ -45,7 +45,7 @@ const getHtmlElementSchemas = (): ComponentSchema[] => {
events: element.events
? [...COMMON_HTML_EVENTS, ...element.events]
: COMMON_HTML_EVENTS,
htmlTag: element.htmlTag ?? extractHtmlTag(element.tag),
htmlTag: extractHtmlTag(element.tag),
}));
};
@@ -12,7 +12,6 @@ export const HtmlElementConfigZ = z.object({
.regex(/^Html[A-Z]/, 'Name must be PascalCase starting with Html'),
properties: z.record(z.string(), PropertySchemaZ),
events: z.array(z.string()).optional(),
htmlTag: z.string().optional(),
});
export const HtmlElementConfigArrayZ = z.array(HtmlElementConfigZ);
@@ -1,12 +1,13 @@
import { type PropertySchema } from './PropertySchema';
import { SVG_PRESENTATION_PROPERTIES } from './SvgPresentationProperties';
type PropertySchema = {
type: 'string' | 'number' | 'boolean';
optional: boolean;
};
export type AllowedHtmlElement = {
tag: string;
name: string;
properties: Record<string, PropertySchema>;
events?: string[];
htmlTag?: string;
};
export const ALLOWED_HTML_ELEMENTS: AllowedHtmlElement[] = [
@@ -248,421 +249,4 @@ export const ALLOWED_HTML_ELEMENTS: AllowedHtmlElement[] = [
height: { type: 'number', optional: true },
},
},
// Semantic inline text
{ tag: 'html-b', name: 'HtmlB', properties: {} },
{ tag: 'html-i', name: 'HtmlI', properties: {} },
{ tag: 'html-u', name: 'HtmlU', properties: {} },
{ tag: 'html-s', name: 'HtmlS', properties: {} },
{ tag: 'html-mark', name: 'HtmlMark', properties: {} },
{ tag: 'html-sub', name: 'HtmlSub', properties: {} },
{ tag: 'html-sup', name: 'HtmlSup', properties: {} },
{ tag: 'html-abbr', name: 'HtmlAbbr', properties: {} },
{ tag: 'html-cite', name: 'HtmlCite', properties: {} },
{ tag: 'html-kbd', name: 'HtmlKbd', properties: {} },
{ tag: 'html-samp', name: 'HtmlSamp', properties: {} },
{ tag: 'html-var', name: 'HtmlVar', properties: {} },
{ tag: 'html-dfn', name: 'HtmlDfn', properties: {} },
{ tag: 'html-bdi', name: 'HtmlBdi', properties: {} },
{
tag: 'html-bdo',
name: 'HtmlBdo',
properties: {
dir: { type: 'string', optional: true },
},
},
{
tag: 'html-data',
name: 'HtmlData',
properties: {
value: { type: 'string', optional: true },
},
},
// Edited/annotated text
{
tag: 'html-del',
name: 'HtmlDel',
properties: {
cite: { type: 'string', optional: true },
dateTime: { type: 'string', optional: true },
},
},
{
tag: 'html-ins',
name: 'HtmlIns',
properties: {
cite: { type: 'string', optional: true },
dateTime: { type: 'string', optional: true },
},
},
{
tag: 'html-q',
name: 'HtmlQ',
properties: {
cite: { type: 'string', optional: true },
},
},
{
tag: 'html-time',
name: 'HtmlTime',
properties: {
dateTime: { type: 'string', optional: true },
},
},
// Ruby annotations
{ tag: 'html-ruby', name: 'HtmlRuby', properties: {} },
{ tag: 'html-rt', name: 'HtmlRt', properties: {} },
{ tag: 'html-rp', name: 'HtmlRp', properties: {} },
// Description lists
{ tag: 'html-dl', name: 'HtmlDl', properties: {} },
{ tag: 'html-dt', name: 'HtmlDt', properties: {} },
{ tag: 'html-dd', name: 'HtmlDd', properties: {} },
// Structural/semantic
{ tag: 'html-figure', name: 'HtmlFigure', properties: {} },
{ tag: 'html-figcaption', name: 'HtmlFigcaption', properties: {} },
{
tag: 'html-details',
name: 'HtmlDetails',
properties: {
open: { type: 'boolean', optional: true },
},
},
{ tag: 'html-summary', name: 'HtmlSummary', properties: {} },
{ tag: 'html-address', name: 'HtmlAddress', properties: {} },
{
tag: 'html-dialog',
name: 'HtmlDialog',
properties: {
open: { type: 'boolean', optional: true },
},
},
{ tag: 'html-hgroup', name: 'HtmlHgroup', properties: {} },
{ tag: 'html-search', name: 'HtmlSearch', properties: {} },
// Table additions
{ tag: 'html-caption', name: 'HtmlCaption', properties: {} },
{
tag: 'html-colgroup',
name: 'HtmlColgroup',
properties: {
span: { type: 'number', optional: true },
},
},
{
tag: 'html-col',
name: 'HtmlCol',
properties: {
span: { type: 'number', optional: true },
},
},
// Form additions
{
tag: 'html-fieldset',
name: 'HtmlFieldset',
properties: {
disabled: { type: 'boolean', optional: true },
name: { type: 'string', optional: true },
},
},
{ tag: 'html-legend', name: 'HtmlLegend', properties: {} },
{
tag: 'html-output',
name: 'HtmlOutput',
properties: {
name: { type: 'string', optional: true },
htmlFor: { type: 'string', optional: true },
},
},
{
tag: 'html-progress',
name: 'HtmlProgress',
properties: {
value: { type: 'number', optional: true },
max: { type: 'number', optional: true },
},
},
{
tag: 'html-meter',
name: 'HtmlMeter',
properties: {
value: { type: 'number', optional: true },
min: { type: 'number', optional: true },
max: { type: 'number', optional: true },
low: { type: 'number', optional: true },
high: { type: 'number', optional: true },
optimum: { type: 'number', optional: true },
},
},
{
tag: 'html-optgroup',
name: 'HtmlOptgroup',
properties: {
label: { type: 'string', optional: true },
disabled: { type: 'boolean', optional: true },
},
},
{ tag: 'html-datalist', name: 'HtmlDatalist', properties: {} },
// Media additions
{ tag: 'html-picture', name: 'HtmlPicture', properties: {} },
{
tag: 'html-track',
name: 'HtmlTrack',
properties: {
src: { type: 'string', optional: true },
kind: { type: 'string', optional: true },
srclang: { type: 'string', optional: true },
label: { type: 'string', optional: true },
default: { type: 'boolean', optional: true },
},
},
// Miscellaneous
{ tag: 'html-wbr', name: 'HtmlWbr', properties: {} },
{ tag: 'html-menu', name: 'HtmlMenu', properties: {} },
// SVG container/structural
{
tag: 'html-svg',
name: 'HtmlSvg',
properties: {
...SVG_PRESENTATION_PROPERTIES,
viewBox: { type: 'string', optional: true },
xmlns: { type: 'string', optional: true },
width: { type: 'string', optional: true },
height: { type: 'string', optional: true },
preserveAspectRatio: { type: 'string', optional: true },
},
},
{
tag: 'html-g',
name: 'HtmlG',
properties: {
...SVG_PRESENTATION_PROPERTIES,
},
},
{ tag: 'html-defs', name: 'HtmlDefs', properties: {} },
{
tag: 'html-symbol',
name: 'HtmlSymbol',
properties: {
viewBox: { type: 'string', optional: true },
},
},
{
tag: 'html-use',
name: 'HtmlUse',
properties: {
href: { type: 'string', optional: true },
x: { type: 'string', optional: true },
y: { type: 'string', optional: true },
width: { type: 'string', optional: true },
height: { type: 'string', optional: true },
},
},
{
tag: 'html-clippath',
name: 'HtmlClipPath',
htmlTag: 'clipPath',
properties: {
clipPathUnits: { type: 'string', optional: true },
},
},
{
tag: 'html-mask',
name: 'HtmlMask',
properties: {
maskUnits: { type: 'string', optional: true },
},
},
// SVG shapes
{
tag: 'html-circle',
name: 'HtmlCircle',
properties: {
...SVG_PRESENTATION_PROPERTIES,
cx: { type: 'string', optional: true },
cy: { type: 'string', optional: true },
r: { type: 'string', optional: true },
},
},
{
tag: 'html-ellipse',
name: 'HtmlEllipse',
properties: {
...SVG_PRESENTATION_PROPERTIES,
cx: { type: 'string', optional: true },
cy: { type: 'string', optional: true },
rx: { type: 'string', optional: true },
ry: { type: 'string', optional: true },
},
},
{
tag: 'html-rect',
name: 'HtmlRect',
properties: {
...SVG_PRESENTATION_PROPERTIES,
x: { type: 'string', optional: true },
y: { type: 'string', optional: true },
width: { type: 'string', optional: true },
height: { type: 'string', optional: true },
rx: { type: 'string', optional: true },
ry: { type: 'string', optional: true },
},
},
{
tag: 'html-line',
name: 'HtmlLine',
properties: {
...SVG_PRESENTATION_PROPERTIES,
x1: { type: 'string', optional: true },
y1: { type: 'string', optional: true },
x2: { type: 'string', optional: true },
y2: { type: 'string', optional: true },
},
},
{
tag: 'html-path',
name: 'HtmlPath',
properties: {
...SVG_PRESENTATION_PROPERTIES,
d: { type: 'string', optional: true },
},
},
{
tag: 'html-polygon',
name: 'HtmlPolygon',
properties: {
...SVG_PRESENTATION_PROPERTIES,
points: { type: 'string', optional: true },
},
},
{
tag: 'html-polyline',
name: 'HtmlPolyline',
properties: {
...SVG_PRESENTATION_PROPERTIES,
points: { type: 'string', optional: true },
},
},
// SVG text
{
tag: 'html-text',
name: 'HtmlText',
properties: {
...SVG_PRESENTATION_PROPERTIES,
x: { type: 'string', optional: true },
y: { type: 'string', optional: true },
dx: { type: 'string', optional: true },
dy: { type: 'string', optional: true },
textAnchor: { type: 'string', optional: true },
dominantBaseline: { type: 'string', optional: true },
},
},
{
tag: 'html-tspan',
name: 'HtmlTspan',
properties: {
...SVG_PRESENTATION_PROPERTIES,
x: { type: 'string', optional: true },
y: { type: 'string', optional: true },
dx: { type: 'string', optional: true },
dy: { type: 'string', optional: true },
},
},
// SVG gradients/patterns
{
tag: 'html-lineargradient',
name: 'HtmlLinearGradient',
htmlTag: 'linearGradient',
properties: {
x1: { type: 'string', optional: true },
y1: { type: 'string', optional: true },
x2: { type: 'string', optional: true },
y2: { type: 'string', optional: true },
gradientUnits: { type: 'string', optional: true },
gradientTransform: { type: 'string', optional: true },
},
},
{
tag: 'html-radialgradient',
name: 'HtmlRadialGradient',
htmlTag: 'radialGradient',
properties: {
cx: { type: 'string', optional: true },
cy: { type: 'string', optional: true },
r: { type: 'string', optional: true },
fx: { type: 'string', optional: true },
fy: { type: 'string', optional: true },
gradientUnits: { type: 'string', optional: true },
gradientTransform: { type: 'string', optional: true },
},
},
{
tag: 'html-stop',
name: 'HtmlStop',
properties: {
offset: { type: 'string', optional: true },
stopColor: { type: 'string', optional: true },
stopOpacity: { type: 'string', optional: true },
},
},
{
tag: 'html-pattern',
name: 'HtmlPattern',
properties: {
x: { type: 'string', optional: true },
y: { type: 'string', optional: true },
width: { type: 'string', optional: true },
height: { type: 'string', optional: true },
patternUnits: { type: 'string', optional: true },
patternTransform: { type: 'string', optional: true },
},
},
// SVG other
{
tag: 'html-image',
name: 'HtmlImage',
properties: {
href: { type: 'string', optional: true },
x: { type: 'string', optional: true },
y: { type: 'string', optional: true },
width: { type: 'string', optional: true },
height: { type: 'string', optional: true },
preserveAspectRatio: { type: 'string', optional: true },
},
},
{
tag: 'html-foreignobject',
name: 'HtmlForeignObject',
htmlTag: 'foreignObject',
properties: {
x: { type: 'string', optional: true },
y: { type: 'string', optional: true },
width: { type: 'string', optional: true },
height: { type: 'string', optional: true },
},
},
{
tag: 'html-marker',
name: 'HtmlMarker',
properties: {
markerWidth: { type: 'string', optional: true },
markerHeight: { type: 'string', optional: true },
refX: { type: 'string', optional: true },
refY: { type: 'string', optional: true },
orient: { type: 'string', optional: true },
markerUnits: { type: 'string', optional: true },
},
},
{ tag: 'html-title', name: 'HtmlTitle', properties: {} },
];
@@ -4,29 +4,24 @@ const UTILITY_TAG_MAPPINGS: Record<string, string> = {
'remote-style': 'RemoteStyle',
};
const getHostTagName = (element: (typeof ALLOWED_HTML_ELEMENTS)[number]) =>
element.htmlTag ??
(element.tag.startsWith('html-') ? element.tag.slice(5) : element.tag);
export const HTML_TAG_TO_REMOTE_COMPONENT: Record<string, string> = {
...Object.fromEntries(
ALLOWED_HTML_ELEMENTS.map((element) => [
getHostTagName(element),
element.tag.startsWith('html-') ? element.tag.slice(5) : element.tag,
element.name,
]),
),
...UTILITY_TAG_MAPPINGS,
};
// Maps standard HTML/SVG tag names to their custom element equivalents
// used by the remote DOM polyfill (e.g. "div" → "html-div",
// "clipPath" → "html-clippath").
// Maps standard HTML tag names to their custom element equivalents
// used by the remote DOM polyfill (e.g. "div" → "html-div").
// Consumed by the jsx-runtime wrapper so React creates the correct
// custom elements instead of standard HTML/SVG tags.
// custom elements instead of standard HTML tags.
export const HTML_TAG_TO_CUSTOM_ELEMENT_TAG: Record<string, string> = {
...Object.fromEntries(
ALLOWED_HTML_ELEMENTS.map((element) => [
getHostTagName(element),
element.tag.startsWith('html-') ? element.tag.slice(5) : element.tag,
element.tag,
]),
),
@@ -1,22 +0,0 @@
import { type PropertySchema } from './PropertySchema';
export const SVG_PRESENTATION_PROPERTIES: Record<string, PropertySchema> = {
fill: { type: 'string', optional: true },
fillOpacity: { type: 'string', optional: true },
fillRule: { type: 'string', optional: true },
stroke: { type: 'string', optional: true },
strokeWidth: { type: 'string', optional: true },
strokeOpacity: { type: 'string', optional: true },
strokeLinecap: { type: 'string', optional: true },
strokeLinejoin: { type: 'string', optional: true },
strokeDasharray: { type: 'string', optional: true },
strokeDashoffset: { type: 'string', optional: true },
strokeMiterlimit: { type: 'string', optional: true },
opacity: { type: 'string', optional: true },
transform: { type: 'string', optional: true },
clipPath: { type: 'string', optional: true },
clipRule: { type: 'string', optional: true },
mask: { type: 'string', optional: true },
filter: { type: 'string', optional: true },
pointerEvents: { type: 'string', optional: true },
};
@@ -92,162 +92,6 @@ export const componentRegistry: Map<string, ComponentRegistryValue> = new Map([
'html-source',
createRemoteComponentRenderer(createHtmlHostWrapper('source')),
],
['html-b', createRemoteComponentRenderer(createHtmlHostWrapper('b'))],
['html-i', createRemoteComponentRenderer(createHtmlHostWrapper('i'))],
['html-u', createRemoteComponentRenderer(createHtmlHostWrapper('u'))],
['html-s', createRemoteComponentRenderer(createHtmlHostWrapper('s'))],
['html-mark', createRemoteComponentRenderer(createHtmlHostWrapper('mark'))],
['html-sub', createRemoteComponentRenderer(createHtmlHostWrapper('sub'))],
['html-sup', createRemoteComponentRenderer(createHtmlHostWrapper('sup'))],
['html-abbr', createRemoteComponentRenderer(createHtmlHostWrapper('abbr'))],
['html-cite', createRemoteComponentRenderer(createHtmlHostWrapper('cite'))],
['html-kbd', createRemoteComponentRenderer(createHtmlHostWrapper('kbd'))],
['html-samp', createRemoteComponentRenderer(createHtmlHostWrapper('samp'))],
['html-var', createRemoteComponentRenderer(createHtmlHostWrapper('var'))],
['html-dfn', createRemoteComponentRenderer(createHtmlHostWrapper('dfn'))],
['html-bdi', createRemoteComponentRenderer(createHtmlHostWrapper('bdi'))],
['html-bdo', createRemoteComponentRenderer(createHtmlHostWrapper('bdo'))],
['html-data', createRemoteComponentRenderer(createHtmlHostWrapper('data'))],
['html-del', createRemoteComponentRenderer(createHtmlHostWrapper('del'))],
['html-ins', createRemoteComponentRenderer(createHtmlHostWrapper('ins'))],
['html-q', createRemoteComponentRenderer(createHtmlHostWrapper('q'))],
['html-time', createRemoteComponentRenderer(createHtmlHostWrapper('time'))],
['html-ruby', createRemoteComponentRenderer(createHtmlHostWrapper('ruby'))],
['html-rt', createRemoteComponentRenderer(createHtmlHostWrapper('rt'))],
['html-rp', createRemoteComponentRenderer(createHtmlHostWrapper('rp'))],
['html-dl', createRemoteComponentRenderer(createHtmlHostWrapper('dl'))],
['html-dt', createRemoteComponentRenderer(createHtmlHostWrapper('dt'))],
['html-dd', createRemoteComponentRenderer(createHtmlHostWrapper('dd'))],
[
'html-figure',
createRemoteComponentRenderer(createHtmlHostWrapper('figure')),
],
[
'html-figcaption',
createRemoteComponentRenderer(createHtmlHostWrapper('figcaption')),
],
[
'html-details',
createRemoteComponentRenderer(createHtmlHostWrapper('details')),
],
[
'html-summary',
createRemoteComponentRenderer(createHtmlHostWrapper('summary')),
],
[
'html-address',
createRemoteComponentRenderer(createHtmlHostWrapper('address')),
],
[
'html-dialog',
createRemoteComponentRenderer(createHtmlHostWrapper('dialog')),
],
[
'html-hgroup',
createRemoteComponentRenderer(createHtmlHostWrapper('hgroup')),
],
[
'html-search',
createRemoteComponentRenderer(createHtmlHostWrapper('search')),
],
[
'html-caption',
createRemoteComponentRenderer(createHtmlHostWrapper('caption')),
],
[
'html-colgroup',
createRemoteComponentRenderer(createHtmlHostWrapper('colgroup')),
],
['html-col', createRemoteComponentRenderer(createHtmlHostWrapper('col'))],
[
'html-fieldset',
createRemoteComponentRenderer(createHtmlHostWrapper('fieldset')),
],
[
'html-legend',
createRemoteComponentRenderer(createHtmlHostWrapper('legend')),
],
[
'html-output',
createRemoteComponentRenderer(createHtmlHostWrapper('output')),
],
[
'html-progress',
createRemoteComponentRenderer(createHtmlHostWrapper('progress')),
],
['html-meter', createRemoteComponentRenderer(createHtmlHostWrapper('meter'))],
[
'html-optgroup',
createRemoteComponentRenderer(createHtmlHostWrapper('optgroup')),
],
[
'html-datalist',
createRemoteComponentRenderer(createHtmlHostWrapper('datalist')),
],
[
'html-picture',
createRemoteComponentRenderer(createHtmlHostWrapper('picture')),
],
['html-track', createRemoteComponentRenderer(createHtmlHostWrapper('track'))],
['html-wbr', createRemoteComponentRenderer(createHtmlHostWrapper('wbr'))],
['html-menu', createRemoteComponentRenderer(createHtmlHostWrapper('menu'))],
['html-svg', createRemoteComponentRenderer(createHtmlHostWrapper('svg'))],
['html-g', createRemoteComponentRenderer(createHtmlHostWrapper('g'))],
['html-defs', createRemoteComponentRenderer(createHtmlHostWrapper('defs'))],
[
'html-symbol',
createRemoteComponentRenderer(createHtmlHostWrapper('symbol')),
],
['html-use', createRemoteComponentRenderer(createHtmlHostWrapper('use'))],
[
'html-clippath',
createRemoteComponentRenderer(createHtmlHostWrapper('clipPath')),
],
['html-mask', createRemoteComponentRenderer(createHtmlHostWrapper('mask'))],
[
'html-circle',
createRemoteComponentRenderer(createHtmlHostWrapper('circle')),
],
[
'html-ellipse',
createRemoteComponentRenderer(createHtmlHostWrapper('ellipse')),
],
['html-rect', createRemoteComponentRenderer(createHtmlHostWrapper('rect'))],
['html-line', createRemoteComponentRenderer(createHtmlHostWrapper('line'))],
['html-path', createRemoteComponentRenderer(createHtmlHostWrapper('path'))],
[
'html-polygon',
createRemoteComponentRenderer(createHtmlHostWrapper('polygon')),
],
[
'html-polyline',
createRemoteComponentRenderer(createHtmlHostWrapper('polyline')),
],
['html-text', createRemoteComponentRenderer(createHtmlHostWrapper('text'))],
['html-tspan', createRemoteComponentRenderer(createHtmlHostWrapper('tspan'))],
[
'html-lineargradient',
createRemoteComponentRenderer(createHtmlHostWrapper('linearGradient')),
],
[
'html-radialgradient',
createRemoteComponentRenderer(createHtmlHostWrapper('radialGradient')),
],
['html-stop', createRemoteComponentRenderer(createHtmlHostWrapper('stop'))],
[
'html-pattern',
createRemoteComponentRenderer(createHtmlHostWrapper('pattern')),
],
['html-image', createRemoteComponentRenderer(createHtmlHostWrapper('image'))],
[
'html-foreignobject',
createRemoteComponentRenderer(createHtmlHostWrapper('foreignObject')),
],
[
'html-marker',
createRemoteComponentRenderer(createHtmlHostWrapper('marker')),
],
['html-title', createRemoteComponentRenderer(createHtmlHostWrapper('title'))],
['remote-style', createRemoteComponentRenderer(RemoteStyleRenderer)],
['remote-fragment', RemoteFragmentRenderer],
]);
@@ -13,14 +13,14 @@ const EVENT_NAME_MAP: Record<string, string> = Object.fromEntries(
);
const VOID_ELEMENTS = new Set([
'area',
'base',
'input',
'br',
'col',
'embed',
'hr',
'img',
'input',
'area',
'base',
'col',
'embed',
'link',
'meta',
'source',
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -2,13 +2,12 @@ import { useHasAccessTokenPair } from '@/auth/hooks/useHasAccessTokenPair';
import { useDefaultHomePagePath } from '@/navigation/hooks/useDefaultHomePagePath';
import { useOnboardingStatus } from '@/onboarding/hooks/useOnboardingStatus';
import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo';
import { useQuery } from '@apollo/client/react';
import { useParams } from 'react-router-dom';
import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue';
import { AppPath, SettingsPath } from 'twenty-shared/types';
import { getSettingsPath } from 'twenty-shared/utils';
import { OnboardingStatus, PageLayoutType } from '~/generated-metadata/graphql';
import { OnboardingStatus } from '~/generated-metadata/graphql';
import { useIsCurrentLocationOnAWorkspace } from '@/domain-manager/hooks/useIsCurrentLocationOnAWorkspace';
import { usePageChangeEffectNavigateLocation } from '~/hooks/usePageChangeEffectNavigateLocation';
@@ -59,23 +58,11 @@ const setupMockIsOnAWorkspace = (isOnAWorkspace: boolean) => {
});
};
jest.mock('@apollo/client/react');
const setupMockUseQuery = (result?: { data?: unknown; loading?: boolean }) => {
jest.mocked(useQuery).mockReturnValueOnce({
data: result?.data ?? undefined,
loading: result?.loading ?? false,
} as ReturnType<typeof useQuery>);
};
jest.mock('react-router-dom');
const setupMockUseParams = (
objectNamePlural?: string,
pageLayoutId?: string,
) => {
jest.mocked(useParams).mockReturnValueOnce({
objectNamePlural: objectNamePlural ?? '',
pageLayoutId,
});
const setupMockUseParams = (objectNamePlural?: string) => {
jest
.mocked(useParams)
.mockReturnValueOnce({ objectNamePlural: objectNamePlural ?? '' });
};
jest.mock('@/ui/utilities/state/jotai/hooks/useAtomStateValue');
@@ -105,8 +92,6 @@ const testCases: {
objectNamePluralFromMetadata?: string;
verifyEmailRedirectPath?: string;
returnToPath?: string;
pageLayoutId?: string;
useQueryResult?: { data?: unknown; loading?: boolean };
}[] = [
{ loc: AppPath.Verify, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.Verify, hasAccessTokenPair: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: getSettingsPath(SettingsPath.Billing) },
@@ -292,20 +277,6 @@ const testCases: {
{ loc: AppPath.RecordShowPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.BOOK_ONBOARDING, res: AppPath.BookCallDecision },
{ loc: AppPath.RecordShowPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: getSettingsPath(SettingsPath.Billing) },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.BOOK_ONBOARDING, res: AppPath.BookCallDecision },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined, pageLayoutId: 'valid-id', useQueryResult: { loading: true } },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: AppPath.NotFound, pageLayoutId: 'non-existent-id', useQueryResult: { data: { getPageLayout: null }, loading: false } },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: AppPath.NotFound, pageLayoutId: 'wrong-type-id', useQueryResult: { data: { getPageLayout: { type: PageLayoutType.RECORD_PAGE } }, loading: false } },
{ loc: AppPath.PageLayoutPage, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined, pageLayoutId: 'valid-standalone-id', useQueryResult: { data: { getPageLayout: { type: PageLayoutType.STANDALONE_PAGE } }, loading: false } },
{ loc: AppPath.SettingsCatchAll, hasAccessTokenPair: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.SettingsCatchAll, hasAccessTokenPair: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.SettingsCatchAll, hasAccessTokenPair: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
@@ -379,8 +350,6 @@ describe('usePageChangeEffectNavigateLocation', () => {
objectNamePluralFromMetadata,
verifyEmailRedirectPath,
returnToPath,
pageLayoutId,
useQueryResult,
res,
}) => {
setupMockIsMatchingLocation(loc);
@@ -388,8 +357,7 @@ describe('usePageChangeEffectNavigateLocation', () => {
setupMockIsWorkspaceActivationStatusEqualsTo(isWorkspaceSuspended);
setupMockHasAccessTokenPair(hasAccessTokenPair);
setupMockIsOnAWorkspace(isOnAWorkspace ?? true);
setupMockUseQuery(useQueryResult);
setupMockUseParams(objectNamePluralFromParams, pageLayoutId);
setupMockUseParams(objectNamePluralFromParams);
setupMockState(
objectNamePluralFromMetadata,
verifyEmailRedirectPath,
@@ -411,12 +379,6 @@ describe('usePageChangeEffectNavigateLocation', () => {
['nonExistingObjectInParam', 'existingObjectInParam:false'].length +
['caseWithRedirectionToVerifyEmailRedirectPath', 'caseWithout']
.length +
[
'pageLayout:loading',
'pageLayout:missing',
'pageLayout:wrongType',
'pageLayout:validStandalone',
].length +
['returnToPath:verify', 'returnToPath:signInUp', 'returnToPath:index']
.length +
['notOnWorkspace:verify', 'notOnWorkspace:signInUp'].length,
@@ -11,17 +11,12 @@ import { useOnboardingStatus } from '@/onboarding/hooks/useOnboardingStatus';
import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue';
import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo';
import { isValidReturnToPath } from '@/auth/utils/isValidReturnToPath';
import { useQuery } from '@apollo/client/react';
import { isNonEmptyString } from '@sniptt/guards';
import { useLocation, useParams } from 'react-router-dom';
import { AppPath, SettingsPath } from 'twenty-shared/types';
import { isDefined } from 'twenty-shared/utils';
import { WorkspaceActivationStatus } from 'twenty-shared/workspace';
import {
FindOnePageLayoutTypeDocument,
OnboardingStatus,
PageLayoutType,
} from '~/generated-metadata/graphql';
import { OnboardingStatus } from '~/generated-metadata/graphql';
import { isMatchingLocation } from '~/utils/isMatchingLocation';
const readReturnToPathFromUrlSearchParams = (): string | null => {
@@ -44,27 +39,11 @@ export const usePageChangeEffectNavigateLocation = () => {
const someMatchingLocationOf = (appPaths: AppPath[]): boolean =>
appPaths.some((appPath) => isMatchingLocation(location, appPath));
const params = useParams();
const objectNamePlural = params.objectNamePlural ?? '';
const objectNamePlural = useParams().objectNamePlural ?? '';
const objectMetadataItems = useAtomStateValue(objectMetadataItemsSelector);
const objectMetadataItem = objectMetadataItems?.find(
(objectMetadataItem) => objectMetadataItem.namePlural === objectNamePlural,
);
const pageLayoutId = params.pageLayoutId;
const isOnPageLayoutPage = isMatchingLocation(
location,
AppPath.PageLayoutPage,
);
const { data: pageLayoutData, loading: isPageLayoutLoading } = useQuery(
FindOnePageLayoutTypeDocument,
{
variables: { id: pageLayoutId ?? '' },
skip: !isOnPageLayoutPage || !isDefined(pageLayoutId),
},
);
const verifyEmailRedirectPath = useAtomStateValue(
verifyEmailRedirectPathState,
);
@@ -178,15 +157,5 @@ export const usePageChangeEffectNavigateLocation = () => {
return AppPath.NotFound;
}
if (
isOnPageLayoutPage &&
isDefined(pageLayoutId) &&
!isPageLayoutLoading &&
(!isDefined(pageLayoutData?.getPageLayout) ||
pageLayoutData.getPageLayout.type !== PageLayoutType.STANDALONE_PAGE)
) {
return AppPath.NotFound;
}
return;
};
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Aksies gebruikers kan uitvoer op hierdie voorwerp"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Aktiveer"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "'n Fout het voorgekom tydens die oplaai van die prent."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "'n Objek met hierdie naam bestaan reeds"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "'n Onverwagte fout het voorgekom"
@@ -1954,11 +1953,6 @@ msgstr "App"
msgid "App installed on this workspace"
msgstr "App op hierdie werkruimte geïnstalleer"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "Knipbord vereis 'n veilige verbinding (HTTPS). Gebruik asseblief hierdie
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Maak toe"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Sluit banier"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Maak sypaneel toe"
@@ -4956,11 +4952,6 @@ msgstr "Ontwikkelaar"
msgid "Developers links"
msgstr "Skakels vir ontwikkelaars"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Vertoon teks op meerdere reëls"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Verspreiding"
@@ -5603,11 +5594,6 @@ msgstr "Leë Inboks"
msgid "Empty Object"
msgstr "Leë Objek"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr ""
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Benut jou werkruimte optimaal deur jou span uit te nooi."
msgid "Get your subscription"
msgstr "Kry jou inskrywing"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Globaal"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Meer"
@@ -9663,20 +9655,6 @@ msgstr "Nuwe SSO Konfigurasie"
msgid "New SSO provider"
msgstr "Nuwe SSO Verskaffer"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Nota"
msgid "Notes"
msgstr "Notas"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Maak Outlook oop"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Maak sypaneel oop"
@@ -10811,7 +10785,6 @@ msgstr "Rangskik"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Rekord etiket"
msgid "Record Page"
msgstr "Rekordbladsy"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Rekord Seleksie"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "Stuur e-pos weer"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Stel terug"
@@ -12059,11 +12035,6 @@ msgstr "Stel terug"
msgid "Reset 2FA"
msgstr "Herstel 2FA"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "Voer {formattedName} uit"
msgid "Running function"
msgstr "Funksie word uitgevoer"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Soek"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Soek ''{sidePanelSearch}'' met..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "Hierdie rekening is gekoppel, maar ons het nog nie toestemming om e-posk
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14377,11 +14341,6 @@ msgstr "Hierdie sleutel moet via die liggaam-invoer gestel word"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Hierdie model sal van die verskaffer verwyder word. Jy kan dit later weer byvoeg."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15126,7 +15085,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16457,10 +16416,10 @@ msgstr "Jou ondernemingsfunksies sal gedeaktiveer word"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Jou ondernemingsfunksies sal aktief bly tot {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Jou ondernemingssleutelformaat is verouderd. Aktiveer asseblief 'n nuwe sleutel om ondernemingsfunksies te behou."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "الإجراءات التي يمكن للمستخدمين تنفيذها
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "تفعيل"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "حدث خطأ أثناء تحميل الصورة."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "يوجد بالفعل كائن يحمل هذا الاسم"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "حدث خطأ غير متوقع"
@@ -1954,11 +1953,6 @@ msgstr "التطبيق"
msgid "App installed on this workspace"
msgstr "التطبيق مثبت على مساحة العمل هذه"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "تتطلب الحافظة اتصالاً آمناً (HTTPS). يُرجى
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "إغلاق"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "إغلاق اللافتة"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "إغلاق اللوحة الجانبية"
@@ -4956,11 +4952,6 @@ msgstr "المطوّر"
msgid "Developers links"
msgstr "روابط المطورين"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "عرض النصوص في عدة خطوط"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "التوزيع"
@@ -5603,11 +5594,6 @@ msgstr "صندوق الوارد فارغ"
msgid "Empty Object"
msgstr "كائن فارغ"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "الرسم البياني القياسي"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "استفد من مساحة العمل الخاصة بك عن طريق د
msgid "Get your subscription"
msgstr "احصل على اشتراكك"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "عالمي"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "المزيد"
@@ -9663,20 +9655,6 @@ msgstr "تكوين SSO الجديد"
msgid "New SSO provider"
msgstr "موفر دخول موحد جديد"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "ملاحظة"
msgid "Notes"
msgstr "الملاحظات"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "فتح Outlook"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "فتح اللوحة الجانبية"
@@ -10811,7 +10785,6 @@ msgstr "تنظيم"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "ملصق السجل"
msgid "Record Page"
msgstr "صفحة السجل"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "\\\\"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "إعادة إرسال البريد الإلكتروني"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "إعادة تعيين"
@@ -12059,11 +12035,6 @@ msgstr "إعادة تعيين"
msgid "Reset 2FA"
msgstr "إعادة تعيين المصادقة الثنائية"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "جارٍ تشغيل {formattedName}"
msgid "Running function"
msgstr "الدالة قيد التشغيل"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "\\\\"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "ابحث عن ''{sidePanelSearch}'' بواسطة..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "هذا الحساب متصل، ولكن لا نملك حتى الآن إ
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14377,11 +14341,6 @@ msgstr "يجب تعيين هذا المفتاح عبر إدخال نص الطل
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "سيتم إزالة هذا النموذج من المزود. يمكنك إضافته مرة أخرى لاحقًا."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15126,7 +15085,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16455,10 +16414,10 @@ msgstr "سيتم تعطيل ميزات Enterprise لديك"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "ستظل ميزات Enterprise لديك نشطة حتى {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "تنسيق مفتاح Enterprise الخاص بك لم يعد مدعومًا. يُرجى تفعيل مفتاح جديد للإبقاء على ميزات Enterprise."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Accions que poden realitzar els usuaris en aquest objecte"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Activa"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "S'ha produït un error en carregar la imatge."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "Ja existeix un objecte amb aquest nom"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "S'ha produït un error inesperat"
@@ -1954,11 +1953,6 @@ msgstr "App"
msgid "App installed on this workspace"
msgstr "Aplicació instal·lada en aquest espai de treball"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "El porta-retalls requereix una connexió segura (HTTPS). Accedeix a aque
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Tanca"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Tanca el bàner"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Tanca el panell lateral"
@@ -4956,11 +4952,6 @@ msgstr "Desenvolupador"
msgid "Developers links"
msgstr "Enllaços per a desenvolupadors"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Mostra text en múltiples línies"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Distribució"
@@ -5603,11 +5594,6 @@ msgstr "Bústia buida"
msgid "Empty Object"
msgstr "Objecte Buit"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "Gràfic de mesurador"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Treu el màxim partit al teu espai de treball convidant al teu equip."
msgid "Get your subscription"
msgstr "Obteniu la vostra subscripció"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Global"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Més"
@@ -9663,20 +9655,6 @@ msgstr "Nova configuració SSO"
msgid "New SSO provider"
msgstr "Nou proveïdor SSO"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Nota"
msgid "Notes"
msgstr "Notes"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Obrir en Outlook"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Obre el panell lateral"
@@ -10811,7 +10785,6 @@ msgstr "Organitza"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Etiqueta de registre"
msgid "Record Page"
msgstr "Pàgina de registre"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Selecció d'enregistrament"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "Reenviar correu electrònic"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Restableix"
@@ -12059,11 +12035,6 @@ msgstr "Restableix"
msgid "Reset 2FA"
msgstr "Reinicia 2FA"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "Executant {formattedName}"
msgid "Running function"
msgstr "Funció en execució"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Cerca"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Cerca ''{sidePanelSearch}'' amb..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "Aquest compte està connectat, però encara no tenim permís per redacta
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14377,11 +14341,6 @@ msgstr "Aquesta clau s'hauria d'establir al cos de la sol·licitud"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Aquest model s'eliminarà del proveïdor. El podreu tornar a afegir més endavant."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15126,7 +15085,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16457,10 +16416,10 @@ msgstr "Les vostres funcionalitats Enterprise es desactivaran"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Les vostres funcionalitats Enterprise romandran actives fins al {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "El format de la vostra clau Enterprise és obsolet. Activeu una clau nova per mantenir les funcionalitats Enterprise."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Akce, které uživatelé mohou provádět na tomto objektu"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Aktivovat"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "Při nahrávání obrázku došlo k chybě."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "Objekt s tímto názvem již existuje"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "Došlo k neočekávané chybě"
@@ -1954,11 +1953,6 @@ msgstr "Aplikace"
msgid "App installed on this workspace"
msgstr "Aplikace nainstalovaná v tomto pracovním prostoru"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "Schránka vyžaduje zabezpečené připojení (HTTPS). Pro povolení kop
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Zavřít"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Zavřít banner"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Zavřít postranní panel"
@@ -4956,11 +4952,6 @@ msgstr "Vývojář"
msgid "Developers links"
msgstr "Odkazy pro vývojáře"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Zobrazit text na více řádcích"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Distribuce"
@@ -5603,11 +5594,6 @@ msgstr "Prázdná schránka"
msgid "Empty Object"
msgstr "Prázdný objekt"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "Ukazatelový graf"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Získejte maximum ze svého pracovního prostoru tím, že pozvete svůj
msgid "Get your subscription"
msgstr "Získejte své předplatné"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Globální"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Více"
@@ -9663,20 +9655,6 @@ msgstr "Nová konfigurace SSO"
msgid "New SSO provider"
msgstr "Nový poskytovatel SSO"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Poznámka"
msgid "Notes"
msgstr "Poznámky"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Otevřít Outlook"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Otevřít postranní panel"
@@ -10811,7 +10785,6 @@ msgstr "Uspořádat"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Záznamový popisek"
msgid "Record Page"
msgstr "Záznamová stránka"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Výběr záznamů"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "Znovu odeslat e-mail"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Obnovit"
@@ -12059,11 +12035,6 @@ msgstr "Obnovit"
msgid "Reset 2FA"
msgstr "Obnovit 2FA"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "Spouští se {formattedName}"
msgid "Running function"
msgstr "Spouští se funkce"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Hledat"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Hledat ''{sidePanelSearch}'' s..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "Tento účet je připojen, ale zatím nemáme oprávnění vytvářet ko
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14377,11 +14341,6 @@ msgstr "Tento klíč by měl být nastaven přes tělo požadavku"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Tento model bude od poskytovatele odebrán. Později jej můžete znovu přidat."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15126,7 +15085,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16457,10 +16416,10 @@ msgstr "Vaše funkce Enterprise budou deaktivovány"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Vaše funkce Enterprise zůstanou aktivní do {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Formát vašeho klíče Enterprise je zastaralý. Aktivujte prosím nový klíč, abyste zachovali funkce Enterprise."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Handlinger brugere kan udføre på denne genstand"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Aktivér"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "Der opstod en fejl under upload af billedet."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "Et objekt med dette navn findes allerede"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "Der opstod en uventet fejl"
@@ -1954,11 +1953,6 @@ msgstr "App"
msgid "App installed on this workspace"
msgstr "App installeret på dette arbejdsområde"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "Udklipsholderen kræver en sikker forbindelse (HTTPS). Tilgå venligst d
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Luk"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Luk banner"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Luk sidepanelet"
@@ -4956,11 +4952,6 @@ msgstr "Udvikler"
msgid "Developers links"
msgstr ""
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Vis tekst på flere linjer"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Distribution"
@@ -5603,11 +5594,6 @@ msgstr "Tom Indbakke"
msgid "Empty Object"
msgstr "Tomt Objekt"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "Målediagram"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Få mest muligt ud af din arbejdsplads ved at invitere dit team."
msgid "Get your subscription"
msgstr "Få dit abonnement"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Globalt"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Mere"
@@ -9663,20 +9655,6 @@ msgstr "Ny SSO konfiguration"
msgid "New SSO provider"
msgstr "Ny SSO-udbyder"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Notat"
msgid "Notes"
msgstr "Noter"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Åbn Outlook"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Åbn sidepanelet"
@@ -10811,7 +10785,6 @@ msgstr "Organiser"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Optag label"
msgid "Record Page"
msgstr "Post Side"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Optag valg"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "Send e-mail igen"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Nulstil"
@@ -12059,11 +12035,6 @@ msgstr "Nulstil"
msgid "Reset 2FA"
msgstr "Nulstil 2FA"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "Kører {formattedName}"
msgid "Running function"
msgstr "Kører funktion"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Søg"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Søg efter ''{sidePanelSearch}'' med..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "Denne konto er tilknyttet, men vi har endnu ikke tilladelse til at opret
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14379,11 +14343,6 @@ msgstr "Denne nøgle skal angives via body-input"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Denne model vil blive fjernet fra udbyderen. Du kan tilføje den igen senere."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15128,7 +15087,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16459,10 +16418,10 @@ msgstr "Dine Enterprise-funktioner vil blive deaktiveret"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Dine Enterprise-funktioner forbliver aktive indtil {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Formatet på din Enterprise-nøgle er udfaset. Aktivér en ny nøgle for at beholde Enterprise-funktionerne."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Aktionen, die Benutzer auf diesem Objekt durchführen können"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Aktivieren"
@@ -1216,7 +1216,6 @@ msgstr "Admin"
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "Beim Hochladen des Bildes ist ein Fehler aufgetreten."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "Ein Objekt mit diesem Namen existiert bereits"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "Ein unerwarteter Fehler ist aufgetreten"
@@ -1954,11 +1953,6 @@ msgstr "App"
msgid "App installed on this workspace"
msgstr "App in diesem Arbeitsbereich installiert"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "Die Zwischenablage erfordert eine sichere Verbindung (HTTPS). Bitte grei
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Schließen"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Banner schließen"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Seitenpanel schließen"
@@ -4956,11 +4952,6 @@ msgstr "Entwickler"
msgid "Developers links"
msgstr "Links für Entwickler"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Text auf mehreren Zeilen anzeigen"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Verteilung"
@@ -5603,11 +5594,6 @@ msgstr "Leerer Posteingang"
msgid "Empty Object"
msgstr "Leeres Objekt"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr ""
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Holen Sie das Beste aus Ihrem Arbeitsbereich heraus, indem Sie Ihr Team
msgid "Get your subscription"
msgstr "Abonnement abschließen"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Global"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Mehr"
@@ -9663,20 +9655,6 @@ msgstr "Neue SSO-Konfiguration"
msgid "New SSO provider"
msgstr "Neuer SSO-Anbieter"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Notiz"
msgid "Notes"
msgstr "Notizen"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Outlook öffnen"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Seitenpanel öffnen"
@@ -10811,7 +10785,6 @@ msgstr "Organisieren"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Bezeichnung aufzeichnen"
msgid "Record Page"
msgstr "Rekordseite"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Datensatz-Auswahl"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "E-Mail erneut senden"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Zurücksetzen"
@@ -12059,11 +12035,6 @@ msgstr "Zurücksetzen"
msgid "Reset 2FA"
msgstr "2FA zurücksetzen"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "{formattedName} wird ausgeführt"
msgid "Running function"
msgstr "Funktion wird ausgeführt"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Suche"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Suche ''{sidePanelSearch}'' mit..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "Dieses Konto ist verbunden, aber wir haben noch keine Berechtigung, E-Ma
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14377,11 +14341,6 @@ msgstr "Dieser Schlüssel sollte über die Body-Eingabe gesetzt werden"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Dieses Modell wird vom Anbieter entfernt. Sie können es später erneut hinzufügen."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15126,7 +15085,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16457,10 +16416,10 @@ msgstr "Ihre Enterprise-Funktionen werden deaktiviert"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Ihre Enterprise-Funktionen bleiben bis {cancelAtDate} aktiv."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Das Format Ihres Enterprise-Schlüssels ist veraltet. Bitte aktivieren Sie einen neuen Schlüssel, um die Enterprise-Funktionen beizubehalten."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Ενέργειες χρηστών που μπορούν να εκτελ
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Ενεργοποίηση"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "Παρουσιάστηκε σφάλμα κατά τη μεταφόρτω
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "Υπάρχει ήδη αντικείμενο με αυτό το όνομ
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "Παρουσιάστηκε ένα απρόβλεπτο σφάλμα"
@@ -1954,11 +1953,6 @@ msgstr "Εφαρμογή"
msgid "App installed on this workspace"
msgstr "Η εφαρμογή είναι εγκατεστημένη σε αυτόν τον χώρο εργασίας"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "Το Πρόχειρο απαιτεί ασφαλή σύνδεση (HTTPS)
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Κλείσιμο"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Κλείσιμο banner"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Κλείσιμο πλευρικού πάνελ"
@@ -4956,11 +4952,6 @@ msgstr "Προγραμματιστής"
msgid "Developers links"
msgstr "Σύνδεσμοι προγραμματιστών"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Εμφανίστε το κείμενο σε πολλαπλές γραμμές"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Διανομή"
@@ -5603,11 +5594,6 @@ msgstr "Άδειο Γραμματοκιβώτιο"
msgid "Empty Object"
msgstr "Κενό Αντικείμενο"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "Διάγραμμα δείκτη"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Αξιοποιείστε τον χώρο εργασίας σας με τ
msgid "Get your subscription"
msgstr "Αποκτήστε τη συνδρομή σας"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Παγκόσμιο"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Περισσότερα"
@@ -9663,20 +9655,6 @@ msgstr "Νέα ρύθμιση SSO"
msgid "New SSO provider"
msgstr "Νέος πάροχος SSO"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Σημείωση"
msgid "Notes"
msgstr "Σημειώματα"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Άνοιγμα με Outlook"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Άνοιγμα πλευρικού πάνελ"
@@ -10811,7 +10785,6 @@ msgstr "Οργάνωση"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Ετικέτα εγγραφής"
msgid "Record Page"
msgstr "Σελίδα εγγραφής"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Επιλογή Εγγραφών"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "Επαναποστολή email"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Επαναφορά"
@@ -12059,11 +12035,6 @@ msgstr "Επαναφορά"
msgid "Reset 2FA"
msgstr "Επαναφορά 2FA"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "Εκτελείται {formattedName}"
msgid "Running function"
msgstr "Εκτέλεση λειτουργίας"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Αναζήτηση"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Αναζήτηση ''{sidePanelSearch}'' με..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14266,11 +14235,6 @@ msgstr "Αυτός ο λογαριασμός είναι συνδεδεμένος
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14381,11 +14345,6 @@ msgstr "Αυτό το κλειδί πρέπει να οριστεί στο σώ
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Αυτό το μοντέλο θα αφαιρεθεί από τον πάροχο. Μπορείτε να το προσθέσετε ξανά αργότερα."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15130,7 +15089,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16461,10 +16420,10 @@ msgstr "Οι δυνατότητες Enterprise θα απενεργοποιηθο
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Οι δυνατότητες Enterprise θα παραμείνουν ενεργές έως {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Η μορφή του κλειδιού Enterprise δεν υποστηρίζεται πλέον. Ενεργοποιήστε ένα νέο κλειδί για να διατηρήσετε τις δυνατότητες Enterprise."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -785,7 +785,7 @@ msgstr "Actions users can perform on this object"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Activate"
@@ -1211,7 +1211,6 @@ msgstr "Admin"
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1751,7 +1750,6 @@ msgstr "An error occurred while uploading the picture."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1782,6 +1780,7 @@ msgstr "An object with this name already exists"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "An unexpected error occurred"
@@ -1949,11 +1948,6 @@ msgstr "App"
msgid "App installed on this workspace"
msgstr "App installed on this workspace"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr "App registrations"
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3184,6 +3178,7 @@ msgstr "Clipboard requires a secure connection (HTTPS). Please access this app o
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Close"
@@ -3194,6 +3189,7 @@ msgid "Close banner"
msgstr "Close banner"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Close side panel"
@@ -4951,11 +4947,6 @@ msgstr "Developer"
msgid "Developers links"
msgstr "Developers links"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr "Disabled"
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4992,8 +4983,8 @@ msgid "Display text on multiple lines"
msgstr "Display text on multiple lines"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Distribution"
@@ -5598,11 +5589,6 @@ msgstr "Empty Inbox"
msgid "Empty Object"
msgstr "Empty Object"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr "Empty tab"
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7122,8 +7108,8 @@ msgstr "Gauge Chart"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7177,6 +7163,11 @@ msgstr "Get the most out of your workspace by inviting your team."
msgid "Get your subscription"
msgstr "Get your subscription"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Global"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9274,6 +9265,7 @@ msgstr "months"
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "More"
@@ -9658,20 +9650,6 @@ msgstr "New SSO Configuration"
msgid "New SSO provider"
msgstr "New SSO provider"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr "New tab"
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr "New Tab"
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10366,11 +10344,6 @@ msgstr "Note"
msgid "Notes"
msgstr "Notes"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr "Nothing to see"
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10436,7 +10409,7 @@ msgid "Numbered list"
msgstr "Numbered list"
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10716,6 +10689,7 @@ msgid "Open Outlook"
msgstr "Open Outlook"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Open side panel"
@@ -10806,7 +10780,6 @@ msgstr "Organize"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11719,6 +11692,11 @@ msgstr "Record label"
msgid "Record Page"
msgstr "Record Page"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Record Selection"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12043,8 +12021,6 @@ msgstr "Resend email"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Reset"
@@ -12054,11 +12030,6 @@ msgstr "Reset"
msgid "Reset 2FA"
msgstr "Reset 2FA"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr "Reset all overrides on this layout to return it to the app default"
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12071,8 +12042,6 @@ msgstr "Reset label to default"
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12338,11 +12307,6 @@ msgstr "Running {formattedName}"
msgid "Running function"
msgstr "Running function"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr "Running workflows on all records is not yet supported. Please select records manually."
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12426,6 +12390,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Search"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Search ''{sidePanelSearch}'' with..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14259,11 +14228,6 @@ msgstr "This account is connected, but we don't have permission to draft emails
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr "This action can return up to {maxRecordsFormatted} records."
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr "This action cannot be undone."
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14374,11 +14338,6 @@ msgstr "This key should be set through body input"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "This model will be removed from the provider. You can re-add it later."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr "This page has no content"
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15123,7 +15082,7 @@ msgstr "Unordered list with bullets"
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16454,10 +16413,10 @@ msgstr "Your enterprise features will be disabled"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Your enterprise features will remain active until {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Acciones que los usuarios pueden realizar en este objeto"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Activar"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "Se produjo un error al subir la imagen."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "Ya existe un objeto con este nombre"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "Se produjo un error inesperado"
@@ -1954,11 +1953,6 @@ msgstr "Aplicación"
msgid "App installed on this workspace"
msgstr "Aplicación instalada en este espacio de trabajo"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "El portapapeles requiere una conexión segura (HTTPS). Accede a esta apl
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Cerrar"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Cerrar banner"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Cerrar panel lateral"
@@ -4956,11 +4952,6 @@ msgstr "Desarrollador"
msgid "Developers links"
msgstr "Enlaces para desarrolladores"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Mostrar texto en varias líneas"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Distribución"
@@ -5603,11 +5594,6 @@ msgstr "Bandeja de entrada vacía"
msgid "Empty Object"
msgstr "Objeto vacío"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "Gráfico de Medidor"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Aproveche al máximo su espacio de trabajo invitando a su equipo."
msgid "Get your subscription"
msgstr "Obtenga su suscripción"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Global"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Más"
@@ -9663,20 +9655,6 @@ msgstr "Nueva Configuración SSO"
msgid "New SSO provider"
msgstr "Nuevo proveedor SSO"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Nota"
msgid "Notes"
msgstr "Notas"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr "Lista numerada"
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Abrir Outlook"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Abrir panel lateral"
@@ -10811,7 +10785,6 @@ msgstr "Organizar"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Etiqueta de registro"
msgid "Record Page"
msgstr "Página de registro"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Selección de registros"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "Reenviar correo electrónico"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Restablecer"
@@ -12059,11 +12035,6 @@ msgstr "Restablecer"
msgid "Reset 2FA"
msgstr "Restablecer 2FA"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "Ejecutando {formattedName}"
msgid "Running function"
msgstr "Ejecutando función"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Buscar"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Buscar ''{sidePanelSearch}'' con..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "Esta cuenta está conectada, pero aún no tenemos permiso para crear bor
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14379,11 +14343,6 @@ msgstr "Esta clave debe establecerse mediante la entrada del cuerpo"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Este modelo se eliminará del proveedor. Podrás volver a añadirlo más tarde."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15128,7 +15087,7 @@ msgstr "Lista sin ordenar con puntos"
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16459,10 +16418,10 @@ msgstr "Tus funciones Enterprise se desactivarán"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Tus funciones Enterprise seguirán activas hasta {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "El formato de tu clave Enterprise está obsoleto. Activa una nueva clave para mantener las funciones Enterprise."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Toiminnot, joita käyttäjät voivat suorittaa tällä kohteella"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Aktivoi"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "Kuvaa ladattaessa tapahtui virhe."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "Tämän niminen objekti on jo olemassa"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "Tapahtui odottamaton virhe"
@@ -1954,11 +1953,6 @@ msgstr "Sovellus"
msgid "App installed on this workspace"
msgstr "Sovellus on asennettu tähän työtilaan"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "Leikepöytä edellyttää suojattua yhteyttä (HTTPS). Avaa tämä sovel
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Sulje"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Sulje banneri"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Sulje sivupaneeli"
@@ -4956,11 +4952,6 @@ msgstr "Kehittäjä"
msgid "Developers links"
msgstr "Kehittäjien linkit"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Näytä teksti useammalla rivillä"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Jakelu"
@@ -5603,11 +5594,6 @@ msgstr "Tyhjä Saapuneet"
msgid "Empty Object"
msgstr "Tyhjä objekti"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "Mittarikaavio"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Saa kaiken irti työtilastasi kutsuen tiimisi mukaan."
msgid "Get your subscription"
msgstr "Hanki tilaus"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Globaali"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Lisää"
@@ -9663,20 +9655,6 @@ msgstr "Uusi SSO-konfiguraatio"
msgid "New SSO provider"
msgstr "Uusi SSO-tarjoaja"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Muistiinpano"
msgid "Notes"
msgstr "Muistiinpanot"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Avaa Outlookissa"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Avaa sivupaneeli"
@@ -10811,7 +10785,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Tietueen otsikko"
msgid "Record Page"
msgstr "Tietuesivu"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Valitse tietueet"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "Lähetä sähköposti uudelleen"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Nollaa"
@@ -12059,11 +12035,6 @@ msgstr "Nollaa"
msgid "Reset 2FA"
msgstr "Nollaa 2FA"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "Suoritetaan {formattedName}"
msgid "Running function"
msgstr "Suoritetaan funktiota"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Hae"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Hae ''{sidePanelSearch}'' avulla..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "Tämä tili on yhdistetty, mutta meillä ei vielä ole käyttöoikeutta
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14377,11 +14341,6 @@ msgstr "Tämä avain tulisi asettaa viestirungon syötteessä"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Tämä malli poistetaan tarjoajalta. Voit lisätä sen uudelleen myöhemmin."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15126,7 +15085,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16457,10 +16416,10 @@ msgstr "Enterprise-ominaisuudet poistetaan käytöstä"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Enterprise-ominaisuudet pysyvät aktiivisina {cancelAtDate} asti."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Enterprise-avaimesi muoto on vanhentunut. Aktivoi uusi avain säilyttääksesi Enterprise-ominaisuudet."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Actions que les utilisateurs peuvent effectuer sur cet objet"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Activer"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "Une erreur s'est produite lors du téléversement de l'image."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "Un objet avec ce nom existe déjà"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "Une erreur inattendue s'est produite"
@@ -1954,11 +1953,6 @@ msgstr "Application"
msgid "App installed on this workspace"
msgstr "Application installée sur cet espace de travail"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "Le presse-papiers nécessite une connexion sécurisée (HTTPS). Veuillez
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Fermer"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Fermer la bannière"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Fermer le panneau latéral"
@@ -4956,11 +4952,6 @@ msgstr ""
msgid "Developers links"
msgstr "Liens pour développeurs"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Afficher le texte sur plusieurs lignes"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr ""
@@ -5603,11 +5594,6 @@ msgstr "Boîte de réception vide"
msgid "Empty Object"
msgstr "Objet vide"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr ""
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Tirez le meilleur parti de votre espace de travail en invitant votre éq
msgid "Get your subscription"
msgstr "Obtenez votre abonnement"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Global"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Plus"
@@ -9663,20 +9655,6 @@ msgstr "Nouvelle configuration SSO"
msgid "New SSO provider"
msgstr "Nouveau fournisseur SSO"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Note"
msgid "Notes"
msgstr "Notes"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Ouvrir Outlook"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Ouvrir le panneau latéral"
@@ -10811,7 +10785,6 @@ msgstr "Organiser"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Étiquette d'enregistrement"
msgid "Record Page"
msgstr "Page d'enregistrement"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Sélection des enregistrements"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "Renvoyer l'email"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Réinitialiser"
@@ -12059,11 +12035,6 @@ msgstr "Réinitialiser"
msgid "Reset 2FA"
msgstr "Réinitialiser 2FA"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "Exécution de {formattedName}"
msgid "Running function"
msgstr "Exécution de la fonction"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Recherche"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Rechercher ''{sidePanelSearch}'' avec..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "Ce compte est connecté, mais nous n'avons pas encore l'autorisation de
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14379,11 +14343,6 @@ msgstr "Cette clé doit être définie via la saisie du corps"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Ce modèle sera supprimé du fournisseur. Vous pourrez le réajouter plus tard."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15128,7 +15087,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16459,10 +16418,10 @@ msgstr "Vos fonctionnalités Enterprise seront désactivées"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Vos fonctionnalités Enterprise resteront actives jusqu'au {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Le format de votre clé Enterprise est obsolète. Veuillez activer une nouvelle clé pour conserver les fonctionnalités Enterprise."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "פעולות משתמשים יכולים לבצע על אובייקט ז
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "הפעל"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "אירעה שגיאה בעת העלאת התמונה."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "אובייקט בשם זה כבר קיים"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "אירעה שגיאה בלתי צפויה"
@@ -1954,11 +1953,6 @@ msgstr "אפליקציה"
msgid "App installed on this workspace"
msgstr "האפליקציה מותקנת בסביבת עבודה זו"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "לוח הגזירים דורש חיבור מאובטח (HTTPS). יש ל
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "סגור"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "סגור באנר"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "סגור את חלונית הצד"
@@ -4956,11 +4952,6 @@ msgstr "מפתח"
msgid "Developers links"
msgstr "קישורי מפתחים"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "הצג טקסט במספר שורות"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "הפצה"
@@ -5603,11 +5594,6 @@ msgstr "תיבת דואר ריקה"
msgid "Empty Object"
msgstr "אובייקט ריק"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "תרשים מד"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "נצלו את המרחב שלכם על ידי הזמנת הצוות של
msgid "Get your subscription"
msgstr "השיגו את המנוי שלכם"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "גלובלי"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "עוד"
@@ -9663,20 +9655,6 @@ msgstr "תצורה חדשה של SSO"
msgid "New SSO provider"
msgstr "ספק SSO חדש"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "הערה"
msgid "Notes"
msgstr "הערות"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "פתח ב-Outlook"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "פתח את חלונית הצד"
@@ -10811,7 +10785,6 @@ msgstr "ארגון"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "תווית של רישום"
msgid "Record Page"
msgstr "דף רישום"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "\\"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "שלח שוב את הדוא\"ל"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "איפוס"
@@ -12059,11 +12035,6 @@ msgstr "איפוס"
msgid "Reset 2FA"
msgstr "אתחל אימות דו-שלבי"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "מריץ את {formattedName}"
msgid "Running function"
msgstr "מריץ פונקציה"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "\\"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "חפש \\\"{sidePanelSearch}\\\" עם..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "החשבון הזה מחובר, אך עדיין אין לנו הרשאה
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14377,11 +14341,6 @@ msgstr "יש להגדיר מפתח זה דרך קלט הגוף"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "מודל זה יוסר מהספק. ניתן להוסיפו מחדש מאוחר יותר."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15126,7 +15085,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16457,10 +16416,10 @@ msgstr "תכונות ה-Enterprise שלך יושבתו"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "תכונות ה-Enterprise שלך יישארו פעילות עד {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "תבנית מפתח ה-Enterprise שלך הוצאה משימוש. אנא הפעל מפתח חדש כדי לשמור על תכונות ה-Enterprise."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Műveletek, amelyeket a felhasználók ezen az objektumon végrehajthatn
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Aktiválás"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "Hiba történt a kép feltöltése közben."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "Már létezik ilyen nevű objektum"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "Váratlan hiba történt"
@@ -1954,11 +1953,6 @@ msgstr "Alkalmazás"
msgid "App installed on this workspace"
msgstr "Alkalmazás telepítve ezen a munkaterületen"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr ""
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Bezár"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Banner bezárása"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Oldalsó panel bezárása"
@@ -4956,11 +4952,6 @@ msgstr "Fejlesztő"
msgid "Developers links"
msgstr "Fejlesztői hivatkozások"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Szöveg megjelenítése több sorban"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Terjesztés"
@@ -5603,11 +5594,6 @@ msgstr "Üres Postafiók"
msgid "Empty Object"
msgstr "Üres objektum"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "Mérőműszer diagram"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Maximalizálja munkaterületét csapatának meghívásával."
msgid "Get your subscription"
msgstr "Szerezze meg előfizetését"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Globális"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Több"
@@ -9663,20 +9655,6 @@ msgstr "Új SSO-Konfiguráció"
msgid "New SSO provider"
msgstr "Új SSO szolgáltató"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Megjegyzés"
msgid "Notes"
msgstr "Jegyzetek"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Outlook megnyitása"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Oldalsó panel megnyitása"
@@ -10811,7 +10785,6 @@ msgstr "Rendszerezés"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Felvétel címkéje"
msgid "Record Page"
msgstr "Felvételi oldal"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Bejegyzések kiválasztása"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "E-mail újraküldése"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Visszaállítás"
@@ -12059,11 +12035,6 @@ msgstr "Visszaállítás"
msgid "Reset 2FA"
msgstr "2FA visszaállítása"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "{formattedName} futtatása"
msgid "Running function"
msgstr "Függvény fut"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Keresés"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Keresés a következővel: ''{sidePanelSearch}''..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "Ez a fiók csatlakoztatva van, de még nincs engedélyünk arra, hogy az
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14377,11 +14341,6 @@ msgstr "Ezt a kulcsot a törzs bevitelén keresztül kell beállítani"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Ez a modell eltávolításra kerül a szolgáltatóból. Később újra hozzáadhatja."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15126,7 +15085,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16457,10 +16416,10 @@ msgstr "Az Enterprise funkciók le lesznek tiltva"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Az Enterprise funkciók {cancelAtDate} időpontig maradnak aktívak."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Az Enterprise kulcs formátuma elavult. Az Enterprise funkciók megtartásához aktiváljon egy új kulcsot."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "Azioni che gli utenti possono eseguire su questo oggetto"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "Attiva"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "Si è verificato un errore durante il caricamento dell'immagine."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "Esiste già un oggetto con questo nome"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "Si è verificato un errore imprevisto"
@@ -1954,11 +1953,6 @@ msgstr "App"
msgid "App installed on this workspace"
msgstr "App installata su questo spazio di lavoro"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "Gli appunti richiedono una connessione sicura (HTTPS). Accedi a questa a
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "Chiudi"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "Chiudi banner"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "Chiudi il pannello laterale"
@@ -4956,11 +4952,6 @@ msgstr "Sviluppatore"
msgid "Developers links"
msgstr "Link per sviluppatori"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "Mostra testo su più righe"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "Distribuzione"
@@ -5603,11 +5594,6 @@ msgstr "Posta in arrivo vuota"
msgid "Empty Object"
msgstr "Oggetto vuoto"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "Grafico a Indicatore"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "Sfrutta al massimo il tuo spazio di lavoro invitando il tuo team."
msgid "Get your subscription"
msgstr "Ottieni il tuo abbonamento"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "Globale"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "Altro"
@@ -9663,20 +9655,6 @@ msgstr "Nuova configurazione SSO"
msgid "New SSO provider"
msgstr "Nuovo provider SSO"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "Nota"
msgid "Notes"
msgstr "Note"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Aprire Outlook"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "Apri il pannello laterale"
@@ -10811,7 +10785,6 @@ msgstr "Organizza"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "Etichetta del record"
msgid "Record Page"
msgstr "Pagina del record"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "Selezione record"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "Rinvia email"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "Reimposta"
@@ -12059,11 +12035,6 @@ msgstr "Reimposta"
msgid "Reset 2FA"
msgstr "Reimposta 2FA"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "Esecuzione di {formattedName}"
msgid "Running function"
msgstr "Funzione in esecuzione"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "Cerca"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "Cerca ''{sidePanelSearch}'' con..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "Questo account è collegato, ma non abbiamo ancora l'autorizzazione a cr
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14379,11 +14343,6 @@ msgstr "Questa chiave dovrebbe essere impostata tramite il corpo della richiesta
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "Questo modello verrà rimosso dal provider. Potrai aggiungerlo nuovamente in seguito."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15128,7 +15087,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16459,10 +16418,10 @@ msgstr "Le tue funzionalità Enterprise verranno disabilitate"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Le tue funzionalità Enterprise rimarranno attive fino al {cancelAtDate}."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Il formato della tua chiave Enterprise è deprecato. Attiva una nuova chiave per mantenere le funzionalità Enterprise."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "このオブジェクトにユーザーが行えるアクション"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "有効化"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "画像のアップロード中にエラーが発生しました。"
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "この名前のオブジェクトはすでに存在します。"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "予期しないエラーが発生しました"
@@ -1954,11 +1953,6 @@ msgstr "アプリ"
msgid "App installed on this workspace"
msgstr "このワークスペースにインストールされているアプリ"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "クリップボードの使用にはセキュアな接続 (HTTPS) が必
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "閉じる"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "バナーを閉じる"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "サイドパネルを閉じる"
@@ -4956,11 +4952,6 @@ msgstr "開発者"
msgid "Developers links"
msgstr "開発者向けリンク"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "複数行でテキストを表示"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "配布"
@@ -5603,11 +5594,6 @@ msgstr "受信トレイを空にする"
msgid "Empty Object"
msgstr "空のオブジェクト"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "ゲージチャート"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "チームを招待して、ワークスペースを最大限に活用し
msgid "Get your subscription"
msgstr "サブスクリプションを取得"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "グローバル"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "もっと"
@@ -9663,20 +9655,6 @@ msgstr "新しいSSO構成"
msgid "New SSO provider"
msgstr "新しいSSOプロバイダー"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "ノート"
msgid "Notes"
msgstr "ノート"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Outlookで開く"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "サイドパネルを開く"
@@ -10811,7 +10785,6 @@ msgstr "整理"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "レコードラベル"
msgid "Record Page"
msgstr "レコードページ"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "レコード選択"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "メールを再送信"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "リセット"
@@ -12059,11 +12035,6 @@ msgstr "リセット"
msgid "Reset 2FA"
msgstr "2FAをリセット"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "{formattedName} を実行中"
msgid "Running function"
msgstr "関数を実行中"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "検索"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "''{sidePanelSearch}''で検索..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "このアカウントは接続されていますが、あなたに代わ
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14377,11 +14341,6 @@ msgstr "このキーはボディ入力で設定する必要があります"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "このモデルはプロバイダーから削除されます。後で再度追加できます。"
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15126,7 +15085,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16457,10 +16416,10 @@ msgstr "Enterprise 機能は無効になります"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "Enterprise 機能は {cancelAtDate} まで有効のままです。"
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "Enterprise キーの形式は非推奨です。Enterprise 機能を維持するには、新しいキーを有効化してください。"
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
+29 -70
View File
@@ -790,7 +790,7 @@ msgstr "사용자가 이 객체에서 수행할 수 있는 작업"
#: src/modules/settings/data-model/objects/components/SettingsObjectInactiveMenuDropDown.tsx
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldDisabledActionDropdown.tsx
#: src/modules/settings/components/SettingsEnterpriseFeatureGateCard.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Activate"
msgstr "활성화"
@@ -1216,7 +1216,6 @@ msgstr ""
#: src/pages/settings/admin-panel/SettingsAdminNewAiModel.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
@@ -1756,7 +1755,6 @@ msgstr "사진을 업로드하는 중 오류가 발생했습니다."
#: src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts
#: src/modules/page-layout/hooks/useUpdatePageLayoutWithTabsAndWidgets.ts
#: src/modules/page-layout/hooks/useResetPageLayoutWidgetToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutToDefault.ts
#: src/modules/page-layout/hooks/useResetPageLayoutTabToDefault.ts
#: src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts
#: src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts
@@ -1787,6 +1785,7 @@ msgstr "이 이름을 가진 객체가 이미 존재합니다"
#. js-lingui-id: lxentK
#: src/modules/settings/playground/components/PlaygroundSetupForm.tsx
#: src/modules/ai/utils/extractErrorMessage.ts
msgid "An unexpected error occurred"
msgstr "예상치 못한 오류가 발생했습니다"
@@ -1954,11 +1953,6 @@ msgstr "앱"
msgid "App installed on this workspace"
msgstr "이 작업공간에 설치된 앱"
#. js-lingui-id: r5g1bX
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
msgid "App registrations"
msgstr ""
#. js-lingui-id: aAIQg2
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
msgid "Appearance"
@@ -3189,6 +3183,7 @@ msgstr "클립보드는 보안 연결(HTTPS)이 필요합니다. 복사 기능
#. js-lingui-id: yz7wBu
#: src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close"
msgstr "닫기"
@@ -3199,6 +3194,7 @@ msgid "Close banner"
msgstr "배너 닫기"
#. js-lingui-id: saip/v
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Close side panel"
msgstr "사이드 패널 닫기"
@@ -4956,11 +4952,6 @@ msgstr "개발자"
msgid "Developers links"
msgstr "개발자 링크"
#. js-lingui-id: E/QGRL
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Disabled"
msgstr ""
#. js-lingui-id: Xm/s+u
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
msgid "Display"
@@ -4997,8 +4988,8 @@ msgid "Display text on multiple lines"
msgstr "여러 줄에 텍스트 표시"
#. js-lingui-id: vU/Hht
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationDistributionTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
msgid "Distribution"
msgstr "배포"
@@ -5603,11 +5594,6 @@ msgstr "받은 편지함 비우기"
msgid "Empty Object"
msgstr "빈 객체"
#. js-lingui-id: 7A0K1Y
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "Empty tab"
msgstr ""
#. js-lingui-id: q11Dk2
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useSettingsRolePermissionFlagConfig.ts
msgid "Enable bypass options"
@@ -7127,8 +7113,8 @@ msgstr "게이지 차트"
#. js-lingui-id: Weq9zb
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/SettingsWorkspace.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/applications/tabs/SettingsApplicationRegistrationGeneralTab.tsx
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminContent.tsx
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroupsForDisplay.ts
@@ -7182,6 +7168,11 @@ msgstr "팀을 초대하여 워크스페이스를 최대한 활용하세요."
msgid "Get your subscription"
msgstr "구독 신청"
#. js-lingui-id: 2GT3Hf
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Global"
msgstr "글로벌"
#. js-lingui-id: sr0UJD
#: src/pages/settings/security/event-logs/SettingsEventLogs.tsx
msgid "Go Back"
@@ -9279,6 +9270,7 @@ msgstr ""
#. js-lingui-id: 2FYpfJ
#: src/pages/settings/ai/SettingsAI.tsx
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "More"
msgstr "더보기"
@@ -9663,20 +9655,6 @@ msgstr "새 SSO 구성"
msgid "New SSO provider"
msgstr "새 SSO 공급자"
#. js-lingui-id: 3YvS+c
#: src/modules/page-layout/components/PageLayoutTabListNewTabDropdownContent.tsx
msgid "New tab"
msgstr ""
#. js-lingui-id: Db+TX4
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
#: src/modules/page-layout/components/PageLayoutTabList.tsx
msgid "New Tab"
msgstr ""
#. js-lingui-id: wl18ST
#: src/modules/activities/tasks/components/TaskGroups.tsx
msgid "New task"
@@ -10371,11 +10349,6 @@ msgstr "노트"
msgid "Notes"
msgstr "노트"
#. js-lingui-id: DYCPYF
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "Nothing to see"
msgstr ""
#. js-lingui-id: YwzE9K
#: src/utils/date-utils.ts
#: src/utils/date-utils.ts
@@ -10441,7 +10414,7 @@ msgid "Numbered list"
msgstr ""
#. js-lingui-id: b/j06W
#: src/pages/settings/applications/components/SettingsApplicationRegistrationContent.tsx
#: src/pages/settings/applications/SettingsApplicationRegistrationDetails.tsx
#: src/pages/settings/ai/components/SettingsAIMCP.tsx
msgid "OAuth"
msgstr "OAuth"
@@ -10721,6 +10694,7 @@ msgid "Open Outlook"
msgstr "Outlook 열기"
#. js-lingui-id: bY2Xkv
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
msgid "Open side panel"
msgstr "사이드 패널 열기"
@@ -10811,7 +10785,6 @@ msgstr "정리"
#: src/pages/settings/admin-panel/SettingsAdminUserDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminIndicatorHealthStatus.tsx
#: src/pages/settings/admin-panel/SettingsAdminConfigVariableDetails.tsx
#: src/pages/settings/admin-panel/SettingsAdminApplicationRegistrationDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
#: src/pages/settings/admin-panel/SettingsAdmin.tsx
#: src/modules/settings/hooks/useSettingsNavigationItems.tsx
@@ -11724,6 +11697,11 @@ msgstr "레코드 레이블"
msgid "Record Page"
msgstr "레코드 페이지"
#. js-lingui-id: dSCufP
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Record Selection"
msgstr "레코드 선택"
#. js-lingui-id: NxW0+c
#: src/modules/side-panel/pages/page-layout/utils/getPageLayoutPageTitle.ts
msgid "Record Table Settings"
@@ -12048,8 +12026,6 @@ msgstr "이메일 다시 보내기"
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset"
msgstr "초기화"
@@ -12059,11 +12035,6 @@ msgstr "초기화"
msgid "Reset 2FA"
msgstr "이중 인증 재설정"
#. js-lingui-id: kw0Yv1
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "Reset all overrides on this layout to return it to the app default"
msgstr ""
#. js-lingui-id: YdI8A2
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
msgid "Reset label to default"
@@ -12076,8 +12047,6 @@ msgstr ""
#: src/modules/side-panel/pages/page-layout/components/RegularTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/side-panel/pages/page-layout/components/CanvasTabSettingsContent.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
msgid "Reset to default"
@@ -12343,11 +12312,6 @@ msgstr "{formattedName} 실행 중"
msgid "Running function"
msgstr "함수 실행 중"
#. js-lingui-id: SoR81K
#: src/modules/command-menu-item/engine-command/hooks/useEnrichHeadlessCommandContextApiWithWorkflowVersionTriggerInformation.ts
msgid "Running workflows on all records is not yet supported. Please select records manually."
msgstr ""
#. js-lingui-id: LTC198
#: src/modules/ai/components/CodeExecutionDisplay.tsx
msgid "Running..."
@@ -12431,6 +12395,11 @@ msgstr "SDK"
msgid "Search"
msgstr "검색"
#. js-lingui-id: aOQ/Fi
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
msgid "Search ''{sidePanelSearch}'' with..."
msgstr "''{sidePanelSearch}''을(를) 다음에서 검색..."
#. js-lingui-id: g2dQp/
#: src/modules/settings/roles/role-permissions/object-level-permissions/record-level-permissions/components/SettingsRolePermissionsObjectLevelRecordLevelPermissionMeValueSelect.tsx
msgid "Search 1 {fieldTypeLabelLowercase} field"
@@ -14264,11 +14233,6 @@ msgstr "이 계정은 연결되어 있지만 아직 귀하를 대신해 이메
msgid "This action can return up to {maxRecordsFormatted} records."
msgstr ""
#. js-lingui-id: 2xOCJW
#: src/modules/settings/data-model/object-details/components/tabs/ObjectLayout.tsx
msgid "This action cannot be undone."
msgstr ""
#. js-lingui-id: Ox1hE7
#: src/modules/settings/profile/components/DeleteAccount.tsx
msgid ""
@@ -14377,11 +14341,6 @@ msgstr "이 키는 본문 입력을 통해 설정해야 합니다"
msgid "This model will be removed from the provider. You can re-add it later."
msgstr "이 모델은 공급자에서 제거됩니다. 나중에 다시 추가할 수 있습니다."
#. js-lingui-id: NCA55L
#: src/modules/page-layout/widgets/components/StandaloneWidgetPlaceholder.tsx
msgid "This page has no content"
msgstr ""
#. js-lingui-id: R/PuIn
#: src/pages/settings/admin-panel/SettingsAdminNewAiProvider.tsx
msgid "This provider doesn't have a native SDK yet — it will use OpenAI-compatible mode. Need native support? Reach out to us."
@@ -15126,7 +15085,7 @@ msgstr ""
#: src/modules/ui/field/display/components/ActorDisplay.tsx
#: src/modules/side-panel/components/SidePanelContextChip.tsx
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
#: src/modules/page-layout/hooks/usePageLayoutAddTabStrategy.ts
#: src/modules/page-layout/components/PageLayoutTabsRenderer.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleFullNameFieldDisplay.tsx
#: src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldDisplay.tsx
#: src/modules/object-record/components/RecordChip.tsx
@@ -16457,10 +16416,10 @@ msgstr "엔터프라이즈 기능이 비활성화됩니다"
msgid "Your enterprise features will remain active until {cancelAtDate}."
msgstr "엔터프라이즈 기능은 {cancelAtDate}까지 계속 활성화됩니다."
#. js-lingui-id: 5TsUUL
#: src/modules/information-banner/components/enterprise/InformationBannerInvalidEnterpriseKey.tsx
msgid "Your enterprise key is no longer valid. Activate a new key to continue using enterprise features."
msgstr ""
#. js-lingui-id: 69Siss
#: src/modules/information-banner/components/enterprise/InformationBannerLegacyEnterpriseKey.tsx
msgid "Your enterprise key format is deprecated. Please activate a new key to keep enterprise features."
msgstr "엔터프라이즈 키 형식이 더 이상 사용되지 않습니다. 엔터프라이즈 기능을 유지하려면 새 키를 활성화하세요."
#. js-lingui-id: NTpA4U
#: src/pages/settings/enterprise/SettingsEnterprise.tsx

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