Compare commits
73
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2272e4f247 | ||
|
|
f33973bc24 | ||
|
|
777a031fd2 | ||
|
|
06d8719e07 | ||
|
|
91b0937315 | ||
|
|
c30d4ea8f5 | ||
|
|
c5c77bed7d | ||
|
|
b37ef3e7da | ||
|
|
00e6f55c8d | ||
|
|
4d877d072d | ||
|
|
baf2fc4cc9 | ||
|
|
3b55026452 | ||
|
|
53065f241f | ||
|
|
300be990b0 | ||
|
|
0a76db94bc | ||
|
|
bbf875d21d | ||
|
|
c26c0b9d71 | ||
|
|
99da104d94 | ||
|
|
f52d66b960 | ||
|
|
65b2baca7a | ||
|
|
66d9f92e60 | ||
|
|
8dd172ba00 | ||
|
|
83653a463c | ||
|
|
8c4a6cd663 | ||
|
|
f99c05f0e8 | ||
|
|
c99db7d9c6 | ||
|
|
5a22cc88c5 | ||
|
|
9a403b84f3 | ||
|
|
a82d078906 | ||
|
|
61720470c5 | ||
|
|
31baf52528 | ||
|
|
217957f2a1 | ||
|
|
4e6cf185fa | ||
|
|
001b7285e6 | ||
|
|
ec7d19a3af | ||
|
|
ed07afa774 | ||
|
|
b284c8323c | ||
|
|
34a903b4fa | ||
|
|
aed81a54a2 | ||
|
|
847e7124d7 | ||
|
|
186bc02533 | ||
|
|
e03ac126ab | ||
|
|
63c407e2f7 | ||
|
|
4b3a46d953 | ||
|
|
f13e7e01fe | ||
|
|
43ce396152 | ||
|
|
2ea62317d8 | ||
|
|
f8c35a95b5 | ||
|
|
67e7f05a68 | ||
|
|
cbefd42c4c | ||
|
|
f6423f5925 | ||
|
|
4fd721a3c9 | ||
|
|
20f28d6593 | ||
|
|
0fa7beba44 | ||
|
|
fb950cf312 | ||
|
|
2bb939b4b5 | ||
|
|
d2f51cc939 | ||
|
|
7a317b9182 | ||
|
|
df1d0d877d | ||
|
|
e3077691d1 | ||
|
|
8a10071253 | ||
|
|
7ef80dd238 | ||
|
|
8fde5d9da3 | ||
|
|
afdd914b83 | ||
|
|
77498d2f73 | ||
|
|
9bea5f73f1 | ||
|
|
c54747379a | ||
|
|
00208dbf1f | ||
|
|
e411f076f1 | ||
|
|
07745947ee | ||
|
|
082822b790 | ||
|
|
0c7712926d | ||
|
|
086256eb8d |
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"postgres": {
|
||||
"type": "stdio",
|
||||
"command": "bash",
|
||||
"args": ["-c", "source packages/twenty-server/.env && npx -y @modelcontextprotocol/server-postgres \"$PG_DATABASE_URL\""],
|
||||
"env": {}
|
||||
},
|
||||
"playwright": {
|
||||
"type": "stdio",
|
||||
"command": "npx",
|
||||
"args": ["@playwright/mcp@latest", "--no-sandbox", "--headless"],
|
||||
"env": {}
|
||||
},
|
||||
"context7": {
|
||||
"type": "stdio",
|
||||
"command": "npx",
|
||||
"args": ["-y", "@upstash/context7-mcp"],
|
||||
"env": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
Twenty is an open-source CRM built with modern technologies in a monorepo structure. The codebase is organized as an Nx workspace with multiple packages.
|
||||
|
||||
## Key Commands
|
||||
|
||||
### Development
|
||||
```bash
|
||||
# Start development environment (frontend + backend + worker)
|
||||
yarn start
|
||||
|
||||
# Individual package development
|
||||
npx nx start twenty-front # Start frontend dev server
|
||||
npx nx start twenty-server # Start backend server
|
||||
npx nx run twenty-server:worker # Start background worker
|
||||
```
|
||||
|
||||
### Testing
|
||||
```bash
|
||||
# Preferred: run a single test file (fast)
|
||||
npx jest path/to/test.test.ts --config=packages/PROJECT/jest.config.mjs
|
||||
|
||||
# Run all tests for a package
|
||||
npx nx test twenty-front # Frontend unit tests
|
||||
npx nx test twenty-server # Backend unit tests
|
||||
npx nx run twenty-server:test:integration:with-db-reset # Integration tests with DB reset
|
||||
# To run an indivual test or a pattern of tests, use the following command:
|
||||
cd packages/{workspace} && npx jest "pattern or filename"
|
||||
|
||||
# Storybook
|
||||
npx nx storybook:build twenty-front
|
||||
npx nx storybook:test twenty-front
|
||||
|
||||
# When testing the UI end to end, click on "Continue with Email" and use the prefilled credentials.
|
||||
```
|
||||
|
||||
### Code Quality
|
||||
```bash
|
||||
# Linting (diff with main - fastest, always prefer this)
|
||||
npx nx lint:diff-with-main twenty-front
|
||||
npx nx lint:diff-with-main twenty-server
|
||||
npx nx lint:diff-with-main twenty-front --configuration=fix # Auto-fix
|
||||
|
||||
# Linting (full project - slower, use only when needed)
|
||||
npx nx lint twenty-front
|
||||
npx nx lint twenty-server
|
||||
|
||||
# Type checking
|
||||
npx nx typecheck twenty-front
|
||||
npx nx typecheck twenty-server
|
||||
|
||||
# Format code
|
||||
npx nx fmt twenty-front
|
||||
npx nx fmt twenty-server
|
||||
```
|
||||
|
||||
### Build
|
||||
```bash
|
||||
# Build packages (twenty-shared must be built first)
|
||||
npx nx build twenty-shared
|
||||
npx nx build twenty-front
|
||||
npx nx build twenty-server
|
||||
```
|
||||
|
||||
### Database Operations
|
||||
```bash
|
||||
# Database management
|
||||
npx nx database:reset twenty-server # Reset database
|
||||
npx nx run twenty-server:database:init:prod # Initialize database
|
||||
npx nx run twenty-server:database:migrate:prod # Run instance commands (fast only)
|
||||
|
||||
# Generate an instance command (fast or slow)
|
||||
npx nx run twenty-server:database:migrate:generate --name <name> --type <fast|slow>
|
||||
```
|
||||
|
||||
### Database Inspection (Postgres MCP)
|
||||
|
||||
A read-only Postgres MCP server is configured in `.mcp.json`. Use it to:
|
||||
- Inspect workspace data, metadata, and object definitions while developing
|
||||
- Verify migration results (columns, types, constraints) after running migrations
|
||||
- Explore the multi-tenant schema structure (core, metadata, workspace-specific schemas)
|
||||
- Debug issues by querying raw data to confirm whether a bug is frontend, backend, or data-level
|
||||
- Inspect metadata tables to debug GraphQL schema generation issues
|
||||
|
||||
This server is read-only — for write operations (reset, migrations, sync), use the CLI commands above.
|
||||
|
||||
### GraphQL
|
||||
```bash
|
||||
# Generate GraphQL types (run after schema changes)
|
||||
npx nx run twenty-front:graphql:generate
|
||||
npx nx run twenty-front:graphql:generate --configuration=metadata
|
||||
```
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
### Tech Stack
|
||||
- **Frontend**: React 18, TypeScript, Jotai (state management), Linaria (styling), Vite
|
||||
- **Backend**: NestJS, TypeORM, PostgreSQL, Redis, GraphQL (with GraphQL Yoga)
|
||||
- **Monorepo**: Nx workspace managed with Yarn 4
|
||||
|
||||
### Package Structure
|
||||
```
|
||||
packages/
|
||||
├── twenty-front/ # React frontend application
|
||||
├── twenty-server/ # NestJS backend API
|
||||
├── twenty-ui/ # Shared UI components library
|
||||
├── twenty-shared/ # Common types and utilities
|
||||
├── twenty-emails/ # Email templates with React Email
|
||||
├── twenty-website/ # Next.js documentation website
|
||||
├── twenty-zapier/ # Zapier integration
|
||||
└── twenty-e2e-testing/ # Playwright E2E tests
|
||||
```
|
||||
|
||||
### Key Development Principles
|
||||
- **Functional components only** (no class components)
|
||||
- **Named exports only** (no default exports)
|
||||
- **Types over interfaces** (except when extending third-party interfaces)
|
||||
- **String literals over enums** (except for GraphQL enums)
|
||||
- **No 'any' type allowed** — strict TypeScript enforced
|
||||
- **Event handlers preferred over useEffect** for state updates
|
||||
- **Props down, events up** — unidirectional data flow
|
||||
- **Composition over inheritance**
|
||||
- **No abbreviations** in variable names (`user` not `u`, `fieldMetadata` not `fm`)
|
||||
|
||||
### Naming Conventions
|
||||
- **Variables/functions**: camelCase
|
||||
- **Constants**: SCREAMING_SNAKE_CASE
|
||||
- **Types/Classes**: PascalCase (suffix component props with `Props`, e.g. `ButtonProps`)
|
||||
- **Files/directories**: kebab-case with descriptive suffixes (`.component.tsx`, `.service.ts`, `.entity.ts`, `.dto.ts`, `.module.ts`)
|
||||
- **TypeScript generics**: descriptive names (`TData` not `T`)
|
||||
|
||||
### File Structure
|
||||
- Components under 300 lines, services under 500 lines
|
||||
- Components in their own directories with tests and stories
|
||||
- Use `index.ts` barrel exports for clean imports
|
||||
- Import order: external libraries first, then internal (`@/`), then relative
|
||||
|
||||
### Comments
|
||||
- Use short-form comments (`//`), not JSDoc blocks
|
||||
- Explain WHY (business logic), not WHAT
|
||||
- Do not comment obvious code
|
||||
- Multi-line comments use multiple `//` lines, not `/** */`
|
||||
|
||||
### State Management
|
||||
- **Jotai** for global state: atoms for primitive state, selectors for derived state, atom families for dynamic collections
|
||||
- Component-specific state with React hooks (`useState`, `useReducer` for complex logic)
|
||||
- GraphQL cache managed by Apollo Client
|
||||
- Use functional state updates: `setState(prev => prev + 1)`
|
||||
|
||||
### Backend Architecture
|
||||
- **NestJS modules** for feature organization
|
||||
- **TypeORM** for database ORM with PostgreSQL
|
||||
- **GraphQL** API with code-first approach
|
||||
- **Redis** for caching and session management
|
||||
- **BullMQ** for background job processing
|
||||
|
||||
### Database & Upgrade Commands
|
||||
- **PostgreSQL** as primary database
|
||||
- **Redis** for caching and sessions
|
||||
- **ClickHouse** for analytics (when enabled)
|
||||
- When changing entity files, generate an **instance command** (`database:migrate:generate --name <name> --type <fast|slow>`)
|
||||
- **Fast** instance commands handle schema changes; **slow** ones add a `runDataMigration` step for data backfills
|
||||
- **Workspace commands** iterate over all active/suspended workspaces for per-workspace upgrades
|
||||
- Commands use `@RegisteredInstanceCommand` and `@RegisteredWorkspaceCommand` decorators for automatic discovery
|
||||
- Include both `up` and `down` logic in instance commands
|
||||
- Never delete or rewrite committed instance command `up`/`down` logic
|
||||
- See `packages/twenty-server/docs/UPGRADE_COMMANDS.md` for full documentation
|
||||
|
||||
### Utility Helpers
|
||||
Use existing helpers from `twenty-shared` instead of manual type guards:
|
||||
- `isDefined()`, `isNonEmptyString()`, `isNonEmptyArray()`
|
||||
|
||||
## Development Workflow
|
||||
|
||||
IMPORTANT: Use Context7 for code generation, setup or configuration steps, or library/API documentation. Automatically use the Context7 MCP tools to resolve library IDs and get library docs without waiting for explicit requests.
|
||||
|
||||
### Before Making Changes
|
||||
1. Always run linting (`lint:diff-with-main`) and type checking after code changes
|
||||
2. Test changes with relevant test suites (prefer single-file test runs)
|
||||
3. Ensure instance commands are generated for entity changes (`database:migrate:generate`)
|
||||
4. Check that GraphQL schema changes are backward compatible
|
||||
5. Run `graphql:generate` after any GraphQL schema changes
|
||||
|
||||
### Code Style Notes
|
||||
- Use **Linaria** for styling with zero-runtime CSS-in-JS (styled-components pattern)
|
||||
- Follow **Nx** workspace conventions for imports
|
||||
- Use **Lingui** for internationalization
|
||||
- Apply security first, then formatting (sanitize before format)
|
||||
|
||||
### Testing Strategy
|
||||
- **Test behavior, not implementation** — focus on user perspective
|
||||
- **Test pyramid**: 70% unit, 20% integration, 10% E2E
|
||||
- Query by user-visible elements (text, roles, labels) over test IDs
|
||||
- Use `@testing-library/user-event` for realistic interactions
|
||||
- Descriptive test names: "should [behavior] when [condition]"
|
||||
- Clear mocks between tests with `jest.clearAllMocks()`
|
||||
|
||||
## Dev Environment Setup
|
||||
|
||||
All dev environments (Claude Code web, Cursor, local) use one script:
|
||||
|
||||
```bash
|
||||
bash packages/twenty-utils/setup-dev-env.sh
|
||||
```
|
||||
|
||||
This handles everything: starts Postgres + Redis (auto-detects local services vs Docker), creates databases, and copies `.env` files. Idempotent — safe to run multiple times.
|
||||
|
||||
- `--docker` — force Docker mode (uses `packages/twenty-docker/docker-compose.dev.yml`)
|
||||
- `--down` — stop services
|
||||
- `--reset` — wipe data and restart fresh
|
||||
- **Skip the setup script** for tasks that only read code — architecture questions, code review, documentation, etc.
|
||||
|
||||
**Note:** CI workflows (GitHub Actions) manage services via Actions service containers and run setup steps individually — they don't use this script.
|
||||
|
||||
## Important Files
|
||||
- `nx.json` - Nx workspace configuration with task definitions
|
||||
- `tsconfig.base.json` - Base TypeScript configuration
|
||||
- `package.json` - Root package with workspace definitions
|
||||
- `.cursor/rules/` - Detailed development guidelines and best practices
|
||||
@@ -12,7 +12,7 @@ This directory contains Twenty's development guidelines and best practices in th
|
||||
### Core Guidelines
|
||||
- **architecture.mdc** - Project overview, technology stack, and infrastructure setup (Always Applied)
|
||||
- **nx-rules.mdc** - Nx workspace guidelines and best practices (Auto-attached to Nx files)
|
||||
- **server-migrations.mdc** - Backend migration and TypeORM guidelines for `twenty-server` (Auto-attached to server entities and migration files)
|
||||
- **server-migrations.mdc** - Upgrade command guidelines (instance commands and workspace commands) for `twenty-server` (Auto-attached to server entities and upgrade command files)
|
||||
- **creating-syncable-entity.mdc** - Comprehensive guide for creating new syncable entities (with universalIdentifier and applicationId) in the workspace migration system (Agent-requested for metadata-modules and workspace-migration files)
|
||||
|
||||
### Code Quality
|
||||
@@ -81,10 +81,8 @@ npx nx run twenty-server:typecheck # Type checking
|
||||
npx nx run twenty-server:test # Run unit tests
|
||||
npx nx run twenty-server:test:integration:with-db-reset # Run integration tests
|
||||
|
||||
# Migrations
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/[name] -d src/database/typeorm/core/core.datasource.ts
|
||||
|
||||
# Workspace
|
||||
# Upgrade commands (instance + workspace)
|
||||
npx nx run twenty-server:database:migrate:generate --name <name> --type <fast|slow>
|
||||
```
|
||||
|
||||
## Usage Guidelines
|
||||
|
||||
@@ -55,7 +55,8 @@ If feature descriptions are not provided or need enhancement, research the codeb
|
||||
- Services: Look for `*.service.ts` files
|
||||
|
||||
**For Database/ORM Changes:**
|
||||
- Migrations: `packages/twenty-server/src/database/typeorm/`
|
||||
- Instance commands (fast/slow): `packages/twenty-server/src/database/commands/upgrade-version-command/`
|
||||
- Legacy TypeORM migrations: `packages/twenty-server/src/database/typeorm/`
|
||||
- Entities: `packages/twenty-server/src/entities/`
|
||||
|
||||
### Research Commands
|
||||
|
||||
@@ -1,29 +1,46 @@
|
||||
---
|
||||
description: Guidelines for generating and managing TypeORM migrations in twenty-server
|
||||
description: Guidelines for generating and managing upgrade commands (instance commands and workspace commands) in twenty-server
|
||||
globs: [
|
||||
"packages/twenty-server/src/**/*.entity.ts",
|
||||
"packages/twenty-server/src/database/typeorm/**/*.ts"
|
||||
"packages/twenty-server/src/database/commands/upgrade-version-command/**/*.ts"
|
||||
]
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
## Server Migrations (twenty-server)
|
||||
## Upgrade Commands (twenty-server)
|
||||
|
||||
- **When changing an entity, always generate a migration**
|
||||
- If you modify a `*.entity.ts` file in `packages/twenty-server/src`, you **must** generate a corresponding TypeORM migration instead of manually editing the database schema.
|
||||
- Use the Nx + TypeORM command from the project root:
|
||||
The upgrade system uses two types of commands instead of raw TypeORM migrations:
|
||||
- **Instance commands** — schema and data migrations that run once at the instance level.
|
||||
- **Workspace commands** — commands that iterate over all active/suspended workspaces.
|
||||
|
||||
See `packages/twenty-server/docs/UPGRADE_COMMANDS.md` for full documentation.
|
||||
|
||||
### Instance Commands
|
||||
|
||||
- **When changing a `*.entity.ts` file**, generate an instance command:
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/common/[name] -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate --name <name> --type <fast|slow>
|
||||
```
|
||||
|
||||
- Replace `[name]` with a descriptive, kebab-case migration name that reflects the change (for example, `add-agent-turn-evaluation`).
|
||||
- **Fast commands** (`--type fast`, default) are for schema-only changes that must run immediately. They implement `FastInstanceCommand` with `up`/`down` methods and use the `@RegisteredInstanceCommand` decorator.
|
||||
|
||||
- **Prefer generated migrations over manual edits**
|
||||
- Let TypeORM infer schema changes from the updated entities; only adjust the generated migration file manually if absolutely necessary (for example, for data backfills or complex constraints).
|
||||
- Keep schema changes (DDL) in these generated migrations and avoid mixing in heavy data migrations unless there is a strong reason and clear comments.
|
||||
- **Slow commands** (`--type slow`) add a `runDataMigration` method for potentially long-running data backfills that execute before `up`. They only run when `--include-slow` is passed. Use the decorator with `{ type: 'slow' }`.
|
||||
|
||||
- **Keep migrations consistent and reversible**
|
||||
- Ensure the generated migration includes both `up` and `down` logic that correctly applies and reverts the entity change when possible.
|
||||
- Do not delete or rewrite existing, committed migrations unless you are explicitly working on a pre-release branch where history rewrites are allowed by team conventions.
|
||||
- The generator auto-registers the command in `instance-commands.constant.ts` — do not edit that file manually.
|
||||
|
||||
- **Keep commands consistent and reversible**: include both `up` and `down` logic. Do not delete or rewrite existing, committed commands unless on a pre-release branch.
|
||||
|
||||
### Workspace Commands
|
||||
|
||||
- Use the `@RegisteredWorkspaceCommand` decorator alongside nest-commander's `@Command` decorator.
|
||||
- Extend `ActiveOrSuspendedWorkspaceCommandRunner` and implement `runOnWorkspace`.
|
||||
- The base class provides `--dry-run`, `--verbose`, and workspace filter options automatically.
|
||||
|
||||
### Execution Order
|
||||
|
||||
Within a given version, commands run in this order (timestamp-sorted within each group):
|
||||
1. Instance fast commands
|
||||
2. Instance slow commands (only with `--include-slow`)
|
||||
3. Workspace commands
|
||||
|
||||
|
||||
@@ -8,6 +8,10 @@ inputs:
|
||||
api-key:
|
||||
description: API key or access token for the target instance
|
||||
required: true
|
||||
app-path:
|
||||
description: Path to the app directory (relative to repo root). Defaults to repo root.
|
||||
required: false
|
||||
default: '.'
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
@@ -19,11 +23,13 @@ runs:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
node-version-file: '${{ inputs.app-path }}/.nvmrc'
|
||||
cache: yarn
|
||||
cache-dependency-path: '${{ inputs.app-path }}/yarn.lock'
|
||||
|
||||
- name: Install dependencies
|
||||
shell: bash
|
||||
working-directory: ${{ inputs.app-path }}
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Configure remote
|
||||
@@ -43,4 +49,5 @@ runs:
|
||||
|
||||
- name: Deploy
|
||||
shell: bash
|
||||
working-directory: ${{ inputs.app-path }}
|
||||
run: yarn twenty deploy --remote target
|
||||
|
||||
@@ -8,6 +8,10 @@ inputs:
|
||||
api-key:
|
||||
description: API key or access token for the target workspace
|
||||
required: true
|
||||
app-path:
|
||||
description: Path to the app directory (relative to repo root). Defaults to repo root.
|
||||
required: false
|
||||
default: '.'
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
@@ -19,11 +23,13 @@ runs:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
node-version-file: '${{ inputs.app-path }}/.nvmrc'
|
||||
cache: yarn
|
||||
cache-dependency-path: '${{ inputs.app-path }}/yarn.lock'
|
||||
|
||||
- name: Install dependencies
|
||||
shell: bash
|
||||
working-directory: ${{ inputs.app-path }}
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Configure remote
|
||||
@@ -43,4 +49,5 @@ runs:
|
||||
|
||||
- name: Install
|
||||
shell: bash
|
||||
working-directory: ${{ inputs.app-path }}
|
||||
run: yarn twenty install --remote target
|
||||
|
||||
@@ -15,8 +15,8 @@ outputs:
|
||||
description: 'URL where the Twenty test server can be reached'
|
||||
value: http://localhost:2021
|
||||
api-key:
|
||||
description: 'API key for the Twenty test instance'
|
||||
value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC05ZTNiLTQ2ZDQtYTU1Ni04OGI5ZGRjMmIwMzQiLCJ1c2VySWQiOiIyMDIwMjAyMC05ZTNiLTQ2ZDQtYTU1Ni04OGI5ZGRjMmIwMzQiLCJ3b3Jrc3BhY2VJZCI6IjIwMjAyMDIwLTFjMjUtNGQwMi1iZjI1LTZhZWNjZjdlYTQxOSIsIndvcmtzcGFjZU1lbWJlcklkIjoiMjAyMDIwMjAtMDY4Ny00YzQxLWI3MDctZWQxYmZjYTk3MmE3IiwidXNlcldvcmtzcGFjZUlkIjoiMjAyMDIwMjAtOWUzYi00NmQ0LWE1NTYtODhiOWRkYzJiMDM1IiwidHlwZSI6IkFDQ0VTUyIsImF1dGhQcm92aWRlciI6InBhc3N3b3JkIiwiaWF0IjoxNzUxMjgxNzA0LCJleHAiOjQ5MDQ4ODE3MDR9.9S4wc0MOr5iczsomlFxZdOHD1IRDS4dnRSwNVNpctF4
|
||||
description: 'API key (type: API_KEY) for the seeded Twenty dev workspace'
|
||||
value: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC0xYzI1LTRkMDItYmYyNS02YWVjY2Y3ZWE0MTkiLCJ0eXBlIjoiQVBJX0tFWSIsIndvcmtzcGFjZUlkIjoiMjAyMDIwMjAtMWMyNS00ZDAyLWJmMjUtNmFlY2NmN2VhNDE5IiwiaWF0IjoxNzM1Njg5NjAwLCJleHAiOjQ4OTE0NDk2MDAsImp0aSI6IjIwMjAyMDIwLWY0MDEtNGQ4YS1hNzMxLTY0ZDAwN2MyN2JhZCJ9.bfQjfyN0NEtTCLE_xPyNcwonDzlSXFoP8kdCQTdnuDc
|
||||
|
||||
runs:
|
||||
using: 'composite'
|
||||
|
||||
@@ -19,6 +19,7 @@ jobs:
|
||||
files: |
|
||||
packages/twenty-sdk/**
|
||||
packages/twenty-server/**
|
||||
.github/workflows/ci-sdk.yaml
|
||||
!packages/twenty-sdk/package.json
|
||||
sdk-test:
|
||||
needs: changed-files-check
|
||||
@@ -69,7 +70,6 @@ jobs:
|
||||
ports:
|
||||
- 6379:6379
|
||||
env:
|
||||
NODE_ENV: test
|
||||
TWENTY_API_URL: http://localhost:3000
|
||||
TWENTY_API_KEY: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC1lNmI1LTQ2ODAtOGEzMi1iODIwOTczNzE1NmIiLCJ1c2VySWQiOiIyMDIwMjAyMC1lNmI1LTQ2ODAtOGEzMi1iODIwOTczNzE1NmIiLCJ3b3Jrc3BhY2VJZCI6IjIwMjAyMDIwLTFjMjUtNGQwMi1iZjI1LTZhZWNjZjdlYTQxOSIsIndvcmtzcGFjZU1lbWJlcklkIjoiMjAyMDIwMjAtNDYzZi00MzViLTgyOGMtMTA3ZTAwN2EyNzExIiwidXNlcldvcmtzcGFjZUlkIjoiMjAyMDIwMjAtMWU3Yy00M2Q5LWE1ZGItNjg1YjUwNjlkODE2IiwidHlwZSI6IkFDQ0VTUyIsImF1dGhQcm92aWRlciI6InBhc3N3b3JkIiwiaWF0IjoxNzUxMjgxNzA0LCJleHAiOjIwNjY4NTc3MDR9.HMGqCsVlOAPVUBhKSGlD1X86VoHKt4LIUtET3CGIdik
|
||||
steps:
|
||||
@@ -79,16 +79,26 @@ jobs:
|
||||
fetch-depth: 10
|
||||
- name: Install dependencies
|
||||
uses: ./.github/actions/yarn-install
|
||||
- name: Build
|
||||
- name: Build SDK
|
||||
run: npx nx build twenty-sdk
|
||||
- name: Server / Create Test DB
|
||||
- name: Setup server environment
|
||||
run: npx nx reset:env:e2e-testing-server twenty-server
|
||||
- name: Create databases
|
||||
run: |
|
||||
PGPASSWORD=postgres psql -h localhost -p 5432 -U postgres -d postgres -c 'CREATE DATABASE "default";'
|
||||
PGPASSWORD=postgres psql -h localhost -p 5432 -U postgres -d postgres -c 'CREATE DATABASE "test";'
|
||||
- name: Setup database
|
||||
run: npx nx run twenty-server:database:reset
|
||||
- name: Start server
|
||||
run: nohup npx nx start:ci twenty-server > /tmp/twenty-server.log 2>&1 &
|
||||
- name: Wait for server to be ready
|
||||
run: npx wait-on http://localhost:3000/healthz --timeout 120000 --interval 1000
|
||||
- name: SDK / Run e2e Tests
|
||||
uses: ./.github/actions/nx-affected
|
||||
with:
|
||||
tag: scope:sdk
|
||||
tasks: test:e2e
|
||||
run: NODE_ENV=test npx vitest run --config ./vitest.e2e.config.ts
|
||||
working-directory: packages/twenty-sdk
|
||||
- name: Server / Dump logs on failure
|
||||
if: failure()
|
||||
run: tail -100 /tmp/twenty-server.log || echo "No server log file found"
|
||||
ci-sdk-status-check:
|
||||
if: always() && !cancelled()
|
||||
timeout-minutes: 5
|
||||
|
||||
@@ -144,15 +144,18 @@ jobs:
|
||||
exit 1
|
||||
- name: Server / Check for Pending Migrations
|
||||
run: |
|
||||
CORE_MIGRATION_OUTPUT=$(npx nx database:migrate:generate twenty-server -- --name core-migration-check || true)
|
||||
npx nx database:migrate:generate twenty-server -- --name pending-migration-check || true
|
||||
|
||||
CORE_MIGRATION_FILE=$(ls packages/twenty-server/src/database/typeorm/core/migrations/common/*core-migration-check.ts 2>/dev/null || echo "")
|
||||
|
||||
if [ -n "$CORE_MIGRATION_FILE" ]; then
|
||||
if ! git diff --quiet; then
|
||||
echo "::error::Unexpected migration files were generated. Please run 'npx nx database:migrate:generate twenty-server -- --name <migration-name>' and commit the result."
|
||||
echo "$CORE_MIGRATION_OUTPUT"
|
||||
echo ""
|
||||
echo "The following migration changes were detected:"
|
||||
echo "==================================================="
|
||||
git diff
|
||||
echo "==================================================="
|
||||
echo ""
|
||||
|
||||
rm -f packages/twenty-server/src/database/typeorm/core/migrations/common/*core-migration-check.ts
|
||||
git checkout -- .
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -53,3 +53,4 @@ mcp.json
|
||||
TRANSLATION_QA_REPORT.md
|
||||
.playwright-mcp/
|
||||
.playwright-cli/
|
||||
output/playwright/
|
||||
|
||||
@@ -71,10 +71,10 @@ npx nx build twenty-server
|
||||
# Database management
|
||||
npx nx database:reset twenty-server # Reset database
|
||||
npx nx run twenty-server:database:init:prod # Initialize database
|
||||
npx nx run twenty-server:database:migrate:prod # Run migrations
|
||||
npx nx run twenty-server:database:migrate:prod # Run instance commands (fast only)
|
||||
|
||||
# Generate migration (replace [name] with kebab-case descriptive name)
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/common/[name] -d src/database/typeorm/core/core.datasource.ts
|
||||
# Generate an instance command (fast or slow)
|
||||
npx nx run twenty-server:database:migrate:generate --name <name> --type <fast|slow>
|
||||
```
|
||||
|
||||
### Database Inspection (Postgres MCP)
|
||||
@@ -158,14 +158,17 @@ packages/
|
||||
- **Redis** for caching and session management
|
||||
- **BullMQ** for background job processing
|
||||
|
||||
### Database & Migrations
|
||||
### Database & Upgrade Commands
|
||||
- **PostgreSQL** as primary database
|
||||
- **Redis** for caching and sessions
|
||||
- **ClickHouse** for analytics (when enabled)
|
||||
- Always generate migrations when changing entity files
|
||||
- Migration names must be kebab-case (e.g. `add-agent-turn-evaluation`)
|
||||
- Include both `up` and `down` logic in migrations
|
||||
- Never delete or rewrite committed migrations
|
||||
- When changing entity files, generate an **instance command** (`database:migrate:generate --name <name> --type <fast|slow>`)
|
||||
- **Fast** instance commands handle schema changes; **slow** ones add a `runDataMigration` step for data backfills
|
||||
- **Workspace commands** iterate over all active/suspended workspaces for per-workspace upgrades
|
||||
- Commands use `@RegisteredInstanceCommand` and `@RegisteredWorkspaceCommand` decorators for automatic discovery
|
||||
- Include both `up` and `down` logic in instance commands
|
||||
- Never delete or rewrite committed instance command `up`/`down` logic
|
||||
- See `packages/twenty-server/docs/UPGRADE_COMMANDS.md` for full documentation
|
||||
|
||||
### Utility Helpers
|
||||
Use existing helpers from `twenty-shared` instead of manual type guards:
|
||||
@@ -178,7 +181,7 @@ IMPORTANT: Use Context7 for code generation, setup or configuration steps, or li
|
||||
### Before Making Changes
|
||||
1. Always run linting (`lint:diff-with-main`) and type checking after code changes
|
||||
2. Test changes with relevant test suites (prefer single-file test runs)
|
||||
3. Ensure database migrations are generated for entity changes
|
||||
3. Ensure instance commands are generated for entity changes (`database:migrate:generate`)
|
||||
4. Check that GraphQL schema changes are backward compatible
|
||||
5. Run `graphql:generate` after any GraphQL schema changes
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "create-twenty-app",
|
||||
"version": "0.9.0-canary.0",
|
||||
"version": "1.22.0-canary.3",
|
||||
"description": "Command-line interface to create Twenty application",
|
||||
"main": "dist/cli.cjs",
|
||||
"bin": "dist/cli.cjs",
|
||||
|
||||
@@ -17,8 +17,7 @@ export default defineConfig({
|
||||
TWENTY_API_URL: process.env.TWENTY_API_URL ?? 'http://localhost:2020',
|
||||
TWENTY_API_KEY:
|
||||
process.env.TWENTY_API_KEY ??
|
||||
// Tim Apple (admin) access token for twenty-app-dev
|
||||
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC05ZTNiLTQ2ZDQtYTU1Ni04OGI5ZGRjMmIwMzQiLCJ1c2VySWQiOiIyMDIwMjAyMC05ZTNiLTQ2ZDQtYTU1Ni04OGI5ZGRjMmIwMzQiLCJ3b3Jrc3BhY2VJZCI6IjIwMjAyMDIwLTFjMjUtNGQwMi1iZjI1LTZhZWNjZjdlYTQxOSIsIndvcmtzcGFjZU1lbWJlcklkIjoiMjAyMDIwMjAtMDY4Ny00YzQxLWI3MDctZWQxYmZjYTk3MmE3IiwidXNlcldvcmtzcGFjZUlkIjoiMjAyMDIwMjAtOWUzYi00NmQ0LWE1NTYtODhiOWRkYzJiMDM1IiwidHlwZSI6IkFDQ0VTUyIsImF1dGhQcm92aWRlciI6InBhc3N3b3JkIiwiaWF0IjoxNzUxMjgxNzA0LCJleHAiOjQ5MDQ4ODE3MDR9.9S4wc0MOr5iczsomlFxZdOHD1IRDS4dnRSwNVNpctF4',
|
||||
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC0xYzI1LTRkMDItYmYyNS02YWVjY2Y3ZWE0MTkiLCJ0eXBlIjoiQVBJX0tFWSIsIndvcmtzcGFjZUlkIjoiMjAyMDIwMjAtMWMyNS00ZDAyLWJmMjUtNmFlY2NmN2VhNDE5IiwiaWF0IjoxNzM1Njg5NjAwLCJleHAiOjQ4OTE0NDk2MDAsImp0aSI6IjIwMjAyMDIwLWY0MDEtNGQ4YS1hNzMxLTY0ZDAwN2MyN2JhZCJ9.bfQjfyN0NEtTCLE_xPyNcwonDzlSXFoP8kdCQTdnuDc',
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
"test:watch": "vitest"
|
||||
},
|
||||
"dependencies": {
|
||||
"twenty-client-sdk": "0.8.0-canary.5",
|
||||
"twenty-sdk": "0.8.0-canary.5"
|
||||
"twenty-client-sdk": "0.9.0",
|
||||
"twenty-sdk": "0.9.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24.7.2",
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
import { definePostInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
import {
|
||||
definePostInstallLogicFunction,
|
||||
type InstallLogicFunctionPayload,
|
||||
} from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
console.log('Post install logic function executed successfully!', payload.previousVersion);
|
||||
console.log(
|
||||
'Post install logic function executed successfully!',
|
||||
payload.previousVersion,
|
||||
);
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: '8c726dcc-1709-4eac-aa8b-f99960a9ec1b',
|
||||
name: 'post-install',
|
||||
description: 'Runs after installation to set up the application.',
|
||||
timeoutSeconds: 300,
|
||||
timeoutSeconds: 30,
|
||||
handler,
|
||||
});
|
||||
|
||||
@@ -17,8 +17,7 @@ export default defineConfig({
|
||||
TWENTY_API_URL: process.env.TWENTY_API_URL ?? 'http://localhost:2020',
|
||||
TWENTY_API_KEY:
|
||||
process.env.TWENTY_API_KEY ??
|
||||
// Tim Apple (admin) access token for twenty-app-dev
|
||||
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC05ZTNiLTQ2ZDQtYTU1Ni04OGI5ZGRjMmIwMzQiLCJ1c2VySWQiOiIyMDIwMjAyMC05ZTNiLTQ2ZDQtYTU1Ni04OGI5ZGRjMmIwMzQiLCJ3b3Jrc3BhY2VJZCI6IjIwMjAyMDIwLTFjMjUtNGQwMi1iZjI1LTZhZWNjZjdlYTQxOSIsIndvcmtzcGFjZU1lbWJlcklkIjoiMjAyMDIwMjAtMDY4Ny00YzQxLWI3MDctZWQxYmZjYTk3MmE3IiwidXNlcldvcmtzcGFjZUlkIjoiMjAyMDIwMjAtOWUzYi00NmQ0LWE1NTYtODhiOWRkYzJiMDM1IiwidHlwZSI6IkFDQ0VTUyIsImF1dGhQcm92aWRlciI6InBhc3N3b3JkIiwiaWF0IjoxNzUxMjgxNzA0LCJleHAiOjQ5MDQ4ODE3MDR9.9S4wc0MOr5iczsomlFxZdOHD1IRDS4dnRSwNVNpctF4',
|
||||
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC0xYzI1LTRkMDItYmYyNS02YWVjY2Y3ZWE0MTkiLCJ0eXBlIjoiQVBJX0tFWSIsIndvcmtzcGFjZUlkIjoiMjAyMDIwMjAtMWMyNS00ZDAyLWJmMjUtNmFlY2NmN2VhNDE5IiwiaWF0IjoxNzM1Njg5NjAwLCJleHAiOjQ4OTE0NDk2MDAsImp0aSI6IjIwMjAyMDIwLWY0MDEtNGQ4YS1hNzMxLTY0ZDAwN2MyN2JhZCJ9.bfQjfyN0NEtTCLE_xPyNcwonDzlSXFoP8kdCQTdnuDc',
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -19,8 +19,8 @@
|
||||
"test:watch": "vitest"
|
||||
},
|
||||
"dependencies": {
|
||||
"twenty-client-sdk": "0.8.0-canary.8",
|
||||
"twenty-sdk": "0.8.0-canary.8"
|
||||
"twenty-client-sdk": "0.9.0",
|
||||
"twenty-sdk": "0.9.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24.7.2",
|
||||
|
||||
+3
-1
@@ -44,7 +44,9 @@ describe('App installation', () => {
|
||||
|
||||
if (!uninstallResult.success) {
|
||||
console.warn(
|
||||
`App uninstall failed: ${uninstallResult.error?.message ?? 'Unknown error'}`,
|
||||
`App uninstall failed: ${
|
||||
uninstallResult.error?.message ?? 'Unknown error'
|
||||
}`,
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import { CoreApiClient } from 'twenty-client-sdk/core';
|
||||
import { definePostInstallLogicFunction } from 'twenty-sdk';
|
||||
|
||||
const SEED_POST_CARDS = [
|
||||
{
|
||||
name: 'Greetings from Paris',
|
||||
content: 'Wish you were here! The Eiffel Tower is breathtaking.',
|
||||
},
|
||||
{
|
||||
name: 'Hello from Tokyo',
|
||||
content: 'Cherry blossoms are in full bloom. Sending love!',
|
||||
},
|
||||
];
|
||||
|
||||
const handler = async () => {
|
||||
const client = new CoreApiClient();
|
||||
|
||||
await client.mutation({
|
||||
createPostCards: {
|
||||
__args: { data: SEED_POST_CARDS as any },
|
||||
id: true,
|
||||
},
|
||||
} as any);
|
||||
|
||||
console.log(`Seeded ${SEED_POST_CARDS.length} post cards on install.`);
|
||||
return {};
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: '852c6321-1563-4396-b7c5-9d370f3d30a9',
|
||||
name: 'post-install',
|
||||
description: 'Runs after installation to set up the application.',
|
||||
timeoutSeconds: 30,
|
||||
handler,
|
||||
});
|
||||
@@ -0,0 +1,17 @@
|
||||
import { definePreInstallLogicFunction } from 'twenty-sdk';
|
||||
|
||||
const handler = async (params: any) => {
|
||||
console.log(
|
||||
`Pre-install logic function executed successfully with params`,
|
||||
params,
|
||||
);
|
||||
return {};
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'bf27f558-4ec6-481f-b76e-1dbcd05aef1f',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before migrations to set up the application.',
|
||||
timeoutSeconds: 10,
|
||||
handler,
|
||||
});
|
||||
@@ -1,59 +0,0 @@
|
||||
import { CoreApiClient } from 'twenty-client-sdk/core';
|
||||
import { definePostInstallLogicFunction } from 'twenty-sdk';
|
||||
|
||||
const POST_CARDS_TO_SEED = [
|
||||
{
|
||||
name: 'Greetings from Paris',
|
||||
content:
|
||||
'Wish you were here! The Eiffel Tower looks even better in person. - Alex',
|
||||
},
|
||||
{
|
||||
name: 'Hello from Tokyo',
|
||||
content:
|
||||
'The cherry blossoms are amazing this time of year. See you soon! - Sam',
|
||||
},
|
||||
];
|
||||
|
||||
const handler = async (): Promise<{
|
||||
message: string;
|
||||
createdIds: string[];
|
||||
}> => {
|
||||
console.log('Seeding 2 post cards...');
|
||||
const client = new CoreApiClient();
|
||||
|
||||
const createdIds: string[] = [];
|
||||
|
||||
for (const postCard of POST_CARDS_TO_SEED) {
|
||||
const { createPostCard } = await client.mutation({
|
||||
createPostCard: {
|
||||
__args: {
|
||||
data: {
|
||||
name: postCard.name,
|
||||
content: postCard.content,
|
||||
},
|
||||
},
|
||||
id: true,
|
||||
},
|
||||
});
|
||||
|
||||
if (!createPostCard?.id) {
|
||||
throw new Error(`Failed to create post card "${postCard.name}"`);
|
||||
}
|
||||
|
||||
createdIds.push(createPostCard.id);
|
||||
}
|
||||
|
||||
console.log('Seeding complete!');
|
||||
return {
|
||||
message: `Seeded ${createdIds.length} post cards`,
|
||||
createdIds,
|
||||
};
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: '9f3d8c21-b471-4a82-8e5c-6f3a7b8c9d01',
|
||||
name: 'seed-post-cards',
|
||||
description: 'Seeds the workspace with 2 sample post card records.',
|
||||
timeoutSeconds: 10,
|
||||
handler,
|
||||
});
|
||||
@@ -17,8 +17,7 @@ export default defineConfig({
|
||||
TWENTY_API_URL: process.env.TWENTY_API_URL ?? 'http://localhost:2020',
|
||||
TWENTY_API_KEY:
|
||||
process.env.TWENTY_API_KEY ??
|
||||
// Tim Apple (admin) access token for twenty-app-dev
|
||||
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC05ZTNiLTQ2ZDQtYTU1Ni04OGI5ZGRjMmIwMzQiLCJ1c2VySWQiOiIyMDIwMjAyMC05ZTNiLTQ2ZDQtYTU1Ni04OGI5ZGRjMmIwMzQiLCJ3b3Jrc3BhY2VJZCI6IjIwMjAyMDIwLTFjMjUtNGQwMi1iZjI1LTZhZWNjZjdlYTQxOSIsIndvcmtzcGFjZU1lbWJlcklkIjoiMjAyMDIwMjAtMDY4Ny00YzQxLWI3MDctZWQxYmZjYTk3MmE3IiwidXNlcldvcmtzcGFjZUlkIjoiMjAyMDIwMjAtOWUzYi00NmQ0LWE1NTYtODhiOWRkYzJiMDM1IiwidHlwZSI6IkFDQ0VTUyIsImF1dGhQcm92aWRlciI6InBhc3N3b3JkIiwiaWF0IjoxNzUxMjgxNzA0LCJleHAiOjQ5MDQ4ODE3MDR9.9S4wc0MOr5iczsomlFxZdOHD1IRDS4dnRSwNVNpctF4',
|
||||
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMDIwMjAyMC0xYzI1LTRkMDItYmYyNS02YWVjY2Y3ZWE0MTkiLCJ0eXBlIjoiQVBJX0tFWSIsIndvcmtzcGFjZUlkIjoiMjAyMDIwMjAtMWMyNS00ZDAyLWJmMjUtNmFlY2NmN2VhNDE5IiwiaWF0IjoxNzM1Njg5NjAwLCJleHAiOjQ4OTE0NDk2MDAsImp0aSI6IjIwMjAyMDIwLWY0MDEtNGQ4YS1hNzMxLTY0ZDAwN2MyN2JhZCJ9.bfQjfyN0NEtTCLE_xPyNcwonDzlSXFoP8kdCQTdnuDc',
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@@ -3317,8 +3317,8 @@ __metadata:
|
||||
oxlint: "npm:^0.16.0"
|
||||
react: "npm:^19.0.0"
|
||||
react-dom: "npm:^19.0.0"
|
||||
twenty-client-sdk: "npm:0.8.0-canary.8"
|
||||
twenty-sdk: "npm:0.8.0-canary.8"
|
||||
twenty-client-sdk: "npm:0.9.0"
|
||||
twenty-sdk: "npm:0.9.0"
|
||||
typescript: "npm:^5.9.3"
|
||||
vite-tsconfig-paths: "npm:^4.2.1"
|
||||
vitest: "npm:^3.1.1"
|
||||
@@ -4059,21 +4059,21 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"twenty-client-sdk@npm:0.8.0-canary.8":
|
||||
version: 0.8.0-canary.8
|
||||
resolution: "twenty-client-sdk@npm:0.8.0-canary.8"
|
||||
"twenty-client-sdk@npm:0.9.0":
|
||||
version: 0.9.0
|
||||
resolution: "twenty-client-sdk@npm:0.9.0"
|
||||
dependencies:
|
||||
"@genql/cli": "npm:^3.0.3"
|
||||
"@genql/runtime": "npm:^2.10.0"
|
||||
esbuild: "npm:^0.25.0"
|
||||
graphql: "npm:^16.8.1"
|
||||
checksum: 10c0/acb5bf952a9729811235a3474ccb4db82630c53a2caed03176bfb4f442576ee2ef7e625886f63714e2534f7ec83b03d83e4c0b1170a0eb816c531acfc2c98010
|
||||
checksum: 10c0/4b42a6622a9852fc3eca50c1131b116c5602af006ee5f1d3b4f1e97721bbc8ef5c2f3b60d9dee3ca9ca8c3c7ad4b292a7b55007b779b4c042997dbc29940ba54
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"twenty-sdk@npm:0.8.0-canary.8":
|
||||
version: 0.8.0-canary.8
|
||||
resolution: "twenty-sdk@npm:0.8.0-canary.8"
|
||||
"twenty-sdk@npm:0.9.0":
|
||||
version: 0.9.0
|
||||
resolution: "twenty-sdk@npm:0.9.0"
|
||||
dependencies:
|
||||
"@genql/cli": "npm:^3.0.3"
|
||||
"@genql/runtime": "npm:^2.10.0"
|
||||
@@ -4093,7 +4093,7 @@ __metadata:
|
||||
react: "npm:^19.0.0"
|
||||
react-dom: "npm:^19.0.0"
|
||||
tinyglobby: "npm:^0.2.15"
|
||||
twenty-client-sdk: "npm:0.8.0-canary.8"
|
||||
twenty-client-sdk: "npm:0.9.0"
|
||||
typescript: "npm:^5.9.2"
|
||||
uuid: "npm:^13.0.0"
|
||||
vite: "npm:^7.0.0"
|
||||
@@ -4101,7 +4101,7 @@ __metadata:
|
||||
zod: "npm:^4.1.11"
|
||||
bin:
|
||||
twenty: dist/cli.cjs
|
||||
checksum: 10c0/a22cf071f41c19d769e68a995912a0bda0f087bd9a295534bf9e545544f6dfc84f284a477f9011fc135f2a44de9372b977a66de06454e760822119e76921ea69
|
||||
checksum: 10c0/27f93e5edac3265f819abacc853598435718020258a95d55518562e086e42daabae784964b42005d8e4ff30d1d6f13a12a38c656e18c60bad98da3f579a8e1c3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
"lint:fix": "oxlint --fix -c .oxlintrc.json ."
|
||||
},
|
||||
"dependencies": {
|
||||
"twenty-sdk": "latest"
|
||||
"twenty-sdk": "latest",
|
||||
"twenty-client-sdk": "latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^5.9.3",
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"lint:fix": "oxlint --fix -c .oxlintrc.json ."
|
||||
},
|
||||
"dependencies": {
|
||||
"twenty-sdk": "latest"
|
||||
"twenty-sdk": "latest",
|
||||
"twenty-client-sdk": "latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^5.9.3",
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"lint:fix": "oxlint --fix -c .oxlintrc.json ."
|
||||
},
|
||||
"dependencies": {
|
||||
"twenty-sdk": "latest"
|
||||
"twenty-sdk": "latest",
|
||||
"twenty-client-sdk": "latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^5.9.3",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "twenty-client-sdk",
|
||||
"version": "0.9.0-canary.0",
|
||||
"version": "1.22.0-canary.3",
|
||||
"sideEffects": false,
|
||||
"license": "AGPL-3.0",
|
||||
"scripts": {
|
||||
|
||||
@@ -896,6 +896,7 @@ type PageLayoutWidget {
|
||||
position: PageLayoutWidgetPosition
|
||||
configuration: WidgetConfiguration!
|
||||
conditionalDisplay: JSON
|
||||
conditionalAvailabilityExpression: String
|
||||
createdAt: DateTime!
|
||||
updatedAt: DateTime!
|
||||
deletedAt: DateTime
|
||||
@@ -1169,6 +1170,7 @@ type FieldConfiguration {
|
||||
"""Display mode for field configuration widgets"""
|
||||
enum FieldDisplayMode {
|
||||
CARD
|
||||
EDITOR
|
||||
FIELD
|
||||
VIEW
|
||||
}
|
||||
@@ -1739,7 +1741,6 @@ enum FeatureFlagKey {
|
||||
IS_JUNCTION_RELATIONS_ENABLED
|
||||
IS_DRAFT_EMAIL_ENABLED
|
||||
IS_CONNECTED_ACCOUNT_MIGRATED
|
||||
IS_USAGE_ANALYTICS_ENABLED
|
||||
IS_RICH_TEXT_V1_MIGRATED
|
||||
IS_RECORD_PAGE_LAYOUT_GLOBAL_EDITION_ENABLED
|
||||
IS_RECORD_TABLE_WIDGET_ENABLED
|
||||
@@ -3439,6 +3440,7 @@ type Mutation {
|
||||
updateNavigationMenuItem(input: UpdateOneNavigationMenuItemInput!): NavigationMenuItem!
|
||||
deleteManyNavigationMenuItems(ids: [UUID!]!): [NavigationMenuItem!]!
|
||||
deleteNavigationMenuItem(id: UUID!): NavigationMenuItem!
|
||||
uploadEmailAttachmentFile(file: Upload!): FileWithSignedUrl!
|
||||
uploadAIChatFile(file: Upload!): FileWithSignedUrl!
|
||||
uploadWorkflowFile(file: Upload!): FileWithSignedUrl!
|
||||
uploadWorkspaceLogo(file: Upload!): FileWithSignedUrl!
|
||||
@@ -3552,7 +3554,7 @@ type Mutation {
|
||||
updateWebhook(input: UpdateWebhookInput!): Webhook!
|
||||
deleteWebhook(id: UUID!): Webhook!
|
||||
createChatThread: AgentChatThread!
|
||||
sendChatMessage(threadId: UUID!, text: String!, messageId: UUID!, browsingContext: JSON, modelId: String): SendChatMessageResult!
|
||||
sendChatMessage(threadId: UUID!, text: String!, messageId: UUID!, browsingContext: JSON, modelId: String, fileIds: [UUID!]): SendChatMessageResult!
|
||||
stopAgentChatStream(threadId: UUID!): Boolean!
|
||||
deleteQueuedChatMessage(messageId: UUID!): Boolean!
|
||||
createSkill(input: CreateSkillInput!): Skill!
|
||||
@@ -4011,6 +4013,7 @@ input UpdatePageLayoutWidgetWithIdInput {
|
||||
position: JSON
|
||||
configuration: JSON
|
||||
conditionalDisplay: JSON
|
||||
conditionalAvailabilityExpression: String
|
||||
}
|
||||
|
||||
input GridPositionInput {
|
||||
@@ -4039,6 +4042,7 @@ input UpdatePageLayoutWidgetInput {
|
||||
position: JSON
|
||||
configuration: JSON
|
||||
conditionalDisplay: JSON
|
||||
conditionalAvailabilityExpression: String
|
||||
}
|
||||
|
||||
input CreateLogicFunctionFromSourceInput {
|
||||
@@ -4588,6 +4592,12 @@ input SendEmailInput {
|
||||
subject: String!
|
||||
body: String!
|
||||
inReplyTo: String
|
||||
files: [SendEmailAttachmentInput!]
|
||||
}
|
||||
|
||||
input SendEmailAttachmentInput {
|
||||
id: String!
|
||||
name: String!
|
||||
}
|
||||
|
||||
input EmailAccountConnectionParameters {
|
||||
@@ -4654,6 +4664,7 @@ enum FileFolder {
|
||||
FilesField
|
||||
Dependencies
|
||||
Workflow
|
||||
EmailAttachment
|
||||
AppTarball
|
||||
GeneratedSdkClient
|
||||
}
|
||||
|
||||
@@ -671,6 +671,7 @@ export interface PageLayoutWidget {
|
||||
position?: PageLayoutWidgetPosition
|
||||
configuration: WidgetConfiguration
|
||||
conditionalDisplay?: Scalars['JSON']
|
||||
conditionalAvailabilityExpression?: Scalars['String']
|
||||
createdAt: Scalars['DateTime']
|
||||
updatedAt: Scalars['DateTime']
|
||||
deletedAt?: Scalars['DateTime']
|
||||
@@ -886,7 +887,7 @@ export interface FieldConfiguration {
|
||||
|
||||
|
||||
/** Display mode for field configuration widgets */
|
||||
export type FieldDisplayMode = 'CARD' | 'FIELD' | 'VIEW'
|
||||
export type FieldDisplayMode = 'CARD' | 'EDITOR' | 'FIELD' | 'VIEW'
|
||||
|
||||
export interface FieldRichTextConfiguration {
|
||||
configurationType: WidgetConfigurationType
|
||||
@@ -1436,7 +1437,7 @@ export interface PublicFeatureFlag {
|
||||
__typename: 'PublicFeatureFlag'
|
||||
}
|
||||
|
||||
export type FeatureFlagKey = 'IS_UNIQUE_INDEXES_ENABLED' | 'IS_JSON_FILTER_ENABLED' | 'IS_AI_ENABLED' | 'IS_COMMAND_MENU_ITEM_ENABLED' | 'IS_MARKETPLACE_SETTING_TAB_VISIBLE' | 'IS_RECORD_PAGE_LAYOUT_EDITING_ENABLED' | 'IS_PUBLIC_DOMAIN_ENABLED' | 'IS_EMAILING_DOMAIN_ENABLED' | 'IS_JUNCTION_RELATIONS_ENABLED' | 'IS_DRAFT_EMAIL_ENABLED' | 'IS_CONNECTED_ACCOUNT_MIGRATED' | 'IS_USAGE_ANALYTICS_ENABLED' | 'IS_RICH_TEXT_V1_MIGRATED' | 'IS_RECORD_PAGE_LAYOUT_GLOBAL_EDITION_ENABLED' | 'IS_RECORD_TABLE_WIDGET_ENABLED' | 'IS_DATASOURCE_MIGRATED'
|
||||
export type FeatureFlagKey = 'IS_UNIQUE_INDEXES_ENABLED' | 'IS_JSON_FILTER_ENABLED' | 'IS_AI_ENABLED' | 'IS_COMMAND_MENU_ITEM_ENABLED' | 'IS_MARKETPLACE_SETTING_TAB_VISIBLE' | 'IS_RECORD_PAGE_LAYOUT_EDITING_ENABLED' | 'IS_PUBLIC_DOMAIN_ENABLED' | 'IS_EMAILING_DOMAIN_ENABLED' | 'IS_JUNCTION_RELATIONS_ENABLED' | 'IS_DRAFT_EMAIL_ENABLED' | 'IS_CONNECTED_ACCOUNT_MIGRATED' | 'IS_RICH_TEXT_V1_MIGRATED' | 'IS_RECORD_PAGE_LAYOUT_GLOBAL_EDITION_ENABLED' | 'IS_RECORD_TABLE_WIDGET_ENABLED' | 'IS_DATASOURCE_MIGRATED'
|
||||
|
||||
export interface ClientConfigMaintenanceMode {
|
||||
startAt: Scalars['DateTime']
|
||||
@@ -2893,6 +2894,7 @@ export interface Mutation {
|
||||
updateNavigationMenuItem: NavigationMenuItem
|
||||
deleteManyNavigationMenuItems: NavigationMenuItem[]
|
||||
deleteNavigationMenuItem: NavigationMenuItem
|
||||
uploadEmailAttachmentFile: FileWithSignedUrl
|
||||
uploadAIChatFile: FileWithSignedUrl
|
||||
uploadWorkflowFile: FileWithSignedUrl
|
||||
uploadWorkspaceLogo: FileWithSignedUrl
|
||||
@@ -3111,7 +3113,7 @@ export type AiModelRole = 'FAST' | 'SMART'
|
||||
|
||||
export type WorkspaceMigrationActionType = 'delete' | 'create' | 'update'
|
||||
|
||||
export type FileFolder = 'ProfilePicture' | 'WorkspaceLogo' | 'Attachment' | 'PersonPicture' | 'CorePicture' | 'File' | 'AgentChat' | 'BuiltLogicFunction' | 'BuiltFrontComponent' | 'PublicAsset' | 'Source' | 'FilesField' | 'Dependencies' | 'Workflow' | 'AppTarball' | 'GeneratedSdkClient'
|
||||
export type FileFolder = 'ProfilePicture' | 'WorkspaceLogo' | 'Attachment' | 'PersonPicture' | 'CorePicture' | 'File' | 'AgentChat' | 'BuiltLogicFunction' | 'BuiltFrontComponent' | 'PublicAsset' | 'Source' | 'FilesField' | 'Dependencies' | 'Workflow' | 'EmailAttachment' | 'AppTarball' | 'GeneratedSdkClient'
|
||||
|
||||
export interface Subscription {
|
||||
onEventSubscription?: EventSubscription
|
||||
@@ -3811,6 +3813,7 @@ export interface PageLayoutWidgetGenqlSelection{
|
||||
position?: PageLayoutWidgetPositionGenqlSelection
|
||||
configuration?: WidgetConfigurationGenqlSelection
|
||||
conditionalDisplay?: boolean | number
|
||||
conditionalAvailabilityExpression?: boolean | number
|
||||
createdAt?: boolean | number
|
||||
updatedAt?: boolean | number
|
||||
deletedAt?: boolean | number
|
||||
@@ -6206,6 +6209,7 @@ export interface MutationGenqlSelection{
|
||||
updateNavigationMenuItem?: (NavigationMenuItemGenqlSelection & { __args: {input: UpdateOneNavigationMenuItemInput} })
|
||||
deleteManyNavigationMenuItems?: (NavigationMenuItemGenqlSelection & { __args: {ids: Scalars['UUID'][]} })
|
||||
deleteNavigationMenuItem?: (NavigationMenuItemGenqlSelection & { __args: {id: Scalars['UUID']} })
|
||||
uploadEmailAttachmentFile?: (FileWithSignedUrlGenqlSelection & { __args: {file: Scalars['Upload']} })
|
||||
uploadAIChatFile?: (FileWithSignedUrlGenqlSelection & { __args: {file: Scalars['Upload']} })
|
||||
uploadWorkflowFile?: (FileWithSignedUrlGenqlSelection & { __args: {file: Scalars['Upload']} })
|
||||
uploadWorkspaceLogo?: (FileWithSignedUrlGenqlSelection & { __args: {file: Scalars['Upload']} })
|
||||
@@ -6319,7 +6323,7 @@ export interface MutationGenqlSelection{
|
||||
updateWebhook?: (WebhookGenqlSelection & { __args: {input: UpdateWebhookInput} })
|
||||
deleteWebhook?: (WebhookGenqlSelection & { __args: {id: Scalars['UUID']} })
|
||||
createChatThread?: AgentChatThreadGenqlSelection
|
||||
sendChatMessage?: (SendChatMessageResultGenqlSelection & { __args: {threadId: Scalars['UUID'], text: Scalars['String'], messageId: Scalars['UUID'], browsingContext?: (Scalars['JSON'] | null), modelId?: (Scalars['String'] | null)} })
|
||||
sendChatMessage?: (SendChatMessageResultGenqlSelection & { __args: {threadId: Scalars['UUID'], text: Scalars['String'], messageId: Scalars['UUID'], browsingContext?: (Scalars['JSON'] | null), modelId?: (Scalars['String'] | null), fileIds?: (Scalars['UUID'][] | null)} })
|
||||
stopAgentChatStream?: { __args: {threadId: Scalars['UUID']} }
|
||||
deleteQueuedChatMessage?: { __args: {messageId: Scalars['UUID']} }
|
||||
createSkill?: (SkillGenqlSelection & { __args: {input: CreateSkillInput} })
|
||||
@@ -6553,13 +6557,13 @@ export interface UpdatePageLayoutWithTabsInput {name: Scalars['String'],type: Pa
|
||||
|
||||
export interface UpdatePageLayoutTabWithWidgetsInput {id: Scalars['UUID'],title: Scalars['String'],position: Scalars['Float'],icon?: (Scalars['String'] | null),layoutMode?: (PageLayoutTabLayoutMode | null),widgets: UpdatePageLayoutWidgetWithIdInput[]}
|
||||
|
||||
export interface UpdatePageLayoutWidgetWithIdInput {id: Scalars['UUID'],pageLayoutTabId: Scalars['UUID'],title: Scalars['String'],type: WidgetType,objectMetadataId?: (Scalars['UUID'] | null),gridPosition: GridPositionInput,position?: (Scalars['JSON'] | null),configuration?: (Scalars['JSON'] | null),conditionalDisplay?: (Scalars['JSON'] | null)}
|
||||
export interface UpdatePageLayoutWidgetWithIdInput {id: Scalars['UUID'],pageLayoutTabId: Scalars['UUID'],title: Scalars['String'],type: WidgetType,objectMetadataId?: (Scalars['UUID'] | null),gridPosition: GridPositionInput,position?: (Scalars['JSON'] | null),configuration?: (Scalars['JSON'] | null),conditionalDisplay?: (Scalars['JSON'] | null),conditionalAvailabilityExpression?: (Scalars['String'] | null)}
|
||||
|
||||
export interface GridPositionInput {row: Scalars['Float'],column: Scalars['Float'],rowSpan: Scalars['Float'],columnSpan: Scalars['Float']}
|
||||
|
||||
export interface CreatePageLayoutWidgetInput {pageLayoutTabId: Scalars['UUID'],title: Scalars['String'],type: WidgetType,objectMetadataId?: (Scalars['UUID'] | null),gridPosition: GridPositionInput,position?: (Scalars['JSON'] | null),configuration: Scalars['JSON']}
|
||||
|
||||
export interface UpdatePageLayoutWidgetInput {pageLayoutTabId?: (Scalars['UUID'] | null),title?: (Scalars['String'] | null),type?: (WidgetType | null),objectMetadataId?: (Scalars['UUID'] | null),gridPosition?: (GridPositionInput | null),position?: (Scalars['JSON'] | null),configuration?: (Scalars['JSON'] | null),conditionalDisplay?: (Scalars['JSON'] | null)}
|
||||
export interface UpdatePageLayoutWidgetInput {pageLayoutTabId?: (Scalars['UUID'] | null),title?: (Scalars['String'] | null),type?: (WidgetType | null),objectMetadataId?: (Scalars['UUID'] | null),gridPosition?: (GridPositionInput | null),position?: (Scalars['JSON'] | null),configuration?: (Scalars['JSON'] | null),conditionalDisplay?: (Scalars['JSON'] | null),conditionalAvailabilityExpression?: (Scalars['String'] | null)}
|
||||
|
||||
export interface CreateLogicFunctionFromSourceInput {id?: (Scalars['UUID'] | null),universalIdentifier?: (Scalars['UUID'] | null),name: Scalars['String'],description?: (Scalars['String'] | null),timeoutSeconds?: (Scalars['Float'] | null),toolInputSchema?: (Scalars['JSON'] | null),isTool?: (Scalars['Boolean'] | null),source?: (Scalars['JSON'] | null),cronTriggerSettings?: (Scalars['JSON'] | null),databaseEventTriggerSettings?: (Scalars['JSON'] | null),httpRouteTriggerSettings?: (Scalars['JSON'] | null)}
|
||||
|
||||
@@ -6725,7 +6729,9 @@ export interface DeleteSsoInput {identityProviderId: Scalars['UUID']}
|
||||
|
||||
export interface EditSsoInput {id: Scalars['UUID'],status: SSOIdentityProviderStatus}
|
||||
|
||||
export interface SendEmailInput {connectedAccountId: Scalars['String'],to: Scalars['String'],cc?: (Scalars['String'] | null),bcc?: (Scalars['String'] | null),subject: Scalars['String'],body: Scalars['String'],inReplyTo?: (Scalars['String'] | null)}
|
||||
export interface SendEmailInput {connectedAccountId: Scalars['String'],to: Scalars['String'],cc?: (Scalars['String'] | null),bcc?: (Scalars['String'] | null),subject: Scalars['String'],body: Scalars['String'],inReplyTo?: (Scalars['String'] | null),files?: (SendEmailAttachmentInput[] | null)}
|
||||
|
||||
export interface SendEmailAttachmentInput {id: Scalars['String'],name: Scalars['String']}
|
||||
|
||||
export interface EmailAccountConnectionParameters {IMAP?: (ConnectionParameters | null),SMTP?: (ConnectionParameters | null),CALDAV?: (ConnectionParameters | null)}
|
||||
|
||||
@@ -9203,6 +9209,7 @@ export const enumBarChartLayout = {
|
||||
|
||||
export const enumFieldDisplayMode = {
|
||||
CARD: 'CARD' as const,
|
||||
EDITOR: 'EDITOR' as const,
|
||||
FIELD: 'FIELD' as const,
|
||||
VIEW: 'VIEW' as const
|
||||
}
|
||||
@@ -9314,7 +9321,6 @@ export const enumFeatureFlagKey = {
|
||||
IS_JUNCTION_RELATIONS_ENABLED: 'IS_JUNCTION_RELATIONS_ENABLED' as const,
|
||||
IS_DRAFT_EMAIL_ENABLED: 'IS_DRAFT_EMAIL_ENABLED' as const,
|
||||
IS_CONNECTED_ACCOUNT_MIGRATED: 'IS_CONNECTED_ACCOUNT_MIGRATED' as const,
|
||||
IS_USAGE_ANALYTICS_ENABLED: 'IS_USAGE_ANALYTICS_ENABLED' as const,
|
||||
IS_RICH_TEXT_V1_MIGRATED: 'IS_RICH_TEXT_V1_MIGRATED' as const,
|
||||
IS_RECORD_PAGE_LAYOUT_GLOBAL_EDITION_ENABLED: 'IS_RECORD_PAGE_LAYOUT_GLOBAL_EDITION_ENABLED' as const,
|
||||
IS_RECORD_TABLE_WIDGET_ENABLED: 'IS_RECORD_TABLE_WIDGET_ENABLED' as const,
|
||||
@@ -9662,6 +9668,7 @@ export const enumFileFolder = {
|
||||
FilesField: 'FilesField' as const,
|
||||
Dependencies: 'Dependencies' as const,
|
||||
Workflow: 'Workflow' as const,
|
||||
EmailAttachment: 'EmailAttachment' as const,
|
||||
AppTarball: 'AppTarball' as const,
|
||||
GeneratedSdkClient: 'GeneratedSdkClient' as const
|
||||
}
|
||||
|
||||
@@ -88,9 +88,9 @@ export default {
|
||||
373,
|
||||
380,
|
||||
411,
|
||||
491,
|
||||
496,
|
||||
497
|
||||
492,
|
||||
497,
|
||||
498
|
||||
],
|
||||
"types": {
|
||||
"BillingProductDTO": {
|
||||
@@ -1893,6 +1893,9 @@ export default {
|
||||
"conditionalDisplay": [
|
||||
15
|
||||
],
|
||||
"conditionalAvailabilityExpression": [
|
||||
1
|
||||
],
|
||||
"createdAt": [
|
||||
4
|
||||
],
|
||||
@@ -7305,6 +7308,15 @@ export default {
|
||||
]
|
||||
}
|
||||
],
|
||||
"uploadEmailAttachmentFile": [
|
||||
142,
|
||||
{
|
||||
"file": [
|
||||
380,
|
||||
"Upload!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"uploadAIChatFile": [
|
||||
142,
|
||||
{
|
||||
@@ -8360,6 +8372,10 @@ export default {
|
||||
],
|
||||
"modelId": [
|
||||
1
|
||||
],
|
||||
"fileIds": [
|
||||
3,
|
||||
"[UUID!]"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -8973,7 +8989,7 @@ export default {
|
||||
"String!"
|
||||
],
|
||||
"connectionParameters": [
|
||||
488,
|
||||
489,
|
||||
"EmailAccountConnectionParameters!"
|
||||
],
|
||||
"id": [
|
||||
@@ -8985,7 +9001,7 @@ export default {
|
||||
200,
|
||||
{
|
||||
"input": [
|
||||
490,
|
||||
491,
|
||||
"UpdateLabPublicFeatureFlagInput!"
|
||||
]
|
||||
}
|
||||
@@ -9072,7 +9088,7 @@ export default {
|
||||
6,
|
||||
{
|
||||
"role": [
|
||||
491,
|
||||
492,
|
||||
"AiModelRole!"
|
||||
],
|
||||
"modelId": [
|
||||
@@ -9277,7 +9293,7 @@ export default {
|
||||
68,
|
||||
{
|
||||
"input": [
|
||||
492,
|
||||
493,
|
||||
"CreateOneAppTokenInput!"
|
||||
]
|
||||
}
|
||||
@@ -9313,7 +9329,7 @@ export default {
|
||||
6,
|
||||
{
|
||||
"workspaceMigration": [
|
||||
494,
|
||||
495,
|
||||
"WorkspaceMigrationInput!"
|
||||
]
|
||||
}
|
||||
@@ -9387,7 +9403,7 @@ export default {
|
||||
"String!"
|
||||
],
|
||||
"fileFolder": [
|
||||
497,
|
||||
498,
|
||||
"FileFolder!"
|
||||
],
|
||||
"filePath": [
|
||||
@@ -10194,6 +10210,9 @@ export default {
|
||||
"conditionalDisplay": [
|
||||
15
|
||||
],
|
||||
"conditionalAvailabilityExpression": [
|
||||
1
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
@@ -10266,6 +10285,9 @@ export default {
|
||||
"conditionalDisplay": [
|
||||
15
|
||||
],
|
||||
"conditionalAvailabilityExpression": [
|
||||
1
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
@@ -11577,19 +11599,33 @@ export default {
|
||||
"inReplyTo": [
|
||||
1
|
||||
],
|
||||
"files": [
|
||||
488
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"SendEmailAttachmentInput": {
|
||||
"id": [
|
||||
1
|
||||
],
|
||||
"name": [
|
||||
1
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"EmailAccountConnectionParameters": {
|
||||
"IMAP": [
|
||||
489
|
||||
490
|
||||
],
|
||||
"SMTP": [
|
||||
489
|
||||
490
|
||||
],
|
||||
"CALDAV": [
|
||||
489
|
||||
490
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
@@ -11629,7 +11665,7 @@ export default {
|
||||
"AiModelRole": {},
|
||||
"CreateOneAppTokenInput": {
|
||||
"appToken": [
|
||||
493
|
||||
494
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
@@ -11645,7 +11681,7 @@ export default {
|
||||
},
|
||||
"WorkspaceMigrationInput": {
|
||||
"actions": [
|
||||
495
|
||||
496
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
@@ -11653,7 +11689,7 @@ export default {
|
||||
},
|
||||
"WorkspaceMigrationDeleteActionInput": {
|
||||
"type": [
|
||||
496
|
||||
497
|
||||
],
|
||||
"metadataName": [
|
||||
348
|
||||
@@ -11681,7 +11717,7 @@ export default {
|
||||
253,
|
||||
{
|
||||
"input": [
|
||||
499,
|
||||
500,
|
||||
"LogicFunctionLogsInput!"
|
||||
]
|
||||
}
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ npx nx run twenty-server:database:reset
|
||||
#### For objects in Core/Metadata schemas (TypeORM)
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate
|
||||
```
|
||||
|
||||
## Tech Stack
|
||||
|
||||
@@ -644,49 +644,15 @@ export default defineLogicFunction({
|
||||
**Write a good `description`.** AI agents rely on the function's `description` field to decide when to use the tool. Be specific about what the tool does and when it should be called.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Define a pre-install logic function (one per app)">
|
||||
|
||||
A pre-install function is a logic function that runs automatically before your app is installed on a workspace. This is useful for validation tasks, prerequisite checks, or preparing workspace state before the main installation proceeds.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'e0604b9e-e946-456b-886d-3f27d9a6b324',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
You can also manually execute the pre-install function at any time using the CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Key points:
|
||||
- Pre-install functions use `definePreInstallLogicFunction()` — a specialized variant that omits trigger settings (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`).
|
||||
- The handler receives an `InstallLogicFunctionPayload` with `{ previousVersion: string }` — the version of the app that was previously installed (or an empty string for fresh installs).
|
||||
- Only one pre-install function is allowed per application. The manifest build will error if more than one is detected.
|
||||
- The function's `universalIdentifier` is automatically set as `preInstallLogicFunctionUniversalIdentifier` on the application manifest during the build — you do not need to reference it in `defineApplication()`.
|
||||
- The default timeout is set to 300 seconds (5 minutes) to allow for longer preparation tasks.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePostInstallLogicFunction" description="Define a post-install logic function (one per app)">
|
||||
|
||||
A post-install function is a logic function that runs automatically after your app is installed on a workspace. This is useful for one-time setup tasks such as seeding default data, creating initial records, or configuring workspace settings.
|
||||
A post-install function is a logic function that runs automatically once your app has finished installing on a workspace. The server executes it **after** the app's metadata has been synchronized and the SDK client has been generated, so the workspace is fully ready to use and the new schema is in place. Typical use cases include seeding default data, creating initial records, configuring workspace settings, or provisioning resources on third-party services.
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Post install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
@@ -695,6 +661,8 @@ export default definePostInstallLogicFunction({
|
||||
name: 'post-install',
|
||||
description: 'Runs after installation to set up the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
shouldRunSynchronously: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
@@ -707,10 +675,168 @@ yarn twenty exec --postInstall
|
||||
|
||||
Key points:
|
||||
- Post-install functions use `definePostInstallLogicFunction()` — a specialized variant that omits trigger settings (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`).
|
||||
- The handler receives an `InstallLogicFunctionPayload` with `{ previousVersion: string }` — the version of the app that was previously installed (or an empty string for fresh installs).
|
||||
- The handler receives an `InstallPayload` with `{ previousVersion?: string; newVersion: string }` — `newVersion` is the version being installed, and `previousVersion` is the version that was previously installed (or `undefined` on a fresh install). Use these values to distinguish fresh installs from upgrades and to run version-specific migration logic.
|
||||
- **When the hook runs**: on fresh installs only, by default. Pass `shouldRunOnVersionUpgrade: true` if you also want it to run when the app is upgraded from a previous version. When omitted, the flag defaults to `false` and upgrades skip the hook.
|
||||
- **Execution model — async by default, sync opt-in**: the `shouldRunSynchronously` flag controls *how* post-install is executed.
|
||||
- `shouldRunSynchronously: false` *(default)* — the hook is **enqueued on the message queue** with `retryLimit: 3` and runs asynchronously in a worker. The install response returns as soon as the job is enqueued, so a slow or failing handler does not block the caller. The worker will retry up to three times. **Use this for long-running jobs** — seeding large datasets, calling slow third-party APIs, provisioning external resources, anything that might exceed a reasonable HTTP response window.
|
||||
- `shouldRunSynchronously: true` — the hook is executed **inline during the install flow** (same executor as pre-install). The install request blocks until the handler finishes, and if it throws, the install caller receives a `POST_INSTALL_ERROR`. No automatic retries. **Use this for fast, must-complete-before-response work** — for example, emitting a validation error to the user, or quick setup that the client will rely on immediately after the install call returns. Keep in mind the metadata migration has already been applied by the time post-install runs, so a sync-mode failure does **not** roll back the schema changes — it only surfaces the error.
|
||||
- Make sure your handler is idempotent. In async mode the queue may retry up to three times; in either mode the hook may run again on upgrades when `shouldRunOnVersionUpgrade: true`.
|
||||
- The environment variables `APPLICATION_ID`, `APP_ACCESS_TOKEN`, and `API_URL` are available inside the handler (same as any other logic function), so you can call the Twenty API with an application access token scoped to your app.
|
||||
- Only one post-install function is allowed per application. The manifest build will error if more than one is detected.
|
||||
- The function's `universalIdentifier` is automatically set as `postInstallLogicFunctionUniversalIdentifier` on the application manifest during the build — you do not need to reference it in `defineApplication()`.
|
||||
- The function's `universalIdentifier`, `shouldRunOnVersionUpgrade`, and `shouldRunSynchronously` are automatically attached to the application manifest under the `postInstallLogicFunction` field during the build — you do not need to reference them in `defineApplication()`.
|
||||
- The default timeout is set to 300 seconds (5 minutes) to allow for longer setup tasks like data seeding.
|
||||
- **Not executed in dev mode**: when an app is registered locally (via `yarn twenty dev`), the server skips the install flow entirely and syncs files directly through the CLI watcher — so post-install never runs in dev mode, regardless of `shouldRunSynchronously`. Use `yarn twenty exec --postInstall` to trigger it manually against a running workspace.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Define a pre-install logic function (one per app)">
|
||||
|
||||
A pre-install function is a logic function that runs automatically during installation, **before the workspace metadata migration is applied**. It shares the same payload shape as post-install (`InstallPayload`), but it is positioned earlier in the install flow so it can prepare state that the upcoming migration depends on — typical uses include backing up data, validating compatibility with the new schema, or archiving records that are about to be restructured or dropped.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
You can also manually execute the pre-install function at any time using the CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Key points:
|
||||
- Pre-install functions use `definePreInstallLogicFunction()` — same specialized config as post-install, just attached to a different lifecycle slot.
|
||||
- Both pre- and post-install handlers receive the same `InstallPayload` type: `{ previousVersion?: string; newVersion: string }`. Import it once and reuse it for both hooks.
|
||||
- **When the hook runs**: positioned just before the workspace metadata migration (`synchronizeFromManifest`). Before executing, the server runs a purely additive "pared-down sync" that registers the **new** version's pre-install function in the workspace metadata — nothing else is touched — and then executes it. Because this sync is additive-only, the previous version's objects, fields, and data are still intact when your handler runs: you can safely read and back up pre-migration state.
|
||||
- **Execution model**: pre-install is executed **synchronously** and **blocks the install**. If the handler throws, the install is aborted before any schema changes are applied — the workspace stays on the previous version in a consistent state. This is intentional: pre-install is your last chance to refuse a risky upgrade.
|
||||
- As with post-install, only one pre-install function is allowed per application. It is attached to the application manifest under `preInstallLogicFunction` automatically during the build.
|
||||
- **Not executed in dev mode**: same as post-install — the install flow is skipped entirely for locally-registered apps, so pre-install never runs under `yarn twenty dev`. Use `yarn twenty exec --preInstall` to trigger it manually.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Pre-install vs post-install: when to use which" description="Choosing the right install hook">
|
||||
|
||||
Both hooks are part of the same install flow and receive the same `InstallPayload`. The difference is **when** they run relative to the workspace metadata migration, and that changes what data they can safely touch.
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ install flow │
|
||||
│ │
|
||||
│ upload package → [pre-install] → metadata migration → │
|
||||
│ generate SDK → [post-install] │
|
||||
│ │
|
||||
│ old schema visible new schema visible │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Pre-install is always **synchronous** (it blocks the install and can abort it). Post-install is **asynchronous by default** — enqueued on a worker with automatic retries — but can opt into synchronous execution with `shouldRunSynchronously: true`. See the `definePostInstallLogicFunction` accordion above for when to use each mode.
|
||||
|
||||
**Use `post-install` for anything that needs the new schema to exist.** This is the common case:
|
||||
|
||||
- Seeding default data (creating initial records, default views, demo content) against newly-added objects and fields.
|
||||
- Registering webhooks with third-party services now that the app has its credentials.
|
||||
- Calling your own API to finish setup that depends on the synchronized metadata.
|
||||
- Idempotent "ensure this exists" logic that should reconcile state on every upgrade — combine with `shouldRunOnVersionUpgrade: true`.
|
||||
|
||||
Example — seed a default `PostCard` record after install:
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion }: InstallPayload): Promise<void> => {
|
||||
if (previousVersion) return; // fresh installs only
|
||||
|
||||
const client = createClient();
|
||||
await client.postCard.create({
|
||||
data: { title: 'Welcome to Postcard', content: 'Your first card!' },
|
||||
});
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: 'f7a2b9c1-3d4e-5678-abcd-ef9876543210',
|
||||
name: 'post-install',
|
||||
description: 'Seeds a welcome post card after install.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Use `pre-install` when a migration would otherwise destroy or corrupt existing data.** Because pre-install runs against the *previous* schema and its failure rolls back the upgrade, it is the right place for anything risky:
|
||||
|
||||
- **Backing up data that is about to be dropped or restructured** — e.g. you are removing a field in v2 and need to copy its values into another field or export them to storage before the migration runs.
|
||||
- **Archiving records that a new constraint would invalidate** — e.g. a field is becoming `NOT NULL` and you need to delete or fix rows with null values first.
|
||||
- **Validating compatibility and refusing the upgrade if the current data cannot be migrated cleanly** — throw from the handler and the install aborts with no changes applied. This is safer than discovering the incompatibility mid-migration.
|
||||
- **Renaming or rekeying data** ahead of a schema change that would lose the association.
|
||||
|
||||
Example — archive records before a destructive migration:
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion, newVersion }: InstallPayload): Promise<void> => {
|
||||
// Only the 1.x → 2.x upgrade drops the legacy `notes` field.
|
||||
if (!previousVersion?.startsWith('1.') || !newVersion.startsWith('2.')) {
|
||||
return;
|
||||
}
|
||||
|
||||
const client = createClient();
|
||||
const legacyRecords = await client.postCard.findMany({
|
||||
where: { notes: { isNotNull: true } },
|
||||
});
|
||||
|
||||
if (legacyRecords.length === 0) return;
|
||||
|
||||
// Copy legacy `notes` into the new `description` field before the migration
|
||||
// drops the `notes` column. If this fails, the upgrade is aborted and the
|
||||
// workspace stays on v1 with all data intact.
|
||||
await Promise.all(
|
||||
legacyRecords.map((record) =>
|
||||
client.postCard.update({
|
||||
where: { id: record.id },
|
||||
data: { description: record.notes },
|
||||
}),
|
||||
),
|
||||
);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Backs up legacy notes into description before the v2 migration.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Rule of thumb:**
|
||||
|
||||
| You want to… | Use |
|
||||
|---|---|
|
||||
| Seed default data, configure the workspace, register external resources | `post-install` |
|
||||
| Run long-running seeding or third-party calls that shouldn't block the install response | `post-install` (default — `shouldRunSynchronously: false`, with worker retries) |
|
||||
| Run fast setup that the caller will rely on immediately after the install call returns | `post-install` with `shouldRunSynchronously: true` |
|
||||
| Read or back up data that the upcoming migration would lose | `pre-install` |
|
||||
| Reject an upgrade that would corrupt existing data | `pre-install` (throw from the handler) |
|
||||
| Run reconciliation on every upgrade | `post-install` with `shouldRunOnVersionUpgrade: true` |
|
||||
| Do one-off setup on the first install only | `post-install` with `shouldRunOnVersionUpgrade: false` (default) |
|
||||
|
||||
<Note>
|
||||
If in doubt, default to **post-install**. Only reach for pre-install when the migration itself is destructive and you need to intercept the previous state before it is gone.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="defineFrontComponent" description="Define front components for custom UI" >
|
||||
@@ -1818,8 +1944,7 @@ yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
|
||||
# Pass a JSON payload
|
||||
yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}'
|
||||
|
||||
# Execute pre-install or post-install functions
|
||||
yarn twenty exec --preInstall
|
||||
# Execute the post-install function
|
||||
yarn twenty exec --postInstall
|
||||
```
|
||||
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ npx nx run twenty-server:database:reset
|
||||
#### للكائنات داخل مخططات Core/Metadata (TypeORM)
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate
|
||||
```
|
||||
|
||||
## "التقنية المستخدمة"
|
||||
|
||||
@@ -643,49 +643,15 @@ export default defineLogicFunction({
|
||||
**اكتب `description` جيدًا.** يعتمد وكلاء الذكاء الاصطناعي على حقل `description` الخاص بالدالة لتحديد وقت استخدام الأداة. كن محددًا بشأن ما تفعله الأداة ومتى ينبغي استدعاؤها.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="تعريف دالة منطقية لما قبل التثبيت (واحدة لكل تطبيق)">
|
||||
|
||||
دالة ما قبل التثبيت هي دالة منطقية تعمل تلقائيًا قبل تثبيت تطبيقك على مساحة عمل. يفيد ذلك في مهام التحقق، وفحص المتطلبات المسبقة، أو تجهيز حالة مساحة العمل قبل متابعة التثبيت الرئيسي.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'e0604b9e-e946-456b-886d-3f27d9a6b324',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
يمكنك أيضًا تنفيذ دالة ما قبل التثبيت يدويًا في أي وقت باستخدام CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
النقاط الرئيسية:
|
||||
* تستخدم دوال ما قبل التثبيت `definePreInstallLogicFunction()` — وهو إصدار متخصص يستبعد إعدادات المُشغِّل (`cronTriggerSettings` و`databaseEventTriggerSettings` و`httpRouteTriggerSettings` و`isTool`).
|
||||
* يتلقى المُعالج `InstallLogicFunctionPayload` يحوي `{ previousVersion: string }` — إصدار التطبيق الذي كان مُثبّتًا سابقًا (أو سلسلة فارغة للتثبيتات الجديدة).
|
||||
* يُسمح بدالة ما قبل التثبيت واحدة فقط لكل تطبيق. سيُنتج إنشاء ملف البيان خطأً إذا تم اكتشاف أكثر من واحدة.
|
||||
* يتم تعيين `universalIdentifier` للدالة تلقائيًا كـ `preInstallLogicFunctionUniversalIdentifier` في بيان التطبيق أثناء الإنشاء — لست بحاجة إلى الإشارة إليه في `defineApplication()`.
|
||||
* تم ضبط المهلة الافتراضية على 300 ثانية (5 دقائق) للسماح بمهام التحضير الأطول.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePostInstallLogicFunction" description="تعريف دالة منطقية لما بعد التثبيت (واحدة لكل تطبيق)">
|
||||
|
||||
دالة ما بعد التثبيت هي دالة منطقية تعمل تلقائيًا بعد تثبيت تطبيقك على مساحة عمل. هذا مفيد لمهام الإعداد لمرة واحدة مثل تهيئة البيانات الافتراضية، وإنشاء السجلات الأولية، أو تكوين إعدادات مساحة العمل.
|
||||
دالة ما بعد التثبيت هي دالة منطقية تعمل تلقائيًا بعد تثبيت تطبيقك على مساحة عمل. ينفّذه الخادم **بعد** مزامنة البيانات الوصفية للتطبيق وإنشاء عميل SDK، بحيث تكون مساحة العمل جاهزة تمامًا للاستخدام ويكون المخطط الجديد مطبَّقًا. تشمل حالات الاستخدام النموذجية تهيئة البيانات الافتراضية، وإنشاء السجلات الأولية، وتكوين إعدادات مساحة العمل، أو توفير الموارد على خدمات جهات خارجية.
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Post install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
@@ -694,6 +660,8 @@ export default definePostInstallLogicFunction({
|
||||
name: 'post-install',
|
||||
description: 'Runs after installation to set up the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
shouldRunSynchronously: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
@@ -706,10 +674,168 @@ yarn twenty exec --postInstall
|
||||
|
||||
النقاط الرئيسية:
|
||||
* تستخدم دوال ما بعد التثبيت `definePostInstallLogicFunction()` — وهو إصدار متخصص يستبعد إعدادات المُشغِّل (`cronTriggerSettings` و`databaseEventTriggerSettings` و`httpRouteTriggerSettings` و`isTool`).
|
||||
* يتلقى المُعالج `InstallLogicFunctionPayload` يحوي `{ previousVersion: string }` — إصدار التطبيق الذي كان مُثبّتًا سابقًا (أو سلسلة فارغة للتثبيتات الجديدة).
|
||||
* يتلقى المعالج `InstallPayload` يحتوي على `{ previousVersion?: string; newVersion: string }` — حيث إن `newVersion` هو الإصدار الجاري تثبيته، و`previousVersion` هو الإصدار الذي كان مُثبّتًا سابقًا (أو `undefined` عند التثبيت الأولي). استخدم هذه القيم للتمييز بين عمليات التثبيت الجديدة والترقيات ولتشغيل منطق الترحيل الخاص بالإصدار.
|
||||
* **موعد تشغيل الخطاف**: في عمليات التثبيت الجديدة فقط، افتراضيًا. مرّر `shouldRunOnVersionUpgrade: true` إذا كنت تريد تشغيله أيضًا عند ترقية التطبيق من إصدار سابق. عند إغفاله، تكون القيمة الافتراضية للعلم `false`، وتتجاوز الترقيات هذا الخطاف.
|
||||
* **نموذج التنفيذ — غير متزامن افتراضيًا، والتزامني اختياري**: يتحكّم العلم `shouldRunSynchronously` في كيفية تنفيذ ما بعد التثبيت.
|
||||
* `shouldRunSynchronously: false` *(الإعداد الافتراضي)* — يتم **إدراج الخطاف في قائمة الرسائل** مع `retryLimit: 3` ويعمل بشكل غير متزامن داخل عامل عمل. يعود ردّ التثبيت بمجرد وضع المهمة في الطابور، لذا فإن معالجًا بطيئًا أو متعطلًا لا يحجب المستدعي. سيُجرِّب العامل إعادة المحاولة حتى ثلاث مرات. **استخدم هذا للمهام طويلة التشغيل** — بَذر مجموعات بيانات كبيرة، استدعاء واجهات برمجة تطبيقات خارجية بطيئة، تهيئة موارد خارجية، أو أي شيء قد يتجاوز نافذة استجابة HTTP المعقولة.
|
||||
* `shouldRunSynchronously: true` — يُنفّذ الخطاف **ضمن تدفّق التثبيت مباشرةً** (نفس المنفِّذ كما قبل التثبيت). يَحجُب طلب التثبيت حتى ينتهي المعالج، وإذا رمى استثناءً، سيتلقى مستدعي التثبيت `POST_INSTALL_ERROR`. لا توجد محاولات إعادة تلقائية. **استخدم هذا للمهام السريعة التي يجب إكمالها قبل الاستجابة** — مثل إظهار خطأ تحقق للمستخدم، أو إعداد سريع سيعتمد عليه العميل مباشرةً بعد عودة نداء التثبيت. ضع في اعتبارك أن ترحيل البيانات الوصفية يكون قد طُبِّق بالفعل عند تشغيل ما بعد التثبيت، لذلك فإن فشل الوضع المتزامن **لا** يعيد التغييرات على المخطط إلى الوراء — بل يكتفي بإبراز الخطأ.
|
||||
* تأكّد من أن معالجك قابل للتنفيذ المتكرر دون آثار جانبية. في الوضع غير المتزامن قد تُعيد قائمة الانتظار المحاولة حتى ثلاث مرات؛ وفي أي من الوضعين قد يعمل الخطاف مجددًا أثناء الترقيات عند ضبط `shouldRunOnVersionUpgrade: true`.
|
||||
* متغيرات البيئة `APPLICATION_ID` و`APP_ACCESS_TOKEN` و`API_URL` متاحة داخل المعالج (كما في أي دالة منطق أخرى)، لذا يمكنك استدعاء واجهة Twenty API باستخدام رمز وصول للتطبيق مقيّد بنطاق تطبيقك.
|
||||
* يُسمح بدالة ما بعد التثبيت واحدة فقط لكل تطبيق. سيُنتج إنشاء ملف البيان خطأً إذا تم اكتشاف أكثر من واحدة.
|
||||
* يتم تعيين `universalIdentifier` للدالة تلقائيًا كـ `postInstallLogicFunctionUniversalIdentifier` في بيان التطبيق أثناء الإنشاء — لست بحاجة إلى الإشارة إليه في `defineApplication()`.
|
||||
* تُرفَق خصائص الدالة `universalIdentifier` و`shouldRunOnVersionUpgrade` و`shouldRunSynchronously` تلقائيًا ببيان التطبيق ضمن الحقل `postInstallLogicFunction` أثناء عملية البناء — ولا تحتاج إلى الإشارة إليها في `defineApplication()`.
|
||||
* تم تعيين مهلة افتراضية إلى 300 ثانية (5 دقائق) للسماح بمهام الإعداد الأطول مثل تهيئة البيانات.
|
||||
* **لا يُنفَّذ في وضع التطوير**: عند تسجيل تطبيق محليًا (عبر `yarn twenty dev`)، يتجاوز الخادم تدفّق التثبيت بالكامل ويُزامن الملفات مباشرةً عبر مراقِب CLI — لذا لن يعمل ما بعد التثبيت في وضع التطوير مطلقًا، بغضّ النظر عن `shouldRunSynchronously`. استخدم `yarn twenty exec --postInstall` لتشغيله يدويًا على مساحة عمل قيد التشغيل.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="تعريف دالة منطقية لما قبل التثبيت (واحدة لكل تطبيق)">
|
||||
|
||||
دالة ما قبل التثبيت هي دالة منطقية تعمل تلقائيًا أثناء التثبيت، **قبل تطبيق ترحيل البيانات الوصفية لمساحة العمل**. تتشارك نفس بنية الحمولة مع ما بعد التثبيت (`InstallPayload`)، لكنها موضوعة أبكر في تدفّق التثبيت كي تجهّز حالة يعتمد عليها الترحيل القادم — ومن الاستخدامات الشائعة: نسخ البيانات احتياطيًا، التحقق من التوافق مع المخطط الجديد، أو أرشفة السجلات التي ستُعاد هيكلتها أو ستُحذف.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
يمكنك أيضًا تنفيذ دالة ما قبل التثبيت يدويًا في أي وقت باستخدام CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
النقاط الرئيسية:
|
||||
* تستخدم دوال ما قبل التثبيت `definePreInstallLogicFunction()` — نفس الإعدادات المتخصصة كما في ما بعد التثبيت، لكنها مرتبطة بموضع مختلف ضمن دورة الحياة.
|
||||
* يتلقّى كلٌّ من معالجي ما قبل التثبيت وما بعد التثبيت النوع نفسه `InstallPayload`: `{ previousVersion?: string; newVersion: string }`. استورده مرة واحدة وأعد استخدامه لكلا الخطافين.
|
||||
* **موعد تشغيل الخطاف**: موضوع مباشرةً قبل ترحيل البيانات الوصفية لمساحة العمل (`synchronizeFromManifest`). قبل التنفيذ، يُشغِّل الخادم مزامنة "pared-down sync" ذات طابع إضافي فقط تقوم بتسجيل دالة ما قبل التثبيت للإصدار **الجديد** في البيانات الوصفية لمساحة العمل — دون لمس أي شيء آخر — ثم يُنفّذها. لأن هذه المزامنة «إضافية فقط»، تبقى كائنات وحقول وبيانات الإصدار السابق سليمة عند تشغيل معالجك: يمكنك قراءة حالة ما قبل الترحيل ونسخها احتياطيًا بأمان.
|
||||
* **نموذج التنفيذ**: يُنفَّذ ما قبل التثبيت **بشكل متزامن** و**يحجب عملية التثبيت**. إذا رمى المعالج استثناءً، تُلغى عملية التثبيت قبل تطبيق أي تغييرات على المخطط — وتبقى مساحة العمل على الإصدار السابق بحالة متّسقة. هذا مقصود: ما قبل التثبيت هو فرصتك الأخيرة لرفض ترقية تنطوي على مخاطر.
|
||||
* كما هو الحال مع ما بعد التثبيت، يُسمح بدالة ما قبل التثبيت واحدة فقط لكل تطبيق. تُربَط تلقائيًا ببيان التطبيق تحت `preInstallLogicFunction` أثناء عملية البناء.
|
||||
* **لا يُنفَّذ في وضع التطوير**: كما في ما بعد التثبيت — يتم تجاوز تدفّق التثبيت بالكامل للتطبيقات المسجّلة محليًا، لذا لن يعمل ما قبل التثبيت مطلقًا عند `yarn twenty dev`. استخدم `yarn twenty exec --preInstall` لتشغيله يدويًا.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="ما قبل التثبيت مقابل ما بعد التثبيت: متى تستخدم أيّهما" description="اختيار خطاف التثبيت المناسب">
|
||||
|
||||
كلا الخطافين جزء من تدفّق التثبيت نفسه ويتلقّيان نفس `InstallPayload`. الاختلاف يكمن في **موعد** تشغيلهما نسبةً إلى ترحيل البيانات الوصفية لمساحة العمل، وهذا يغيّر البيانات التي يمكنهما التعامل معها بأمان.
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ install flow │
|
||||
│ │
|
||||
│ upload package → [pre-install] → metadata migration → │
|
||||
│ generate SDK → [post-install] │
|
||||
│ │
|
||||
│ old schema visible new schema visible │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
ما قبل التثبيت دائمًا **متزامن** (يحجب التثبيت ويمكنه إحباطه). ما بعد التثبيت **غير متزامن افتراضيًا** — يُدرج على عامل مع محاولات إعادة تلقائية — لكن يمكن التبديل إلى تنفيذ متزامن عبر `shouldRunSynchronously: true`. راجع الأكورديون `definePostInstallLogicFunction` أعلاه لمعرفة متى تستخدم كل وضع.
|
||||
|
||||
**استخدم `post-install` لأي شيء يتطلّب وجود المخطط الجديد.** وهذا هو السيناريو الشائع:
|
||||
|
||||
* بَذر بيانات افتراضية (إنشاء سجلات أولية وعروض افتراضية ومحتوى تجريبي) للكائنات والحقول المضافة حديثًا.
|
||||
* تسجيل خطافات الويب مع خدمات أطراف ثالثة بعد أن حصل التطبيق على بيانات الاعتماد الخاصة به.
|
||||
* استدعاء واجهة برمجة التطبيقات الخاصة بك لإكمال إعداد يعتمد على البيانات الوصفية المتزامنة.
|
||||
* منطق idempotent لتحقيق "تأكّد من وجود هذا" والذي ينبغي مواءمة الحالة في كل ترقية — بالاقتران مع `shouldRunOnVersionUpgrade: true`.
|
||||
|
||||
مثال — بَذر سجل `PostCard` افتراضي بعد التثبيت:
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion }: InstallPayload): Promise<void> => {
|
||||
if (previousVersion) return; // fresh installs only
|
||||
|
||||
const client = createClient();
|
||||
await client.postCard.create({
|
||||
data: { title: 'Welcome to Postcard', content: 'Your first card!' },
|
||||
});
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: 'f7a2b9c1-3d4e-5678-abcd-ef9876543210',
|
||||
name: 'post-install',
|
||||
description: 'Seeds a welcome post card after install.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**استخدم `pre-install` عندما قد يُتلف الترحيل أو يدمّر البيانات الحالية.** لأن ما قبل التثبيت يعمل مقابل المخطط *السابق* وفشله يُرجِع الترقية إلى الوراء، فهو المكان المناسب لأي شيء محفوف بالمخاطر:
|
||||
|
||||
* **نسخ البيانات احتياطيًا قبل حذفها أو إعادة هيكلتها** — مثل إزالة حقل في v2 وتحتاج إلى نسخ قيمه إلى حقل آخر أو تصديرها إلى التخزين قبل تشغيل الترحيل.
|
||||
* **أرشفة السجلات التي سيبطلها قيد جديد** — مثل أن يصبح حقل ما `NOT NULL` وتحتاج أولًا إلى حذف الصفوف ذات القيم الفارغة أو إصلاحها.
|
||||
* **التحقق من التوافق ورفض الترقية إذا تعذّر ترحيل البيانات الحالية بسلاسة** — ارمِ من داخل المعالج وسيُلغى التثبيت دون تطبيق أي تغييرات. هذا أكثر أمانًا من اكتشاف عدم التوافق في منتصف الترحيل.
|
||||
* **إعادة تسمية البيانات أو إعادة تعيين مفاتيحها** قبل تغيير في المخطط قد يؤدي إلى فقدان الارتباط.
|
||||
|
||||
مثال — أرشف السجلات قبل ترحيل هدّام:
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion, newVersion }: InstallPayload): Promise<void> => {
|
||||
// Only the 1.x → 2.x upgrade drops the legacy `notes` field.
|
||||
if (!previousVersion?.startsWith('1.') || !newVersion.startsWith('2.')) {
|
||||
return;
|
||||
}
|
||||
|
||||
const client = createClient();
|
||||
const legacyRecords = await client.postCard.findMany({
|
||||
where: { notes: { isNotNull: true } },
|
||||
});
|
||||
|
||||
if (legacyRecords.length === 0) return;
|
||||
|
||||
// Copy legacy `notes` into the new `description` field before the migration
|
||||
// drops the `notes` column. If this fails, the upgrade is aborted and the
|
||||
// workspace stays on v1 with all data intact.
|
||||
await Promise.all(
|
||||
legacyRecords.map((record) =>
|
||||
client.postCard.update({
|
||||
where: { id: record.id },
|
||||
data: { description: record.notes },
|
||||
}),
|
||||
),
|
||||
);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Backs up legacy notes into description before the v2 migration.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**قاعدة عامة:**
|
||||
|
||||
| ترغب في… | استخدام |
|
||||
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
|
||||
| بذر بيانات افتراضية، تهيئة مساحة العمل، تسجيل موارد خارجية | `post-install` |
|
||||
| تشغيل بذر طويل الأمد أو استدعاءات أطراف ثالثة لا ينبغي أن تحجب استجابة التثبيت | `post-install` (الإعداد الافتراضي — `shouldRunSynchronously: false`، مع محاولات إعادة من العامل) |
|
||||
| تشغيل إعداد سريع سيعتمد عليه المستدعي مباشرةً بعد عودة نداء التثبيت | `post-install` مع `shouldRunSynchronously: true` |
|
||||
| قراءة البيانات أو نسخها احتياطيًا والتي قد يفقدها الترحيل القادم | `pre-install` |
|
||||
| رفض ترقية قد تُفسد البيانات الحالية | `pre-install` (ارمِ من المعالج) |
|
||||
| تنفيذ مواءمة في كل ترقية | `post-install` مع `shouldRunOnVersionUpgrade: true` |
|
||||
| تنفيذ إعداد لمرة واحدة في التثبيت الأول فقط | `post-install` مع `shouldRunOnVersionUpgrade: false` (الإعداد الافتراضي) |
|
||||
|
||||
<Note>
|
||||
إذا ساورك الشك، فاجعل الافتراضي هو **post-install**. الجأ إلى ما قبل التثبيت فقط عندما يكون الترحيل نفسه هدّامًا وتحتاج إلى التقاط الحالة السابقة قبل أن تزول.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="defineFrontComponent" description="عرِّف مكوّنات أمامية لواجهة مستخدم مخصّصة">
|
||||
@@ -1816,8 +1942,7 @@ yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
|
||||
# Pass a JSON payload
|
||||
yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}'
|
||||
|
||||
# Execute pre-install or post-install functions
|
||||
yarn twenty exec --preInstall
|
||||
# Execute the post-install function
|
||||
yarn twenty exec --postInstall
|
||||
```
|
||||
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ npx nx run twenty-server:database:reset
|
||||
#### Pro objekty ve schématech Core/Metadata (TypeORM)
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate
|
||||
```
|
||||
|
||||
## Technologický stack
|
||||
|
||||
@@ -644,49 +644,15 @@ export default defineLogicFunction({
|
||||
**Napište kvalitní `description`.** Agenti AI se spoléhají na pole funkce `description` při rozhodování, kdy nástroj použít. Buďte konkrétní ohledně toho, co nástroj dělá a kdy se má volat.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Definujte předinstalační logickou funkci (jedna na aplikaci)">
|
||||
|
||||
Předinstalační funkce je logická funkce, která se automaticky spouští před instalací vaší aplikace v pracovním prostoru. To je užitečné pro validační úlohy, kontrolu předpokladů nebo přípravu stavu pracovního prostoru před zahájením hlavní instalace.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'e0604b9e-e946-456b-886d-3f27d9a6b324',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Předinstalační funkci můžete také kdykoli spustit ručně pomocí CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Hlavní body:
|
||||
* Předinstalační funkce používají `definePreInstallLogicFunction()` — specializovanou variantu, která vynechává nastavení spouštěčů (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`).
|
||||
* Obslužná funkce (handler) obdrží `InstallLogicFunctionPayload` s `{ previousVersion: string }` — verzi aplikace, která byla dříve nainstalována (nebo prázdný řetězec při čisté instalaci).
|
||||
* Na jednu aplikaci je povolena pouze jedna předinstalační funkce. Sestavení manifestu skončí chybou, pokud je zjištěna více než jedna.
|
||||
* Identifikátor `universalIdentifier` funkce se během sestavení automaticky nastaví v manifestu aplikace jako `preInstallLogicFunctionUniversalIdentifier` — není potřeba jej uvádět v `defineApplication()`.
|
||||
* Výchozí časový limit je nastaven na 300 sekund (5 minut), aby umožnil delší přípravné úlohy.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePostInstallLogicFunction" description="Definujte postinstalační logickou funkci (jedna na aplikaci)">
|
||||
|
||||
Postinstalační funkce je logická funkce, která se automaticky spouští po instalaci vaší aplikace do pracovního prostoru. To je užitečné pro jednorázové úlohy nastavení, jako je naplnění výchozími daty, vytvoření počátečních záznamů nebo konfigurace nastavení pracovního prostoru.
|
||||
Postinstalační funkce je logická funkce, která se spustí automaticky, jakmile je instalace vaší aplikace v pracovním prostoru dokončena. Server ji provede **poté**, co byla synchronizována metadata aplikace a vygenerován klient SDK, takže je pracovní prostor plně připraven k použití a nové schéma je zavedeno. Mezi typické případy použití patří naplnění výchozími daty, vytvoření počátečních záznamů, konfigurace nastavení pracovního prostoru nebo zřizování prostředků ve službách třetích stran.
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Post install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
@@ -695,6 +661,8 @@ export default definePostInstallLogicFunction({
|
||||
name: 'post-install',
|
||||
description: 'Runs after installation to set up the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
shouldRunSynchronously: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
@@ -707,10 +675,168 @@ yarn twenty exec --postInstall
|
||||
|
||||
Hlavní body:
|
||||
* Postinstalační funkce používají `definePostInstallLogicFunction()` — specializovanou variantu, která vynechává nastavení spouštěčů (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`).
|
||||
* Obslužná funkce (handler) obdrží `InstallLogicFunctionPayload` s `{ previousVersion: string }` — verzi aplikace, která byla dříve nainstalována (nebo prázdný řetězec při čisté instalaci).
|
||||
* Obslužná funkce obdrží `InstallPayload` s `{ previousVersion?: string; newVersion: string }` — `newVersion` je verze, která se instaluje, a `previousVersion` je verze, která byla nainstalována dříve (nebo `undefined` při čisté instalaci). Tyto hodnoty použijte k rozlišení čistých instalací od aktualizací a ke spuštění migrační logiky specifické pro verzi.
|
||||
* **Kdy se hook spouští**: ve výchozím nastavení pouze při čistých instalacích. Předejte `shouldRunOnVersionUpgrade: true`, pokud chcete, aby se spouštěl i při aktualizaci aplikace z předchozí verze. Pokud je vynechán, příznak má výchozí hodnotu `false` a při aktualizacích se hook přeskočí.
|
||||
* **Model provádění — ve výchozím nastavení asynchronní, synchronní volitelně**: příznak `shouldRunSynchronously` určuje *jak* se spouští post-install.
|
||||
* `shouldRunSynchronously: false` *(výchozí)* — hook je **zařazen do fronty zpráv** s `retryLimit: 3` a běží asynchronně ve workeru. Odezva instalace se vrátí hned po zařazení úlohy do fronty, takže pomalá nebo chybující obslužná funkce neblokuje volajícího. Worker se pokusí o opakování až třikrát. **Použijte pro dlouho běžící úlohy** — plnění velkých datových sad, volání pomalých externích API, zřizování externích prostředků, cokoli, co by mohlo přesáhnout rozumné časové okno HTTP odezvy.
|
||||
* `shouldRunSynchronously: true` — hook se provádí **inline během instalačního procesu** (stejný vykonavatel jako pre-install). Instalační požadavek blokuje, dokud obslužná funkce nedokončí, a pokud vyvolá výjimku, volající instalace obdrží `POST_INSTALL_ERROR`. Žádné automatické opakování. **Použijte pro rychlé úlohy, které se musí dokončit před odpovědí** — například vrácení validační chyby uživateli nebo rychlé nastavení, na kterém bude klient záviset ihned po návratu volání instalace. Mějte na paměti, že v době, kdy se spustí post-install, už byla migrace metadat aplikována, takže selhání v synchronním režimu změny schématu **ne**vrací zpět — pouze odhalí chybu.
|
||||
* Ujistěte se, že vaše obslužná funkce je idempotentní. V asynchronním režimu se může fronta pokusit až třikrát; v obou režimech se může hook znovu spustit při aktualizacích, pokud je `shouldRunOnVersionUpgrade: true`.
|
||||
* Proměnné prostředí `APPLICATION_ID`, `APP_ACCESS_TOKEN` a `API_URL` jsou dostupné uvnitř obslužné funkce (stejně jako u jakékoli jiné logické funkce), takže můžete volat Twenty API s aplikačním přístupovým tokenem omezeným na vaši aplikaci.
|
||||
* Na jednu aplikaci je povolena pouze jedna postinstalační funkce. Sestavení manifestu skončí chybou, pokud je zjištěna více než jedna.
|
||||
* Identifikátor `universalIdentifier` funkce se během sestavení automaticky nastaví v manifestu aplikace jako `postInstallLogicFunctionUniversalIdentifier` — není potřeba jej uvádět v `defineApplication()`.
|
||||
* Atributy funkce `universalIdentifier`, `shouldRunOnVersionUpgrade` a `shouldRunSynchronously` jsou během buildu automaticky připojeny k manifestu aplikace do pole `postInstallLogicFunction` — není potřeba je uvádět v `defineApplication()`.
|
||||
* Výchozí časový limit je nastaven na 300 sekund (5 minut), aby umožnil delší úlohy nastavení, jako je naplnění daty.
|
||||
* **Nespouští se v režimu dev**: když je aplikace registrována lokálně (pomocí `yarn twenty dev`), server zcela přeskočí instalační tok a synchronizuje soubory přímo prostřednictvím sledovače CLI — takže se post-install v režimu dev nikdy nespustí bez ohledu na `shouldRunSynchronously`. Použijte `yarn twenty exec --postInstall` k ručnímu spuštění nad běžícím pracovním prostorem.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Definujte předinstalační logickou funkci (jedna na aplikaci)">
|
||||
|
||||
Funkce pre-install je logická funkce, která se během instalace spouští automaticky, **před aplikováním migrace metadat pracovního prostoru**. Má stejný tvar payloadu jako post-install (`InstallPayload`), ale je zařazena dříve v instalačním toku, aby mohla připravit stav, na němž nadcházející migrace závisí — typické použití zahrnuje zálohování dat, ověření kompatibility s novým schématem nebo archivaci záznamů, které se chystají přeuspořádat nebo odstranit.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Předinstalační funkci můžete také kdykoli spustit ručně pomocí CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Hlavní body:
|
||||
* Funkce pre-install používají `definePreInstallLogicFunction()` — stejné specializované nastavení jako u post-install, pouze připojené k jiné fázi životního cyklu.
|
||||
* Obě obslužné funkce pre- i post-install přijímají stejný typ `InstallPayload`: `{ previousVersion?: string; newVersion: string }`. Importujte jej jednou a znovu použijte pro oba hooky.
|
||||
* **Kdy se hook spouští**: umístěn těsně před migrací metadat pracovního prostoru (`synchronizeFromManifest`). Před spuštěním server provede čistě aditivní "zjednodušenou synchronizaci", která v metadatech pracovního prostoru zaregistruje pre-install funkci **nové** verze — ničeho dalšího se nedotkne — a poté ji spustí. Protože tato synchronizace je pouze aditivní, objekty, pole a data předchozí verze zůstávají při spuštění vaší obslužné funkce zachována: můžete bezpečně číst a zálohovat stav před migrací.
|
||||
* **Model provádění**: pre-install se provádí **synchronně** a **blokuje instalaci**. Pokud obslužná funkce vyvolá výjimku, instalace se přeruší ještě před aplikováním jakýchkoli změn schématu — pracovní prostor zůstane na předchozí verzi v konzistentním stavu. Je to záměrné: pre-install je vaše poslední šance odmítnout rizikovou aktualizaci.
|
||||
* Stejně jako u post-install je na jednu aplikaci povolena pouze jedna funkce pre-install. Během buildu je automaticky připojena k manifestu aplikace pod `preInstallLogicFunction`.
|
||||
* **Nespouští se v režimu dev**: stejně jako u post-install — u lokálně registrovaných aplikací je instalační tok zcela přeskočen, takže se pre-install pod `yarn twenty dev` nikdy nespustí. Použijte `yarn twenty exec --preInstall` k ručnímu spuštění.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Pre-install vs post-install: kdy použít který" description="Výběr správného instalačního hooku">
|
||||
|
||||
Oba hooky jsou součástí téhož instalačního toku a přijímají stejný `InstallPayload`. Rozdíl je v tom, **kdy** se spouštějí vzhledem k migraci metadat pracovního prostoru, a to určuje, jakých dat se mohou bezpečně dotýkat.
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ install flow │
|
||||
│ │
|
||||
│ upload package → [pre-install] → metadata migration → │
|
||||
│ generate SDK → [post-install] │
|
||||
│ │
|
||||
│ old schema visible new schema visible │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Pre-install je vždy **synchronní** (blokuje instalaci a může ji přerušit). Post-install je **ve výchozím nastavení asynchronní** — zařazen do workeru s automatickými pokusy o opakování — ale může přejít na synchronní provádění pomocí `shouldRunSynchronously: true`. Viz accordion `definePostInstallLogicFunction` výše, kdy použít jednotlivé režimy.
|
||||
|
||||
**Použijte `post-install` pro cokoli, co vyžaduje existenci nového schématu.** To je běžný případ:
|
||||
|
||||
* Plnění výchozími daty (vytváření počátečních záznamů, výchozích pohledů, demo obsahu) vůči nově přidaným objektům a polím.
|
||||
* Registrace webhooků u služeb třetích stran poté, co má aplikace své přihlašovací údaje.
|
||||
* Volání vlastního API k dokončení nastavení, které závisí na synchronizovaných metadatech.
|
||||
* Idempotentní logika "zajisti, že to existuje", která má při každé aktualizaci uvést stav do souladu — kombinujte s `shouldRunOnVersionUpgrade: true`.
|
||||
|
||||
Příklad — po instalaci naplňte výchozí záznam `PostCard`:
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion }: InstallPayload): Promise<void> => {
|
||||
if (previousVersion) return; // fresh installs only
|
||||
|
||||
const client = createClient();
|
||||
await client.postCard.create({
|
||||
data: { title: 'Welcome to Postcard', content: 'Your first card!' },
|
||||
});
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: 'f7a2b9c1-3d4e-5678-abcd-ef9876543210',
|
||||
name: 'post-install',
|
||||
description: 'Seeds a welcome post card after install.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Použijte `pre-install`, pokud by migrace jinak zničila nebo poškodila existující data.** Protože pre-install běží proti *předchozímu* schématu a jeho selhání vrací aktualizaci zpět, je to správné místo pro cokoli rizikového:
|
||||
|
||||
* **Zálohování dat, která se chystají odstranit nebo přeuspořádat** — např. odstraňujete pole ve verzi v2 a potřebujete jeho hodnoty zkopírovat do jiného pole nebo je před spuštěním migrace exportovat do úložiště.
|
||||
* **Archivace záznamů, které by nové omezení zneplatnilo** — např. pole se stává `NOT NULL` a je třeba nejprve smazat nebo opravit řádky s hodnotami null.
|
||||
* **Ověření kompatibility a odmítnutí aktualizace, pokud nelze aktuální data čistě migrovat** — vyhoďte výjimku z obslužné funkce a instalace se ukončí bez provedených změn. Je to bezpečnější, než zjistit nekompatibilitu uprostřed migrace.
|
||||
* **Přejmenování nebo změna klíčů dat** před změnou schématu, která by ztratila vazby.
|
||||
|
||||
Příklad — archivujte záznamy před destruktivní migrací:
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion, newVersion }: InstallPayload): Promise<void> => {
|
||||
// Only the 1.x → 2.x upgrade drops the legacy `notes` field.
|
||||
if (!previousVersion?.startsWith('1.') || !newVersion.startsWith('2.')) {
|
||||
return;
|
||||
}
|
||||
|
||||
const client = createClient();
|
||||
const legacyRecords = await client.postCard.findMany({
|
||||
where: { notes: { isNotNull: true } },
|
||||
});
|
||||
|
||||
if (legacyRecords.length === 0) return;
|
||||
|
||||
// Copy legacy `notes` into the new `description` field before the migration
|
||||
// drops the `notes` column. If this fails, the upgrade is aborted and the
|
||||
// workspace stays on v1 with all data intact.
|
||||
await Promise.all(
|
||||
legacyRecords.map((record) =>
|
||||
client.postCard.update({
|
||||
where: { id: record.id },
|
||||
data: { description: record.notes },
|
||||
}),
|
||||
),
|
||||
);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Backs up legacy notes into description before the v2 migration.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Zlaté pravidlo:**
|
||||
|
||||
| Chcete… | Použít |
|
||||
| ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| Naplňte výchozí data, nakonfigurujte pracovní prostor, zaregistrujte externí prostředky | `post-install` |
|
||||
| Spusťte dlouho běžící plnění nebo volání třetích stran, která by neměla blokovat odezvu instalace | `post-install` (výchozí — `shouldRunSynchronously: false`, s opakovanými pokusy workeru) |
|
||||
| Spusťte rychlé nastavení, na které bude volající spoléhat ihned po návratu volání instalace | `post-install` s `shouldRunSynchronously: true` |
|
||||
| Čtěte nebo zálohujte data, která by nadcházející migrace ztratila | `pre-install` |
|
||||
| Odmítněte aktualizaci, která by poškodila existující data | `pre-install` (vyhoďte výjimku z obslužné funkce) |
|
||||
| Spouštějte srovnání stavu při každé aktualizaci | `post-install` s `shouldRunOnVersionUpgrade: true` |
|
||||
| Proveďte jednorázové nastavení pouze při první instalaci | `post-install` s `shouldRunOnVersionUpgrade: false` (výchozí) |
|
||||
|
||||
<Note>
|
||||
Pokud si nejste jisti, výchozí volbou je **post-install**. Po pre-install sáhněte pouze tehdy, když je samotná migrace destruktivní a potřebujete zachytit předchozí stav, než zmizí.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="defineFrontComponent" description="Definujte frontendové komponenty pro vlastní uživatelské rozhraní">
|
||||
@@ -1817,8 +1943,7 @@ yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
|
||||
# Pass a JSON payload
|
||||
yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}'
|
||||
|
||||
# Execute pre-install or post-install functions
|
||||
yarn twenty exec --preInstall
|
||||
# Execute the post-install function
|
||||
yarn twenty exec --postInstall
|
||||
```
|
||||
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ npx nx run twenty-server:database:reset
|
||||
#### Für Objekte in Core/Metadata-Schemas (TypeORM)
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate
|
||||
```
|
||||
|
||||
## Technologie-Stack
|
||||
|
||||
@@ -643,49 +643,15 @@ export default defineLogicFunction({
|
||||
**Schreiben Sie eine gute `description`.** KI-Agenten verlassen sich auf das `description`-Feld der Funktion, um zu entscheiden, wann das Tool verwendet werden soll. Seien Sie konkret darin, was das Tool tut und wann es aufgerufen werden soll.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Eine Pre-Installations-Logikfunktion definieren (eine pro App)">
|
||||
|
||||
Eine Pre-Installationsfunktion ist eine Logikfunktion, die automatisch ausgeführt wird, bevor Ihre App in einem Arbeitsbereich installiert wird. Dies ist nützlich für Validierungsaufgaben, Überprüfungen von Voraussetzungen oder die Vorbereitung des Status des Arbeitsbereichs, bevor die Hauptinstallation fortgesetzt wird.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'e0604b9e-e946-456b-886d-3f27d9a6b324',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Sie können die Pre-Installationsfunktion auch jederzeit manuell über die CLI ausführen:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Hauptpunkte:
|
||||
* Pre-Installationsfunktionen verwenden `definePreInstallLogicFunction()` — eine spezialisierte Variante, die Trigger-Einstellungen (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`) weglässt.
|
||||
* Der Handler erhält ein `InstallLogicFunctionPayload` mit `{ previousVersion: string }` — die Version der App, die zuvor installiert war (oder eine leere Zeichenkette bei Neuinstallationen).
|
||||
* Pro Anwendung ist nur eine Pre-Installationsfunktion zulässig. Der Manifest-Build schlägt fehl, wenn mehr als eine erkannt wird.
|
||||
* Der `universalIdentifier` der Funktion wird während des Builds im Anwendungsmanifest automatisch als `preInstallLogicFunctionUniversalIdentifier` gesetzt — Sie müssen ihn nicht in `defineApplication()` referenzieren.
|
||||
* Das standardmäßige Timeout ist auf 300 Sekunden (5 Minuten) festgelegt, um längere Vorbereitungsvorgänge zu ermöglichen.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePostInstallLogicFunction" description="Eine Post-Installations-Logikfunktion definieren (eine pro App)">
|
||||
|
||||
Eine Post-Installationsfunktion ist eine Logikfunktion, die automatisch ausgeführt wird, nachdem Ihre App in einem Arbeitsbereich installiert wurde. Dies ist nützlich für einmalige Einrichtungsvorgänge wie das Befüllen mit Standarddaten, das Erstellen erster Datensätze oder das Konfigurieren von Arbeitsbereichseinstellungen.
|
||||
Eine Post-Installationsfunktion ist eine Logikfunktion, die automatisch ausgeführt wird, nachdem Ihre App in einem Arbeitsbereich installiert wurde. Der Server führt sie **nach** der Synchronisierung der Metadaten der App und der Generierung des SDK-Clients aus, sodass der Arbeitsbereich vollständig einsatzbereit ist und das neue Schema bereitsteht. Typische Anwendungsfälle umfassen das Befüllen von Standarddaten, das Erstellen anfänglicher Datensätze, das Konfigurieren von Arbeitsbereichseinstellungen oder das Bereitstellen von Ressourcen bei Diensten von Drittanbietern.
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Post install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
@@ -694,6 +660,8 @@ export default definePostInstallLogicFunction({
|
||||
name: 'post-install',
|
||||
description: 'Runs after installation to set up the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
shouldRunSynchronously: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
@@ -706,10 +674,168 @@ yarn twenty exec --postInstall
|
||||
|
||||
Hauptpunkte:
|
||||
* Post-Installationsfunktionen verwenden `definePostInstallLogicFunction()` — eine spezialisierte Variante, die Trigger-Einstellungen (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`) weglässt.
|
||||
* Der Handler erhält ein `InstallLogicFunctionPayload` mit `{ previousVersion: string }` — die Version der App, die zuvor installiert war (oder eine leere Zeichenkette bei Neuinstallationen).
|
||||
* Der Handler erhält ein `InstallPayload` mit `{ previousVersion?: string; newVersion: string }` — `newVersion` ist die zu installierende Version, und `previousVersion` ist die zuvor installierte Version (oder `undefined` bei einer Neuinstallation). Verwenden Sie diese Werte, um Neuinstallationen von Upgrades zu unterscheiden und versionsspezifische Migrationslogik auszuführen.
|
||||
* **Wann der Hook ausgeführt wird**: standardmäßig nur bei Neuinstallationen. Übergeben Sie `shouldRunOnVersionUpgrade: true`, wenn er auch beim Upgrade der App von einer vorherigen Version ausgeführt werden soll. Wenn weggelassen, ist das Flag standardmäßig `false` und Upgrades überspringen den Hook.
|
||||
* **Ausführungsmodell — standardmäßig asynchron, synchron optional**: Das Flag `shouldRunSynchronously` steuert, *wie* Post-Install ausgeführt wird.
|
||||
* `shouldRunSynchronously: false` *(Standard)* — der Hook wird **in die Nachrichtenwarteschlange eingereiht** mit `retryLimit: 3` und läuft asynchron in einem Worker. Die Installationsantwort kommt zurück, sobald der Job eingereiht ist, sodass ein langsamer oder fehlschlagender Handler den Aufrufer nicht blockiert. Der Worker versucht es bis zu dreimal erneut. **Verwenden Sie dies für lang laufende Jobs** — das Befüllen großer Datensätze, Aufrufe langsamer Drittanbieter-APIs, Bereitstellung externer Ressourcen, alles, was ein vernünftiges HTTP-Antwortfenster überschreiten könnte.
|
||||
* `shouldRunSynchronously: true` — der Hook wird **inline während des Installationsablaufs** ausgeführt (gleicher Executor wie bei Pre-Install). Die Installationsanforderung blockiert, bis der Handler fertig ist, und wenn er einen Fehler wirft, erhält der Installationsaufrufer einen `POST_INSTALL_ERROR`. Keine automatischen Wiederholungen. **Verwenden Sie dies für schnelle Aufgaben, die vor der Antwort abgeschlossen sein müssen** — z. B. um dem Benutzer einen Validierungsfehler auszugeben oder für eine schnelle Einrichtung, auf die der Client unmittelbar nach der Rückkehr des Installationsaufrufs angewiesen ist. Beachten Sie, dass die Metadatenmigration bereits angewendet wurde, wenn Post-Install läuft, sodass ein Fehler im Synchronmodus die Schemaänderungen **nicht** rückgängig macht — er zeigt lediglich den Fehler an.
|
||||
* Stellen Sie sicher, dass Ihr Handler idempotent ist. Im asynchronen Modus kann die Warteschlange bis zu dreimal erneut versuchen; in beiden Modi kann der Hook bei Upgrades erneut laufen, wenn `shouldRunOnVersionUpgrade: true`.
|
||||
* Die Umgebungsvariablen `APPLICATION_ID`, `APP_ACCESS_TOKEN` und `API_URL` sind im Handler verfügbar (wie bei jeder anderen Logikfunktion), sodass Sie die Twenty API mit einem auf Ihre App beschränkten Anwendungszugriffstoken aufrufen können.
|
||||
* Pro Anwendung ist nur eine Post-Installationsfunktion zulässig. Der Manifest-Build schlägt fehl, wenn mehr als eine erkannt wird.
|
||||
* Der `universalIdentifier` der Funktion wird während des Builds im Anwendungsmanifest automatisch als `postInstallLogicFunctionUniversalIdentifier` gesetzt — Sie müssen ihn nicht in `defineApplication()` referenzieren.
|
||||
* Die `universalIdentifier`, `shouldRunOnVersionUpgrade` und `shouldRunSynchronously` der Funktion werden während des Builds automatisch dem Anwendungsmanifest unter dem Feld `postInstallLogicFunction` hinzugefügt — Sie müssen sie in `defineApplication()` nicht referenzieren.
|
||||
* Das standardmäßige Timeout ist auf 300 Sekunden (5 Minuten) festgelegt, um längere Einrichtungsvorgänge wie Daten-Seeding zu ermöglichen.
|
||||
* **Nicht im Dev-Modus ausgeführt**: Wenn eine App lokal registriert ist (über `yarn twenty dev`), überspringt der Server den Installationsablauf vollständig und synchronisiert Dateien direkt über den CLI-Watcher — daher läuft Post-Install im Dev-Modus nie, unabhängig von `shouldRunSynchronously`. Verwenden Sie `yarn twenty exec --postInstall`, um es manuell gegen einen laufenden Workspace auszulösen.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Eine Pre-Installations-Logikfunktion definieren (eine pro App)">
|
||||
|
||||
Eine Pre-Install-Funktion ist eine Logikfunktion, die automatisch während der Installation ausgeführt wird, **bevor die Metadatenmigration des Workspaces angewendet wird**. Sie hat die gleiche Payload-Struktur wie Post-Install (`InstallPayload`), ist aber früher im Installationsablauf positioniert, sodass sie Zustände vorbereiten kann, von denen die bevorstehende Migration abhängt — typische Anwendungsfälle sind das Sichern von Daten, die Validierung der Kompatibilität mit dem neuen Schema oder das Archivieren von Datensätzen, die umstrukturiert oder entfernt werden sollen.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Sie können die Pre-Installationsfunktion auch jederzeit manuell über die CLI ausführen:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Hauptpunkte:
|
||||
* Pre-Install-Funktionen verwenden `definePreInstallLogicFunction()` — dieselbe spezialisierte Konfiguration wie bei Post-Install, nur an einen anderen Lifecycle-Slot gebunden.
|
||||
* Sowohl Pre- als auch Post-Install-Handler erhalten denselben `InstallPayload`-Typ: `{ previousVersion?: string; newVersion: string }`. Importieren Sie ihn einmal und verwenden Sie ihn für beide Hooks wieder.
|
||||
* **Wann der Hook ausgeführt wird**: positioniert direkt vor der Metadatenmigration des Workspaces (`synchronizeFromManifest`). Vor der Ausführung führt der Server einen rein additiven "pared-down sync" durch, der die Pre-Install-Funktion der **neuen** Version in den Workspace-Metadaten registriert — sonst wird nichts angefasst — und führt sie dann aus. Da dieser Sync nur additiv ist, sind die Objekte, Felder und Daten der vorherigen Version noch intakt, wenn Ihr Handler läuft: Sie können den Zustand vor der Migration gefahrlos lesen und sichern.
|
||||
* **Ausführungsmodell**: Pre-Install wird **synchron** ausgeführt und **blockiert die Installation**. Wenn der Handler einen Fehler wirft, wird die Installation abgebrochen, bevor Schemaänderungen angewendet werden — der Workspace verbleibt in der vorherigen Version in einem konsistenten Zustand. Das ist beabsichtigt: Pre-Install ist Ihre letzte Chance, ein riskantes Upgrade abzulehnen.
|
||||
* Wie bei Post-Install ist pro Anwendung nur eine Pre-Installationsfunktion zulässig. Sie wird während des Builds automatisch dem Anwendungsmanifest unter `preInstallLogicFunction` hinzugefügt.
|
||||
* **Nicht im Dev-Modus ausgeführt**: wie bei Post-Install — der Installationsablauf wird für lokal registrierte Apps vollständig übersprungen, daher läuft Pre-Install unter `yarn twenty dev` nie. Verwenden Sie `yarn twenty exec --preInstall`, um es manuell auszulösen.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Pre-Install vs. Post-Install: wann was verwenden" description="Den richtigen Installations-Hook wählen">
|
||||
|
||||
Beide Hooks sind Teil desselben Installationsablaufs und erhalten dasselbe `InstallPayload`. Der Unterschied besteht darin, **wann** sie relativ zur Metadatenmigration des Workspaces ausgeführt werden, und das ändert, auf welche Daten sie gefahrlos zugreifen können.
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ install flow │
|
||||
│ │
|
||||
│ upload package → [pre-install] → metadata migration → │
|
||||
│ generate SDK → [post-install] │
|
||||
│ │
|
||||
│ old schema visible new schema visible │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Pre-Install ist immer **synchron** (blockiert die Installation und kann sie abbrechen). Post-Install ist **standardmäßig asynchron** — in einen Worker eingereiht mit automatischen Wiederholungen — kann aber per `shouldRunSynchronously: true` in die synchrone Ausführung wechseln. Siehe das Akkordeon zu `definePostInstallLogicFunction` oben, wann welcher Modus zu verwenden ist.
|
||||
|
||||
**Verwenden Sie `post-install` für alles, wofür das neue Schema existieren muss.** Dies ist der Regelfall:
|
||||
|
||||
* Standarddaten befüllen (Anlegen anfänglicher Datensätze, Standardansichten, Demo-Inhalte) für neu hinzugefügte Objekte und Felder.
|
||||
* Registrieren von Webhooks bei Drittanbieter-Diensten, jetzt, da die App ihre Anmeldedaten hat.
|
||||
* Aufrufen Ihrer eigenen API, um eine Einrichtung abzuschließen, die von den synchronisierten Metadaten abhängt.
|
||||
* Idempotente "Stelle sicher, dass dies existiert"-Logik, die bei jedem Upgrade den Zustand abgleichen soll — kombinieren Sie dies mit `shouldRunOnVersionUpgrade: true`.
|
||||
|
||||
Beispiel — nach der Installation einen Standard-`PostCard`-Datensatz anlegen:
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion }: InstallPayload): Promise<void> => {
|
||||
if (previousVersion) return; // fresh installs only
|
||||
|
||||
const client = createClient();
|
||||
await client.postCard.create({
|
||||
data: { title: 'Welcome to Postcard', content: 'Your first card!' },
|
||||
});
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: 'f7a2b9c1-3d4e-5678-abcd-ef9876543210',
|
||||
name: 'post-install',
|
||||
description: 'Seeds a welcome post card after install.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Verwenden Sie `pre-install`, wenn eine Migration ansonsten vorhandene Daten löschen oder beschädigen würde.** Da Pre-Install gegen das vorherige Schema läuft und ein Fehlschlag das Upgrade zurückrollt, ist es der richtige Ort für alles Riskante:
|
||||
|
||||
* **Sichern von Daten, die gleich gelöscht oder umstrukturiert werden** — z. B. Sie entfernen in v2 ein Feld und müssen dessen Werte vor der Migration in ein anderes Feld kopieren oder in einen Speicher exportieren.
|
||||
* **Archivieren von Datensätzen, die eine neue Einschränkung ungültig machen würde** — z. B. ein Feld wird `NOT NULL` und Sie müssen zuerst Zeilen mit Null-Werten löschen oder korrigieren.
|
||||
* **Kompatibilität validieren und das Upgrade ablehnen, wenn die aktuellen Daten nicht sauber migriert werden können** — werfen Sie im Handler einen Fehler, und die Installation wird ohne Änderungen abgebrochen. Das ist sicherer, als die Inkompatibilität mitten in der Migration zu entdecken.
|
||||
* **Daten umbenennen oder Schlüssel neu zuweisen** vor einer Schemaänderung, bei der sonst die Zuordnung verloren ginge.
|
||||
|
||||
Beispiel — Datensätze vor einer destruktiven Migration archivieren:
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion, newVersion }: InstallPayload): Promise<void> => {
|
||||
// Only the 1.x → 2.x upgrade drops the legacy `notes` field.
|
||||
if (!previousVersion?.startsWith('1.') || !newVersion.startsWith('2.')) {
|
||||
return;
|
||||
}
|
||||
|
||||
const client = createClient();
|
||||
const legacyRecords = await client.postCard.findMany({
|
||||
where: { notes: { isNotNull: true } },
|
||||
});
|
||||
|
||||
if (legacyRecords.length === 0) return;
|
||||
|
||||
// Copy legacy `notes` into the new `description` field before the migration
|
||||
// drops the `notes` column. If this fails, the upgrade is aborted and the
|
||||
// workspace stays on v1 with all data intact.
|
||||
await Promise.all(
|
||||
legacyRecords.map((record) =>
|
||||
client.postCard.update({
|
||||
where: { id: record.id },
|
||||
data: { description: record.notes },
|
||||
}),
|
||||
),
|
||||
);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Backs up legacy notes into description before the v2 migration.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Faustregel:**
|
||||
|
||||
| Sie möchten … | Verwenden |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
||||
| Standarddaten befüllen, den Workspace konfigurieren, externe Ressourcen registrieren | `post-install` |
|
||||
| Lang laufendes Seeding oder Drittanbieteraufrufe ausführen, die die Installationsantwort nicht blockieren sollten | `post-install` (Standard — `shouldRunSynchronously: false`, mit Worker-Wiederholungen) |
|
||||
| Schnelle Einrichtung ausführen, auf die sich der Aufrufer unmittelbar nach der Rückkehr des Installationsaufrufs verlassen wird | `post-install` mit `shouldRunSynchronously: true` |
|
||||
| Daten lesen oder sichern, die bei der bevorstehenden Migration verloren gingen | `pre-install` |
|
||||
| Ein Upgrade ablehnen, das vorhandene Daten beschädigen würde | `pre-install` (`throw` im Handler) |
|
||||
| Bei jedem Upgrade einen Abgleich ausführen | `post-install` mit `shouldRunOnVersionUpgrade: true` |
|
||||
| Einmalige Einrichtung nur bei der ersten Installation durchführen | `post-install` mit `shouldRunOnVersionUpgrade: false` (Standard) |
|
||||
|
||||
<Note>
|
||||
Im Zweifel auf **Post-Install** setzen. Greifen Sie nur zu Pre-Install, wenn die Migration selbst destruktiv ist und Sie den vorherigen Zustand abfangen müssen, bevor er verloren geht.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="defineFrontComponent" description="Frontend-Komponenten für benutzerdefinierte UI definieren">
|
||||
@@ -1816,8 +1942,7 @@ yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
|
||||
# Pass a JSON payload
|
||||
yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}'
|
||||
|
||||
# Execute pre-install or post-install functions
|
||||
yarn twenty exec --preInstall
|
||||
# Execute the post-install function
|
||||
yarn twenty exec --postInstall
|
||||
```
|
||||
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ npx nx run twenty-server:database:reset
|
||||
#### Para objetos en esquemas Core/Metadata (TypeORM)
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate
|
||||
```
|
||||
|
||||
## Stack Tecnológico
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ npx nx run twenty-server:database:reset
|
||||
#### Per oggetti negli schemi Core/Metadata (TypeORM)
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate
|
||||
```
|
||||
|
||||
## Tech Stack
|
||||
|
||||
@@ -643,49 +643,15 @@ export default defineLogicFunction({
|
||||
**Scrivi una buona `description`.** Gli agenti IA fanno affidamento sul campo `description` della funzione per decidere quando usare lo strumento. Sii specifico su cosa fa lo strumento e quando dovrebbe essere invocato.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Definisci una funzione logica di pre-installazione (una per app)">
|
||||
|
||||
Una funzione di pre-installazione è una funzione logica che viene eseguita automaticamente prima che la tua app venga installata in uno spazio di lavoro. È utile per attività di convalida, controlli dei prerequisiti o per preparare lo stato dello spazio di lavoro prima che proceda l'installazione principale.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'e0604b9e-e946-456b-886d-3f27d9a6b324',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Puoi anche eseguire manualmente la funzione di pre-installazione in qualsiasi momento utilizzando la CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Punti chiave:
|
||||
* Le funzioni di pre-installazione utilizzano `definePreInstallLogicFunction()` — una variante specializzata che omette le impostazioni dei trigger (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`).
|
||||
* L'handler riceve un `InstallLogicFunctionPayload` con `{ previousVersion: string }` — la versione dell'app precedentemente installata (oppure una stringa vuota per nuove installazioni).
|
||||
* È consentita una sola funzione di pre-installazione per applicazione. La build del manifesto genererà un errore se ne viene rilevata più di una.
|
||||
* L'`universalIdentifier` della funzione viene impostato automaticamente come `preInstallLogicFunctionUniversalIdentifier` nel manifesto dell'applicazione durante la build — non è necessario farvi riferimento in `defineApplication()`.
|
||||
* Il timeout predefinito è impostato a 300 secondi (5 minuti) per consentire attività di preparazione più lunghe.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePostInstallLogicFunction" description="Definisci una funzione logica di post-installazione (una per app)">
|
||||
|
||||
Una funzione post-installazione è una funzione logica che viene eseguita automaticamente dopo che la tua app è stata installata in uno spazio di lavoro. Questo è utile per attività di configurazione una tantum come il popolamento di dati predefiniti, la creazione di record iniziali o la configurazione delle impostazioni dello spazio di lavoro.
|
||||
Una funzione post-installazione è una funzione logica che viene eseguita automaticamente dopo che la tua app è stata installata in uno spazio di lavoro. Il server la esegue **dopo** che i metadati dell'app sono stati sincronizzati e il client SDK è stato generato, così lo spazio di lavoro è completamente pronto per l'uso e il nuovo schema è attivo. I casi d'uso tipici includono il popolamento di dati predefiniti, la creazione di record iniziali, la configurazione delle impostazioni dello spazio di lavoro o il provisioning di risorse su servizi di terze parti.
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Post install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
@@ -694,6 +660,8 @@ export default definePostInstallLogicFunction({
|
||||
name: 'post-install',
|
||||
description: 'Runs after installation to set up the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
shouldRunSynchronously: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
@@ -706,10 +674,168 @@ yarn twenty exec --postInstall
|
||||
|
||||
Punti chiave:
|
||||
* Le funzioni di post-installazione utilizzano `definePostInstallLogicFunction()` — una variante specializzata che omette le impostazioni dei trigger (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`).
|
||||
* L'handler riceve un `InstallLogicFunctionPayload` con `{ previousVersion: string }` — la versione dell'app precedentemente installata (oppure una stringa vuota per nuove installazioni).
|
||||
* L'handler riceve un `InstallPayload` con `{ previousVersion?: string; newVersion: string }` — `newVersion` è la versione in fase di installazione e `previousVersion` è la versione installata in precedenza (oppure `undefined` in caso di nuova installazione). Usa questi valori per distinguere le nuove installazioni dagli aggiornamenti e per eseguire logiche di migrazione specifiche per versione.
|
||||
* **Quando viene eseguito l'hook**: solo sulle nuove installazioni, per impostazione predefinita. Passa `shouldRunOnVersionUpgrade: true` se vuoi che venga eseguito anche quando l'app viene aggiornata da una versione precedente. Se omesso, il flag è `false` per impostazione predefinita e gli aggiornamenti saltano l'hook.
|
||||
* **Modello di esecuzione — asincrono per impostazione predefinita, sincrono su richiesta**: il flag `shouldRunSynchronously` controlla *come* viene eseguito il post-install.
|
||||
* `shouldRunSynchronously: false` *(default)* — l'hook viene **messo in coda nella coda dei messaggi** con `retryLimit: 3` ed eseguito in modo asincrono in un worker. La risposta di installazione viene restituita non appena il job è messo in coda, quindi un handler lento o in errore non blocca il chiamante. Il worker riproverà fino a tre volte. **Usalo per job di lunga durata** — popolamento di dataset di grandi dimensioni, chiamate a API di terze parti lente, provisioning di risorse esterne, qualsiasi cosa che possa superare una finestra di risposta HTTP ragionevole.
|
||||
* `shouldRunSynchronously: true` — l'hook viene eseguito **inline durante il flusso di installazione** (stesso executor del pre-install). La richiesta di installazione rimane bloccata finché l'handler non termina e, se genera un'eccezione, il chiamante dell'installazione riceve un `POST_INSTALL_ERROR`. Nessun tentativo automatico. **Usalo per attività rapide che devono completarsi prima della risposta** — ad esempio, emettere un errore di validazione all'utente, oppure un setup rapido di cui il client avrà bisogno immediatamente dopo il ritorno della chiamata di installazione. Tieni presente che la migrazione dei metadati è già stata applicata quando viene eseguito il post-install, quindi un errore in modalità sincrona **non** annulla le modifiche allo schema — si limita a far emergere l'errore.
|
||||
* Assicurati che il tuo handler sia idempotente. In modalità asincrona la coda può riprovare fino a tre volte; in entrambe le modalità l'hook può essere eseguito di nuovo durante gli aggiornamenti quando `shouldRunOnVersionUpgrade: true`.
|
||||
* Le variabili d'ambiente `APPLICATION_ID`, `APP_ACCESS_TOKEN` e `API_URL` sono disponibili all'interno dell'handler (come in qualsiasi altra funzione logica), quindi puoi chiamare le API di Twenty con un token di accesso applicativo con ambito sulla tua app.
|
||||
* È consentita una sola funzione di post-installazione per applicazione. La build del manifesto genererà un errore se ne viene rilevata più di una.
|
||||
* L'`universalIdentifier` della funzione viene impostato automaticamente come `postInstallLogicFunctionUniversalIdentifier` nel manifesto dell'applicazione durante la build — non è necessario farvi riferimento in `defineApplication()`.
|
||||
* I campi `universalIdentifier`, `shouldRunOnVersionUpgrade` e `shouldRunSynchronously` della funzione vengono associati automaticamente al manifest dell'applicazione nel campo `postInstallLogicFunction` durante la build — non è necessario referenziarli in `defineApplication()`.
|
||||
* Il timeout predefinito è impostato a 300 secondi (5 minuti) per consentire attività di configurazione più lunghe, come il popolamento dei dati.
|
||||
* **Non eseguito in modalità dev**: quando un'app è registrata in locale (tramite `yarn twenty dev`), il server salta completamente il flusso di installazione e sincronizza i file direttamente tramite il watcher della CLI — quindi il post-install non viene mai eseguito in modalità dev, indipendentemente da `shouldRunSynchronously`. Usa `yarn twenty exec --postInstall` per attivarlo manualmente su un workspace in esecuzione.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Definisci una funzione logica di pre-installazione (una per app)">
|
||||
|
||||
Una funzione di pre-install è una funzione logica che viene eseguita automaticamente durante l'installazione, **prima che venga applicata la migrazione dei metadati del workspace**. Condivide la stessa struttura di payload del post-install (`InstallPayload`), ma è posizionata prima nel flusso di installazione così da poter preparare lo stato da cui dipenderà la migrazione imminente — usi tipici includono il backup dei dati, la validazione della compatibilità con il nuovo schema o l'archiviazione di record che stanno per essere ristrutturati o eliminati.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Puoi anche eseguire manualmente la funzione di pre-installazione in qualsiasi momento utilizzando la CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Punti chiave:
|
||||
* Le funzioni di pre-install usano `definePreInstallLogicFunction()` — stessa configurazione specialistica del post-install, solo agganciata a uno slot di ciclo di vita diverso.
|
||||
* Sia gli handler di pre- sia quelli di post-install ricevono lo stesso tipo `InstallPayload`: `{ previousVersion?: string; newVersion: string }`. Importalo una volta e riutilizzalo per entrambi gli hook.
|
||||
* **Quando viene eseguito l'hook**: posizionato appena prima della migrazione dei metadati del workspace (`synchronizeFromManifest`). Prima dell'esecuzione, il server esegue una "sincronizzazione ridotta" puramente additiva che registra nei metadati del workspace la funzione di pre-install della versione **nuova** — nient'altro viene toccato — e poi la esegue. Poiché questa sincronizzazione è solo additiva, gli oggetti, i campi e i dati della versione precedente restano intatti quando il tuo handler viene eseguito: puoi leggere ed eseguire in sicurezza il backup dello stato pre-migrazione.
|
||||
* **Modello di esecuzione**: il pre-install è eseguito **in modo sincrono** e **blocca l'installazione**. Se l'handler genera un'eccezione, l'installazione viene interrotta prima che vengano applicate modifiche allo schema — il workspace rimane sulla versione precedente in uno stato coerente. Questo è intenzionale: il pre-install è la tua ultima possibilità per rifiutare un aggiornamento rischioso.
|
||||
* Come per il post-install, è consentita una sola funzione di pre-installazione per applicazione. Viene collegata automaticamente al manifest dell'applicazione nel campo `preInstallLogicFunction` durante la build.
|
||||
* **Non eseguito in modalità dev**: come per il post-install — il flusso di installazione viene completamente saltato per le app registrate localmente, quindi il pre-install non viene mai eseguito con `yarn twenty dev`. Usa `yarn twenty exec --preInstall` per attivarlo manualmente.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Pre-install vs post-install: quando usare l'uno o l'altro" description="Scegliere l'hook di installazione giusto">
|
||||
|
||||
Entrambi gli hook fanno parte dello stesso flusso di installazione e ricevono lo stesso `InstallPayload`. La differenza è **quando** vengono eseguiti rispetto alla migrazione dei metadati del workspace, e questo modifica quali dati possono gestire in sicurezza.
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ install flow │
|
||||
│ │
|
||||
│ upload package → [pre-install] → metadata migration → │
|
||||
│ generate SDK → [post-install] │
|
||||
│ │
|
||||
│ old schema visible new schema visible │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Il pre-install è sempre **sincrono** (blocca l'installazione e può interromperla). Il post-install è **asincrono per impostazione predefinita** — messo in coda su un worker con retry automatici — ma può optare per l'esecuzione sincrona con `shouldRunSynchronously: true`. Vedi l'accordion `definePostInstallLogicFunction` sopra per quando usare ciascuna modalità.
|
||||
|
||||
**Usa `post-install` per tutto ciò che richiede l'esistenza del nuovo schema.** Questo è il caso più comune:
|
||||
|
||||
* Popolamento di dati predefiniti (creazione di record iniziali, viste predefinite, contenuti demo) su oggetti e campi appena aggiunti.
|
||||
* Registrazione di webhook con servizi di terze parti ora che l'app ha le proprie credenziali.
|
||||
* Chiamare la tua API per completare il setup che dipende dai metadati sincronizzati.
|
||||
* Logica idempotente di "ensure this exists" che dovrebbe riconciliare lo stato a ogni aggiornamento — da combinare con `shouldRunOnVersionUpgrade: true`.
|
||||
|
||||
Esempio — eseguire il seeding di un record `PostCard` predefinito dopo l'installazione:
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion }: InstallPayload): Promise<void> => {
|
||||
if (previousVersion) return; // fresh installs only
|
||||
|
||||
const client = createClient();
|
||||
await client.postCard.create({
|
||||
data: { title: 'Welcome to Postcard', content: 'Your first card!' },
|
||||
});
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: 'f7a2b9c1-3d4e-5678-abcd-ef9876543210',
|
||||
name: 'post-install',
|
||||
description: 'Seeds a welcome post card after install.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Usa `pre-install` quando una migrazione altrimenti distruggerebbe o corromperebbe i dati esistenti.** Poiché il pre-install viene eseguito contro lo schema *precedente* e un suo fallimento annulla l'aggiornamento, è il posto giusto per qualsiasi operazione rischiosa:
|
||||
|
||||
* **Eseguire il backup dei dati che stanno per essere eliminati o ristrutturati** — ad esempio, stai rimuovendo un campo nella v2 e devi copiarne i valori in un altro campo o esportarli su uno storage prima che venga eseguita la migrazione.
|
||||
* **Archiviare i record che un nuovo vincolo renderebbe non validi** — ad esempio, un campo sta diventando `NOT NULL` e devi prima eliminare o correggere le righe con valori nulli.
|
||||
* **Validare la compatibilità e rifiutare l'aggiornamento se i dati attuali non possono essere migrati correttamente** — genera un'eccezione dall'handler e l'installazione si interrompe senza applicare modifiche. Questo è più sicuro che scoprire l'incompatibilità a migrazione in corso.
|
||||
* **Rinominare o rigenerare le chiavi dei dati** prima di una modifica dello schema che farebbe perdere l'associazione.
|
||||
|
||||
Esempio — archiviare i record prima di una migrazione distruttiva:
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion, newVersion }: InstallPayload): Promise<void> => {
|
||||
// Only the 1.x → 2.x upgrade drops the legacy `notes` field.
|
||||
if (!previousVersion?.startsWith('1.') || !newVersion.startsWith('2.')) {
|
||||
return;
|
||||
}
|
||||
|
||||
const client = createClient();
|
||||
const legacyRecords = await client.postCard.findMany({
|
||||
where: { notes: { isNotNull: true } },
|
||||
});
|
||||
|
||||
if (legacyRecords.length === 0) return;
|
||||
|
||||
// Copy legacy `notes` into the new `description` field before the migration
|
||||
// drops the `notes` column. If this fails, the upgrade is aborted and the
|
||||
// workspace stays on v1 with all data intact.
|
||||
await Promise.all(
|
||||
legacyRecords.map((record) =>
|
||||
client.postCard.update({
|
||||
where: { id: record.id },
|
||||
data: { description: record.notes },
|
||||
}),
|
||||
),
|
||||
);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Backs up legacy notes into description before the v2 migration.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Regola generale:**
|
||||
|
||||
| Vuoi… | Usa |
|
||||
| ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
|
||||
| Popolare dati predefiniti, configurare il workspace, registrare risorse esterne | `post-install` |
|
||||
| Eseguire seeding di lunga durata o chiamate a terze parti che non dovrebbero bloccare la risposta dell'installazione | `post-install` (predefinito — `shouldRunSynchronously: false`, con retry del worker) |
|
||||
| Eseguire un setup rapido di cui il chiamante farà affidamento immediatamente dopo il ritorno della chiamata di installazione | `post-install` con `shouldRunSynchronously: true` |
|
||||
| Leggere o eseguire il backup dei dati che la prossima migrazione perderebbe | `pre-install` |
|
||||
| Rifiutare un aggiornamento che corromperebbe i dati esistenti | `pre-install` (genera un'eccezione dall'handler) |
|
||||
| Eseguire la riconciliazione a ogni aggiornamento | `post-install` con `shouldRunOnVersionUpgrade: true` |
|
||||
| Eseguire un setup una tantum solo alla prima installazione | `post-install` con `shouldRunOnVersionUpgrade: false` (predefinito) |
|
||||
|
||||
<Note>
|
||||
In caso di dubbio, usa **post-install**. Ricorri al pre-install solo quando la migrazione stessa è distruttiva e devi intercettare lo stato precedente prima che vada perso.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="defineFrontComponent" description="Definisci componenti front-end per un'interfaccia utente personalizzata">
|
||||
@@ -1816,8 +1942,7 @@ yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
|
||||
# Pass a JSON payload
|
||||
yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}'
|
||||
|
||||
# Execute pre-install or post-install functions
|
||||
yarn twenty exec --preInstall
|
||||
# Execute the post-install function
|
||||
yarn twenty exec --postInstall
|
||||
```
|
||||
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ npx nx run twenty-server:database:reset
|
||||
#### Para objetos nos esquemas Core/Metadata (TypeORM)
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate
|
||||
```
|
||||
|
||||
## Pilha de Tecnologias
|
||||
|
||||
@@ -643,49 +643,15 @@ export default defineLogicFunction({
|
||||
**Escreva uma boa `description`.** Os agentes de IA dependem do campo `description` da função para decidir quando usar a ferramenta. Seja específico sobre o que a ferramenta faz e quando ela deve ser chamada.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Defina uma função de lógica de pré-instalação (uma por aplicativo)">
|
||||
|
||||
Uma função de pré-instalação é uma função de lógica que é executada automaticamente antes de o seu aplicativo ser instalado em um espaço de trabalho. Isso é útil para tarefas de validação, verificações de pré-requisitos ou para preparar o estado do espaço de trabalho antes que a instalação principal prossiga.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'e0604b9e-e946-456b-886d-3f27d9a6b324',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Você também pode executar manualmente a função de pré-instalação a qualquer momento usando a CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Pontos-chave:
|
||||
* As funções de pré-instalação usam `definePreInstallLogicFunction()` — uma variante especializada que omite as configurações de gatilho (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`).
|
||||
* O manipulador recebe um `InstallLogicFunctionPayload` com `{ previousVersion: string }` — a versão do app que foi instalada anteriormente (ou uma string vazia para instalações novas).
|
||||
* É permitida apenas uma função de pré-instalação por app. A geração do manifesto apresentará erro se mais de uma for detectada.
|
||||
* O `universalIdentifier` da função é definido automaticamente como `preInstallLogicFunctionUniversalIdentifier` no manifesto do aplicativo durante a geração — você não precisa referenciá-lo em `defineApplication()`.
|
||||
* O tempo limite padrão é definido como 300 segundos (5 minutos) para permitir tarefas de preparação mais longas.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePostInstallLogicFunction" description="Defina uma função de lógica de pós-instalação (uma por aplicativo)">
|
||||
|
||||
Uma função de pós-instalação é uma função de lógica que é executada automaticamente após o seu aplicativo ser instalado em um espaço de trabalho. Isso é útil para tarefas de configuração únicas, como preencher dados padrão, criar registros iniciais ou configurar as configurações do espaço de trabalho.
|
||||
Uma função de pós-instalação é uma função lógica que é executada automaticamente assim que seu aplicativo terminar de ser instalado em um espaço de trabalho. O servidor a executa **depois** que os metadados do aplicativo forem sincronizados e o cliente do SDK for gerado, para que o espaço de trabalho esteja totalmente pronto para uso e o novo esquema esteja disponível. Casos de uso típicos incluem popular dados padrão, criar registros iniciais, configurar as definições do espaço de trabalho ou provisionar recursos em serviços de terceiros.
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Post install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
@@ -694,6 +660,8 @@ export default definePostInstallLogicFunction({
|
||||
name: 'post-install',
|
||||
description: 'Runs after installation to set up the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
shouldRunSynchronously: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
@@ -706,10 +674,168 @@ yarn twenty exec --postInstall
|
||||
|
||||
Pontos-chave:
|
||||
* As funções de pós-instalação usam `definePostInstallLogicFunction()` — uma variante especializada que omite as configurações de gatilho (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`).
|
||||
* O manipulador recebe um `InstallLogicFunctionPayload` com `{ previousVersion: string }` — a versão do app que foi instalada anteriormente (ou uma string vazia para instalações novas).
|
||||
* O manipulador recebe um `InstallPayload` com `{ previousVersion?: string; newVersion: string }` — `newVersion` é a versão que está sendo instalada, e `previousVersion` é a versão que foi instalada anteriormente (ou `undefined` em uma instalação nova). Use esses valores para distinguir instalações novas de atualizações e para executar lógica de migração específica da versão.
|
||||
* **Quando o hook é executado**: apenas em instalações novas, por padrão. Passe `shouldRunOnVersionUpgrade: true` se você também quiser que ele seja executado quando o app for atualizado a partir de uma versão anterior. Quando omitida, a flag tem valor padrão `false` e as atualizações ignoram o hook.
|
||||
* **Modelo de execução — assíncrono por padrão, síncrono opcional**: a flag `shouldRunSynchronously` controla *como* a pós-instalação é executada.
|
||||
* `shouldRunSynchronously: false` *(padrão)* — o hook é **enfileirado na fila de mensagens** com `retryLimit: 3` e é executado de forma assíncrona em um worker. A resposta da instalação retorna assim que o job é enfileirado, então um manipulador lento ou com falha não bloqueia quem chamou. O worker tentará novamente até três vezes. **Use isto para jobs de longa duração** — popular grandes conjuntos de dados, chamar APIs de terceiros lentas, provisionar recursos externos, qualquer coisa que possa exceder uma janela razoável de resposta HTTP.
|
||||
* `shouldRunSynchronously: true` — o hook é executado **inline durante o fluxo de instalação** (mesmo executor da pré-instalação). A requisição de instalação bloqueia até o manipulador terminar e, se ele lançar uma exceção, quem chamou a instalação recebe um `POST_INSTALL_ERROR`. Sem novas tentativas automáticas. **Use isto para trabalhos rápidos que precisam ser concluídos antes da resposta** — por exemplo, emitir um erro de validação para o usuário ou fazer uma configuração rápida da qual o cliente dependerá imediatamente após a chamada de instalação retornar. Tenha em mente que a migração de metadados já foi aplicada quando a pós-instalação é executada, então uma falha no modo síncrono **não** reverte as alterações de esquema — ela apenas expõe o erro.
|
||||
* Garanta que seu manipulador seja idempotente. No modo assíncrono, a fila pode tentar novamente até três vezes; em qualquer modo, o hook pode ser executado novamente em atualizações quando `shouldRunOnVersionUpgrade: true`.
|
||||
* As variáveis de ambiente `APPLICATION_ID`, `APP_ACCESS_TOKEN` e `API_URL` estão disponíveis dentro do manipulador (assim como em qualquer outra função de lógica), então você pode chamar a API da Twenty com um token de acesso de aplicativo com escopo para o seu app.
|
||||
* É permitida apenas uma função de pós-instalação por app. A geração do manifesto apresentará erro se mais de uma for detectada.
|
||||
* O `universalIdentifier` da função é definido automaticamente como `postInstallLogicFunctionUniversalIdentifier` no manifesto do aplicativo durante a geração — você não precisa referenciá-lo em `defineApplication()`.
|
||||
* O `universalIdentifier`, `shouldRunOnVersionUpgrade` e `shouldRunSynchronously` da função são anexados automaticamente ao manifesto do aplicativo no campo `postInstallLogicFunction` durante o build — você não precisa referenciá-los em `defineApplication()`.
|
||||
* O tempo limite padrão é definido como 300 segundos (5 minutos) para permitir tarefas de configuração mais longas, como o pré-carregamento de dados.
|
||||
* **Não executado no modo de desenvolvimento**: quando um app é registrado localmente (via `yarn twenty dev`), o servidor pula completamente o fluxo de instalação e sincroniza arquivos diretamente pelo watcher da CLI — portanto, a pós-instalação nunca é executada no modo de desenvolvimento, independentemente de `shouldRunSynchronously`. Use `yarn twenty exec --postInstall` para acioná-lo manualmente em um workspace em execução.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Defina uma função de lógica de pré-instalação (uma por aplicativo)">
|
||||
|
||||
Uma função de pré-instalação é uma função de lógica que é executada automaticamente durante a instalação, **antes que a migração de metadados do workspace seja aplicada**. Ela compartilha o mesmo formato de payload que a pós-instalação (`InstallPayload`), mas está posicionada mais cedo no fluxo de instalação para poder preparar o estado do qual a próxima migração depende — usos típicos incluem fazer backup de dados, validar a compatibilidade com o novo esquema ou arquivar registros que estão prestes a ser reestruturados ou removidos.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Você também pode executar manualmente a função de pré-instalação a qualquer momento usando a CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Pontos-chave:
|
||||
* Funções de pré-instalação usam `definePreInstallLogicFunction()` — a mesma configuração especializada da pós-instalação, apenas anexada a um ponto diferente do ciclo de vida.
|
||||
* Os manipuladores de pré e pós-instalação recebem o mesmo tipo `InstallPayload`: `{ previousVersion?: string; newVersion: string }`. Importe-o uma vez e reutilize-o para ambos os hooks.
|
||||
* **Quando o hook é executado**: posicionado imediatamente antes da migração de metadados do workspace (`synchronizeFromManifest`). Antes de executar, o servidor realiza uma "sincronização simplificada" puramente aditiva que registra a função de pré-instalação da **nova** versão nos metadados do workspace — nada mais é alterado — e então a executa. Como essa sincronização é apenas aditiva, os objetos, campos e dados da versão anterior ainda estão intactos quando seu manipulador é executado: você pode ler e fazer backup com segurança do estado pré-migração.
|
||||
* **Modelo de execução**: a pré-instalação é executada **de forma síncrona** e **bloqueia a instalação**. Se o manipulador lançar uma exceção, a instalação é abortada antes que quaisquer alterações de esquema sejam aplicadas — o workspace permanece na versão anterior em um estado consistente. Isto é intencional: a pré-instalação é sua última chance de recusar uma atualização arriscada.
|
||||
* Assim como na pós-instalação, é permitida apenas uma função de pré-instalação por app. Ela é anexada ao manifesto do aplicativo sob `preInstallLogicFunction` automaticamente durante o build.
|
||||
* **Não é executada no modo de desenvolvimento**: igual à pós-instalação — o fluxo de instalação é totalmente ignorado para apps registrados localmente, portanto a pré-instalação nunca é executada com `yarn twenty dev`. Use `yarn twenty exec --preInstall` para acioná-lo manualmente.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Pré-instalação vs pós-instalação: quando usar cada um" description="Escolhendo o hook de instalação correto">
|
||||
|
||||
Ambos os hooks fazem parte do mesmo fluxo de instalação e recebem o mesmo `InstallPayload`. A diferença é **quando** eles são executados em relação à migração de metadados do workspace, e isso muda quais dados eles podem manipular com segurança.
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ install flow │
|
||||
│ │
|
||||
│ upload package → [pre-install] → metadata migration → │
|
||||
│ generate SDK → [post-install] │
|
||||
│ │
|
||||
│ old schema visible new schema visible │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
A pré-instalação é sempre **síncrona** (ela bloqueia a instalação e pode abortá-la). A pós-instalação é **assíncrona por padrão** — enfileirada em um worker com novas tentativas automáticas — mas pode optar por execução síncrona com `shouldRunSynchronously: true`. Veja o acordeão `definePostInstallLogicFunction` acima para saber quando usar cada modo.
|
||||
|
||||
**Use `post-install` para qualquer coisa que precise que o novo esquema exista.** Este é o caso mais comum:
|
||||
|
||||
* Popular dados padrão (criando registros iniciais, visualizações padrão, conteúdo de demonstração) em objetos e campos recém-adicionados.
|
||||
* Registrar webhooks com serviços de terceiros agora que o app tem suas credenciais.
|
||||
* Chamar sua própria API para finalizar a configuração que depende dos metadados sincronizados.
|
||||
* Lógica idempotente de "garantir que isso exista" que deve reconciliar o estado em cada atualização — combine com `shouldRunOnVersionUpgrade: true`.
|
||||
|
||||
Exemplo — popular um registro `PostCard` padrão após a instalação:
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion }: InstallPayload): Promise<void> => {
|
||||
if (previousVersion) return; // fresh installs only
|
||||
|
||||
const client = createClient();
|
||||
await client.postCard.create({
|
||||
data: { title: 'Welcome to Postcard', content: 'Your first card!' },
|
||||
});
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: 'f7a2b9c1-3d4e-5678-abcd-ef9876543210',
|
||||
name: 'post-install',
|
||||
description: 'Seeds a welcome post card after install.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Use `pre-install` quando uma migração, de outra forma, destruiria ou corromperia dados existentes.** Como a pré-instalação roda contra o esquema *anterior* e sua falha reverte a atualização, é o lugar certo para qualquer coisa arriscada:
|
||||
|
||||
* **Fazer backup de dados que estão prestes a ser removidos ou reestruturados** — por exemplo, você está removendo um campo na v2 e precisa copiar seus valores para outro campo ou exportá-los para um armazenamento antes que a migração seja executada.
|
||||
* **Arquivar registros que uma nova restrição invalidaria** — por exemplo, um campo está se tornando `NOT NULL` e você precisa excluir ou corrigir linhas com valores nulos primeiro.
|
||||
* **Validar a compatibilidade e recusar a atualização se os dados atuais não puderem ser migrados de forma limpa** — lance uma exceção no manipulador e a instalação é abortada sem alterações aplicadas. Isto é mais seguro do que descobrir a incompatibilidade no meio da migração.
|
||||
* **Renomear ou reatribuir chaves de dados** antes de uma alteração de esquema que perderia a associação.
|
||||
|
||||
Exemplo — arquivar registros antes de uma migração destrutiva:
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion, newVersion }: InstallPayload): Promise<void> => {
|
||||
// Only the 1.x → 2.x upgrade drops the legacy `notes` field.
|
||||
if (!previousVersion?.startsWith('1.') || !newVersion.startsWith('2.')) {
|
||||
return;
|
||||
}
|
||||
|
||||
const client = createClient();
|
||||
const legacyRecords = await client.postCard.findMany({
|
||||
where: { notes: { isNotNull: true } },
|
||||
});
|
||||
|
||||
if (legacyRecords.length === 0) return;
|
||||
|
||||
// Copy legacy `notes` into the new `description` field before the migration
|
||||
// drops the `notes` column. If this fails, the upgrade is aborted and the
|
||||
// workspace stays on v1 with all data intact.
|
||||
await Promise.all(
|
||||
legacyRecords.map((record) =>
|
||||
client.postCard.update({
|
||||
where: { id: record.id },
|
||||
data: { description: record.notes },
|
||||
}),
|
||||
),
|
||||
);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Backs up legacy notes into description before the v2 migration.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Regra geral:**
|
||||
|
||||
| Você quer… | Usar |
|
||||
| ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| Popular dados padrão, configurar o workspace, registrar recursos externos | `post-install` |
|
||||
| Executar processos longos de popular dados ou chamadas a terceiros que não devem bloquear a resposta da instalação | `post-install` (padrão — `shouldRunSynchronously: false`, com novas tentativas do worker) |
|
||||
| Executar uma configuração rápida da qual o chamador dependerá imediatamente após o retorno da chamada de instalação | `post-install` com `shouldRunSynchronously: true` |
|
||||
| Ler ou fazer backup de dados que a próxima migração perderia | `pre-install` |
|
||||
| Rejeitar uma atualização que corromperia dados existentes | `pre-install` (lançar uma exceção no manipulador) |
|
||||
| Executar reconciliação em cada atualização | `post-install` com `shouldRunOnVersionUpgrade: true` |
|
||||
| Fazer uma configuração única apenas na primeira instalação | `post-install` com `shouldRunOnVersionUpgrade: false` (padrão) |
|
||||
|
||||
<Note>
|
||||
Em caso de dúvida, use **post-install** como padrão. Recurra à pré-instalação somente quando a própria migração for destrutiva e você precisar interceptar o estado anterior antes que ele desapareça.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="defineFrontComponent" description="Definir componentes de front-end para UI personalizada">
|
||||
@@ -1816,8 +1942,7 @@ yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
|
||||
# Pass a JSON payload
|
||||
yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}'
|
||||
|
||||
# Execute pre-install or post-install functions
|
||||
yarn twenty exec --preInstall
|
||||
# Execute the post-install function
|
||||
yarn twenty exec --postInstall
|
||||
```
|
||||
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ npx nx run twenty-server:database:reset
|
||||
#### Pentru obiectele din schematizările de Bază/Metadate (TypeORM)
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate
|
||||
```
|
||||
|
||||
## Tehnologii Utilizate
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ npx nx run twenty-server:database:reset
|
||||
#### Для объектов в схемах Core/Metadata (TypeORM)
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate
|
||||
```
|
||||
|
||||
## Технологический стек
|
||||
|
||||
@@ -643,49 +643,15 @@ export default defineLogicFunction({
|
||||
**Напишите хорошее описание в поле `description`.** Агенты ИИ опираются на поле `description` функции, чтобы решить, когда использовать инструмент. Чётко опишите, что делает инструмент и когда его следует вызывать.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Определяет предустановочную логическую функцию (по одной на приложение)">
|
||||
|
||||
Предустановочная функция — это логическая функция, которая автоматически выполняется до установки вашего приложения в рабочем пространстве. Это полезно для задач валидации, проверки предварительных условий или подготовки состояния рабочего пространства перед основной установкой.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'e0604b9e-e946-456b-886d-3f27d9a6b324',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Вы также можете вручную выполнить предустановочную функцию в любое время с помощью CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Основные моменты:
|
||||
* Предустановочные функции используют `definePreInstallLogicFunction()` — специализированный вариант, который опускает настройки триггеров (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`).
|
||||
* Обработчик получает `InstallLogicFunctionPayload` с `{ previousVersion: string }` — версией приложения, которая была установлена ранее (или пустой строкой для новых установок).
|
||||
* Для каждого приложения допускается только одна предустановочная функция. Сборка манифеста завершится ошибкой, если будет обнаружено более одной такой функции.
|
||||
* Параметр `universalIdentifier` функции автоматически устанавливается как `preInstallLogicFunctionUniversalIdentifier` в манифесте приложения во время сборки — вам не нужно ссылаться на него в `defineApplication()`.
|
||||
* Тайм-аут по умолчанию установлен на 300 секунд (5 минут), чтобы обеспечить выполнение более длительных задач подготовки.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePostInstallLogicFunction" description="Определяет послеустановочную логическую функцию (по одной на приложение)">
|
||||
|
||||
Послеустановочная функция — это функция логики, которая автоматически выполняется после установки вашего приложения в рабочем пространстве. Это полезно для одноразовых задач настройки, таких как инициализация данных по умолчанию, создание начальных записей или настройка параметров рабочего пространства.
|
||||
Послеустановочная функция — это функция логики, которая автоматически выполняется после завершения установки вашего приложения в рабочем пространстве. Сервер выполняет её **после** того, как метаданные приложения синхронизированы и клиент SDK сгенерирован, так что рабочее пространство полностью готово к использованию, а новая схема уже применена. Типичные сценарии использования включают предзаполнение данных по умолчанию, создание начальных записей, настройку параметров рабочего пространства или выделение ресурсов в сторонних сервисах.
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Post install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
@@ -694,6 +660,8 @@ export default definePostInstallLogicFunction({
|
||||
name: 'post-install',
|
||||
description: 'Runs after installation to set up the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
shouldRunSynchronously: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
@@ -706,10 +674,168 @@ yarn twenty exec --postInstall
|
||||
|
||||
Основные моменты:
|
||||
* Послеустановочные функции используют `definePostInstallLogicFunction()` — специализированный вариант, который опускает настройки триггеров (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`).
|
||||
* Обработчик получает `InstallLogicFunctionPayload` с `{ previousVersion: string }` — версией приложения, которая была установлена ранее (или пустой строкой для новых установок).
|
||||
* Обработчик получает `InstallPayload` с `{ previousVersion?: string; newVersion: string }` — `newVersion` — это устанавливаемая версия, а `previousVersion` — версия, установленная ранее (или `undefined` при чистой установке). Используйте эти значения, чтобы отличать чистые установки от обновлений и запускать логику миграции, зависящую от версии.
|
||||
* **Когда запускается хук**: по умолчанию только при чистой установке. Передайте `shouldRunOnVersionUpgrade: true`, если хотите, чтобы он также выполнялся при обновлении приложения с предыдущей версии. Если флаг опущен, по умолчанию он равен `false`, и при обновлении хук пропускается.
|
||||
* **Модель выполнения — по умолчанию асинхронно, синхронный режим по выбору**: флаг `shouldRunSynchronously` определяет, *как* выполняется post-install.
|
||||
* `shouldRunSynchronously: false` *(по умолчанию)* — хук **помещается в очередь сообщений** с `retryLimit: 3` и выполняется асинхронно в воркере. Ответ на установку возвращается сразу после постановки задания в очередь, поэтому медленный или дающий сбой обработчик не блокирует вызывающую сторону. Воркер выполнит до трёх повторных попыток. **Используйте это для длительных задач** — наполнение большими наборами данных, вызовы медленных сторонних API, подготовка внешних ресурсов — всего, что может выйти за разумное окно ответа HTTP.
|
||||
* `shouldRunSynchronously: true` — хук выполняется **непосредственно в процессе установки** (тот же исполнитель, что и для pre-install). Запрос установки блокируется, пока обработчик не завершится, и если он генерирует исключение, вызывающая сторона установки получает `POST_INSTALL_ERROR`. Автоматических повторов нет. **Используйте это для быстрых задач, которые должны завершиться до отправки ответа** — например, выдача ошибки валидации пользователю или быстрая настройка, на которую клиент будет полагаться сразу после возврата вызова установки. Имейте в виду, что к моменту запуска post-install миграция метаданных уже применена, поэтому сбой в синхронном режиме **не** откатывает изменения схемы — он лишь выявляет ошибку.
|
||||
* Убедитесь, что ваш обработчик идемпотентен. В асинхронном режиме очередь может выполнить до трёх повторных попыток; в любом режиме хук может запускаться снова при обновлениях, когда `shouldRunOnVersionUpgrade: true`.
|
||||
* Переменные окружения `APPLICATION_ID`, `APP_ACCESS_TOKEN` и `API_URL` доступны внутри обработчика (как и в любой другой логической функции), поэтому вы можете вызывать API Twenty с токеном доступа приложения, ограниченным вашим приложением.
|
||||
* Для каждого приложения допускается только одна послеустановочная функция. Сборка манифеста завершится ошибкой, если будет обнаружено более одной такой функции.
|
||||
* Параметр `universalIdentifier` функции автоматически устанавливается как `postInstallLogicFunctionUniversalIdentifier` в манифесте приложения во время сборки — вам не нужно ссылаться на него в `defineApplication()`.
|
||||
* Параметры функции `universalIdentifier`, `shouldRunOnVersionUpgrade` и `shouldRunSynchronously` автоматически добавляются в манифест приложения в поле `postInstallLogicFunction` во время сборки — вам не нужно указывать их в `defineApplication()`.
|
||||
* Тайм-аут по умолчанию установлен на 300 секунд (5 минут), чтобы позволить выполнять более длительные задачи настройки, такие как инициализация данных.
|
||||
* **Не выполняется в режиме разработки**: когда приложение зарегистрировано локально (через `yarn twenty dev`), сервер полностью пропускает процесс установки и синхронизирует файлы напрямую через наблюдатель CLI — поэтому post-install никогда не запускается в режиме разработки, независимо от `shouldRunSynchronously`. Используйте `yarn twenty exec --postInstall`, чтобы запустить это вручную для запущенного рабочего пространства.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Определяет предустановочную логическую функцию (по одной на приложение)">
|
||||
|
||||
Функция pre-install — это логическая функция, которая автоматически выполняется во время установки, **до применения миграции метаданных рабочего пространства**. Она использует ту же структуру полезной нагрузки, что и post-install (`InstallPayload`), но находится раньше в процессе установки, чтобы подготовить состояние, от которого зависит предстоящая миграция, — типичные сценарии включают резервное копирование данных, проверку совместимости с новой схемой или архивирование записей, которые будут реструктурированы или удалены.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Вы также можете вручную выполнить предустановочную функцию в любое время с помощью CLI:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Основные моменты:
|
||||
* Функции pre-install используют `definePreInstallLogicFunction()` — та же специализированная конфигурация, что и у post-install, только привязанная к другому этапу жизненного цикла.
|
||||
* И обработчики pre-, и post-install получают один и тот же тип `InstallPayload`: `{ previousVersion?: string; newVersion: string }`. Импортируйте его один раз и используйте повторно в обоих хуках.
|
||||
* **Когда запускается хук**: выполняется непосредственно перед миграцией метаданных рабочего пространства (`synchronizeFromManifest`). Перед выполнением сервер запускает чисто добавочную «урезанную синхронизацию», которая регистрирует в метаданных рабочего пространства pre-install функцию **новой** версии — ничего больше не затрагивается — а затем выполняет её. Поскольку эта синхронизация только добавляет, объекты, поля и данные предыдущей версии остаются нетронутыми к моменту запуска вашего обработчика: вы можете безопасно читать и сохранять состояние до миграции.
|
||||
* **Модель выполнения**: pre-install выполняется **синхронно** и **блокирует установку**. Если обработчик генерирует исключение, установка прерывается до применения каких-либо изменений схемы — рабочее пространство остаётся на предыдущей версии в согласованном состоянии. Это сделано намеренно: pre-install — ваш последний шанс отказать в рискованном обновлении.
|
||||
* Как и в случае с post-install, для каждого приложения допускается только одна предустановочная функция. Она автоматически добавляется в манифест приложения в поле `preInstallLogicFunction` во время сборки.
|
||||
* **Не выполняется в режиме разработки**: как и post-install, процесс установки полностью пропускается для локально зарегистрированных приложений, поэтому pre-install никогда не запускается при `yarn twenty dev`. Используйте `yarn twenty exec --preInstall`, чтобы запустить это вручную.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Pre-install и post-install: когда что использовать" description="Выбор подходящего хука установки">
|
||||
|
||||
Оба хука являются частью одного и того же процесса установки и получают один и тот же `InstallPayload`. Разница в том, **когда** они запускаются относительно миграции метаданных рабочего пространства, и это определяет, к каким данным можно безопасно обращаться.
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ install flow │
|
||||
│ │
|
||||
│ upload package → [pre-install] → metadata migration → │
|
||||
│ generate SDK → [post-install] │
|
||||
│ │
|
||||
│ old schema visible new schema visible │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Pre-install всегда **синхронный** (он блокирует установку и может её прервать). Post-install **по умолчанию асинхронный** — ставится в очередь воркера с автоматическими повторами — но может перейти к синхронному выполнению с `shouldRunSynchronously: true`. См. аккордеон `definePostInstallLogicFunction` выше о том, когда использовать каждый режим.
|
||||
|
||||
**Используйте `post-install` для всего, что требует наличия новой схемы.** Это распространённый случай:
|
||||
|
||||
* Наполнение данными по умолчанию (создание начальных записей, стандартных представлений, демонстрационного контента) для недавно добавленных объектов и полей.
|
||||
* Регистрация вебхуков в сторонних сервисах теперь, когда у приложения уже есть учётные данные.
|
||||
* Вызов вашего собственного API для завершения настройки, зависящей от синхронизированных метаданных.
|
||||
* Идемпотентная логика «убедиться, что это существует», которая должна приводить состояние в соответствие при каждом обновлении — совместите с `shouldRunOnVersionUpgrade: true`.
|
||||
|
||||
Пример — создать запись `PostCard` по умолчанию после установки:
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion }: InstallPayload): Promise<void> => {
|
||||
if (previousVersion) return; // fresh installs only
|
||||
|
||||
const client = createClient();
|
||||
await client.postCard.create({
|
||||
data: { title: 'Welcome to Postcard', content: 'Your first card!' },
|
||||
});
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: 'f7a2b9c1-3d4e-5678-abcd-ef9876543210',
|
||||
name: 'post-install',
|
||||
description: 'Seeds a welcome post card after install.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Используйте `pre-install`, когда миграция в противном случае уничтожит или повредит существующие данные.** Поскольку pre-install работает с *предыдущей* схемой и при сбое откатывает обновление, это правильное место для всего рискованного:
|
||||
|
||||
* **Резервное копирование данных, которые будут удалены или реструктурированы** — например, вы удаляете поле в v2 и вам нужно скопировать его значения в другое поле или экспортировать их в хранилище до запуска миграции.
|
||||
* **Архивирование записей, которые новое ограничение сделает недопустимыми** — например, поле становится `NOT NULL`, и вам сначала нужно удалить или исправить строки со значениями null.
|
||||
* **Проверка совместимости и отказ от обновления, если текущие данные нельзя корректно мигрировать** — выбросьте исключение из обработчика, и установка прервётся без внесения изменений. Это безопаснее, чем обнаружить несовместимость в середине миграции.
|
||||
* **Переименование или изменение ключей данных** перед изменением схемы, которое привело бы к потере связи.
|
||||
|
||||
Пример — архивировать записи перед разрушительной миграцией:
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion, newVersion }: InstallPayload): Promise<void> => {
|
||||
// Only the 1.x → 2.x upgrade drops the legacy `notes` field.
|
||||
if (!previousVersion?.startsWith('1.') || !newVersion.startsWith('2.')) {
|
||||
return;
|
||||
}
|
||||
|
||||
const client = createClient();
|
||||
const legacyRecords = await client.postCard.findMany({
|
||||
where: { notes: { isNotNull: true } },
|
||||
});
|
||||
|
||||
if (legacyRecords.length === 0) return;
|
||||
|
||||
// Copy legacy `notes` into the new `description` field before the migration
|
||||
// drops the `notes` column. If this fails, the upgrade is aborted and the
|
||||
// workspace stays on v1 with all data intact.
|
||||
await Promise.all(
|
||||
legacyRecords.map((record) =>
|
||||
client.postCard.update({
|
||||
where: { id: record.id },
|
||||
data: { description: record.notes },
|
||||
}),
|
||||
),
|
||||
);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Backs up legacy notes into description before the v2 migration.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Общее правило:**
|
||||
|
||||
| Вы хотите… | Использовать |
|
||||
| ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
|
||||
| Наполнить данными по умолчанию, настроить рабочее пространство, зарегистрировать внешние ресурсы | `post-install` |
|
||||
| Выполнить длительное наполнение или сторонние вызовы, которые не должны блокировать ответ установки | `post-install` (по умолчанию — `shouldRunSynchronously: false`, с повторами воркера) |
|
||||
| Выполнить быструю настройку, на которую вызывающая сторона будет полагаться сразу после возврата вызова установки | `post-install` с `shouldRunSynchronously: true` |
|
||||
| Прочитать или сохранить данные, которые предстоящая миграция может потерять | `pre-install` |
|
||||
| Отклонить обновление, которое повредит существующие данные | `pre-install` (бросьте исключение из обработчика) |
|
||||
| Выполнять согласование при каждом обновлении | `post-install` с `shouldRunOnVersionUpgrade: true` |
|
||||
| Сделать одноразовую настройку только при первой установке | `post-install` с `shouldRunOnVersionUpgrade: false` (по умолчанию) |
|
||||
|
||||
<Note>
|
||||
Если сомневаетесь, выбирайте по умолчанию **post-install**. Обращайтесь к pre-install только тогда, когда сама миграция разрушительна и вам нужно перехватить предыдущее состояние, прежде чем оно исчезнет.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="defineFrontComponent" description="Определение фронт-компонентов для настраиваемого интерфейса">
|
||||
@@ -1816,8 +1942,7 @@ yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
|
||||
# Pass a JSON payload
|
||||
yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}'
|
||||
|
||||
# Execute pre-install or post-install functions
|
||||
yarn twenty exec --preInstall
|
||||
# Execute the post-install function
|
||||
yarn twenty exec --postInstall
|
||||
```
|
||||
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ npx nx run twenty-server:database:reset
|
||||
#### Core/Metadata şemalarında (TypeORM) nesneler için
|
||||
|
||||
```bash
|
||||
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
||||
npx nx run twenty-server:database:migrate:generate
|
||||
```
|
||||
|
||||
## Teknoloji Yığını
|
||||
|
||||
@@ -644,49 +644,15 @@ export default defineLogicFunction({
|
||||
**İyi bir `description` yazın.** AI ajanları, aracı ne zaman kullanacaklarına karar vermek için işlevin `description` alanına güvenir. Aracın ne yaptığını ve ne zaman çağrılması gerektiğini açıkça belirtin.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Bir kurulum öncesi mantık işlevi tanımlayın (uygulama başına bir adet)">
|
||||
|
||||
Kurulum öncesi işlev, uygulamanız bir çalışma alanına yüklenmeden önce otomatik olarak çalışan bir mantık işlevidir. Bu, doğrulama görevleri, önkoşul kontrolleri veya ana kurulum başlamadan önce çalışma alanı durumunun hazırlanması için yararlıdır.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'e0604b9e-e946-456b-886d-3f27d9a6b324',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Ayrıca kurulum öncesi işlevi istediğiniz zaman CLI kullanarak manuel olarak çalıştırabilirsiniz:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Önemli noktalar:
|
||||
* Kurulum öncesi işlevler `definePreInstallLogicFunction()` kullanır — tetikleyici ayarlarını atlayan (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`) özel bir varyanttır.
|
||||
* İşleyici, `{ previousVersion: string }` içeren bir `InstallLogicFunctionPayload` alır — daha önce yüklü olan uygulamanın sürümü (veya yeni kurulumlar için boş bir dize).
|
||||
* Uygulama başına yalnızca bir kurulum öncesi işlevine izin verilir. Birden fazla tespit edilirse manifest oluşturma hataya düşer.
|
||||
* İşlevin `universalIdentifier` değeri, oluşturma sırasında uygulama manifestinde otomatik olarak `preInstallLogicFunctionUniversalIdentifier` olarak ayarlanır — `defineApplication()` içinde buna atıfta bulunmanıza gerek yoktur.
|
||||
* Varsayılan zaman aşımı, daha uzun hazırlık görevlerine izin vermek için 300 saniye (5 dakika) olarak ayarlanmıştır.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePostInstallLogicFunction" description="Bir kurulum sonrası mantık işlevi tanımlayın (uygulama başına bir adet)">
|
||||
|
||||
Kurulum sonrası işlev, uygulamanız bir çalışma alanına yüklendikten sonra otomatik olarak çalışan bir mantık işlevidir. Bu, varsayılan verileri tohumlama, ilk kayıtları oluşturma veya çalışma alanı ayarlarını yapılandırma gibi tek seferlik kurulum görevleri için yararlıdır.
|
||||
Kurulum sonrası işlev, uygulamanız bir çalışma alanına yüklendikten sonra otomatik olarak çalışan bir mantık işlevidir. Sunucu, uygulamanın meta verileri senkronize edildikten ve SDK istemcisi oluşturulduktan **sonra** bunu yürütür; böylece çalışma alanı tamamen kullanıma hazırdır ve yeni şema kullanıma alınmıştır. Tipik kullanım örnekleri arasında varsayılan verilerin tohumlanması, başlangıç kayıtlarının oluşturulması, çalışma alanı ayarlarının yapılandırılması veya üçüncü taraf hizmetlerde kaynak sağlanması yer alır.
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallLogicFunctionPayload } from 'twenty-sdk';
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallLogicFunctionPayload): Promise<void> => {
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Post install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
@@ -695,6 +661,8 @@ export default definePostInstallLogicFunction({
|
||||
name: 'post-install',
|
||||
description: 'Runs after installation to set up the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
shouldRunSynchronously: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
@@ -707,10 +675,168 @@ yarn twenty exec --postInstall
|
||||
|
||||
Önemli noktalar:
|
||||
* Kurulum sonrası işlevler `definePostInstallLogicFunction()` kullanır — tetikleyici ayarlarını atlayan (`cronTriggerSettings`, `databaseEventTriggerSettings`, `httpRouteTriggerSettings`, `isTool`) özel bir varyanttır.
|
||||
* İşleyici, `{ previousVersion: string }` içeren bir `InstallLogicFunctionPayload` alır — daha önce yüklü olan uygulamanın sürümü (veya yeni kurulumlar için boş bir dize).
|
||||
* İşleyici, `{ previousVersion?: string; newVersion: string }` içeren bir `InstallPayload` alır — `newVersion`, yüklenen sürümdür; `previousVersion` ise daha önce yüklü olan sürümdür (veya ilk kurulumda `undefined`). Bu değerleri ilk kurulumları yükseltmelerden ayırt etmek ve sürüme özgü geçiş (migration) mantığını çalıştırmak için kullanın.
|
||||
* **Kanca ne zaman çalışır**: varsayılan olarak yalnızca ilk kurulumlarda. Uygulama önceki bir sürümden yükseltildiğinde de çalışmasını istiyorsanız `shouldRunOnVersionUpgrade: true` geçin. Belirtilmediğinde, bayrak varsayılan olarak `false` olur ve yükseltmeler kancayı atlar.
|
||||
* **Yürütme modeli — varsayılan olarak eşzamansız, isteğe bağlı senkron**: `shouldRunSynchronously` bayrağı kurulum sonrası işlemin *nasıl* yürütüldüğünü kontrol eder.
|
||||
* `shouldRunSynchronously: false` *(varsayılan)* — kanca, `retryLimit: 3` ile **mesaj kuyruğuna alınır** ve bir worker içinde eşzamansız çalışır. İş kuyruğa alınır alınmaz kurulum yanıtı döner; dolayısıyla yavaşlayan veya hata veren bir işleyici çağıranı engellemez. Worker en fazla üç kez yeniden deneyecektir. **Bunu uzun süre çalışan işler için kullanın** — büyük veri kümelerini tohumlama, yavaş üçüncü taraf API'lerini çağırma, harici kaynakları sağlama; makul bir HTTP yanıt süresini aşabilecek her şey.
|
||||
* `shouldRunSynchronously: true` — kanca **kurulum akışı sırasında satır içi** olarak yürütülür (kurulum öncesi ile aynı yürütücü). İşleyici bitene kadar kurulum isteği engellenir; hata fırlatırsa, kurulum çağıranı bir `POST_INSTALL_ERROR` alır. Otomatik yeniden deneme yok. **Bunu, yanıt dönmeden mutlaka tamamlanması gereken hızlı işler için kullanın** — örneğin, kullanıcıya bir doğrulama hatası iletmek veya kurulum çağrısı döner dönmez istemcinin ihtiyaç duyacağı hızlı bir kurulum yapmak. Kurulum sonrası çalıştığında, üstveri (metadata) geçişinin zaten uygulanmış olduğunu unutmayın; bu nedenle, senkron moddaki bir hata şema değişikliklerini **geri almaz** — yalnızca hatayı görünür kılar.
|
||||
* İşleyicinizin idempotent olduğundan emin olun. Eşzamansız modda kuyruk en fazla üç kez yeniden deneyebilir; her iki modda da `shouldRunOnVersionUpgrade: true` iken yükseltmelerde kanca tekrar çalışabilir.
|
||||
* Ortam değişkenleri `APPLICATION_ID`, `APP_ACCESS_TOKEN` ve `API_URL` işleyici içinde kullanılabilir (diğer mantık işlevlerinde olduğu gibi), böylece uygulamanıza özel kapsamda bir uygulama erişim belirteciyle Twenty API'sini çağırabilirsiniz.
|
||||
* Uygulama başına yalnızca bir kurulum sonrası işlevine izin verilir. Birden fazla tespit edilirse manifest oluşturma hataya düşer.
|
||||
* İşlevin `universalIdentifier` değeri, oluşturma sırasında uygulama manifestinde otomatik olarak `postInstallLogicFunctionUniversalIdentifier` olarak ayarlanır — `defineApplication()` içinde buna atıfta bulunmanıza gerek yoktur.
|
||||
* İşlevin `universalIdentifier`, `shouldRunOnVersionUpgrade` ve `shouldRunSynchronously` değerleri, derleme sırasında uygulama manifestine `postInstallLogicFunction` alanı altında otomatik olarak eklenir — bunlara `defineApplication()` içinde atıfta bulunmanıza gerek yoktur.
|
||||
* Varsayılan zaman aşımı, veri tohumlama gibi daha uzun kurulum görevlerine izin vermek için 300 saniye (5 dakika) olarak ayarlanmıştır.
|
||||
* **Geliştirme modunda çalıştırılmaz**: bir uygulama yerel olarak kaydedildiğinde (`yarn twenty dev` aracılığıyla), sunucu kurulum akışını tamamen atlar ve dosyaları doğrudan CLI watcher üzerinden eşitler — bu nedenle, `shouldRunSynchronously` ne olursa olsun, kurulum sonrası geliştirme modunda hiç çalışmaz. Çalışan bir çalışma alanında bunu elle tetiklemek için `yarn twenty exec --postInstall` kullanın.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="definePreInstallLogicFunction" description="Bir kurulum öncesi mantık işlevi tanımlayın (uygulama başına bir adet)">
|
||||
|
||||
Kurulum öncesi işlev, kurulum sırasında otomatik olarak çalışan ve **çalışma alanı üstveri (metadata) geçişi uygulanmadan önce** yürütülen bir mantık işlevidir. Kurulum sonrası ile (`InstallPayload`) aynı yük (payload) biçimini paylaşır, ancak kurulum akışında daha erken konumlandığından yaklaşan geçişin bağlı olduğu durumu hazırlayabilir — tipik kullanımlar arasında verileri yedeklemek, yeni şemayla uyumluluğu doğrulamak veya yeniden yapılandırılacak ya da kaldırılacak kayıtları arşivlemek yer alır.
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
|
||||
const handler = async (payload: InstallPayload): Promise<void> => {
|
||||
console.log('Pre install logic function executed successfully!', payload.previousVersion);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Runs before installation to prepare the application.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
Ayrıca kurulum öncesi işlevi istediğiniz zaman CLI kullanarak manuel olarak çalıştırabilirsiniz:
|
||||
|
||||
```bash filename="Terminal"
|
||||
yarn twenty exec --preInstall
|
||||
```
|
||||
|
||||
Önemli noktalar:
|
||||
* Kurulum öncesi işlevler `definePreInstallLogicFunction()` kullanır — kurulum sonrasıyla aynı özel yapılandırma, sadece yaşam döngüsünde farklı bir yuvaya eklenir.
|
||||
* Hem kurulum öncesi hem de kurulum sonrası işleyiciler aynı `InstallPayload` türünü alır: `{ previousVersion?: string; newVersion: string }`. Bunu bir kez içe aktarın ve her iki kanca için yeniden kullanın.
|
||||
* **Kanca ne zaman çalışır**: çalışma alanı üstveri (metadata) geçişinden hemen önce konumlandırılır (`synchronizeFromManifest`). Çalıştırmadan önce, sunucu yalnızca ekleyici bir "indirgenmiş eşitleme" yürütür; bu, çalışma alanı üstverisinde **yeni** sürümün kurulum öncesi işlevini kaydeder — başka hiçbir şeye dokunulmaz — ve ardından bunu yürütür. Bu eşitleme yalnızca ekleyici olduğundan, işleyiciniz çalıştığında önceki sürümün nesneleri, alanları ve verileri hâlâ sağlamdır: geçiş öncesi durumu güvenle okuyabilir ve yedekleyebilirsiniz.
|
||||
* **Yürütme modeli**: kurulum öncesi **senkron** olarak yürütülür ve **kurulumu bloklar**. İşleyici bir hata fırlatırsa, herhangi bir şema değişikliği uygulanmadan önce kurulum iptal edilir — çalışma alanı, tutarlı bir durumda önceki sürümde kalır. Bu kasıtlıdır: kurulum öncesi, riskli bir yükseltmeyi reddetmek için son şansınızdır.
|
||||
* Kurulum sonrası ile aynı şekilde, uygulama başına yalnızca bir kurulum öncesi işlevine izin verilir. Derleme sırasında uygulama manifestine `preInstallLogicFunction` altında otomatik olarak eklenir.
|
||||
* **Geliştirme modunda çalıştırılmaz**: kurulum sonrasında olduğu gibi — yerel olarak kaydedilen uygulamalarda kurulum akışı tamamen atlanır, bu nedenle `yarn twenty dev` altında kurulum öncesi hiç çalışmaz. Bunu elle tetiklemek için `yarn twenty exec --preInstall` kullanın.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Kurulum öncesi vs kurulum sonrası: hangisini ne zaman kullanmalı" description="Doğru kurulum kancasını seçme">
|
||||
|
||||
Her iki kanca da aynı kurulum akışının parçasıdır ve aynı `InstallPayload`'ı alır. Fark, çalışma alanı üstveri (metadata) geçişine göre **ne zaman** çalıştıklarıdır ve bu, güvenle erişebilecekleri verileri değiştirir.
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ install flow │
|
||||
│ │
|
||||
│ upload package → [pre-install] → metadata migration → │
|
||||
│ generate SDK → [post-install] │
|
||||
│ │
|
||||
│ old schema visible new schema visible │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Kurulum öncesi her zaman **senkron**dur (kurulumu bloke eder ve iptal edebilir). Kurulum sonrası **varsayılan olarak asenkron**dur — otomatik yeniden denemelerle bir worker üzerinde kuyruğa alınır — ancak `shouldRunSynchronously: true` ile senkron yürütmeye geçebilir. Her modun ne zaman kullanılacağı için yukarıdaki `definePostInstallLogicFunction` akordeonuna bakın.
|
||||
|
||||
**Yeni şemanın mevcut olmasını gerektiren her şey için `post-install` kullanın.** Bu yaygın durumdur:
|
||||
|
||||
* Yeni eklenen nesne ve alanlara karşı varsayılan verileri tohumlama (ilk kayıtları, varsayılan görünümleri, demo içeriği oluşturma).
|
||||
* Uygulamanın kimlik bilgileri artık mevcut olduğuna göre, üçüncü taraf hizmetlerle webhook'ları kaydetmek.
|
||||
* Eşitlenmiş üstveriye (metadata) bağlı kurulumu tamamlamak için kendi API'nizi çağırmak.
|
||||
* Her yükseltmede durumu uzlaştırması gereken idempotent "bu mevcut olsun" mantığı — `shouldRunOnVersionUpgrade: true` ile birleştirin.
|
||||
|
||||
Örnek — kurulumdan sonra varsayılan bir `PostCard` kaydı tohumlama:
|
||||
|
||||
```ts src/logic-functions/post-install.ts
|
||||
import { definePostInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion }: InstallPayload): Promise<void> => {
|
||||
if (previousVersion) return; // fresh installs only
|
||||
|
||||
const client = createClient();
|
||||
await client.postCard.create({
|
||||
data: { title: 'Welcome to Postcard', content: 'Your first card!' },
|
||||
});
|
||||
};
|
||||
|
||||
export default definePostInstallLogicFunction({
|
||||
universalIdentifier: 'f7a2b9c1-3d4e-5678-abcd-ef9876543210',
|
||||
name: 'post-install',
|
||||
description: 'Seeds a welcome post card after install.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: false,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Bir geçiş mevcut verileri aksi takdirde silecek veya bozacaksa `pre-install` kullanın.** Kurulum öncesi *önceki* şemaya karşı çalıştığı ve hatalandığında yükseltmeyi geri aldığı için, riskli olan her şey için doğru yerdir:
|
||||
|
||||
* **Kaldırılmak veya yeniden yapılandırılmak üzere olan verileri yedekleme** — örn. v2'de bir alanı kaldırıyorsunuz ve geçiş çalışmadan önce değerlerini başka bir alana kopyalamanız veya depolamaya aktarmanız gerekiyor.
|
||||
* **Yeni bir kısıtın geçersiz kılacağı kayıtları arşivleme** — örn. bir alan `NOT NULL` oluyor ve önce null değerli satırları silmeniz veya düzeltmeniz gerekiyor.
|
||||
* **Uyumluluğu doğrulama ve mevcut veriler temiz bir şekilde geçirilemiyorsa yükseltmeyi reddetme** — işleyiciden hata fırlatın ve kurulum, herhangi bir değişiklik uygulanmadan iptal edilir. Bu, uyumsuzluğu geçişin ortasında keşfetmekten daha güvenlidir.
|
||||
* İlişkilendirmeyi kaybettirecek bir şema değişikliğinden önce **verileri yeniden adlandırma veya yeniden anahtarlama**.
|
||||
|
||||
Örnek — yıkıcı bir geçişten önce kayıtları arşivleme:
|
||||
|
||||
```ts src/logic-functions/pre-install.ts
|
||||
import { definePreInstallLogicFunction, type InstallPayload } from 'twenty-sdk';
|
||||
import { createClient } from './generated/client';
|
||||
|
||||
const handler = async ({ previousVersion, newVersion }: InstallPayload): Promise<void> => {
|
||||
// Only the 1.x → 2.x upgrade drops the legacy `notes` field.
|
||||
if (!previousVersion?.startsWith('1.') || !newVersion.startsWith('2.')) {
|
||||
return;
|
||||
}
|
||||
|
||||
const client = createClient();
|
||||
const legacyRecords = await client.postCard.findMany({
|
||||
where: { notes: { isNotNull: true } },
|
||||
});
|
||||
|
||||
if (legacyRecords.length === 0) return;
|
||||
|
||||
// Copy legacy `notes` into the new `description` field before the migration
|
||||
// drops the `notes` column. If this fails, the upgrade is aborted and the
|
||||
// workspace stays on v1 with all data intact.
|
||||
await Promise.all(
|
||||
legacyRecords.map((record) =>
|
||||
client.postCard.update({
|
||||
where: { id: record.id },
|
||||
data: { description: record.notes },
|
||||
}),
|
||||
),
|
||||
);
|
||||
};
|
||||
|
||||
export default definePreInstallLogicFunction({
|
||||
universalIdentifier: 'a1b2c3d4-5678-90ab-cdef-1234567890ab',
|
||||
name: 'pre-install',
|
||||
description: 'Backs up legacy notes into description before the v2 migration.',
|
||||
timeoutSeconds: 300,
|
||||
shouldRunOnVersionUpgrade: true,
|
||||
handler,
|
||||
});
|
||||
```
|
||||
|
||||
**Kural olarak:**
|
||||
|
||||
| Şunu yapmak istiyorsunuz… | Kullan |
|
||||
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- |
|
||||
| Varsayılan verileri tohumlamak, çalışma alanını yapılandırmak, harici kaynakları kaydetmek | `post-install` |
|
||||
| Kurulum yanıtını engellememesi gereken uzun süreli tohumlama veya üçüncü taraf çağrılarını çalıştırmak | `post-install` (varsayılan — `shouldRunSynchronously: false`, worker yeniden denemeleriyle) |
|
||||
| Kurulum çağrısı döner dönmez çağıranın güveneceği hızlı kurulumu çalıştırmak | `post-install` ile `shouldRunSynchronously: true` |
|
||||
| Yaklaşan geçişin kaybedeceği verileri okumak veya yedeklemek | `pre-install` |
|
||||
| Mevcut verileri bozacak bir yükseltmeyi reddetmek | `pre-install` (işleyiciden hata fırlatmak) |
|
||||
| Her yükseltmede uzlaştırma çalıştırmak | `post-install` ile `shouldRunOnVersionUpgrade: true` |
|
||||
| Yalnızca ilk kurulumda tek seferlik kurulum yapmak | `post-install` ile `shouldRunOnVersionUpgrade: false` (varsayılan) |
|
||||
|
||||
<Note>
|
||||
Emin değilseniz, varsayılan olarak **kurulum sonrası**nı tercih edin. Yalnızca geçişin kendisi yıkıcıysa ve önceki durum yok olmadan önce onu yakalamanız gerekiyorsa kurulum öncesine başvurun.
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="defineFrontComponent" description="Özel kullanıcı arayüzü için ön uç bileşenlerini tanımlayın">
|
||||
@@ -1817,8 +1943,7 @@ yarn twenty exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf
|
||||
# Pass a JSON payload
|
||||
yarn twenty exec -n create-new-post-card -p '{"name": "Hello"}'
|
||||
|
||||
# Execute pre-install or post-install functions
|
||||
yarn twenty exec --preInstall
|
||||
# Execute the post-install function
|
||||
yarn twenty exec --postInstall
|
||||
```
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@ import { type Preview } from '@storybook/react-vite';
|
||||
import { initialize, mswLoader } from 'msw-storybook-addon';
|
||||
import { SOURCE_LOCALE } from 'twenty-shared/translations';
|
||||
|
||||
// oxlint-disable-next-line no-restricted-imports
|
||||
import { FileUploadProvider } from '../src/modules/file-upload/components/FileUploadProvider';
|
||||
// oxlint-disable-next-line no-restricted-imports
|
||||
import { RootDecorator } from '../src/testing/decorators/RootDecorator';
|
||||
// oxlint-disable-next-line no-restricted-imports
|
||||
@@ -63,11 +65,13 @@ const preview: Preview = {
|
||||
return (
|
||||
<I18nProvider i18n={i18n}>
|
||||
<ThemeProvider colorScheme="light">
|
||||
<ClickOutsideListenerContext.Provider
|
||||
value={{ excludedClickOutsideId: undefined }}
|
||||
>
|
||||
<Story />
|
||||
</ClickOutsideListenerContext.Provider>
|
||||
<FileUploadProvider>
|
||||
<ClickOutsideListenerContext.Provider
|
||||
value={{ excludedClickOutsideId: undefined }}
|
||||
>
|
||||
<Story />
|
||||
</ClickOutsideListenerContext.Provider>
|
||||
</FileUploadProvider>
|
||||
</ThemeProvider>
|
||||
</I18nProvider>
|
||||
);
|
||||
|
||||
@@ -16,8 +16,6 @@ const OBJECTS_TO_GENERATE = [
|
||||
'note',
|
||||
'timelineActivity',
|
||||
'workspaceMember',
|
||||
'favorite',
|
||||
'favoriteFolder',
|
||||
'connectedAccount',
|
||||
'calendarEvent',
|
||||
];
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1134,12 +1134,6 @@ msgstr "Voeg by tot swartlys"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Voeg by tot gunstelinge"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Voeg by tot gunstelinge"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "Voorbereiding van KI-versoek"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "En"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Enige {fieldLabel}-veld"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Toepassing besonderhede"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Toepassing suksesvol geïnstalleer."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Heg lêers aan"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Aanhegsels"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Sluit banier"
|
||||
|
||||
#. 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Maak sypaneel toe"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "Opgestel"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Bevestig"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Inhoud"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Konteks"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Skep profiel"
|
||||
msgid "Create Profile"
|
||||
msgstr "Skep profiel"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Skep Verwante Rekord"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Kredietgebruik"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Uiteensetting van kredietgebruik vir jou werkruimte."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "verwyder"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Beskryf wat jy wil hê die KI moet doen..."
|
||||
msgid "Description"
|
||||
msgstr "Beskrywing"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Ontkoppel"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Besonderhede"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Redigeer"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ msgstr "Wysig Rekening"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Redigeerder"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Leë Reeks"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Leë Inboks"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Geleentheid"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Sluit nie-professionele e-posse uit"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Sluit die volgende mense en domeine uit van my e-possinchronisasie. Interne gesprekke sal nie ingevoer word nie"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Verval oor {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Voer uit"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "Kon nie die toepassing opgradeer nie."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Kon nie \"{fileNameForError}\" oplaai nie"
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Mislukkingskoers"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Vyfde"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "Lêer \"{fileName}\" oorskry {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "Lêer \"{fileName}\" suksesvol opgelaai"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Front-end-komponente"
|
||||
msgid "Full access"
|
||||
msgstr "Volle toegang"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Gaan na die faktureringsportaal"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Gaan na Konsep"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Gaan na Mense"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Versteek versteekte groepe"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Kleiner as of gelyk aan"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Voeg rekords saam"
|
||||
msgid "Merging..."
|
||||
msgstr "Saamvoeg..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Toestemming om e-poskonsepte op te stel ontbreek."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Missie voltooi!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Meer"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "Geen e-poswisseling het nog met hierdie rekord plaasgevind nie."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ msgid "No record is required to trigger this workflow"
|
||||
msgstr "Geen rekord is nodig om hierdie werkvloei te aktiveer nie"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "Geen snellers vir hierdie funksie gekonfigureer nie."
|
||||
msgid "No usage data"
|
||||
msgstr "Geen gebruiksdata nie"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "objek"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Objekgebeurtenisse"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "Objek-ID"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Maak Gmail oop"
|
||||
msgid "Open in"
|
||||
msgstr "Maak oop in"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Maak Outlook oop"
|
||||
|
||||
#. js-lingui-id: bY2Xkv
|
||||
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/CommandMenuItemMoreActionsButton.tsx
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Maak sypaneel oop"
|
||||
|
||||
@@ -10669,8 +10715,8 @@ msgstr "Rangskik"
|
||||
#: 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Ander"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "Hangend"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Mense"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ msgid "Pink"
|
||||
msgstr "Pienk"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Eienskappe"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Opsies vir rekordfilterreël"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "Rekord-ID"
|
||||
@@ -11602,8 +11643,8 @@ msgid "Records"
|
||||
msgstr "Rekords"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "Herstel 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Herstel na"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Herstel na Verstek"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Herstel veranderlike"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Hulpbrontipe"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Resultaat"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Resultate"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Stuur 'n uitnodiging e-pos na jou span"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "Stuur e-pos"
|
||||
|
||||
@@ -14364,9 +14406,10 @@ msgid "Timeout"
|
||||
msgstr "Tydsverloop"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Tydstempel"
|
||||
@@ -14441,6 +14484,13 @@ msgstr "Tamatie"
|
||||
msgid "Tomorrow"
|
||||
msgstr "Môre"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14507,6 +14557,7 @@ msgstr "Totale tyd"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15075,6 +15126,7 @@ msgstr "Laai .xlsx, .xls of .csv lêer op"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Laai lêer op"
|
||||
|
||||
@@ -15142,6 +15194,7 @@ msgstr "Gebruik oor alle werkruimtes op hierdie bediener"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Gebruiksanalise"
|
||||
|
||||
@@ -15150,6 +15203,11 @@ msgstr "Gebruiksanalise"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15210,9 +15268,9 @@ msgstr "Nuttig vir pivot-/koppelingstabelle"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15565,6 +15623,11 @@ msgstr "Violet"
|
||||
msgid "Visibility"
|
||||
msgstr "Sigbaarheid"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "إضافة إلى القائمة السوداء"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "إضافة إلى المفضلة"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "إضافة إلى المفضلات"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "تحضير طلب الذكاء الاصطناعي"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "و"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "أي حقل {fieldLabel}"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "تفاصيل التطبيق"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "تم تثبيت التطبيق بنجاح."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "إرفاق ملفات"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "المرفقات"
|
||||
|
||||
@@ -3142,7 +3154,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "إغلاق اللوحة الجانبية"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "تم الإعداد"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "تأكيد"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "المحتوى"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "السياق"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "إنشاء ملف شخصي"
|
||||
msgid "Create Profile"
|
||||
msgstr "إنشاء ملف شخصي"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "إنشاء سجل ذو صلة"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "استخدام الاعتمادات"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "تفصيل استخدام الرصيد في مساحة عملك."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "حذف"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "صف ما تريد أن يقوم به الذكاء الاصطناعي...
|
||||
msgid "Description"
|
||||
msgstr "الوصف"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "فصل"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "تفاصيل"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "تحرير"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "محرر"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "مصفوفة فارغة"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "صندوق الوارد فارغ"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "حدث"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "استبعاد الرسائل الإلكترونية غير المهني
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "استبعاد الأشخاص والمجالات التالية من مزامنة البريد الإلكتروني الخاص بي. لن يتم استيراد المحادثات الداخلية"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "ينتهي في {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "تصدير"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "فشل في ترقية التطبيق."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "فشل في تحميل \"{fileNameForError}\""
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "معدل الفشل"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "خامس"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "الملف \"{fileName}\" يتجاوز {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "تم تحميل الملف \"{fileName}\" بنجاح"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "المكوّنات الأمامية"
|
||||
msgid "Full access"
|
||||
msgstr "وصول كامل"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "انتقل إلى بوابة الفوترة"
|
||||
msgid "Go to Draft"
|
||||
msgstr "اذهب إلى المسودة"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "اذهب إلى الأشخاص"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "إخفاء المجموعات المخفية"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "أقل من أو يساوي"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "دمج السجلات"
|
||||
msgid "Merging..."
|
||||
msgstr "جارٍ الدمج..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "إذن صياغة رسائل البريد الإلكتروني غير م
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "تم إنجاز المهمة!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "المزيد"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "لم يتم تبادل البريد الإلكتروني مع هذا السجل حتى الآن."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "لا توجد مشغّلات مُكوّنة لهذه الوظيفة."
|
||||
msgid "No usage data"
|
||||
msgstr "لا توجد بيانات استخدام"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "كائن"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "أحداث الكائنات"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "معرّف الكائن"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "فتح Gmail"
|
||||
msgid "Open in"
|
||||
msgstr "فتح في"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "فتح 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "فتح اللوحة الجانبية"
|
||||
|
||||
@@ -10669,8 +10715,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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "أخرى"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "قيد الانتظار"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "الأشخاص"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "الخصائص"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "خيارات قواعد تصفية السجل"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "معرّف السجل"
|
||||
@@ -11602,8 +11643,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "إعادة تعيين المصادقة الثنائية"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "\\\\"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "إعادة التعيين إلى الافتراضي"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "إعادة تعيين المتغير"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "نوع المورد"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "النتيجة"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "\\\\"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "\\\\"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "إرسال البريد الإلكتروني"
|
||||
|
||||
@@ -14364,9 +14406,10 @@ msgid "Timeout"
|
||||
msgstr "المهلة"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "الطابع الزمني"
|
||||
@@ -14441,6 +14484,13 @@ msgstr "طماطمي"
|
||||
msgid "Tomorrow"
|
||||
msgstr "غدًا"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14507,6 +14557,7 @@ msgstr "إجمالي الوقت"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15075,6 +15126,7 @@ msgstr "تحميل ملف .xlsx أو .xls أو .csv"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "رفع الملف"
|
||||
|
||||
@@ -15142,6 +15194,7 @@ msgstr "الاستخدام عبر جميع مساحات العمل على هذا
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "تحليلات الاستخدام"
|
||||
|
||||
@@ -15150,6 +15203,11 @@ msgstr "تحليلات الاستخدام"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15210,9 +15268,9 @@ msgstr "مفيد لجداول الربط/المحورية"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15565,6 +15623,11 @@ msgstr "بنفسجي"
|
||||
msgid "Visibility"
|
||||
msgstr "الرؤية"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "Afegeix a la llista de bloqueig"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Afegeix a les preferides"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Afegeix a les preferides"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "Preparació de la sol·licitud d'IA"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "I"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Qualsevol camp {fieldLabel}"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Detalls de l'aplicació"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Aplicació instal·lada correctament."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Adjunta fitxers"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Adjunts"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Tanca el bàner"
|
||||
|
||||
#. 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Tanca el panell lateral"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "Configurat"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Contingut"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Context"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Crea perfil"
|
||||
msgid "Create Profile"
|
||||
msgstr "Crea perfil"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Crea Registre Relacionat"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Ús del crèdit"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Desglossament de l'ús de crèdits del teu espai de treball."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "elimina"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Descriviu què voleu que faci la IA..."
|
||||
msgid "Description"
|
||||
msgstr "Descripció"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Desvincula"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Detalls"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Edita"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ msgstr "Edita el compte"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Editor"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Array Buida"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Bústia buida"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Esdeveniment"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Excloure els correus electrònics no professionals"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Exclou les persones i dominis següents de la meva sincronització del correu electrònic. Les converses internes no s'importaran"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Caduca en {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Exportar"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "No s'ha pogut actualitzar l'aplicació."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "No s'ha pogut carregar \"{fileNameForError}\""
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Taxa de fallades"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Cinquè"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "Fitxer \"{fileName}\" supera {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "El fitxer \"{fileName}\" s'ha carregat correctament"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Components frontals"
|
||||
msgid "Full access"
|
||||
msgstr "Accés complet"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Aneu al portal de facturació"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Anar a l'esborrany"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Anar a Persones"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Amaga grups ocults"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Menor o igual"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Fusionar registres"
|
||||
msgid "Merging..."
|
||||
msgstr "Fusionant..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Falta el permís per redactar esborranys de correu electrònic."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Missió acomplerta!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Més"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "No s'ha produït cap intercanvi de correus amb aquest registre."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ msgid "No record is required to trigger this workflow"
|
||||
msgstr "No es requereix cap registre per activar aquest flux de treball"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "No hi ha cap activador configurat per a aquesta funció."
|
||||
msgid "No usage data"
|
||||
msgstr "No hi ha dades d'ús"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "objecte"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Esdeveniments de l'objecte"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "ID de l'objecte"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Obrir en Gmail"
|
||||
msgid "Open in"
|
||||
msgstr "Obrir en"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Obrir en 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Obre el panell lateral"
|
||||
|
||||
@@ -10669,8 +10715,8 @@ msgstr "Organitza"
|
||||
#: 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Altres"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "Pendent"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Persones"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ msgid "Pink"
|
||||
msgstr "Rosa"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Propietats"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Opcions de regles del filtre de registres"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "ID del registre"
|
||||
@@ -11602,8 +11643,8 @@ msgid "Records"
|
||||
msgstr "Registres"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "Reinicia 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Reinicia a"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Restableix a predeterminat"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Restablir variable"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Tipus de recurs"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Resultat"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Resultats"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Envia un correu d'invitació al teu equip"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "Enviar correu electrònic"
|
||||
|
||||
@@ -14364,9 +14406,10 @@ msgid "Timeout"
|
||||
msgstr "Temps d'espera"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Marca de temps"
|
||||
@@ -14441,6 +14484,13 @@ msgstr "Tomàquet"
|
||||
msgid "Tomorrow"
|
||||
msgstr "Demà"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14507,6 +14557,7 @@ msgstr "Temps total"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15075,6 +15126,7 @@ msgstr "Carrega un fitxer .xlsx, .xls o .csv"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Carrega fitxer"
|
||||
|
||||
@@ -15142,6 +15194,7 @@ msgstr "Ús a tots els espais de treball d'aquest servidor"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Anàlisi d'ús"
|
||||
|
||||
@@ -15150,6 +15203,11 @@ msgstr "Anàlisi d'ús"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15210,9 +15268,9 @@ msgstr "Útil per a taules pivot/d’enllaç"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15565,6 +15623,11 @@ msgstr "Violeta"
|
||||
msgid "Visibility"
|
||||
msgstr "Visibilitat"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "Přidat do seznamu blokovaných"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Přidat do oblíbených"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Přidat do oblíbených"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "Příprava požadavku AI"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "A"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Libovolné pole {fieldLabel}"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Podrobnosti aplikace"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Aplikace byla úspěšně nainstalována."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Připojit soubory"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Přílohy"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Zavřít 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Zavřít postranní panel"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "Nakonfigurováno"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Potvrdit"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Obsah"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Kontext"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Vytvořit profil"
|
||||
msgid "Create Profile"
|
||||
msgstr "Vytvořit profil"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Vytvořit související záznam"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Využití kreditu"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Rozpis využití kreditů ve vašem pracovním prostoru."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "smazat"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Popište, co chcete, aby AI dělalo..."
|
||||
msgid "Description"
|
||||
msgstr "Popis"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Odpojit"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Podrobnosti"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Upravit"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ msgstr "Upravit účet"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Editor"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Prázdné pole"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Prázdná schránka"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Událost"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Vyloučit nepracovní e-maily"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Vyloučit následující lidi a domény z mé synchronizace emailů. Interní konverzace nebudou importovány"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Vyprší za {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Exportovat"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "Aktualizace aplikace se nezdařila."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Nepodařilo se nahrát \"{fileNameForError}\""
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Míra selhání"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Pátý"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "Soubor \"{fileName}\" překračuje {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "Soubor \"{fileName}\" byl úspěšně nahrán"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Frontendové komponenty"
|
||||
msgid "Full access"
|
||||
msgstr "Plný přístup"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Přejít na fakturační portál"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Přejít na koncept"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Přejít na lidi"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Skrýt skryté skupiny"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Menší nebo rovno"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Sloučit záznamy"
|
||||
msgid "Merging..."
|
||||
msgstr "Slučování..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Chybí oprávnění pro vytváření konceptů e-mailů."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Mise splněna!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Více"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "S tímto záznamem ještě nedošlo k žádné emailové výměně."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ msgid "No record is required to trigger this workflow"
|
||||
msgstr "K aktivaci tohoto pracovního postupu není vyžadován žádný záznam"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "Žádné spouštěče nejsou nakonfigurované pro tuto funkci."
|
||||
msgid "No usage data"
|
||||
msgstr "Žádná data o využití"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "objekt"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Události objektů"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "ID objektu"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Otevřít Gmail"
|
||||
msgid "Open in"
|
||||
msgstr "Otevřít v"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Otevřít 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Otevřít postranní panel"
|
||||
|
||||
@@ -10669,8 +10715,8 @@ msgstr "Uspořádat"
|
||||
#: 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Ostatní"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "Čekající"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Osoby"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ msgid "Pink"
|
||||
msgstr "Růžová"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Vlastnosti"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Možnosti pravidel filtru záznamu"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "ID záznamu"
|
||||
@@ -11602,8 +11643,8 @@ msgid "Records"
|
||||
msgstr "Záznamy"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "Obnovit 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Obnovit na"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Obnovit na výchozí"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Obnovit proměnnou"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Typ prostředku"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Výsledek"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Výsledky"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Pošlete pozvánku e-mailem vašemu týmu"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "Odeslat e-mail"
|
||||
|
||||
@@ -14364,9 +14406,10 @@ msgid "Timeout"
|
||||
msgstr "Časový limit"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Časové razítko"
|
||||
@@ -14441,6 +14484,13 @@ msgstr "Rajčatová"
|
||||
msgid "Tomorrow"
|
||||
msgstr "Zítra"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14507,6 +14557,7 @@ msgstr "Celkový čas"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15075,6 +15126,7 @@ msgstr "Nahrát soubor .xlsx, .xls nebo .csv"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Nahrát soubor"
|
||||
|
||||
@@ -15142,6 +15194,7 @@ msgstr "Využití napříč všemi pracovními prostory na tomto serveru"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Analytika využití"
|
||||
|
||||
@@ -15150,6 +15203,11 @@ msgstr "Analytika využití"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15210,9 +15268,9 @@ msgstr "Užitečné pro pivot/spojovací tabulky"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15565,6 +15623,11 @@ msgstr "Fialková"
|
||||
msgid "Visibility"
|
||||
msgstr "Viditelnost"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "Tilføj til blokeringsliste"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Tilføj til Favorit"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Tilføj til favoritter"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "Forberedelse af AI-anmodning"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "Og"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Ethvert {fieldLabel}-felt"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Applikationsdetaljer"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Applikationen blev installeret med succes."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Vedhæft filer"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Vedhæftninger"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Luk 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Luk sidepanelet"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "Konfigureret"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Bekræft"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Indhold"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Kontekst"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Opret profil"
|
||||
msgid "Create Profile"
|
||||
msgstr "Opret profil"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Opret relateret post"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Brug af kreditter"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Opdeling af kreditforbrug for dit arbejdsområde."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "slet"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Beskriv, hvad du vil have AI'en til at gøre..."
|
||||
msgid "Description"
|
||||
msgstr "Beskrivelse"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Fjern tilknytning"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Detaljer"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Rediger"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ msgstr "Rediger konto"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Editor"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Tom Array"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Tom Indbakke"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Begivenhed"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Ekskluder ikke-professionelle e-mails"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Ekskluder følgende personer og domæner fra min e-mail-synkronisering. Interne samtaler vil ikke blive importeret"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Udløber om {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Eksport"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "Kunne ikke opgradere applikationen."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Kunne ikke uploade \"{fileNameForError}\""
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Fejlrate"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Femte"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "Fil \"{fileName}\" overstiger {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "Filen \"{fileName}\" blev uploadet"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Frontkomponenter"
|
||||
msgid "Full access"
|
||||
msgstr "Fuld adgang"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Gå til faktureringsportalen"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Gå til kladde"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Gå til personer"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Skjul skjulte grupper"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Mindre end eller lig med"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Flet poster"
|
||||
msgid "Merging..."
|
||||
msgstr "Fletter..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Manglende tilladelse til at oprette e-mail-kladder."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Mission fuldført!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Mere"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "Der er endnu ingen e-mailudveksling med denne post."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ msgid "No record is required to trigger this workflow"
|
||||
msgstr "Ingen post kræves for at aktivere denne 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "Ingen udløsere konfigureret for denne funktion."
|
||||
msgid "No usage data"
|
||||
msgstr "Ingen brugsdata"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "objekt"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Objekthændelser"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "Objekt-ID"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Åbn Gmail"
|
||||
msgid "Open in"
|
||||
msgstr "Åbn i"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Åbn 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Åbn sidepanelet"
|
||||
|
||||
@@ -10669,8 +10715,8 @@ msgstr "Organiser"
|
||||
#: 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Andet"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "Afventer"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Personer"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Egenskaber"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Indstillinger for postfilterregler"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "Post-ID"
|
||||
@@ -11602,8 +11643,8 @@ msgid "Records"
|
||||
msgstr "Protokoller"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "Nulstil 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Nulstil til"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Nulstil til standard"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Nulstil variabel"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Ressourcetype"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Resultat"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Resultater"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Send en invitationsemail til dit team"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "Send e-mail"
|
||||
|
||||
@@ -14366,9 +14408,10 @@ msgid "Timeout"
|
||||
msgstr "Tidsgrænse"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Tidstempel"
|
||||
@@ -14443,6 +14486,13 @@ msgstr "Tomat"
|
||||
msgid "Tomorrow"
|
||||
msgstr "I morgen"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14509,6 +14559,7 @@ msgstr "Samlet tid"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15077,6 +15128,7 @@ msgstr "Upload .xlsx, .xls eller .csv fil"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Upload fil"
|
||||
|
||||
@@ -15144,6 +15196,7 @@ msgstr "Brug på tværs af alle arbejdsområder på denne server"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Brugsanalyse"
|
||||
|
||||
@@ -15152,6 +15205,11 @@ msgstr "Brugsanalyse"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15212,9 +15270,9 @@ msgstr "Nyttigt til pivot-/koblingstabeller"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15567,6 +15625,11 @@ msgstr "Violet"
|
||||
msgid "Visibility"
|
||||
msgstr "Synlighed"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "Zur Blockliste hinzufügen"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Zu Favoriten hinzufügen"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Zu Favoriten hinzufügen"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "Vorbereitung der KI-Anfrage"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "Und"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Beliebiges {fieldLabel}-Feld"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Anwendungsdetails"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Anwendung erfolgreich installiert."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Dateien anhängen"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Anhänge"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Banner schließen"
|
||||
|
||||
#. 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Seitenpanel schließen"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "Konfiguriert"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Bestätigen"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Inhalt"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Kontext"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Profil erstellen"
|
||||
msgid "Create Profile"
|
||||
msgstr "Profil erstellen"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Verknüpfte Aufzeichnung erstellen"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Guthabenverbrauch"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Aufschlüsselung des Guthabenverbrauchs für Ihren Arbeitsbereich."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "löschen"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Beschreiben Sie, was die KI tun soll..."
|
||||
msgid "Description"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Trennen"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Details"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ msgstr "Konto bearbeiten"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr "Editierbare Profilfelder"
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Editor"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Leeres Array"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Leerer Posteingang"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr "Auswertung"
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Ereignis"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Nicht berufliche E-Mails ausschließen"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Folgende Personen und Domains von meiner E-Mail-Synchronisation ausschließen. Interne Gespräche werden nicht importiert"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Läuft ab in {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Exportieren"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "Aktualisierung der Anwendung fehlgeschlagen."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Hochladen von \"{fileNameForError}\" fehlgeschlagen"
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Fehlerquote"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Fünfte"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "Datei \"{fileName}\" überschreitet {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "Datei \"{fileName}\" erfolgreich hochgeladen"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Frontend-Komponenten"
|
||||
msgid "Full access"
|
||||
msgstr "Vollzugriff"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Zum Abrechnungsportal wechseln"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Zum Entwurf gehen"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Gehe zu Personen"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Verborgene Gruppen ausblenden"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Kleiner als oder gleich"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Datensätze zusammenführen"
|
||||
msgid "Merging..."
|
||||
msgstr "Wird zusammengeführt..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Berechtigung zum Erstellen von E-Mail-Entwürfen fehlt."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Mission erfüllt!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Mehr"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "Es hat noch kein E-Mail-Austausch mit diesem Datensatz stattgefunden."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ msgid "No record is required to trigger this workflow"
|
||||
msgstr "Kein Datensatz ist erforderlich, um diesen Arbeitsablauf zu starten"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "Keine Trigger für diese Funktion konfiguriert."
|
||||
msgid "No usage data"
|
||||
msgstr "Keine Verbrauchsdaten"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "objekt"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Objekt-Ereignisse"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "Objekt-ID"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Gmail öffnen"
|
||||
msgid "Open in"
|
||||
msgstr "Öffnen in"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Outlook öffnen"
|
||||
|
||||
#. js-lingui-id: bY2Xkv
|
||||
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/CommandMenuItemMoreActionsButton.tsx
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Seitenpanel öffnen"
|
||||
|
||||
@@ -10669,8 +10715,8 @@ msgstr "Organisieren"
|
||||
#: 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Andere"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "Ausstehend"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Personen"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Eigenschaften"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Optionen für Datensatzfilterregel"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "Datensatz-ID"
|
||||
@@ -11602,8 +11643,8 @@ msgid "Records"
|
||||
msgstr "Datensätze"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "2FA zurücksetzen"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Zurücksetzen auf"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Auf Standard zurücksetzen"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Variable zurücksetzen"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Ressourcentyp"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Ergebnis"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Ergebnisse"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Einladung per E-Mail an Ihr Team senden"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "E-Mail senden"
|
||||
|
||||
@@ -14364,9 +14406,10 @@ msgid "Timeout"
|
||||
msgstr "Zeitlimit"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Zeitstempel"
|
||||
@@ -14441,6 +14484,13 @@ msgstr "Tomate"
|
||||
msgid "Tomorrow"
|
||||
msgstr "Morgen"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14507,6 +14557,7 @@ msgstr "Gesamtzeit"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15075,6 +15126,7 @@ msgstr "Hochladen von .xlsx, .xls oder .csv Datei"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Datei hochladen"
|
||||
|
||||
@@ -15142,6 +15194,7 @@ msgstr "Nutzung über alle Arbeitsbereiche auf diesem Server hinweg"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Verbrauchsanalysen"
|
||||
|
||||
@@ -15150,6 +15203,11 @@ msgstr "Verbrauchsanalysen"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15210,9 +15268,9 @@ msgstr "Nützlich für Pivot-/Verknüpfungstabellen"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15565,6 +15623,11 @@ msgstr "Violett"
|
||||
msgid "Visibility"
|
||||
msgstr "Sichtbarkeit"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "Προσθήκη στη λίστα αποκλεισμού"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Προσθήκη στα Αγαπημένα"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Προσθήκη στα αγαπημένα"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "Προετοιμασία αιτήματος AI"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "Και"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Οποιοδήποτε πεδίο {fieldLabel}"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Λεπτομέρειες εφαρμογής"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Η εφαρμογή εγκαταστάθηκε με επιτυχία."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Επισυνάψτε αρχεία"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Συνημμένα"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Κλείσιμο 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Κλείσιμο πλευρικού πάνελ"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "Ρυθμισμένο"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Επιβεβαίωση"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Περιεχόμενο"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Περιβάλλον"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Δημιουργήστε προφίλ"
|
||||
msgid "Create Profile"
|
||||
msgstr "Δημιουργία προφίλ"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Δημιουργήστε Σχετική Εγγραφή"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Χρήση Πιστώσεων"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Ανάλυση χρήσης πιστώσεων για τον χώρο εργασίας σας."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "διαγραφή"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Περιγράψτε τι θέλετε να κάνει το AI..."
|
||||
msgid "Description"
|
||||
msgstr "Περιγραφή"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Αποσύνδεση"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Λεπτομέρειες"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Επεξεργασία"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Επεξεργαστής"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Κενός Πίνακας"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Άδειο Γραμματοκιβώτιο"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Συμβάν"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Εξαίρεση μη επαγγελματικών emails"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Εξαιρέστε τα παρακάτω άτομα και τομείς από τον συγχρονισμό ηλεκτρονικού ταχυδρομείου μου. Εσωτερικές συζητήσεις δεν θα εισαχθούν"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Λήγει σε {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Εξαγωγή"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "Αποτυχία αναβάθμισης της εφαρμογής."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Απέτυχε η μεταφόρτωση του \"{fileNameForError}\""
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Ποσοστό αποτυχίας"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Πέμπτος"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "Το αρχείο \"{fileName}\" υπερβαίνει το {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "Το αρχείο \"{fileName}\" μεταφορτώθηκε με επιτυχία"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Στοιχεία διεπαφής χρήστη"
|
||||
msgid "Full access"
|
||||
msgstr "Πλήρης πρόσβαση"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Μετάβαση στην πύλη χρέωσης"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Μετάβαση στο Προσχέδιο"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Πηγαίνετε στους Ανθρώπους"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Απόκρυψη κρυφών ομάδων"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Μικρότερο από ή ίσο"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Συγχώνευση εγγραφών"
|
||||
msgid "Merging..."
|
||||
msgstr "Συγχώνευση..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Λείπει η άδεια για σύνταξη προσχεδίων em
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Αποστολή ολοκληρώθηκε!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Περισσότερα"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "Δεν έχει πραγματοποιηθεί ανταλλαγή email με αυτήν την καταχώρηση ακόμη."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "Δεν έχουν ρυθμιστεί εναύσματα για αυτή
|
||||
msgid "No usage data"
|
||||
msgstr "Δεν υπάρχουν δεδομένα χρήσης"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "αντικείμενο"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Συμβάντα αντικειμένων"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "Αναγνωριστικό αντικειμένου"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Άνοιγμα με Gmail"
|
||||
msgid "Open in"
|
||||
msgstr "Άνοιγμα με"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Άνοιγμα με 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Άνοιγμα πλευρικού πάνελ"
|
||||
|
||||
@@ -10669,8 +10715,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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Άλλο"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "Εκκρεμεί"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Άνθρωποι"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Ιδιότητες"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Επιλογές κανόνα φίλτρου εγγραφών"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "Αναγνωριστικό εγγραφής"
|
||||
@@ -11602,8 +11643,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "Επαναφορά 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Επαναφορά σε"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Επαναφορά στις Προεπιλογές"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Επαναφορά μεταβλητής"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Τύπος πόρου"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Αποτέλεσμα"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Αποτελέσματα"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Στείλτε ένα email πρόσκλησης στην ομάδα σ
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "Αποστολή Email"
|
||||
|
||||
@@ -14368,9 +14410,10 @@ msgid "Timeout"
|
||||
msgstr "Χρονικό όριο"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Χρονική Σήμανση"
|
||||
@@ -14445,6 +14488,13 @@ msgstr "Ντομάτα"
|
||||
msgid "Tomorrow"
|
||||
msgstr "Αύριο"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14511,6 +14561,7 @@ msgstr "Συνολικός χρόνος"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15079,6 +15130,7 @@ msgstr "Μεταφόρτωση αρχείων τύπου .xlsx, .xls ή .csv"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Ανέβασμα αρχείου"
|
||||
|
||||
@@ -15146,6 +15198,7 @@ msgstr "Χρήση σε όλους τους χώρους εργασίας σε
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Αναλύσεις χρήσης"
|
||||
|
||||
@@ -15154,6 +15207,11 @@ msgstr "Αναλύσεις χρήσης"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15214,9 +15272,9 @@ msgstr "Χρήσιμο για πίνακες pivot/junction"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15569,6 +15627,11 @@ msgstr "Βιολετί"
|
||||
msgid "Visibility"
|
||||
msgstr "Ορατότητα"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1129,12 +1129,6 @@ msgstr "Add to blocklist"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Add to Favorite"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Add to favorites"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1393,6 +1387,7 @@ msgstr "AI request prep"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr "AI Usage"
|
||||
|
||||
@@ -1411,6 +1406,11 @@ msgstr "AI usage analytics is available with an Enterprise key."
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr "AI usage analytics will appear here once you start using AI features."
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1780,6 +1780,12 @@ msgstr "And"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Any {fieldLabel} field"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr "Any device"
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1953,6 +1959,11 @@ msgstr "Application details"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Application installed successfully."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr "Application Logs"
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2236,6 +2247,7 @@ msgstr "Attach files"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Attachments"
|
||||
|
||||
@@ -3137,7 +3149,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Close side panel"
|
||||
|
||||
@@ -3414,7 +3426,6 @@ msgstr "Configured"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Confirm"
|
||||
|
||||
@@ -3519,7 +3530,7 @@ msgstr "Content"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Context"
|
||||
@@ -3903,11 +3914,6 @@ msgstr "Create profile"
|
||||
msgid "Create Profile"
|
||||
msgstr "Create Profile"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Create Related Record"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4010,6 +4016,7 @@ msgstr "Credit Usage"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Credit usage breakdown for your workspace."
|
||||
|
||||
@@ -4621,8 +4628,6 @@ msgstr "delete"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4857,6 +4862,12 @@ msgstr "Describe what you want the AI to do..."
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr "Desktop"
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4879,7 +4890,7 @@ msgid "Detach"
|
||||
msgstr "Detach"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Details"
|
||||
@@ -5208,6 +5219,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Edit"
|
||||
|
||||
@@ -5224,8 +5236,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr "Edit actions"
|
||||
|
||||
@@ -5314,6 +5326,8 @@ msgstr "Editable Profile Fields"
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Editor"
|
||||
|
||||
@@ -5511,7 +5525,7 @@ msgid "Empty Array"
|
||||
msgstr "Empty Array"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Empty Inbox"
|
||||
|
||||
@@ -6069,8 +6083,8 @@ msgid "Evaluations"
|
||||
msgstr "Evaluations"
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Event"
|
||||
@@ -6189,6 +6203,11 @@ msgstr "Exclude non-professional emails"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr "Execution ID"
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6296,8 +6315,6 @@ msgstr "Expires in {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Export"
|
||||
|
||||
@@ -6567,6 +6584,7 @@ msgstr "Failed to upgrade the application."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Failed to upload \"{fileNameForError}\""
|
||||
|
||||
@@ -6591,7 +6609,7 @@ msgid "Failure Rate"
|
||||
msgstr "Failure Rate"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr "Fallback"
|
||||
|
||||
@@ -6766,12 +6784,14 @@ msgstr "Fifth"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "File \"{fileName}\" uploaded successfully"
|
||||
|
||||
@@ -7024,6 +7044,11 @@ msgstr "Front Components"
|
||||
msgid "Full access"
|
||||
msgstr "Full access"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr "Function"
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7121,11 +7146,6 @@ msgstr "Go to billing portal"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Go to Draft"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Go to People"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7351,7 +7371,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Hide hidden groups"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr "Hide label"
|
||||
|
||||
@@ -8448,6 +8468,11 @@ msgstr "Legend"
|
||||
msgid "Less than or equal"
|
||||
msgstr "Less than or equal"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr "Level"
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8992,6 +9017,11 @@ msgstr "Merge records"
|
||||
msgid "Merging..."
|
||||
msgstr "Merging..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9089,6 +9119,12 @@ msgstr "Missing email draft permission."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Mission accomplished!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr "Mobile"
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9185,7 +9221,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "More"
|
||||
|
||||
@@ -9821,7 +9857,7 @@ msgid "No description available for this application"
|
||||
msgstr "No description available for this application"
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "No email exchange has occurred with this record yet."
|
||||
|
||||
@@ -10024,8 +10060,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr "No record selected"
|
||||
|
||||
@@ -10108,6 +10144,12 @@ msgstr "No triggers configured for this function."
|
||||
msgid "No usage data"
|
||||
msgstr "No usage data"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr "No usage data yet"
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10318,7 +10360,6 @@ msgstr "object"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10342,7 +10383,7 @@ msgid "Object Events"
|
||||
msgstr "Object Events"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "Object ID"
|
||||
|
||||
@@ -10559,6 +10600,11 @@ msgstr "Open Gmail"
|
||||
msgid "Open in"
|
||||
msgstr "Open in"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr "Open in app"
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10571,7 +10617,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Open side panel"
|
||||
|
||||
@@ -10664,8 +10710,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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Other"
|
||||
|
||||
@@ -10881,11 +10927,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "Pending"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "People"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11023,8 +11064,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr "Pinned"
|
||||
|
||||
@@ -11296,8 +11337,8 @@ msgid "Prompt"
|
||||
msgstr "Prompt"
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Properties"
|
||||
|
||||
@@ -11547,7 +11588,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Record filter rule options"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "Record ID"
|
||||
@@ -11597,8 +11638,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr "Records selected"
|
||||
|
||||
@@ -11908,7 +11949,7 @@ msgid "Reset 2FA"
|
||||
msgstr "Reset 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr "Reset label to default"
|
||||
|
||||
@@ -11923,7 +11964,7 @@ msgstr "Reset to"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Reset to default"
|
||||
|
||||
@@ -11943,7 +11984,7 @@ msgid "Reset variable"
|
||||
msgstr "Reset variable"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Resource Type"
|
||||
|
||||
@@ -12000,7 +12041,7 @@ msgid "Result"
|
||||
msgstr "Result"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Results"
|
||||
@@ -12825,6 +12866,7 @@ msgstr "Send an invite email to your team"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "Send Email"
|
||||
|
||||
@@ -14361,9 +14403,10 @@ msgid "Timeout"
|
||||
msgstr "Timeout"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Timestamp"
|
||||
@@ -14438,6 +14481,13 @@ msgstr "Tomato"
|
||||
msgid "Tomorrow"
|
||||
msgstr "Tomorrow"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr "Too many recipients ({0}/{1})."
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14504,6 +14554,7 @@ msgstr "Total time"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr "Track AI consumption across your workspace."
|
||||
|
||||
@@ -15072,6 +15123,7 @@ msgstr "Upload .xlsx, .xls or .csv file"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Upload file"
|
||||
|
||||
@@ -15139,6 +15191,7 @@ msgstr "Usage across all workspaces on this server"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Usage Analytics"
|
||||
|
||||
@@ -15147,6 +15200,11 @@ msgstr "Usage Analytics"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr "Usage analytics will appear here once you start using credits."
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15207,9 +15265,9 @@ msgstr "Useful for pivot/junction tables"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15562,6 +15620,11 @@ msgstr "Violet"
|
||||
msgid "Visibility"
|
||||
msgstr "Visibility"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr "Visibility Restriction"
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "Añadir a la lista de bloqueo"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Añadir a favoritos"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Añadir a favoritos"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "Preparación de la solicitud de IA"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "Y"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Cualquier campo {fieldLabel}"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Detalles de la aplicación"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Aplicación instalada con éxito."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Adjuntar archivos"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Adjuntos"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Cerrar 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Cerrar panel lateral"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "Configurado"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Contenido"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Contexto"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Crear perfil"
|
||||
msgid "Create Profile"
|
||||
msgstr "Crear perfil"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Crear registro relacionado"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Uso de Crédito"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Desglose del uso de créditos de tu espacio de trabajo."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "eliminar"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Describa lo que quiere que la IA haga..."
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Desvincular"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Detalles"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ msgstr "Editar Cuenta"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr "Campos de Perfil Editables"
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Editor"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Array vacío"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Bandeja de entrada vacía"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Excluir correos electrónicos no profesionales"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Excluir las siguientes personas y dominios de mi sincronización de correo electrónico. Las conversaciones internas no se importarán"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Expira en {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Exportar"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "No se pudo actualizar la aplicación."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Error al subir \"{fileNameForError}\""
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Tasa de fallos"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Quinto"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "El archivo \"{fileName}\" supera {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "Archivo \"{fileName}\" subido correctamente"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Componentes de frontend"
|
||||
msgid "Full access"
|
||||
msgstr "Acceso total"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Ir al portal de facturación"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Ir a Borrador"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Ir a Personas"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Ocultar grupos ocultos"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Menor o igual"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Fusionar registros"
|
||||
msgid "Merging..."
|
||||
msgstr "Fusionando..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Falta el permiso para crear borradores de correos electrónicos."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "¡Misión cumplida!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Más"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "Todavía no ha habido intercambio de correos electrónicos con este registro."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ msgid "No record is required to trigger this workflow"
|
||||
msgstr "No se requiere ningún registro para activar este flujo de trabajo"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "No hay desencadenadores configurados para esta función."
|
||||
msgid "No usage data"
|
||||
msgstr "Sin datos de uso"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "objeto"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Eventos de objetos"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "ID del objeto"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Abrir Gmail"
|
||||
msgid "Open in"
|
||||
msgstr "Abrir en"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Abrir 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Abrir panel lateral"
|
||||
|
||||
@@ -10669,8 +10715,8 @@ msgstr "Organizar"
|
||||
#: 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Otros"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "Pendiente"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Personas"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ msgid "Pink"
|
||||
msgstr "Rosa"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Propiedades"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Opciones de reglas de filtro de registros"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "ID de registro"
|
||||
@@ -11602,8 +11643,8 @@ msgid "Records"
|
||||
msgstr "Registros"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "Restablecer 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Restablecer a"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Restablecer a predeterminado"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Restablecer variable"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Tipo de recurso"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Resultado"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Resultados"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Enviar una invitación por correo electrónico a tu equipo"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "Enviar correo electrónico"
|
||||
|
||||
@@ -14366,9 +14408,10 @@ msgid "Timeout"
|
||||
msgstr "Tiempo de espera"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Marca de tiempo"
|
||||
@@ -14443,6 +14486,13 @@ msgstr "Tomate"
|
||||
msgid "Tomorrow"
|
||||
msgstr "Mañana"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14509,6 +14559,7 @@ msgstr "Tiempo total"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15077,6 +15128,7 @@ msgstr "Subir un archivo .xlsx, .xls o .csv"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Subir archivo"
|
||||
|
||||
@@ -15144,6 +15196,7 @@ msgstr "Uso en todos los espacios de trabajo de este servidor"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Analíticas de uso"
|
||||
|
||||
@@ -15152,6 +15205,11 @@ msgstr "Analíticas de uso"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15212,9 +15270,9 @@ msgstr "Útil para tablas pivote/de unión"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15567,6 +15625,11 @@ msgstr "Violeta"
|
||||
msgid "Visibility"
|
||||
msgstr "Visibilidad"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "Lisää estolistalle"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Lisää suosikkilistalle"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Lisää suosikkeihin"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "AI-pyynnön valmistelu"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "Ja"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Mikä tahansa {fieldLabel}-kenttä"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Sovelluksen tiedot"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Sovellus asennettu onnistuneesti."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Liitä tiedostoja"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Liitteet"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Sulje banneri"
|
||||
|
||||
#. 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Sulje sivupaneeli"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "Määritetty"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Vahvista"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Sisältö"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Yhteys"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Luo profiili"
|
||||
msgid "Create Profile"
|
||||
msgstr "Luo profiili"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Luo liittyvä tietue"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Krediittien käyttäminen"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Työtilasi krediittikulutuksen erittely."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "poista"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Kuvaile mitä haluat, että tekoäly tekee..."
|
||||
msgid "Description"
|
||||
msgstr "Kuvaus"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Irrota"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Tiedot"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Muokkaa"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ msgstr "Muokkaa tiliä"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Editori"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Tyhjä taulukko"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Tyhjä Saapuneet"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Tapahtuma"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Jätä ei-ammattimaiset sähköpostit pois"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Pois sulje seuraavat henkilöt ja verkkotunnukset sähköpostisynkronoinnistani. Sisäisiä keskusteluja ei tuoda"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Vanhenee {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Vie"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "Sovelluksen päivitys epäonnistui."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Tiedoston \"{fileNameForError}\" lähetys epäonnistui"
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Epäonnistumisprosentti"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Viides"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "Tiedosto \"{fileName}\" ylittää {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "Tiedosto \"{fileName}\" lähetettiin onnistuneesti"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Käyttöliittymäkomponentit"
|
||||
msgid "Full access"
|
||||
msgstr "Täysi pääsy"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Siirry laskutusportaaliin"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Siirry luonnokseen"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Siirry henkilöihin"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Piilota piilotetut ryhmät"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Pienempi tai yhtä suuri"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Yhdistä tietueet"
|
||||
msgid "Merging..."
|
||||
msgstr "Yhdistetään..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Käyttöoikeus sähköpostiluonnosten laatimiseen puuttuu."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Tehtävä suoritettu!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Lisää"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "Sähköpostiviestintää tämän tietueen kanssa ei ole vielä tapahtunut."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ msgid "No record is required to trigger this workflow"
|
||||
msgstr "Ei tietuetta tarvita tämän työnkulun käynnistämiseen"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "Tälle funktiolle ei ole määritetty laukaisimia."
|
||||
msgid "No usage data"
|
||||
msgstr "Ei käyttötietoja"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "objekti"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Objektitapahtumat"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "Objektin ID"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Avaa Gmailissa"
|
||||
msgid "Open in"
|
||||
msgstr "Avaa kohteessa"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Avaa Outlookissa"
|
||||
|
||||
#. js-lingui-id: bY2Xkv
|
||||
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/CommandMenuItemMoreActionsButton.tsx
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Avaa sivupaneeli"
|
||||
|
||||
@@ -10669,8 +10715,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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Muu"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "Odottaa"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Henkilöt"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ msgid "Pink"
|
||||
msgstr "Vaaleanpunainen"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Ominaisuudet"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Tietuesuodattimen säännön valinnat"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "Tietueen ID"
|
||||
@@ -11602,8 +11643,8 @@ msgid "Records"
|
||||
msgstr "Tietueet"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "Nollaa 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Palauta"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Palauta oletukseksi"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Palauta muuttuja"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Resurssityyppi"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Tulos"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Tulokset"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Lähetä kutsusähköposti tiimillesi"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "Lähetä sähköposti"
|
||||
|
||||
@@ -14364,9 +14406,10 @@ msgid "Timeout"
|
||||
msgstr "Aikakatkaisu"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Aikaleima"
|
||||
@@ -14441,6 +14484,13 @@ msgstr "Tomaatti"
|
||||
msgid "Tomorrow"
|
||||
msgstr "Huomenna"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14507,6 +14557,7 @@ msgstr "Aika yhteensä"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15075,6 +15126,7 @@ msgstr "Lataa .xlsx, .xls tai .csv tiedosto"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Lataa tiedosto"
|
||||
|
||||
@@ -15142,6 +15194,7 @@ msgstr "Käyttö kaikissa tämän palvelimen työtiloissa"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Käyttöanalytiikka"
|
||||
|
||||
@@ -15150,6 +15203,11 @@ msgstr "Käyttöanalytiikka"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15210,9 +15268,9 @@ msgstr "Hyödyllinen pivot-/liitostauluille"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15565,6 +15623,11 @@ msgstr "Violetti"
|
||||
msgid "Visibility"
|
||||
msgstr "Näkyvyys"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "Ajouter à la liste de blocage"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Ajouter aux favoris"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Ajouter aux favoris"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "Préparation de la requête IA"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "Et"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Tout champ {fieldLabel}"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Détails de l'application"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Application installée avec succès."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Joindre des fichiers"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Pièces jointes"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Fermer la bannière"
|
||||
|
||||
#. 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Fermer le panneau latéral"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr ""
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Contenu"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Contexte"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Créer un profil"
|
||||
msgid "Create Profile"
|
||||
msgstr "Créer un profil"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Créer un enregistrement associé"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Utilisation des crédits"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Répartition de l'utilisation des crédits dans votre espace de travail."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "supprimer"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Décrivez ce que vous voulez que l'IA fasse..."
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Détacher"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Détails"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Éditer"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ msgstr "Modifier le compte"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Éditeur"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Tableau vide"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Boîte de réception vide"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Événement"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Exclure les emails non professionnels"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Exclure les personnes et domaines suivants de ma synchronisation de courriels. Les conversations internes ne seront pas importées"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Expire dans {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Exporter"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "Échec de la mise à niveau de l'application."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Échec du téléversement de \"{fileNameForError}\""
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Taux d'échec"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Cinquième"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "Le fichier \"{fileName}\" dépasse {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "Fichier \"{fileName}\" téléversé avec succès"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Composants frontaux"
|
||||
msgid "Full access"
|
||||
msgstr "Accès complet"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Accéder au portail de facturation"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Aller au brouillon"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Aller aux personnes"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Masquer les groupes cachés"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Inférieur ou égal à"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Fusionner les enregistrements"
|
||||
msgid "Merging..."
|
||||
msgstr "Fusion en cours..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Autorisation manquante pour rédiger des brouillons d'e-mails."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Mission accomplie !"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Plus"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "Aucun échange d'e-mails n'a encore eu lieu avec cet enregistrement."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ msgid "No record is required to trigger this workflow"
|
||||
msgstr "Aucun enregistrement n'est requis pour déclencher ce flux de travail"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "Aucun déclencheur configuré pour cette fonction."
|
||||
msgid "No usage data"
|
||||
msgstr "Aucune donnée d'utilisation"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "objet"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Événements d'objet"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "ID de l'objet"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Ouvrir Gmail"
|
||||
msgid "Open in"
|
||||
msgstr "Ouvrir dans"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Ouvrir 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Ouvrir le panneau latéral"
|
||||
|
||||
@@ -10669,8 +10715,8 @@ msgstr "Organiser"
|
||||
#: 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Autres"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "En attente"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Personnes"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ msgid "Pink"
|
||||
msgstr "Rose"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Propriétés"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Options des règles de filtrage des enregistrements"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "ID de l'enregistrement"
|
||||
@@ -11602,8 +11643,8 @@ msgid "Records"
|
||||
msgstr "Enregistrements"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "Réinitialiser 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Réinitialiser à"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Réinitialiser par défaut"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Réinitialiser la variable"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Type de ressource"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Résultat"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Résultats"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Envoyer un email d'invitation à votre équipe"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "Envoyer l'email"
|
||||
|
||||
@@ -14366,9 +14408,10 @@ msgid "Timeout"
|
||||
msgstr "Délai d’expiration"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Horodatage"
|
||||
@@ -14443,6 +14486,13 @@ msgstr "Tomate"
|
||||
msgid "Tomorrow"
|
||||
msgstr "Demain"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14509,6 +14559,7 @@ msgstr "Temps total"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15077,6 +15128,7 @@ msgstr "Téléchargez le fichier .xlsx, .xls ou .csv"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Téléverser le fichier"
|
||||
|
||||
@@ -15144,6 +15196,7 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Analyses d'utilisation"
|
||||
|
||||
@@ -15152,6 +15205,11 @@ msgstr "Analyses d'utilisation"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15212,9 +15270,9 @@ msgstr "Utile pour les tables pivot/de jonction"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15567,6 +15625,11 @@ msgstr "Violet"
|
||||
msgid "Visibility"
|
||||
msgstr "Visibilité"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1134,12 +1134,6 @@ msgstr "הוסף לרשימת החסימה"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "הוסף למועדפים"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "הוסף למועדפים"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "הכנת בקשת AI"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "וגם"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "כל שדה {fieldLabel}"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "פרטי היישום"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "היישום הותקן בהצלחה."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "צרף קבצים"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "קבצים מצורפים"
|
||||
|
||||
@@ -3142,7 +3154,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "סגור את חלונית הצד"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "מוגדר"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "אישור"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "תוכן"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "הקשר"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "צור פרופיל"
|
||||
msgid "Create Profile"
|
||||
msgstr "צור פרופיל"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "צור רשומה קשורה"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "שימוש באשראי"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "פירוט שימוש בקרדיטים עבור סביבת העבודה שלך."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "מחק"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "תאר מה אתה רוצה שהבינה המלאכותית תעשה..."
|
||||
msgid "Description"
|
||||
msgstr "תיאור"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "נתק"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "פרטים"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "ערוך"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "עורך"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "מערך ריק"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "תיבת דואר ריקה"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "אירוע"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "התעלם מכתובות דוא\"ל לא מקצועיות"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "לא לכלול את האנשים והדומיינים הבאים מהסנכרון של הדוא\"ל שלי. שיחות פנימיות לא ייובאו"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "פוקע בעוד {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "יצוא"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "שדרוג היישום נכשל."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "העלאת \"{fileNameForError}\" נכשלה"
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "שיעור כשל"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "חמישי"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "הקובץ \"{fileName}\" חורג מ-{maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "הקובץ \"{fileName}\" הועלה בהצלחה"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "רכיבי פרונטאנד"
|
||||
msgid "Full access"
|
||||
msgstr "גישה מלאה"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "עבור לפורטל החיוב"
|
||||
msgid "Go to Draft"
|
||||
msgstr "עבור לטיוטה"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "עבור לאנשים"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "הסתר קבוצות מוסתרות"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "או קטן יותר"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "מזג רשומות"
|
||||
msgid "Merging..."
|
||||
msgstr "ממזג..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "אין הרשאה ליצירת טיוטות אימייל."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "המשימה הושלמה!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "עוד"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "לא התקיים חילופי דואר עם רשומה זו עדיין."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "אין טריגרים מוגדרים עבור פונקציה זו."
|
||||
msgid "No usage data"
|
||||
msgstr "אין נתוני שימוש"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "אובייקט"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "אירועי אובייקט"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "מזהה אובייקט"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "פתח ב-Gmail"
|
||||
msgid "Open in"
|
||||
msgstr "פתח ב"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "פתח ב-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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "פתח את חלונית הצד"
|
||||
|
||||
@@ -10669,8 +10715,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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "אחר"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "<span dir=\"rtl\">ממתין</span>"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "אנשים"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "מאפיינים"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "אפשרויות כלל מסנן רשומות"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "מזהה רשומה"
|
||||
@@ -11602,8 +11643,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "אתחל אימות דו-שלבי"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "\\"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "איפוס לברירת מחדל"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "אפס משתנה"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "סוג משאב"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "תוצאה"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "\\"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "\\"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "שלח דוא\"ל"
|
||||
|
||||
@@ -14364,9 +14406,10 @@ msgid "Timeout"
|
||||
msgstr "מגבלת זמן"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "חותמת זמן"
|
||||
@@ -14441,6 +14484,13 @@ msgstr "עגבנייה"
|
||||
msgid "Tomorrow"
|
||||
msgstr "מחר"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14507,6 +14557,7 @@ msgstr "זמן כולל"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15075,6 +15126,7 @@ msgstr ".xlsx, .xls או .csv העלה קובץ"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "העלה קובץ"
|
||||
|
||||
@@ -15142,6 +15194,7 @@ msgstr "שימוש בכל מרחבי העבודה בשרת זה"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "ניתוח נתוני שימוש"
|
||||
|
||||
@@ -15150,6 +15203,11 @@ msgstr "ניתוח נתוני שימוש"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15210,9 +15268,9 @@ msgstr "שימושי עבור טבלאות ציר/קישור"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15565,6 +15623,11 @@ msgstr "ויולט"
|
||||
msgid "Visibility"
|
||||
msgstr "נראות"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "Hozzáadás a tiltólistához"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Hozzáadás a Kedvencekhez"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Hozzáadás a kedvencekhez"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "MI-kérés előkészítése"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "És"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Bármely {fieldLabel} mező"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Alkalmazás részletei"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Az alkalmazás sikeresen telepítve."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Fájlok csatolása"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Csatolmányok"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Banner bezárása"
|
||||
|
||||
#. 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Oldalsó panel bezárása"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "Beállítva"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Megerősítés"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Tartalom"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Összefüggés"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Profil létrehozása"
|
||||
msgid "Create Profile"
|
||||
msgstr "Profil létrehozása"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Kapcsolódó rekord létrehozása"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Kredit Felhasználás"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "A munkaterület kreditfelhasználásának bontása."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "törlés"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Írja le, mit szeretne, hogy az AI végrehajtson..."
|
||||
msgid "Description"
|
||||
msgstr "Leírás"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Leválasztás"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Részletek"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Szerkesztés"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ msgstr "Fiók szerkesztése"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Szerkesztő"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Üres tömb"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Üres Postafiók"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Esemény"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Nem-professzionális emailek kizárása"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Zárja ki a következő embereket és domaineket az e-mail szinkronizálásomból. A belső beszélgetések nem lesznek importálva"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Lejár {dateDiff} alatt"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Exportálás"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "Nem sikerült frissíteni az alkalmazást."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Nem sikerült feltölteni: \"{fileNameForError}\""
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Hibaarány"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Ötödik"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "A(z) \"{fileName}\" fájl meghaladja a(z) {maxUploadSize} méretet"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "\"{fileName}\" fájl sikeresen feltöltve"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Front komponensek"
|
||||
msgid "Full access"
|
||||
msgstr "Teljes hozzáférés"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Tovább a számlázási portálra"
|
||||
msgid "Go to Draft"
|
||||
msgstr "\"Ugrás a piszkozatokhoz\""
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Ugrás az emberekhez"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Rejtett csoportok elrejtése"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Kisebb vagy egyenlő"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Rekordok összevonása"
|
||||
msgid "Merging..."
|
||||
msgstr "Egyesítés..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Hiányzik az e-mail-piszkozatok létrehozásához szükséges engedély.
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Küldetés teljesítve!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Több"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "Ezzel a rekorddal még nem zajlott le email-váltás."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ msgid "No record is required to trigger this workflow"
|
||||
msgstr "Nincs szükség rekordra ennek a munkafolyamatnak a elindításához"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "Nincsenek triggerek beállítva ehhez a függvényhez."
|
||||
msgid "No usage data"
|
||||
msgstr "Nincsenek használati adatok"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "objektum"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Objektumesemények"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "Objektum azonosító"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Gmail megnyitása"
|
||||
msgid "Open in"
|
||||
msgstr "Megnyitás itt"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Outlook megnyitása"
|
||||
|
||||
#. js-lingui-id: bY2Xkv
|
||||
#: src/modules/ui/layout/page-header/components/PageHeaderToggleSidePanelButton.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/CommandMenuItemMoreActionsButton.tsx
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Oldalsó panel megnyitása"
|
||||
|
||||
@@ -10669,8 +10715,8 @@ msgstr "Rendszerezés"
|
||||
#: 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Egyéb"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "Függőben"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Emberek"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ msgid "Pink"
|
||||
msgstr "Rózsaszín"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Tulajdonságok"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Rekordszűrő szabály beállításai"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "Rekordazonosító"
|
||||
@@ -11602,8 +11643,8 @@ msgid "Records"
|
||||
msgstr "Rekordok"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "2FA visszaállítása"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Visszaállítás"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Visszaállítás alapértelmezettre"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Változó visszaállítása"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Erőforrás típusa"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Eredmény"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Találatok"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Invitáló e-mail küldése a csapatnak"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "E-mail küldése"
|
||||
|
||||
@@ -14364,9 +14406,10 @@ msgid "Timeout"
|
||||
msgstr "Időkorlát"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Időbélyeg"
|
||||
@@ -14441,6 +14484,13 @@ msgstr "Paradicsom"
|
||||
msgid "Tomorrow"
|
||||
msgstr "\"Holnap\""
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14507,6 +14557,7 @@ msgstr "Összes idő"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15075,6 +15126,7 @@ msgstr ".xlsx, .xls vagy .csv fájl feltöltése"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Fájl feltöltése"
|
||||
|
||||
@@ -15142,6 +15194,7 @@ msgstr "Használat ezen a szerveren lévő összes munkaterületen"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Használati elemzés"
|
||||
|
||||
@@ -15150,6 +15203,11 @@ msgstr "Használati elemzés"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15210,9 +15268,9 @@ msgstr "Hasznos pivot/kapcsoló táblákhoz"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15565,6 +15623,11 @@ msgstr "Ibolya"
|
||||
msgid "Visibility"
|
||||
msgstr "Láthatóság"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "Aggiungi alla lista di blocco"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "Aggiungi ai Preferiti"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "Aggiungi ai preferiti"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "Preparazione della richiesta IA"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "E"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "Qualsiasi campo {fieldLabel}"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "Dettagli dell'applicazione"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "Applicazione installata con successo."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "Allega file"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "Allegati"
|
||||
|
||||
@@ -3142,7 +3154,7 @@ msgstr "Chiudi 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "Chiudi il pannello laterale"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "Configurato"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "Conferma"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "Contenuto"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "Contesto"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "Crea profilo"
|
||||
msgid "Create Profile"
|
||||
msgstr "Crea profilo"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "Crea record correlato"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "Utilizzo dei Crediti"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "Dettaglio dell'utilizzo dei crediti per il tuo spazio di lavoro."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "elimina"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "Descrivi cosa vuoi che l'AI faccia..."
|
||||
msgid "Description"
|
||||
msgstr "Descrizione"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "Dissocia"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "Dettagli"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "Modifica"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ msgstr "Modifica 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "Editor"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "Array vuoto"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "Posta in arrivo vuota"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "Escludi email non professionali"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "Escludi le seguenti persone e domini dalla mia sincronizzazione email. Le conversazioni interne non saranno importate"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "Scade tra {dateDiff}"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "Esporta"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "Aggiornamento dell'applicazione non riuscito."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "Caricamento di \"{fileNameForError}\" non riuscito"
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "Tasso di errore"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "Quinto"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "Il file \"{fileName}\" supera {maxUploadSize}"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "File \"{fileName}\" caricato correttamente"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "Componenti front-end"
|
||||
msgid "Full access"
|
||||
msgstr "Accesso completo"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "Vai al portale di fatturazione"
|
||||
msgid "Go to Draft"
|
||||
msgstr "Vai alla Bozza"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "Vai alle Persone"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "Nascondi gruppi nascosti"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "Minore o uguale"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "Unisci record"
|
||||
msgid "Merging..."
|
||||
msgstr "Unione in corso..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "Manca l'autorizzazione a creare bozze di email."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "Missione compiuta!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "Altro"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "Non si è ancora verificato alcuno scambio email con questo record."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ msgid "No record is required to trigger this workflow"
|
||||
msgstr "Non è richiesto alcun record per attivare questo flusso di lavoro"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "Nessun trigger configurato per questa funzione."
|
||||
msgid "No usage data"
|
||||
msgstr "Nessun dato di utilizzo"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "oggetto"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "Eventi degli oggetti"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "ID dell'oggetto"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Aprire Gmail"
|
||||
msgid "Open in"
|
||||
msgstr "Aprire in"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "Aprire 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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "Apri il pannello laterale"
|
||||
|
||||
@@ -10669,8 +10715,8 @@ msgstr "Organizza"
|
||||
#: 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "Altro"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "In sospeso"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "Persone"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ msgid "Pink"
|
||||
msgstr "Rosa"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "Proprietà"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "Opzioni della regola di filtro del record"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "ID del record"
|
||||
@@ -11602,8 +11643,8 @@ msgid "Records"
|
||||
msgstr "Registri"
|
||||
|
||||
#. 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "Reimposta 2FA"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "Reimposta a"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "Ripristina ai valori predefiniti"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "Ripristina variabile"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "Tipo di risorsa"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "Risultato"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "Risultati"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "Invia un'email di invito al tuo team"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "Invia email"
|
||||
|
||||
@@ -14366,9 +14408,10 @@ msgid "Timeout"
|
||||
msgstr "Timeout"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "Timestamp"
|
||||
@@ -14443,6 +14486,13 @@ msgstr "Pomodoro"
|
||||
msgid "Tomorrow"
|
||||
msgstr "Domani"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14509,6 +14559,7 @@ msgstr "Tempo totale"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15077,6 +15128,7 @@ msgstr "Carica un file .xlsx, .xls o .csv"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "Carica file"
|
||||
|
||||
@@ -15144,6 +15196,7 @@ msgstr "Utilizzo in tutti gli spazi di lavoro su questo server"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "Analisi dell'utilizzo"
|
||||
|
||||
@@ -15152,6 +15205,11 @@ msgstr "Analisi dell'utilizzo"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15212,9 +15270,9 @@ msgstr "Utile per tabelle pivot/di giunzione"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15567,6 +15625,11 @@ msgstr "Violetto"
|
||||
msgid "Visibility"
|
||||
msgstr "Visibilità"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "ブロックリストに追加"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "お気に入りに追加"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "お気に入りに追加"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "AI リクエストの準備"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "および"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "任意の {fieldLabel} フィールド"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "アプリケーション詳細"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "アプリケーションが正常にインストールされました。"
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "ファイルを添付"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "添付ファイル"
|
||||
|
||||
@@ -3142,7 +3154,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "サイドパネルを閉じる"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "設定済み"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "確認"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "コンテンツ"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "コンテキスト"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "プロフィールの作成"
|
||||
msgid "Create Profile"
|
||||
msgstr "プロフィールを作成"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "関連レコードを作成"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "クレジット使用量"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "ワークスペースのクレジット利用内訳。"
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "削除"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "AIにさせたいことを説明してください..."
|
||||
msgid "Description"
|
||||
msgstr "説明"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "関連付けを解除"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "詳細"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "編集"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "エディター"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "空の配列"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "受信トレイを空にする"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "イベント"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "非プロのメールを除外する"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "以下の人物とドメインをメール同期から除外します。内部の会話はインポートされません"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "{dateDiff} で期限が切れます"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "エクスポート"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "アプリケーションのアップグレードに失敗しました。
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "\"{fileNameForError}\" のアップロードに失敗しました"
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "失敗率"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "第五"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "ファイル \"{fileName}\" が {maxUploadSize} を超えています"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "\"{fileName}\" を正常にアップロードしました"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "フロントエンドコンポーネント"
|
||||
msgid "Full access"
|
||||
msgstr "フルアクセス"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "請求ポータルに移動"
|
||||
msgid "Go to Draft"
|
||||
msgstr "ドラフトに移動"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "人事に移動"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "隠されたグループを非表示"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "以下"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "レコードをマージ"
|
||||
msgid "Merging..."
|
||||
msgstr "マージ中..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "メールの下書き権限がありません。"
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "任務完了!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "もっと"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "このレコードとのメール交換はまだ行われていません。"
|
||||
|
||||
@@ -10029,8 +10065,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "この関数にはトリガーが設定されていません。"
|
||||
msgid "No usage data"
|
||||
msgstr "利用データなし"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "オブジェクト"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "オブジェクトのイベント"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "オブジェクトID"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Gmailで開く"
|
||||
msgid "Open in"
|
||||
msgstr "で開く"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "サイドパネルを開く"
|
||||
|
||||
@@ -10669,8 +10715,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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "その他"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "保留中"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "\"人\""
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "プロパティ"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "レコードフィルターのルールオプション"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "レコード ID"
|
||||
@@ -11602,8 +11643,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "2FAをリセット"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "リセット"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "デフォルトにリセット"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "変数をリセット"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "リソースタイプ"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "結果"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "結果"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "チームに招待メールを送信"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "メールを送信"
|
||||
|
||||
@@ -14364,9 +14406,10 @@ msgid "Timeout"
|
||||
msgstr "タイムアウト"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "タイムスタンプ"
|
||||
@@ -14441,6 +14484,13 @@ msgstr "トマト"
|
||||
msgid "Tomorrow"
|
||||
msgstr "明日"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14507,6 +14557,7 @@ msgstr "合計時間"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15075,6 +15126,7 @@ msgstr ".xlsx、.xls、または.csvファイルをアップロード"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "ファイルをアップロード"
|
||||
|
||||
@@ -15142,6 +15194,7 @@ msgstr "このサーバー上のすべてのワークスペースでの利用状
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "利用分析"
|
||||
|
||||
@@ -15150,6 +15203,11 @@ msgstr "利用分析"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15210,9 +15268,9 @@ msgstr "ピボット/ジャンクションテーブルに有用です"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15565,6 +15623,11 @@ msgstr "バイオレット"
|
||||
msgid "Visibility"
|
||||
msgstr "可視性"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
@@ -1134,12 +1134,6 @@ msgstr "차단 목록에 추가"
|
||||
msgid "Add to Favorite"
|
||||
msgstr "즐겨찾기에 추가"
|
||||
|
||||
#. js-lingui-id: pBsoKL
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Add to favorites"
|
||||
msgstr "즐겨찾기에 추가"
|
||||
|
||||
#. js-lingui-id: q9e2Bs
|
||||
#: src/modules/views/view-picker/components/ViewPickerListContent.tsx
|
||||
msgid "Add view"
|
||||
@@ -1398,6 +1392,7 @@ msgstr "AI 요청 준비"
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI Usage"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1411,11 @@ msgstr ""
|
||||
msgid "AI usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: KgAAyO
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "AI usage analytics will appear here once you start using AI features."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: SknniY
|
||||
#: src/pages/settings/ai/SettingsAIUsageUserDetail.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
@@ -1785,6 +1785,12 @@ msgstr "및"
|
||||
msgid "Any {fieldLabel} field"
|
||||
msgstr "모든 {fieldLabel} 필드"
|
||||
|
||||
#. js-lingui-id: COyjuu
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Any device"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: I8f+hC
|
||||
#: src/modules/views/components/AnyFieldSearchChip.tsx
|
||||
msgid "Any field"
|
||||
@@ -1958,6 +1964,11 @@ msgstr "응용 프로그램 세부정보"
|
||||
msgid "Application installed successfully."
|
||||
msgstr "응용 프로그램이 성공적으로 설치되었습니다."
|
||||
|
||||
#. js-lingui-id: LllWIc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogTableSelector.tsx
|
||||
msgid "Application Logs"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +tE2x9
|
||||
#: src/pages/settings/applications/tabs/SettingsApplicationDetailAboutTab.tsx
|
||||
msgid "Application successfully uninstalled."
|
||||
@@ -2241,6 +2252,7 @@ msgstr "파일 첨부"
|
||||
|
||||
#. js-lingui-id: w/Sphq
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionEmailBase.tsx
|
||||
#: src/modules/activities/emails/components/EmailComposerFields.tsx
|
||||
msgid "Attachments"
|
||||
msgstr "첨부 파일"
|
||||
|
||||
@@ -3142,7 +3154,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Close side panel"
|
||||
msgstr "사이드 패널 닫기"
|
||||
|
||||
@@ -3419,7 +3431,6 @@ msgstr "구성됨"
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/settings/billing/components/SettingsBillingSubscriptionInfo.tsx
|
||||
#: src/modules/command-menu-item/display/components/CommandModal.tsx
|
||||
msgid "Confirm"
|
||||
msgstr "확인"
|
||||
|
||||
@@ -3524,7 +3535,7 @@ msgstr "내용"
|
||||
#. js-lingui-id: M73whl
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
#: src/modules/settings/ai/components/SettingsAiModelHoverCard.tsx
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Context"
|
||||
msgstr "컨텍스트"
|
||||
@@ -3908,11 +3919,6 @@ msgstr "프로필 생성"
|
||||
msgid "Create Profile"
|
||||
msgstr "프로필 생성"
|
||||
|
||||
#. js-lingui-id: GPuEIc
|
||||
#: src/modules/side-panel/pages/root/components/SidePanelRootPage.tsx
|
||||
msgid "Create Related Record"
|
||||
msgstr "연관 레코드 생성"
|
||||
|
||||
#. js-lingui-id: RoyYUE
|
||||
#: src/pages/settings/ai/components/SettingsAgentRoleTab.tsx
|
||||
#: src/modules/settings/roles/components/SettingsRolesList.tsx
|
||||
@@ -4015,6 +4021,7 @@ msgstr "크레딧 사용량"
|
||||
|
||||
#. js-lingui-id: 6/q4+J
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Credit usage breakdown for your workspace."
|
||||
msgstr "워크스페이스의 크레딧 사용량 세부 내역."
|
||||
|
||||
@@ -4626,8 +4633,6 @@ msgstr "삭제"
|
||||
#: src/modules/object-record/record-field-list/record-detail-section/relation/components/RecordDetailRelationRecordsListItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/navigation-menu-item/display/folder/components/NavigationMenuItemFolderNavigationDrawerItemDropdown.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/blocknote-editor/components/CustomSideMenu.tsx
|
||||
#: src/modules/activities/files/components/AttachmentDropdown.tsx
|
||||
msgid "Delete"
|
||||
@@ -4862,6 +4867,12 @@ msgstr "AI에 원하는 작업을 설명하세요..."
|
||||
msgid "Description"
|
||||
msgstr "설명"
|
||||
|
||||
#. js-lingui-id: BBqGS9
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: +ow7t4
|
||||
#: src/modules/settings/roles/role-permissions/object-level-permissions/utils/objectPermissionKeyToHumanReadableText.ts
|
||||
#: src/modules/metadata-error-handler/hooks/useMetadataErrorHandler.ts
|
||||
@@ -4884,7 +4895,7 @@ msgid "Detach"
|
||||
msgstr "연결 해제"
|
||||
|
||||
#. js-lingui-id: URmyfc
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/ai/components/RoutingDebugDisplay.tsx
|
||||
msgid "Details"
|
||||
msgstr "세부정보"
|
||||
@@ -5213,6 +5224,7 @@ msgstr "[email protected], @apple.com"
|
||||
#: src/modules/object-record/record-group/hooks/useRecordGroupActions.ts
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/MultiItemFieldMenuItem.tsx
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormMultiSelectFieldInput.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/hooks/useNavigationMenuItemEditOrganizeActions.ts
|
||||
msgid "Edit"
|
||||
msgstr "편집"
|
||||
|
||||
@@ -5229,8 +5241,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditButton.tsx
|
||||
msgid "Edit actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -5319,6 +5331,8 @@ msgstr ""
|
||||
|
||||
#. js-lingui-id: uBAxNB
|
||||
#: src/pages/settings/logic-functions/SettingsLogicFunctionDetail.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/record-page/SidePanelRecordPageFieldSettings.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/FieldWidgetLayoutDropdownContent.tsx
|
||||
msgid "Editor"
|
||||
msgstr "편집기"
|
||||
|
||||
@@ -5516,7 +5530,7 @@ msgid "Empty Array"
|
||||
msgstr "빈 배열"
|
||||
|
||||
#. js-lingui-id: 8X+jbk
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Empty Inbox"
|
||||
msgstr "받은 편지함 비우기"
|
||||
|
||||
@@ -6074,8 +6088,8 @@ msgid "Evaluations"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 0pC/y6
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/activities/calendar/components/CalendarEventDetails.tsx
|
||||
msgid "Event"
|
||||
msgstr "이벤트"
|
||||
@@ -6194,6 +6208,11 @@ msgstr "비업무용 이메일 제외"
|
||||
msgid "Exclude the following people and domains from my email sync. Internal conversations will not be imported"
|
||||
msgstr "다음 사람들과 도메인을 이메일 동기화에서 제외합니다. 내부 대화는 가져오지 않습니다"
|
||||
|
||||
#. js-lingui-id: B0clc7
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Execution ID"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: YzI8cc
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsSelect.tsx
|
||||
msgid "Existing Field"
|
||||
@@ -6301,8 +6320,6 @@ msgstr "{dateDiff}에 만료"
|
||||
|
||||
#. js-lingui-id: GS+Mus
|
||||
#: src/modules/object-record/record-index/export/hooks/useRecordIndexExportRecords.ts
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Export"
|
||||
msgstr "내보내기"
|
||||
|
||||
@@ -6572,6 +6589,7 @@ msgstr "응용 프로그램 업그레이드에 실패했습니다."
|
||||
#. js-lingui-id: jU/HbX
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "Failed to upload \"{fileNameForError}\""
|
||||
msgstr "\"{fileNameForError}\" 업로드 실패"
|
||||
|
||||
@@ -6596,7 +6614,7 @@ msgid "Failure Rate"
|
||||
msgstr "실패율"
|
||||
|
||||
#. js-lingui-id: 8wngZM
|
||||
#: src/modules/command-menu-item/server-items/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Fallback"
|
||||
msgstr ""
|
||||
|
||||
@@ -6771,12 +6789,14 @@ msgstr "다섯 번째"
|
||||
|
||||
#. js-lingui-id: sWmIx3
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" exceeds {maxUploadSize}"
|
||||
msgstr "파일 \"{fileName}\"이(가) {maxUploadSize}를 초과합니다"
|
||||
|
||||
#. js-lingui-id: 0bK1RI
|
||||
#: src/modules/object-record/record-field/ui/meta-types/hooks/useUploadFilesFieldFile.ts
|
||||
#: src/modules/advanced-text-editor/hooks/useUploadWorkflowFile.ts
|
||||
#: src/modules/activities/emails/hooks/useUploadEmailAttachment.ts
|
||||
msgid "File \"{fileName}\" uploaded successfully"
|
||||
msgstr "\"{fileName}\"이(가) 성공적으로 업로드되었습니다"
|
||||
|
||||
@@ -7029,6 +7049,11 @@ msgstr "프런트 컴포넌트"
|
||||
msgid "Full access"
|
||||
msgstr "전체 접근"
|
||||
|
||||
#. js-lingui-id: YMZBxa
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: AHOl4W
|
||||
#: src/modules/settings/logic-functions/components/SettingsLogicFunctionLabelContainer.tsx
|
||||
msgid "Function name"
|
||||
@@ -7126,11 +7151,6 @@ msgstr "청구 포털로 이동"
|
||||
msgid "Go to Draft"
|
||||
msgstr "초안으로 이동"
|
||||
|
||||
#. js-lingui-id: MrE/Qb
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "Go to People"
|
||||
msgstr "사람으로 이동"
|
||||
|
||||
#. js-lingui-id: mT57+Q
|
||||
#: src/modules/views/view-picker/components/ViewPickerEditButton.tsx
|
||||
#: src/modules/views/view-picker/components/ViewPickerCreateButton.tsx
|
||||
@@ -7356,7 +7376,7 @@ msgid "Hide hidden groups"
|
||||
msgstr "숨겨진 그룹 숨기기"
|
||||
|
||||
#. js-lingui-id: 2ouyMV
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Hide label"
|
||||
msgstr ""
|
||||
|
||||
@@ -8453,6 +8473,11 @@ msgstr ""
|
||||
msgid "Less than or equal"
|
||||
msgstr "이하"
|
||||
|
||||
#. js-lingui-id: oCHfGC
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 3qg5Ro
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
#: src/pages/settings/enterprise/SettingsEnterprise.tsx
|
||||
@@ -8997,6 +9022,11 @@ msgstr "레코드 병합"
|
||||
msgid "Merging..."
|
||||
msgstr "병합 중..."
|
||||
|
||||
#. js-lingui-id: xDAtGP
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: U15XwX
|
||||
#: src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx
|
||||
msgid "Message not found"
|
||||
@@ -9094,6 +9124,12 @@ msgstr "이메일 초안 작성 권한이 없습니다."
|
||||
msgid "Mission accomplished!"
|
||||
msgstr "임무 완료!"
|
||||
|
||||
#. js-lingui-id: dMsM20
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/dropdown-content/WidgetVisibilityDropdownContent.tsx
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: scu3wk
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/ai-agent-action/components/WorkflowAiAgentPromptTab.tsx
|
||||
msgid "Model"
|
||||
@@ -9190,7 +9226,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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "More"
|
||||
msgstr "더보기"
|
||||
|
||||
@@ -9826,7 +9862,7 @@ msgid "No description available for this application"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: mINrlz
|
||||
#: src/modules/activities/emails/components/EmailsCard.tsx
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "No email exchange has occurred with this record yet."
|
||||
msgstr "이 기록과의 이메일 교환이 아직 발생하지 않았습니다."
|
||||
|
||||
@@ -10029,8 +10065,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "No record selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -10113,6 +10149,12 @@ msgstr "이 함수에 대해 구성된 트리거가 없습니다."
|
||||
msgid "No usage data"
|
||||
msgstr "사용량 데이터 없음"
|
||||
|
||||
#. js-lingui-id: TayaS7
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "No usage data yet"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: wJwIUq
|
||||
#: src/modules/object-record/record-field/ui/form-types/components/FormSelectFieldInput.tsx
|
||||
msgid "No value"
|
||||
@@ -10323,7 +10365,6 @@ msgstr "개체"
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx
|
||||
#: src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx
|
||||
#: 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
|
||||
@@ -10347,7 +10388,7 @@ msgid "Object Events"
|
||||
msgstr "객체 이벤트"
|
||||
|
||||
#. js-lingui-id: 79D4Az
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Object ID"
|
||||
msgstr "객체 ID"
|
||||
|
||||
@@ -10564,6 +10605,11 @@ msgstr "Gmail 열기"
|
||||
msgid "Open in"
|
||||
msgstr "열기"
|
||||
|
||||
#. js-lingui-id: noLjKT
|
||||
#: src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldOnClickActionForm.tsx
|
||||
msgid "Open in app"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: DP5C7w
|
||||
#: src/modules/settings/members/components/MemberPermissionsTab.tsx
|
||||
msgid "Open in Roles"
|
||||
@@ -10576,7 +10622,7 @@ msgstr "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
|
||||
#: src/modules/side-panel/components/SidePanelToggleButton.tsx
|
||||
msgid "Open side panel"
|
||||
msgstr "사이드 패널 열기"
|
||||
|
||||
@@ -10669,8 +10715,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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Other"
|
||||
msgstr "기타"
|
||||
|
||||
@@ -10886,11 +10932,6 @@ msgstr "PDF"
|
||||
msgid "Pending"
|
||||
msgstr "보류 중"
|
||||
|
||||
#. js-lingui-id: 1wdjme
|
||||
#: src/modules/command-menu-item/mock/command-menu-items.mock.tsx
|
||||
msgid "People"
|
||||
msgstr "사람들"
|
||||
|
||||
#. js-lingui-id: PxBA+g
|
||||
#: src/modules/settings/accounts/components/SettingsAccountsMessageAutoCreationCard.tsx
|
||||
msgid "People I’ve sent emails to and received emails from."
|
||||
@@ -11028,8 +11069,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/display/components/SidePanelCommandMenuItemDisplayPage.tsx
|
||||
msgid "Pinned"
|
||||
msgstr ""
|
||||
|
||||
@@ -11301,8 +11342,8 @@ msgid "Prompt"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: l/UFPv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Properties"
|
||||
msgstr "속성"
|
||||
|
||||
@@ -11552,7 +11593,7 @@ msgid "Record filter rule options"
|
||||
msgstr "레코드 필터 규칙 옵션"
|
||||
|
||||
#. js-lingui-id: xSAYIn
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/components/EventLogFilters.tsx
|
||||
msgid "Record ID"
|
||||
msgstr "레코드 ID"
|
||||
@@ -11602,8 +11643,8 @@ 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
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemEditRecordSelectionDropdown.tsx
|
||||
msgid "Records selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -11913,7 +11954,7 @@ msgid "Reset 2FA"
|
||||
msgstr "이중 인증 재설정"
|
||||
|
||||
#. js-lingui-id: YdI8A2
|
||||
#: src/modules/command-menu-item/server-items/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
#: src/modules/command-menu-item/edit/components/CommandMenuItemOptionsDropdown.tsx
|
||||
msgid "Reset label to default"
|
||||
msgstr ""
|
||||
|
||||
@@ -11928,7 +11969,7 @@ msgstr "다음으로 재설정"
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/side-panel/pages/page-layout/components/SidePanelPageLayoutTabSettingsContent.tsx
|
||||
#: src/modules/settings/data-model/fields/forms/address/components/SettingsDataModelFieldAddressForm.tsx
|
||||
#: src/modules/command-menu-item/server-items/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
#: src/modules/command-menu-item/edit/components/SidePanelCommandMenuItemEditPage.tsx
|
||||
msgid "Reset to default"
|
||||
msgstr "기본값으로 재설정"
|
||||
|
||||
@@ -11948,7 +11989,7 @@ msgid "Reset variable"
|
||||
msgstr "변수 재설정"
|
||||
|
||||
#. js-lingui-id: esl+Tv
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
msgid "Resource Type"
|
||||
msgstr "리소스 유형"
|
||||
|
||||
@@ -12005,7 +12046,7 @@ msgid "Result"
|
||||
msgstr "결과"
|
||||
|
||||
#. js-lingui-id: kx0s+n
|
||||
#: src/modules/side-panel/pages/search/hooks/useSidePanelSearchRecords.tsx
|
||||
#: src/modules/side-panel/pages/search/components/SidePanelSearchRecordsPage.tsx
|
||||
#: src/modules/navigation-menu-item/edit/side-panel/components/SidePanelNewSidebarItemRecordSubPage.tsx
|
||||
msgid "Results"
|
||||
msgstr "결과"
|
||||
@@ -12830,6 +12871,7 @@ msgstr "팀에 초대 이메일 보내기"
|
||||
|
||||
#. js-lingui-id: i/TzEU
|
||||
#: src/modules/settings/roles/role-permissions/permission-flags/hooks/useActionRolePermissionFlagConfig.ts
|
||||
#: src/modules/activities/emails/components/EmptyInboxPlaceholder.tsx
|
||||
msgid "Send Email"
|
||||
msgstr "이메일 보내기"
|
||||
|
||||
@@ -14364,9 +14406,10 @@ msgid "Timeout"
|
||||
msgstr "시간 제한"
|
||||
|
||||
#. js-lingui-id: 8TMaZI
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/modules/settings/admin-panel/health-status/components/SettingsAdminQueueJobsTable.tsx
|
||||
msgid "Timestamp"
|
||||
msgstr "타임스탬프"
|
||||
@@ -14441,6 +14484,13 @@ msgstr "토마토"
|
||||
msgid "Tomorrow"
|
||||
msgstr "내일"
|
||||
|
||||
#. js-lingui-id: x+3/CM
|
||||
#. placeholder {0}: composerState.recipientCount
|
||||
#. placeholder {1}: composerState.maxRecipients
|
||||
#: src/modules/activities/emails/components/EmailComposer.tsx
|
||||
msgid "Too many recipients ({0}/{1})."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: WrMXsY
|
||||
#: src/modules/spreadsheet-import/steps/components/UploadStep/UploadStep.tsx
|
||||
#: src/modules/spreadsheet-import/steps/components/SelectSheetStep/SelectSheetStep.tsx
|
||||
@@ -14507,6 +14557,7 @@ msgstr "총 시간"
|
||||
#. js-lingui-id: BxecEJ
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
#: src/pages/settings/ai/components/SettingsAIUsageTab.tsx
|
||||
msgid "Track AI consumption across your workspace."
|
||||
msgstr ""
|
||||
|
||||
@@ -15075,6 +15126,7 @@ msgstr ".xlsx, .xls 또는 .csv 파일 업로드"
|
||||
#: src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx
|
||||
#: src/modules/object-record/record-field/ui/meta-types/input/components/FilesFieldInput.tsx
|
||||
#: src/modules/advanced-text-editor/components/WorkflowSendEmailAttachments.tsx
|
||||
#: src/modules/activities/emails/components/EmailAttachmentsField.tsx
|
||||
msgid "Upload file"
|
||||
msgstr "파일 업로드"
|
||||
|
||||
@@ -15142,6 +15194,7 @@ msgstr "이 서버의 모든 워크스페이스에서의 사용 현황"
|
||||
|
||||
#. js-lingui-id: 21hsGI
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage Analytics"
|
||||
msgstr "사용량 분석"
|
||||
|
||||
@@ -15150,6 +15203,11 @@ msgstr "사용량 분석"
|
||||
msgid "Usage analytics requires ClickHouse. Contact your administrator."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: XglEba
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
msgid "Usage analytics will appear here once you start using credits."
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: 7vRxpC
|
||||
#: src/pages/settings/SettingsUsageUserDetail.tsx
|
||||
#: src/modules/settings/usage/components/SettingsUsageAnalyticsSection.tsx
|
||||
@@ -15210,9 +15268,9 @@ msgstr "피벗/정션 테이블에 유용합니다"
|
||||
#. js-lingui-id: 7PzzBU
|
||||
#: src/pages/settings/SettingsTwoFactorAuthenticationMethod.tsx
|
||||
#: src/pages/settings/SettingsProfile.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/components/EventLogResultsTable.tsx
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/security/event-logs/utils/getColumnsForEventLogTable.ts
|
||||
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx
|
||||
#: src/pages/settings/ai/SettingsAgentTurnDetail.tsx
|
||||
#: src/pages/settings/ai/SettingsAIPrompts.tsx
|
||||
@@ -15565,6 +15623,11 @@ msgstr "바이올렛"
|
||||
msgid "Visibility"
|
||||
msgstr "가시성"
|
||||
|
||||
#. js-lingui-id: gkAApJ
|
||||
#: src/modules/side-panel/pages/page-layout/components/WidgetSettingsManageSection.tsx
|
||||
msgid "Visibility Restriction"
|
||||
msgstr ""
|
||||
|
||||
#. js-lingui-id: zYTdqe
|
||||
#: src/modules/views/components/ViewBarFilterDropdownFieldSelectMenu.tsx
|
||||
#: src/modules/object-record/object-sort-dropdown/components/ObjectSortDropdownButton.tsx
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user