Compare commits
71
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c2fed8232 | ||
|
|
14048f7253 | ||
|
|
da1b1f1cbc | ||
|
|
31718d163c | ||
|
|
f47608de07 | ||
|
|
695518a15e | ||
|
|
34ab72c460 | ||
|
|
9eba54134d | ||
|
|
34832815e6 | ||
|
|
7a341c6475 | ||
|
|
1c297e5ace | ||
|
|
c3a3cf9c67 | ||
|
|
8ef99671e2 | ||
|
|
e63a23ea00 | ||
|
|
39b9ae6a76 | ||
|
|
afeef8e04a | ||
|
|
c7f6036a47 | ||
|
|
ec5ab2b84a | ||
|
|
b171a23216 | ||
|
|
f771b13a20 | ||
|
|
92635b960b | ||
|
|
2e015ee68d | ||
|
|
82611de9b6 | ||
|
|
36c7c99e34 | ||
|
|
160a80cbcb | ||
|
|
052aecccc7 | ||
|
|
b651a74b1f | ||
|
|
29979f535d | ||
|
|
b1e449d764 | ||
|
|
c28e637ea7 | ||
|
|
b732b2efd4 | ||
|
|
3c5796bdb0 | ||
|
|
cfefe9273b | ||
|
|
d126d54bbc | ||
|
|
5041b3e14b | ||
|
|
1e2b31b040 | ||
|
|
340a01567a | ||
|
|
4985270e69 | ||
|
|
b87762b1c2 | ||
|
|
578d990b9c | ||
|
|
dfe9cb4346 | ||
|
|
91374262f2 | ||
|
|
7335d352a9 | ||
|
|
bfdbc93b1c | ||
|
|
3abef48663 | ||
|
|
441a9464d1 | ||
|
|
72dd3af155 | ||
|
|
6c1db2e7fb | ||
|
|
511d1bd7ab | ||
|
|
d47ddad4c5 | ||
|
|
33a474c8e6 | ||
|
|
cc247c2e8e | ||
|
|
4d6c8db205 | ||
|
|
a8dad6c882 | ||
|
|
895bb58fc6 | ||
|
|
4fbe0a92ae | ||
|
|
5f0d6553f6 | ||
|
|
13ea3ec75c | ||
|
|
e25ea6069d | ||
|
|
f7ef41959b | ||
|
|
ba0108944f | ||
|
|
03c94727be | ||
|
|
bf22373315 | ||
|
|
e1374e34a7 | ||
|
|
523289efad | ||
|
|
e6bb39deea | ||
|
|
790a58945b | ||
|
|
3295f5ee07 | ||
|
|
2bfd2f6b85 | ||
|
|
5de269a64e | ||
|
|
cc7131b0b5 |
@@ -53,6 +53,8 @@ jobs:
|
||||
image: redis
|
||||
ports:
|
||||
- 6379:6379
|
||||
env:
|
||||
PUBLISHABLE_PACKAGES: twenty-client-sdk twenty-sdk create-twenty-app
|
||||
steps:
|
||||
- name: Fetch custom Github Actions and base branch history
|
||||
uses: actions/checkout@v4
|
||||
@@ -66,13 +68,13 @@ jobs:
|
||||
run: |
|
||||
CI_VERSION="0.0.0-ci.$(date +%s)"
|
||||
echo "CI_VERSION=$CI_VERSION" >> $GITHUB_ENV
|
||||
npx nx run-many -t set-local-version -p twenty-sdk twenty-client-sdk create-twenty-app --releaseVersion=$CI_VERSION
|
||||
npx nx run-many -t set-local-version -p $PUBLISHABLE_PACKAGES --releaseVersion=$CI_VERSION
|
||||
|
||||
- name: Build packages
|
||||
run: |
|
||||
npx nx build twenty-sdk
|
||||
npx nx build twenty-client-sdk
|
||||
npx nx build create-twenty-app
|
||||
for pkg in $PUBLISHABLE_PACKAGES; do
|
||||
npx nx build $pkg
|
||||
done
|
||||
|
||||
- name: Install and start Verdaccio
|
||||
run: |
|
||||
@@ -89,11 +91,13 @@ jobs:
|
||||
|
||||
- name: Publish packages to local registry
|
||||
run: |
|
||||
npm set //localhost:4873/:_authToken "ci-auth-token"
|
||||
yarn config set npmRegistryServer http://localhost:4873
|
||||
yarn config set unsafeHttpWhitelist --json '["localhost"]'
|
||||
yarn config set npmAuthToken ci-auth-token
|
||||
|
||||
for pkg in twenty-sdk twenty-client-sdk create-twenty-app; do
|
||||
for pkg in $PUBLISHABLE_PACKAGES; do
|
||||
cd packages/$pkg
|
||||
npm publish --registry http://localhost:4873 --tag ci
|
||||
yarn npm publish --tag ci
|
||||
cd ../..
|
||||
done
|
||||
|
||||
|
||||
+940
File diff suppressed because one or more lines are too long
Vendored
-942
File diff suppressed because one or more lines are too long
+1
-1
@@ -6,4 +6,4 @@ enableInlineHunks: true
|
||||
|
||||
nodeLinker: node-modules
|
||||
|
||||
yarnPath: .yarn/releases/yarn-4.9.2.cjs
|
||||
yarnPath: .yarn/releases/yarn-4.13.0.cjs
|
||||
|
||||
+3
-2
@@ -175,7 +175,7 @@
|
||||
},
|
||||
"license": "AGPL-3.0",
|
||||
"name": "twenty",
|
||||
"packageManager": "yarn@4.9.2",
|
||||
"packageManager": "yarn@4.13.0",
|
||||
"resolutions": {
|
||||
"graphql": "16.8.1",
|
||||
"type-fest": "4.10.1",
|
||||
@@ -211,7 +211,8 @@
|
||||
"packages/twenty-apps",
|
||||
"packages/twenty-cli",
|
||||
"packages/create-twenty-app",
|
||||
"packages/twenty-oxlint-rules"
|
||||
"packages/twenty-oxlint-rules",
|
||||
"packages/twenty-companion"
|
||||
]
|
||||
},
|
||||
"prettier": {
|
||||
|
||||
@@ -41,7 +41,7 @@ cd my-twenty-app
|
||||
|
||||
# Or do it manually:
|
||||
yarn twenty server start # Start local Twenty server
|
||||
yarn twenty remote add --local # Authenticate via OAuth
|
||||
yarn twenty remote add http://localhost:2020 --as local # Authenticate via OAuth
|
||||
|
||||
# Start dev mode: watches, builds, and syncs local changes to your workspace
|
||||
# (also auto-generates typed CoreApiClient — MetadataApiClient ships pre-built — both available via `twenty-client-sdk`)
|
||||
@@ -122,18 +122,10 @@ yarn twenty server reset # Wipe all data and start fresh
|
||||
|
||||
The server is pre-seeded with a workspace and user (`tim@apple.dev` / `tim@apple.dev`).
|
||||
|
||||
### How to use a local Twenty instance
|
||||
|
||||
If you're already running a local Twenty instance, you can connect to it instead of using Docker. Pass the port your local server is listening on (default: `3000`):
|
||||
|
||||
```bash
|
||||
npx create-twenty-app@latest my-app --port 3000
|
||||
```
|
||||
|
||||
## Next steps
|
||||
|
||||
- Run `yarn twenty help` to see all available commands.
|
||||
- Use `yarn twenty remote add --local` to authenticate with your Twenty workspace via OAuth.
|
||||
- Use `yarn twenty remote add <url>` to authenticate with your Twenty workspace via OAuth.
|
||||
- Explore the generated project and add your first entity with `yarn twenty add` (logic functions, front components, objects, roles, views, navigation menu items, skills).
|
||||
- Use `yarn twenty dev` while you iterate — it watches, builds, and syncs changes to your workspace in real time.
|
||||
- `CoreApiClient` is auto-generated by `yarn twenty dev`. `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`) ships pre-built with the SDK. Both are available via `import { CoreApiClient } from 'twenty-client-sdk/core'` and `import { MetadataApiClient } from 'twenty-client-sdk/metadata'`.
|
||||
@@ -177,7 +169,7 @@ Our team reviews contributions for quality, security, and reusability before mer
|
||||
## Troubleshooting
|
||||
|
||||
- Server not starting: check Docker is running (`docker info`), then try `yarn twenty server logs`.
|
||||
- Auth not working: make sure you're logged in to Twenty in the browser first, then run `yarn twenty remote add --local`.
|
||||
- Auth not working: make sure you're logged in to Twenty in the browser first, then run `yarn twenty remote add <url>`.
|
||||
- Types not generated: ensure `yarn twenty dev` is running — it auto-generates the typed client.
|
||||
|
||||
## Contributing
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "create-twenty-app",
|
||||
"version": "0.8.0-canary.2",
|
||||
"version": "0.8.0-canary.5",
|
||||
"description": "Command-line interface to create Twenty application",
|
||||
"main": "dist/cli.cjs",
|
||||
"bin": "dist/cli.cjs",
|
||||
@@ -36,6 +36,7 @@
|
||||
"lodash.camelcase": "^4.3.0",
|
||||
"lodash.kebabcase": "^4.1.1",
|
||||
"lodash.startcase": "^4.4.0",
|
||||
"twenty-sdk": "workspace:*",
|
||||
"uuid": "^13.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -45,7 +46,6 @@
|
||||
"@types/lodash.kebabcase": "^4.1.7",
|
||||
"@types/lodash.startcase": "^4",
|
||||
"@types/node": "^20.0.0",
|
||||
"twenty-sdk": "workspace:*",
|
||||
"twenty-shared": "workspace:*",
|
||||
"typescript": "^5.9.2",
|
||||
"vite": "^7.0.0",
|
||||
|
||||
@@ -31,10 +31,6 @@ const program = new Command(packageJson.name)
|
||||
'--skip-local-instance',
|
||||
'Skip the local Twenty instance setup prompt',
|
||||
)
|
||||
.option(
|
||||
'-p, --port <port>',
|
||||
'Port of an existing Twenty server (skips Docker setup)',
|
||||
)
|
||||
.helpOption('-h, --help', 'Display this help message.')
|
||||
.action(
|
||||
async (
|
||||
@@ -46,7 +42,6 @@ const program = new Command(packageJson.name)
|
||||
displayName?: string;
|
||||
description?: string;
|
||||
skipLocalInstance?: boolean;
|
||||
port?: string;
|
||||
},
|
||||
) => {
|
||||
const modeFlags = [options?.exhaustive, options?.minimal].filter(Boolean);
|
||||
@@ -76,8 +71,6 @@ const program = new Command(packageJson.name)
|
||||
|
||||
const mode: ScaffoldingMode = options?.minimal ? 'minimal' : 'exhaustive';
|
||||
|
||||
const port = options?.port ? parseInt(options.port, 10) : undefined;
|
||||
|
||||
await new CreateAppCommand().execute({
|
||||
directory,
|
||||
mode,
|
||||
@@ -85,7 +78,6 @@ const program = new Command(packageJson.name)
|
||||
displayName: options?.displayName,
|
||||
description: options?.description,
|
||||
skipLocalInstance: options?.skipLocalInstance,
|
||||
port,
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import { basename } from 'path';
|
||||
import { copyBaseApplicationProject } from '@/utils/app-template';
|
||||
import { convertToLabel } from '@/utils/convert-to-label';
|
||||
import { install } from '@/utils/install';
|
||||
import {
|
||||
type LocalInstanceResult,
|
||||
setupLocalInstance,
|
||||
} from '@/utils/setup-local-instance';
|
||||
import { tryGitInit } from '@/utils/try-git-init';
|
||||
import chalk from 'chalk';
|
||||
import * as fs from 'fs-extra';
|
||||
import inquirer from 'inquirer';
|
||||
import kebabCase from 'lodash.kebabcase';
|
||||
import { execSync } from 'node:child_process';
|
||||
import * as path from 'path';
|
||||
import { basename } from 'path';
|
||||
import {
|
||||
authLoginOAuth,
|
||||
serverStart,
|
||||
type ServerStartResult,
|
||||
} from 'twenty-sdk/cli';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import {
|
||||
@@ -29,7 +29,6 @@ type CreateAppOptions = {
|
||||
displayName?: string;
|
||||
description?: string;
|
||||
skipLocalInstance?: boolean;
|
||||
port?: number;
|
||||
};
|
||||
|
||||
export class CreateAppCommand {
|
||||
@@ -60,17 +59,22 @@ export class CreateAppCommand {
|
||||
|
||||
await tryGitInit(appDirectory);
|
||||
|
||||
let localResult: LocalInstanceResult = { running: false };
|
||||
let serverResult: ServerStartResult | undefined;
|
||||
|
||||
if (!options.skipLocalInstance) {
|
||||
localResult = await setupLocalInstance(appDirectory, options.port);
|
||||
const startResult = await serverStart({
|
||||
onProgress: (message: string) => console.log(chalk.gray(message)),
|
||||
});
|
||||
|
||||
if (localResult.running && localResult.serverUrl) {
|
||||
await this.connectToLocal(appDirectory, localResult.serverUrl);
|
||||
if (startResult.success) {
|
||||
serverResult = startResult.data;
|
||||
await this.connectToLocal(serverResult.url);
|
||||
} else {
|
||||
console.log(chalk.yellow(`\n${startResult.error.message}`));
|
||||
}
|
||||
}
|
||||
|
||||
this.logSuccess(appDirectory, localResult);
|
||||
this.logSuccess(appDirectory, serverResult);
|
||||
} catch (error) {
|
||||
console.error(
|
||||
chalk.red('\nCreate application failed:'),
|
||||
@@ -197,15 +201,20 @@ export class CreateAppCommand {
|
||||
);
|
||||
}
|
||||
|
||||
private async connectToLocal(
|
||||
appDirectory: string,
|
||||
serverUrl: string,
|
||||
): Promise<void> {
|
||||
private async connectToLocal(serverUrl: string): Promise<void> {
|
||||
try {
|
||||
execSync(`yarn twenty remote add ${serverUrl} --as local`, {
|
||||
cwd: appDirectory,
|
||||
stdio: 'inherit',
|
||||
const result = await authLoginOAuth({
|
||||
apiUrl: serverUrl,
|
||||
remote: 'local',
|
||||
});
|
||||
|
||||
if (!result.success) {
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
'Authentication skipped. Run `yarn twenty remote add --local` manually.',
|
||||
),
|
||||
);
|
||||
}
|
||||
} catch {
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
@@ -217,14 +226,14 @@ export class CreateAppCommand {
|
||||
|
||||
private logSuccess(
|
||||
appDirectory: string,
|
||||
localResult: LocalInstanceResult,
|
||||
serverResult?: ServerStartResult,
|
||||
): void {
|
||||
const dirName = basename(appDirectory);
|
||||
|
||||
console.log(chalk.blue('\nApplication created. Next steps:'));
|
||||
console.log(chalk.gray(`- cd ${dirName}`));
|
||||
|
||||
if (!localResult.running) {
|
||||
if (!serverResult) {
|
||||
console.log(
|
||||
chalk.gray(
|
||||
'- yarn twenty remote add --local # Authenticate with Twenty',
|
||||
|
||||
@@ -1,106 +0,0 @@
|
||||
import chalk from 'chalk';
|
||||
import { execSync } from 'node:child_process';
|
||||
|
||||
const LOCAL_PORTS = [2020, 3000];
|
||||
|
||||
// Minimal health check — the full implementation lives in twenty-sdk
|
||||
const isServerReady = async (port: number): Promise<boolean> => {
|
||||
const controller = new AbortController();
|
||||
const timeoutId = setTimeout(() => controller.abort(), 3000);
|
||||
|
||||
try {
|
||||
const response = await fetch(`http://localhost:${port}/healthz`, {
|
||||
signal: controller.signal,
|
||||
});
|
||||
|
||||
const body = await response.json();
|
||||
|
||||
return body.status === 'ok';
|
||||
} catch {
|
||||
return false;
|
||||
} finally {
|
||||
clearTimeout(timeoutId);
|
||||
}
|
||||
};
|
||||
|
||||
const detectRunningServer = async (
|
||||
preferredPort?: number,
|
||||
): Promise<number | null> => {
|
||||
const ports = preferredPort ? [preferredPort] : LOCAL_PORTS;
|
||||
|
||||
for (const port of ports) {
|
||||
if (await isServerReady(port)) {
|
||||
return port;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
export type LocalInstanceResult = {
|
||||
running: boolean;
|
||||
serverUrl?: string;
|
||||
};
|
||||
|
||||
export const setupLocalInstance = async (
|
||||
appDirectory: string,
|
||||
preferredPort?: number,
|
||||
): Promise<LocalInstanceResult> => {
|
||||
const detectedPort = await detectRunningServer(preferredPort);
|
||||
|
||||
if (detectedPort) {
|
||||
const serverUrl = `http://localhost:${detectedPort}`;
|
||||
|
||||
console.log(chalk.green(`Twenty server detected on ${serverUrl}.\n`));
|
||||
|
||||
return { running: true, serverUrl };
|
||||
}
|
||||
|
||||
if (preferredPort) {
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
`No Twenty server found on port ${preferredPort}.\n` +
|
||||
'Start your server and run `yarn twenty remote add --local` manually.\n',
|
||||
),
|
||||
);
|
||||
|
||||
return { running: false };
|
||||
}
|
||||
|
||||
console.log(chalk.blue('Setting up local Twenty instance...\n'));
|
||||
|
||||
try {
|
||||
execSync('yarn twenty server start', {
|
||||
cwd: appDirectory,
|
||||
stdio: 'inherit',
|
||||
});
|
||||
} catch {
|
||||
return { running: false };
|
||||
}
|
||||
|
||||
console.log(chalk.gray('Waiting for Twenty to be ready...\n'));
|
||||
|
||||
const startTime = Date.now();
|
||||
const timeoutMs = 180 * 1000;
|
||||
|
||||
while (Date.now() - startTime < timeoutMs) {
|
||||
if (await isServerReady(LOCAL_PORTS[0])) {
|
||||
const serverUrl = `http://localhost:${LOCAL_PORTS[0]}`;
|
||||
|
||||
console.log(chalk.green(`Server running on '${serverUrl}'\n`));
|
||||
|
||||
return { running: true, serverUrl };
|
||||
}
|
||||
|
||||
await new Promise((resolve) => setTimeout(resolve, 2000));
|
||||
}
|
||||
|
||||
console.log(
|
||||
chalk.yellow(
|
||||
'Twenty server did not become healthy in time.\n',
|
||||
"Check: 'yarn twenty server logs'\n",
|
||||
),
|
||||
);
|
||||
|
||||
return { running: false };
|
||||
};
|
||||
@@ -5,7 +5,7 @@ This is a [Twenty](https://twenty.com) application project bootstrapped with [`c
|
||||
First, authenticate to your workspace:
|
||||
|
||||
```bash
|
||||
yarn twenty remote add --local
|
||||
yarn twenty remote add http://localhost:2020 --as local
|
||||
```
|
||||
|
||||
Then, start development mode to sync your app and watch for changes:
|
||||
@@ -22,7 +22,7 @@ Run `yarn twenty help` to list all available commands. Common commands:
|
||||
|
||||
```bash
|
||||
# Remotes & Authentication
|
||||
yarn twenty remote add --local # Authenticate with Twenty
|
||||
yarn twenty remote add http://localhost:2020 --as local # Authenticate with Twenty
|
||||
yarn twenty remote status # Check auth status
|
||||
yarn twenty remote switch # Switch default remote
|
||||
yarn twenty remote list # List all configured remotes
|
||||
|
||||
@@ -5,7 +5,7 @@ This is a [Twenty](https://twenty.com) application project bootstrapped with [`c
|
||||
First, authenticate to your workspace:
|
||||
|
||||
```bash
|
||||
yarn twenty remote add --local
|
||||
yarn twenty remote add http://localhost:2020 --as local
|
||||
```
|
||||
|
||||
Then, start development mode to sync your app and watch for changes:
|
||||
@@ -22,7 +22,7 @@ Run `yarn twenty help` to list all available commands. Common commands:
|
||||
|
||||
```bash
|
||||
# Remotes & Authentication
|
||||
yarn twenty remote add --local # Authenticate with Twenty
|
||||
yarn twenty remote add http://localhost:2020 --as local # Authenticate with Twenty
|
||||
yarn twenty remote status # Check auth status
|
||||
yarn twenty remote switch # Switch default remote
|
||||
yarn twenty remote list # List all configured remotes
|
||||
|
||||
@@ -5,7 +5,7 @@ This is a [Twenty](https://twenty.com) application project bootstrapped with [`c
|
||||
First, authenticate to your workspace:
|
||||
|
||||
```bash
|
||||
yarn twenty remote add --local
|
||||
yarn twenty remote add http://localhost:2020 --as local
|
||||
```
|
||||
|
||||
Then, start development mode to sync your app and watch for changes:
|
||||
@@ -22,7 +22,7 @@ Run `yarn twenty help` to list all available commands. Common commands:
|
||||
|
||||
```bash
|
||||
# Remotes & Authentication
|
||||
yarn twenty remote add --local # Authenticate with Twenty
|
||||
yarn twenty remote add http://localhost:2020 --as local # Authenticate with Twenty
|
||||
yarn twenty remote status # Check auth status
|
||||
yarn twenty remote switch # Switch default remote
|
||||
yarn twenty remote list # List all configured remotes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "twenty-client-sdk",
|
||||
"version": "0.7.0-canary.0",
|
||||
"version": "0.8.0-canary.5",
|
||||
"sideEffects": false,
|
||||
"license": "AGPL-3.0",
|
||||
"scripts": {
|
||||
|
||||
@@ -1746,6 +1746,7 @@ enum FeatureFlagKey {
|
||||
IS_RECORD_PAGE_LAYOUT_GLOBAL_EDITION_ENABLED
|
||||
IS_CONNECTED_ACCOUNT_MIGRATED
|
||||
IS_GRAPHQL_QUERY_TIMING_ENABLED
|
||||
IS_RECORD_TABLE_WIDGET_ENABLED
|
||||
}
|
||||
|
||||
type ClientConfig {
|
||||
@@ -4089,6 +4090,7 @@ input UpdateObjectPayload {
|
||||
labelIdentifierFieldMetadataId: UUID
|
||||
imageIdentifierFieldMetadataId: UUID
|
||||
isLabelSyncedWithName: Boolean
|
||||
isSearchable: Boolean
|
||||
}
|
||||
|
||||
input UpdateViewFieldInput {
|
||||
|
||||
@@ -1427,7 +1427,7 @@ export interface PublicFeatureFlag {
|
||||
__typename: 'PublicFeatureFlag'
|
||||
}
|
||||
|
||||
export type FeatureFlagKey = 'IS_UNIQUE_INDEXES_ENABLED' | 'IS_JSON_FILTER_ENABLED' | 'IS_AI_ENABLED' | 'IS_APPLICATION_ENABLED' | 'IS_MARKETPLACE_ENABLED' | 'IS_RECORD_PAGE_LAYOUT_EDITING_ENABLED' | 'IS_PUBLIC_DOMAIN_ENABLED' | 'IS_EMAILING_DOMAIN_ENABLED' | 'IS_DASHBOARD_V2_ENABLED' | 'IS_ATTACHMENT_MIGRATED' | 'IS_NOTE_TARGET_MIGRATED' | 'IS_TASK_TARGET_MIGRATED' | 'IS_ROW_LEVEL_PERMISSION_PREDICATES_ENABLED' | 'IS_JUNCTION_RELATIONS_ENABLED' | 'IS_COMMAND_MENU_ITEM_ENABLED' | 'IS_NAVIGATION_MENU_ITEM_ENABLED' | 'IS_DATE_TIME_WHOLE_DAY_FILTER_ENABLED' | 'IS_NAVIGATION_MENU_ITEM_EDITING_ENABLED' | 'IS_DRAFT_EMAIL_ENABLED' | 'IS_USAGE_ANALYTICS_ENABLED' | 'IS_RICH_TEXT_V1_MIGRATED' | 'IS_DIRECT_GRAPHQL_EXECUTION_ENABLED' | 'IS_RECORD_PAGE_LAYOUT_GLOBAL_EDITION_ENABLED' | 'IS_CONNECTED_ACCOUNT_MIGRATED' | 'IS_GRAPHQL_QUERY_TIMING_ENABLED'
|
||||
export type FeatureFlagKey = 'IS_UNIQUE_INDEXES_ENABLED' | 'IS_JSON_FILTER_ENABLED' | 'IS_AI_ENABLED' | 'IS_APPLICATION_ENABLED' | 'IS_MARKETPLACE_ENABLED' | 'IS_RECORD_PAGE_LAYOUT_EDITING_ENABLED' | 'IS_PUBLIC_DOMAIN_ENABLED' | 'IS_EMAILING_DOMAIN_ENABLED' | 'IS_DASHBOARD_V2_ENABLED' | 'IS_ATTACHMENT_MIGRATED' | 'IS_NOTE_TARGET_MIGRATED' | 'IS_TASK_TARGET_MIGRATED' | 'IS_ROW_LEVEL_PERMISSION_PREDICATES_ENABLED' | 'IS_JUNCTION_RELATIONS_ENABLED' | 'IS_COMMAND_MENU_ITEM_ENABLED' | 'IS_NAVIGATION_MENU_ITEM_ENABLED' | 'IS_DATE_TIME_WHOLE_DAY_FILTER_ENABLED' | 'IS_NAVIGATION_MENU_ITEM_EDITING_ENABLED' | 'IS_DRAFT_EMAIL_ENABLED' | 'IS_USAGE_ANALYTICS_ENABLED' | 'IS_RICH_TEXT_V1_MIGRATED' | 'IS_DIRECT_GRAPHQL_EXECUTION_ENABLED' | 'IS_RECORD_PAGE_LAYOUT_GLOBAL_EDITION_ENABLED' | 'IS_CONNECTED_ACCOUNT_MIGRATED' | 'IS_GRAPHQL_QUERY_TIMING_ENABLED' | 'IS_RECORD_TABLE_WIDGET_ENABLED'
|
||||
|
||||
export interface ClientConfig {
|
||||
appVersion?: Scalars['String']
|
||||
@@ -6475,7 +6475,7 @@ export interface UpdateOneObjectInput {update: UpdateObjectPayload,
|
||||
/** The id of the object to update */
|
||||
id: Scalars['UUID']}
|
||||
|
||||
export interface UpdateObjectPayload {labelSingular?: (Scalars['String'] | null),labelPlural?: (Scalars['String'] | null),nameSingular?: (Scalars['String'] | null),namePlural?: (Scalars['String'] | null),description?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),shortcut?: (Scalars['String'] | null),color?: (Scalars['String'] | null),isActive?: (Scalars['Boolean'] | null),labelIdentifierFieldMetadataId?: (Scalars['UUID'] | null),imageIdentifierFieldMetadataId?: (Scalars['UUID'] | null),isLabelSyncedWithName?: (Scalars['Boolean'] | null)}
|
||||
export interface UpdateObjectPayload {labelSingular?: (Scalars['String'] | null),labelPlural?: (Scalars['String'] | null),nameSingular?: (Scalars['String'] | null),namePlural?: (Scalars['String'] | null),description?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),shortcut?: (Scalars['String'] | null),color?: (Scalars['String'] | null),isActive?: (Scalars['Boolean'] | null),labelIdentifierFieldMetadataId?: (Scalars['UUID'] | null),imageIdentifierFieldMetadataId?: (Scalars['UUID'] | null),isLabelSyncedWithName?: (Scalars['Boolean'] | null),isSearchable?: (Scalars['Boolean'] | null)}
|
||||
|
||||
export interface UpdateViewFieldInput {
|
||||
/** The id of the view field to update */
|
||||
@@ -9154,7 +9154,8 @@ export const enumFeatureFlagKey = {
|
||||
IS_DIRECT_GRAPHQL_EXECUTION_ENABLED: 'IS_DIRECT_GRAPHQL_EXECUTION_ENABLED' as const,
|
||||
IS_RECORD_PAGE_LAYOUT_GLOBAL_EDITION_ENABLED: 'IS_RECORD_PAGE_LAYOUT_GLOBAL_EDITION_ENABLED' as const,
|
||||
IS_CONNECTED_ACCOUNT_MIGRATED: 'IS_CONNECTED_ACCOUNT_MIGRATED' as const,
|
||||
IS_GRAPHQL_QUERY_TIMING_ENABLED: 'IS_GRAPHQL_QUERY_TIMING_ENABLED' as const
|
||||
IS_GRAPHQL_QUERY_TIMING_ENABLED: 'IS_GRAPHQL_QUERY_TIMING_ENABLED' as const,
|
||||
IS_RECORD_TABLE_WIDGET_ENABLED: 'IS_RECORD_TABLE_WIDGET_ENABLED' as const
|
||||
}
|
||||
|
||||
export const enumConfigSource = {
|
||||
|
||||
@@ -10303,6 +10303,9 @@ export default {
|
||||
"isLabelSyncedWithName": [
|
||||
6
|
||||
],
|
||||
"isSearchable": [
|
||||
6
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
|
||||
-12998
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,7 @@
|
||||
"description": "Twenty meeting recorder",
|
||||
"main": ".webpack/main",
|
||||
"scripts": {
|
||||
"start": "concurrently \"npm run start:server\" \"npm run start:electron\"",
|
||||
"start": "concurrently \"yarn start:server\" \"yarn start:electron\"",
|
||||
"start:electron": "electron-forge start",
|
||||
"package": "electron-forge package",
|
||||
"make": "electron-forge make",
|
||||
@@ -37,10 +37,8 @@
|
||||
"node-loader": "^2.1.0",
|
||||
"style-loader": "^3.3.4"
|
||||
},
|
||||
"overrides": {
|
||||
"@electron/packager": {
|
||||
"@electron/osx-sign": "github:recallai/osx-sign"
|
||||
}
|
||||
"resolutions": {
|
||||
"@electron/packager/@electron/osx-sign": "github:recallai/osx-sign"
|
||||
},
|
||||
"dependencies": {
|
||||
"@anthropic-ai/sdk": "^0.40.1",
|
||||
|
||||
@@ -16,3 +16,5 @@ STORAGE_TYPE=local
|
||||
# STORAGE_S3_REGION=eu-west3
|
||||
# STORAGE_S3_NAME=my-bucket
|
||||
# STORAGE_S3_ENDPOINT=
|
||||
# STORAGE_S3_ACCESS_KEY_ID=
|
||||
# STORAGE_S3_SECRET_ACCESS_KEY=
|
||||
|
||||
@@ -17,6 +17,7 @@ COPY ./packages/twenty-ui/package.json /app/packages/twenty-ui/
|
||||
COPY ./packages/twenty-shared/package.json /app/packages/twenty-shared/
|
||||
COPY ./packages/twenty-front/package.json /app/packages/twenty-front/
|
||||
COPY ./packages/twenty-sdk/package.json /app/packages/twenty-sdk/
|
||||
COPY ./packages/twenty-client-sdk/package.json /app/packages/twenty-client-sdk/
|
||||
|
||||
RUN yarn && yarn cache clean && npx nx reset
|
||||
|
||||
@@ -27,6 +28,7 @@ COPY ./packages/twenty-emails /app/packages/twenty-emails
|
||||
COPY ./packages/twenty-shared /app/packages/twenty-shared
|
||||
COPY ./packages/twenty-ui /app/packages/twenty-ui
|
||||
COPY ./packages/twenty-sdk /app/packages/twenty-sdk
|
||||
COPY ./packages/twenty-client-sdk /app/packages/twenty-client-sdk
|
||||
COPY ./packages/twenty-server /app/packages/twenty-server
|
||||
|
||||
RUN npx nx run twenty-server:lingui:extract && \
|
||||
@@ -47,7 +49,7 @@ RUN npx esbuild packages/twenty-server/scripts/setup-db.ts \
|
||||
RUN find /app/packages/twenty-server/dist -name '*.d.ts' -delete \
|
||||
&& rm -rf /app/packages/twenty-server/dist/packages/twenty-server/test
|
||||
|
||||
RUN yarn workspaces focus --production twenty-emails twenty-shared twenty-sdk twenty-server
|
||||
RUN yarn workspaces focus --production twenty-emails twenty-shared twenty-sdk twenty-client-sdk twenty-server
|
||||
|
||||
|
||||
FROM common-deps AS twenty-front-build
|
||||
@@ -58,6 +60,7 @@ COPY ./packages/twenty-front /app/packages/twenty-front
|
||||
COPY ./packages/twenty-ui /app/packages/twenty-ui
|
||||
COPY ./packages/twenty-shared /app/packages/twenty-shared
|
||||
COPY ./packages/twenty-sdk /app/packages/twenty-sdk
|
||||
COPY ./packages/twenty-client-sdk /app/packages/twenty-client-sdk
|
||||
RUN npx nx run twenty-front:lingui:extract && \
|
||||
npx nx run twenty-front:lingui:compile
|
||||
# To skip the memory-intensive frontend build, pre-build on the host:
|
||||
@@ -106,6 +109,8 @@ COPY --chown=1000 --from=twenty-server-build /app/packages/twenty-shared/dist /a
|
||||
COPY --chown=1000 --from=twenty-server-build /app/packages/twenty-emails/package.json /app/packages/twenty-emails/
|
||||
COPY --chown=1000 --from=twenty-server-build /app/packages/twenty-emails/dist /app/packages/twenty-emails/dist
|
||||
COPY --chown=1000 --from=twenty-server-build /app/packages/twenty-sdk/package.json /app/packages/twenty-sdk/
|
||||
COPY --chown=1000 --from=twenty-server-build /app/packages/twenty-client-sdk/package.json /app/packages/twenty-client-sdk/
|
||||
COPY --chown=1000 --from=twenty-server-build /app/packages/twenty-client-sdk/dist /app/packages/twenty-client-sdk/dist
|
||||
COPY --chown=1000 --from=twenty-server-build /app/packages/twenty-ui/package.json /app/packages/twenty-ui/
|
||||
COPY --chown=1000 --from=twenty-server-build /app/packages/twenty-front/package.json /app/packages/twenty-front/
|
||||
|
||||
@@ -180,6 +185,8 @@ COPY --from=twenty-server-build /app/packages/twenty-shared/dist /app/packages/t
|
||||
COPY --from=twenty-server-build /app/packages/twenty-emails/package.json /app/packages/twenty-emails/
|
||||
COPY --from=twenty-server-build /app/packages/twenty-emails/dist /app/packages/twenty-emails/dist
|
||||
COPY --from=twenty-server-build /app/packages/twenty-sdk/package.json /app/packages/twenty-sdk/
|
||||
COPY --from=twenty-server-build /app/packages/twenty-client-sdk/package.json /app/packages/twenty-client-sdk/
|
||||
COPY --from=twenty-server-build /app/packages/twenty-client-sdk/dist /app/packages/twenty-client-sdk/dist
|
||||
COPY --from=twenty-server-build /app/packages/twenty-ui/package.json /app/packages/twenty-ui/
|
||||
COPY --from=twenty-server-build /app/packages/twenty-front/package.json /app/packages/twenty-front/
|
||||
|
||||
|
||||
@@ -289,6 +289,16 @@ yarn command:prod cron:workflow:automated-cron-trigger
|
||||
**Environment-only mode:** If you set `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, add these variables to your `.env` file instead.
|
||||
</Warning>
|
||||
|
||||
## S3 Storage
|
||||
|
||||
<Warning>
|
||||
By default, Twenty stores uploaded files on the local filesystem. For production deployments, use S3 or an S3-compatible service (MinIO, DigitalOcean Spaces, etc.) to ensure files persist across container restarts and scale across multiple server instances.
|
||||
</Warning>
|
||||
|
||||
Set `STORAGE_TYPE=S_3` and configure the `STORAGE_S3_*` variables through the admin panel or `.env`. See the [config-variables.ts reference](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) for the full list of S3 variables.
|
||||
|
||||
When using S3 with CORS-dependent features (e.g. in-browser file downloads), make sure your bucket allows your Twenty frontend origin in its CORS configuration.
|
||||
|
||||
## Logic Functions & Code Interpreter
|
||||
|
||||
Twenty supports logic functions for workflows and the code interpreter for AI data analysis. Both run user-provided code and require explicit configuration for security.
|
||||
|
||||
@@ -297,6 +297,16 @@ yarn command:prod cron:workflow:automated-cron-trigger
|
||||
**وضع بيئي فقط:** إذا كنت قد ضبطت `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`، فأضف هذه المتغيرات إلى ملف `.env` الخاص بك بدلاً من ذلك.
|
||||
</Warning>
|
||||
|
||||
## تخزين S3
|
||||
|
||||
<Warning>
|
||||
افتراضياً، تقوم Twenty بتخزين الملفات المرفوعة على نظام الملفات المحلي. بالنسبة لعمليات النشر في بيئة الإنتاج، استخدم S3 أو خدمة متوافقة مع S3 (MinIO، DigitalOcean Spaces، إلخ) لضمان بقاء الملفات عبر إعادة تشغيل الحاويات وإتاحة التوسّع عبر مثيلات خوادم متعددة.
|
||||
</Warning>
|
||||
|
||||
عيّن `STORAGE_TYPE=S_3` وقم بتهيئة متغيرات `STORAGE_S3_*` من خلال لوحة الإدارة أو `.env`. راجع [مرجع config-variables.ts](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) للاطلاع على القائمة الكاملة لمتغيرات S3.
|
||||
|
||||
عند استخدام S3 مع الميزات المعتمدة على CORS (مثل تنزيل الملفات داخل المتصفح)، تأكد من أن حاويتك تسمح بأصل واجهة Twenty الأمامية ضمن تهيئة CORS الخاصة بها.
|
||||
|
||||
## الوظائف المنطقية ومفسر الشيفرة
|
||||
|
||||
تدعم Twenty الوظائف المنطقية لعمليات سير العمل ومفسر الشيفرة لتحليل بيانات الذكاء الاصطناعي. كلاهما يقوم بتشغيل الشيفرة المقدمة من المستخدم ويتطلب تهيئة صريحة لأغراض الأمان.
|
||||
|
||||
@@ -297,6 +297,16 @@ yarn command:prod cron:workflow:automated-cron-trigger
|
||||
**Režim pouze s prostředím:** Pokud nastavíte `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, přidejte tyto proměnné do souboru `.env`
|
||||
</Warning>
|
||||
|
||||
## Úložiště S3
|
||||
|
||||
<Warning>
|
||||
Ve výchozím nastavení Twenty ukládá nahrané soubory do místního souborového systému. Pro produkční nasazení použijte S3 nebo službu kompatibilní se S3 (MinIO, DigitalOcean Spaces atd.). aby byly soubory zachovány při restartech kontejnerů a bylo možné škálovat napříč více instancemi serveru.
|
||||
</Warning>
|
||||
|
||||
Nastavte `STORAGE_TYPE=S_3` a nakonfigurujte proměnné `STORAGE_S3_*` prostřednictvím administračního panelu nebo `.env`. Viz [referenci config-variables.ts](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) pro úplný seznam proměnných S3.
|
||||
|
||||
Při používání S3 s funkcemi závislými na CORS (např. stahování souborů v prohlížeči) se ujistěte, že váš bucket povoluje origin vašeho frontendu Twenty ve své konfiguraci CORS.
|
||||
|
||||
## Logické funkce a interpret kódu
|
||||
|
||||
Twenty podporuje logické funkce pro pracovní postupy a interpret kódu pro analýzu dat s využitím AI. Obě spouštějí kód poskytnutý uživatelem a z důvodu zabezpečení vyžadují explicitní konfiguraci.
|
||||
|
||||
@@ -574,7 +574,7 @@ export default defineLogicFunction({
|
||||
timeoutSeconds: 2,
|
||||
handler,
|
||||
triggers: [
|
||||
// Public HTTP route trigger '/s/post-card/create'
|
||||
// Öffentlicher HTTP-Routen-Trigger '/s/post-card/create'
|
||||
{
|
||||
universalIdentifier: 'c9f84c8d-b26d-40d1-95dd-4f834ae5a2c6',
|
||||
type: 'route',
|
||||
@@ -582,13 +582,13 @@ export default defineLogicFunction({
|
||||
httpMethod: 'GET',
|
||||
isAuthRequired: false,
|
||||
},
|
||||
// Cron trigger (CRON pattern)
|
||||
// Cron-Trigger (CRON-Muster)
|
||||
// {
|
||||
// universalIdentifier: 'dd802808-0695-49e1-98c9-d5c9e2704ce2',
|
||||
// type: 'cron',
|
||||
// pattern: '0 0 1 1 *',
|
||||
// },
|
||||
// Database event trigger
|
||||
// Datenbank-Ereignis-Trigger
|
||||
// {
|
||||
// universalIdentifier: '203f1df3-4a82-4d06-a001-b8cf22a31156',
|
||||
// type: 'databaseEvent',
|
||||
@@ -804,8 +804,8 @@ const handler = async (params: { companyName: string; domain?: string }) => {
|
||||
createTask: {
|
||||
__args: {
|
||||
data: {
|
||||
title: `Enrich data for ${params.companyName}`,
|
||||
body: `Domain: ${params.domain ?? 'unknown'}`,
|
||||
title: `Daten für ${params.companyName} anreichern`,
|
||||
body: `Domain: ${params.domain ?? 'unbekannt'}`,
|
||||
},
|
||||
},
|
||||
id: true,
|
||||
@@ -818,7 +818,7 @@ const handler = async (params: { companyName: string; domain?: string }) => {
|
||||
export default defineLogicFunction({
|
||||
universalIdentifier: 'f47ac10b-58cc-4372-a567-0e02b2c3d479',
|
||||
name: 'enrich-company',
|
||||
description: 'Enrich a company record with external data',
|
||||
description: 'Einen Unternehmensdatensatz mit externen Daten anreichern',
|
||||
timeoutSeconds: 10,
|
||||
handler,
|
||||
isTool: true,
|
||||
@@ -827,11 +827,11 @@ export default defineLogicFunction({
|
||||
properties: {
|
||||
companyName: {
|
||||
type: 'string',
|
||||
description: 'The name of the company to enrich',
|
||||
description: 'Name des Unternehmens, das angereichert werden soll',
|
||||
},
|
||||
domain: {
|
||||
type: 'string',
|
||||
description: 'The company website domain (optional)',
|
||||
description: 'Website-Domain des Unternehmens (optional)',
|
||||
},
|
||||
},
|
||||
required: ['companyName'],
|
||||
@@ -1221,7 +1221,7 @@ const client = new CoreApiClient();
|
||||
const { me } = await client.query({ me: { id: true, displayName: true } });
|
||||
|
||||
const metadataClient = new MetadataApiClient();
|
||||
const { currentWorkspace } = await metadataClient.query({ currentWorkspace: { id: true } });
|
||||
const { currentWorkspace } = await metadataClient.query({ currentWorkspace: { id: true } });},{
|
||||
```
|
||||
|
||||
`CoreApiClient` wird von `yarn twenty dev` automatisch neu generiert, sobald sich Ihre Objekte oder Felder ändern. `MetadataApiClient` ist im SDK bereits enthalten.
|
||||
@@ -1252,10 +1252,10 @@ const metadataClient = new MetadataApiClient();
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await metadataClient.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
fileBuffer, // Dateiinhalte als Buffer
|
||||
'invoice.pdf', // Dateiname
|
||||
'application/pdf', // MIME-Typ (Standard: 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // Universeller Feldbezeichner
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
|
||||
@@ -297,6 +297,16 @@ yarn command:prod cron:workflow:automated-cron-trigger
|
||||
**Nur-Umgebungsmodus:** Wenn Sie `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false` setzen, fügen Sie diese Variablen stattdessen Ihrer `.env`-Datei hinzu.
|
||||
</Warning>
|
||||
|
||||
## S3-Speicher
|
||||
|
||||
<Warning>
|
||||
Standardmäßig speichert Twenty hochgeladene Dateien auf dem lokalen Dateisystem. Für Produktionsbereitstellungen verwenden Sie S3 oder einen S3-kompatiblen Dienst (MinIO, DigitalOcean Spaces usw.). um sicherzustellen, dass Dateien Container-Neustarts überdauern und über mehrere Serverinstanzen skaliert werden können.
|
||||
</Warning>
|
||||
|
||||
Setzen Sie `STORAGE_TYPE=S_3` und konfigurieren Sie die Variablen `STORAGE_S3_*` über das Admin-Panel oder `.env`. Siehe die [Referenz zu config-variables.ts](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) für die vollständige Liste der S3-Variablen.
|
||||
|
||||
Wenn Sie S3 mit CORS-abhängigen Funktionen verwenden (z. B. Dateidownloads im Browser), stellen Sie sicher, dass Ihr Bucket in seiner CORS-Konfiguration die Origin Ihres Twenty-Frontends zulässt.
|
||||
|
||||
## Logikfunktionen & Code-Interpreter
|
||||
|
||||
Twenty unterstützt Logikfunktionen für Workflows und den Code-Interpreter für KI-Datenanalyse. Beide führen vom Benutzer bereitgestellten Code aus und erfordern aus Sicherheitsgründen eine explizite Konfiguration.
|
||||
|
||||
@@ -574,7 +574,7 @@ export default defineLogicFunction({
|
||||
timeoutSeconds: 2,
|
||||
handler,
|
||||
triggers: [
|
||||
// Public HTTP route trigger '/s/post-card/create'
|
||||
// Trigger di route HTTP pubblica '/s/post-card/create'
|
||||
{
|
||||
universalIdentifier: 'c9f84c8d-b26d-40d1-95dd-4f834ae5a2c6',
|
||||
type: 'route',
|
||||
@@ -582,13 +582,13 @@ export default defineLogicFunction({
|
||||
httpMethod: 'GET',
|
||||
isAuthRequired: false,
|
||||
},
|
||||
// Cron trigger (CRON pattern)
|
||||
// Trigger Cron (pattern CRON)
|
||||
// {
|
||||
// universalIdentifier: 'dd802808-0695-49e1-98c9-d5c9e2704ce2',
|
||||
// type: 'cron',
|
||||
// pattern: '0 0 1 1 *',
|
||||
// },
|
||||
// Database event trigger
|
||||
// Trigger di evento del database
|
||||
// {
|
||||
// universalIdentifier: '203f1df3-4a82-4d06-a001-b8cf22a31156',
|
||||
// type: 'databaseEvent',
|
||||
@@ -804,8 +804,8 @@ const handler = async (params: { companyName: string; domain?: string }) => {
|
||||
createTask: {
|
||||
__args: {
|
||||
data: {
|
||||
title: `Enrich data for ${params.companyName}`,
|
||||
body: `Domain: ${params.domain ?? 'unknown'}`,
|
||||
title: `Arricchisci i dati per ${params.companyName}`,
|
||||
body: `Dominio: ${params.domain ?? 'sconosciuto'}`,
|
||||
},
|
||||
},
|
||||
id: true,
|
||||
@@ -818,7 +818,7 @@ const handler = async (params: { companyName: string; domain?: string }) => {
|
||||
export default defineLogicFunction({
|
||||
universalIdentifier: 'f47ac10b-58cc-4372-a567-0e02b2c3d479',
|
||||
name: 'enrich-company',
|
||||
description: 'Enrich a company record with external data',
|
||||
description: 'Arricchisci un record aziendale con dati esterni',
|
||||
timeoutSeconds: 10,
|
||||
handler,
|
||||
isTool: true,
|
||||
@@ -827,11 +827,11 @@ export default defineLogicFunction({
|
||||
properties: {
|
||||
companyName: {
|
||||
type: 'string',
|
||||
description: 'The name of the company to enrich',
|
||||
description: 'Il nome dell\'azienda da arricchire',
|
||||
},
|
||||
domain: {
|
||||
type: 'string',
|
||||
description: 'The company website domain (optional)',
|
||||
description: 'Il dominio del sito web dell\'azienda (facoltativo)',
|
||||
},
|
||||
},
|
||||
required: ['companyName'],
|
||||
@@ -1221,7 +1221,7 @@ const client = new CoreApiClient();
|
||||
const { me } = await client.query({ me: { id: true, displayName: true } });
|
||||
|
||||
const metadataClient = new MetadataApiClient();
|
||||
const { currentWorkspace } = await metadataClient.query({ currentWorkspace: { id: true } });
|
||||
const { currentWorkspace } = await metadataClient.query({ currentWorkspace: { id: true } });},{
|
||||
```
|
||||
|
||||
`CoreApiClient` viene rigenerato automaticamente da `yarn twenty dev` ogni volta che i tuoi oggetti o campi cambiano. `MetadataApiClient` è fornito pronto all'uso con l'SDK.
|
||||
@@ -1252,10 +1252,10 @@ const metadataClient = new MetadataApiClient();
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await metadataClient.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
fileBuffer, // contenuto del file come Buffer
|
||||
'invoice.pdf', // nome del file
|
||||
'application/pdf', // Tipo MIME (predefinito: 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // identificatore universale del campo
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
|
||||
@@ -296,6 +296,16 @@ yarn command:prod cron:workflow:automated-cron-trigger
|
||||
**Modalità solo ambiente:** Se imposti `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, aggiungi queste variabili al tuo file `.env` invece.
|
||||
</Warning>
|
||||
|
||||
## Archiviazione S3
|
||||
|
||||
<Warning>
|
||||
Per impostazione predefinita, Twenty archivia i file caricati nel file system locale. Per le distribuzioni in produzione, usa S3 o un servizio compatibile con S3 (MinIO, DigitalOcean Spaces, ecc.). per garantire che i file persistano tra i riavvii dei container e per poter scalare su più istanze server.
|
||||
</Warning>
|
||||
|
||||
Imposta `STORAGE_TYPE=S_3` e configura le variabili `STORAGE_S3_*` tramite il pannello di amministrazione o `.env`. Consulta il [riferimento a config-variables.ts](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) per l'elenco completo delle variabili S3.
|
||||
|
||||
Quando si usa S3 con funzionalità che dipendono da CORS (ad esempio i download di file nel browser), assicurati che il tuo bucket consenta l'origine del tuo frontend di Twenty nella sua configurazione CORS.
|
||||
|
||||
## Funzioni logiche & interprete del codice
|
||||
|
||||
Twenty supporta le funzioni logiche per i workflow e l'interprete del codice per l'analisi dei dati con IA. Entrambi eseguono codice fornito dall'utente e richiedono una configurazione esplicita per motivi di sicurezza.
|
||||
|
||||
@@ -596,7 +596,7 @@ export default defineLogicFunction({
|
||||
// updatedFields: ['name'],
|
||||
// },
|
||||
],
|
||||
});
|
||||
});},{
|
||||
```
|
||||
|
||||
Tipuri comune de declanșatoare:
|
||||
|
||||
@@ -297,6 +297,16 @@ yarn command:prod cron:workflow:automated-cron-trigger
|
||||
**Mod doar pentru mediu:** Dacă setați `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, adăugați aceste variabile în fișierul dvs. `.env` în schimb.
|
||||
</Warning>
|
||||
|
||||
## Stocare S3
|
||||
|
||||
<Warning>
|
||||
În mod implicit, Twenty stochează fișierele încărcate în sistemul de fișiere local. Pentru implementări în producție, utilizați S3 sau un serviciu compatibil cu S3 (MinIO, DigitalOcean Spaces etc.). pentru a vă asigura că fișierele persistă între repornirile containerelor și se scalează pe mai multe instanțe de server.
|
||||
</Warning>
|
||||
|
||||
Setați `STORAGE_TYPE=S_3` și configurați variabilele `STORAGE_S3_*` prin panoul de administrare sau `.env`. Consultați [referința config-variables.ts](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) pentru lista completă a variabilelor S3.
|
||||
|
||||
Când utilizați S3 cu funcționalități dependente de CORS (de ex., descărcări de fișiere în browser), asigurați-vă că bucketul permite originea frontend-ului Twenty în configurația sa CORS.
|
||||
|
||||
## Funcții logice și interpretor de cod
|
||||
|
||||
Twenty acceptă funcții logice pentru fluxuri de lucru și interpretorul de cod pentru analiza datelor cu AI. Ambele rulează cod furnizat de utilizator și necesită o configurare explicită din motive de securitate.
|
||||
|
||||
@@ -596,7 +596,7 @@ export default defineLogicFunction({
|
||||
// updatedFields: ['name'],
|
||||
// },
|
||||
],
|
||||
});
|
||||
});},{
|
||||
```
|
||||
|
||||
Распространённые типы триггеров:
|
||||
|
||||
@@ -296,6 +296,16 @@ yarn command:prod cron:workflow:automated-cron-trigger
|
||||
**Режим только для среды:** если вы установили `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, добавьте эти переменные в свой `.env` файл вместо этого.
|
||||
</Warning>
|
||||
|
||||
## S3 Storage
|
||||
|
||||
<Warning>
|
||||
By default, Twenty stores uploaded files on the local filesystem. Для продакшн-развертываний используйте S3 или совместимый с S3 сервис (MinIO, DigitalOcean Spaces и т. д.). чтобы файлы сохранялись при перезапусках контейнеров и были доступны на нескольких экземплярах сервера при масштабировании.
|
||||
</Warning>
|
||||
|
||||
Установите `STORAGE_TYPE=S_3` и настройте переменные `STORAGE_S3_*` через админ-панель или `.env`. См. [справочник config-variables.ts](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) для полного списка переменных S3.
|
||||
|
||||
При использовании S3 с функциями, зависящими от CORS (например, загрузки файлов в браузере), убедитесь, что в конфигурации CORS вашего бакета разрешен origin фронтенда Twenty.
|
||||
|
||||
## Логические функции и интерпретатор кода
|
||||
|
||||
Twenty поддерживает логические функции для рабочих процессов и интерпретатор кода для анализа данных ИИ. Оба запускают предоставленный пользователем код и требуют явной настройки в целях безопасности.
|
||||
|
||||
@@ -555,8 +555,8 @@ import { CoreApiClient, type Person } from 'twenty-client-sdk/core';
|
||||
const handler = async (params: RoutePayload) => {
|
||||
const client = new CoreApiClient();
|
||||
const name = 'name' in params.queryStringParameters
|
||||
? params.queryStringParameters.name ?? process.env.DEFAULT_RECIPIENT_NAME ?? 'Hello world'
|
||||
: 'Hello world';
|
||||
? params.queryStringParameters.name ?? process.env.DEFAULT_RECIPIENT_NAME ?? 'Merhaba dünya'
|
||||
: 'Merhaba dünya';
|
||||
|
||||
const result = await client.mutation({
|
||||
createPostCard: {
|
||||
@@ -574,7 +574,7 @@ export default defineLogicFunction({
|
||||
timeoutSeconds: 2,
|
||||
handler,
|
||||
triggers: [
|
||||
// Public HTTP route trigger '/s/post-card/create'
|
||||
// Herkese açık HTTP rota tetikleyicisi '/s/post-card/create'
|
||||
{
|
||||
universalIdentifier: 'c9f84c8d-b26d-40d1-95dd-4f834ae5a2c6',
|
||||
type: 'route',
|
||||
@@ -582,13 +582,13 @@ export default defineLogicFunction({
|
||||
httpMethod: 'GET',
|
||||
isAuthRequired: false,
|
||||
},
|
||||
// Cron trigger (CRON pattern)
|
||||
// Cron tetikleyicisi (CRON deseni)
|
||||
// {
|
||||
// universalIdentifier: 'dd802808-0695-49e1-98c9-d5c9e2704ce2',
|
||||
// type: 'cron',
|
||||
// pattern: '0 0 1 1 *',
|
||||
// },
|
||||
// Database event trigger
|
||||
// Veritabanı olay tetikleyicisi
|
||||
// {
|
||||
// universalIdentifier: '203f1df3-4a82-4d06-a001-b8cf22a31156',
|
||||
// type: 'databaseEvent',
|
||||
@@ -804,8 +804,8 @@ const handler = async (params: { companyName: string; domain?: string }) => {
|
||||
createTask: {
|
||||
__args: {
|
||||
data: {
|
||||
title: `Enrich data for ${params.companyName}`,
|
||||
body: `Domain: ${params.domain ?? 'unknown'}`,
|
||||
title: `${params.companyName} için verileri zenginleştir`,
|
||||
body: `Alan adı: ${params.domain ?? 'bilinmiyor'}`,
|
||||
},
|
||||
},
|
||||
id: true,
|
||||
@@ -818,7 +818,7 @@ const handler = async (params: { companyName: string; domain?: string }) => {
|
||||
export default defineLogicFunction({
|
||||
universalIdentifier: 'f47ac10b-58cc-4372-a567-0e02b2c3d479',
|
||||
name: 'enrich-company',
|
||||
description: 'Enrich a company record with external data',
|
||||
description: 'Bir şirket kaydını harici verilerle zenginleştir',
|
||||
timeoutSeconds: 10,
|
||||
handler,
|
||||
isTool: true,
|
||||
@@ -827,11 +827,11 @@ export default defineLogicFunction({
|
||||
properties: {
|
||||
companyName: {
|
||||
type: 'string',
|
||||
description: 'The name of the company to enrich',
|
||||
description: 'Zenginleştirilecek şirketin adı',
|
||||
},
|
||||
domain: {
|
||||
type: 'string',
|
||||
description: 'The company website domain (optional)',
|
||||
description: 'Şirket web sitesi alan adı (isteğe bağlı)',
|
||||
},
|
||||
},
|
||||
required: ['companyName'],
|
||||
@@ -1221,7 +1221,7 @@ const client = new CoreApiClient();
|
||||
const { me } = await client.query({ me: { id: true, displayName: true } });
|
||||
|
||||
const metadataClient = new MetadataApiClient();
|
||||
const { currentWorkspace } = await metadataClient.query({ currentWorkspace: { id: true } });
|
||||
const { currentWorkspace } = await metadataClient.query({ currentWorkspace: { id: true } });},{
|
||||
```
|
||||
|
||||
`CoreApiClient`, nesneleriniz veya alanlarınız değiştiğinde `yarn twenty dev` tarafından otomatik olarak yeniden oluşturulur. `MetadataApiClient`, SDK ile birlikte önceden hazırlanmış olarak gelir.
|
||||
@@ -1252,10 +1252,10 @@ const metadataClient = new MetadataApiClient();
|
||||
const fileBuffer = fs.readFileSync('./invoice.pdf');
|
||||
|
||||
const uploadedFile = await metadataClient.uploadFile(
|
||||
fileBuffer, // file contents as a Buffer
|
||||
'invoice.pdf', // filename
|
||||
'application/pdf', // MIME type (defaults to 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier
|
||||
fileBuffer, // dosya içeriği (Buffer olarak)
|
||||
'invoice.pdf', // dosya adı
|
||||
'application/pdf', // MIME türü (varsayılan: 'application/octet-stream')
|
||||
'58a0a314-d7ea-4865-9850-7fb84e72f30b', // alanın evrensel tanımlayıcısı
|
||||
);
|
||||
|
||||
console.log(uploadedFile);
|
||||
|
||||
@@ -297,6 +297,16 @@ yarn command:prod cron:workflow:automated-cron-trigger
|
||||
**Çevre-yalnızca modu:** `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false` ayarlarsanız, bu değişkenleri `.env` dosyanıza ekleyin.
|
||||
</Warning>
|
||||
|
||||
## S3 Depolama
|
||||
|
||||
<Warning>
|
||||
Varsayılan olarak, Twenty yüklenen dosyaları yerel dosya sisteminde depolar. Üretim dağıtımları için S3 veya S3 uyumlu bir hizmet (MinIO, DigitalOcean Spaces vb.) kullanın. dosyaların kapsayıcı yeniden başlatmaları arasında kalıcı olmasını ve birden çok sunucu örneği arasında ölçeklenmesini sağlamak için.
|
||||
</Warning>
|
||||
|
||||
`STORAGE_TYPE=S_3` değerini ayarlayın ve `STORAGE_S3_*` değişkenlerini yönetici paneli veya `.env` üzerinden yapılandırın. S3 değişkenlerinin tam listesi için [config-variables.ts referansına](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) bakın.
|
||||
|
||||
S3'ü CORS'a bağlı özelliklerle kullanırken (örn. tarayıcı içi dosya indirmeleri), bucket'ınızın CORS yapılandırmasında Twenty frontend origin'inize izin verdiğinden emin olun.
|
||||
|
||||
## Mantıksal İşlevler ve Kod Yorumlayıcısı
|
||||
|
||||
Twenty, iş akışları için mantıksal işlevleri ve yapay zekâ veri analizi için kod yorumlayıcısını destekler. Her ikisi de kullanıcı tarafından sağlanan kodu çalıştırır ve güvenlik için açık bir yapılandırma gerektirir.
|
||||
|
||||
@@ -297,6 +297,16 @@ yarn command:prod cron:workflow:automated-cron-trigger
|
||||
**仅限环境模式:** 如果你设置 `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`,请将这些变量添加到 `.env` 文件中。
|
||||
</Warning>
|
||||
|
||||
## S3 存储
|
||||
|
||||
<Warning>
|
||||
默认情况下,Twenty 将上传的文件存储在本地文件系统上。 对于生产环境部署,请使用 S3 或兼容 S3 的服务(MinIO、DigitalOcean Spaces 等)。 以确保文件在容器重启后仍然存在,并可在多个服务器实例间扩展。
|
||||
</Warning>
|
||||
|
||||
设置 `STORAGE_TYPE=S_3`,并通过管理面板或 `.env` 配置 `STORAGE_S3_*` 变量。 有关 S3 变量的完整列表,请参见[config-variables.ts 参考](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts)。
|
||||
|
||||
在将 S3 与依赖 CORS 的功能(例如浏览器内文件下载)一起使用时,请确保你的存储桶在其 CORS 配置中允许你的 Twenty 前端来源。
|
||||
|
||||
## 逻辑函数与代码解释器
|
||||
|
||||
Twenty 支持用于工作流的逻辑函数,以及用于 AI 数据分析的代码解释器。 二者都会运行用户提供的代码,并要求进行显式配置以确保安全。
|
||||
|
||||
@@ -91,7 +91,7 @@ msgstr "Einladung akzeptieren"
|
||||
#. js-lingui-explicit-id
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Confirm your new email address"
|
||||
msgstr ""
|
||||
msgstr "Bestätige deine neue E-Mail-Adresse"
|
||||
|
||||
#. js-lingui-explicit-id
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
@@ -101,7 +101,7 @@ msgstr "Bestätigen Sie Ihre E-Mail-Adresse"
|
||||
#. js-lingui-explicit-id
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Confirm new email"
|
||||
msgstr ""
|
||||
msgstr "Neue E-Mail-Adresse bestätigen"
|
||||
|
||||
#. js-lingui-explicit-id
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"Suspended Workspace\":[\"Ausgesetzter Arbeitsbereich\"],\"Dear {userName},\":[\"Sehr geehrte/r \",[\"userName\"],\",\"],\"Hello,\":[\"Hallo,\"],\"It appears that your workspace <0>{workspaceDisplayName}</0> has been suspended for {daysSinceInactive} days.\":[\"Es scheint, dass Ihr Workspace <0>\",[\"workspaceDisplayName\"],\"</0> seit \",[\"daysSinceInactive\"],\" Tagen gesperrt ist.\"],\"The workspace will be deactivated in {remainingDays} {dayOrDays}, and all its data will be deleted.\":[\"Der Workspace wird in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" deaktiviert, und alle Daten werden gelöscht.\"],\"If you wish to continue using Twenty, please update your subscription within the next {remainingDays} {dayOrDays}.\":[\"Wenn Sie Twenty weiterhin nutzen möchten, aktualisieren Sie bitte Ihr Abonnement innerhalb der nächsten \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"Update your subscription\":[\"Aktualisieren Sie Ihr Abonnement\"],\"Validate domain\":[\"Domain validieren\"],\"{senderName} (<0>{senderEmail}</0>): Please validate this domain to allow users with <1>@{domain}</1> email addresses to join your workspace without requiring an invitation.\":[[\"senderName\"],\" (<0>\",[\"senderEmail\"],\"</0>): Bitte validieren Sie diese Domain, damit Benutzer mit <1>@\",[\"domain\"],\"</1> E-Mail-Adressen Ihrem Arbeitsbereich beitreten können, ohne eine Einladung zu benötigen.\"],\"Test email\":[\"Test E-Mail\"],\"Join your team on Twenty\":[\"Treten Sie Ihrem Team auf Twenty bei\"],\"{senderName} (<0>{senderEmail}</0>) has invited you to join a workspace called <1>{workspaceName}</1>.\":[[\"senderName\"],\" (<0>\",[\"senderEmail\"],\"</0>) hat Sie eingeladen, einem Arbeitsbereich namens <1>\",[\"workspaceName\"],\"</1> beizutreten.\"],\"Accept invite\":[\"Einladung akzeptieren\"],\"Confirm your new email address\":[\"Confirm your new email address\"],\"Confirm your email address\":[\"Bestätigen Sie Ihre E-Mail-Adresse\"],\"Confirm new email\":[\"Confirm new email\"],\"Verify Email\":[\"E-Mail verifizieren\"],\"Password updated\":[\"Passwort wurde aktualisiert\"],\"This is a confirmation that password for your account ({email}) was successfully changed on {formattedDate}.\":[\"Dies ist eine Bestätigung, dass das Passwort für Ihr Konto (\",[\"email\"],\") am \",[\"formattedDate\"],\" erfolgreich geändert wurde.\"],\"If you did not initiate this change, please contact your workspace owner immediately.\":[\"Wenn Sie diese Änderung nicht veranlasst haben, kontaktieren Sie bitte umgehend den Eigentümer Ihres Workspaces.\"],\"Connect to Twenty\":[\"Mit Twenty verbinden\"],\"Reset your password 🗝\":[\"Setzen Sie Ihr Passwort zurück 🗝\"],\"Set your password 🗝\":[\"Setze dein Passwort 🗝\"],\"Reset\":[\"Zurücksetzen\"],\"Set\":[\"Setzen\"],\"This link is only valid for the next {duration}. If the link does not work, you can use the login verification link directly:\":[\"Dieser Link ist nur für die nächsten \",[\"duration\"],\" gültig. Wenn der Link nicht funktioniert, können Sie den Anmeldebestätigungslink direkt verwenden:\"],\"Deleted Workspace\":[\"Gelöschter Arbeitsbereich\"],\"Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {daysSinceInactive} days ago.\":[\"Ihr Workspace <0>\",[\"workspaceDisplayName\"],\"</0> wurde gelöscht, da Ihr Abonnement vor \",[\"daysSinceInactive\"],\" Tagen abgelaufen ist.\"],\"All data in this workspace has been permanently deleted.\":[\"Alle Daten in diesem Workspace wurden dauerhaft gelöscht.\"],\"If you wish to use Twenty again, you can create a new workspace.\":[\"Wenn Sie Twenty erneut nutzen möchten, können Sie einen neuen Workspace erstellen.\"],\"Create a new workspace\":[\"Erstellen Sie einen neuen Arbeitsbereich\"],\"What is Twenty?\":[\"Was ist Twenty?\"],\"It's a CRM, a software to help businesses manage their customer data and relationships efficiently.\":[\"Es ist ein CRM, eine Software, die Unternehmen hilft, ihre Kundendaten und -beziehungen effizient zu verwalten.\"],\"Website\":[\"Website\"],\"Visit Twenty's website\":[\"Besuchen Sie die Twenty-Website\"],\"Github\":[\"GitHub\"],\"Visit Twenty's GitHub repository\":[\"Besuchen Sie das GitHub-Repository von Twenty\"],\"User guide\":[\"Benutzerhandbuch\"],\"Read Twenty's user guide\":[\"Lesen Sie das Benutzerhandbuch von Twenty\"],\"Developers\":[\"Entwickler\"],\"Visit Twenty's developer documentation\":[\"Besuchen Sie die Entwicklerdokumentation von Twenty\"],\"Twenty.com, Public Benefit Corporation\":[\"Twenty.com, Gemeinnützige Aktiengesellschaft\"],\"San Francisco / Paris\":[\"San Francisco / Paris\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"Suspended Workspace\":[\"Ausgesetzter Arbeitsbereich\"],\"Dear {userName},\":[\"Sehr geehrte/r \",[\"userName\"],\",\"],\"Hello,\":[\"Hallo,\"],\"It appears that your workspace <0>{workspaceDisplayName}</0> has been suspended for {daysSinceInactive} days.\":[\"Es scheint, dass Ihr Workspace <0>\",[\"workspaceDisplayName\"],\"</0> seit \",[\"daysSinceInactive\"],\" Tagen gesperrt ist.\"],\"The workspace will be deactivated in {remainingDays} {dayOrDays}, and all its data will be deleted.\":[\"Der Workspace wird in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" deaktiviert, und alle Daten werden gelöscht.\"],\"If you wish to continue using Twenty, please update your subscription within the next {remainingDays} {dayOrDays}.\":[\"Wenn Sie Twenty weiterhin nutzen möchten, aktualisieren Sie bitte Ihr Abonnement innerhalb der nächsten \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"Update your subscription\":[\"Aktualisieren Sie Ihr Abonnement\"],\"Validate domain\":[\"Domain validieren\"],\"{senderName} (<0>{senderEmail}</0>): Please validate this domain to allow users with <1>@{domain}</1> email addresses to join your workspace without requiring an invitation.\":[[\"senderName\"],\" (<0>\",[\"senderEmail\"],\"</0>): Bitte validieren Sie diese Domain, damit Benutzer mit <1>@\",[\"domain\"],\"</1> E-Mail-Adressen Ihrem Arbeitsbereich beitreten können, ohne eine Einladung zu benötigen.\"],\"Test email\":[\"Test E-Mail\"],\"Join your team on Twenty\":[\"Treten Sie Ihrem Team auf Twenty bei\"],\"{senderName} (<0>{senderEmail}</0>) has invited you to join a workspace called <1>{workspaceName}</1>.\":[[\"senderName\"],\" (<0>\",[\"senderEmail\"],\"</0>) hat Sie eingeladen, einem Arbeitsbereich namens <1>\",[\"workspaceName\"],\"</1> beizutreten.\"],\"Accept invite\":[\"Einladung akzeptieren\"],\"Confirm your new email address\":[\"Bestätige deine neue E-Mail-Adresse\"],\"Confirm your email address\":[\"Bestätigen Sie Ihre E-Mail-Adresse\"],\"Confirm new email\":[\"Neue E-Mail-Adresse bestätigen\"],\"Verify Email\":[\"E-Mail verifizieren\"],\"Password updated\":[\"Passwort wurde aktualisiert\"],\"This is a confirmation that password for your account ({email}) was successfully changed on {formattedDate}.\":[\"Dies ist eine Bestätigung, dass das Passwort für Ihr Konto (\",[\"email\"],\") am \",[\"formattedDate\"],\" erfolgreich geändert wurde.\"],\"If you did not initiate this change, please contact your workspace owner immediately.\":[\"Wenn Sie diese Änderung nicht veranlasst haben, kontaktieren Sie bitte umgehend den Eigentümer Ihres Workspaces.\"],\"Connect to Twenty\":[\"Mit Twenty verbinden\"],\"Reset your password 🗝\":[\"Setzen Sie Ihr Passwort zurück 🗝\"],\"Set your password 🗝\":[\"Setze dein Passwort 🗝\"],\"Reset\":[\"Zurücksetzen\"],\"Set\":[\"Setzen\"],\"This link is only valid for the next {duration}. If the link does not work, you can use the login verification link directly:\":[\"Dieser Link ist nur für die nächsten \",[\"duration\"],\" gültig. Wenn der Link nicht funktioniert, können Sie den Anmeldebestätigungslink direkt verwenden:\"],\"Deleted Workspace\":[\"Gelöschter Arbeitsbereich\"],\"Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {daysSinceInactive} days ago.\":[\"Ihr Workspace <0>\",[\"workspaceDisplayName\"],\"</0> wurde gelöscht, da Ihr Abonnement vor \",[\"daysSinceInactive\"],\" Tagen abgelaufen ist.\"],\"All data in this workspace has been permanently deleted.\":[\"Alle Daten in diesem Workspace wurden dauerhaft gelöscht.\"],\"If you wish to use Twenty again, you can create a new workspace.\":[\"Wenn Sie Twenty erneut nutzen möchten, können Sie einen neuen Workspace erstellen.\"],\"Create a new workspace\":[\"Erstellen Sie einen neuen Arbeitsbereich\"],\"What is Twenty?\":[\"Was ist Twenty?\"],\"It's a CRM, a software to help businesses manage their customer data and relationships efficiently.\":[\"Es ist ein CRM, eine Software, die Unternehmen hilft, ihre Kundendaten und -beziehungen effizient zu verwalten.\"],\"Website\":[\"Website\"],\"Visit Twenty's website\":[\"Besuchen Sie die Twenty-Website\"],\"Github\":[\"GitHub\"],\"Visit Twenty's GitHub repository\":[\"Besuchen Sie das GitHub-Repository von Twenty\"],\"User guide\":[\"Benutzerhandbuch\"],\"Read Twenty's user guide\":[\"Lesen Sie das Benutzerhandbuch von Twenty\"],\"Developers\":[\"Entwickler\"],\"Visit Twenty's developer documentation\":[\"Besuchen Sie die Entwicklerdokumentation von Twenty\"],\"Twenty.com, Public Benefit Corporation\":[\"Twenty.com, Gemeinnützige Aktiengesellschaft\"],\"San Francisco / Paris\":[\"San Francisco / Paris\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"Suspended Workspace\":[\"Felfüggesztett munkaterület\"],\"Dear {userName},\":[\"Kedves \",[\"userName\"],\",\"],\"Hello,\":[\"Üdvözlöm,\"],\"It appears that your workspace <0>{workspaceDisplayName}</0> has been suspended for {daysSinceInactive} days.\":[\"Úgy tűnik, hogy a munkaterülete <0>\",[\"workspaceDisplayName\"],\"</0> felfüggesztésre került \",[\"daysSinceInactive\"],\" napja.\"],\"The workspace will be deactivated in {remainingDays} {dayOrDays}, and all its data will be deleted.\":[\"A munkaterület \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" múlva lesz deaktiválva, és minden adat törlésre kerül.\"],\"If you wish to continue using Twenty, please update your subscription within the next {remainingDays} {dayOrDays}.\":[\"Amennyiben szeretné folytatni a Twenty használatát, kérjük frissítse előfizetését a következő \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" időszakban.\"],\"Update your subscription\":[\"Előfizetés frissítése\"],\"Validate domain\":[\"Domain érvényesítése\"],\"{senderName} (<0>{senderEmail}</0>): Please validate this domain to allow users with <1>@{domain}</1> email addresses to join your workspace without requiring an invitation.\":[[\"senderName\"],\" (<0>\",[\"senderEmail\"],\"</0>): Kérjük, érvényesítse ezt a domaint annak érdekében, hogy az <1>@\",[\"domain\"],\"</1> e-mail címmel rendelkező felhasználók meghívó nélkül csatlakozhassanak a munkaterületéhez.\"],\"Test email\":[\"Teszt e-mail\"],\"Join your team on Twenty\":[\"Csatlakozzon a csapatához a Twentyn\"],\"{senderName} (<0>{senderEmail}</0>) has invited you to join a workspace called <1>{workspaceName}</1>.\":[[\"senderName\"],\" (<0>\",[\"senderEmail\"],\"</0>) meghívta önt, hogy csatlakozzon egy <1>\",[\"workspaceName\"],\"</1> nevű munkaterülethez.\"],\"Accept invite\":[\"Meghívó elfogadása\"],\"Confirm your new email address\":[\"Confirm your new email address\"],\"Confirm your email address\":[\"Erősítse meg email címét\"],\"Confirm new email\":[\"Confirm new email\"],\"Verify Email\":[\"Email ellenőrzése\"],\"Password updated\":[\"Jelszó frissítve\"],\"This is a confirmation that password for your account ({email}) was successfully changed on {formattedDate}.\":[\"Ez egy megerősítés arról, hogy fiókja jelszavát (\",[\"email\"],\") sikeresen megváltoztatták \",[\"formattedDate\"],\" napján.\"],\"If you did not initiate this change, please contact your workspace owner immediately.\":[\"Amennyiben Ön nem kezdeményezte ezt a változtatást, kérjük azonnal lépjen kapcsolatba a munkaterület tulajdonosával.\"],\"Connect to Twenty\":[\"Csatlakozás a Twentyhez\"],\"Reset your password 🗝\":[\"Jelszó visszaállítása 🗝\"],\"Set your password 🗝\":[\"Adja meg a jelszavát 🗝\"],\"Reset\":[\"Visszaállítás\"],\"Set\":[\"Beállítás\"],\"This link is only valid for the next {duration}. If the link does not work, you can use the login verification link directly:\":[\"Ez a hivatkozás csak a következő \",[\"duration\"],\" ideig érvényes. Ha a hivatkozás nem működik, használhatja közvetlenül a belépés ellenőrző hivatkozását:\"],\"Deleted Workspace\":[\"Törölt munkaterület\"],\"Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {daysSinceInactive} days ago.\":[\"Munkaterülete <0>\",[\"workspaceDisplayName\"],\"</0> törlésre került, mivel előfizetése \",[\"daysSinceInactive\"],\" nappal ezelőtt lejárt.\"],\"All data in this workspace has been permanently deleted.\":[\"A munkaterület minden adata végérvényesen törlésre került.\"],\"If you wish to use Twenty again, you can create a new workspace.\":[\"Ha újra szeretné használni a Twenty-t, létrehozhat egy új munkaterületet.\"],\"Create a new workspace\":[\"Hozzon létre új munkaterületet\"],\"What is Twenty?\":[\"Mi az a Twenty?\"],\"It's a CRM, a software to help businesses manage their customer data and relationships efficiently.\":[\"Ez egy CRM, egy szoftver, amely segíti a vállalkozásokat az ügyféladataik és kapcsolataik hatékony kezelésében.\"],\"Website\":[\"Weboldal\"],\"Visit Twenty's website\":[\"Látogasson el a Twenty weboldalára\"],\"Github\":[\"Github\"],\"Visit Twenty's GitHub repository\":[\"Látogasson el a Twenty GitHub tárházához\"],\"User guide\":[\"Felhasználói útmutató\"],\"Read Twenty's user guide\":[\"Olvassa el a Twenty felhasználói útmutatóját\"],\"Developers\":[\"Fejlesztők\"],\"Visit Twenty's developer documentation\":[\"Látogasson el a Twenty fejlesztői dokumentációjához\"],\"Twenty.com, Public Benefit Corporation\":[\"Twenty.com, Közhasznú Vállalat\"],\"San Francisco / Paris\":[\"San Francisco / Párizs\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"Suspended Workspace\":[\"Felfüggesztett munkaterület\"],\"Dear {userName},\":[\"Kedves \",[\"userName\"],\",\"],\"Hello,\":[\"Üdvözlöm,\"],\"It appears that your workspace <0>{workspaceDisplayName}</0> has been suspended for {daysSinceInactive} days.\":[\"Úgy tűnik, hogy a munkaterülete <0>\",[\"workspaceDisplayName\"],\"</0> felfüggesztésre került \",[\"daysSinceInactive\"],\" napja.\"],\"The workspace will be deactivated in {remainingDays} {dayOrDays}, and all its data will be deleted.\":[\"A munkaterület \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" múlva lesz deaktiválva, és minden adat törlésre kerül.\"],\"If you wish to continue using Twenty, please update your subscription within the next {remainingDays} {dayOrDays}.\":[\"Amennyiben szeretné folytatni a Twenty használatát, kérjük frissítse előfizetését a következő \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" időszakban.\"],\"Update your subscription\":[\"Előfizetés frissítése\"],\"Validate domain\":[\"Domain érvényesítése\"],\"{senderName} (<0>{senderEmail}</0>): Please validate this domain to allow users with <1>@{domain}</1> email addresses to join your workspace without requiring an invitation.\":[[\"senderName\"],\" (<0>\",[\"senderEmail\"],\"</0>): Kérjük, érvényesítse ezt a domaint annak érdekében, hogy az <1>@\",[\"domain\"],\"</1> e-mail címmel rendelkező felhasználók meghívó nélkül csatlakozhassanak a munkaterületéhez.\"],\"Test email\":[\"Teszt e-mail\"],\"Join your team on Twenty\":[\"Csatlakozzon a csapatához a Twentyn\"],\"{senderName} (<0>{senderEmail}</0>) has invited you to join a workspace called <1>{workspaceName}</1>.\":[[\"senderName\"],\" (<0>\",[\"senderEmail\"],\"</0>) meghívta önt, hogy csatlakozzon egy <1>\",[\"workspaceName\"],\"</1> nevű munkaterülethez.\"],\"Accept invite\":[\"Meghívó elfogadása\"],\"Confirm your new email address\":[\"Erősítsd meg az új e-mail címed\"],\"Confirm your email address\":[\"Erősítse meg email címét\"],\"Confirm new email\":[\"Új e-mail megerősítése\"],\"Verify Email\":[\"Email ellenőrzése\"],\"Password updated\":[\"Jelszó frissítve\"],\"This is a confirmation that password for your account ({email}) was successfully changed on {formattedDate}.\":[\"Ez egy megerősítés arról, hogy fiókja jelszavát (\",[\"email\"],\") sikeresen megváltoztatták \",[\"formattedDate\"],\" napján.\"],\"If you did not initiate this change, please contact your workspace owner immediately.\":[\"Amennyiben Ön nem kezdeményezte ezt a változtatást, kérjük azonnal lépjen kapcsolatba a munkaterület tulajdonosával.\"],\"Connect to Twenty\":[\"Csatlakozás a Twentyhez\"],\"Reset your password 🗝\":[\"Jelszó visszaállítása 🗝\"],\"Set your password 🗝\":[\"Adja meg a jelszavát 🗝\"],\"Reset\":[\"Visszaállítás\"],\"Set\":[\"Beállítás\"],\"This link is only valid for the next {duration}. If the link does not work, you can use the login verification link directly:\":[\"Ez a hivatkozás csak a következő \",[\"duration\"],\" ideig érvényes. Ha a hivatkozás nem működik, használhatja közvetlenül a belépés ellenőrző hivatkozását:\"],\"Deleted Workspace\":[\"Törölt munkaterület\"],\"Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {daysSinceInactive} days ago.\":[\"Munkaterülete <0>\",[\"workspaceDisplayName\"],\"</0> törlésre került, mivel előfizetése \",[\"daysSinceInactive\"],\" nappal ezelőtt lejárt.\"],\"All data in this workspace has been permanently deleted.\":[\"A munkaterület minden adata végérvényesen törlésre került.\"],\"If you wish to use Twenty again, you can create a new workspace.\":[\"Ha újra szeretné használni a Twenty-t, létrehozhat egy új munkaterületet.\"],\"Create a new workspace\":[\"Hozzon létre új munkaterületet\"],\"What is Twenty?\":[\"Mi az a Twenty?\"],\"It's a CRM, a software to help businesses manage their customer data and relationships efficiently.\":[\"Ez egy CRM, egy szoftver, amely segíti a vállalkozásokat az ügyféladataik és kapcsolataik hatékony kezelésében.\"],\"Website\":[\"Weboldal\"],\"Visit Twenty's website\":[\"Látogasson el a Twenty weboldalára\"],\"Github\":[\"Github\"],\"Visit Twenty's GitHub repository\":[\"Látogasson el a Twenty GitHub tárházához\"],\"User guide\":[\"Felhasználói útmutató\"],\"Read Twenty's user guide\":[\"Olvassa el a Twenty felhasználói útmutatóját\"],\"Developers\":[\"Fejlesztők\"],\"Visit Twenty's developer documentation\":[\"Látogasson el a Twenty fejlesztői dokumentációjához\"],\"Twenty.com, Public Benefit Corporation\":[\"Twenty.com, Közhasznú Vállalat\"],\"San Francisco / Paris\":[\"San Francisco / Párizs\"]}")as Messages;
|
||||
@@ -91,7 +91,7 @@ msgstr "Meghívó elfogadása"
|
||||
#. js-lingui-explicit-id
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Confirm your new email address"
|
||||
msgstr ""
|
||||
msgstr "Erősítsd meg az új e-mail címed"
|
||||
|
||||
#. js-lingui-explicit-id
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
@@ -101,7 +101,7 @@ msgstr "Erősítse meg email címét"
|
||||
#. js-lingui-explicit-id
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Confirm new email"
|
||||
msgstr ""
|
||||
msgstr "Új e-mail megerősítése"
|
||||
|
||||
#. js-lingui-explicit-id
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
|
||||
@@ -61,7 +61,7 @@ const jestConfig = {
|
||||
extensionsToTreatAsEsm: ['.ts', '.tsx'],
|
||||
coverageThreshold: {
|
||||
global: {
|
||||
statements: 48.5,
|
||||
statements: 48.4,
|
||||
lines: 47.0,
|
||||
functions: 39.5,
|
||||
},
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 91 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 93 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -501,10 +501,10 @@ msgstr "1. Type"
|
||||
msgid "10,000 workflow node executions"
|
||||
msgstr "10,000 workflow node executions"
|
||||
|
||||
#. js-lingui-id: bM5lnW
|
||||
#. js-lingui-id: rU05hS
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
msgid "12h - {hour12Label}"
|
||||
msgstr "12h - {hour12Label}"
|
||||
msgid "12h"
|
||||
msgstr "12h"
|
||||
|
||||
#. js-lingui-id: 4EdXYs
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
@@ -537,10 +537,10 @@ msgstr "20,000 workflow node executions"
|
||||
msgid "200 OK - {duration}ms"
|
||||
msgstr "200 OK - {duration}ms"
|
||||
|
||||
#. js-lingui-id: mwTnop
|
||||
#. js-lingui-id: W1k7eB
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
msgid "24h - {hour24Label}"
|
||||
msgstr "24h - {hour24Label}"
|
||||
msgid "24h"
|
||||
msgstr "24h"
|
||||
|
||||
#. js-lingui-id: QsMprd
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
@@ -1451,6 +1451,11 @@ msgstr "All Members"
|
||||
msgid "All Metadata"
|
||||
msgstr "All Metadata"
|
||||
|
||||
#. js-lingui-id: zIk4M6
|
||||
#: src/modules/side-panel/components/SidePanelObjectFilterDropdownContent.tsx
|
||||
msgid "All objects"
|
||||
msgstr "All objects"
|
||||
|
||||
#. js-lingui-id: aFE/OW
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
#: src/modules/settings/roles/role-permissions/objects-permissions/components/SettingsRolePermissionsObjectsTableHeader.tsx
|
||||
@@ -1741,6 +1746,11 @@ msgstr "API Key copied to clipboard"
|
||||
msgid "API key is required"
|
||||
msgstr "API key is required"
|
||||
|
||||
#. js-lingui-id: sb6i1L
|
||||
#: src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx
|
||||
msgid "API key name cannot be empty"
|
||||
msgstr "API key name cannot be empty"
|
||||
|
||||
#. js-lingui-id: Widx6n
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
msgid "API key roles"
|
||||
@@ -1806,10 +1816,10 @@ msgstr "APIs"
|
||||
msgid "APIs & Webhooks"
|
||||
msgstr "APIs & Webhooks"
|
||||
|
||||
#. js-lingui-id: BnUHmx
|
||||
#. js-lingui-id: 0UMxlw
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
msgid "Apostrophe and dot - {apostropheAndDotExample}"
|
||||
msgstr "Apostrophe and dot - {apostropheAndDotExample}"
|
||||
msgid "Apostrophe and dot"
|
||||
msgstr "Apostrophe and dot"
|
||||
|
||||
#. js-lingui-id: LMUw1U
|
||||
#: src/pages/settings/data-model/SettingsObjectFieldTable.tsx
|
||||
@@ -2357,6 +2367,11 @@ msgstr "Because this workflow is not using a manual trigger, the form will not o
|
||||
msgid "Before"
|
||||
msgstr "Before"
|
||||
|
||||
#. js-lingui-id: KYr9vA
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Best"
|
||||
msgstr "Best"
|
||||
|
||||
#. js-lingui-id: NgFKo1
|
||||
#: src/modules/workflow/workflow-trigger/utils/cron-to-human/descriptors/getMonthsDescription.ts
|
||||
msgid "between {startMonth} and {endMonth}"
|
||||
@@ -3008,6 +3023,7 @@ msgstr "Close banner"
|
||||
|
||||
#. js-lingui-id: saip/v
|
||||
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/CommandMenuItemMoreActionsButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Close side panel"
|
||||
|
||||
@@ -3104,10 +3120,10 @@ msgstr "command menu item"
|
||||
msgid "Commands copied to clipboard"
|
||||
msgstr "Commands copied to clipboard"
|
||||
|
||||
#. js-lingui-id: A9u+7N
|
||||
#. js-lingui-id: QeCopv
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
msgid "Commas and dot - {commasAndDotExample}"
|
||||
msgstr "Commas and dot - {commasAndDotExample}"
|
||||
msgid "Commas and dot"
|
||||
msgstr "Commas and dot"
|
||||
|
||||
#. js-lingui-id: NBdIgR
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
@@ -3213,6 +3229,11 @@ msgstr "Configure default AI models and availability"
|
||||
msgid "Configure fallback login methods for users with SSO bypass permissions"
|
||||
msgstr "Configure fallback login methods for users with SSO bypass permissions"
|
||||
|
||||
#. js-lingui-id: OLqG0t
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/ObjectSettings.tsx
|
||||
msgid "Configure how this object appears in search results"
|
||||
msgstr "Configure how this object appears in search results"
|
||||
|
||||
#. js-lingui-id: ghdb7+
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
|
||||
msgid "Configure how we should display your events in your calendar"
|
||||
@@ -3377,6 +3398,7 @@ msgstr "Content"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/admin-panel/ai/components/SettingsAdminAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Context"
|
||||
@@ -3868,6 +3890,7 @@ msgstr "Creating your workspace"
|
||||
|
||||
#. js-lingui-id: HAzhV7
|
||||
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
|
||||
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
|
||||
msgid "Credentials"
|
||||
msgstr "Credentials"
|
||||
|
||||
@@ -4209,6 +4232,7 @@ msgstr "Data Residency"
|
||||
#. js-lingui-id: r+cVRP
|
||||
#: src/pages/settings/data-model/SettingsObjectFieldTable.tsx
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/field-permissions/components/SettingsRolePermissionsObjectLevelObjectFieldPermissionTable.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
msgid "Data type"
|
||||
msgstr "Data type"
|
||||
|
||||
@@ -4340,7 +4364,7 @@ msgstr "Deactivate Workflow"
|
||||
#. js-lingui-id: yAT3be
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/data-model/SettingsObjectTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/SettingsObjectRelationItemTableRow.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/SettingsObjectItemTableRow.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx
|
||||
@@ -4358,6 +4382,11 @@ msgstr "Debug Info"
|
||||
msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr "Decide which Sub-address fields you want to display"
|
||||
|
||||
#. js-lingui-id: Bn9+El
|
||||
#: src/modules/ai/components/AIChatEditorSection.tsx
|
||||
msgid "default"
|
||||
msgstr "default"
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
@@ -4926,10 +4955,10 @@ msgstr "Don't create contacts from/to Gmail, Outlook emails"
|
||||
msgid "Don't sync emails from team@ support@ noreply@..."
|
||||
msgstr "Don't sync emails from team@ support@ noreply@..."
|
||||
|
||||
#. js-lingui-id: bd+DPX
|
||||
#. js-lingui-id: Wm78zZ
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
msgid "Dots and comma - {dotsAndCommaExample}"
|
||||
msgstr "Dots and comma - {dotsAndCommaExample}"
|
||||
msgid "Dots and comma"
|
||||
msgstr "Dots and comma"
|
||||
|
||||
#. js-lingui-id: LE8J+K
|
||||
#: src/modules/settings/billing/components/internal/MeteredPriceSelector.tsx
|
||||
@@ -5149,6 +5178,13 @@ msgstr "Edit {objectLabelPlural}"
|
||||
msgid "Edit Account"
|
||||
msgstr "Edit Account"
|
||||
|
||||
#. js-lingui-id: t1EOLt
|
||||
#: src/modules/layout-customization/hooks/useEnterLayoutCustomizationMode.ts
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr "Edit actions"
|
||||
|
||||
#. js-lingui-id: GpnfNN
|
||||
#: src/modules/command-menu-item/record/constants/DashboardCommandMenuItemsConfig.tsx
|
||||
msgid "Edit Dashboard"
|
||||
@@ -6350,7 +6386,7 @@ msgid "Failed to activate enterprise license. Please check your key or contact s
|
||||
msgstr "Failed to activate enterprise license. Please check your key or contact support."
|
||||
|
||||
#. js-lingui-id: vJiM7T
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Failed to activate skill"
|
||||
msgstr "Failed to activate skill"
|
||||
|
||||
@@ -6375,7 +6411,7 @@ msgid "Failed to delete jobs. Please try again later."
|
||||
msgstr "Failed to delete jobs. Please try again later."
|
||||
|
||||
#. js-lingui-id: bmwWKk
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Failed to delete skill"
|
||||
msgstr "Failed to delete skill"
|
||||
|
||||
@@ -6748,9 +6784,6 @@ msgid "Files"
|
||||
msgstr "Files"
|
||||
|
||||
#. js-lingui-id: o7J4JM
|
||||
#: src/pages/settings/data-model/SettingsObjectFieldTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIAgentsTable.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/find-records-action/components/WorkflowEditActionFindRecords.tsx
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/views/components/ViewBarFilterButton.tsx
|
||||
@@ -6767,6 +6800,11 @@ msgstr "Filter"
|
||||
msgid "Filter by event"
|
||||
msgstr "Filter by event"
|
||||
|
||||
#. js-lingui-id: yZOiaW
|
||||
#: src/modules/side-panel/components/SidePanelObjectFilterDropdown.tsx
|
||||
msgid "Filter by object type"
|
||||
msgstr "Filter by object type"
|
||||
|
||||
#. js-lingui-id: gVEHcL
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Filter by record ID"
|
||||
@@ -7367,6 +7405,11 @@ msgstr "Hide group {groupValue}"
|
||||
msgid "Hide hidden groups"
|
||||
msgstr "Hide hidden groups"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr "Hide label"
|
||||
|
||||
#. js-lingui-id: i0qMbr
|
||||
#: src/modules/page-layout/constants/StandardPageLayoutTabTitleTranslations.ts
|
||||
#: src/modules/navigation/components/MainNavigationDrawerTabsRow.tsx
|
||||
@@ -7475,6 +7518,16 @@ msgstr "IAM credentials"
|
||||
msgid "IAM credentials configured"
|
||||
msgstr "IAM credentials configured"
|
||||
|
||||
#. js-lingui-id: LlQirF
|
||||
#: src/modules/settings/admin-panel/ai/components/SettingsAdminAiProviderListCard.tsx
|
||||
msgid "IAM role"
|
||||
msgstr "IAM role"
|
||||
|
||||
#. js-lingui-id: VjDLrJ
|
||||
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
|
||||
msgid "IAM role (instance profile)"
|
||||
msgstr "IAM role (instance profile)"
|
||||
|
||||
#. js-lingui-id: wwu18a
|
||||
#: src/modules/settings/data-model/objects/forms/components/SettingsDataModelObjectAboutForm.tsx
|
||||
msgid "Icon"
|
||||
@@ -7507,6 +7560,11 @@ msgstr "Identity Provider Metadata XML"
|
||||
msgid "if"
|
||||
msgstr "if"
|
||||
|
||||
#. js-lingui-id: K6ChR5
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
msgid "If disabled, use advanced search filters to find these records"
|
||||
msgstr "If disabled, use advanced search filters to find these records"
|
||||
|
||||
#. js-lingui-id: ZfP/Ap
|
||||
#: src/modules/object-record/record-table/empty-state/components/RecordTableEmptyStateRemote.tsx
|
||||
msgid "If this is unexpected, please verify your settings."
|
||||
@@ -7682,6 +7740,11 @@ msgstr "Inactive Skill Options"
|
||||
msgid "Inbox"
|
||||
msgstr "Inbox"
|
||||
|
||||
#. js-lingui-id: Wyip/m
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
msgid "Include in default search"
|
||||
msgstr "Include in default search"
|
||||
|
||||
#. js-lingui-id: mtGDyy
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
msgid "Incomplete"
|
||||
@@ -9103,6 +9166,7 @@ msgstr "Models for this provider. Toggle to enable or disable."
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
msgstr "Monday"
|
||||
|
||||
@@ -9153,6 +9217,7 @@ msgstr "months"
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/CommandMenuItemMoreActionsButton.tsx
|
||||
msgid "More"
|
||||
msgstr "More"
|
||||
|
||||
@@ -9293,6 +9358,7 @@ msgstr "mySkill"
|
||||
#: src/modules/settings/logic-functions/components/tabs/SettingsLogicFunctionTabEnvironmentVariableTableRow.tsx
|
||||
#: src/modules/settings/developers/components/SettingsApiKeysTable.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/SettingsObjectRelationsTable.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
#: src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectsSection.tsx
|
||||
#: src/modules/settings/admin-panel/config-variables/components/SettingsAdminConfigVariablesTable.tsx
|
||||
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
|
||||
@@ -9534,7 +9600,7 @@ msgstr "New record"
|
||||
#. js-lingui-id: gWnSyg
|
||||
#: src/pages/settings/ai/SettingsSkillForm.tsx
|
||||
#: src/pages/settings/ai/SettingsSkillForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "New Skill"
|
||||
msgstr "New Skill"
|
||||
|
||||
@@ -9675,6 +9741,11 @@ msgstr "No body"
|
||||
msgid "No calling code"
|
||||
msgstr "No calling code"
|
||||
|
||||
#. js-lingui-id: d14J3J
|
||||
#: src/modules/ai/components/NavigationDrawerAIChatContent.tsx
|
||||
msgid "No chat"
|
||||
msgstr "No chat"
|
||||
|
||||
#. js-lingui-id: wgUPZ1
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
msgid "No comment"
|
||||
@@ -9973,6 +10044,12 @@ msgstr "No permissions have been set for individual objects."
|
||||
msgid "No record is required to trigger this workflow"
|
||||
msgstr "No record is required to trigger this workflow"
|
||||
|
||||
#. js-lingui-id: aqUuQE
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr "No record selected"
|
||||
|
||||
#. js-lingui-id: X8wJTR
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSingleRecordPicker.tsx
|
||||
msgid "No records"
|
||||
@@ -10258,6 +10335,7 @@ msgstr "object"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionCreateRecord.tsx
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/side-panel/components/SidePanelObjectViewRecordInfo.tsx
|
||||
#: src/modules/side-panel/components/SidePanelObjectFilterDropdownContent.tsx
|
||||
#: src/modules/settings/developers/components/WebhookEntitySelect.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
msgid "Object"
|
||||
@@ -10502,6 +10580,7 @@ msgstr "Open Outlook"
|
||||
|
||||
#. js-lingui-id: bY2Xkv
|
||||
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/CommandMenuItemMoreActionsButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Open side panel"
|
||||
|
||||
@@ -10599,6 +10678,8 @@ msgstr "Organize"
|
||||
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroups.ts
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
#: src/modules/navigation/components/NavigationDrawerOtherSection.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Other"
|
||||
|
||||
@@ -10973,6 +11054,12 @@ msgstr "Pie Chart"
|
||||
msgid "Pink"
|
||||
msgstr "Pink"
|
||||
|
||||
#. js-lingui-id: kNiQp6
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr "Pinned"
|
||||
|
||||
#. js-lingui-id: hx1ePY
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsText.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsNumber.tsx
|
||||
@@ -11519,6 +11606,12 @@ msgstr "Record-level"
|
||||
msgid "Records"
|
||||
msgstr "Records"
|
||||
|
||||
#. js-lingui-id: J+Qyf2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr "Records selected"
|
||||
|
||||
#. js-lingui-id: wRTiSD
|
||||
#: src/modules/settings/data-model/fields/forms/select/components/SettingsDataModelFieldSelectFormOptionRow.tsx
|
||||
msgid "Red"
|
||||
@@ -11811,6 +11904,11 @@ msgstr "Reset"
|
||||
msgid "Reset 2FA"
|
||||
msgstr "Reset 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr "Reset label to default"
|
||||
|
||||
#. js-lingui-id: 1IWc1n
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelResetContextToSelectionButton.tsx
|
||||
msgid "Reset to"
|
||||
@@ -11818,6 +11916,7 @@ msgstr "Reset to"
|
||||
|
||||
#. js-lingui-id: L+rMC9
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Reset to default"
|
||||
|
||||
@@ -12119,6 +12218,7 @@ msgstr "Russian"
|
||||
|
||||
#. js-lingui-id: +5kO8P
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Saturday"
|
||||
msgstr "Saturday"
|
||||
|
||||
@@ -12184,6 +12284,7 @@ msgstr "SDK"
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/side-panel/hooks/useOpenRecordsSearchPageInSidePanel.ts
|
||||
#: src/modules/settings/roles/role-assignment/components/SettingsRoleAssignmentWorkspaceMemberPickerDropdown.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/ObjectSettings.tsx
|
||||
#: src/modules/settings/admin-panel/components/SettingsAdminGeneral.tsx
|
||||
#: src/modules/command-menu-item/record-agnostic/constants/RecordAgnosticCommandMenuItemsConfig.tsx
|
||||
#: src/modules/command-menu-item/record-agnostic/constants/RecordAgnosticCommandMenuItemsConfig.tsx
|
||||
@@ -12243,7 +12344,7 @@ msgid "Search a role..."
|
||||
msgstr "Search a role..."
|
||||
|
||||
#. js-lingui-id: lJNEce
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Search a skill..."
|
||||
msgstr "Search a skill..."
|
||||
|
||||
@@ -12268,6 +12369,11 @@ msgstr "Search a type"
|
||||
msgid "Search a view..."
|
||||
msgstr "Search a view..."
|
||||
|
||||
#. js-lingui-id: N7Z3jc
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
msgid "Search across indexed fields..."
|
||||
msgstr "Search across indexed fields..."
|
||||
|
||||
#. js-lingui-id: +7s4fw
|
||||
#: src/modules/settings/roles/role-assignment/components/SettingsRoleAssignmentEntityPickerDropdown.tsx
|
||||
msgid "Search agents"
|
||||
@@ -13038,6 +13144,11 @@ msgstr "Show group {groupValue}"
|
||||
msgid "Show hidden groups"
|
||||
msgstr "Show hidden groups"
|
||||
|
||||
#. js-lingui-id: eOY8jq
|
||||
#: src/modules/side-panel/components/SidePanelObjectFilterDropdownContent.tsx
|
||||
msgid "Show hidden objects"
|
||||
msgstr "Show hidden objects"
|
||||
|
||||
#. js-lingui-id: qi+g0a
|
||||
#: src/modules/spreadsheet-import/steps/components/ValidationStep/ValidationStep.tsx
|
||||
msgid "Show only rows with errors"
|
||||
@@ -13117,12 +13228,12 @@ msgid "Skill"
|
||||
msgstr "Skill"
|
||||
|
||||
#. js-lingui-id: h4t38o
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Skill activated"
|
||||
msgstr "Skill activated"
|
||||
|
||||
#. js-lingui-id: /IoK74
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Skill deleted"
|
||||
msgstr "Skill deleted"
|
||||
|
||||
@@ -13139,6 +13250,7 @@ msgstr "Skill not found"
|
||||
|
||||
#. js-lingui-id: PCSkw2
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Skills"
|
||||
msgstr "Skills"
|
||||
|
||||
@@ -13284,10 +13396,10 @@ msgstr "Sorts"
|
||||
msgid "Source"
|
||||
msgstr "Source"
|
||||
|
||||
#. js-lingui-id: IEtmGM
|
||||
#. js-lingui-id: xqlr9R
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
msgid "Spaces and comma - {spacesAndCommaExample}"
|
||||
msgstr "Spaces and comma - {spacesAndCommaExample}"
|
||||
msgid "Spaces and comma"
|
||||
msgstr "Spaces and comma"
|
||||
|
||||
#. js-lingui-id: 65A04M
|
||||
#: src/pages/settings/profile/appearance/components/LocalePicker.tsx
|
||||
@@ -13593,6 +13705,7 @@ msgstr "Sum"
|
||||
|
||||
#. js-lingui-id: DBC3t5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Sunday"
|
||||
msgstr "Sunday"
|
||||
|
||||
@@ -13741,43 +13854,24 @@ msgstr "System relations"
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsTimeZoneSelect.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsTimeZoneSelect.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeZoneSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeZoneSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsDateFormatSelect.tsx
|
||||
msgid "System settings"
|
||||
msgstr "System settings"
|
||||
|
||||
#. js-lingui-id: E3AMmw
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsDateFormatSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsDateFormatSelect.tsx
|
||||
msgid "System settings - {systemDateFormatLabel}"
|
||||
msgstr "System settings - {systemDateFormatLabel}"
|
||||
|
||||
#. js-lingui-id: uKM6SP
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
msgid "System Settings - {systemNumberFormatLabel}"
|
||||
msgstr "System Settings - {systemNumberFormatLabel}"
|
||||
|
||||
#. js-lingui-id: 0ZgB1e
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
msgid "System Settings - {systemTimeFormatLabel}"
|
||||
msgstr "System Settings - {systemTimeFormatLabel}"
|
||||
|
||||
#. js-lingui-id: e89dEj
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "System settings - Monday"
|
||||
msgstr "System settings - Monday"
|
||||
|
||||
#. js-lingui-id: o+Kvng
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "System settings - Saturday"
|
||||
msgstr "System settings - Saturday"
|
||||
|
||||
#. js-lingui-id: gluMQd
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "System settings - Sunday"
|
||||
msgstr "System settings - Sunday"
|
||||
|
||||
#. js-lingui-id: HuA3RU
|
||||
#: src/modules/side-panel/components/hooks/usePageLayoutHeaderInfo.ts
|
||||
msgid "Tab"
|
||||
@@ -14830,6 +14924,13 @@ msgstr "Unlisted"
|
||||
msgid "Unlock enterprise features like SSO, row-level security, and audit logs."
|
||||
msgstr "Unlock enterprise features like SSO, row-level security, and audit logs."
|
||||
|
||||
#. js-lingui-id: Te2H8x
|
||||
#: src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx
|
||||
#: src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx
|
||||
#: src/modules/settings/developers/components/SettingsApiKeysFieldItemTableRow.tsx
|
||||
msgid "Unnamed API Key"
|
||||
msgstr "Unnamed API Key"
|
||||
|
||||
#. js-lingui-id: eQMhFX
|
||||
#: src/modules/advanced-text-editor/extensions/slash-command/DefaultSlashCommands.ts
|
||||
msgid "unordered"
|
||||
@@ -15099,6 +15200,11 @@ msgstr "Use authenticator apps and browser extensions like 1Password, Authy, Mic
|
||||
msgid "Use best models only"
|
||||
msgstr "Use best models only"
|
||||
|
||||
#. js-lingui-id: cVOIgV
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Use filter to see existing tools or create your own"
|
||||
msgstr "Use filter to see existing tools or create your own"
|
||||
|
||||
#. js-lingui-id: oTTQsc
|
||||
#: src/modules/settings/domains/utils/getSubdomainValidationSchema.ts
|
||||
msgid "Use letter, number and dash only. Start and finish with a letter or a number"
|
||||
@@ -15638,6 +15744,11 @@ msgstr "Week"
|
||||
msgid "weeks"
|
||||
msgstr "weeks"
|
||||
|
||||
#. js-lingui-id: WKHqM+
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
msgid "Weight"
|
||||
msgstr "Weight"
|
||||
|
||||
#. js-lingui-id: nTuObL
|
||||
#: src/pages/auth/SignInUp.tsx
|
||||
msgid "Welcome to Twenty"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
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
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -501,9 +501,9 @@ msgstr ""
|
||||
msgid "10,000 workflow node executions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: bM5lnW
|
||||
#. js-lingui-id: rU05hS
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
msgid "12h - {hour12Label}"
|
||||
msgid "12h"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 4EdXYs
|
||||
@@ -537,9 +537,9 @@ msgstr ""
|
||||
msgid "200 OK - {duration}ms"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mwTnop
|
||||
#. js-lingui-id: W1k7eB
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
msgid "24h - {hour24Label}"
|
||||
msgid "24h"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: QsMprd
|
||||
@@ -1451,6 +1451,11 @@ msgstr ""
|
||||
msgid "All Metadata"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zIk4M6
|
||||
#: src/modules/side-panel/components/SidePanelObjectFilterDropdownContent.tsx
|
||||
msgid "All objects"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: aFE/OW
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
#: src/modules/settings/roles/role-permissions/objects-permissions/components/SettingsRolePermissionsObjectsTableHeader.tsx
|
||||
@@ -1741,6 +1746,11 @@ msgstr ""
|
||||
msgid "API key is required"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: sb6i1L
|
||||
#: src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx
|
||||
msgid "API key name cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Widx6n
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
msgid "API key roles"
|
||||
@@ -1806,9 +1816,9 @@ msgstr ""
|
||||
msgid "APIs & Webhooks"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: BnUHmx
|
||||
#. js-lingui-id: 0UMxlw
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
msgid "Apostrophe and dot - {apostropheAndDotExample}"
|
||||
msgid "Apostrophe and dot"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: LMUw1U
|
||||
@@ -2357,6 +2367,11 @@ msgstr ""
|
||||
msgid "Before"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KYr9vA
|
||||
#: src/pages/settings/ai/components/SettingsAIModelsTab.tsx
|
||||
msgid "Best"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: NgFKo1
|
||||
#: src/modules/workflow/workflow-trigger/utils/cron-to-human/descriptors/getMonthsDescription.ts
|
||||
msgid "between {startMonth} and {endMonth}"
|
||||
@@ -3008,6 +3023,7 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: saip/v
|
||||
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/CommandMenuItemMoreActionsButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr ""
|
||||
|
||||
@@ -3104,9 +3120,9 @@ msgstr ""
|
||||
msgid "Commands copied to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: A9u+7N
|
||||
#. js-lingui-id: QeCopv
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
msgid "Commas and dot - {commasAndDotExample}"
|
||||
msgid "Commas and dot"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: NBdIgR
|
||||
@@ -3213,6 +3229,11 @@ msgstr ""
|
||||
msgid "Configure fallback login methods for users with SSO bypass permissions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: OLqG0t
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/ObjectSettings.tsx
|
||||
msgid "Configure how this object appears in search results"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: ghdb7+
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsCalendarChannelsGeneral.tsx
|
||||
msgid "Configure how we should display your events in your calendar"
|
||||
@@ -3377,6 +3398,7 @@ msgstr ""
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/admin-panel/ai/components/SettingsAdminAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr ""
|
||||
@@ -3868,6 +3890,7 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: HAzhV7
|
||||
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
|
||||
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
|
||||
msgid "Credentials"
|
||||
msgstr ""
|
||||
|
||||
@@ -4209,6 +4232,7 @@ msgstr ""
|
||||
#. js-lingui-id: r+cVRP
|
||||
#: src/pages/settings/data-model/SettingsObjectFieldTable.tsx
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/field-permissions/components/SettingsRolePermissionsObjectLevelObjectFieldPermissionTable.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
msgid "Data type"
|
||||
msgstr ""
|
||||
|
||||
@@ -4340,7 +4364,7 @@ msgstr ""
|
||||
#. js-lingui-id: yAT3be
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/data-model/SettingsObjectTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/SettingsObjectRelationItemTableRow.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/SettingsObjectItemTableRow.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx
|
||||
@@ -4358,6 +4382,11 @@ msgstr ""
|
||||
msgid "Decide which Sub-address fields you want to display"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Bn9+El
|
||||
#: src/modules/ai/components/AIChatEditorSection.tsx
|
||||
msgid "default"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: ovBPCi
|
||||
#: src/modules/settings/data-model/fields/forms/date/utils/getDisplayFormatLabel.ts
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/MultiSelectAddressFields.tsx
|
||||
@@ -4926,9 +4955,9 @@ msgstr ""
|
||||
msgid "Don't sync emails from team@ support@ noreply@..."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: bd+DPX
|
||||
#. js-lingui-id: Wm78zZ
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
msgid "Dots and comma - {dotsAndCommaExample}"
|
||||
msgid "Dots and comma"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: LE8J+K
|
||||
@@ -5149,6 +5178,13 @@ msgstr ""
|
||||
msgid "Edit Account"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: t1EOLt
|
||||
#: src/modules/layout-customization/hooks/useEnterLayoutCustomizationMode.ts
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: GpnfNN
|
||||
#: src/modules/command-menu-item/record/constants/DashboardCommandMenuItemsConfig.tsx
|
||||
msgid "Edit Dashboard"
|
||||
@@ -6350,7 +6386,7 @@ msgid "Failed to activate enterprise license. Please check your key or contact s
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: vJiM7T
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Failed to activate skill"
|
||||
msgstr ""
|
||||
|
||||
@@ -6375,7 +6411,7 @@ msgid "Failed to delete jobs. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: bmwWKk
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Failed to delete skill"
|
||||
msgstr ""
|
||||
|
||||
@@ -6748,9 +6784,6 @@ msgid "Files"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: o7J4JM
|
||||
#: src/pages/settings/data-model/SettingsObjectFieldTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIAgentsTable.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/find-records-action/components/WorkflowEditActionFindRecords.tsx
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/views/components/ViewBarFilterButton.tsx
|
||||
@@ -6767,6 +6800,11 @@ msgstr ""
|
||||
msgid "Filter by event"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: yZOiaW
|
||||
#: src/modules/side-panel/components/SidePanelObjectFilterDropdown.tsx
|
||||
msgid "Filter by object type"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: gVEHcL
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Filter by record ID"
|
||||
@@ -7367,6 +7405,11 @@ msgstr ""
|
||||
msgid "Hide hidden groups"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: i0qMbr
|
||||
#: src/modules/page-layout/constants/StandardPageLayoutTabTitleTranslations.ts
|
||||
#: src/modules/navigation/components/MainNavigationDrawerTabsRow.tsx
|
||||
@@ -7475,6 +7518,16 @@ msgstr ""
|
||||
msgid "IAM credentials configured"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: LlQirF
|
||||
#: src/modules/settings/admin-panel/ai/components/SettingsAdminAiProviderListCard.tsx
|
||||
msgid "IAM role"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: VjDLrJ
|
||||
#: src/pages/settings/admin-panel/SettingsAdminAiProviderDetail.tsx
|
||||
msgid "IAM role (instance profile)"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wwu18a
|
||||
#: src/modules/settings/data-model/objects/forms/components/SettingsDataModelObjectAboutForm.tsx
|
||||
msgid "Icon"
|
||||
@@ -7507,6 +7560,11 @@ msgstr ""
|
||||
msgid "if"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: K6ChR5
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
msgid "If disabled, use advanced search filters to find these records"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: ZfP/Ap
|
||||
#: src/modules/object-record/record-table/empty-state/components/RecordTableEmptyStateRemote.tsx
|
||||
msgid "If this is unexpected, please verify your settings."
|
||||
@@ -7682,6 +7740,11 @@ msgstr ""
|
||||
msgid "Inbox"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Wyip/m
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
msgid "Include in default search"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mtGDyy
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
msgid "Incomplete"
|
||||
@@ -9103,6 +9166,7 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: hty0d5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Monday"
|
||||
msgstr ""
|
||||
|
||||
@@ -9153,6 +9217,7 @@ msgstr ""
|
||||
#. js-lingui-id: 2FYpfJ
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/modules/ui/layout/tab-list/components/TabMoreButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/CommandMenuItemMoreActionsButton.tsx
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
|
||||
@@ -9293,6 +9358,7 @@ msgstr ""
|
||||
#: src/modules/settings/logic-functions/components/tabs/SettingsLogicFunctionTabEnvironmentVariableTableRow.tsx
|
||||
#: src/modules/settings/developers/components/SettingsApiKeysTable.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/SettingsObjectRelationsTable.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
#: src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectsSection.tsx
|
||||
#: src/modules/settings/admin-panel/config-variables/components/SettingsAdminConfigVariablesTable.tsx
|
||||
#: src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx
|
||||
@@ -9534,7 +9600,7 @@ msgstr ""
|
||||
#. js-lingui-id: gWnSyg
|
||||
#: src/pages/settings/ai/SettingsSkillForm.tsx
|
||||
#: src/pages/settings/ai/SettingsSkillForm.tsx
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "New Skill"
|
||||
msgstr ""
|
||||
|
||||
@@ -9675,6 +9741,11 @@ msgstr ""
|
||||
msgid "No calling code"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: d14J3J
|
||||
#: src/modules/ai/components/NavigationDrawerAIChatContent.tsx
|
||||
msgid "No chat"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wgUPZ1
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
msgid "No comment"
|
||||
@@ -9973,6 +10044,12 @@ msgstr ""
|
||||
msgid "No record is required to trigger this workflow"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: aqUuQE
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: X8wJTR
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSingleRecordPicker.tsx
|
||||
msgid "No records"
|
||||
@@ -10258,6 +10335,7 @@ msgstr ""
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionCreateRecord.tsx
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/side-panel/components/SidePanelObjectViewRecordInfo.tsx
|
||||
#: src/modules/side-panel/components/SidePanelObjectFilterDropdownContent.tsx
|
||||
#: src/modules/settings/developers/components/WebhookEntitySelect.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
msgid "Object"
|
||||
@@ -10502,6 +10580,7 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: bY2Xkv
|
||||
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/CommandMenuItemMoreActionsButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr ""
|
||||
|
||||
@@ -10599,6 +10678,8 @@ msgstr ""
|
||||
#: src/modules/page-layout/widgets/fields/hooks/useFieldsWidgetGroups.ts
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemMainMenu.tsx
|
||||
#: src/modules/navigation/components/NavigationDrawerOtherSection.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
@@ -10973,6 +11054,12 @@ msgstr ""
|
||||
msgid "Pink"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: kNiQp6
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: hx1ePY
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsText.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsNumber.tsx
|
||||
@@ -11519,6 +11606,12 @@ msgstr ""
|
||||
msgid "Records"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: J+Qyf2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wRTiSD
|
||||
#: src/modules/settings/data-model/fields/forms/select/components/SettingsDataModelFieldSelectFormOptionRow.tsx
|
||||
msgid "Red"
|
||||
@@ -11811,6 +11904,11 @@ msgstr ""
|
||||
msgid "Reset 2FA"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 1IWc1n
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelResetContextToSelectionButton.tsx
|
||||
msgid "Reset to"
|
||||
@@ -11818,6 +11916,7 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: L+rMC9
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -12119,6 +12218,7 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: +5kO8P
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Saturday"
|
||||
msgstr ""
|
||||
|
||||
@@ -12184,6 +12284,7 @@ msgstr ""
|
||||
#: src/modules/sign-in-background-mock/components/SignInAppNavigationDrawerMock.tsx
|
||||
#: src/modules/side-panel/hooks/useOpenRecordsSearchPageInSidePanel.ts
|
||||
#: src/modules/settings/roles/role-assignment/components/SettingsRoleAssignmentWorkspaceMemberPickerDropdown.tsx
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/ObjectSettings.tsx
|
||||
#: src/modules/settings/admin-panel/components/SettingsAdminGeneral.tsx
|
||||
#: src/modules/command-menu-item/record-agnostic/constants/RecordAgnosticCommandMenuItemsConfig.tsx
|
||||
#: src/modules/command-menu-item/record-agnostic/constants/RecordAgnosticCommandMenuItemsConfig.tsx
|
||||
@@ -12243,7 +12344,7 @@ msgid "Search a role..."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: lJNEce
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Search a skill..."
|
||||
msgstr ""
|
||||
|
||||
@@ -12268,6 +12369,11 @@ msgstr ""
|
||||
msgid "Search a view..."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: N7Z3jc
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
msgid "Search across indexed fields..."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +7s4fw
|
||||
#: src/modules/settings/roles/role-assignment/components/SettingsRoleAssignmentEntityPickerDropdown.tsx
|
||||
msgid "Search agents"
|
||||
@@ -13038,6 +13144,11 @@ msgstr ""
|
||||
msgid "Show hidden groups"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: eOY8jq
|
||||
#: src/modules/side-panel/components/SidePanelObjectFilterDropdownContent.tsx
|
||||
msgid "Show hidden objects"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: qi+g0a
|
||||
#: src/modules/spreadsheet-import/steps/components/ValidationStep/ValidationStep.tsx
|
||||
msgid "Show only rows with errors"
|
||||
@@ -13117,12 +13228,12 @@ msgid "Skill"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: h4t38o
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Skill activated"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: /IoK74
|
||||
#: src/pages/settings/ai/components/SettingsSkillsTable.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Skill deleted"
|
||||
msgstr ""
|
||||
|
||||
@@ -13139,6 +13250,7 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: PCSkw2
|
||||
#: src/pages/settings/ai/SettingsAI.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Skills"
|
||||
msgstr ""
|
||||
|
||||
@@ -13284,9 +13396,9 @@ msgstr ""
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: IEtmGM
|
||||
#. js-lingui-id: xqlr9R
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
msgid "Spaces and comma - {spacesAndCommaExample}"
|
||||
msgid "Spaces and comma"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 65A04M
|
||||
@@ -13593,6 +13705,7 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: DBC3t5
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "Sunday"
|
||||
msgstr ""
|
||||
|
||||
@@ -13741,43 +13854,24 @@ msgstr ""
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsTimeZoneSelect.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsTimeZoneSelect.tsx
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeZoneSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeZoneSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsDateFormatSelect.tsx
|
||||
msgid "System settings"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: E3AMmw
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsDateFormatSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsDateFormatSelect.tsx
|
||||
msgid "System settings - {systemDateFormatLabel}"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: uKM6SP
|
||||
#: src/modules/settings/experience/components/NumberFormatSelect.tsx
|
||||
msgid "System Settings - {systemNumberFormatLabel}"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0ZgB1e
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
#: src/modules/settings/experience/components/DateTimeSettingsTimeFormatSelect.tsx
|
||||
msgid "System Settings - {systemTimeFormatLabel}"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: e89dEj
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "System settings - Monday"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: o+Kvng
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "System settings - Saturday"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: gluMQd
|
||||
#: src/pages/settings/profile/appearance/components/DateTimeSettingsCalendarStartDaySelect.tsx
|
||||
msgid "System settings - Sunday"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: HuA3RU
|
||||
#: src/modules/side-panel/components/hooks/usePageLayoutHeaderInfo.ts
|
||||
msgid "Tab"
|
||||
@@ -14828,6 +14922,13 @@ msgstr ""
|
||||
msgid "Unlock enterprise features like SSO, row-level security, and audit logs."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: Te2H8x
|
||||
#: src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx
|
||||
#: src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx
|
||||
#: src/modules/settings/developers/components/SettingsApiKeysFieldItemTableRow.tsx
|
||||
msgid "Unnamed API Key"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: eQMhFX
|
||||
#: src/modules/advanced-text-editor/extensions/slash-command/DefaultSlashCommands.ts
|
||||
msgid "unordered"
|
||||
@@ -15097,6 +15198,11 @@ msgstr ""
|
||||
msgid "Use best models only"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: cVOIgV
|
||||
#: src/pages/settings/ai/components/SettingsAgentSkills.tsx
|
||||
msgid "Use filter to see existing tools or create your own"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: oTTQsc
|
||||
#: src/modules/settings/domains/utils/getSubdomainValidationSchema.ts
|
||||
msgid "Use letter, number and dash only. Start and finish with a letter or a number"
|
||||
@@ -15634,6 +15740,11 @@ msgstr ""
|
||||
msgid "weeks"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WKHqM+
|
||||
#: src/modules/settings/data-model/object-details/components/tabs/SettingsObjectSearchSection.tsx
|
||||
msgid "Weight"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: nTuObL
|
||||
#: src/pages/auth/SignInUp.tsx
|
||||
msgid "Welcome to Twenty"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user