Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3d513612d1 | ||
|
|
129037da6c | ||
|
|
00b650a121 | ||
|
|
122a6a7801 | ||
|
|
fba63d9cb7 | ||
|
|
33370f5d1f | ||
|
|
2aa72de210 | ||
|
|
ea1ac3708c | ||
|
|
b7abaa242c | ||
|
|
85bfd87bb4 | ||
|
|
a234e00657 | ||
|
|
4d7ba29d9f | ||
|
|
0c4a984110 | ||
|
|
8762c06ff2 | ||
|
|
124e69447d | ||
|
|
adf8c68f57 | ||
|
|
a29c26c8d7 | ||
|
|
15d3751b73 | ||
|
|
ef7581f4ef | ||
|
|
a3a05c63f6 | ||
|
|
0dc1cd9df1 | ||
|
|
aa74c36ce9 | ||
|
|
23889d360d | ||
|
|
dddf67ed01 | ||
|
|
65e569986d | ||
|
|
6be66f27d3 | ||
|
|
890b5c42d1 | ||
|
|
39543872e6 | ||
|
|
17dbb634ca | ||
|
|
fb38828943 | ||
|
|
d9e6b95c04 | ||
|
|
05f15a827f | ||
|
|
f186b728e3 | ||
|
|
084554eaa8 | ||
|
|
83930551d8 | ||
|
|
8bd9bc9d31 | ||
|
|
5a39903d42 | ||
|
|
2f048201ad | ||
|
|
4189ce2a9e | ||
|
|
d246010c5c | ||
|
|
aa25a80171 | ||
|
|
7f406bc349 | ||
|
|
f94d75c27f | ||
|
|
b349d3f8c2 | ||
|
|
5327febcbe | ||
|
|
24aca790f7 | ||
|
|
fa2930b0f9 | ||
|
|
431da37cdf | ||
|
|
d40a5ed74f | ||
|
|
a6ea8b98b6 | ||
|
|
ea0d3c605f | ||
|
|
e6355c7c49 | ||
|
|
d47e5ec47d | ||
|
|
f74e4bedc4 | ||
|
|
694553608b | ||
|
|
dd12bc31ca | ||
|
|
fe46ede1ac | ||
|
|
b705425358 | ||
|
|
1af25bf31d | ||
|
|
64938d5a05 | ||
|
|
ec87218b9c | ||
|
|
41a412bd55 | ||
|
|
611e89e5c9 | ||
|
|
26ea465862 | ||
|
|
45853aed8c | ||
|
|
4d02bf1362 | ||
|
|
d9bde155ff | ||
|
|
9fbd698ea4 | ||
|
|
42ea02329a | ||
|
|
2331176c53 | ||
|
|
90a390ee33 | ||
|
|
3f25d13999 | ||
|
|
85a2ad1659 | ||
|
|
1d49fcae77 | ||
|
|
7c9b902cfe | ||
|
|
9997cf5a4e | ||
|
|
a1c7e3279c | ||
|
|
589a0c7b2d | ||
|
|
89e11b4626 | ||
|
|
fc0e98b53e | ||
|
|
531babd46f | ||
|
|
9fe5c96d56 | ||
|
|
2247d3fa91 | ||
|
|
61904050ac | ||
|
|
9c0c4ebf27 | ||
|
|
e77ba2be52 | ||
|
|
3f7bb4f958 | ||
|
|
7abc67c905 | ||
|
|
bfc92fc00d | ||
|
|
0220672fa9 | ||
|
|
a1eea40cf7 | ||
|
|
dde70ee3b0 | ||
|
|
d3fe322fc7 | ||
|
|
6a73a58ad9 | ||
|
|
ac0fd364e9 | ||
|
|
9046a9ac16 | ||
|
|
d4bdae562f | ||
|
|
cbd4d98c85 | ||
|
|
ccca441ff5 | ||
|
|
9c7213a1e1 | ||
|
|
e4f06a7c97 | ||
|
|
970aa4c5a1 | ||
|
|
dc7a9fc767 | ||
|
|
446924cf24 | ||
|
|
1f2c5c5fa5 | ||
|
|
8315d389ca | ||
|
|
730792c947 | ||
|
|
36602eab17 | ||
|
|
92462b3ae5 | ||
|
|
c5c6192434 | ||
|
|
edbef102c4 | ||
|
|
16869a333c | ||
|
|
1b64f87d75 | ||
|
|
cc0d892de0 | ||
|
|
097b118053 | ||
|
|
7445a22c58 | ||
|
|
76a033f7ac | ||
|
|
ff001d9def | ||
|
|
2162538b8b | ||
|
|
7846764769 | ||
|
|
df0d23a365 | ||
|
|
2039986684 | ||
|
|
1ed9de2300 | ||
|
|
ee2810281e | ||
|
|
50bd91262f | ||
|
|
bf92860d19 | ||
|
|
22203bfd3c | ||
|
|
d747366bf3 | ||
|
|
7a3e92fe0b | ||
|
|
ba51c091f0 | ||
|
|
f269f8b905 | ||
|
|
6fb81e757b | ||
|
|
0571eb2cf6 | ||
|
|
5863c45d4b | ||
|
|
29d079babc |
@@ -0,0 +1,65 @@
|
||||
# Twenty Development Rules
|
||||
|
||||
This directory contains Twenty's development guidelines and best practices. The rules are organized into several key categories:
|
||||
|
||||
## Guidelines Structure
|
||||
|
||||
### 1. Architecture and Structure
|
||||
- `architecture.md`: Project overview, technology stack, and infrastructure setup
|
||||
- `file-structure-guidelines.md`: File and directory organization patterns
|
||||
|
||||
### 2. Code Style and Development
|
||||
- `typescript-guidelines.md`: TypeScript best practices and conventions
|
||||
- `code-style-guidelines.md`: General coding standards and style guide
|
||||
|
||||
### 3. React Development
|
||||
- `react-general-guidelines.md`: Core React development principles and patterns
|
||||
- `react-state-management-guidelines.md`: State management approaches and best practices
|
||||
|
||||
### 4. Testing
|
||||
- `testing-guidelines.md`: Testing strategies, patterns, and best practices
|
||||
|
||||
### 5. Internationalization
|
||||
- `translations.md`: Translation workflow, i18n setup, and string management
|
||||
|
||||
## Common Development Commands
|
||||
|
||||
### Frontend Commands
|
||||
```bash
|
||||
# Testing
|
||||
npx nx test twenty-front # Run unit tests
|
||||
npx nx storybook:build twenty-front # Build Storybook
|
||||
npx nx storybook:serve-and-test:static # Run Storybook tests
|
||||
|
||||
# Development
|
||||
npx nx lint twenty-front # Run linter
|
||||
npx nx typecheck twenty-front # Type checking
|
||||
npx nx run twenty-front:graphql:generate # Generate GraphQL types
|
||||
```
|
||||
|
||||
### Backend Commands
|
||||
```bash
|
||||
# Database
|
||||
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
|
||||
|
||||
# Development
|
||||
npx nx run twenty-server:start # Start the server
|
||||
npx nx run twenty-server:lint # Run linter (add --fix to auto-fix)
|
||||
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/metadata/migrations/[name] -d src/database/typeorm/metadata/metadata.datasource.ts
|
||||
|
||||
# Workspace
|
||||
npx nx run twenty-server:command workspace:sync-metadata -f # Sync metadata
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
These rules are automatically attached to relevant files in your workspace through Cursor's context system. They help maintain consistency and quality across the Twenty codebase.
|
||||
|
||||
For the most up-to-date version of these guidelines, always refer to the files in this directory.
|
||||
@@ -0,0 +1,97 @@
|
||||
# Twenty Project Architecture
|
||||
|
||||
## Overview
|
||||
Twenty is an open-source CRM built with modern technologies, using TypeScript for both frontend and backend development. This document outlines the core architectural decisions and structure of the project.
|
||||
|
||||
## Monorepo Structure
|
||||
The project is organized as a monorepo using nx, with the following main packages:
|
||||
|
||||
### Main Packages
|
||||
- `packages/twenty-front`: Main Frontend application
|
||||
- Technology: React
|
||||
- Purpose: Provides the main user interface for the CRM
|
||||
- Key responsibilities: User interactions, state management, data display
|
||||
|
||||
- `packages/twenty-server`: Main Backend application
|
||||
- Technology: NestJS
|
||||
- Purpose: Handles business logic, data persistence, and API
|
||||
- Key responsibilities: Data processing, authentication, API endpoints
|
||||
|
||||
- `packages/twenty-website`: Marketing Website and Documentation
|
||||
- Technology: NextJS
|
||||
- Purpose: Public-facing website and documentation
|
||||
- Key responsibilities: Marketing content, documentation, SEO
|
||||
|
||||
- `packages/twenty-ui`: UI Component Library
|
||||
- Technology: React
|
||||
- Purpose: Shared UI components and design system
|
||||
- Key responsibilities: Reusable components, design consistency
|
||||
|
||||
- `packages/twenty-shared`: Shared Utilities
|
||||
- Purpose: Cross-package shared code between frontend and backend
|
||||
- Contents: Utils, constants, types, interfaces
|
||||
|
||||
## Core Technology Stack
|
||||
|
||||
### Package Management
|
||||
- Package Manager: yarn
|
||||
- Monorepo Tool: nx
|
||||
- Benefits: Consistent dependency management, shared configurations
|
||||
|
||||
### Database Layer
|
||||
- Primary Database: PostgreSQL
|
||||
- Schema Structure:
|
||||
- Core schema: Main application data
|
||||
- Metadata schema: Configuration and customization data
|
||||
- Workspace schemas: One schema per tenant, containing tenant-specific data
|
||||
- ORM Layer:
|
||||
- TypeORM: For core and metadata schemas
|
||||
- Purpose: Type-safe database operations for system data
|
||||
- Benefits: Strong typing, migration support
|
||||
- TwentyORM: For workspace schemas
|
||||
- Purpose: Manages tenant-specific entities and customizations
|
||||
- Benefits: Dynamic entity management, per-tenant customization
|
||||
- Example: Entities like CompanyWorkspaceEntity are managed per workspace
|
||||
|
||||
### State Management
|
||||
- Frontend State: Recoil
|
||||
- Purpose: Global state management
|
||||
- Use cases: User preferences, UI state, cached data
|
||||
|
||||
### Data Layer
|
||||
- API Technology: GraphQL
|
||||
- Client: Apollo Client
|
||||
- Purpose: Data fetching and caching
|
||||
- Benefits: Type safety, efficient data loading
|
||||
|
||||
### Infrastructure
|
||||
- Cache: Redis
|
||||
- Purpose: High-performance caching layer
|
||||
- Use cases: Session data, frequent queries
|
||||
|
||||
- Authentication: JWT
|
||||
- Purpose: Secure user authentication
|
||||
- Implementation: Token-based auth flow
|
||||
|
||||
- Queue System: BullMQ
|
||||
- Purpose: Background job processing
|
||||
- Use cases: Emails, exports, imports
|
||||
|
||||
- Storage: S3/Local Filesystem
|
||||
- Purpose: File storage and management
|
||||
- Flexibility: Configurable for cloud or local storage
|
||||
|
||||
### Testing Infrastructure
|
||||
- Backend Testing:
|
||||
- Framework: Jest
|
||||
- API Testing: Supertest
|
||||
- Coverage: Unit tests, integration tests
|
||||
|
||||
- Frontend Testing:
|
||||
- Framework: Jest
|
||||
- Component Testing: Storybook
|
||||
- API Mocking: MSW (Mock Service Worker)
|
||||
|
||||
- End-to-End Testing:
|
||||
- Framework: Playwright
|
||||
- Coverage: Critical user journeys
|
||||
@@ -0,0 +1,259 @@
|
||||
# Code Style Guidelines
|
||||
|
||||
## Core Code Style Principles
|
||||
Twenty emphasizes clean, readable, and maintainable code. This document outlines our code style conventions and best practices.
|
||||
|
||||
## Control Flow
|
||||
|
||||
### Early Returns
|
||||
- Use early returns to reduce nesting
|
||||
- Handle edge cases first
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const processUser = (user: User | null) => {
|
||||
if (!user) return null;
|
||||
if (!user.isActive) return null;
|
||||
|
||||
return {
|
||||
id: user.id,
|
||||
name: user.name,
|
||||
};
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
const processUser = (user: User | null) => {
|
||||
if (user) {
|
||||
if (user.isActive) {
|
||||
return {
|
||||
id: user.id,
|
||||
name: user.name,
|
||||
};
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
```
|
||||
|
||||
### No Nested Ternaries
|
||||
- Avoid nested ternary operators
|
||||
- Use if statements or early returns
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const getUserDisplay = (user: User) => {
|
||||
if (!user.name) return 'Anonymous';
|
||||
if (!user.isActive) return 'Inactive User';
|
||||
return user.name;
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
const getUserDisplay = (user: User) =>
|
||||
user.name
|
||||
? user.isActive
|
||||
? user.name
|
||||
: 'Inactive User'
|
||||
: 'Anonymous';
|
||||
```
|
||||
|
||||
### No Else-If Chains
|
||||
- Use switch statements or lookup objects
|
||||
- Keep conditions flat
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const getStatusColor = (status: Status): string => {
|
||||
switch (status) {
|
||||
case 'success':
|
||||
return 'green';
|
||||
case 'warning':
|
||||
return 'yellow';
|
||||
case 'error':
|
||||
return 'red';
|
||||
default:
|
||||
return 'gray';
|
||||
}
|
||||
};
|
||||
|
||||
// Or using a lookup object
|
||||
const statusColors: Record<Status, string> = {
|
||||
success: 'green',
|
||||
warning: 'yellow',
|
||||
error: 'red',
|
||||
default: 'gray',
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
const getStatusColor = (status: Status): string => {
|
||||
if (status === 'success') {
|
||||
return 'green';
|
||||
} else if (status === 'warning') {
|
||||
return 'yellow';
|
||||
} else if (status === 'error') {
|
||||
return 'red';
|
||||
} else {
|
||||
return 'gray';
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
## Operators and Expressions
|
||||
|
||||
### Optional Chaining Over &&
|
||||
- Use optional chaining for null/undefined checks
|
||||
- Clearer intent and better type safety
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const userName = user?.name;
|
||||
const userAddress = user?.address?.street;
|
||||
|
||||
// ❌ Incorrect
|
||||
const userName = user && user.name;
|
||||
const userAddress = user && user.address && user.address.street;
|
||||
```
|
||||
|
||||
## Function Design
|
||||
|
||||
### Small Focused Functions
|
||||
- Keep functions small and single-purpose
|
||||
- Extract complex logic into helper functions
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const validateUser = (user: User) => {
|
||||
if (!isValidName(user.name)) return false;
|
||||
if (!isValidEmail(user.email)) return false;
|
||||
if (!isValidAge(user.age)) return false;
|
||||
return true;
|
||||
};
|
||||
|
||||
const isValidName = (name: string) => {
|
||||
return name.length >= 2 && /^[a-zA-Z\s]*$/.test(name);
|
||||
};
|
||||
|
||||
const isValidEmail = (email: string) => {
|
||||
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
|
||||
};
|
||||
|
||||
const isValidAge = (age: number) => {
|
||||
return age >= 18 && age <= 120;
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
const validateUser = (user: User) => {
|
||||
if (user.name.length < 2 || !/^[a-zA-Z\s]*$/.test(user.name)) return false;
|
||||
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(user.email)) return false;
|
||||
if (user.age < 18 || user.age > 120) return false;
|
||||
return true;
|
||||
};
|
||||
```
|
||||
|
||||
## Naming and Documentation
|
||||
|
||||
### Clear Variable Names
|
||||
- Use descriptive, intention-revealing names
|
||||
- Avoid abbreviations unless common
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const isUserActive = user.status === 'active';
|
||||
const hasRequiredPermissions = user.permissions.includes('admin');
|
||||
const userDisplayName = user.name || 'Anonymous';
|
||||
|
||||
// ❌ Incorrect
|
||||
const active = user.status === 'active';
|
||||
const hasPerm = user.permissions.includes('admin');
|
||||
const udn = user.name || 'Anonymous';
|
||||
```
|
||||
|
||||
### No Console.logs in Commits
|
||||
- Remove all console.logs before committing
|
||||
- Use proper logging/error tracking in production
|
||||
```typescript
|
||||
// ❌ Incorrect - Don't commit these
|
||||
console.log('user:', user);
|
||||
console.log('debug:', someValue);
|
||||
|
||||
// ✅ Correct - Use proper logging
|
||||
logger.info('User action completed', { userId: user.id });
|
||||
logger.error('Operation failed', { error });
|
||||
```
|
||||
|
||||
### Minimal Comments
|
||||
- Write self-documenting code
|
||||
- Use comments only for complex business logic
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
// Calculate pro-rated amount based on billing cycle
|
||||
const calculateProRatedAmount = (amount: number, daysLeft: number, totalDays: number) => {
|
||||
return (amount * daysLeft) / totalDays;
|
||||
};
|
||||
|
||||
// ❌ Incorrect - Unnecessary comments
|
||||
// Get the user's name
|
||||
const getUserName = (user: User) => user.name;
|
||||
|
||||
// Check if user is active
|
||||
const isUserActive = (user: User) => user.status === 'active';
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
### Proper Error Handling
|
||||
- Use try-catch blocks appropriately
|
||||
- Provide meaningful error messages
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const fetchUserData = async (userId: string) => {
|
||||
try {
|
||||
const response = await api.get(`/users/${userId}`);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
logger.error('Failed to fetch user data', {
|
||||
userId,
|
||||
error: error instanceof Error ? error.message : 'Unknown error',
|
||||
});
|
||||
throw new UserFetchError('Failed to fetch user data');
|
||||
}
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
const fetchUserData = async (userId: string) => {
|
||||
try {
|
||||
const response = await api.get(`/users/${userId}`);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
console.log('error:', error);
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
## Code Organization
|
||||
|
||||
### Logical Grouping
|
||||
- Group related code together
|
||||
- Maintain consistent organization
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
class UserService {
|
||||
// Properties
|
||||
private readonly api: Api;
|
||||
private readonly logger: Logger;
|
||||
|
||||
// Constructor
|
||||
constructor(api: Api, logger: Logger) {
|
||||
this.api = api;
|
||||
this.logger = logger;
|
||||
}
|
||||
|
||||
// Public methods
|
||||
public async getUser(id: string): Promise<User> {
|
||||
// Implementation
|
||||
}
|
||||
|
||||
public async updateUser(user: User): Promise<User> {
|
||||
// Implementation
|
||||
}
|
||||
|
||||
// Private helpers
|
||||
private validateUser(user: User): boolean {
|
||||
// Implementation
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,207 @@
|
||||
# File Structure Guidelines
|
||||
|
||||
## Core File Structure Principles
|
||||
Twenty follows a modular and organized file structure that promotes maintainability and scalability. This document outlines our file organization conventions and best practices.
|
||||
|
||||
## Component Organization
|
||||
|
||||
### One Component Per File
|
||||
- Each component should have its own file
|
||||
- File name should match component name
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
// UserProfile.tsx
|
||||
export const UserProfile = () => {
|
||||
return <div>...</div>;
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
// users.tsx
|
||||
export const UserProfile = () => {
|
||||
return <div>...</div>;
|
||||
};
|
||||
|
||||
export const UserList = () => {
|
||||
return <div>...</div>;
|
||||
};
|
||||
```
|
||||
|
||||
## Directory Structure
|
||||
|
||||
### Feature Modules
|
||||
- Place features in `modules/` directory
|
||||
- Group related components and logic
|
||||
```
|
||||
modules/
|
||||
├── users/
|
||||
│ ├── components/
|
||||
│ │ ├── UserList.tsx
|
||||
│ │ ├── UserCard.tsx
|
||||
│ │ └── UserProfile.tsx
|
||||
│ ├── hooks/
|
||||
│ │ └── useUser.ts
|
||||
│ ├── states/
|
||||
│ │ └── userStates.ts
|
||||
│ └── types/
|
||||
│ └── user.ts
|
||||
├── workspace/
|
||||
│ ├── components/
|
||||
│ ├── hooks/
|
||||
│ └── states/
|
||||
└── settings/
|
||||
├── components/
|
||||
├── hooks/
|
||||
└── states/
|
||||
```
|
||||
|
||||
### Hooks Organization
|
||||
- Place hooks in `hooks/` directory
|
||||
- Group by feature or global usage
|
||||
```
|
||||
hooks/
|
||||
├── useClickOutside.ts
|
||||
├── useDebounce.ts
|
||||
└── features/
|
||||
├── users/
|
||||
│ ├── useUserActions.ts
|
||||
│ └── useUserData.ts
|
||||
└── workspace/
|
||||
└── useWorkspaceSettings.ts
|
||||
```
|
||||
|
||||
### State Management
|
||||
- Place state definitions in `states/` directory
|
||||
- Organize by feature
|
||||
```
|
||||
states/
|
||||
├── global/
|
||||
│ ├── theme.ts
|
||||
│ └── navigation.ts
|
||||
├── users/
|
||||
│ ├── atoms.ts
|
||||
│ └── selectors.ts
|
||||
└── workspace/
|
||||
├── atoms.ts
|
||||
└── selectors.ts
|
||||
```
|
||||
|
||||
### Types Organization
|
||||
- Place types in `types/` directory
|
||||
- Group by domain or feature
|
||||
```
|
||||
types/
|
||||
├── common.ts
|
||||
├── api.ts
|
||||
└── features/
|
||||
├── user.ts
|
||||
├── workspace.ts
|
||||
└── settings.ts
|
||||
```
|
||||
|
||||
## Naming Conventions
|
||||
|
||||
### Component Files
|
||||
- Use PascalCase for component files
|
||||
- Use descriptive, feature-specific names
|
||||
```
|
||||
components/
|
||||
├── UserProfile.tsx
|
||||
├── UserProfileHeader.tsx
|
||||
└── UserProfileContent.tsx
|
||||
```
|
||||
|
||||
### Non-Component Files
|
||||
- Use camelCase for non-component files
|
||||
- Use clear, descriptive names
|
||||
```
|
||||
hooks/
|
||||
├── useClickOutside.ts
|
||||
└── useDebounce.ts
|
||||
|
||||
utils/
|
||||
├── dateFormatter.ts
|
||||
└── stringUtils.ts
|
||||
```
|
||||
|
||||
## Module Structure
|
||||
|
||||
### Feature Module Organization
|
||||
- Consistent structure across features
|
||||
- Clear separation of concerns
|
||||
```
|
||||
modules/users/
|
||||
├── components/
|
||||
│ ├── UserList/
|
||||
│ │ ├── UserList.tsx
|
||||
│ │ ├── UserListItem.tsx
|
||||
│ │ └── UserListHeader.tsx
|
||||
│ └── UserProfile/
|
||||
│ ├── UserProfile.tsx
|
||||
│ └── UserProfileHeader.tsx
|
||||
├── hooks/
|
||||
│ ├── useUserList.ts
|
||||
│ └── useUserProfile.ts
|
||||
├── states/
|
||||
│ ├── atoms.ts
|
||||
│ └── selectors.ts
|
||||
├── types/
|
||||
│ └── user.ts
|
||||
└── utils/
|
||||
└── userFormatter.ts
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Import Organization
|
||||
- Group imports by type
|
||||
- Maintain consistent order
|
||||
```typescript
|
||||
// External dependencies
|
||||
import { useState } from 'react';
|
||||
import { styled } from '@emotion/styled';
|
||||
|
||||
// Internal modules
|
||||
import { useUser } from '~/modules/users/hooks';
|
||||
import { userState } from '~/modules/users/states';
|
||||
|
||||
// Local imports
|
||||
import { UserAvatar } from './UserAvatar';
|
||||
import { type UserProfileProps } from './types';
|
||||
```
|
||||
|
||||
### Path Aliases
|
||||
- Use path aliases for better imports
|
||||
- Avoid deep relative paths
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
import { Button } from '~/components/Button';
|
||||
import { useUser } from '~/modules/users/hooks';
|
||||
|
||||
// ❌ Incorrect
|
||||
import { Button } from '../../../components/Button';
|
||||
import { useUser } from '../../../modules/users/hooks';
|
||||
```
|
||||
|
||||
### Component Co-location
|
||||
- Keep related files close together
|
||||
- Use index files for public APIs
|
||||
```
|
||||
components/UserProfile/
|
||||
├── UserProfile.tsx
|
||||
├── UserProfileHeader.tsx
|
||||
├── UserProfileContent.tsx
|
||||
├── styles.ts
|
||||
├── types.ts
|
||||
└── index.ts
|
||||
```
|
||||
|
||||
### Test File Location
|
||||
- Place test files next to implementation
|
||||
- Use `.test.ts` or `.spec.ts` extension
|
||||
```
|
||||
components/
|
||||
├── UserProfile.tsx
|
||||
├── UserProfile.test.tsx
|
||||
├── UserProfile.stories.tsx
|
||||
└── types.ts
|
||||
```
|
||||
@@ -0,0 +1,220 @@
|
||||
# React Guidelines
|
||||
|
||||
## Core React Principles
|
||||
Twenty follows modern React best practices with a focus on functional components and clean, maintainable code. This document outlines our React conventions and best practices.
|
||||
|
||||
## Component Structure
|
||||
|
||||
### Functional Components Only
|
||||
- Use functional components exclusively
|
||||
- No class components allowed
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
export const UserProfile = ({ user }: UserProfileProps) => {
|
||||
return (
|
||||
<StyledContainer>
|
||||
<h1>{user.name}</h1>
|
||||
</StyledContainer>
|
||||
);
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
export class UserProfile extends React.Component<UserProfileProps> {
|
||||
render() {
|
||||
return (
|
||||
<StyledContainer>
|
||||
<h1>{this.props.user.name}</h1>
|
||||
</StyledContainer>
|
||||
);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Named Exports
|
||||
- Use named exports exclusively
|
||||
- No default exports
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
export const Button = ({ label }: ButtonProps) => {
|
||||
return <button>{label}</button>;
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
export default function Button({ label }: ButtonProps) {
|
||||
return <button>{label}</button>;
|
||||
}
|
||||
```
|
||||
|
||||
## State and Effects
|
||||
|
||||
### Event Handlers Over useEffect
|
||||
- Prefer event handlers for state updates
|
||||
- Avoid useEffect for state synchronization
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const UserForm = () => {
|
||||
const handleSubmit = async (data: FormData) => {
|
||||
await updateUser(data);
|
||||
refreshUserList();
|
||||
};
|
||||
|
||||
return <Form onSubmit={handleSubmit} />;
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
const UserForm = () => {
|
||||
useEffect(() => {
|
||||
if (formData) {
|
||||
updateUser(formData);
|
||||
}
|
||||
}, [formData]);
|
||||
|
||||
return <Form />;
|
||||
};
|
||||
```
|
||||
|
||||
## Component Design
|
||||
|
||||
### Small, Focused Components
|
||||
- Keep components small and single-purpose
|
||||
- Extract reusable logic into custom hooks
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const UserCard = ({ user }: UserCardProps) => {
|
||||
return (
|
||||
<StyledCard>
|
||||
<UserAvatar user={user} />
|
||||
<UserInfo user={user} />
|
||||
<UserActions user={user} />
|
||||
</StyledCard>
|
||||
);
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
const UserCard = ({ user }: UserCardProps) => {
|
||||
return (
|
||||
<StyledCard>
|
||||
{/* Too much logic in one component */}
|
||||
<img src={user.avatar} />
|
||||
<div>{user.name}</div>
|
||||
<div>{user.email}</div>
|
||||
<button onClick={() => handleEdit(user)}>Edit</button>
|
||||
<button onClick={() => handleDelete(user)}>Delete</button>
|
||||
{/* More complex logic... */}
|
||||
</StyledCard>
|
||||
);
|
||||
};
|
||||
```
|
||||
|
||||
## Props
|
||||
|
||||
### Prop Naming
|
||||
- Use clear, descriptive prop names
|
||||
- Follow React conventions (onClick, isActive, etc.)
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
type ButtonProps = {
|
||||
onClick: () => void;
|
||||
isDisabled?: boolean;
|
||||
isLoading?: boolean;
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
type ButtonProps = {
|
||||
clickHandler: () => void;
|
||||
disabled?: boolean;
|
||||
loading?: boolean;
|
||||
};
|
||||
```
|
||||
|
||||
### Prop Destructuring
|
||||
- Destructure props with proper typing
|
||||
- Use TypeScript for prop types
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const Button = ({ onClick, isDisabled, children }: ButtonProps) => {
|
||||
return (
|
||||
<button onClick={onClick} disabled={isDisabled}>
|
||||
{children}
|
||||
</button>
|
||||
);
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
const Button = (props: ButtonProps) => {
|
||||
return (
|
||||
<button onClick={props.onClick} disabled={props.isDisabled}>
|
||||
{props.children}
|
||||
</button>
|
||||
);
|
||||
};
|
||||
```
|
||||
|
||||
## Performance Optimization
|
||||
|
||||
### Memoization
|
||||
- Use memo for expensive computations
|
||||
- Avoid premature optimization
|
||||
```typescript
|
||||
// ✅ Correct - Complex computation
|
||||
const MemoizedChart = memo(({ data }: ChartProps) => {
|
||||
// Complex rendering logic
|
||||
return <ComplexChart data={data} />;
|
||||
});
|
||||
|
||||
// ❌ Incorrect - Unnecessary memoization
|
||||
const MemoizedText = memo(({ text }: { text: string }) => {
|
||||
return <span>{text}</span>;
|
||||
});
|
||||
```
|
||||
|
||||
### Event Handlers
|
||||
- Use callback refs for DOM manipulation
|
||||
- Memoize callbacks when needed
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const UserList = () => {
|
||||
const handleScroll = useCallback((event: UIEvent) => {
|
||||
// Complex scroll handling
|
||||
}, []);
|
||||
|
||||
return <div onScroll={handleScroll}>{/* content */}</div>;
|
||||
};
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
### Error Boundaries
|
||||
- Use error boundaries for component error handling
|
||||
- Provide meaningful fallback UIs
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const ErrorFallback = ({ error }: { error: Error }) => (
|
||||
<StyledError>
|
||||
<h2>Something went wrong</h2>
|
||||
<pre>{error.message}</pre>
|
||||
</StyledError>
|
||||
);
|
||||
|
||||
const SafeComponent = () => (
|
||||
<ErrorBoundary FallbackComponent={ErrorFallback}>
|
||||
<ComponentThatMightError />
|
||||
</ErrorBoundary>
|
||||
);
|
||||
```
|
||||
|
||||
### Loading States
|
||||
- Handle loading states gracefully
|
||||
- Provide meaningful loading indicators
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const UserProfile = () => {
|
||||
const { data: user, isLoading, error } = useUser();
|
||||
|
||||
if (isLoading) return <LoadingSpinner />;
|
||||
if (error) return <ErrorMessage error={error} />;
|
||||
if (!user) return <NotFound />;
|
||||
|
||||
return <UserProfileContent user={user} />;
|
||||
};
|
||||
```
|
||||
@@ -0,0 +1,219 @@
|
||||
# State Management Guidelines
|
||||
|
||||
## Core State Management Principles
|
||||
Twenty uses a combination of Recoil for global state and Apollo Client for server state management. This document outlines our state management conventions and best practices.
|
||||
|
||||
## Global State Management
|
||||
|
||||
### Recoil Usage
|
||||
- Use Recoil for global application state
|
||||
- Keep atoms small and focused
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
// states/theme.ts
|
||||
export const themeState = atom<'light' | 'dark'>({
|
||||
key: 'themeState',
|
||||
default: 'light',
|
||||
});
|
||||
|
||||
// states/user.ts
|
||||
export const userState = atom<User | null>({
|
||||
key: 'userState',
|
||||
default: null,
|
||||
});
|
||||
|
||||
// ❌ Incorrect
|
||||
// states/globalState.ts
|
||||
export const globalState = atom({
|
||||
key: 'globalState',
|
||||
default: {
|
||||
theme: 'light',
|
||||
user: null,
|
||||
settings: {},
|
||||
// ... many other unrelated pieces of state
|
||||
},
|
||||
});
|
||||
```
|
||||
|
||||
### Atom Organization
|
||||
- Place atoms in the `states/` directory
|
||||
- Group related atoms in feature-specific files
|
||||
```typescript
|
||||
// states/workspace/atoms.ts
|
||||
export const workspaceIdState = atom<string>({
|
||||
key: 'workspaceIdState',
|
||||
default: '',
|
||||
});
|
||||
|
||||
export const workspaceSettingsState = atom<WorkspaceSettings>({
|
||||
key: 'workspaceSettingsState',
|
||||
default: defaultSettings,
|
||||
});
|
||||
```
|
||||
|
||||
## Server State Management
|
||||
|
||||
### Apollo Client Usage
|
||||
- Use Apollo Client for all GraphQL operations
|
||||
- Leverage Apollo's caching capabilities
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const { data, loading } = useQuery(GET_USER_QUERY, {
|
||||
variables: { id },
|
||||
fetchPolicy: 'cache-first',
|
||||
});
|
||||
|
||||
// ❌ Incorrect
|
||||
const [user, setUser] = useState(null);
|
||||
useEffect(() => {
|
||||
fetch('/api/user/' + id).then(setUser);
|
||||
}, [id]);
|
||||
```
|
||||
|
||||
### Query Organization
|
||||
- Separate operation files
|
||||
- Use fragments for shared fields
|
||||
```typescript
|
||||
// queries/user.ts
|
||||
export const UserFragment = gql`
|
||||
fragment UserFields on User {
|
||||
id
|
||||
name
|
||||
email
|
||||
}
|
||||
`;
|
||||
|
||||
export const GET_USER = gql`
|
||||
query GetUser($id: ID!) {
|
||||
user(id: $id) {
|
||||
...UserFields
|
||||
}
|
||||
}
|
||||
${UserFragment}
|
||||
`;
|
||||
```
|
||||
|
||||
## State Management Best Practices
|
||||
|
||||
### Multiple Small Atoms
|
||||
- Prefer multiple small atoms over prop drilling
|
||||
- Keep atoms focused on specific features
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
export const selectedViewState = atom<string>({
|
||||
key: 'selectedViewState',
|
||||
default: '',
|
||||
});
|
||||
|
||||
export const viewFiltersState = atom<ViewFilters>({
|
||||
key: 'viewFiltersState',
|
||||
default: {},
|
||||
});
|
||||
|
||||
// ❌ Incorrect - Prop drilling
|
||||
const ViewContainer = ({ selectedView, filters, onViewChange }) => {
|
||||
return (
|
||||
<ViewHeader view={selectedView} onViewChange={onViewChange}>
|
||||
<ViewContent>
|
||||
<ViewFilters filters={filters} />
|
||||
</ViewContent>
|
||||
</ViewHeader>
|
||||
);
|
||||
};
|
||||
```
|
||||
|
||||
### No useRef for State
|
||||
- Never use useRef for state management
|
||||
- Use proper state management tools
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const [count, setCount] = useState(0);
|
||||
// or
|
||||
const [count, setCount] = useRecoilState(countState);
|
||||
|
||||
// ❌ Incorrect
|
||||
const countRef = useRef(0);
|
||||
```
|
||||
|
||||
### Data Fetching
|
||||
- Extract data fetching to sibling components
|
||||
- Keep components focused on presentation
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const UserProfileContainer = () => {
|
||||
const { data, loading } = useQuery(GET_USER);
|
||||
if (loading) return <LoadingSpinner />;
|
||||
return <UserProfile user={data.user} />;
|
||||
};
|
||||
|
||||
const UserProfile = ({ user }: UserProfileProps) => {
|
||||
return <div>{user.name}</div>;
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
const UserProfile = () => {
|
||||
const { data, loading } = useQuery(GET_USER);
|
||||
if (loading) return <LoadingSpinner />;
|
||||
return <div>{data.user.name}</div>;
|
||||
};
|
||||
```
|
||||
|
||||
### Hook Usage
|
||||
- Use appropriate hooks for state access
|
||||
- Choose between useRecoilValue and useRecoilState based on needs
|
||||
```typescript
|
||||
// ✅ Correct - Read-only access
|
||||
const theme = useRecoilValue(themeState);
|
||||
|
||||
// ✅ Correct - Read-write access
|
||||
const [theme, setTheme] = useRecoilState(themeState);
|
||||
|
||||
// ❌ Incorrect - Using state setter when only reading
|
||||
const [theme, _] = useRecoilState(themeState);
|
||||
```
|
||||
|
||||
## Performance Considerations
|
||||
|
||||
### Selector Usage
|
||||
- Use selectors for derived state
|
||||
- Memoize complex calculations
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const filteredUsersState = selector({
|
||||
key: 'filteredUsersState',
|
||||
get: ({ get }) => {
|
||||
const users = get(usersState);
|
||||
const filter = get(userFilterState);
|
||||
return users.filter(user =>
|
||||
user.name.toLowerCase().includes(filter.toLowerCase())
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
// ❌ Incorrect - Calculating in component
|
||||
const UserList = () => {
|
||||
const users = useRecoilValue(usersState);
|
||||
const filter = useRecoilValue(userFilterState);
|
||||
const filteredUsers = users.filter(user =>
|
||||
user.name.toLowerCase().includes(filter.toLowerCase())
|
||||
);
|
||||
return <List users={filteredUsers} />;
|
||||
};
|
||||
```
|
||||
|
||||
### Cache Management
|
||||
- Configure appropriate cache policies
|
||||
- Handle cache invalidation properly
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
const [updateUser] = useMutation(UPDATE_USER, {
|
||||
update: (cache, { data }) => {
|
||||
cache.modify({
|
||||
id: cache.identify(data.updateUser),
|
||||
fields: {
|
||||
name: () => data.updateUser.name,
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
```
|
||||
@@ -0,0 +1,253 @@
|
||||
# Testing Guidelines
|
||||
|
||||
## Core Testing Principles
|
||||
Twenty follows a comprehensive testing strategy across all packages, ensuring high-quality, maintainable code. This document outlines our testing conventions and best practices.
|
||||
|
||||
## Testing Stack
|
||||
|
||||
### Backend Testing
|
||||
- Primary Framework: Jest
|
||||
- API Testing: Supertest
|
||||
- Coverage Requirements: 80% minimum
|
||||
|
||||
### Frontend Testing
|
||||
- Component Testing: Jest + React Testing Library
|
||||
- Visual Testing: Storybook
|
||||
- API Mocking: MSW (Mock Service Worker)
|
||||
|
||||
### End-to-End Testing
|
||||
- Framework: Playwright
|
||||
- Coverage: Critical user journeys
|
||||
- Cross-browser testing
|
||||
|
||||
## Test Organization
|
||||
|
||||
### Test File Location
|
||||
- Co-locate tests with implementation files
|
||||
- Use consistent naming patterns
|
||||
```
|
||||
src/
|
||||
├── components/
|
||||
│ ├── UserProfile.tsx
|
||||
│ ├── UserProfile.test.tsx
|
||||
│ └── UserProfile.stories.tsx
|
||||
```
|
||||
|
||||
### Test File Naming
|
||||
- Use `.test.ts(x)` for unit/integration tests
|
||||
- Use `.spec.ts(x)` for E2E tests
|
||||
- Use `.stories.tsx` for Storybook stories
|
||||
|
||||
## Unit Testing
|
||||
|
||||
### Component Testing
|
||||
- Test behavior, not implementation
|
||||
- Use React Testing Library best practices
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
test('displays user name when provided', () => {
|
||||
render(<UserProfile user={{ name: 'John Doe' }} />);
|
||||
expect(screen.getByText('John Doe')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
// ❌ Incorrect - Testing implementation details
|
||||
test('sets the text content', () => {
|
||||
const { container } = render(<UserProfile user={{ name: 'John Doe' }} />);
|
||||
expect(container.querySelector('h1').textContent).toBe('John Doe');
|
||||
});
|
||||
```
|
||||
|
||||
### Hook Testing
|
||||
- Use `renderHook` from @testing-library/react-hooks
|
||||
- Test all possible states
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
test('useUser hook manages user state', () => {
|
||||
const { result } = renderHook(() => useUser());
|
||||
|
||||
act(() => {
|
||||
result.current.setUser({ id: '1', name: 'John' });
|
||||
});
|
||||
|
||||
expect(result.current.user).toEqual({ id: '1', name: 'John' });
|
||||
});
|
||||
```
|
||||
|
||||
### Mocking
|
||||
- Mock external dependencies
|
||||
- Use jest.mock for module mocking
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
jest.mock('~/services/api', () => ({
|
||||
fetchUser: jest.fn().mockResolvedValue({ id: '1', name: 'John' }),
|
||||
}));
|
||||
|
||||
test('fetches and displays user', async () => {
|
||||
render(<UserProfile userId="1" />);
|
||||
expect(await screen.findByText('John')).toBeInTheDocument();
|
||||
});
|
||||
```
|
||||
|
||||
## Integration Testing
|
||||
|
||||
### API Testing
|
||||
- Test complete request/response cycles
|
||||
- Use Supertest for backend API testing
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
describe('GET /api/users/:id', () => {
|
||||
it('returns user when found', async () => {
|
||||
const response = await request(app)
|
||||
.get('/api/users/1')
|
||||
.expect(200);
|
||||
|
||||
expect(response.body).toEqual({
|
||||
id: '1',
|
||||
name: 'John Doe',
|
||||
});
|
||||
});
|
||||
|
||||
it('returns 404 when user not found', async () => {
|
||||
await request(app)
|
||||
.get('/api/users/999')
|
||||
.expect(404);
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
## E2E Testing
|
||||
|
||||
### Test Structure
|
||||
- Organize by user journey
|
||||
- Use page objects for reusability
|
||||
```typescript
|
||||
// pages/login.ts
|
||||
export class LoginPage {
|
||||
async login(email: string, password: string) {
|
||||
await this.page.fill('[data-testid="email-input"]', email);
|
||||
await this.page.fill('[data-testid="password-input"]', password);
|
||||
await this.page.click('[data-testid="login-button"]');
|
||||
}
|
||||
}
|
||||
|
||||
// tests/auth.spec.ts
|
||||
test('user can login successfully', async ({ page }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.login('user@example.com', 'password');
|
||||
await expect(page).toHaveURL('/dashboard');
|
||||
});
|
||||
```
|
||||
|
||||
### Test Data
|
||||
- Use dedicated test environments
|
||||
- Reset state between tests
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
beforeEach(async () => {
|
||||
await resetDatabase();
|
||||
await seedTestData();
|
||||
});
|
||||
|
||||
test('user workflow', async ({ page }) => {
|
||||
// Test with clean, predictable state
|
||||
});
|
||||
```
|
||||
|
||||
## Visual Testing
|
||||
|
||||
### Storybook Guidelines
|
||||
- Create stories for all components
|
||||
- Document component variants
|
||||
```typescript
|
||||
// Button.stories.tsx
|
||||
export default {
|
||||
title: 'Components/Button',
|
||||
component: Button,
|
||||
} as Meta;
|
||||
|
||||
export const Primary = {
|
||||
args: {
|
||||
variant: 'primary',
|
||||
label: 'Primary Button',
|
||||
},
|
||||
};
|
||||
|
||||
export const Secondary = {
|
||||
args: {
|
||||
variant: 'secondary',
|
||||
label: 'Secondary Button',
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
### Visual Regression
|
||||
- Use Storybook's visual regression testing
|
||||
- Review changes carefully
|
||||
```typescript
|
||||
// jest.config.js
|
||||
module.exports = {
|
||||
preset: 'jest-image-snapshot',
|
||||
setupFilesAfterEnv: ['<rootDir>/setup-tests.ts'],
|
||||
};
|
||||
|
||||
// Button.visual.test.tsx
|
||||
describe('Button', () => {
|
||||
it('matches visual snapshot', async () => {
|
||||
const image = await page.screenshot();
|
||||
expect(image).toMatchImageSnapshot();
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
## Test Quality
|
||||
|
||||
### Test Data Attributes
|
||||
- Use data-testid for test selectors
|
||||
- Avoid selecting by CSS classes
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
<button data-testid="submit-button">Submit</button>
|
||||
|
||||
// In tests
|
||||
const button = screen.getByTestId('submit-button');
|
||||
|
||||
// ❌ Incorrect
|
||||
const button = container.querySelector('.submit-btn');
|
||||
```
|
||||
|
||||
### Assertion Best Practices
|
||||
- Use explicit assertions
|
||||
- Test both positive and negative cases
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
test('form validation', async () => {
|
||||
render(<UserForm />);
|
||||
|
||||
// Negative case
|
||||
await userEvent.click(screen.getByText('Submit'));
|
||||
expect(screen.getByText('Name is required')).toBeInTheDocument();
|
||||
|
||||
// Positive case
|
||||
await userEvent.type(screen.getByLabelText('Name'), 'John Doe');
|
||||
await userEvent.click(screen.getByText('Submit'));
|
||||
expect(screen.queryByText('Name is required')).not.toBeInTheDocument();
|
||||
});
|
||||
```
|
||||
|
||||
### Coverage Requirements
|
||||
- A new feature should have at least 80% coverage
|
||||
- Focus on critical paths
|
||||
- Run coverage reports in CI
|
||||
```typescript
|
||||
// jest.config.js
|
||||
module.exports = {
|
||||
coverageThreshold: {
|
||||
global: {
|
||||
statements: 80,
|
||||
branches: 80,
|
||||
functions: 80,
|
||||
lines: 80,
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
@@ -0,0 +1,162 @@
|
||||
# Translation Guidelines
|
||||
|
||||
## Core Translation Principles
|
||||
Twenty uses Lingui for internationalization (i18n) and Crowdin for translation management. This document outlines our translation workflow and best practices.
|
||||
|
||||
## Technology Stack
|
||||
|
||||
### Translation Tools
|
||||
- **Framework**: @lingui/react
|
||||
- **Translation Management**: Crowdin
|
||||
- **Workflow**: GitHub Actions for automation
|
||||
|
||||
### Package Structure
|
||||
Translation files are managed in multiple packages:
|
||||
- `twenty-front`: Frontend translations
|
||||
- `twenty-server`: Backend translations
|
||||
- `twenty-emails`: Email template translations
|
||||
|
||||
## Translation Process
|
||||
|
||||
### Adding New Strings
|
||||
|
||||
#### Using Lingui Macros
|
||||
- Use `<Trans>` for components
|
||||
- Use `t` macro for strings outside JSX
|
||||
```typescript
|
||||
// ✅ Correct - In JSX
|
||||
import { Trans } from '@lingui/react/macro';
|
||||
|
||||
const WelcomeMessage = () => (
|
||||
<h1>
|
||||
<Trans>Welcome to Twenty</Trans>
|
||||
</h1>
|
||||
);
|
||||
|
||||
// ✅ Correct - Outside JSX
|
||||
import { t } from '@lingui/react/macro';
|
||||
|
||||
const getMessage = () => {
|
||||
return t`Welcome to Twenty`;
|
||||
};
|
||||
|
||||
// ❌ Incorrect - Don't use raw strings
|
||||
const WelcomeMessage = () => (
|
||||
<h1>Welcome to Twenty</h1>
|
||||
);
|
||||
```
|
||||
|
||||
### String Guidelines
|
||||
|
||||
#### What to Translate
|
||||
- User interface text
|
||||
- Error messages
|
||||
- Notifications
|
||||
- Email content
|
||||
|
||||
#### What Not to Translate
|
||||
- Variables
|
||||
- Test data/mocks
|
||||
|
||||
### Translation Workflow
|
||||
|
||||
#### 1. Extracting Translations
|
||||
- Automatically triggered on main branch changes
|
||||
- Can be manually triggered in GitHub Actions
|
||||
- Process:
|
||||
```bash
|
||||
# Extract new strings
|
||||
nx run twenty-front:lingui:extract
|
||||
nx run twenty-server:lingui:extract
|
||||
nx run twenty-emails:lingui:extract
|
||||
```
|
||||
|
||||
#### 2. Translation Management
|
||||
- Translations are managed in Crowdin
|
||||
- Changes are synced every 2 hours
|
||||
- Process:
|
||||
1. New strings are uploaded to Crowdin
|
||||
2. Translators work on translations
|
||||
3. Translations are pulled back to the repository
|
||||
|
||||
#### 3. Compiling Translations
|
||||
- Happens automatically in CI/CD
|
||||
- Required before running the application
|
||||
```bash
|
||||
# Compile translations
|
||||
nx run twenty-front:lingui:compile
|
||||
nx run twenty-server:lingui:compile
|
||||
nx run twenty-emails:lingui:compile
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
### String Management
|
||||
|
||||
#### Use Placeholders
|
||||
- Use placeholders for dynamic content
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
<Trans>Hello {userName},</Trans>
|
||||
|
||||
// ❌ Incorrect - String concatenation
|
||||
<Trans>Hello </Trans>{userName},
|
||||
```
|
||||
|
||||
#### Provide Context
|
||||
- Lingui provides powerfulway to add context for translators but we don't use them as of today.
|
||||
|
||||
### Code Organization
|
||||
|
||||
#### Translation Files
|
||||
- Keep translation files organized by feature
|
||||
- Use consistent naming patterns
|
||||
```
|
||||
src/
|
||||
├── locales/
|
||||
│ ├── en/
|
||||
│ │ ├── messages.po
|
||||
│ │ └── messages.js
|
||||
│ └── fr/
|
||||
│ ├── messages.po
|
||||
│ └── messages.js
|
||||
```
|
||||
|
||||
### Quality Assurance
|
||||
|
||||
#### Strict Mode
|
||||
- Use --strict mode when compiling to identify missing translations
|
||||
|
||||
|
||||
#### Testing Translations
|
||||
- Test with different locales
|
||||
- Verify string interpolation
|
||||
- Check layout with different language lengths
|
||||
|
||||
## Automation
|
||||
|
||||
### GitHub Actions
|
||||
|
||||
#### Pull Workflow
|
||||
- Runs every 2 hours
|
||||
- Downloads new translations from Crowdin
|
||||
- Creates PR if changes detected
|
||||
- Can be manually triggered with force pull option
|
||||
|
||||
#### Push Workflow
|
||||
- Runs on main branch changes
|
||||
- Extracts and uploads new strings
|
||||
- Compiles translations
|
||||
- Creates PR with changes
|
||||
|
||||
### Error Handling
|
||||
|
||||
#### Missing Translations
|
||||
- Development: Shown in original language
|
||||
- Production: Falls back to default language
|
||||
- Strict mode in CI catches missing translations
|
||||
|
||||
#### Compilation Errors
|
||||
- Addressed before merging
|
||||
- PR created for fixing missing translations
|
||||
- Automated testing in CI pipeline
|
||||
@@ -0,0 +1,172 @@
|
||||
# TypeScript Guidelines
|
||||
|
||||
## Core TypeScript Principles
|
||||
Twenty enforces strict TypeScript usage to ensure type safety and maintainable code. This document outlines our TypeScript conventions and best practices.
|
||||
|
||||
## Type Safety
|
||||
|
||||
### Strict Typing
|
||||
- **No 'any' type allowed**
|
||||
- TypeScript strict mode enabled
|
||||
- noImplicitAny enabled
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
function processUser(user: User) {
|
||||
return user.name;
|
||||
}
|
||||
|
||||
// ❌ Incorrect
|
||||
function processUser(user: any) {
|
||||
return user.name;
|
||||
}
|
||||
```
|
||||
|
||||
### Type Definitions
|
||||
|
||||
#### Types over Interfaces
|
||||
- Use `type` for all type definitions
|
||||
- Exception: When extending third-party interfaces
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
type User = {
|
||||
id: string;
|
||||
name: string;
|
||||
email: string;
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
interface User {
|
||||
id: string;
|
||||
name: string;
|
||||
email: string;
|
||||
}
|
||||
```
|
||||
|
||||
### String Literals over Enums
|
||||
- Use string literal unions instead of enums
|
||||
- Exception: GraphQL enums
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
type UserRole = 'admin' | 'user' | 'guest';
|
||||
|
||||
// ❌ Incorrect
|
||||
enum UserRole {
|
||||
Admin = 'admin',
|
||||
User = 'user',
|
||||
Guest = 'guest',
|
||||
}
|
||||
```
|
||||
|
||||
## Naming Conventions
|
||||
|
||||
### Component Props
|
||||
- Suffix component prop types with 'Props'
|
||||
- Keep props focused and single-purpose
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
type ButtonProps = {
|
||||
label: string;
|
||||
onClick: () => void;
|
||||
variant?: 'primary' | 'secondary';
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
type ButtonParameters = {
|
||||
label: string;
|
||||
onClick: () => void;
|
||||
variant?: 'primary' | 'secondary';
|
||||
};
|
||||
```
|
||||
|
||||
## Type Inference
|
||||
|
||||
### Leverage TypeScript Inference
|
||||
- Use type inference when types are clear
|
||||
- Explicitly type when inference is ambiguous
|
||||
```typescript
|
||||
// ✅ Correct - Clear inference
|
||||
const users = ['John', 'Jane']; // inferred as string[]
|
||||
|
||||
// ✅ Correct - Explicit typing needed
|
||||
const processUser = (user: User): UserResponse => {
|
||||
// Complex processing
|
||||
return response;
|
||||
};
|
||||
|
||||
// ❌ Incorrect - Unnecessary explicit typing
|
||||
const users: string[] = ['John', 'Jane'];
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Type Guards
|
||||
- Use type guards for runtime type checking
|
||||
- Prefer discriminated unions
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
type Success = {
|
||||
type: 'success';
|
||||
data: User;
|
||||
};
|
||||
|
||||
type Error = {
|
||||
type: 'error';
|
||||
message: string;
|
||||
};
|
||||
|
||||
type Result = Success | Error;
|
||||
|
||||
function handleResult(result: Result) {
|
||||
if (result.type === 'success') {
|
||||
// TypeScript knows result.data exists
|
||||
console.log(result.data);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Generics
|
||||
- Use generics for reusable type patterns
|
||||
- Keep generic names descriptive
|
||||
```typescript
|
||||
// ✅ Correct
|
||||
type ApiResponse<TData> = {
|
||||
data: TData;
|
||||
status: number;
|
||||
message: string;
|
||||
};
|
||||
|
||||
// ❌ Incorrect
|
||||
type ApiResponse<T> = {
|
||||
data: T;
|
||||
status: number;
|
||||
message: string;
|
||||
};
|
||||
```
|
||||
|
||||
### Type Exports
|
||||
- Export types when they're used across files
|
||||
- Keep type definitions close to their usage
|
||||
```typescript
|
||||
// types.ts
|
||||
export type User = {
|
||||
id: string;
|
||||
name: string;
|
||||
};
|
||||
|
||||
// UserComponent.tsx
|
||||
import { type User } from './types';
|
||||
```
|
||||
|
||||
### Utility Types
|
||||
- Leverage TypeScript utility types
|
||||
- Create custom utility types for repeated patterns
|
||||
```typescript
|
||||
// Built-in utility types
|
||||
type UserPartial = Partial<User>;
|
||||
type UserReadonly = Readonly<User>;
|
||||
|
||||
// Custom utility types
|
||||
type NonNullableProperties<T> = {
|
||||
[P in keyof T]: NonNullable<T[P]>;
|
||||
};
|
||||
```
|
||||
@@ -1,99 +0,0 @@
|
||||
# Twenty Development Rules
|
||||
|
||||
## General
|
||||
- Twenty is an open source CRM built with Typescript (React, NestJS)
|
||||
|
||||
### Main Packages / folders
|
||||
- packages/twenty-front: Main Frontend (React)
|
||||
- packages/twenty-server: Main Backend (NestJS)
|
||||
- packages/twenty-website: Marketing website + docs (NextJS)
|
||||
- packages/twenty-ui: UI library (React)
|
||||
- packages/twenty-shared: Shared utils, constants, types
|
||||
|
||||
### Development Stack
|
||||
- Package Manager: yarn
|
||||
- Monorepo: nx
|
||||
- Database: PostgreSQL + TypeORM (core, metadata schemas)
|
||||
- State Management: Recoil
|
||||
- Data Management: Apollo / GraphQL
|
||||
- Cache: redis
|
||||
- Auth: JWT
|
||||
- Queue: BullMQ
|
||||
- Storage: S3/local filesystem
|
||||
- Testing Backend: Jest, Supertest
|
||||
- Testing Frontend: Jest, Storybook, MSW
|
||||
- Testing E2E: Playwright
|
||||
|
||||
## Styling
|
||||
- Use @emotion/styled, never CSS classes/Tailwind
|
||||
- Prefix styled components with 'Styled'
|
||||
- Keep styled components at top of file
|
||||
- Use Theme object for colors/spacing/typography
|
||||
- Use Theme values instead of px/rem
|
||||
- Use mq helper for media queries
|
||||
|
||||
## TypeScript
|
||||
- No 'any' type - use proper typing
|
||||
- Use type over interface
|
||||
- String literals over enums (except GraphQL)
|
||||
- Props suffix for component props types
|
||||
- Use type inference when possible
|
||||
- Enable strict mode and noImplicitAny
|
||||
|
||||
## React
|
||||
- Only functional components
|
||||
- Named exports only
|
||||
- No useEffect, prefer event handlers
|
||||
- Small focused components
|
||||
- Proper prop naming (onClick, isActive)
|
||||
- Destructure props with types
|
||||
|
||||
## State Management
|
||||
- Recoil for global state
|
||||
- Apollo Client for GraphQL/server state
|
||||
- Atoms in states/ directory
|
||||
- Multiple small atoms over prop drilling
|
||||
- No useRef for state
|
||||
- Extract data fetching to siblings
|
||||
- useRecoilValue/useRecoilState appropriately
|
||||
|
||||
## File Structure
|
||||
- One component per file
|
||||
- Features in modules/
|
||||
- Hooks in hooks/
|
||||
- States in states/
|
||||
- Types in types/
|
||||
- PascalCase components, camelCase others
|
||||
|
||||
## Translation
|
||||
- Use @lingui/react/macro
|
||||
- Use <Trans> within components
|
||||
- Use t`string` elsewhere (from useLingui hook)
|
||||
- Don't translate metadata (field names, object names, etc)
|
||||
- Don't translate mocks
|
||||
|
||||
## Code Style
|
||||
- Early returns
|
||||
- No nested ternaries
|
||||
- No else-if
|
||||
- Optional chaining over &&
|
||||
- Small focused functions
|
||||
- Clear variable names
|
||||
- No console.logs in commits
|
||||
- Few comments, prefer code readability
|
||||
|
||||
## GraphQL
|
||||
- Use gql tag
|
||||
- Separate operation files
|
||||
- Proper codegen typing
|
||||
- Consistent naming (getX, updateX)
|
||||
- Use fragments
|
||||
- Use generated types
|
||||
|
||||
## Testing
|
||||
- Test every feature
|
||||
- React Testing Library
|
||||
- Test behavior not implementation
|
||||
- Mock external deps
|
||||
- Use data-testid
|
||||
- Follow naming conventions
|
||||
@@ -108,15 +108,14 @@ jobs:
|
||||
- name: GraphQL / Check for Pending Generation
|
||||
if: steps.changed-files.outputs.any_changed == 'true'
|
||||
run: |
|
||||
GRAPHQL_GENERATE_OUTPUT=$(npx nx run twenty-front:graphql:generate || true)
|
||||
GRAPHQL_METADATA_OUTPUT=$(npx nx run twenty-front:graphql:generate --configuration=metadata || true)
|
||||
if [[ $GRAPHQL_GENERATE_OUTPUT == *"No changes detected"* && $GRAPHQL_METADATA_OUTPUT == *"No changes detected"* ]]; then
|
||||
echo "GraphQL generation check passed."
|
||||
else
|
||||
echo "::error::Unexpected GraphQL changes detected. Please run the required commands and commit the changes."
|
||||
echo "$GRAPHQL_GENERATE_OUTPUT"
|
||||
echo "$GRAPHQL_METADATA_OUTPUT"
|
||||
exit 1
|
||||
# Run GraphQL generation commands
|
||||
npx nx run twenty-front:graphql:generate
|
||||
npx nx run twenty-front:graphql:generate --configuration=metadata
|
||||
|
||||
# Check if any files were modified
|
||||
if ! git diff --quiet; then
|
||||
echo "::error::GraphQL schema changes detected. Please run 'npx nx run twenty-front:graphql:generate' and 'npx nx run twenty-front:graphql:generate --configuration=metadata' and commit the changes."
|
||||
exit 1
|
||||
fi
|
||||
- name: Save server setup
|
||||
uses: ./.github/workflows/actions/save-cache
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Pull down translations from Crowdin every two hours or when triggered manually.
|
||||
# When force_pull input is true, translations will be pulled regardless of compilation status.
|
||||
|
||||
name: 'Pull translations'
|
||||
name: 'Pull translations from Crowdin'
|
||||
|
||||
on:
|
||||
schedule:
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
|
||||
# Strict mode fails if there are missing translations.
|
||||
- name: Compile translations
|
||||
id: compile_translations
|
||||
id: compile_translations_strict
|
||||
run: |
|
||||
npx nx run twenty-server:lingui:compile --strict
|
||||
npx nx run twenty-emails:lingui:compile --strict
|
||||
@@ -68,7 +68,7 @@ jobs:
|
||||
git stash
|
||||
|
||||
- name: Pull translations from Crowdin
|
||||
if: inputs.force_pull || steps.compile_translations.outcome == 'failure'
|
||||
if: inputs.force_pull || steps.compile_translations_strict.outcome == 'failure'
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
upload_sources: false
|
||||
@@ -98,18 +98,13 @@ jobs:
|
||||
run: sudo chown -R runner:docker .
|
||||
|
||||
- name: Compile translations
|
||||
if: inputs.force_pull || steps.compile_translations.outcome == 'failure'
|
||||
id: compile_translations
|
||||
if: inputs.force_pull || steps.compile_translations_strict.outcome == 'failure'
|
||||
run: |
|
||||
npx nx run twenty-server:lingui:compile
|
||||
npx nx run twenty-emails:lingui:compile
|
||||
npx nx run twenty-front:lingui:compile
|
||||
|
||||
- name: Debug git status
|
||||
run: git status
|
||||
|
||||
- name: Check and commit compiled files
|
||||
id: check_changes
|
||||
run: |
|
||||
git status
|
||||
git config --global user.name 'github-actions'
|
||||
git config --global user.email 'github-actions@twenty.com'
|
||||
git add .
|
||||
@@ -121,11 +116,11 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Push changes
|
||||
if: steps.check_changes.outputs.changes_detected == 'true'
|
||||
if: steps.compile_translations.outputs.changes_detected == 'true'
|
||||
run: git push origin HEAD:i18n
|
||||
|
||||
- name: Create pull request
|
||||
if: steps.check_changes.outputs.changes_detected == 'true'
|
||||
if: steps.compile_translations.outputs.changes_detected == 'true'
|
||||
run: |
|
||||
if git diff --name-only origin/main..HEAD | grep -q .; then
|
||||
gh pr create -B main -H i18n --title 'i18n - translations' --body 'Created by Github action' || true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: 'Extract translations when there is a push to main, and upload them to Crowdin'
|
||||
name: 'Push translations to Crowdin'
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@@ -16,6 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -2,6 +2,8 @@ enableHardenedMode: true
|
||||
|
||||
enableInlineHunks: true
|
||||
|
||||
enableConstraintsChecks: true
|
||||
|
||||
nodeLinker: node-modules
|
||||
|
||||
yarnPath: .yarn/releases/yarn-4.4.0.cjs
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@air/react-drag-to-select": "^5.0.8",
|
||||
"@apollo/client": "^3.7.17",
|
||||
@@ -293,6 +294,7 @@
|
||||
"@typescript-eslint/utils": "6.21.0",
|
||||
"@vitejs/plugin-react-swc": "^3.5.0",
|
||||
"@vitest/ui": "1.4.0",
|
||||
"@yarnpkg/types": "^4.0.0",
|
||||
"chromatic": "^6.18.0",
|
||||
"concurrently": "^8.2.2",
|
||||
"cross-var": "^1.1.0",
|
||||
|
||||
@@ -26,4 +26,9 @@ WORKDIR /app/packages/twenty-website
|
||||
LABEL org.opencontainers.image.source=https://github.com/twentyhq/twenty
|
||||
LABEL org.opencontainers.image.description="This image provides a consistent and reproducible environment for the website."
|
||||
|
||||
RUN chown -R 1000 /app
|
||||
|
||||
# Use non root user with uid 1000
|
||||
USER 1000
|
||||
|
||||
CMD ["/bin/sh", "-c", "npx nx start"]
|
||||
@@ -230,11 +230,13 @@ export class WorkflowVisualizerPage {
|
||||
}
|
||||
|
||||
async closeSidePanel() {
|
||||
const closeButton = this.#page.getByTestId(
|
||||
'page-header-command-menu-button',
|
||||
);
|
||||
const closeButton = this.#page.getByRole('button', {
|
||||
name: 'Close command menu',
|
||||
});
|
||||
|
||||
await closeButton.click();
|
||||
|
||||
await expect(this.#page.getByTestId('command-menu')).not.toBeVisible();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ export class MainPage {
|
||||
private readonly hiddenFieldsButton: Locator;
|
||||
private readonly editFieldsButton: Locator;
|
||||
private readonly importButton: Locator;
|
||||
private readonly exportButton: Locator;
|
||||
private readonly deletedRecordsButton: Locator;
|
||||
private readonly createNewRecordButton: Locator;
|
||||
private readonly addToFavoritesButton: Locator;
|
||||
@@ -67,16 +66,12 @@ export class MainPage {
|
||||
this.importButton = page
|
||||
.getByTestId('tooltip')
|
||||
.filter({ hasText: /^Import$/ });
|
||||
this.exportButton = page
|
||||
.getByTestId('tooltip')
|
||||
.filter({ hasText: /^Export$/ });
|
||||
this.deletedRecordsButton = page
|
||||
.getByTestId('tooltip')
|
||||
.filter({ hasText: /^Deleted */ });
|
||||
this.createNewRecordButton = page.getByTestId('add-button');
|
||||
this.addToFavoritesButton = page.getByText('Add to favorites');
|
||||
this.deleteFromFavoritesButton = page.getByText('Delete from favorites');
|
||||
this.exportBottomBarButton = page.getByText('Export');
|
||||
this.deleteRecordsButton = page.getByText('Delete');
|
||||
}
|
||||
|
||||
@@ -166,10 +161,6 @@ export class MainPage {
|
||||
await this.importButton.click();
|
||||
}
|
||||
|
||||
async clickExportButton() {
|
||||
await this.exportButton.click();
|
||||
}
|
||||
|
||||
async clickDeletedRecordsButton() {
|
||||
await this.deletedRecordsButton.click();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "twenty-e2e-testing",
|
||||
"version": "0.42.14",
|
||||
"version": "0.43.0",
|
||||
"description": "",
|
||||
"author": "",
|
||||
"private": true,
|
||||
|
||||
@@ -1,60 +1,60 @@
|
||||
import { expect } from '@playwright/test';
|
||||
import { test } from '../lib/fixtures/blank-workflow';
|
||||
|
||||
test('The workflow run visualizer shows the executed draft version without the last draft changes', async ({
|
||||
workflowVisualizer,
|
||||
page,
|
||||
}) => {
|
||||
await workflowVisualizer.createInitialTrigger('manual');
|
||||
test.fixme(
|
||||
'The workflow run visualizer shows the executed draft version without the last draft changes',
|
||||
async ({ workflowVisualizer, page }) => {
|
||||
await workflowVisualizer.createInitialTrigger('manual');
|
||||
|
||||
const manualTriggerAvailabilitySelect = page.getByRole('button', {
|
||||
name: 'When record(s) are selected',
|
||||
});
|
||||
const manualTriggerAvailabilitySelect = page.getByRole('button', {
|
||||
name: 'When record(s) are selected',
|
||||
});
|
||||
|
||||
await manualTriggerAvailabilitySelect.click();
|
||||
await manualTriggerAvailabilitySelect.click();
|
||||
|
||||
const alwaysAvailableOption = page.getByText(
|
||||
'When no record(s) are selected',
|
||||
);
|
||||
const alwaysAvailableOption = page.getByText(
|
||||
'When no record(s) are selected',
|
||||
);
|
||||
|
||||
await alwaysAvailableOption.click();
|
||||
await alwaysAvailableOption.click();
|
||||
|
||||
await workflowVisualizer.closeSidePanel();
|
||||
await workflowVisualizer.closeSidePanel();
|
||||
|
||||
const { createdStepId: firstStepId } =
|
||||
await workflowVisualizer.createStep('create-record');
|
||||
const { createdStepId: firstStepId } =
|
||||
await workflowVisualizer.createStep('create-record');
|
||||
|
||||
await workflowVisualizer.closeSidePanel();
|
||||
await workflowVisualizer.closeSidePanel();
|
||||
|
||||
const launchTestButton = page.getByRole('button', { name: 'Test' });
|
||||
const launchTestButton = page.getByLabel('Test Workflow');
|
||||
|
||||
await launchTestButton.click();
|
||||
await launchTestButton.click();
|
||||
|
||||
const goToExecutionPageLink = page.getByRole('link', {
|
||||
name: 'View execution details',
|
||||
});
|
||||
const executionPageUrl = await goToExecutionPageLink.getAttribute('href');
|
||||
expect(executionPageUrl).not.toBeNull();
|
||||
const goToExecutionPageLink = page.getByRole('link', {
|
||||
name: 'View execution details',
|
||||
});
|
||||
const executionPageUrl = await goToExecutionPageLink.getAttribute('href');
|
||||
expect(executionPageUrl).not.toBeNull();
|
||||
|
||||
await workflowVisualizer.deleteStep(firstStepId);
|
||||
await workflowVisualizer.deleteStep(firstStepId);
|
||||
|
||||
await page.goto(executionPageUrl!);
|
||||
await page.goto(executionPageUrl!);
|
||||
|
||||
const workflowRunName = page.getByText('Execution of v1');
|
||||
const workflowRunName = page.getByText('Execution of v1');
|
||||
|
||||
await expect(workflowRunName).toBeVisible();
|
||||
await expect(workflowRunName).toBeVisible();
|
||||
|
||||
const flowTab = page.getByText('Flow', { exact: true });
|
||||
const flowTab = page.getByText('Flow', { exact: true });
|
||||
|
||||
await flowTab.click();
|
||||
await flowTab.click();
|
||||
|
||||
const executedFirstStepNode = workflowVisualizer.getStepNode(firstStepId);
|
||||
const executedFirstStepNode = workflowVisualizer.getStepNode(firstStepId);
|
||||
|
||||
await expect(executedFirstStepNode).toBeVisible();
|
||||
await expect(executedFirstStepNode).toBeVisible();
|
||||
|
||||
await executedFirstStepNode.click();
|
||||
await executedFirstStepNode.click();
|
||||
|
||||
await expect(
|
||||
workflowVisualizer.commandMenu.getByRole('textbox').first(),
|
||||
).toHaveValue('Create Record');
|
||||
});
|
||||
await expect(
|
||||
workflowVisualizer.commandMenu.getByRole('textbox').first(),
|
||||
).toHaveValue('Create Record');
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "twenty-emails",
|
||||
"version": "0.42.14",
|
||||
"version": "0.43.0",
|
||||
"description": "",
|
||||
"author": "",
|
||||
"private": true,
|
||||
|
||||
@@ -3,25 +3,30 @@ import { BaseEmail } from 'src/components/BaseEmail';
|
||||
import { CallToAction } from 'src/components/CallToAction';
|
||||
import { MainText } from 'src/components/MainText';
|
||||
import { Title } from 'src/components/Title';
|
||||
import { APP_LOCALES } from 'twenty-shared';
|
||||
|
||||
type CleanSuspendedWorkspaceEmailProps = {
|
||||
daysSinceInactive: number;
|
||||
userName: string;
|
||||
workspaceDisplayName: string | undefined;
|
||||
locale: keyof typeof APP_LOCALES;
|
||||
};
|
||||
|
||||
export const CleanSuspendedWorkspaceEmail = ({
|
||||
daysSinceInactive,
|
||||
userName,
|
||||
workspaceDisplayName,
|
||||
locale,
|
||||
}: CleanSuspendedWorkspaceEmailProps) => {
|
||||
const helloString = userName?.length > 1 ? `Hello ${userName}` : 'Hello';
|
||||
|
||||
return (
|
||||
<BaseEmail width={333} locale="en">
|
||||
<Title value="Deleted Workspace 🥺" />
|
||||
<BaseEmail width={333} locale={locale}>
|
||||
<Title value={<Trans>Deleted Workspace</Trans>} />
|
||||
<MainText>
|
||||
{helloString},
|
||||
{userName?.length > 1 ? (
|
||||
<Trans>Dear {userName},</Trans>
|
||||
) : (
|
||||
<Trans>Hello,</Trans>
|
||||
)}
|
||||
<br />
|
||||
<br />
|
||||
<Trans>
|
||||
@@ -39,7 +44,7 @@ export const CleanSuspendedWorkspaceEmail = ({
|
||||
</MainText>
|
||||
<CallToAction
|
||||
href="https://app.twenty.com/"
|
||||
value="Create a new workspace"
|
||||
value={<Trans>Create a new workspace</Trans>}
|
||||
/>
|
||||
</BaseEmail>
|
||||
);
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { t } from '@lingui/core/macro';
|
||||
import { Trans } from '@lingui/react/macro';
|
||||
import { BaseEmail } from 'src/components/BaseEmail';
|
||||
import { CallToAction } from 'src/components/CallToAction';
|
||||
@@ -20,8 +19,8 @@ export const PasswordResetLinkEmail = ({
|
||||
}: PasswordResetLinkEmailProps) => {
|
||||
return (
|
||||
<BaseEmail locale={locale}>
|
||||
<Title value={t`Reset your password 🗝`} />
|
||||
<CallToAction href={link} value={t`Reset`} />
|
||||
<Title value={<Trans>Reset your password 🗝</Trans>} />
|
||||
<CallToAction href={link} value={<Trans>Reset</Trans>} />
|
||||
<MainText>
|
||||
<Trans>
|
||||
This link is only valid for the next {duration}. If the link does not
|
||||
|
||||
@@ -26,7 +26,7 @@ export const PasswordUpdateNotifyEmail = ({
|
||||
|
||||
return (
|
||||
<BaseEmail locale={locale}>
|
||||
<Title value={t`Password updated`} />
|
||||
<Title value={<Trans>Password updated</Trans>} />
|
||||
<MainText>
|
||||
{helloString},
|
||||
<br />
|
||||
@@ -43,7 +43,7 @@ export const PasswordUpdateNotifyEmail = ({
|
||||
</Trans>
|
||||
<br />
|
||||
</MainText>
|
||||
<CallToAction value={t`Connect to Twenty`} href={link} />
|
||||
<CallToAction value={<Trans>Connect to Twenty</Trans>} href={link} />
|
||||
</BaseEmail>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { t } from '@lingui/core/macro';
|
||||
import { Trans } from '@lingui/react/macro';
|
||||
|
||||
import { BaseEmail } from 'src/components/BaseEmail';
|
||||
@@ -19,8 +18,8 @@ export const SendEmailVerificationLinkEmail = ({
|
||||
}: SendEmailVerificationLinkEmailProps) => {
|
||||
return (
|
||||
<BaseEmail width={333} locale={locale}>
|
||||
<Title value={t`Confirm your email address`} />
|
||||
<CallToAction href={link} value={t`Verify Email`} />
|
||||
<Title value={<Trans>Confirm your email address</Trans>} />
|
||||
<CallToAction href={link} value={<Trans>Verify Email</Trans>} />
|
||||
<br />
|
||||
<br />
|
||||
<MainText>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { t } from '@lingui/core/macro';
|
||||
import { Trans } from '@lingui/react/macro';
|
||||
import { Img } from '@react-email/components';
|
||||
import { emailTheme } from 'src/common-style';
|
||||
@@ -39,7 +38,7 @@ export const SendInviteLinkEmail = ({
|
||||
|
||||
return (
|
||||
<BaseEmail width={333} locale={locale}>
|
||||
<Title value={t`Join your team on Twenty`} />
|
||||
<Title value={<Trans>Join your team on Twenty</Trans>} />
|
||||
<MainText>
|
||||
{capitalize(sender.firstName)} (
|
||||
<Link
|
||||
@@ -54,7 +53,7 @@ export const SendInviteLinkEmail = ({
|
||||
<HighlightedContainer>
|
||||
{workspaceLogo && <Img src={workspaceLogo} width={40} height={40} />}
|
||||
{workspace.name && <HighlightedText value={workspace.name} />}
|
||||
<CallToAction href={link} value={t`Accept invite`} />
|
||||
<CallToAction href={link} value={<Trans>Accept invite</Trans>} />
|
||||
</HighlightedContainer>
|
||||
<WhatIsTwenty />
|
||||
</BaseEmail>
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
import { t } from '@lingui/core/macro';
|
||||
import { Trans } from '@lingui/react/macro';
|
||||
import { Img } from '@react-email/components';
|
||||
import { emailTheme } from 'src/common-style';
|
||||
|
||||
import { BaseEmail } from 'src/components/BaseEmail';
|
||||
import { CallToAction } from 'src/components/CallToAction';
|
||||
import { HighlightedContainer } from 'src/components/HighlightedContainer';
|
||||
import { HighlightedText } from 'src/components/HighlightedText';
|
||||
import { Link } from 'src/components/Link';
|
||||
import { MainText } from 'src/components/MainText';
|
||||
import { Title } from 'src/components/Title';
|
||||
import { WhatIsTwenty } from 'src/components/WhatIsTwenty';
|
||||
import { capitalize } from 'src/utils/capitalize';
|
||||
import { APP_LOCALES, getImageAbsoluteURI } from 'twenty-shared';
|
||||
|
||||
type SendApprovedAccessDomainValidationProps = {
|
||||
link: string;
|
||||
domain: string;
|
||||
workspace: { name: string | undefined; logo: string | undefined };
|
||||
sender: {
|
||||
email: string;
|
||||
firstName: string;
|
||||
lastName: string;
|
||||
};
|
||||
serverUrl: string;
|
||||
locale: keyof typeof APP_LOCALES;
|
||||
};
|
||||
|
||||
export const SendApprovedAccessDomainValidation = ({
|
||||
link,
|
||||
domain,
|
||||
workspace,
|
||||
sender,
|
||||
serverUrl,
|
||||
locale,
|
||||
}: SendApprovedAccessDomainValidationProps) => {
|
||||
const workspaceLogo = workspace.logo
|
||||
? getImageAbsoluteURI({ imageUrl: workspace.logo, baseUrl: serverUrl })
|
||||
: null;
|
||||
|
||||
return (
|
||||
<BaseEmail width={333} locale={locale}>
|
||||
<Title value={t`Validate domain`} />
|
||||
<MainText>
|
||||
{capitalize(sender.firstName)} (
|
||||
<Link
|
||||
href={`mailto:${sender.email}`}
|
||||
value={sender.email}
|
||||
color={emailTheme.font.colors.blue}
|
||||
/>
|
||||
)
|
||||
<Trans>
|
||||
Please validate this domain to allow users with <b>@{domain}</b> email
|
||||
addresses to join your workspace without requiring an invitation.
|
||||
</Trans>
|
||||
<br />
|
||||
</MainText>
|
||||
<HighlightedContainer>
|
||||
{workspaceLogo && <Img src={workspaceLogo} width={40} height={40} />}
|
||||
{workspace.name && <HighlightedText value={workspace.name} />}
|
||||
<CallToAction href={link} value={t`Validate domain`} />
|
||||
</HighlightedContainer>
|
||||
<WhatIsTwenty />
|
||||
</BaseEmail>
|
||||
);
|
||||
};
|
||||
@@ -1,15 +1,16 @@
|
||||
import { t } from '@lingui/core/macro';
|
||||
import { Trans } from '@lingui/react/macro';
|
||||
import { BaseEmail } from 'src/components/BaseEmail';
|
||||
import { CallToAction } from 'src/components/CallToAction';
|
||||
import { MainText } from 'src/components/MainText';
|
||||
import { Title } from 'src/components/Title';
|
||||
import { APP_LOCALES } from 'twenty-shared';
|
||||
|
||||
type WarnSuspendedWorkspaceEmailProps = {
|
||||
daysSinceInactive: number;
|
||||
inactiveDaysBeforeDelete: number;
|
||||
userName: string;
|
||||
workspaceDisplayName: string | undefined;
|
||||
locale: keyof typeof APP_LOCALES;
|
||||
};
|
||||
|
||||
export const WarnSuspendedWorkspaceEmail = ({
|
||||
@@ -17,6 +18,7 @@ export const WarnSuspendedWorkspaceEmail = ({
|
||||
inactiveDaysBeforeDelete,
|
||||
userName,
|
||||
workspaceDisplayName,
|
||||
locale,
|
||||
}: WarnSuspendedWorkspaceEmailProps) => {
|
||||
const daysLeft = inactiveDaysBeforeDelete - daysSinceInactive;
|
||||
const dayOrDays = daysLeft > 1 ? 'days' : 'day';
|
||||
@@ -25,8 +27,8 @@ export const WarnSuspendedWorkspaceEmail = ({
|
||||
const helloString = userName?.length > 1 ? `Hello ${userName}` : 'Hello';
|
||||
|
||||
return (
|
||||
<BaseEmail width={333} locale="en">
|
||||
<Title value="Suspended Workspace 😴" />
|
||||
<BaseEmail width={333} locale={locale}>
|
||||
<Title value={<Trans>Suspended Workspace </Trans>} />
|
||||
<MainText>
|
||||
{helloString},
|
||||
<br />
|
||||
@@ -50,7 +52,7 @@ export const WarnSuspendedWorkspaceEmail = ({
|
||||
</MainText>
|
||||
<CallToAction
|
||||
href="https://app.twenty.com/settings/billing"
|
||||
value={t`Update your subscription`}
|
||||
value={<Trans>Update your subscription</Trans>}
|
||||
/>
|
||||
</BaseEmail>
|
||||
);
|
||||
|
||||
@@ -4,3 +4,4 @@ export * from './emails/password-update-notify.email';
|
||||
export * from './emails/send-email-verification-link.email';
|
||||
export * from './emails/send-invite-link.email';
|
||||
export * from './emails/warn-suspended-workspace.email';
|
||||
export * from './emails/validate-approved-access-domain.email';
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "crwdns5:0crwdne5:0"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "crwdns7:0crwdne7:0"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "crwdns4865:0crwdne4865:0"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "crwdns7:0crwdne7:0"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "crwdns9:0{userName}crwdne9:0"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "crwdns4867:0{userName}crwdne4867:0"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "crwdns4869:0crwdne4869:0"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "crwdns11:0crwdne11:0"
|
||||
@@ -50,6 +62,10 @@ msgstr "crwdns11:0crwdne11:0"
|
||||
msgid "Hello"
|
||||
msgstr "crwdns13:0crwdne13:0"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "crwdns4871:0crwdne4871:0"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "crwdns15:0crwdne15:0"
|
||||
@@ -74,6 +90,10 @@ msgstr "crwdns23:0crwdne23:0"
|
||||
msgid "Password updated"
|
||||
msgstr "crwdns25:0crwdne25:0"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "crwdns4873:0{domain}crwdne4873:0"
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "crwdns27:0crwdne27:0"
|
||||
@@ -82,6 +102,10 @@ msgstr "crwdns27:0crwdne27:0"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "crwdns29:0crwdne29:0"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "crwdns4875:0crwdne4875:0"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "crwdns31:0crwdne31:0"
|
||||
@@ -110,6 +134,11 @@ msgstr "crwdns37:0{duration}crwdne37:0"
|
||||
msgid "Update your subscription"
|
||||
msgstr "crwdns39:0crwdne39:0"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "crwdns4877:0crwdne4877:0"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "crwdns41:0crwdne41:0"
|
||||
@@ -120,5 +149,4 @@ msgstr "crwdns4845:0{workspaceDisplayName}crwdnd4845:0{daysSinceInactive}crwdne4
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
@@ -34,6 +34,10 @@ msgstr "Bevestig jou e-posadres"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Konnekteer met Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Skep 'n nuwe werksruimte"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Konnekteer met Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Liewe {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Liewe {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Verwyderde Werkruimte"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "het jou genooi om aan te sluit by 'n werkruimte genaamd "
|
||||
@@ -50,6 +62,10 @@ msgstr "het jou genooi om aan te sluit by 'n werkruimte genaamd "
|
||||
msgid "Hello"
|
||||
msgstr "Hallo"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Hallo,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "As jy nie hierdie verandering geïnisieer het nie, kontak asseblief jou werkruimte-eienaar dadelik."
|
||||
@@ -74,6 +90,10 @@ msgstr "Sluit aan by jou span op Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Wagwoord opgedateer"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Valideer asseblief hierdie domein om gebruikers met <0>@{domain}</0> e-pos adresse toe te laat om by jou werksruimte aan te sluit sonder dat 'n uitnodiging vereis word."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Stel terug"
|
||||
@@ -82,6 +102,10 @@ msgstr "Stel terug"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Stel jou wagwoord terug 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Geskorsde Werkruimte "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Dankie dat jy registreer het vir 'n rekening op Twenty! Voordat ons begin, moet ons net bevestig dat dit jy is. Klik bo om jou e-posadres te verifieer."
|
||||
@@ -110,6 +134,11 @@ msgstr "Hierdie skakel is slegs geldig vir die volgende {duration}. Indien die s
|
||||
msgid "Update your subscription"
|
||||
msgstr "Opdateer jou intekening"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Valideer domein"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Verifieer E-pos"
|
||||
@@ -120,4 +149,4 @@ msgstr "Jou werkruimte <0>{workspaceDisplayName}</0> is verwyder aangesien jou i
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "تأكد من عنوان بريدك الإلكتروني"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "الاتصال بـ Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "إنشاء مساحة عمل جديدة"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "الاتصال بـ Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "عزيزي {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "عزيزي {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "مساحة العمل المحذوفة"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "لقد دُعيت للإنضمام إلى مساحة عمل تسمى "
|
||||
@@ -50,6 +62,10 @@ msgstr "لقد دُعيت للإنضمام إلى مساحة عمل تسمى "
|
||||
msgid "Hello"
|
||||
msgstr "مرحبًا"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "مرحبًا,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "إذا لم تكن قد بدأت هذا التغيير، يرجى الاتصال بمالك مساحة العمل الخاصة بك على الفور."
|
||||
@@ -74,6 +90,10 @@ msgstr "انضم إلى فريقك في Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "تم تحديث كلمة المرور"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "يرجى التحقق من هذا النطاق للسماح للمستخدمين الذين لديهم عناوين بريد إلكتروني <0>@{domain}</0> بالانضمام إلى مساحة العمل الخاصة بك دون الحاجة إلى دعوة."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "إعادة تعيين"
|
||||
@@ -82,6 +102,10 @@ msgstr "إعادة تعيين"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "إعادة تعيين كلمة مرورك 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "فاعِل مساحة العمل المعلّقة "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "شكراً لتسجيلك لحساب على Twenty! قبل أن نبدأ، نحتاج فقط إلى التأكد من أن هذا أنت. انقر أعلاه للتحقق من عنوان بريدك الإلكتروني."
|
||||
@@ -110,6 +134,11 @@ msgstr "هذا الرابط صالح فقط للمدة {duration} القادمة
|
||||
msgid "Update your subscription"
|
||||
msgstr "تحديث الاشتراك"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "تحقق من النطاق"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "تحقق من البريد الإلكتروني"
|
||||
@@ -120,4 +149,4 @@ msgstr "تم حذف مساحة العمل <0>{workspaceDisplayName}</0> كون
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Confirma la teva adreça de correu electrònic"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Connecta't a Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Crea un nou espai de treball"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Connecta't a Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Benvolgut {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Benvolgut {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Espai de treball esborrat"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "t'ha convidat a unir-te a un espai de treball anomenat "
|
||||
@@ -50,6 +62,10 @@ msgstr "t'ha convidat a unir-te a un espai de treball anomenat "
|
||||
msgid "Hello"
|
||||
msgstr "Hola"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Hola,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Si no has iniciat aquest canvi, si us plau contacta amb el propietari de l'espai de treball immediatament."
|
||||
@@ -74,6 +90,10 @@ msgstr "Uneix-te al teu equip a Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Contrasenya actualitzada"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Si us plau, valida aquest domini per permetre als usuaris amb adreces de correu electrònic <0>@{domain}</0> unir-se al teu espai de treball sense requerir una invitació."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Restableix"
|
||||
@@ -82,6 +102,10 @@ msgstr "Restableix"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Restableix la teva contrasenya 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Espai de treball suspès "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Gràcies per registrar-te a Twenty! Abans de començar, només necessitem confirmar que ets tu. Clica a sobre per verificar la teva adreça de correu electrònic."
|
||||
@@ -110,6 +134,11 @@ msgstr "Aquest enllaç només és vàlid durant els propers {duration}. Si l'enl
|
||||
msgid "Update your subscription"
|
||||
msgstr "Actualitza la teva subscripció"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Valida el domini"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Verifica el correu electrònic"
|
||||
@@ -120,4 +149,4 @@ msgstr "El teu espai de treball <0>{workspaceDisplayName}</0> s'ha eliminat ja q
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Potvrďte svou e-mailovou adresu"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Připojte se k Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Vytvořit nový pracovní prostor"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Připojte se k Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Vážený {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Vážený {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Smazaný pracovní prostor"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "vás pozval do pracovního prostoru s názvem "
|
||||
@@ -50,6 +62,10 @@ msgstr "vás pozval do pracovního prostoru s názvem "
|
||||
msgid "Hello"
|
||||
msgstr "Dobrý den"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Dobrý den,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Pokud jste tuto změnu neiniciovali, prosím, okamžitě kontaktujte majitele vašeho pracovního prostoru."
|
||||
@@ -74,6 +90,10 @@ msgstr "Připojte se k svému týmu na Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Heslo bylo aktualizováno"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Ověřte prosím tuto doménu, aby uživatelé s e-mailovými adresami <0>@{domain}</0> mohli vstoupit do vašeho pracovního prostoru bez nutnosti pozvání."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Obnovit"
|
||||
@@ -82,6 +102,10 @@ msgstr "Obnovit"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Obnovte své heslo 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Pozastavený pracovní prostor "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Děkujeme za registraci účtu na Twenty! Než začneme, musíme potvrdit, že jste to vy. Klikněte výše k ověření vaší e-mailové adresy."
|
||||
@@ -110,6 +134,11 @@ msgstr "Tento odkaz je platný pouze následující {duration}. Pokud odkaz nefu
|
||||
msgid "Update your subscription"
|
||||
msgstr "Aktualizujte své předplatné"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Ověřit doménu"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Ověřit e-mail"
|
||||
@@ -120,4 +149,4 @@ msgstr "Váš pracovní prostor <0>{workspaceDisplayName}</0> byl odstraněn, pr
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Bekræft din e-mailadresse"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Forbind til Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Opret et nyt arbejdsområde"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Forbind til Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Kære {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Kære {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Slettet arbejdsområde"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "har inviteret dig til at deltage i et arbejdsområde kaldet "
|
||||
@@ -50,6 +62,10 @@ msgstr "har inviteret dig til at deltage i et arbejdsområde kaldet "
|
||||
msgid "Hello"
|
||||
msgstr "Hej"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Hej,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Hvis du ikke har initieret denne ændring, bedes du straks kontakte ejeren af dit arbejdsområde."
|
||||
@@ -74,6 +90,10 @@ msgstr "Deltag i dit team på Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Adgangskode opdateret"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Bekræft venligst dette domæne for at tillade brugere med <0>@{domain}</0> e-mailadresser at tilslutte sig dit arbejdsområde uden at kræve en invitation."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Nulstil"
|
||||
@@ -82,6 +102,10 @@ msgstr "Nulstil"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Nulstil din adgangskode 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Suspenderet arbejdsområde "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Tak fordi du har registreret en konto på Twenty! Før vi starter, skal vi bare bekræfte, at det er dig. Klik ovenfor for at bekræfte din e-mailadresse."
|
||||
@@ -110,6 +134,11 @@ msgstr "Dette link er kun gyldigt i de næste {duration}. Hvis linket ikke funge
|
||||
msgid "Update your subscription"
|
||||
msgstr "Opdater dit abonnement"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Bekræft domæne"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Bekræft e-mail"
|
||||
@@ -120,4 +149,4 @@ msgstr "Dit arbejdsområde <0>{workspaceDisplayName}</0> er blevet slettet, da d
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Bestätigen Sie Ihre E-Mail-Adresse"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Mit Twenty verbinden"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Erstellen Sie einen neuen Arbeitsbereich"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Mit Twenty verbinden"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Sehr geehrte/r {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Sehr geehrte/r {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Gelöschter Arbeitsbereich"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "hat Sie eingeladen, einem Workspace namens "
|
||||
@@ -50,6 +62,10 @@ msgstr "hat Sie eingeladen, einem Workspace namens "
|
||||
msgid "Hello"
|
||||
msgstr "Hallo"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Hallo,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Wenn Sie diese Änderung nicht veranlasst haben, kontaktieren Sie bitte umgehend den Eigentümer Ihres Workspaces."
|
||||
@@ -74,6 +90,10 @@ msgstr "Treten Sie Ihrem Team auf Twenty bei"
|
||||
msgid "Password updated"
|
||||
msgstr "Passwort wurde aktualisiert"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Bitte validieren Sie diese Domain, damit Benutzer mit <0>@{domain}</0> E-Mail-Adressen Ihrem Arbeitsbereich beitreten können, ohne eine Einladung zu benötigen."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Zurücksetzen"
|
||||
@@ -82,6 +102,10 @@ msgstr "Zurücksetzen"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Setzen Sie Ihr Passwort zurück 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Ausgesetzter Arbeitsbereich "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Vielen Dank für Ihre Registrierung bei Twenty! Bevor wir beginnen, müssen wir nur bestätigen, dass Sie es sind. Klicken Sie oben, um Ihre E-Mail-Adresse zu verifizieren."
|
||||
@@ -110,6 +134,11 @@ msgstr "Dieser Link ist nur für die nächsten {duration} gültig. Wenn der Link
|
||||
msgid "Update your subscription"
|
||||
msgstr "Aktualisieren Sie Ihr Abonnement"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Domain validieren"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "E-Mail verifizieren"
|
||||
@@ -120,4 +149,4 @@ msgstr "Ihr Workspace <0>{workspaceDisplayName}</0> wurde gelöscht, da Ihr Abon
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Επιβεβαιώστε τη διεύθυνση email σας"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Συνδεθείτε στο Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Δημιουργία νέου χώρου εργασίας"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Συνδεθείτε στο Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Αγαπητέ/ή {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Αγαπητέ/ή {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Διαγραμμένος Χώρος Εργασίας"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "σας έχει προσκαλέσει να συμμετάσχετε σε έναν χώρο εργασίας με την ονομασία "
|
||||
@@ -50,6 +62,10 @@ msgstr "σας έχει προσκαλέσει να συμμετάσχετε σ
|
||||
msgid "Hello"
|
||||
msgstr "Γεια σας"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Γεια σας,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Εάν δεν έχετε προβεί εσείς σε αυτήν την αλλαγή, παρακαλώ επικοινωνήστε άμεσα με τον ιδιοκτήτη του χώρου εργασίας σας."
|
||||
@@ -74,6 +90,10 @@ msgstr "Συμμετέχετε στην ομάδα σας στο Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Ο κωδικός έχει ενημερωθεί"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Παρακαλώ επικυρώστε αυτόν τον τομέα για να επιτρέψετε στους χρήστες με διευθύνσεις email <0>@{domain}</0> να συμμετάσχουν στον χώρο εργασίας σας χωρίς να απαιτείται πρόσκληση."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Επαναφορά"
|
||||
@@ -82,6 +102,10 @@ msgstr "Επαναφορά"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Επαναφέρετε τον κωδικό σας 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Ανασταλμένος Χώρος Εργασίας "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Σας ευχαριστούμε που εγγραφήκατε για έναν λογαριασμό στο Twenty! Πριν ξεκινήσουμε, πρέπει μόνο να επιβεβαιώσουμε ότι αυτός είστε εσείς. Κάντε κλικ παραπάνω για να επαληθεύσετε τη διεύθυνση email σας."
|
||||
@@ -110,6 +134,11 @@ msgstr "Αυτός ο σύνδεσμος ισχύει μόνο για τις ε
|
||||
msgid "Update your subscription"
|
||||
msgstr "Ενημερώστε τη συνδρομή σας"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Επικύρωση τομέα"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Επαληθεύστε το Email"
|
||||
@@ -120,4 +149,4 @@ msgstr "Ο χώρος εργασίας σας <0>{workspaceDisplayName}</0> έχ
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -29,6 +29,10 @@ msgstr "Confirm your email address"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Connect to Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Create a new workspace"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -37,6 +41,14 @@ msgstr "Connect to Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Dear {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Dear {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Deleted Workspace"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "has invited you to join a workspace called "
|
||||
@@ -45,6 +57,10 @@ msgstr "has invited you to join a workspace called "
|
||||
msgid "Hello"
|
||||
msgstr "Hello"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Hello,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
@@ -69,6 +85,10 @@ msgstr "Join your team on Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Password updated"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Reset"
|
||||
@@ -77,6 +97,10 @@ msgstr "Reset"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Reset your password 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Suspended Workspace "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
@@ -105,6 +129,11 @@ msgstr "This link is only valid for the next {duration}. If the link does not wo
|
||||
msgid "Update your subscription"
|
||||
msgstr "Update your subscription"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Validate domain"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Verify Email"
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Confirma tu dirección de correo electrónico"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Conéctate a Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Crea un nuevo espacio de trabajo"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Conéctate a Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Estimado/a {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Estimado/a {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Espacio de trabajo eliminado"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "te ha invitado a unirte a un espacio de trabajo llamado "
|
||||
@@ -50,6 +62,10 @@ msgstr "te ha invitado a unirte a un espacio de trabajo llamado "
|
||||
msgid "Hello"
|
||||
msgstr "Hola"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Hola,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Si no iniciaste este cambio, contacta inmediatamente al propietario de tu espacio de trabajo."
|
||||
@@ -74,6 +90,10 @@ msgstr "Únete a tu equipo en Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Contraseña actualizada"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Por favor, valide este dominio para permitir que los usuarios con direcciones de correo electrónico <0>@{domain}</0> se unan a su espacio de trabajo sin necesidad de una invitación."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Restablecer"
|
||||
@@ -82,6 +102,10 @@ msgstr "Restablecer"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Restablece tu contraseña 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Espacio de trabajo suspendido "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "¡Gracias por registrarte en Twenty! Antes de comenzar, solo necesitamos confirmar que eres tú. Haz clic arriba para verificar tu dirección de correo electrónico."
|
||||
@@ -110,6 +134,11 @@ msgstr "Este enlace solo es válido por los próximos {duration}. Si el enlace n
|
||||
msgid "Update your subscription"
|
||||
msgstr "Actualiza tu suscripción"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Validar dominio"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Verificar correo electrónico"
|
||||
@@ -120,4 +149,4 @@ msgstr "Tu espacio de trabajo <0>{workspaceDisplayName}</0> ha sido eliminado po
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Vahvista sähköpostiosoitteesi"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Yhdistä Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Luo uusi työtila"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Yhdistä Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Hyvä {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Hyvä {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Poistettu työtila"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "on kutsunut sinut liittymään työtilaan nimeltä "
|
||||
@@ -50,6 +62,10 @@ msgstr "on kutsunut sinut liittymään työtilaan nimeltä "
|
||||
msgid "Hello"
|
||||
msgstr "Hei"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Hei,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Jos et itse aloittanut tätä muutosta, ota heti yhteyttä työtilasi omistajaan."
|
||||
@@ -74,6 +90,10 @@ msgstr "Liity tiimiisi Twentyssä"
|
||||
msgid "Password updated"
|
||||
msgstr "Salasana päivitetty"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Vahvista tämä verkkotunnus, jotta käyttäjät, joilla on <0>@{domain}</0> sähköpostiosoitteet, voivat liittyä työtilaasi ilman kutsua."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Nollaa"
|
||||
@@ -82,6 +102,10 @@ msgstr "Nollaa"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Nollaa salasanasi 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Keskeytetty työtila "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Kiitos, että rekisteröidyit Twenty:n käyttäjäksi! Ennen kuin aloitamme, meidän täytyy vahvistaa, että kyseessä on sinä. Klikkaa yllä vahvistaaksesi sähköpostiosoitteesi."
|
||||
@@ -110,6 +134,11 @@ msgstr "Tämä linkki on voimassa vain seuraavat {duration}. Jos linkki ei toimi
|
||||
msgid "Update your subscription"
|
||||
msgstr "Päivitä tilauksesi"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Vahvista verkkotunnus"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Vahvista sähköposti"
|
||||
@@ -120,4 +149,4 @@ msgstr "Työtilasi <0>{workspaceDisplayName}</0> on poistettu, koska tilauksesi
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Confirmez votre adresse e-mail"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Connectez-vous à Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Créez un nouvel espace de travail"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Connectez-vous à Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Cher {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Cher {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Espace de travail supprimé"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "vous a invité à rejoindre un espace de travail appelé "
|
||||
@@ -50,6 +62,10 @@ msgstr "vous a invité à rejoindre un espace de travail appelé "
|
||||
msgid "Hello"
|
||||
msgstr "Bonjour"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Bonjour,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Si vous n'avez pas initié ce changement, veuillez contacter immédiatement le propriétaire de votre espace de travail."
|
||||
@@ -74,6 +90,10 @@ msgstr "Rejoignez votre équipe sur Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Mot de passe mis à jour"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Veuillez valider ce domaine pour permettre aux utilisateurs avec des adresses e-mail <0>@{domain}</0> de rejoindre votre espace de travail sans nécessiter d'invitation."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Réinitialiser"
|
||||
@@ -82,6 +102,10 @@ msgstr "Réinitialiser"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Réinitialisez votre mot de passe 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Espace de travail suspendu "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Merci de vous être inscrit sur Twenty ! Avant de commencer, nous devons confirmer votre identité. Cliquez ci-dessus pour vérifier votre adresse e-mail."
|
||||
@@ -110,6 +134,11 @@ msgstr "Ce lien n'est valable que pour les {duration} suivants. Si le lien ne fo
|
||||
msgid "Update your subscription"
|
||||
msgstr "Mettez à jour votre abonnement"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Valider le domaine"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Vérifiez l'e-mail"
|
||||
@@ -120,4 +149,4 @@ msgstr "Votre espace de travail <0>{workspaceDisplayName}</0> a été supprimé
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Aanvaar uitnodiging\"],\"Yxj+Uc\":[\"Alle data in hierdie werkruimte is permanent verwyder.\"],\"RPHFhC\":[\"Bevestig jou e-posadres\"],\"nvkBPN\":[\"Konnekteer met Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Liewe \",[\"userName\"]],\"tGme7M\":[\"het jou genooi om aan te sluit by 'n werkruimte genaamd \"],\"uzTaYi\":[\"Hallo\"],\"eE1nG1\":[\"As jy nie hierdie verandering geïnisieer het nie, kontak asseblief jou werkruimte-eienaar dadelik.\"],\"Gz91L8\":[\"As jy wil voortgaan om Twenty te gebruik, moet asseblief jou intekening binne die volgende \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" opdateer.\"],\"0weyko\":[\"As jy Twenty weer wil gebruik, kan jy 'n nuwe werkruimte skep.\"],\"7JuhZQ\":[\"Dit blyk dat jou werkruimte <0>\",[\"workspaceDisplayName\"],\"</0> vir \",[\"daysSinceInactive\"],\" dae opgeskort is.\"],\"PviVyk\":[\"Sluit aan by jou span op Twenty\"],\"ogtYkT\":[\"Wagwoord opgedateer\"],\"OfhWJH\":[\"Stel terug\"],\"RE5NiU\":[\"Stel jou wagwoord terug 🗝\"],\"7yDt8q\":[\"Dankie dat jy registreer het vir 'n rekening op Twenty! Voordat ons begin, moet ons net bevestig dat dit jy is. Klik bo om jou e-posadres te verifieer.\"],\"igorB1\":[\"Die werkruimte sal gedeaktiveer word in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", en al sy data sal verwyder word.\"],\"7OEHy1\":[\"Dit is 'n bevestiging dat die wagwoord vir jou rekening (\",[\"email\"],\") suksesvol verander is op \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Hierdie skakel is slegs geldig vir die volgende \",[\"duration\"],\". Indien die skakel nie werk nie, kan jy die aanmeldverifiëringskakel direk gebruik:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Opdateer jou intekening\"],\"wCKkSr\":[\"Verifieer E-pos\"],\"9MqLGX\":[\"Jou werkruimte <0>\",[\"workspaceDisplayName\"],\"</0> is verwyder aangesien jou intekening \",[\"daysSinceInactive\"],\" dae gelede verval het.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Aanvaar uitnodiging\"],\"Yxj+Uc\":[\"Alle data in hierdie werkruimte is permanent verwyder.\"],\"RPHFhC\":[\"Bevestig jou e-posadres\"],\"nvkBPN\":[\"Konnekteer met Twenty\"],\"jPQSEz\":[\"Skep 'n nuwe werksruimte\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Liewe \",[\"userName\"]],\"lIdkf2\":[\"Liewe \",[\"userName\"],\",\"],\"NTwcnq\":[\"Verwyderde Werkruimte\"],\"tGme7M\":[\"het jou genooi om aan te sluit by 'n werkruimte genaamd \"],\"uzTaYi\":[\"Hallo\"],\"Xa0d85\":[\"Hallo,\"],\"eE1nG1\":[\"As jy nie hierdie verandering geïnisieer het nie, kontak asseblief jou werkruimte-eienaar dadelik.\"],\"Gz91L8\":[\"As jy wil voortgaan om Twenty te gebruik, moet asseblief jou intekening binne die volgende \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" opdateer.\"],\"0weyko\":[\"As jy Twenty weer wil gebruik, kan jy 'n nuwe werkruimte skep.\"],\"7JuhZQ\":[\"Dit blyk dat jou werkruimte <0>\",[\"workspaceDisplayName\"],\"</0> vir \",[\"daysSinceInactive\"],\" dae opgeskort is.\"],\"PviVyk\":[\"Sluit aan by jou span op Twenty\"],\"ogtYkT\":[\"Wagwoord opgedateer\"],\"u3Ns4p\":[\"Valideer asseblief hierdie domein om gebruikers met <0>@\",[\"domain\"],\"</0> e-pos adresse toe te laat om by jou werksruimte aan te sluit sonder dat 'n uitnodiging vereis word.\"],\"OfhWJH\":[\"Stel terug\"],\"RE5NiU\":[\"Stel jou wagwoord terug 🗝\"],\"UBadaJ\":[\"Geskorsde Werkruimte \"],\"7yDt8q\":[\"Dankie dat jy registreer het vir 'n rekening op Twenty! Voordat ons begin, moet ons net bevestig dat dit jy is. Klik bo om jou e-posadres te verifieer.\"],\"igorB1\":[\"Die werkruimte sal gedeaktiveer word in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", en al sy data sal verwyder word.\"],\"7OEHy1\":[\"Dit is 'n bevestiging dat die wagwoord vir jou rekening (\",[\"email\"],\") suksesvol verander is op \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Hierdie skakel is slegs geldig vir die volgende \",[\"duration\"],\". Indien die skakel nie werk nie, kan jy die aanmeldverifiëringskakel direk gebruik:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Opdateer jou intekening\"],\"QbiUqd\":[\"Valideer domein\"],\"wCKkSr\":[\"Verifieer E-pos\"],\"9MqLGX\":[\"Jou werkruimte <0>\",[\"workspaceDisplayName\"],\"</0> is verwyder aangesien jou intekening \",[\"daysSinceInactive\"],\" dae gelede verval het.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"قبول الدعوة\"],\"Yxj+Uc\":[\"تم حذف جميع البيانات في هذه الواجهة بشكل دائم.\"],\"RPHFhC\":[\"تأكد من عنوان بريدك الإلكتروني\"],\"nvkBPN\":[\"الاتصال بـ Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"عزيزي \",[\"userName\"]],\"tGme7M\":[\"لقد دُعيت للإنضمام إلى مساحة عمل تسمى \"],\"uzTaYi\":[\"مرحبًا\"],\"eE1nG1\":[\"إذا لم تكن قد بدأت هذا التغيير، يرجى الاتصال بمالك مساحة العمل الخاصة بك على الفور.\"],\"Gz91L8\":[\"إذا كنت ترغب في الاستمرار في استخدام Twenty، يُرجى تحديث اشتراكك خلال الأيام \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" القادمة.\"],\"0weyko\":[\"إذا كنت ترغب في استخدام Twenty مرة أخرى، يمكنك إنشاء مساحة عمل جديدة.\"],\"7JuhZQ\":[\"يبدو أن مساحة عملك <0>\",[\"workspaceDisplayName\"],\"</0> قد تم تعليقها لمدة \",[\"daysSinceInactive\"],\" أيام.\"],\"PviVyk\":[\"انضم إلى فريقك في Twenty\"],\"ogtYkT\":[\"تم تحديث كلمة المرور\"],\"OfhWJH\":[\"إعادة تعيين\"],\"RE5NiU\":[\"إعادة تعيين كلمة مرورك 🗝\"],\"7yDt8q\":[\"شكراً لتسجيلك لحساب على Twenty! قبل أن نبدأ، نحتاج فقط إلى التأكد من أن هذا أنت. انقر أعلاه للتحقق من عنوان بريدك الإلكتروني.\"],\"igorB1\":[\"سيتم تعطيل مساحة العمل في غضون \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\"، وسيتم حذف كل بياناتها.\"],\"7OEHy1\":[\"هذا تأكيد أن كلمة مرور حسابك (\",[\"email\"],\") قد تم تغييرها بنجاح في \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"هذا الرابط صالح فقط للمدة \",[\"duration\"],\" القادمة. إذا لم يعمل الرابط، يمكنك استخدام رابط التحقق من تسجيل الدخول مباشرة:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"تحديث الاشتراك\"],\"wCKkSr\":[\"تحقق من البريد الإلكتروني\"],\"9MqLGX\":[\"تم حذف مساحة العمل <0>\",[\"workspaceDisplayName\"],\"</0> كون اشتراكك قد انتهى منذ \",[\"daysSinceInactive\"],\" أيام.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"قبول الدعوة\"],\"Yxj+Uc\":[\"تم حذف جميع البيانات في هذه الواجهة بشكل دائم.\"],\"RPHFhC\":[\"تأكد من عنوان بريدك الإلكتروني\"],\"nvkBPN\":[\"الاتصال بـ Twenty\"],\"jPQSEz\":[\"إنشاء مساحة عمل جديدة\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"عزيزي \",[\"userName\"]],\"lIdkf2\":[\"عزيزي \",[\"userName\"],\",\"],\"NTwcnq\":[\"مساحة العمل المحذوفة\"],\"tGme7M\":[\"لقد دُعيت للإنضمام إلى مساحة عمل تسمى \"],\"uzTaYi\":[\"مرحبًا\"],\"Xa0d85\":[\"مرحبًا,\"],\"eE1nG1\":[\"إذا لم تكن قد بدأت هذا التغيير، يرجى الاتصال بمالك مساحة العمل الخاصة بك على الفور.\"],\"Gz91L8\":[\"إذا كنت ترغب في الاستمرار في استخدام Twenty، يُرجى تحديث اشتراكك خلال الأيام \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" القادمة.\"],\"0weyko\":[\"إذا كنت ترغب في استخدام Twenty مرة أخرى، يمكنك إنشاء مساحة عمل جديدة.\"],\"7JuhZQ\":[\"يبدو أن مساحة عملك <0>\",[\"workspaceDisplayName\"],\"</0> قد تم تعليقها لمدة \",[\"daysSinceInactive\"],\" أيام.\"],\"PviVyk\":[\"انضم إلى فريقك في Twenty\"],\"ogtYkT\":[\"تم تحديث كلمة المرور\"],\"u3Ns4p\":[\"يرجى التحقق من هذا النطاق للسماح للمستخدمين الذين لديهم عناوين بريد إلكتروني <0>@\",[\"domain\"],\"</0> بالانضمام إلى مساحة العمل الخاصة بك دون الحاجة إلى دعوة.\"],\"OfhWJH\":[\"إعادة تعيين\"],\"RE5NiU\":[\"إعادة تعيين كلمة مرورك 🗝\"],\"UBadaJ\":[\"فاعِل مساحة العمل المعلّقة \"],\"7yDt8q\":[\"شكراً لتسجيلك لحساب على Twenty! قبل أن نبدأ، نحتاج فقط إلى التأكد من أن هذا أنت. انقر أعلاه للتحقق من عنوان بريدك الإلكتروني.\"],\"igorB1\":[\"سيتم تعطيل مساحة العمل في غضون \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\"، وسيتم حذف كل بياناتها.\"],\"7OEHy1\":[\"هذا تأكيد أن كلمة مرور حسابك (\",[\"email\"],\") قد تم تغييرها بنجاح في \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"هذا الرابط صالح فقط للمدة \",[\"duration\"],\" القادمة. إذا لم يعمل الرابط، يمكنك استخدام رابط التحقق من تسجيل الدخول مباشرة:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"تحديث الاشتراك\"],\"QbiUqd\":[\"تحقق من النطاق\"],\"wCKkSr\":[\"تحقق من البريد الإلكتروني\"],\"9MqLGX\":[\"تم حذف مساحة العمل <0>\",[\"workspaceDisplayName\"],\"</0> كون اشتراكك قد انتهى منذ \",[\"daysSinceInactive\"],\" أيام.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Accepta la invitació\"],\"Yxj+Uc\":[\"Totes les dades en aquest espai de treball s'han esborrat permanentment.\"],\"RPHFhC\":[\"Confirma la teva adreça de correu electrònic\"],\"nvkBPN\":[\"Connecta't a Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Benvolgut \",[\"userName\"]],\"tGme7M\":[\"t'ha convidat a unir-te a un espai de treball anomenat \"],\"uzTaYi\":[\"Hola\"],\"eE1nG1\":[\"Si no has iniciat aquest canvi, si us plau contacta amb el propietari de l'espai de treball immediatament.\"],\"Gz91L8\":[\"Si vols continuar utilitzant Twenty, si us plau actualitza la teva subscripció en els propers \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Si vols utilitzar Twenty de nou, pots crear un nou espai de treball.\"],\"7JuhZQ\":[\"Sembla que el teu espai de treball <0>\",[\"workspaceDisplayName\"],\"</0> ha estat suspès per \",[\"daysSinceInactive\"],\" dies.\"],\"PviVyk\":[\"Uneix-te al teu equip a Twenty\"],\"ogtYkT\":[\"Contrasenya actualitzada\"],\"OfhWJH\":[\"Restableix\"],\"RE5NiU\":[\"Restableix la teva contrasenya 🗝\"],\"7yDt8q\":[\"Gràcies per registrar-te a Twenty! Abans de començar, només necessitem confirmar que ets tu. Clica a sobre per verificar la teva adreça de correu electrònic.\"],\"igorB1\":[\"L'espai de treball es desactivarà en \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", i totes les seves dades seran eliminades.\"],\"7OEHy1\":[\"Això és una confirmació que la contrasenya del teu compte (\",[\"email\"],\") s'ha canviat amb èxit el \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Aquest enllaç només és vàlid durant els propers \",[\"duration\"],\". Si l'enllaç no funciona, pots fer servir directament l'enllaç de verificació d'inici de sessió:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Actualitza la teva subscripció\"],\"wCKkSr\":[\"Verifica el correu electrònic\"],\"9MqLGX\":[\"El teu espai de treball <0>\",[\"workspaceDisplayName\"],\"</0> s'ha eliminat ja que la teva subscripció va caducar fa \",[\"daysSinceInactive\"],\" dies.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Accepta la invitació\"],\"Yxj+Uc\":[\"Totes les dades en aquest espai de treball s'han esborrat permanentment.\"],\"RPHFhC\":[\"Confirma la teva adreça de correu electrònic\"],\"nvkBPN\":[\"Connecta't a Twenty\"],\"jPQSEz\":[\"Crea un nou espai de treball\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Benvolgut \",[\"userName\"]],\"lIdkf2\":[\"Benvolgut \",[\"userName\"],\",\"],\"NTwcnq\":[\"Espai de treball esborrat\"],\"tGme7M\":[\"t'ha convidat a unir-te a un espai de treball anomenat \"],\"uzTaYi\":[\"Hola\"],\"Xa0d85\":[\"Hola,\"],\"eE1nG1\":[\"Si no has iniciat aquest canvi, si us plau contacta amb el propietari de l'espai de treball immediatament.\"],\"Gz91L8\":[\"Si vols continuar utilitzant Twenty, si us plau actualitza la teva subscripció en els propers \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Si vols utilitzar Twenty de nou, pots crear un nou espai de treball.\"],\"7JuhZQ\":[\"Sembla que el teu espai de treball <0>\",[\"workspaceDisplayName\"],\"</0> ha estat suspès per \",[\"daysSinceInactive\"],\" dies.\"],\"PviVyk\":[\"Uneix-te al teu equip a Twenty\"],\"ogtYkT\":[\"Contrasenya actualitzada\"],\"u3Ns4p\":[\"Si us plau, valida aquest domini per permetre als usuaris amb adreces de correu electrònic <0>@\",[\"domain\"],\"</0> unir-se al teu espai de treball sense requerir una invitació.\"],\"OfhWJH\":[\"Restableix\"],\"RE5NiU\":[\"Restableix la teva contrasenya 🗝\"],\"UBadaJ\":[\"Espai de treball suspès \"],\"7yDt8q\":[\"Gràcies per registrar-te a Twenty! Abans de començar, només necessitem confirmar que ets tu. Clica a sobre per verificar la teva adreça de correu electrònic.\"],\"igorB1\":[\"L'espai de treball es desactivarà en \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", i totes les seves dades seran eliminades.\"],\"7OEHy1\":[\"Això és una confirmació que la contrasenya del teu compte (\",[\"email\"],\") s'ha canviat amb èxit el \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Aquest enllaç només és vàlid durant els propers \",[\"duration\"],\". Si l'enllaç no funciona, pots fer servir directament l'enllaç de verificació d'inici de sessió:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Actualitza la teva subscripció\"],\"QbiUqd\":[\"Valida el domini\"],\"wCKkSr\":[\"Verifica el correu electrònic\"],\"9MqLGX\":[\"El teu espai de treball <0>\",[\"workspaceDisplayName\"],\"</0> s'ha eliminat ja que la teva subscripció va caducar fa \",[\"daysSinceInactive\"],\" dies.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Přijměte pozvánku\"],\"Yxj+Uc\":[\"Všechna data v tomto pracovním prostoru byla trvale odstraněna.\"],\"RPHFhC\":[\"Potvrďte svou e-mailovou adresu\"],\"nvkBPN\":[\"Připojte se k Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Vážený \",[\"userName\"]],\"tGme7M\":[\"vás pozval do pracovního prostoru s názvem \"],\"uzTaYi\":[\"Dobrý den\"],\"eE1nG1\":[\"Pokud jste tuto změnu neiniciovali, prosím, okamžitě kontaktujte majitele vašeho pracovního prostoru.\"],\"Gz91L8\":[\"Pokud si přejete dále používat Twenty, prosím, aktualizujte své předplatné během příštích \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Pokud si přejete znovu použít Twenty, můžete vytvořit nový pracovní prostor.\"],\"7JuhZQ\":[\"Zdá se, že váš pracovní prostor <0>\",[\"workspaceDisplayName\"],\"</0> byl pozastaven na dobu \",[\"daysSinceInactive\"],\" dní.\"],\"PviVyk\":[\"Připojte se k svému týmu na Twenty\"],\"ogtYkT\":[\"Heslo bylo aktualizováno\"],\"OfhWJH\":[\"Obnovit\"],\"RE5NiU\":[\"Obnovte své heslo 🗝\"],\"7yDt8q\":[\"Děkujeme za registraci účtu na Twenty! Než začneme, musíme potvrdit, že jste to vy. Klikněte výše k ověření vaší e-mailové adresy.\"],\"igorB1\":[\"Pracovní prostor bude deaktivován za \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" a všechna jeho data budou smazána.\"],\"7OEHy1\":[\"Toto je potvrzení, že heslo k vašemu účtu (\",[\"email\"],\") bylo úspěšně změněno \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Tento odkaz je platný pouze následující \",[\"duration\"],\". Pokud odkaz nefunguje, můžete přímo použít odkaz pro ověření přihlášení:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Aktualizujte své předplatné\"],\"wCKkSr\":[\"Ověřit e-mail\"],\"9MqLGX\":[\"Váš pracovní prostor <0>\",[\"workspaceDisplayName\"],\"</0> byl odstraněn, protože vaše předplatné vypršelo před \",[\"daysSinceInactive\"],\" dny.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Přijměte pozvánku\"],\"Yxj+Uc\":[\"Všechna data v tomto pracovním prostoru byla trvale odstraněna.\"],\"RPHFhC\":[\"Potvrďte svou e-mailovou adresu\"],\"nvkBPN\":[\"Připojte se k Twenty\"],\"jPQSEz\":[\"Vytvořit nový pracovní prostor\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Vážený \",[\"userName\"]],\"lIdkf2\":[\"Vážený \",[\"userName\"],\",\"],\"NTwcnq\":[\"Smazaný pracovní prostor\"],\"tGme7M\":[\"vás pozval do pracovního prostoru s názvem \"],\"uzTaYi\":[\"Dobrý den\"],\"Xa0d85\":[\"Dobrý den,\"],\"eE1nG1\":[\"Pokud jste tuto změnu neiniciovali, prosím, okamžitě kontaktujte majitele vašeho pracovního prostoru.\"],\"Gz91L8\":[\"Pokud si přejete dále používat Twenty, prosím, aktualizujte své předplatné během příštích \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Pokud si přejete znovu použít Twenty, můžete vytvořit nový pracovní prostor.\"],\"7JuhZQ\":[\"Zdá se, že váš pracovní prostor <0>\",[\"workspaceDisplayName\"],\"</0> byl pozastaven na dobu \",[\"daysSinceInactive\"],\" dní.\"],\"PviVyk\":[\"Připojte se k svému týmu na Twenty\"],\"ogtYkT\":[\"Heslo bylo aktualizováno\"],\"u3Ns4p\":[\"Ověřte prosím tuto doménu, aby uživatelé s e-mailovými adresami <0>@\",[\"domain\"],\"</0> mohli vstoupit do vašeho pracovního prostoru bez nutnosti pozvání.\"],\"OfhWJH\":[\"Obnovit\"],\"RE5NiU\":[\"Obnovte své heslo 🗝\"],\"UBadaJ\":[\"Pozastavený pracovní prostor \"],\"7yDt8q\":[\"Děkujeme za registraci účtu na Twenty! Než začneme, musíme potvrdit, že jste to vy. Klikněte výše k ověření vaší e-mailové adresy.\"],\"igorB1\":[\"Pracovní prostor bude deaktivován za \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" a všechna jeho data budou smazána.\"],\"7OEHy1\":[\"Toto je potvrzení, že heslo k vašemu účtu (\",[\"email\"],\") bylo úspěšně změněno \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Tento odkaz je platný pouze následující \",[\"duration\"],\". Pokud odkaz nefunguje, můžete přímo použít odkaz pro ověření přihlášení:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Aktualizujte své předplatné\"],\"QbiUqd\":[\"Ověřit doménu\"],\"wCKkSr\":[\"Ověřit e-mail\"],\"9MqLGX\":[\"Váš pracovní prostor <0>\",[\"workspaceDisplayName\"],\"</0> byl odstraněn, protože vaše předplatné vypršelo před \",[\"daysSinceInactive\"],\" dny.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Accepter invitation\"],\"Yxj+Uc\":[\"Alle data i dette arbejdsområde er blevet permanent slettet.\"],\"RPHFhC\":[\"Bekræft din e-mailadresse\"],\"nvkBPN\":[\"Forbind til Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Kære \",[\"userName\"]],\"tGme7M\":[\"har inviteret dig til at deltage i et arbejdsområde kaldet \"],\"uzTaYi\":[\"Hej\"],\"eE1nG1\":[\"Hvis du ikke har initieret denne ændring, bedes du straks kontakte ejeren af dit arbejdsområde.\"],\"Gz91L8\":[\"Hvis du ønsker at fortsætte med at bruge Twenty, opdater da dit abonnement inden for de næste \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Hvis du ønsker at bruge Twenty igen, kan du oprette et nyt arbejdsområde.\"],\"7JuhZQ\":[\"Det ser ud til, at dit arbejdsområde <0>\",[\"workspaceDisplayName\"],\"</0> er blevet suspenderet i \",[\"daysSinceInactive\"],\" dage.\"],\"PviVyk\":[\"Deltag i dit team på Twenty\"],\"ogtYkT\":[\"Adgangskode opdateret\"],\"OfhWJH\":[\"Nulstil\"],\"RE5NiU\":[\"Nulstil din adgangskode 🗝\"],\"7yDt8q\":[\"Tak fordi du har registreret en konto på Twenty! Før vi starter, skal vi bare bekræfte, at det er dig. Klik ovenfor for at bekræfte din e-mailadresse.\"],\"igorB1\":[\"Arbejdsområdet vil blive deaktiveret om \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", og alle dens data vil blive slettet.\"],\"7OEHy1\":[\"Dette er en bekræftelse på, at adgangskoden til din konto (\",[\"email\"],\") er blevet ændret den \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Dette link er kun gyldigt i de næste \",[\"duration\"],\". Hvis linket ikke fungerer, kan du bruge loginbekræftelseslinket direkte:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Opdater dit abonnement\"],\"wCKkSr\":[\"Bekræft e-mail\"],\"9MqLGX\":[\"Dit arbejdsområde <0>\",[\"workspaceDisplayName\"],\"</0> er blevet slettet, da dit abonnement udløb for \",[\"daysSinceInactive\"],\" dage siden.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Accepter invitation\"],\"Yxj+Uc\":[\"Alle data i dette arbejdsområde er blevet permanent slettet.\"],\"RPHFhC\":[\"Bekræft din e-mailadresse\"],\"nvkBPN\":[\"Forbind til Twenty\"],\"jPQSEz\":[\"Opret et nyt arbejdsområde\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Kære \",[\"userName\"]],\"lIdkf2\":[\"Kære \",[\"userName\"],\",\"],\"NTwcnq\":[\"Slettet arbejdsområde\"],\"tGme7M\":[\"har inviteret dig til at deltage i et arbejdsområde kaldet \"],\"uzTaYi\":[\"Hej\"],\"Xa0d85\":[\"Hej,\"],\"eE1nG1\":[\"Hvis du ikke har initieret denne ændring, bedes du straks kontakte ejeren af dit arbejdsområde.\"],\"Gz91L8\":[\"Hvis du ønsker at fortsætte med at bruge Twenty, opdater da dit abonnement inden for de næste \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Hvis du ønsker at bruge Twenty igen, kan du oprette et nyt arbejdsområde.\"],\"7JuhZQ\":[\"Det ser ud til, at dit arbejdsområde <0>\",[\"workspaceDisplayName\"],\"</0> er blevet suspenderet i \",[\"daysSinceInactive\"],\" dage.\"],\"PviVyk\":[\"Deltag i dit team på Twenty\"],\"ogtYkT\":[\"Adgangskode opdateret\"],\"u3Ns4p\":[\"Bekræft venligst dette domæne for at tillade brugere med <0>@\",[\"domain\"],\"</0> e-mailadresser at tilslutte sig dit arbejdsområde uden at kræve en invitation.\"],\"OfhWJH\":[\"Nulstil\"],\"RE5NiU\":[\"Nulstil din adgangskode 🗝\"],\"UBadaJ\":[\"Suspenderet arbejdsområde \"],\"7yDt8q\":[\"Tak fordi du har registreret en konto på Twenty! Før vi starter, skal vi bare bekræfte, at det er dig. Klik ovenfor for at bekræfte din e-mailadresse.\"],\"igorB1\":[\"Arbejdsområdet vil blive deaktiveret om \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", og alle dens data vil blive slettet.\"],\"7OEHy1\":[\"Dette er en bekræftelse på, at adgangskoden til din konto (\",[\"email\"],\") er blevet ændret den \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Dette link er kun gyldigt i de næste \",[\"duration\"],\". Hvis linket ikke fungerer, kan du bruge loginbekræftelseslinket direkte:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Opdater dit abonnement\"],\"QbiUqd\":[\"Bekræft domæne\"],\"wCKkSr\":[\"Bekræft e-mail\"],\"9MqLGX\":[\"Dit arbejdsområde <0>\",[\"workspaceDisplayName\"],\"</0> er blevet slettet, da dit abonnement udløb for \",[\"daysSinceInactive\"],\" dage siden.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Einladung akzeptieren\"],\"Yxj+Uc\":[\"Alle Daten in diesem Workspace wurden dauerhaft gelöscht.\"],\"RPHFhC\":[\"Bestätigen Sie Ihre E-Mail-Adresse\"],\"nvkBPN\":[\"Mit Twenty verbinden\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Sehr geehrte/r \",[\"userName\"]],\"tGme7M\":[\"hat Sie eingeladen, einem Workspace namens \"],\"uzTaYi\":[\"Hallo\"],\"eE1nG1\":[\"Wenn Sie diese Änderung nicht veranlasst haben, kontaktieren Sie bitte umgehend den Eigentümer Ihres Workspaces.\"],\"Gz91L8\":[\"Wenn Sie Twenty weiterhin nutzen möchten, aktualisieren Sie bitte Ihr Abonnement innerhalb der nächsten \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Wenn Sie Twenty erneut nutzen möchten, können Sie einen neuen Workspace erstellen.\"],\"7JuhZQ\":[\"Es scheint, dass Ihr Workspace <0>\",[\"workspaceDisplayName\"],\"</0> seit \",[\"daysSinceInactive\"],\" Tagen gesperrt ist.\"],\"PviVyk\":[\"Treten Sie Ihrem Team auf Twenty bei\"],\"ogtYkT\":[\"Passwort wurde aktualisiert\"],\"OfhWJH\":[\"Zurücksetzen\"],\"RE5NiU\":[\"Setzen Sie Ihr Passwort zurück 🗝\"],\"7yDt8q\":[\"Vielen Dank für Ihre Registrierung bei Twenty! Bevor wir beginnen, müssen wir nur bestätigen, dass Sie es sind. Klicken Sie oben, um Ihre E-Mail-Adresse zu verifizieren.\"],\"igorB1\":[\"Der Workspace wird in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" deaktiviert, und alle Daten werden gelöscht.\"],\"7OEHy1\":[\"Dies ist eine Bestätigung, dass das Passwort für Ihr Konto (\",[\"email\"],\") am \",[\"formattedDate\"],\" erfolgreich geändert wurde.\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Dieser Link ist nur für die nächsten \",[\"duration\"],\" gültig. Wenn der Link nicht funktioniert, können Sie den Anmeldebestätigungslink direkt verwenden:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Aktualisieren Sie Ihr Abonnement\"],\"wCKkSr\":[\"E-Mail verifizieren\"],\"9MqLGX\":[\"Ihr Workspace <0>\",[\"workspaceDisplayName\"],\"</0> wurde gelöscht, da Ihr Abonnement vor \",[\"daysSinceInactive\"],\" Tagen abgelaufen ist.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Einladung akzeptieren\"],\"Yxj+Uc\":[\"Alle Daten in diesem Workspace wurden dauerhaft gelöscht.\"],\"RPHFhC\":[\"Bestätigen Sie Ihre E-Mail-Adresse\"],\"nvkBPN\":[\"Mit Twenty verbinden\"],\"jPQSEz\":[\"Erstellen Sie einen neuen Arbeitsbereich\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Sehr geehrte/r \",[\"userName\"]],\"lIdkf2\":[\"Sehr geehrte/r \",[\"userName\"],\",\"],\"NTwcnq\":[\"Gelöschter Arbeitsbereich\"],\"tGme7M\":[\"hat Sie eingeladen, einem Workspace namens \"],\"uzTaYi\":[\"Hallo\"],\"Xa0d85\":[\"Hallo,\"],\"eE1nG1\":[\"Wenn Sie diese Änderung nicht veranlasst haben, kontaktieren Sie bitte umgehend den Eigentümer Ihres Workspaces.\"],\"Gz91L8\":[\"Wenn Sie Twenty weiterhin nutzen möchten, aktualisieren Sie bitte Ihr Abonnement innerhalb der nächsten \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Wenn Sie Twenty erneut nutzen möchten, können Sie einen neuen Workspace erstellen.\"],\"7JuhZQ\":[\"Es scheint, dass Ihr Workspace <0>\",[\"workspaceDisplayName\"],\"</0> seit \",[\"daysSinceInactive\"],\" Tagen gesperrt ist.\"],\"PviVyk\":[\"Treten Sie Ihrem Team auf Twenty bei\"],\"ogtYkT\":[\"Passwort wurde aktualisiert\"],\"u3Ns4p\":[\"Bitte validieren Sie diese Domain, damit Benutzer mit <0>@\",[\"domain\"],\"</0> E-Mail-Adressen Ihrem Arbeitsbereich beitreten können, ohne eine Einladung zu benötigen.\"],\"OfhWJH\":[\"Zurücksetzen\"],\"RE5NiU\":[\"Setzen Sie Ihr Passwort zurück 🗝\"],\"UBadaJ\":[\"Ausgesetzter Arbeitsbereich \"],\"7yDt8q\":[\"Vielen Dank für Ihre Registrierung bei Twenty! Bevor wir beginnen, müssen wir nur bestätigen, dass Sie es sind. Klicken Sie oben, um Ihre E-Mail-Adresse zu verifizieren.\"],\"igorB1\":[\"Der Workspace wird in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" deaktiviert, und alle Daten werden gelöscht.\"],\"7OEHy1\":[\"Dies ist eine Bestätigung, dass das Passwort für Ihr Konto (\",[\"email\"],\") am \",[\"formattedDate\"],\" erfolgreich geändert wurde.\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Dieser Link ist nur für die nächsten \",[\"duration\"],\" gültig. Wenn der Link nicht funktioniert, können Sie den Anmeldebestätigungslink direkt verwenden:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Aktualisieren Sie Ihr Abonnement\"],\"QbiUqd\":[\"Domain validieren\"],\"wCKkSr\":[\"E-Mail verifizieren\"],\"9MqLGX\":[\"Ihr Workspace <0>\",[\"workspaceDisplayName\"],\"</0> wurde gelöscht, da Ihr Abonnement vor \",[\"daysSinceInactive\"],\" Tagen abgelaufen ist.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Αποδοχή πρόσκλησης\"],\"Yxj+Uc\":[\"Όλα τα δεδομένα σε αυτόν τον χώρο εργασίας έχουν διαγραφεί μόνιμα.\"],\"RPHFhC\":[\"Επιβεβαιώστε τη διεύθυνση email σας\"],\"nvkBPN\":[\"Συνδεθείτε στο Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Αγαπητέ/ή \",[\"userName\"]],\"tGme7M\":[\"σας έχει προσκαλέσει να συμμετάσχετε σε έναν χώρο εργασίας με την ονομασία \"],\"uzTaYi\":[\"Γεια σας\"],\"eE1nG1\":[\"Εάν δεν έχετε προβεί εσείς σε αυτήν την αλλαγή, παρακαλώ επικοινωνήστε άμεσα με τον ιδιοκτήτη του χώρου εργασίας σας.\"],\"Gz91L8\":[\"Εάν επιθυμείτε να συνεχίστε να χρησιμοποιείτε το Twenty, παρακαλούμε ενημερώστε την συνδρομή σας εντός των επόμενων \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Εάν επιθυμείτε να χρησιμοποιήσετε ξανά το Twenty, μπορείτε να δημιουργήσετε ένα νέο χώρο εργασίας.\"],\"7JuhZQ\":[\"Φαίνεται ότι ο χώρος εργασίας σας <0>\",[\"workspaceDisplayName\"],\"</0> έχει ανασταλεί για \",[\"daysSinceInactive\"],\" ημέρες.\"],\"PviVyk\":[\"Συμμετέχετε στην ομάδα σας στο Twenty\"],\"ogtYkT\":[\"Ο κωδικός έχει ενημερωθεί\"],\"OfhWJH\":[\"Επαναφορά\"],\"RE5NiU\":[\"Επαναφέρετε τον κωδικό σας 🗝\"],\"7yDt8q\":[\"Σας ευχαριστούμε που εγγραφήκατε για έναν λογαριασμό στο Twenty! Πριν ξεκινήσουμε, πρέπει μόνο να επιβεβαιώσουμε ότι αυτός είστε εσείς. Κάντε κλικ παραπάνω για να επαληθεύσετε τη διεύθυνση email σας.\"],\"igorB1\":[\"Ο χώρος εργασίας θα απενεργοποιηθεί σε \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", και όλα τα δεδομένα του θα διαγραφούν.\"],\"7OEHy1\":[\"Αυτό είναι ένα επιβεβαίωση ότι ο κωδικός για τον λογαριασμό σας (\",[\"email\"],\") άλλαξε με επιτυχία στις \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Αυτός ο σύνδεσμος ισχύει μόνο για τις επόμενες \",[\"duration\"],\". Εάν ο σύνδεσμος δεν λειτουργεί, μπορείτε να χρησιμοποιήσετε τον σύνδεσμο επαλήθευσης σύνδεσης απευθείας:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Ενημερώστε τη συνδρομή σας\"],\"wCKkSr\":[\"Επαληθεύστε το Email\"],\"9MqLGX\":[\"Ο χώρος εργασίας σας <0>\",[\"workspaceDisplayName\"],\"</0> έχει διαγραφεί καθώς η συνδρομή σας έληξε \",[\"daysSinceInactive\"],\" ημέρες πριν.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Αποδοχή πρόσκλησης\"],\"Yxj+Uc\":[\"Όλα τα δεδομένα σε αυτόν τον χώρο εργασίας έχουν διαγραφεί μόνιμα.\"],\"RPHFhC\":[\"Επιβεβαιώστε τη διεύθυνση email σας\"],\"nvkBPN\":[\"Συνδεθείτε στο Twenty\"],\"jPQSEz\":[\"Δημιουργία νέου χώρου εργασίας\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Αγαπητέ/ή \",[\"userName\"]],\"lIdkf2\":[\"Αγαπητέ/ή \",[\"userName\"],\",\"],\"NTwcnq\":[\"Διαγραμμένος Χώρος Εργασίας\"],\"tGme7M\":[\"σας έχει προσκαλέσει να συμμετάσχετε σε έναν χώρο εργασίας με την ονομασία \"],\"uzTaYi\":[\"Γεια σας\"],\"Xa0d85\":[\"Γεια σας,\"],\"eE1nG1\":[\"Εάν δεν έχετε προβεί εσείς σε αυτήν την αλλαγή, παρακαλώ επικοινωνήστε άμεσα με τον ιδιοκτήτη του χώρου εργασίας σας.\"],\"Gz91L8\":[\"Εάν επιθυμείτε να συνεχίστε να χρησιμοποιείτε το Twenty, παρακαλούμε ενημερώστε την συνδρομή σας εντός των επόμενων \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Εάν επιθυμείτε να χρησιμοποιήσετε ξανά το Twenty, μπορείτε να δημιουργήσετε ένα νέο χώρο εργασίας.\"],\"7JuhZQ\":[\"Φαίνεται ότι ο χώρος εργασίας σας <0>\",[\"workspaceDisplayName\"],\"</0> έχει ανασταλεί για \",[\"daysSinceInactive\"],\" ημέρες.\"],\"PviVyk\":[\"Συμμετέχετε στην ομάδα σας στο Twenty\"],\"ogtYkT\":[\"Ο κωδικός έχει ενημερωθεί\"],\"u3Ns4p\":[\"Παρακαλώ επικυρώστε αυτόν τον τομέα για να επιτρέψετε στους χρήστες με διευθύνσεις email <0>@\",[\"domain\"],\"</0> να συμμετάσχουν στον χώρο εργασίας σας χωρίς να απαιτείται πρόσκληση.\"],\"OfhWJH\":[\"Επαναφορά\"],\"RE5NiU\":[\"Επαναφέρετε τον κωδικό σας 🗝\"],\"UBadaJ\":[\"Ανασταλμένος Χώρος Εργασίας \"],\"7yDt8q\":[\"Σας ευχαριστούμε που εγγραφήκατε για έναν λογαριασμό στο Twenty! Πριν ξεκινήσουμε, πρέπει μόνο να επιβεβαιώσουμε ότι αυτός είστε εσείς. Κάντε κλικ παραπάνω για να επαληθεύσετε τη διεύθυνση email σας.\"],\"igorB1\":[\"Ο χώρος εργασίας θα απενεργοποιηθεί σε \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", και όλα τα δεδομένα του θα διαγραφούν.\"],\"7OEHy1\":[\"Αυτό είναι ένα επιβεβαίωση ότι ο κωδικός για τον λογαριασμό σας (\",[\"email\"],\") άλλαξε με επιτυχία στις \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Αυτός ο σύνδεσμος ισχύει μόνο για τις επόμενες \",[\"duration\"],\". Εάν ο σύνδεσμος δεν λειτουργεί, μπορείτε να χρησιμοποιήσετε τον σύνδεσμο επαλήθευσης σύνδεσης απευθείας:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Ενημερώστε τη συνδρομή σας\"],\"QbiUqd\":[\"Επικύρωση τομέα\"],\"wCKkSr\":[\"Επαληθεύστε το Email\"],\"9MqLGX\":[\"Ο χώρος εργασίας σας <0>\",[\"workspaceDisplayName\"],\"</0> έχει διαγραφεί καθώς η συνδρομή σας έληξε \",[\"daysSinceInactive\"],\" ημέρες πριν.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Accept invite\"],\"Yxj+Uc\":[\"All data in this workspace has been permanently deleted.\"],\"RPHFhC\":[\"Confirm your email address\"],\"nvkBPN\":[\"Connect to Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Dear \",[\"userName\"]],\"tGme7M\":[\"has invited you to join a workspace called \"],\"uzTaYi\":[\"Hello\"],\"eE1nG1\":[\"If you did not initiate this change, please contact your workspace owner immediately.\"],\"Gz91L8\":[\"If you wish to continue using Twenty, please update your subscription within the next \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"If you wish to use Twenty again, you can create a new workspace.\"],\"7JuhZQ\":[\"It appears that your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been suspended for \",[\"daysSinceInactive\"],\" days.\"],\"PviVyk\":[\"Join your team on Twenty\"],\"ogtYkT\":[\"Password updated\"],\"OfhWJH\":[\"Reset\"],\"RE5NiU\":[\"Reset your password 🗝\"],\"7yDt8q\":[\"Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address.\"],\"igorB1\":[\"The workspace will be deactivated in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", and all its data will be deleted.\"],\"7OEHy1\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Update your subscription\"],\"wCKkSr\":[\"Verify Email\"],\"9MqLGX\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"daysSinceInactive\"],\" days ago.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Accept invite\"],\"Yxj+Uc\":[\"All data in this workspace has been permanently deleted.\"],\"RPHFhC\":[\"Confirm your email address\"],\"nvkBPN\":[\"Connect to Twenty\"],\"jPQSEz\":[\"Create a new workspace\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Dear \",[\"userName\"]],\"lIdkf2\":[\"Dear \",[\"userName\"],\",\"],\"NTwcnq\":[\"Deleted Workspace\"],\"tGme7M\":[\"has invited you to join a workspace called \"],\"uzTaYi\":[\"Hello\"],\"Xa0d85\":[\"Hello,\"],\"eE1nG1\":[\"If you did not initiate this change, please contact your workspace owner immediately.\"],\"Gz91L8\":[\"If you wish to continue using Twenty, please update your subscription within the next \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"If you wish to use Twenty again, you can create a new workspace.\"],\"7JuhZQ\":[\"It appears that your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been suspended for \",[\"daysSinceInactive\"],\" days.\"],\"PviVyk\":[\"Join your team on Twenty\"],\"ogtYkT\":[\"Password updated\"],\"u3Ns4p\":[\"Please validate this domain to allow users with <0>@\",[\"domain\"],\"</0> email addresses to join your workspace without requiring an invitation.\"],\"OfhWJH\":[\"Reset\"],\"RE5NiU\":[\"Reset your password 🗝\"],\"UBadaJ\":[\"Suspended Workspace \"],\"7yDt8q\":[\"Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address.\"],\"igorB1\":[\"The workspace will be deactivated in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", and all its data will be deleted.\"],\"7OEHy1\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Update your subscription\"],\"QbiUqd\":[\"Validate domain\"],\"wCKkSr\":[\"Verify Email\"],\"9MqLGX\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"daysSinceInactive\"],\" days ago.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Aceptar invitación\"],\"Yxj+Uc\":[\"Todos los datos de este espacio de trabajo han sido eliminados permanentemente.\"],\"RPHFhC\":[\"Confirma tu dirección de correo electrónico\"],\"nvkBPN\":[\"Conéctate a Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Estimado/a \",[\"userName\"]],\"tGme7M\":[\"te ha invitado a unirte a un espacio de trabajo llamado \"],\"uzTaYi\":[\"Hola\"],\"eE1nG1\":[\"Si no iniciaste este cambio, contacta inmediatamente al propietario de tu espacio de trabajo.\"],\"Gz91L8\":[\"Si deseas seguir usando Twenty, actualiza tu suscripción en los próximos \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Si deseas usar Twenty nuevamente, puedes crear un nuevo espacio de trabajo.\"],\"7JuhZQ\":[\"Parece que tu espacio de trabajo <0>\",[\"workspaceDisplayName\"],\"</0> ha estado suspendido durante \",[\"daysSinceInactive\"],\" días.\"],\"PviVyk\":[\"Únete a tu equipo en Twenty\"],\"ogtYkT\":[\"Contraseña actualizada\"],\"OfhWJH\":[\"Restablecer\"],\"RE5NiU\":[\"Restablece tu contraseña 🗝\"],\"7yDt8q\":[\"¡Gracias por registrarte en Twenty! Antes de comenzar, solo necesitamos confirmar que eres tú. Haz clic arriba para verificar tu dirección de correo electrónico.\"],\"igorB1\":[\"El espacio de trabajo se desactivará en \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" y se eliminarán todos sus datos.\"],\"7OEHy1\":[\"Esta es una confirmación de que la contraseña de tu cuenta (\",[\"email\"],\") se cambió correctamente el \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Este enlace solo es válido por los próximos \",[\"duration\"],\". Si el enlace no funciona, puedes usar directamente el enlace de verificación de inicio de sesión:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Actualiza tu suscripción\"],\"wCKkSr\":[\"Verificar correo electrónico\"],\"9MqLGX\":[\"Tu espacio de trabajo <0>\",[\"workspaceDisplayName\"],\"</0> ha sido eliminado porque tu suscripción caducó hace \",[\"daysSinceInactive\"],\" días.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Aceptar invitación\"],\"Yxj+Uc\":[\"Todos los datos de este espacio de trabajo han sido eliminados permanentemente.\"],\"RPHFhC\":[\"Confirma tu dirección de correo electrónico\"],\"nvkBPN\":[\"Conéctate a Twenty\"],\"jPQSEz\":[\"Crea un nuevo espacio de trabajo\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Estimado/a \",[\"userName\"]],\"lIdkf2\":[\"Estimado/a \",[\"userName\"],\",\"],\"NTwcnq\":[\"Espacio de trabajo eliminado\"],\"tGme7M\":[\"te ha invitado a unirte a un espacio de trabajo llamado \"],\"uzTaYi\":[\"Hola\"],\"Xa0d85\":[\"Hola,\"],\"eE1nG1\":[\"Si no iniciaste este cambio, contacta inmediatamente al propietario de tu espacio de trabajo.\"],\"Gz91L8\":[\"Si deseas seguir usando Twenty, actualiza tu suscripción en los próximos \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Si deseas usar Twenty nuevamente, puedes crear un nuevo espacio de trabajo.\"],\"7JuhZQ\":[\"Parece que tu espacio de trabajo <0>\",[\"workspaceDisplayName\"],\"</0> ha estado suspendido durante \",[\"daysSinceInactive\"],\" días.\"],\"PviVyk\":[\"Únete a tu equipo en Twenty\"],\"ogtYkT\":[\"Contraseña actualizada\"],\"u3Ns4p\":[\"Por favor, valide este dominio para permitir que los usuarios con direcciones de correo electrónico <0>@\",[\"domain\"],\"</0> se unan a su espacio de trabajo sin necesidad de una invitación.\"],\"OfhWJH\":[\"Restablecer\"],\"RE5NiU\":[\"Restablece tu contraseña 🗝\"],\"UBadaJ\":[\"Espacio de trabajo suspendido \"],\"7yDt8q\":[\"¡Gracias por registrarte en Twenty! Antes de comenzar, solo necesitamos confirmar que eres tú. Haz clic arriba para verificar tu dirección de correo electrónico.\"],\"igorB1\":[\"El espacio de trabajo se desactivará en \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" y se eliminarán todos sus datos.\"],\"7OEHy1\":[\"Esta es una confirmación de que la contraseña de tu cuenta (\",[\"email\"],\") se cambió correctamente el \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Este enlace solo es válido por los próximos \",[\"duration\"],\". Si el enlace no funciona, puedes usar directamente el enlace de verificación de inicio de sesión:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Actualiza tu suscripción\"],\"QbiUqd\":[\"Validar dominio\"],\"wCKkSr\":[\"Verificar correo electrónico\"],\"9MqLGX\":[\"Tu espacio de trabajo <0>\",[\"workspaceDisplayName\"],\"</0> ha sido eliminado porque tu suscripción caducó hace \",[\"daysSinceInactive\"],\" días.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Hyväksy kutsu\"],\"Yxj+Uc\":[\"Kaikki tiedot tässä työtilassa on pysyvästi poistettu.\"],\"RPHFhC\":[\"Vahvista sähköpostiosoitteesi\"],\"nvkBPN\":[\"Yhdistä Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Hyvä \",[\"userName\"]],\"tGme7M\":[\"on kutsunut sinut liittymään työtilaan nimeltä \"],\"uzTaYi\":[\"Hei\"],\"eE1nG1\":[\"Jos et itse aloittanut tätä muutosta, ota heti yhteyttä työtilasi omistajaan.\"],\"Gz91L8\":[\"Jos haluat jatkaa Twenty:n käyttöä, päivitä tilauksesi seuraavan \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" kuluessa.\"],\"0weyko\":[\"Jos haluat käyttää Twentyä uudelleen, voit luoda uuden työtilan.\"],\"7JuhZQ\":[\"Vaikuttaa siltä, että työtilasi <0>\",[\"workspaceDisplayName\"],\"</0> on ollut jäädytettynä \",[\"daysSinceInactive\"],\" päivää.\"],\"PviVyk\":[\"Liity tiimiisi Twentyssä\"],\"ogtYkT\":[\"Salasana päivitetty\"],\"OfhWJH\":[\"Nollaa\"],\"RE5NiU\":[\"Nollaa salasanasi 🗝\"],\"7yDt8q\":[\"Kiitos, että rekisteröidyit Twenty:n käyttäjäksi! Ennen kuin aloitamme, meidän täytyy vahvistaa, että kyseessä on sinä. Klikkaa yllä vahvistaaksesi sähköpostiosoitteesi.\"],\"igorB1\":[\"Työtila poistetaan käytöstä \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" kuluttua, ja kaikki sen tiedot poistetaan.\"],\"7OEHy1\":[\"Tämä on vahvistus siitä, että tilisi (\",[\"email\"],\") salasana on vaihdettu onnistuneesti \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Tämä linkki on voimassa vain seuraavat \",[\"duration\"],\". Jos linkki ei toimi, voit käyttää suoraan kirjautumisen varmennuslinkkiä:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Päivitä tilauksesi\"],\"wCKkSr\":[\"Vahvista sähköposti\"],\"9MqLGX\":[\"Työtilasi <0>\",[\"workspaceDisplayName\"],\"</0> on poistettu, koska tilauksesi vanheni \",[\"daysSinceInactive\"],\" päivää sitten.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Hyväksy kutsu\"],\"Yxj+Uc\":[\"Kaikki tiedot tässä työtilassa on pysyvästi poistettu.\"],\"RPHFhC\":[\"Vahvista sähköpostiosoitteesi\"],\"nvkBPN\":[\"Yhdistä Twenty\"],\"jPQSEz\":[\"Luo uusi työtila\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Hyvä \",[\"userName\"]],\"lIdkf2\":[\"Hyvä \",[\"userName\"],\",\"],\"NTwcnq\":[\"Poistettu työtila\"],\"tGme7M\":[\"on kutsunut sinut liittymään työtilaan nimeltä \"],\"uzTaYi\":[\"Hei\"],\"Xa0d85\":[\"Hei,\"],\"eE1nG1\":[\"Jos et itse aloittanut tätä muutosta, ota heti yhteyttä työtilasi omistajaan.\"],\"Gz91L8\":[\"Jos haluat jatkaa Twenty:n käyttöä, päivitä tilauksesi seuraavan \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" kuluessa.\"],\"0weyko\":[\"Jos haluat käyttää Twentyä uudelleen, voit luoda uuden työtilan.\"],\"7JuhZQ\":[\"Vaikuttaa siltä, että työtilasi <0>\",[\"workspaceDisplayName\"],\"</0> on ollut jäädytettynä \",[\"daysSinceInactive\"],\" päivää.\"],\"PviVyk\":[\"Liity tiimiisi Twentyssä\"],\"ogtYkT\":[\"Salasana päivitetty\"],\"u3Ns4p\":[\"Vahvista tämä verkkotunnus, jotta käyttäjät, joilla on <0>@\",[\"domain\"],\"</0> sähköpostiosoitteet, voivat liittyä työtilaasi ilman kutsua.\"],\"OfhWJH\":[\"Nollaa\"],\"RE5NiU\":[\"Nollaa salasanasi 🗝\"],\"UBadaJ\":[\"Keskeytetty työtila \"],\"7yDt8q\":[\"Kiitos, että rekisteröidyit Twenty:n käyttäjäksi! Ennen kuin aloitamme, meidän täytyy vahvistaa, että kyseessä on sinä. Klikkaa yllä vahvistaaksesi sähköpostiosoitteesi.\"],\"igorB1\":[\"Työtila poistetaan käytöstä \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" kuluttua, ja kaikki sen tiedot poistetaan.\"],\"7OEHy1\":[\"Tämä on vahvistus siitä, että tilisi (\",[\"email\"],\") salasana on vaihdettu onnistuneesti \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Tämä linkki on voimassa vain seuraavat \",[\"duration\"],\". Jos linkki ei toimi, voit käyttää suoraan kirjautumisen varmennuslinkkiä:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Päivitä tilauksesi\"],\"QbiUqd\":[\"Vahvista verkkotunnus\"],\"wCKkSr\":[\"Vahvista sähköposti\"],\"9MqLGX\":[\"Työtilasi <0>\",[\"workspaceDisplayName\"],\"</0> on poistettu, koska tilauksesi vanheni \",[\"daysSinceInactive\"],\" päivää sitten.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Accepter l'invitation\"],\"Yxj+Uc\":[\"Toutes les données de cet espace de travail ont été supprimées définitivement.\"],\"RPHFhC\":[\"Confirmez votre adresse e-mail\"],\"nvkBPN\":[\"Connectez-vous à Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Cher \",[\"userName\"]],\"tGme7M\":[\"vous a invité à rejoindre un espace de travail appelé \"],\"uzTaYi\":[\"Bonjour\"],\"eE1nG1\":[\"Si vous n'avez pas initié ce changement, veuillez contacter immédiatement le propriétaire de votre espace de travail.\"],\"Gz91L8\":[\"Pour continuer à utiliser Twenty, veuillez mettre à jour votre abonnement dans les \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Pour réutiliser Twenty, vous pouvez créer un nouvel espace de travail.\"],\"7JuhZQ\":[\"Il semble que votre espace de travail <0>\",[\"workspaceDisplayName\"],\"</0> soit suspendu depuis \",[\"daysSinceInactive\"],\" jours.\"],\"PviVyk\":[\"Rejoignez votre équipe sur Twenty\"],\"ogtYkT\":[\"Mot de passe mis à jour\"],\"OfhWJH\":[\"Réinitialiser\"],\"RE5NiU\":[\"Réinitialisez votre mot de passe 🗝\"],\"7yDt8q\":[\"Merci de vous être inscrit sur Twenty ! Avant de commencer, nous devons confirmer votre identité. Cliquez ci-dessus pour vérifier votre adresse e-mail.\"],\"igorB1\":[\"L'espace de travail sera désactivé dans \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" et toutes ses données seront supprimées.\"],\"7OEHy1\":[\"Ceci est une confirmation que le mot de passe de votre compte (\",[\"email\"],\") a été modifié avec succès le \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Ce lien n'est valable que pour les \",[\"duration\"],\" suivants. Si le lien ne fonctionne pas, vous pouvez utiliser directement le lien de vérification de connexion :\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Mettez à jour votre abonnement\"],\"wCKkSr\":[\"Vérifiez l'e-mail\"],\"9MqLGX\":[\"Votre espace de travail <0>\",[\"workspaceDisplayName\"],\"</0> a été supprimé car votre abonnement a expiré il y a \",[\"daysSinceInactive\"],\" jours.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Accepter l'invitation\"],\"Yxj+Uc\":[\"Toutes les données de cet espace de travail ont été supprimées définitivement.\"],\"RPHFhC\":[\"Confirmez votre adresse e-mail\"],\"nvkBPN\":[\"Connectez-vous à Twenty\"],\"jPQSEz\":[\"Créez un nouvel espace de travail\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Cher \",[\"userName\"]],\"lIdkf2\":[\"Cher \",[\"userName\"],\",\"],\"NTwcnq\":[\"Espace de travail supprimé\"],\"tGme7M\":[\"vous a invité à rejoindre un espace de travail appelé \"],\"uzTaYi\":[\"Bonjour\"],\"Xa0d85\":[\"Bonjour,\"],\"eE1nG1\":[\"Si vous n'avez pas initié ce changement, veuillez contacter immédiatement le propriétaire de votre espace de travail.\"],\"Gz91L8\":[\"Pour continuer à utiliser Twenty, veuillez mettre à jour votre abonnement dans les \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Pour réutiliser Twenty, vous pouvez créer un nouvel espace de travail.\"],\"7JuhZQ\":[\"Il semble que votre espace de travail <0>\",[\"workspaceDisplayName\"],\"</0> soit suspendu depuis \",[\"daysSinceInactive\"],\" jours.\"],\"PviVyk\":[\"Rejoignez votre équipe sur Twenty\"],\"ogtYkT\":[\"Mot de passe mis à jour\"],\"u3Ns4p\":[\"Veuillez valider ce domaine pour permettre aux utilisateurs avec des adresses e-mail <0>@\",[\"domain\"],\"</0> de rejoindre votre espace de travail sans nécessiter d'invitation.\"],\"OfhWJH\":[\"Réinitialiser\"],\"RE5NiU\":[\"Réinitialisez votre mot de passe 🗝\"],\"UBadaJ\":[\"Espace de travail suspendu \"],\"7yDt8q\":[\"Merci de vous être inscrit sur Twenty ! Avant de commencer, nous devons confirmer votre identité. Cliquez ci-dessus pour vérifier votre adresse e-mail.\"],\"igorB1\":[\"L'espace de travail sera désactivé dans \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" et toutes ses données seront supprimées.\"],\"7OEHy1\":[\"Ceci est une confirmation que le mot de passe de votre compte (\",[\"email\"],\") a été modifié avec succès le \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Ce lien n'est valable que pour les \",[\"duration\"],\" suivants. Si le lien ne fonctionne pas, vous pouvez utiliser directement le lien de vérification de connexion :\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Mettez à jour votre abonnement\"],\"QbiUqd\":[\"Valider le domaine\"],\"wCKkSr\":[\"Vérifiez l'e-mail\"],\"9MqLGX\":[\"Votre espace de travail <0>\",[\"workspaceDisplayName\"],\"</0> a été supprimé car votre abonnement a expiré il y a \",[\"daysSinceInactive\"],\" jours.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"קבל הזמנה\"],\"Yxj+Uc\":[\"כל הנתונים במרחב העבודה הזה נמחקו לצמיתות.\"],\"RPHFhC\":[\"אמת את כתובת האימייל שלך\"],\"nvkBPN\":[\"התחבר ל-Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"יקר \",[\"userName\"]],\"tGme7M\":[\"הזמין אותך להצטרף למרחב עבודה בשם \"],\"uzTaYi\":[\"שלום\"],\"eE1nG1\":[\"אם לא אתה התחלת את השינוי הזה, אנא פנה מיד לבעל מרחב העבודה שלך.\"],\"Gz91L8\":[\"אם תרצה להמשיך ולהשתמש ב-Twenty, אנא עדכן את המנוי שלך במהלך \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" הבאים.\"],\"0weyko\":[\"אם תרצה להשתמש ב-Twenty שוב, תוכל ליצור מרחב עבודה חדש.\"],\"7JuhZQ\":[\"נראה כי מרחב העבודה שלך <0>\",[\"workspaceDisplayName\"],\"</0> הושעה ל-\",[\"daysSinceInactive\"],\" ימים.\"],\"PviVyk\":[\"הצטרף לצוות שלך ב-Twenty\"],\"ogtYkT\":[\"הסיסמה עודכנה\"],\"OfhWJH\":[\"איפוס\"],\"RE5NiU\":[\"אפס את הסיסמה שלך 🗝\"],\"7yDt8q\":[\"תודה שנרשמת לחשבון ב-Twenty! לפני שנתחיל, אנחנו רק צריכים לוודא שזה אתה. לחץ למעלה כדי לאמת את כתובת המייל שלך.\"],\"igorB1\":[\"המרחב ייסגר בעוד \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", וכל הנתונים שלו ימחקו.\"],\"7OEHy1\":[\"זוהי אישור שהסיסמה לחשבון שלך (\",[\"email\"],\") שונתה בהצלחה ב-\",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"הקישור הזה תקף רק ל-\",[\"duration\"],\" הבאים. אם הקישור לא עובד, תוכל להשתמש בקישור אימות ההתחברות ישירות:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"עדכן את המנוי שלך\"],\"wCKkSr\":[\"אמת דוא\\\"ל\"],\"9MqLGX\":[\"המרחב שלך <0>\",[\"workspaceDisplayName\"],\"</0> נמחק כי המנוי שלך פג תוקף לפני \",[\"daysSinceInactive\"],\" ימים.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"קבל הזמנה\"],\"Yxj+Uc\":[\"כל הנתונים במרחב העבודה הזה נמחקו לצמיתות.\"],\"RPHFhC\":[\"אמת את כתובת האימייל שלך\"],\"nvkBPN\":[\"התחבר ל-Twenty\"],\"jPQSEz\":[\"צור מרחב עבודה חדש\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"יקר \",[\"userName\"]],\"lIdkf2\":[\"יקר/ה \",[\"userName\"],\",\"],\"NTwcnq\":[\"מרחב עבודה שנמחק\"],\"tGme7M\":[\"הזמין אותך להצטרף למרחב עבודה בשם \"],\"uzTaYi\":[\"שלום\"],\"Xa0d85\":[\"שלום,\"],\"eE1nG1\":[\"אם לא אתה התחלת את השינוי הזה, אנא פנה מיד לבעל מרחב העבודה שלך.\"],\"Gz91L8\":[\"אם תרצה להמשיך ולהשתמש ב-Twenty, אנא עדכן את המנוי שלך במהלך \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" הבאים.\"],\"0weyko\":[\"אם תרצה להשתמש ב-Twenty שוב, תוכל ליצור מרחב עבודה חדש.\"],\"7JuhZQ\":[\"נראה כי מרחב העבודה שלך <0>\",[\"workspaceDisplayName\"],\"</0> הושעה ל-\",[\"daysSinceInactive\"],\" ימים.\"],\"PviVyk\":[\"הצטרף לצוות שלך ב-Twenty\"],\"ogtYkT\":[\"הסיסמה עודכנה\"],\"u3Ns4p\":[\"אנא אמת דומיין זה כדי לאפשר למשתמשים עם כתובות דוא\\\"ל <0>@\",[\"domain\"],\"</0> להצטרף למרחב שלך בלי צורך בהזמנה.\"],\"OfhWJH\":[\"איפוס\"],\"RE5NiU\":[\"אפס את הסיסמה שלך 🗝\"],\"UBadaJ\":[\"מרחב עבודה מושעה \"],\"7yDt8q\":[\"תודה שנרשמת לחשבון ב-Twenty! לפני שנתחיל, אנחנו רק צריכים לוודא שזה אתה. לחץ למעלה כדי לאמת את כתובת המייל שלך.\"],\"igorB1\":[\"המרחב ייסגר בעוד \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", וכל הנתונים שלו ימחקו.\"],\"7OEHy1\":[\"זוהי אישור שהסיסמה לחשבון שלך (\",[\"email\"],\") שונתה בהצלחה ב-\",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"הקישור הזה תקף רק ל-\",[\"duration\"],\" הבאים. אם הקישור לא עובד, תוכל להשתמש בקישור אימות ההתחברות ישירות:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"עדכן את המנוי שלך\"],\"QbiUqd\":[\"אמת את הדומיין\"],\"wCKkSr\":[\"אמת דוא\\\"ל\"],\"9MqLGX\":[\"המרחב שלך <0>\",[\"workspaceDisplayName\"],\"</0> נמחק כי המנוי שלך פג תוקף לפני \",[\"daysSinceInactive\"],\" ימים.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Meghívó elfogadása\"],\"Yxj+Uc\":[\"A munkaterület minden adata végérvényesen törlésre került.\"],\"RPHFhC\":[\"Erősítse meg email címét\"],\"nvkBPN\":[\"Csatlakozás a Twentyhez\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Kedves \",[\"userName\"]],\"tGme7M\":[\"meghívta Önt, hogy csatlakozzon egy munkaterülethez, amelynek a neve: \"],\"uzTaYi\":[\"Üdvözlöm\"],\"eE1nG1\":[\"Amennyiben Ön nem kezdeményezte ezt a változtatást, kérjük azonnal lépjen kapcsolatba a munkaterület tulajdonosával.\"],\"Gz91L8\":[\"Amennyiben szeretné folytatni a Twenty használatát, kérjük frissítse előfizetését a következő \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" időszakban.\"],\"0weyko\":[\"Ha újra szeretné használni a Twenty-t, létrehozhat egy új munkaterületet.\"],\"7JuhZQ\":[\"Úgy tűnik, hogy a munkaterülete <0>\",[\"workspaceDisplayName\"],\"</0> felfüggesztésre került \",[\"daysSinceInactive\"],\" napja.\"],\"PviVyk\":[\"Csatlakozzon a csapatához a Twentyn\"],\"ogtYkT\":[\"Jelszó frissítve\"],\"OfhWJH\":[\"Visszaállítás\"],\"RE5NiU\":[\"Jelszó visszaállítása 🗝\"],\"7yDt8q\":[\"Köszönjük, hogy regisztrált a Twenty szolgáltatására! Mielőtt elkezdenénk, csak meg kell erősítenünk, hogy ez Ön. Kattintson a fenti hivatkozásra email címének megerősítéséhez.\"],\"igorB1\":[\"A munkaterület \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" múlva lesz deaktiválva, és minden adat törlésre kerül.\"],\"7OEHy1\":[\"Ez egy megerősítés arról, hogy fiókja jelszavát (\",[\"email\"],\") sikeresen megváltoztatták \",[\"formattedDate\"],\" napján.\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Ez a hivatkozás csak a következő \",[\"duration\"],\" ideig érvényes. Ha a hivatkozás nem működik, használhatja közvetlenül a belépés ellenőrző hivatkozását:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Előfizetés frissítése\"],\"wCKkSr\":[\"Email ellenőrzése\"],\"9MqLGX\":[\"Munkaterülete <0>\",[\"workspaceDisplayName\"],\"</0> törlésre került, mivel előfizetése \",[\"daysSinceInactive\"],\" nappal ezelőtt lejárt.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Meghívó elfogadása\"],\"Yxj+Uc\":[\"A munkaterület minden adata végérvényesen törlésre került.\"],\"RPHFhC\":[\"Erősítse meg email címét\"],\"nvkBPN\":[\"Csatlakozás a Twentyhez\"],\"jPQSEz\":[\"Hozzon létre új munkaterületet\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Kedves \",[\"userName\"]],\"lIdkf2\":[\"Kedves \",[\"userName\"],\",\"],\"NTwcnq\":[\"Törölt munkaterület\"],\"tGme7M\":[\"meghívta Önt, hogy csatlakozzon egy munkaterülethez, amelynek a neve: \"],\"uzTaYi\":[\"Üdvözlöm\"],\"Xa0d85\":[\"Üdvözlöm,\"],\"eE1nG1\":[\"Amennyiben Ön nem kezdeményezte ezt a változtatást, kérjük azonnal lépjen kapcsolatba a munkaterület tulajdonosával.\"],\"Gz91L8\":[\"Amennyiben szeretné folytatni a Twenty használatát, kérjük frissítse előfizetését a következő \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" időszakban.\"],\"0weyko\":[\"Ha újra szeretné használni a Twenty-t, létrehozhat egy új munkaterületet.\"],\"7JuhZQ\":[\"Úgy tűnik, hogy a munkaterülete <0>\",[\"workspaceDisplayName\"],\"</0> felfüggesztésre került \",[\"daysSinceInactive\"],\" napja.\"],\"PviVyk\":[\"Csatlakozzon a csapatához a Twentyn\"],\"ogtYkT\":[\"Jelszó frissítve\"],\"u3Ns4p\":[\"Kérjük, érvényesítse ezt a domaint annak érdekében, hogy az <0>@\",[\"domain\"],\"</0> e-mail címmel rendelkező felhasználók meghívó nélkül csatlakozhassanak a munkaterületéhez.\"],\"OfhWJH\":[\"Visszaállítás\"],\"RE5NiU\":[\"Jelszó visszaállítása 🗝\"],\"UBadaJ\":[\"Felfüggesztett munkaterület \"],\"7yDt8q\":[\"Köszönjük, hogy regisztrált a Twenty szolgáltatására! Mielőtt elkezdenénk, csak meg kell erősítenünk, hogy ez Ön. Kattintson a fenti hivatkozásra email címének megerősítéséhez.\"],\"igorB1\":[\"A munkaterület \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" múlva lesz deaktiválva, és minden adat törlésre kerül.\"],\"7OEHy1\":[\"Ez egy megerősítés arról, hogy fiókja jelszavát (\",[\"email\"],\") sikeresen megváltoztatták \",[\"formattedDate\"],\" napján.\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Ez a hivatkozás csak a következő \",[\"duration\"],\" ideig érvényes. Ha a hivatkozás nem működik, használhatja közvetlenül a belépés ellenőrző hivatkozását:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Előfizetés frissítése\"],\"QbiUqd\":[\"Domain érvényesítése\"],\"wCKkSr\":[\"Email ellenőrzése\"],\"9MqLGX\":[\"Munkaterülete <0>\",[\"workspaceDisplayName\"],\"</0> törlésre került, mivel előfizetése \",[\"daysSinceInactive\"],\" nappal ezelőtt lejárt.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Accetta l'invito\"],\"Yxj+Uc\":[\"Tutti i dati in questo spazio di lavoro sono stati eliminati definitivamente.\"],\"RPHFhC\":[\"Conferma il tuo indirizzo e-mail\"],\"nvkBPN\":[\"Accedi a Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Gentile \",[\"userName\"]],\"tGme7M\":[\"ti ha invitato a unirti a uno spazio di lavoro chiamato \"],\"uzTaYi\":[\"Salve\"],\"eE1nG1\":[\"Se non hai avviato questa modifica, contatta immediatamente il proprietario dello spazio di lavoro.\"],\"Gz91L8\":[\"Se desideri continuare a utilizzare Twenty, aggiorna il tuo abbonamento entro i prossimi \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Se desideri utilizzare nuovamente Twenty, puoi creare un nuovo spazio di lavoro.\"],\"7JuhZQ\":[\"Sembra che il tuo spazio di lavoro <0>\",[\"workspaceDisplayName\"],\"</0> sia stato sospeso per \",[\"daysSinceInactive\"],\" giorni.\"],\"PviVyk\":[\"Unisciti al tuo team su Twenty\"],\"ogtYkT\":[\"Password aggiornata\"],\"OfhWJH\":[\"Reimposta\"],\"RE5NiU\":[\"Reimposta la tua password 🗝\"],\"7yDt8q\":[\"Grazie per esserti registrato su Twenty! Prima di iniziare, dobbiamo solo confermare che sei tu. Clicca sopra per verificare il tuo indirizzo e-mail.\"],\"igorB1\":[\"L'area di lavoro sarà disattivata in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" e tutti i suoi dati saranno cancellati.\"],\"7OEHy1\":[\"Questa è la conferma che la password del tuo account (\",[\"email\"],\") è stata modificata con successo in data \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Questo link è valido solo per i prossimi \",[\"duration\"],\". Se il link non funziona, puoi utilizzare direttamente il link di verifica del login:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Aggiorna il tuo abbonamento\"],\"wCKkSr\":[\"Verifica e-mail\"],\"9MqLGX\":[\"Il tuo spazio di lavoro <0>\",[\"workspaceDisplayName\"],\"</0> è stato cancellato poiché il tuo abbonamento è scaduto \",[\"daysSinceInactive\"],\" giorni fa.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Accetta l'invito\"],\"Yxj+Uc\":[\"Tutti i dati in questo spazio di lavoro sono stati eliminati definitivamente.\"],\"RPHFhC\":[\"Conferma il tuo indirizzo e-mail\"],\"nvkBPN\":[\"Accedi a Twenty\"],\"jPQSEz\":[\"Crea un nuovo spazio di lavoro\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Gentile \",[\"userName\"]],\"lIdkf2\":[\"Gentile \",[\"userName\"],\",\"],\"NTwcnq\":[\"Workspace eliminato\"],\"tGme7M\":[\"ti ha invitato a unirti a uno spazio di lavoro chiamato \"],\"uzTaYi\":[\"Salve\"],\"Xa0d85\":[\"Salve,\"],\"eE1nG1\":[\"Se non hai avviato questa modifica, contatta immediatamente il proprietario dello spazio di lavoro.\"],\"Gz91L8\":[\"Se desideri continuare a utilizzare Twenty, aggiorna il tuo abbonamento entro i prossimi \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Se desideri utilizzare nuovamente Twenty, puoi creare un nuovo spazio di lavoro.\"],\"7JuhZQ\":[\"Sembra che il tuo spazio di lavoro <0>\",[\"workspaceDisplayName\"],\"</0> sia stato sospeso per \",[\"daysSinceInactive\"],\" giorni.\"],\"PviVyk\":[\"Unisciti al tuo team su Twenty\"],\"ogtYkT\":[\"Password aggiornata\"],\"u3Ns4p\":[\"Si prega di convalidare questo dominio per consentire agli utenti con indirizzi email <0>@\",[\"domain\"],\"</0> di unirsi al tuo spazio di lavoro senza richiedere un invito.\"],\"OfhWJH\":[\"Reimposta\"],\"RE5NiU\":[\"Reimposta la tua password 🗝\"],\"UBadaJ\":[\"Workspace sospeso \"],\"7yDt8q\":[\"Grazie per esserti registrato su Twenty! Prima di iniziare, dobbiamo solo confermare che sei tu. Clicca sopra per verificare il tuo indirizzo e-mail.\"],\"igorB1\":[\"L'area di lavoro sarà disattivata in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" e tutti i suoi dati saranno cancellati.\"],\"7OEHy1\":[\"Questa è la conferma che la password del tuo account (\",[\"email\"],\") è stata modificata con successo in data \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Questo link è valido solo per i prossimi \",[\"duration\"],\". Se il link non funziona, puoi utilizzare direttamente il link di verifica del login:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Aggiorna il tuo abbonamento\"],\"QbiUqd\":[\"Convalida dominio\"],\"wCKkSr\":[\"Verifica e-mail\"],\"9MqLGX\":[\"Il tuo spazio di lavoro <0>\",[\"workspaceDisplayName\"],\"</0> è stato cancellato poiché il tuo abbonamento è scaduto \",[\"daysSinceInactive\"],\" giorni fa.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"招待を承諾\"],\"Yxj+Uc\":[\"このワークスペースのすべてのデータは永久に削除されました。\"],\"RPHFhC\":[\"メールアドレスを確認\"],\"nvkBPN\":[\"Twentyに接続\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[[\"userName\"],\"様\"],\"tGme7M\":[\"というワークスペースに招待されました。\"],\"uzTaYi\":[\"こんにちは\"],\"eE1nG1\":[\"この変更を行っていない場合は、すぐにワークスペースの所有者に連絡してください。\"],\"Gz91L8\":[\"Twentyを引き続きご利用になる場合は、\",[\"remainingDays\"],\" \",[\"dayOrDays\"],\"以内にサブスクリプションを更新してください。\"],\"0weyko\":[\"Twentyを再度使用するには、新しいワークスペースを作成してください。\"],\"7JuhZQ\":[\"ワークスペース<0>\",[\"workspaceDisplayName\"],\"</0>は\",[\"daysSinceInactive\"],\"日間停止されているようです。\"],\"PviVyk\":[\"Twentyでチームに参加\"],\"ogtYkT\":[\"パスワードが更新されました\"],\"OfhWJH\":[\"リセット\"],\"RE5NiU\":[\"パスワードをリセット\"],\"7yDt8q\":[\"Twentyにご登録いただきありがとうございます!開始する前に、ご本人確認のために上記をクリックしてメールアドレスを確認してください。\"],\"igorB1\":[\"ワークスペースは\",[\"remainingDays\"],\" \",[\"dayOrDays\"],\"後に無効化され、すべてのデータが削除されます。\"],\"7OEHy1\":[\"アカウント(\",[\"email\"],\")のパスワードが\",[\"formattedDate\"],\"に正常に変更されたことを確認しました。\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"このリンクは\",[\"duration\"],\"のみ有効です。リンクが機能しない場合は、ログイン認証リンクを直接ご利用ください:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"サブスクリプションを更新\"],\"wCKkSr\":[\"メールを確認\"],\"9MqLGX\":[\"サブスクリプションが\",[\"daysSinceInactive\"],\"日前に期限切れとなったため、ワークスペース<0>\",[\"workspaceDisplayName\"],\"</0>が削除されました。\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"招待を承諾\"],\"Yxj+Uc\":[\"このワークスペースのすべてのデータは永久に削除されました。\"],\"RPHFhC\":[\"メールアドレスを確認\"],\"nvkBPN\":[\"Twentyに接続\"],\"jPQSEz\":[\"新しいワークスペースを作成\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[[\"userName\"],\"様\"],\"lIdkf2\":[[\"userName\"],\"様,\"],\"NTwcnq\":[\"削除されたワークスペース\"],\"tGme7M\":[\"というワークスペースに招待されました。\"],\"uzTaYi\":[\"こんにちは\"],\"Xa0d85\":[\"こんにちは,\"],\"eE1nG1\":[\"この変更を行っていない場合は、すぐにワークスペースの所有者に連絡してください。\"],\"Gz91L8\":[\"Twentyを引き続きご利用になる場合は、\",[\"remainingDays\"],\" \",[\"dayOrDays\"],\"以内にサブスクリプションを更新してください。\"],\"0weyko\":[\"Twentyを再度使用するには、新しいワークスペースを作成してください。\"],\"7JuhZQ\":[\"ワークスペース<0>\",[\"workspaceDisplayName\"],\"</0>は\",[\"daysSinceInactive\"],\"日間停止されているようです。\"],\"PviVyk\":[\"Twentyでチームに参加\"],\"ogtYkT\":[\"パスワードが更新されました\"],\"u3Ns4p\":[\"このドメインを検証して、<0>@\",[\"domain\"],\"</0> のメールアドレスを持つユーザーが招待なしでワークスペースに参加できるようにしてください。\"],\"OfhWJH\":[\"リセット\"],\"RE5NiU\":[\"パスワードをリセット\"],\"UBadaJ\":[\"一時停止されたワークスペース \"],\"7yDt8q\":[\"Twentyにご登録いただきありがとうございます!開始する前に、ご本人確認のために上記をクリックしてメールアドレスを確認してください。\"],\"igorB1\":[\"ワークスペースは\",[\"remainingDays\"],\" \",[\"dayOrDays\"],\"後に無効化され、すべてのデータが削除されます。\"],\"7OEHy1\":[\"アカウント(\",[\"email\"],\")のパスワードが\",[\"formattedDate\"],\"に正常に変更されたことを確認しました。\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"このリンクは\",[\"duration\"],\"のみ有効です。リンクが機能しない場合は、ログイン認証リンクを直接ご利用ください:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"サブスクリプションを更新\"],\"QbiUqd\":[\"ドメインを検証する\"],\"wCKkSr\":[\"メールを確認\"],\"9MqLGX\":[\"サブスクリプションが\",[\"daysSinceInactive\"],\"日前に期限切れとなったため、ワークスペース<0>\",[\"workspaceDisplayName\"],\"</0>が削除されました。\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"초대 수락\"],\"Yxj+Uc\":[\"이 워크스페이스의 모든 데이터가 영구적으로 삭제되었습니다.\"],\"RPHFhC\":[\"이메일 주소를 확인하세요\"],\"nvkBPN\":[\"Twenty에 연결하세요\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[[\"userName\"],\"님께\"],\"tGme7M\":[\"라는 워크스페이스에 초대되었습니다 \"],\"uzTaYi\":[\"안녕하세요\"],\"eE1nG1\":[\"이 변경을 시작하지 않으셨다면 즉시 워크스페이스 소유자에게 문의하세요.\"],\"Gz91L8\":[\"Twenty를 계속 사용하려면 다음 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 내에 구독을 업데이트하세요.\"],\"0weyko\":[\"Twenty를 다시 사용하려면 새 워크스페이스를 생성하세요.\"],\"7JuhZQ\":[\"워크스페이스 <0>\",[\"workspaceDisplayName\"],\"</0>이(가) \",[\"daysSinceInactive\"],\"일 동안 일시 중단된 것 같습니다.\"],\"PviVyk\":[\"Twenty에서 팀에 합류하세요\"],\"ogtYkT\":[\"비밀번호가 업데이트되었습니다\"],\"OfhWJH\":[\"초기화\"],\"RE5NiU\":[\"비밀번호를 재설정하세요 🗝\"],\"7yDt8q\":[\"Twenty에 계정을 등록해 주셔서 감사합니다! 시작하기 전에 본인 확인이 필요합니다. 위를 클릭하여 이메일 주소를 인증하세요.\"],\"igorB1\":[\"워크스페이스는 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 후에 비활성화되며 모든 데이터가 삭제됩니다.\"],\"7OEHy1\":[\"계정(\",[\"email\"],\")의 비밀번호가 \",[\"formattedDate\"],\"에 성공적으로 변경되었음을 확인합니다.\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"이 링크는 다음 \",[\"duration\"],\" 동안만 유효합니다. 링크가 작동하지 않으면 로그인 인증 링크를 직접 사용할 수 있습니다:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"구독을 업데이트하세요\"],\"wCKkSr\":[\"이메일 인증\"],\"9MqLGX\":[\"구독이 \",[\"daysSinceInactive\"],\"일 전에 만료되어 워크스페이스 <0>\",[\"workspaceDisplayName\"],\"</0>이(가) 삭제되었습니다.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"초대 수락\"],\"Yxj+Uc\":[\"이 워크스페이스의 모든 데이터가 영구적으로 삭제되었습니다.\"],\"RPHFhC\":[\"이메일 주소를 확인하세요\"],\"nvkBPN\":[\"Twenty에 연결하세요\"],\"jPQSEz\":[\"새 워크스페이스 만들기\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[[\"userName\"],\"님께\"],\"lIdkf2\":[[\"userName\"],\"님께,\"],\"NTwcnq\":[\"삭제된 워크스페이스\"],\"tGme7M\":[\"라는 워크스페이스에 초대되었습니다 \"],\"uzTaYi\":[\"안녕하세요\"],\"Xa0d85\":[\"안녕하세요,\"],\"eE1nG1\":[\"이 변경을 시작하지 않으셨다면 즉시 워크스페이스 소유자에게 문의하세요.\"],\"Gz91L8\":[\"Twenty를 계속 사용하려면 다음 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 내에 구독을 업데이트하세요.\"],\"0weyko\":[\"Twenty를 다시 사용하려면 새 워크스페이스를 생성하세요.\"],\"7JuhZQ\":[\"워크스페이스 <0>\",[\"workspaceDisplayName\"],\"</0>이(가) \",[\"daysSinceInactive\"],\"일 동안 일시 중단된 것 같습니다.\"],\"PviVyk\":[\"Twenty에서 팀에 합류하세요\"],\"ogtYkT\":[\"비밀번호가 업데이트되었습니다\"],\"u3Ns4p\":[\"<0>@\",[\"domain\"],\"</0> 이메일 주소를 가진 사용자가 초대 없이 워크스페이스에 참여할 수 있도록 이 도메인을 검증해 주세요.\"],\"OfhWJH\":[\"초기화\"],\"RE5NiU\":[\"비밀번호를 재설정하세요 🗝\"],\"UBadaJ\":[\"중단된 워크스페이스 \"],\"7yDt8q\":[\"Twenty에 계정을 등록해 주셔서 감사합니다! 시작하기 전에 본인 확인이 필요합니다. 위를 클릭하여 이메일 주소를 인증하세요.\"],\"igorB1\":[\"워크스페이스는 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 후에 비활성화되며 모든 데이터가 삭제됩니다.\"],\"7OEHy1\":[\"계정(\",[\"email\"],\")의 비밀번호가 \",[\"formattedDate\"],\"에 성공적으로 변경되었음을 확인합니다.\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"이 링크는 다음 \",[\"duration\"],\" 동안만 유효합니다. 링크가 작동하지 않으면 로그인 인증 링크를 직접 사용할 수 있습니다:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"구독을 업데이트하세요\"],\"QbiUqd\":[\"도메인 검증\"],\"wCKkSr\":[\"이메일 인증\"],\"9MqLGX\":[\"구독이 \",[\"daysSinceInactive\"],\"일 전에 만료되어 워크스페이스 <0>\",[\"workspaceDisplayName\"],\"</0>이(가) 삭제되었습니다.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Uitnodiging accepteren\"],\"Yxj+Uc\":[\"Alle gegevens in deze werkruimte zijn definitief verwijderd.\"],\"RPHFhC\":[\"Bevestig uw e-mailadres\"],\"nvkBPN\":[\"Verbinden met Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Beste \",[\"userName\"]],\"tGme7M\":[\"heeft u uitgenodigd om deel te nemen aan een werkruimte genaamd \"],\"uzTaYi\":[\"Hallo\"],\"eE1nG1\":[\"Als u deze wijziging niet heeft geïnitieerd, neem dan onmiddellijk contact op met de eigenaar van uw werkruimte.\"],\"Gz91L8\":[\"Als u Twenty wilt blijven gebruiken, werk dan uw abonnement bij binnen de komende \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Als u Twenty opnieuw wilt gebruiken, kunt u een nieuwe werkruimte aanmaken.\"],\"7JuhZQ\":[\"Het lijkt erop dat uw werkruimte <0>\",[\"workspaceDisplayName\"],\"</0> al voor \",[\"daysSinceInactive\"],\" dagen is opgeschort.\"],\"PviVyk\":[\"Sluit je aan bij je team op Twenty\"],\"ogtYkT\":[\"Wachtwoord bijgewerkt\"],\"OfhWJH\":[\"Resetten\"],\"RE5NiU\":[\"Reset uw wachtwoord 🗝\"],\"7yDt8q\":[\"Bedankt voor uw registratie voor een account op Twenty! Voordat we beginnen, moeten we gewoon bevestigen dat dit u bent. Klik hierboven om uw e-mailadres te verifiëren.\"],\"igorB1\":[\"De werkruimte wordt gedeactiveerd in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", en alle gegevens zullen worden verwijderd.\"],\"7OEHy1\":[\"Dit is een bevestiging dat het wachtwoord voor uw account (\",[\"email\"],\") succesvol is gewijzigd op \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Deze link is slechts geldig voor de komende \",[\"duration\"],\". Als de link niet werkt, kunt u direct de inlogverificatielink gebruiken:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Werk uw abonnement bij\"],\"wCKkSr\":[\"E-mail verifiëren\"],\"9MqLGX\":[\"Uw werkruimte <0>\",[\"workspaceDisplayName\"],\"</0> is verwijderd omdat uw abonnement \",[\"daysSinceInactive\"],\" dagen geleden is verlopen.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Uitnodiging accepteren\"],\"Yxj+Uc\":[\"Alle gegevens in deze werkruimte zijn definitief verwijderd.\"],\"RPHFhC\":[\"Bevestig uw e-mailadres\"],\"nvkBPN\":[\"Verbinden met Twenty\"],\"jPQSEz\":[\"Maak een nieuwe werkruimte\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Beste \",[\"userName\"]],\"lIdkf2\":[\"Beste \",[\"userName\"],\",\"],\"NTwcnq\":[\"Verwijderde werkruimte\"],\"tGme7M\":[\"heeft u uitgenodigd om deel te nemen aan een werkruimte genaamd \"],\"uzTaYi\":[\"Hallo\"],\"Xa0d85\":[\"Hallo,\"],\"eE1nG1\":[\"Als u deze wijziging niet heeft geïnitieerd, neem dan onmiddellijk contact op met de eigenaar van uw werkruimte.\"],\"Gz91L8\":[\"Als u Twenty wilt blijven gebruiken, werk dan uw abonnement bij binnen de komende \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Als u Twenty opnieuw wilt gebruiken, kunt u een nieuwe werkruimte aanmaken.\"],\"7JuhZQ\":[\"Het lijkt erop dat uw werkruimte <0>\",[\"workspaceDisplayName\"],\"</0> al voor \",[\"daysSinceInactive\"],\" dagen is opgeschort.\"],\"PviVyk\":[\"Sluit je aan bij je team op Twenty\"],\"ogtYkT\":[\"Wachtwoord bijgewerkt\"],\"u3Ns4p\":[\"Valideer dit domein om gebruikers met e-mailadressen <0>@\",[\"domain\"],\"</0> toe te staan uw werkruimte te betreden zonder een uitnodiging nodig te hebben.\"],\"OfhWJH\":[\"Resetten\"],\"RE5NiU\":[\"Reset uw wachtwoord 🗝\"],\"UBadaJ\":[\"Opgeschorte werkruimte \"],\"7yDt8q\":[\"Bedankt voor uw registratie voor een account op Twenty! Voordat we beginnen, moeten we gewoon bevestigen dat dit u bent. Klik hierboven om uw e-mailadres te verifiëren.\"],\"igorB1\":[\"De werkruimte wordt gedeactiveerd in \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", en alle gegevens zullen worden verwijderd.\"],\"7OEHy1\":[\"Dit is een bevestiging dat het wachtwoord voor uw account (\",[\"email\"],\") succesvol is gewijzigd op \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Deze link is slechts geldig voor de komende \",[\"duration\"],\". Als de link niet werkt, kunt u direct de inlogverificatielink gebruiken:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Werk uw abonnement bij\"],\"QbiUqd\":[\"Domein verifiëren\"],\"wCKkSr\":[\"E-mail verifiëren\"],\"9MqLGX\":[\"Uw werkruimte <0>\",[\"workspaceDisplayName\"],\"</0> is verwijderd omdat uw abonnement \",[\"daysSinceInactive\"],\" dagen geleden is verlopen.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Godta invitasjon\"],\"Yxj+Uc\":[\"Alle data i dette arbeidsområdet har blitt permanent slettet.\"],\"RPHFhC\":[\"Bekreft e-postadressen din\"],\"nvkBPN\":[\"Koble til Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Kjære \",[\"userName\"]],\"tGme7M\":[\"har invitert deg til å bli med i et arbeidsområde kalt \"],\"uzTaYi\":[\"Hei\"],\"eE1nG1\":[\"Hvis du ikke initierte denne endringen, vennligst kontakt eieren av arbeidsområdet ditt umiddelbart.\"],\"Gz91L8\":[\"Hvis du ønsker å fortsette å bruke Twenty, vennligst oppdater abonnementet ditt innen de neste \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Hvis du ønsker å bruke Twenty igjen, kan du opprette et nytt arbeidsområde.\"],\"7JuhZQ\":[\"Det ser ut til at ditt arbeidsområde <0>\",[\"workspaceDisplayName\"],\"</0> har blitt suspendert i \",[\"daysSinceInactive\"],\" dager.\"],\"PviVyk\":[\"Bli med teamet ditt på Twenty\"],\"ogtYkT\":[\"Passord oppdatert\"],\"OfhWJH\":[\"Tilbakestill\"],\"RE5NiU\":[\"Tilbakestill passordet ditt 🗝\"],\"7yDt8q\":[\"Takk for at du registrerte deg for en konto på Twenty! Før vi begynner, vi må bare bekrefte at dette er deg. Klikk ovenfor for å verifisere e-postadressen din.\"],\"igorB1\":[\"Arbeidsområdet vil bli deaktivert om \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", og alle dens data vil bli slettet.\"],\"7OEHy1\":[\"Dette er en bekreftelse på at passordet for kontoen din (\",[\"email\"],\") ble vellykket endret den \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Denne lenken er kun gyldig i de neste \",[\"duration\"],\". Hvis lenken ikke fungerer, kan du bruke verifiseringslenken for innlogging direkte:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Oppdater abonnementet ditt\"],\"wCKkSr\":[\"Verifiser e-post\"],\"9MqLGX\":[\"Ditt arbeidsområde <0>\",[\"workspaceDisplayName\"],\"</0> har blitt slettet da ditt abonnement utløp for \",[\"daysSinceInactive\"],\" dager siden.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Godta invitasjon\"],\"Yxj+Uc\":[\"Alle data i dette arbeidsområdet har blitt permanent slettet.\"],\"RPHFhC\":[\"Bekreft e-postadressen din\"],\"nvkBPN\":[\"Koble til Twenty\"],\"jPQSEz\":[\"Opprett et nytt arbeidsområde\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Kjære \",[\"userName\"]],\"lIdkf2\":[\"Kjære \",[\"userName\"],\",\"],\"NTwcnq\":[\"Arbeidsområde slettet\"],\"tGme7M\":[\"har invitert deg til å bli med i et arbeidsområde kalt \"],\"uzTaYi\":[\"Hei\"],\"Xa0d85\":[\"Hei,\"],\"eE1nG1\":[\"Hvis du ikke initierte denne endringen, vennligst kontakt eieren av arbeidsområdet ditt umiddelbart.\"],\"Gz91L8\":[\"Hvis du ønsker å fortsette å bruke Twenty, vennligst oppdater abonnementet ditt innen de neste \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Hvis du ønsker å bruke Twenty igjen, kan du opprette et nytt arbeidsområde.\"],\"7JuhZQ\":[\"Det ser ut til at ditt arbeidsområde <0>\",[\"workspaceDisplayName\"],\"</0> har blitt suspendert i \",[\"daysSinceInactive\"],\" dager.\"],\"PviVyk\":[\"Bli med teamet ditt på Twenty\"],\"ogtYkT\":[\"Passord oppdatert\"],\"u3Ns4p\":[\"Vennligst bekreft dette domenet for å la brukere med <0>@\",[\"domain\"],\"</0> e-postadresser bli med i arbeidsområdet ditt uten å kreve en invitasjon.\"],\"OfhWJH\":[\"Tilbakestill\"],\"RE5NiU\":[\"Tilbakestill passordet ditt 🗝\"],\"UBadaJ\":[\"Suspendert Arbeidsområde \"],\"7yDt8q\":[\"Takk for at du registrerte deg for en konto på Twenty! Før vi begynner, vi må bare bekrefte at dette er deg. Klikk ovenfor for å verifisere e-postadressen din.\"],\"igorB1\":[\"Arbeidsområdet vil bli deaktivert om \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", og alle dens data vil bli slettet.\"],\"7OEHy1\":[\"Dette er en bekreftelse på at passordet for kontoen din (\",[\"email\"],\") ble vellykket endret den \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Denne lenken er kun gyldig i de neste \",[\"duration\"],\". Hvis lenken ikke fungerer, kan du bruke verifiseringslenken for innlogging direkte:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Oppdater abonnementet ditt\"],\"QbiUqd\":[\"Valider domene\"],\"wCKkSr\":[\"Verifiser e-post\"],\"9MqLGX\":[\"Ditt arbeidsområde <0>\",[\"workspaceDisplayName\"],\"</0> har blitt slettet da ditt abonnement utløp for \",[\"daysSinceInactive\"],\" dager siden.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Zaakceptuj zaproszenie\"],\"Yxj+Uc\":[\"Wszystkie dane w tej przestrzeni roboczej zostały trwale usunięte.\"],\"RPHFhC\":[\"Potwierdź swój adres email\"],\"nvkBPN\":[\"Połącz z Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Szanowny \",[\"userName\"]],\"tGme7M\":[\"zaprosił Cię do przyłączenia się do przestrzeni roboczej o nazwie \"],\"uzTaYi\":[\"Witaj\"],\"eE1nG1\":[\"Jeśli to nie Ty zainicjowałeś tę zmianę, skontaktuj się niezwłocznie z właścicielem przestrzeni roboczej.\"],\"Gz91L8\":[\"Jeśli chcesz kontynuować korzystanie z Twenty, proszę zaktualizuj swoją subskrypcję w ciągu następnych \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Jeśli chcesz ponownie korzystać z Twenty, możesz utworzyć nową przestrzeń roboczą.\"],\"7JuhZQ\":[\"Wygląda na to, że Twoja przestrzeń robocza <0>\",[\"workspaceDisplayName\"],\"</0> została zawieszona na \",[\"daysSinceInactive\"],\" dni.\"],\"PviVyk\":[\"Dołącz do swojego zespołu w Twenty\"],\"ogtYkT\":[\"Hasło zaktualizowane\"],\"OfhWJH\":[\"Zresetuj\"],\"RE5NiU\":[\"Zresetuj swoje hasło 🗝\"],\"7yDt8q\":[\"Dziękujemy za rejestrację konta w Twenty! Zanim zaczniemy, musimy tylko potwierdzić, że to Ty. Kliknij powyżej, aby zweryfikować swój adres email.\"],\"igorB1\":[\"Przestrzeń robocza zostanie deaktywowana za \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", a wszystkie jej dane zostaną usunięte.\"],\"7OEHy1\":[\"To jest potwierdzenie, że hasło do Twojego konta (\",[\"email\"],\") zostało pomyślnie zmienione \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Ten link jest ważny tylko przez \",[\"duration\"],\". Jeśli link nie działa, można bezpośrednio użyć linku weryfikacyjnego logowania:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Zaktualizuj swoją subskrypcję\"],\"wCKkSr\":[\"Zweryfikuj Email\"],\"9MqLGX\":[\"Twoja przestrzeń robocza <0>\",[\"workspaceDisplayName\"],\"</0> została usunięta, ponieważ Twoja subskrypcja wygasła \",[\"daysSinceInactive\"],\" dni temu.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Zaakceptuj zaproszenie\"],\"Yxj+Uc\":[\"Wszystkie dane w tej przestrzeni roboczej zostały trwale usunięte.\"],\"RPHFhC\":[\"Potwierdź swój adres email\"],\"nvkBPN\":[\"Połącz z Twenty\"],\"jPQSEz\":[\"Utwórz nową przestrzeń pracy\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Szanowny \",[\"userName\"]],\"lIdkf2\":[\"Szanowny \",[\"userName\"],\",\"],\"NTwcnq\":[\"Usunięta przestrzeń pracy\"],\"tGme7M\":[\"zaprosił Cię do przyłączenia się do przestrzeni roboczej o nazwie \"],\"uzTaYi\":[\"Witaj\"],\"Xa0d85\":[\"Witaj,\"],\"eE1nG1\":[\"Jeśli to nie Ty zainicjowałeś tę zmianę, skontaktuj się niezwłocznie z właścicielem przestrzeni roboczej.\"],\"Gz91L8\":[\"Jeśli chcesz kontynuować korzystanie z Twenty, proszę zaktualizuj swoją subskrypcję w ciągu następnych \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Jeśli chcesz ponownie korzystać z Twenty, możesz utworzyć nową przestrzeń roboczą.\"],\"7JuhZQ\":[\"Wygląda na to, że Twoja przestrzeń robocza <0>\",[\"workspaceDisplayName\"],\"</0> została zawieszona na \",[\"daysSinceInactive\"],\" dni.\"],\"PviVyk\":[\"Dołącz do swojego zespołu w Twenty\"],\"ogtYkT\":[\"Hasło zaktualizowane\"],\"u3Ns4p\":[\"Proszę zweryfikować tę domenę, aby umożliwić użytkownikom z adresami e-mail <0>@\",[\"domain\"],\"</0> dołączenie do Twojej przestrzeni roboczej bez potrzeby zaproszenia.\"],\"OfhWJH\":[\"Zresetuj\"],\"RE5NiU\":[\"Zresetuj swoje hasło 🗝\"],\"UBadaJ\":[\"Zawieszony Obszar Roboczy \"],\"7yDt8q\":[\"Dziękujemy za rejestrację konta w Twenty! Zanim zaczniemy, musimy tylko potwierdzić, że to Ty. Kliknij powyżej, aby zweryfikować swój adres email.\"],\"igorB1\":[\"Przestrzeń robocza zostanie deaktywowana za \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", a wszystkie jej dane zostaną usunięte.\"],\"7OEHy1\":[\"To jest potwierdzenie, że hasło do Twojego konta (\",[\"email\"],\") zostało pomyślnie zmienione \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Ten link jest ważny tylko przez \",[\"duration\"],\". Jeśli link nie działa, można bezpośrednio użyć linku weryfikacyjnego logowania:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Zaktualizuj swoją subskrypcję\"],\"QbiUqd\":[\"Sprawdź domenę\"],\"wCKkSr\":[\"Zweryfikuj Email\"],\"9MqLGX\":[\"Twoja przestrzeń robocza <0>\",[\"workspaceDisplayName\"],\"</0> została usunięta, ponieważ Twoja subskrypcja wygasła \",[\"daysSinceInactive\"],\" dni temu.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Àććēƥţ ĩńvĩţē\"],\"Yxj+Uc\":[\"Àĺĺ ďàţà ĩń ţĥĩś ŵōŕķśƥàćē ĥàś ƀēēń ƥēŕḿàńēńţĺŷ ďēĺēţēď.\"],\"RPHFhC\":[\"Ćōńƒĩŕḿ ŷōũŕ ēḿàĩĺ àďďŕēśś\"],\"nvkBPN\":[\"Ćōńńēćţ ţō Ţŵēńţŷ\"],\"JRzgV7\":[\"Ďēàŕ\"],\"Lm5BBI\":[\"Ďēàŕ \",[\"userName\"]],\"tGme7M\":[\"ĥàś ĩńvĩţēď ŷōũ ţō Ĵōĩń à ŵōŕķśƥàćē ćàĺĺēď \"],\"uzTaYi\":[\"Ĥēĺĺō\"],\"eE1nG1\":[\"Ĩƒ ŷōũ ďĩď ńōţ ĩńĩţĩàţē ţĥĩś ćĥàńĝē, ƥĺēàśē ćōńţàćţ ŷōũŕ ŵōŕķśƥàćē ōŵńēŕ ĩḿḿēďĩàţēĺŷ.\"],\"Gz91L8\":[\"Ĩƒ ŷōũ ŵĩśĥ ţō ćōńţĩńũē ũśĩńĝ Ţŵēńţŷ, ƥĺēàśē ũƥďàţē ŷōũŕ śũƀśćŕĩƥţĩōń ŵĩţĥĩń ţĥē ńēxţ \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Ĩƒ ŷōũ ŵĩśĥ ţō ũśē Ţŵēńţŷ àĝàĩń, ŷōũ ćàń ćŕēàţē à ńēŵ ŵōŕķśƥàćē.\"],\"7JuhZQ\":[\"Ĩţ àƥƥēàŕś ţĥàţ ŷōũŕ ŵōŕķśƥàćē <0>\",[\"workspaceDisplayName\"],\"</0> ĥàś ƀēēń śũśƥēńďēď ƒōŕ \",[\"daysSinceInactive\"],\" ďàŷś.\"],\"PviVyk\":[\"ĵōĩń ŷōũŕ ţēàḿ ōń Ţŵēńţŷ\"],\"ogtYkT\":[\"Ƥàśśŵōŕď ũƥďàţēď\"],\"OfhWJH\":[\"Ŕēśēţ\"],\"RE5NiU\":[\"Ŕēśēţ ŷōũŕ ƥàśśŵōŕď 🗝\"],\"7yDt8q\":[\"Ţĥàńķś ƒōŕ ŕēĝĩśţēŕĩńĝ ƒōŕ àń àććōũńţ ōń Ţŵēńţŷ! ßēƒōŕē ŵē ĝēţ śţàŕţēď, ŵē Ĵũśţ ńēēď ţō ćōńƒĩŕḿ ţĥàţ ţĥĩś ĩś ŷōũ. Ćĺĩćķ àƀōvē ţō vēŕĩƒŷ ŷōũŕ ēḿàĩĺ àďďŕēśś.\"],\"igorB1\":[\"Ţĥē ŵōŕķśƥàćē ŵĩĺĺ ƀē ďēàćţĩvàţēď ĩń \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", àńď àĺĺ ĩţś ďàţà ŵĩĺĺ ƀē ďēĺēţēď.\"],\"7OEHy1\":[\"Ţĥĩś ĩś à ćōńƒĩŕḿàţĩōń ţĥàţ ƥàśśŵōŕď ƒōŕ ŷōũŕ àććōũńţ (\",[\"email\"],\") ŵàś śũććēśśƒũĺĺŷ ćĥàńĝēď ōń \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"Ţĥĩś ĩś à ćōńƒĩŕḿàţĩōń ţĥàţ ƥàśśŵōŕď ƒōŕ ŷōũŕ àććōũńţ (\",[\"email\"],\") ŵàś śũććēśśƒũĺĺŷ ćĥàńĝēď ōń \",[\"formattedDate\"],\".<0/><1/>Ĩƒ ŷōũ ďĩď ńōţ ĩńĩţĩàţē ţĥĩś ćĥàńĝē, ƥĺēàśē ćōńţàćţ ŷōũŕ ŵōŕķśƥàćē ōŵńēŕ ĩḿḿēďĩàţēĺŷ.\"],\"R4gMjN\":[\"Ţĥĩś ĺĩńķ ĩś ōńĺŷ vàĺĩď ƒōŕ ţĥē ńēxţ \",[\"duration\"],\". Ĩƒ ţĥē ĺĩńķ ďōēś ńōţ ŵōŕķ, ŷōũ ćàń ũśē ţĥē ĺōĝĩń vēŕĩƒĩćàţĩōń ĺĩńķ ďĩŕēćţĺŷ:\"],\"2oA637\":[\"Ţĥĩś ĺĩńķ ĩś ōńĺŷ vàĺĩď ƒōŕ ţĥē ńēxţ \",[\"duration\"],\". Ĩƒ ţĥē ĺĩńķ ďōēś ńōţ ŵōŕķ, ŷōũ ćàń ũśē ţĥē ĺōĝĩń vēŕĩƒĩćàţĩōń ĺĩńķ ďĩŕēćţĺŷ:<0/>\"],\"H0v4yC\":[\"Ũƥďàţē ŷōũŕ śũƀśćŕĩƥţĩōń\"],\"wCKkSr\":[\"Vēŕĩƒŷ Ēḿàĩĺ\"],\"9MqLGX\":[\"Ŷōũŕ ŵōŕķśƥàćē <0>\",[\"workspaceDisplayName\"],\"</0> ĥàś ƀēēń ďēĺēţēď àś ŷōũŕ śũƀśćŕĩƥţĩōń ēxƥĩŕēď \",[\"daysSinceInactive\"],\" ďàŷś àĝō.\"],\"KFmFrQ\":[\"Ŷōũŕ ŵōŕķśƥàćē <0>\",[\"workspaceDisplayName\"],\"</0> ĥàś ƀēēń ďēĺēţēď àś ŷōũŕ śũƀśćŕĩƥţĩōń ēxƥĩŕēď \",[\"inactiveDaysBeforeDelete\"],\" ďàŷś àĝō.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Àććēƥţ ĩńvĩţē\"],\"Yxj+Uc\":[\"Àĺĺ ďàţà ĩń ţĥĩś ŵōŕķśƥàćē ĥàś ƀēēń ƥēŕḿàńēńţĺŷ ďēĺēţēď.\"],\"RPHFhC\":[\"Ćōńƒĩŕḿ ŷōũŕ ēḿàĩĺ àďďŕēśś\"],\"nvkBPN\":[\"Ćōńńēćţ ţō Ţŵēńţŷ\"],\"jPQSEz\":[\"Ćŕēàţē à ńēŵ ŵōŕķśƥàćē\"],\"JRzgV7\":[\"Ďēàŕ\"],\"Lm5BBI\":[\"Ďēàŕ \",[\"userName\"]],\"lIdkf2\":[\"Ďēàŕ \",[\"userName\"],\",\"],\"NTwcnq\":[\"Ďēĺēţēď Ŵōŕķśƥàćē\"],\"tGme7M\":[\"ĥàś ĩńvĩţēď ŷōũ ţō Ĵōĩń à ŵōŕķśƥàćē ćàĺĺēď \"],\"uzTaYi\":[\"Ĥēĺĺō\"],\"Xa0d85\":[\"Ĥēĺĺō,\"],\"eE1nG1\":[\"Ĩƒ ŷōũ ďĩď ńōţ ĩńĩţĩàţē ţĥĩś ćĥàńĝē, ƥĺēàśē ćōńţàćţ ŷōũŕ ŵōŕķśƥàćē ōŵńēŕ ĩḿḿēďĩàţēĺŷ.\"],\"Gz91L8\":[\"Ĩƒ ŷōũ ŵĩśĥ ţō ćōńţĩńũē ũśĩńĝ Ţŵēńţŷ, ƥĺēàśē ũƥďàţē ŷōũŕ śũƀśćŕĩƥţĩōń ŵĩţĥĩń ţĥē ńēxţ \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Ĩƒ ŷōũ ŵĩśĥ ţō ũśē Ţŵēńţŷ àĝàĩń, ŷōũ ćàń ćŕēàţē à ńēŵ ŵōŕķśƥàćē.\"],\"7JuhZQ\":[\"Ĩţ àƥƥēàŕś ţĥàţ ŷōũŕ ŵōŕķśƥàćē <0>\",[\"workspaceDisplayName\"],\"</0> ĥàś ƀēēń śũśƥēńďēď ƒōŕ \",[\"daysSinceInactive\"],\" ďàŷś.\"],\"PviVyk\":[\"ĵōĩń ŷōũŕ ţēàḿ ōń Ţŵēńţŷ\"],\"ogtYkT\":[\"Ƥàśśŵōŕď ũƥďàţēď\"],\"u3Ns4p\":[\"Ƥĺēàśē vàĺĩďàţē ţĥĩś ďōḿàĩń ţō àĺĺōŵ ũśēŕś ŵĩţĥ <0>@\",[\"domain\"],\"</0> ēḿàĩĺ àďďŕēśśēś ţō Ĵōĩń ŷōũŕ ŵōŕķśƥàćē ŵĩţĥōũţ ŕēǫũĩŕĩńĝ àń ĩńvĩţàţĩōń.\"],\"OfhWJH\":[\"Ŕēśēţ\"],\"RE5NiU\":[\"Ŕēśēţ ŷōũŕ ƥàśśŵōŕď 🗝\"],\"UBadaJ\":[\"Śũśƥēńďēď Ŵōŕķśƥàćē \"],\"7yDt8q\":[\"Ţĥàńķś ƒōŕ ŕēĝĩśţēŕĩńĝ ƒōŕ àń àććōũńţ ōń Ţŵēńţŷ! ßēƒōŕē ŵē ĝēţ śţàŕţēď, ŵē Ĵũśţ ńēēď ţō ćōńƒĩŕḿ ţĥàţ ţĥĩś ĩś ŷōũ. Ćĺĩćķ àƀōvē ţō vēŕĩƒŷ ŷōũŕ ēḿàĩĺ àďďŕēśś.\"],\"igorB1\":[\"Ţĥē ŵōŕķśƥàćē ŵĩĺĺ ƀē ďēàćţĩvàţēď ĩń \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", àńď àĺĺ ĩţś ďàţà ŵĩĺĺ ƀē ďēĺēţēď.\"],\"7OEHy1\":[\"Ţĥĩś ĩś à ćōńƒĩŕḿàţĩōń ţĥàţ ƥàśśŵōŕď ƒōŕ ŷōũŕ àććōũńţ (\",[\"email\"],\") ŵàś śũććēśśƒũĺĺŷ ćĥàńĝēď ōń \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"Ţĥĩś ĩś à ćōńƒĩŕḿàţĩōń ţĥàţ ƥàśśŵōŕď ƒōŕ ŷōũŕ àććōũńţ (\",[\"email\"],\") ŵàś śũććēśśƒũĺĺŷ ćĥàńĝēď ōń \",[\"formattedDate\"],\".<0/><1/>Ĩƒ ŷōũ ďĩď ńōţ ĩńĩţĩàţē ţĥĩś ćĥàńĝē, ƥĺēàśē ćōńţàćţ ŷōũŕ ŵōŕķśƥàćē ōŵńēŕ ĩḿḿēďĩàţēĺŷ.\"],\"R4gMjN\":[\"Ţĥĩś ĺĩńķ ĩś ōńĺŷ vàĺĩď ƒōŕ ţĥē ńēxţ \",[\"duration\"],\". Ĩƒ ţĥē ĺĩńķ ďōēś ńōţ ŵōŕķ, ŷōũ ćàń ũśē ţĥē ĺōĝĩń vēŕĩƒĩćàţĩōń ĺĩńķ ďĩŕēćţĺŷ:\"],\"2oA637\":[\"Ţĥĩś ĺĩńķ ĩś ōńĺŷ vàĺĩď ƒōŕ ţĥē ńēxţ \",[\"duration\"],\". Ĩƒ ţĥē ĺĩńķ ďōēś ńōţ ŵōŕķ, ŷōũ ćàń ũśē ţĥē ĺōĝĩń vēŕĩƒĩćàţĩōń ĺĩńķ ďĩŕēćţĺŷ:<0/>\"],\"H0v4yC\":[\"Ũƥďàţē ŷōũŕ śũƀśćŕĩƥţĩōń\"],\"QbiUqd\":[\"Vàĺĩďàţē ďōḿàĩń\"],\"wCKkSr\":[\"Vēŕĩƒŷ Ēḿàĩĺ\"],\"9MqLGX\":[\"Ŷōũŕ ŵōŕķśƥàćē <0>\",[\"workspaceDisplayName\"],\"</0> ĥàś ƀēēń ďēĺēţēď àś ŷōũŕ śũƀśćŕĩƥţĩōń ēxƥĩŕēď \",[\"daysSinceInactive\"],\" ďàŷś àĝō.\"],\"KFmFrQ\":[\"Ŷōũŕ ŵōŕķśƥàćē <0>\",[\"workspaceDisplayName\"],\"</0> ĥàś ƀēēń ďēĺēţēď àś ŷōũŕ śũƀśćŕĩƥţĩōń ēxƥĩŕēď \",[\"inactiveDaysBeforeDelete\"],\" ďàŷś àĝō.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Aceitar convite\"],\"Yxj+Uc\":[\"Todos os dados deste workspace foram excluídos permanentemente.\"],\"RPHFhC\":[\"Confirme seu endereço de e-mail\"],\"nvkBPN\":[\"Conecte-se ao Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Caro \",[\"userName\"]],\"tGme7M\":[\"convidou você para participar de um workspace chamado \"],\"uzTaYi\":[\"Olá\"],\"eE1nG1\":[\"Se você não iniciou essa alteração, entre em contato com o proprietário do workspace imediatamente.\"],\"Gz91L8\":[\"Se quiser continuar usando o Twenty, atualize sua assinatura nos próximos \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Se quiser usar o Twenty novamente, você pode criar um novo workspace.\"],\"7JuhZQ\":[\"Parece que seu workspace <0>\",[\"workspaceDisplayName\"],\"</0> foi suspenso por \",[\"daysSinceInactive\"],\" dias.\"],\"PviVyk\":[\"Junte-se à sua equipe no Twenty\"],\"ogtYkT\":[\"Senha atualizada\"],\"OfhWJH\":[\"Redefinir\"],\"RE5NiU\":[\"Redefina sua senha 🗝\"],\"7yDt8q\":[\"Obrigado por se registrar no Twenty! Antes de começarmos, precisamos confirmar que é você. Clique acima para verificar seu endereço de e-mail.\"],\"igorB1\":[\"O workspace será desativado em \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", e todos os seus dados serão excluídos.\"],\"7OEHy1\":[\"Esta é uma confirmação de que a senha da sua conta (\",[\"email\"],\") foi alterada com sucesso em \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Este link é válido apenas para os próximos \",[\"duration\"],\". Se o link não funcionar, você pode usar o link de verificação de login diretamente:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Atualize sua assinatura\"],\"wCKkSr\":[\"Verificar e-mail\"],\"9MqLGX\":[\"Seu workspace <0>\",[\"workspaceDisplayName\"],\"</0> foi excluído porque sua assinatura expirou há \",[\"daysSinceInactive\"],\" dias.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Aceitar convite\"],\"Yxj+Uc\":[\"Todos os dados deste workspace foram excluídos permanentemente.\"],\"RPHFhC\":[\"Confirme seu endereço de e-mail\"],\"nvkBPN\":[\"Conecte-se ao Twenty\"],\"jPQSEz\":[\"Criar um novo espaço de trabalho\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Caro \",[\"userName\"]],\"lIdkf2\":[\"Caro \",[\"userName\"],\",\"],\"NTwcnq\":[\"Espaço de Trabalho Excluído\"],\"tGme7M\":[\"convidou você para participar de um workspace chamado \"],\"uzTaYi\":[\"Olá\"],\"Xa0d85\":[\"Olá,\"],\"eE1nG1\":[\"Se você não iniciou essa alteração, entre em contato com o proprietário do workspace imediatamente.\"],\"Gz91L8\":[\"Se quiser continuar usando o Twenty, atualize sua assinatura nos próximos \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Se quiser usar o Twenty novamente, você pode criar um novo workspace.\"],\"7JuhZQ\":[\"Parece que seu workspace <0>\",[\"workspaceDisplayName\"],\"</0> foi suspenso por \",[\"daysSinceInactive\"],\" dias.\"],\"PviVyk\":[\"Junte-se à sua equipe no Twenty\"],\"ogtYkT\":[\"Senha atualizada\"],\"u3Ns4p\":[\"Por favor, valide este domínio para permitir que usuários com endereços de e-mail <0>@\",[\"domain\"],\"</0> entrem no seu espaço de trabalho sem precisar de um convite.\"],\"OfhWJH\":[\"Redefinir\"],\"RE5NiU\":[\"Redefina sua senha 🗝\"],\"UBadaJ\":[\"Espaço de Trabalho Suspenso \"],\"7yDt8q\":[\"Obrigado por se registrar no Twenty! Antes de começarmos, precisamos confirmar que é você. Clique acima para verificar seu endereço de e-mail.\"],\"igorB1\":[\"O workspace será desativado em \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", e todos os seus dados serão excluídos.\"],\"7OEHy1\":[\"Esta é uma confirmação de que a senha da sua conta (\",[\"email\"],\") foi alterada com sucesso em \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Este link é válido apenas para os próximos \",[\"duration\"],\". Se o link não funcionar, você pode usar o link de verificação de login diretamente:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Atualize sua assinatura\"],\"QbiUqd\":[\"Validar domínio\"],\"wCKkSr\":[\"Verificar e-mail\"],\"9MqLGX\":[\"Seu workspace <0>\",[\"workspaceDisplayName\"],\"</0> foi excluído porque sua assinatura expirou há \",[\"daysSinceInactive\"],\" dias.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Aceitar convite\"],\"Yxj+Uc\":[\"Todos os dados deste workspace foram eliminados permanentemente.\"],\"RPHFhC\":[\"Confirme o seu endereço de e-mail\"],\"nvkBPN\":[\"Conecte-se ao Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Caro \",[\"userName\"]],\"tGme7M\":[\"convidou-o a juntar-se a um workspace chamado \"],\"uzTaYi\":[\"Olá\"],\"eE1nG1\":[\"Se não iniciou esta alteração, contacte imediatamente o proprietário do seu workspace.\"],\"Gz91L8\":[\"Se quiser continuar a usar o Twenty, atualize a sua subscrição nos próximos \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Se quiser usar o Twenty novamente, pode criar um novo workspace.\"],\"7JuhZQ\":[\"Parece que o seu workspace <0>\",[\"workspaceDisplayName\"],\"</0> foi suspenso há \",[\"daysSinceInactive\"],\" dias.\"],\"PviVyk\":[\"Junte-se à sua equipa no Twenty\"],\"ogtYkT\":[\"Palavra-passe atualizada\"],\"OfhWJH\":[\"Redefinir\"],\"RE5NiU\":[\"Redefina a sua palavra-passe 🗝\"],\"7yDt8q\":[\"Obrigado por se registar no Twenty! Antes de começarmos, precisamos confirmar que é você. Clique acima para verificar o seu endereço de e-mail.\"],\"igorB1\":[\"O workspace será desativado em \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" e todos os seus dados serão eliminados.\"],\"7OEHy1\":[\"Esta é uma confirmação de que a palavra-passe da sua conta (\",[\"email\"],\") foi alterada com sucesso em \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Este link só é válido para os próximos \",[\"duration\"],\". Se o link não funcionar, pode usar diretamente o link de verificação de login:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Atualize a sua subscrição\"],\"wCKkSr\":[\"Verifique o e-mail\"],\"9MqLGX\":[\"O seu workspace <0>\",[\"workspaceDisplayName\"],\"</0> foi eliminado porque a sua subscrição expirou há \",[\"daysSinceInactive\"],\" dias.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Aceitar convite\"],\"Yxj+Uc\":[\"Todos os dados deste workspace foram eliminados permanentemente.\"],\"RPHFhC\":[\"Confirme o seu endereço de e-mail\"],\"nvkBPN\":[\"Conecte-se ao Twenty\"],\"jPQSEz\":[\"Crie um novo espaço de trabalho\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Caro \",[\"userName\"]],\"lIdkf2\":[\"Caro \",[\"userName\"],\",\"],\"NTwcnq\":[\"Espaço de trabalho eliminado\"],\"tGme7M\":[\"convidou-o a juntar-se a um workspace chamado \"],\"uzTaYi\":[\"Olá\"],\"Xa0d85\":[\"Olá,\"],\"eE1nG1\":[\"Se não iniciou esta alteração, contacte imediatamente o proprietário do seu workspace.\"],\"Gz91L8\":[\"Se quiser continuar a usar o Twenty, atualize a sua subscrição nos próximos \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Se quiser usar o Twenty novamente, pode criar um novo workspace.\"],\"7JuhZQ\":[\"Parece que o seu workspace <0>\",[\"workspaceDisplayName\"],\"</0> foi suspenso há \",[\"daysSinceInactive\"],\" dias.\"],\"PviVyk\":[\"Junte-se à sua equipa no Twenty\"],\"ogtYkT\":[\"Palavra-passe atualizada\"],\"u3Ns4p\":[\"Por favor, valide este domínio para permitir que usuários com endereços de e-mail <0>@\",[\"domain\"],\"</0> se juntem ao seu espaço de trabalho sem a necessidade de um convite.\"],\"OfhWJH\":[\"Redefinir\"],\"RE5NiU\":[\"Redefina a sua palavra-passe 🗝\"],\"UBadaJ\":[\"Espao de Trabalho Suspenso \"],\"7yDt8q\":[\"Obrigado por se registar no Twenty! Antes de começarmos, precisamos confirmar que é você. Clique acima para verificar o seu endereço de e-mail.\"],\"igorB1\":[\"O workspace será desativado em \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" e todos os seus dados serão eliminados.\"],\"7OEHy1\":[\"Esta é uma confirmação de que a palavra-passe da sua conta (\",[\"email\"],\") foi alterada com sucesso em \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Este link só é válido para os próximos \",[\"duration\"],\". Se o link não funcionar, pode usar diretamente o link de verificação de login:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Atualize a sua subscrição\"],\"QbiUqd\":[\"Validar domínio\"],\"wCKkSr\":[\"Verifique o e-mail\"],\"9MqLGX\":[\"O seu workspace <0>\",[\"workspaceDisplayName\"],\"</0> foi eliminado porque a sua subscrição expirou há \",[\"daysSinceInactive\"],\" dias.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Acceptați invitația\"],\"Yxj+Uc\":[\"Toate datele din acest spațiu de lucru au fost șterse permanent.\"],\"RPHFhC\":[\"Confirmați adresa de email\"],\"nvkBPN\":[\"Conectați-vă la Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Dragă \",[\"userName\"]],\"tGme7M\":[\"v-a invitat să vă alăturați unui spațiu de lucru numit \"],\"uzTaYi\":[\"Salut\"],\"eE1nG1\":[\"Dacă nu ați inițiat această schimbare, vă rugăm să contactați imediat proprietarul spațiului de lucru.\"],\"Gz91L8\":[\"Dacă doriți să continuați utilizarea Twenty, vă rugăm să vă actualizați abonamentul în următoarele \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Dacă doriți să folosiți din nou Twenty, puteți crea un spațiu de lucru nou.\"],\"7JuhZQ\":[\"Se pare că spațiul dvs. de lucru <0>\",[\"workspaceDisplayName\"],\"</0> a fost suspendat de \",[\"daysSinceInactive\"],\" zile.\"],\"PviVyk\":[\"Alăturați-vă echipei pe Twenty\"],\"ogtYkT\":[\"Parola a fost actualizată\"],\"OfhWJH\":[\"Resetează\"],\"RE5NiU\":[\"Resetați-vă parola 🗝\"],\"7yDt8q\":[\"Vă mulțumim că v-ați înregistrat pentru un cont pe Twenty! Înainte de a începe, trebuie doar să confirmăm că acesta sunteți dvs. Faceți clic mai sus pentru a verifica adresa de email.\"],\"igorB1\":[\"Spațiul de lucru va fi dezactivat în \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", iar toate datele sale vor fi șterse.\"],\"7OEHy1\":[\"Aceasta este o confirmare că parola contului dvs. (\",[\"email\"],\") a fost schimbată cu succes la data de \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Acest link este valabil doar pentru următoarele \",[\"duration\"],\". Dacă linkul nu funcționează, puteți folosi direct linkul de verificare a autentificării:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Actualizați abonamentul\"],\"wCKkSr\":[\"Verificați Email\"],\"9MqLGX\":[\"Spațiul dvs. de lucru <0>\",[\"workspaceDisplayName\"],\"</0> a fost șters, deoarece abonamentul a expirat cu \",[\"daysSinceInactive\"],\" zile în urmă.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Acceptați invitația\"],\"Yxj+Uc\":[\"Toate datele din acest spațiu de lucru au fost șterse permanent.\"],\"RPHFhC\":[\"Confirmați adresa de email\"],\"nvkBPN\":[\"Conectați-vă la Twenty\"],\"jPQSEz\":[\"Creează un nou spațiu de lucru\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Dragă \",[\"userName\"]],\"lIdkf2\":[\"Dragă \",[\"userName\"],\",\"],\"NTwcnq\":[\"Spațiu de lucru șters\"],\"tGme7M\":[\"v-a invitat să vă alăturați unui spațiu de lucru numit \"],\"uzTaYi\":[\"Salut\"],\"Xa0d85\":[\"Salut,\"],\"eE1nG1\":[\"Dacă nu ați inițiat această schimbare, vă rugăm să contactați imediat proprietarul spațiului de lucru.\"],\"Gz91L8\":[\"Dacă doriți să continuați utilizarea Twenty, vă rugăm să vă actualizați abonamentul în următoarele \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Dacă doriți să folosiți din nou Twenty, puteți crea un spațiu de lucru nou.\"],\"7JuhZQ\":[\"Se pare că spațiul dvs. de lucru <0>\",[\"workspaceDisplayName\"],\"</0> a fost suspendat de \",[\"daysSinceInactive\"],\" zile.\"],\"PviVyk\":[\"Alăturați-vă echipei pe Twenty\"],\"ogtYkT\":[\"Parola a fost actualizată\"],\"u3Ns4p\":[\"Vă rugăm să validați acest domeniu pentru a permite utilizatorilor cu adrese de email <0>@\",[\"domain\"],\"</0> să se alăture spațiului dumneavoastră de lucru fără a necesita o invitație.\"],\"OfhWJH\":[\"Resetează\"],\"RE5NiU\":[\"Resetați-vă parola 🗝\"],\"UBadaJ\":[\"Spațiu de lucru suspendat \"],\"7yDt8q\":[\"Vă mulțumim că v-ați înregistrat pentru un cont pe Twenty! Înainte de a începe, trebuie doar să confirmăm că acesta sunteți dvs. Faceți clic mai sus pentru a verifica adresa de email.\"],\"igorB1\":[\"Spațiul de lucru va fi dezactivat în \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", iar toate datele sale vor fi șterse.\"],\"7OEHy1\":[\"Aceasta este o confirmare că parola contului dvs. (\",[\"email\"],\") a fost schimbată cu succes la data de \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Acest link este valabil doar pentru următoarele \",[\"duration\"],\". Dacă linkul nu funcționează, puteți folosi direct linkul de verificare a autentificării:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Actualizați abonamentul\"],\"QbiUqd\":[\"Validează domeniul\"],\"wCKkSr\":[\"Verificați Email\"],\"9MqLGX\":[\"Spațiul dvs. de lucru <0>\",[\"workspaceDisplayName\"],\"</0> a fost șters, deoarece abonamentul a expirat cu \",[\"daysSinceInactive\"],\" zile în urmă.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Принять приглашение\"],\"Yxj+Uc\":[\"Все данные в этом рабочем пространстве были окончательно удалены.\"],\"RPHFhC\":[\"Подтвердите ваш адрес электронной почты\"],\"nvkBPN\":[\"Подключиться к Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Уважаемый \",[\"userName\"]],\"tGme7M\":[\"пригласил вас присоединиться к рабочему пространству под названием \"],\"uzTaYi\":[\"Здравствуйте\"],\"eE1nG1\":[\"Если вы не инициировали это изменение, немедленно свяжитесь с владельцем вашего рабочего пространства.\"],\"Gz91L8\":[\"Если вы хотите продолжить использование Twenty, пожалуйста, обновите вашу подписку в течение следующих \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Если вы захотите снова использовать Twenty, вы сможете создать новое рабочее пространство.\"],\"7JuhZQ\":[\"Похоже, что ваше рабочее пространство <0>\",[\"workspaceDisplayName\"],\"</0> было приостановлено на \",[\"daysSinceInactive\"],\" \",[\"daysSinceInactive\",\"plural\",{\"one\":[\"день\"],\"few\":[\"дня\"],\"many\":[\"дней\"],\"other\":[\"дня\"]}],\".\"],\"PviVyk\":[\"Присоединяйтесь к вашей команде на Twenty\"],\"ogtYkT\":[\"Пароль обновлен\"],\"OfhWJH\":[\"Сбросить\"],\"RE5NiU\":[\"Сбросьте ваш пароль 🗝\"],\"7yDt8q\":[\"Спасибо за регистрацию в аккаунте Twenty! Прежде чем начать, нам нужно убедиться, что это вы. Кликните выше, чтобы подтвердить ваш адрес электронной почты.\"],\"igorB1\":[\"Рабочее пространство будет деактивировано через \",[\"remainingDays\"],\" \",[\"remainingDays\",\"plural\",{\"one\":[\"день\"],\"few\":[\"дня\"],\"many\":[\"дней\"],\"other\":[\"дней\"]}],\", и все его данные будут удалены.\"],\"7OEHy1\":[\"Это подтверждение того, что пароль для вашего аккаунта (\",[\"email\"],\") был успешно изменен \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Эта ссылка действительна только в течение следующих \",[\"duration\"],\". Если ссылка не работает, вы можете использовать ссылку для подтверждения входа напрямую:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Обновите вашу подписку\"],\"wCKkSr\":[\"Подтвердить электронную почту\"],\"9MqLGX\":[\"Ваше рабочее пространство <0>\",[\"workspaceDisplayName\"],\"</0> было удалено, так как ваша подписка истекла \",[\"daysSinceInactive\"],\" \",[\"inactiveDaysBeforeDelete\",\"plural\",{\"one\":[\"день\"],\"few\":[\"дня\"],\"many\":[\"дней\"],\"other\":[\"дней\"]}],\" назад.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Принять приглашение\"],\"Yxj+Uc\":[\"Все данные в этом рабочем пространстве были окончательно удалены.\"],\"RPHFhC\":[\"Подтвердите ваш адрес электронной почты\"],\"nvkBPN\":[\"Подключиться к Twenty\"],\"jPQSEz\":[\"Создать новое рабочее пространство\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Уважаемый \",[\"userName\"]],\"lIdkf2\":[\"Уважаемый \",[\"userName\"],\",\"],\"NTwcnq\":[\"Удаленное рабочее пространство\"],\"tGme7M\":[\"пригласил вас присоединиться к рабочему пространству под названием \"],\"uzTaYi\":[\"Здравствуйте\"],\"Xa0d85\":[\"Здравствуйте,\"],\"eE1nG1\":[\"Если вы не инициировали это изменение, немедленно свяжитесь с владельцем вашего рабочего пространства.\"],\"Gz91L8\":[\"Если вы хотите продолжить использование Twenty, пожалуйста, обновите вашу подписку в течение следующих \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Если вы захотите снова использовать Twenty, вы сможете создать новое рабочее пространство.\"],\"7JuhZQ\":[\"Похоже, что ваше рабочее пространство <0>\",[\"workspaceDisplayName\"],\"</0> было приостановлено на \",[\"daysSinceInactive\"],\" \",[\"daysSinceInactive\",\"plural\",{\"one\":[\"день\"],\"few\":[\"дня\"],\"many\":[\"дней\"],\"other\":[\"дня\"]}],\".\"],\"PviVyk\":[\"Присоединяйтесь к вашей команде на Twenty\"],\"ogtYkT\":[\"Пароль обновлен\"],\"u3Ns4p\":[\"Пожалуйста, проверьте этот домен, чтобы пользователи с <0>@\",[\"domain\"],\"</0> адресами электронной почты могли присоединяться к вашему рабочему пространству без приглашения.\"],\"OfhWJH\":[\"Сбросить\"],\"RE5NiU\":[\"Сбросьте ваш пароль 🗝\"],\"UBadaJ\":[\"Приостановленная рабочая область \"],\"7yDt8q\":[\"Спасибо за регистрацию в аккаунте Twenty! Прежде чем начать, нам нужно убедиться, что это вы. Кликните выше, чтобы подтвердить ваш адрес электронной почты.\"],\"igorB1\":[\"Рабочее пространство будет деактивировано через \",[\"remainingDays\"],\" \",[\"remainingDays\",\"plural\",{\"one\":[\"день\"],\"few\":[\"дня\"],\"many\":[\"дней\"],\"other\":[\"дней\"]}],\", и все его данные будут удалены.\"],\"7OEHy1\":[\"Это подтверждение того, что пароль для вашего аккаунта (\",[\"email\"],\") был успешно изменен \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Эта ссылка действительна только в течение следующих \",[\"duration\"],\". Если ссылка не работает, вы можете использовать ссылку для подтверждения входа напрямую:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Обновите вашу подписку\"],\"QbiUqd\":[\"Проверить домен\"],\"wCKkSr\":[\"Подтвердить электронную почту\"],\"9MqLGX\":[\"Ваше рабочее пространство <0>\",[\"workspaceDisplayName\"],\"</0> было удалено, так как ваша подписка истекла \",[\"daysSinceInactive\"],\" \",[\"inactiveDaysBeforeDelete\",\"plural\",{\"one\":[\"день\"],\"few\":[\"дня\"],\"many\":[\"дней\"],\"other\":[\"дней\"]}],\" назад.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Прихвати позив\"],\"Yxj+Uc\":[\"Сви подаци у овом радном простору су трајно избрисани.\"],\"RPHFhC\":[\"Потврдите вашу е-адресу\"],\"nvkBPN\":[\"Повежите се са Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Поштовани \",[\"userName\"]],\"tGme7M\":[\"вас је позвао да се придружите радном простору под називом \"],\"uzTaYi\":[\"Здраво\"],\"eE1nG1\":[\"Ако ову промену нисте покренули ви, молимо вас да одмах контактирате власника вашег радног простора.\"],\"Gz91L8\":[\"Ако желите наставити коришћење Twenty, молимо вас да освежите вашу претплату у наредних \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Ако желите поново користити Twenty, можете створити нови радни простор.\"],\"7JuhZQ\":[\"Чини се да је ваш радни простор <0>\",[\"workspaceDisplayName\"],\"</0> суспендован већ \",[\"daysSinceInactive\"],\" дана.\"],\"PviVyk\":[\"Придружите се свом тиму на Twenty\"],\"ogtYkT\":[\"Шифра је освежена\"],\"OfhWJH\":[\"Ресетуј\"],\"RE5NiU\":[\"Ресетујте вашу шифру 🗝\"],\"7yDt8q\":[\"Хвала вам што сте се регистровали за налог на Twenty! Прије него што почнемо, само требамо да потврдимо да сте то ви. Кликните изнад да потврдите вашу е-адресу.\"],\"igorB1\":[\"Радни простор ће бити деактивиран за \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", и сви његови подаци ће бити избрисани.\"],\"7OEHy1\":[\"Ово је потврда да је шифра вашег налога (\",[\"email\"],\") успешно промењена на \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Овај линк је валидан само следећих \",[\"duration\"],\". Ако линк не функционише, моћи ћете директно користити линк за верификацију пријаве:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Освежите вашу претплату\"],\"wCKkSr\":[\"Потврдите е-адресу\"],\"9MqLGX\":[\"Ваш радни простор <0>\",[\"workspaceDisplayName\"],\"</0> је избрисан пошто је ваша претплата истекла пре \",[\"daysSinceInactive\"],\" дана.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Прихвати позив\"],\"Yxj+Uc\":[\"Сви подаци у овом радном простору су трајно избрисани.\"],\"RPHFhC\":[\"Потврдите вашу е-адресу\"],\"nvkBPN\":[\"Повежите се са Twenty\"],\"jPQSEz\":[\"Креирај нови радни простор\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Поштовани \",[\"userName\"]],\"lIdkf2\":[\"Поштовани \",[\"userName\"],\",\"],\"NTwcnq\":[\"Избрисан радни простор\"],\"tGme7M\":[\"вас је позвао да се придружите радном простору под називом \"],\"uzTaYi\":[\"Здраво\"],\"Xa0d85\":[\"Здраво,\"],\"eE1nG1\":[\"Ако ову промену нисте покренули ви, молимо вас да одмах контактирате власника вашег радног простора.\"],\"Gz91L8\":[\"Ако желите наставити коришћење Twenty, молимо вас да освежите вашу претплату у наредних \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Ако желите поново користити Twenty, можете створити нови радни простор.\"],\"7JuhZQ\":[\"Чини се да је ваш радни простор <0>\",[\"workspaceDisplayName\"],\"</0> суспендован већ \",[\"daysSinceInactive\"],\" дана.\"],\"PviVyk\":[\"Придружите се свом тиму на Twenty\"],\"ogtYkT\":[\"Шифра је освежена\"],\"u3Ns4p\":[\"Потврдите овај домен да бисте дозволили корисницима са <0>@\",[\"domain\"],\"</0> имејл адресама да се придруже вашем радном простору без потребе за позивницом.\"],\"OfhWJH\":[\"Ресетуј\"],\"RE5NiU\":[\"Ресетујте вашу шифру 🗝\"],\"UBadaJ\":[\"Суспендован радни простор \"],\"7yDt8q\":[\"Хвала вам што сте се регистровали за налог на Twenty! Прије него што почнемо, само требамо да потврдимо да сте то ви. Кликните изнад да потврдите вашу е-адресу.\"],\"igorB1\":[\"Радни простор ће бити деактивиран за \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", и сви његови подаци ће бити избрисани.\"],\"7OEHy1\":[\"Ово је потврда да је шифра вашег налога (\",[\"email\"],\") успешно промењена на \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Овај линк је валидан само следећих \",[\"duration\"],\". Ако линк не функционише, моћи ћете директно користити линк за верификацију пријаве:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Освежите вашу претплату\"],\"QbiUqd\":[\"Потврдите домен\"],\"wCKkSr\":[\"Потврдите е-адресу\"],\"9MqLGX\":[\"Ваш радни простор <0>\",[\"workspaceDisplayName\"],\"</0> је избрисан пошто је ваша претплата истекла пре \",[\"daysSinceInactive\"],\" дана.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Acceptera inbjudan\"],\"Yxj+Uc\":[\"Alla data i det här arbetsutrymmet har raderats permanent.\"],\"RPHFhC\":[\"Bekräfta din e-postadress\"],\"nvkBPN\":[\"Anslut till Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Kära \",[\"userName\"]],\"tGme7M\":[\"har bjudit in dig till ett arbetsutrymme som heter \"],\"uzTaYi\":[\"Hej\"],\"eE1nG1\":[\"Om du inte initierade denna förändring, vänligen kontakta ägaren av ditt arbetsutrymme omedelbart.\"],\"Gz91L8\":[\"Om du vill fortsätta använda Twenty, vänligen uppdatera din prenumeration inom de nästa \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Om du vill använda Twenty igen kan du skapa ett nytt arbetsutrymme.\"],\"7JuhZQ\":[\"Det verkar som att ditt arbetsutrymme <0>\",[\"workspaceDisplayName\"],\"</0> har varit inaktivt i \",[\"daysSinceInactive\"],\" dagar.\"],\"PviVyk\":[\"Gå med i ditt team på Twenty\"],\"ogtYkT\":[\"Lösenordet uppdaterat\"],\"OfhWJH\":[\"Återställ\"],\"RE5NiU\":[\"Återställ ditt lösenord 🗝\"],\"7yDt8q\":[\"Tack för att du registrerade ett konto på Twenty! Innan vi börjar behöver vi bara bekräfta att det är du. Klicka ovan för att verifiera din e-postadress.\"],\"igorB1\":[\"Arbetsutrymmet kommer att inaktiveras om \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", och all dess data kommer att raderas.\"],\"7OEHy1\":[\"Det här är en bekräftelse på att lösenordet för ditt konto (\",[\"email\"],\") har ändrats framgångsrikt den \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Den här länken är bara giltig under de nästa \",[\"duration\"],\". Om länken inte fungerar kan du använda länken för inloggningsverifiering direkt:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Uppdatera din prenumeration\"],\"wCKkSr\":[\"Verifiera e-post\"],\"9MqLGX\":[\"Ditt arbetsutrymme <0>\",[\"workspaceDisplayName\"],\"</0> har raderats eftersom din prenumeration gick ut för \",[\"daysSinceInactive\"],\" dagar sedan.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Acceptera inbjudan\"],\"Yxj+Uc\":[\"Alla data i det här arbetsutrymmet har raderats permanent.\"],\"RPHFhC\":[\"Bekräfta din e-postadress\"],\"nvkBPN\":[\"Anslut till Twenty\"],\"jPQSEz\":[\"Skapa en ny arbetsyta\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Kära \",[\"userName\"]],\"lIdkf2\":[\"Kära \",[\"userName\"],\",\"],\"NTwcnq\":[\"Borttagen arbetsyta\"],\"tGme7M\":[\"har bjudit in dig till ett arbetsutrymme som heter \"],\"uzTaYi\":[\"Hej\"],\"Xa0d85\":[\"Hej,\"],\"eE1nG1\":[\"Om du inte initierade denna förändring, vänligen kontakta ägaren av ditt arbetsutrymme omedelbart.\"],\"Gz91L8\":[\"Om du vill fortsätta använda Twenty, vänligen uppdatera din prenumeration inom de nästa \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Om du vill använda Twenty igen kan du skapa ett nytt arbetsutrymme.\"],\"7JuhZQ\":[\"Det verkar som att ditt arbetsutrymme <0>\",[\"workspaceDisplayName\"],\"</0> har varit inaktivt i \",[\"daysSinceInactive\"],\" dagar.\"],\"PviVyk\":[\"Gå med i ditt team på Twenty\"],\"ogtYkT\":[\"Lösenordet uppdaterat\"],\"u3Ns4p\":[\"Var vänlig och validera denna domän för att tillåta användare med <0>@\",[\"domain\"],\"</0> e-postadresser att ansluta till din arbetsyta utan att behöva en inbjudan.\"],\"OfhWJH\":[\"Återställ\"],\"RE5NiU\":[\"Återställ ditt lösenord 🗝\"],\"UBadaJ\":[\"Avstängt arbetsområde \"],\"7yDt8q\":[\"Tack för att du registrerade ett konto på Twenty! Innan vi börjar behöver vi bara bekräfta att det är du. Klicka ovan för att verifiera din e-postadress.\"],\"igorB1\":[\"Arbetsutrymmet kommer att inaktiveras om \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", och all dess data kommer att raderas.\"],\"7OEHy1\":[\"Det här är en bekräftelse på att lösenordet för ditt konto (\",[\"email\"],\") har ändrats framgångsrikt den \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Den här länken är bara giltig under de nästa \",[\"duration\"],\". Om länken inte fungerar kan du använda länken för inloggningsverifiering direkt:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Uppdatera din prenumeration\"],\"QbiUqd\":[\"Validera domän\"],\"wCKkSr\":[\"Verifiera e-post\"],\"9MqLGX\":[\"Ditt arbetsutrymme <0>\",[\"workspaceDisplayName\"],\"</0> har raderats eftersom din prenumeration gick ut för \",[\"daysSinceInactive\"],\" dagar sedan.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Daveti kabul et\"],\"Yxj+Uc\":[\"Bu çalışma alanındaki tüm veriler kalıcı olarak silindi.\"],\"RPHFhC\":[\"E-posta adresinizi onaylayın\"],\"nvkBPN\":[\"Twenty'e bağlan\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Sevgili \",[\"userName\"]],\"tGme7M\":[\"seni \"],\"uzTaYi\":[\"Merhaba\"],\"eE1nG1\":[\"Bu değişikliği başlatmadıysanız, lütfen hemen çalışma alanı sahibinizle iletişime geçin.\"],\"Gz91L8\":[\"Twenty kullanmaya devam etmek istiyorsanız, lütfen aboneliğinizi önümüzdeki \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" içinde güncelleyin.\"],\"0weyko\":[\"Twenty'yi tekrar kullanmak isterseniz, yeni bir çalışma alanı oluşturabilirsiniz.\"],\"7JuhZQ\":[\"<0>\",[\"workspaceDisplayName\"],\"</0> çalışma alanınızın \",[\"daysSinceInactive\"],\" gün boyunca askıya alındığı görülüyor.\"],\"PviVyk\":[\"Takımına Twenty üzerinden katıl\"],\"ogtYkT\":[\"Şifre güncellendi\"],\"OfhWJH\":[\"Sıfırla\"],\"RE5NiU\":[\"Şifreni sıfırla 🗝\"],\"7yDt8q\":[\"Twenty hesabı için kayıt olduğunuz için teşekkürler! Başlamadan önce, bu işlemin sizin tarafınızdan yapıldığını doğrulamamız gerekiyor. E-posta adresinizi doğrulamak için yukarıdaki bağlantıya tıklayın.\"],\"igorB1\":[\"Çalışma alanı \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" içinde devre dışı bırakılacak ve tüm verileri silinecektir.\"],\"7OEHy1\":[\"Hesabınızın (\",[\"email\"],\") şifresinin \",[\"formattedDate\"],\" tarihinde başarıyla değiştirildiğine dair bir doğrulama bu.\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Bu bağlantı sadece \",[\"duration\"],\" boyunca geçerlidir. Bağlantı çalışmazsa, doğrudan giriş doğrulama bağlantısını kullanabilirsiniz:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Aboneliğini güncelle\"],\"wCKkSr\":[\"E-postayı Doğrula\"],\"9MqLGX\":[\"<0>\",[\"workspaceDisplayName\"],\"</0> çalışma alanınız aboneliğinizin bitmesinin ardından \",[\"daysSinceInactive\"],\" gün önce silindi.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Daveti kabul et\"],\"Yxj+Uc\":[\"Bu çalışma alanındaki tüm veriler kalıcı olarak silindi.\"],\"RPHFhC\":[\"E-posta adresinizi onaylayın\"],\"nvkBPN\":[\"Twenty'e bağlan\"],\"jPQSEz\":[\"Yeni bir çalışma alanı oluştur\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Sevgili \",[\"userName\"]],\"lIdkf2\":[\"Sevgili \",[\"userName\"],\",\"],\"NTwcnq\":[\"Silinen Çalışma Alanı\"],\"tGme7M\":[\"seni \"],\"uzTaYi\":[\"Merhaba\"],\"Xa0d85\":[\"Merhaba,\"],\"eE1nG1\":[\"Bu değişikliği başlatmadıysanız, lütfen hemen çalışma alanı sahibinizle iletişime geçin.\"],\"Gz91L8\":[\"Twenty kullanmaya devam etmek istiyorsanız, lütfen aboneliğinizi önümüzdeki \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" içinde güncelleyin.\"],\"0weyko\":[\"Twenty'yi tekrar kullanmak isterseniz, yeni bir çalışma alanı oluşturabilirsiniz.\"],\"7JuhZQ\":[\"<0>\",[\"workspaceDisplayName\"],\"</0> çalışma alanınızın \",[\"daysSinceInactive\"],\" gün boyunca askıya alındığı görülüyor.\"],\"PviVyk\":[\"Takımına Twenty üzerinden katıl\"],\"ogtYkT\":[\"Şifre güncellendi\"],\"u3Ns4p\":[\"Bu alan adını doğrulayın, böylece kullanıcılar <0>@\",[\"domain\"],\"</0> e-posta adresleriyle davet gerektirmeden çalışma alanınıza katılabilir.\"],\"OfhWJH\":[\"Sıfırla\"],\"RE5NiU\":[\"Şifreni sıfırla 🗝\"],\"UBadaJ\":[\"Askıya Alınmış Çalışma Alanı \"],\"7yDt8q\":[\"Twenty hesabı için kayıt olduğunuz için teşekkürler! Başlamadan önce, bu işlemin sizin tarafınızdan yapıldığını doğrulamamız gerekiyor. E-posta adresinizi doğrulamak için yukarıdaki bağlantıya tıklayın.\"],\"igorB1\":[\"Çalışma alanı \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" içinde devre dışı bırakılacak ve tüm verileri silinecektir.\"],\"7OEHy1\":[\"Hesabınızın (\",[\"email\"],\") şifresinin \",[\"formattedDate\"],\" tarihinde başarıyla değiştirildiğine dair bir doğrulama bu.\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Bu bağlantı sadece \",[\"duration\"],\" boyunca geçerlidir. Bağlantı çalışmazsa, doğrudan giriş doğrulama bağlantısını kullanabilirsiniz:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Aboneliğini güncelle\"],\"QbiUqd\":[\"Alanı doğrula\"],\"wCKkSr\":[\"E-postayı Doğrula\"],\"9MqLGX\":[\"<0>\",[\"workspaceDisplayName\"],\"</0> çalışma alanınız aboneliğinizin bitmesinin ardından \",[\"daysSinceInactive\"],\" gün önce silindi.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Прийняти запрошення\"],\"Yxj+Uc\":[\"Всі дані в цьому робочому просторі були назавжди видалені.\"],\"RPHFhC\":[\"Підтвердіть свою адресу електронної пошти\"],\"nvkBPN\":[\"Підключитися до Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Шановний \",[\"userName\"]],\"tGme7M\":[\"запрошує вас приєднатися до робочого простору під назвою \"],\"uzTaYi\":[\"Привіт\"],\"eE1nG1\":[\"Якщо ви не починали цю зміну, будь ласка, негайно зверніться до власника вашого робочого простору.\"],\"Gz91L8\":[\"Якщо ви бажаєте продовжити користування Twenty, будь ласка, оновіть свою підписку протягом наступних \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Якщо ви бажаєте знову використовувати Twenty, ви можете створити новий робочий простір.\"],\"7JuhZQ\":[\"Схоже, що ваш робочий простір <0>\",[\"workspaceDisplayName\"],\"</0> був призупинений на \",[\"daysSinceInactive\"],\" днів.\"],\"PviVyk\":[\"Приєднуйтесь до своєї команди на Twenty\"],\"ogtYkT\":[\"Пароль оновлено\"],\"OfhWJH\":[\"Скинути\"],\"RE5NiU\":[\"Скинути ваш пароль 🗝\"],\"7yDt8q\":[\"Дякуємо за реєстрацію облікового запису на Twenty! Перш ніж розпочати, нам просто потрібно підтвердити, що це ви. Натисніть вище, щоб підтвердити свою адресу електронної пошти.\"],\"igorB1\":[\"Робочий простір буде деактивовано через \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", і всі його дані будуть видалені.\"],\"7OEHy1\":[\"Це підтвердження того, що пароль для вашого облікового запису (\",[\"email\"],\") було успішно змінено \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Це посилання дійсне протягом наступних \",[\"duration\"],\". Якщо посилання не працює, ви можете напряму використовувати посилання для перевірки логіна:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Оновіть свою підписку\"],\"wCKkSr\":[\"Підтвердіть Email\"],\"9MqLGX\":[\"Ваш робочий простір <0>\",[\"workspaceDisplayName\"],\"</0> було видалено, оскільки ваша підписка закінчилась \",[\"daysSinceInactive\"],\" днів тому.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Прийняти запрошення\"],\"Yxj+Uc\":[\"Всі дані в цьому робочому просторі були назавжди видалені.\"],\"RPHFhC\":[\"Підтвердіть свою адресу електронної пошти\"],\"nvkBPN\":[\"Підключитися до Twenty\"],\"jPQSEz\":[\"Створіть новий робочий простір\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Шановний \",[\"userName\"]],\"lIdkf2\":[\"Шановний \",[\"userName\"],\",\"],\"NTwcnq\":[\"Видалена робоча область\"],\"tGme7M\":[\"запрошує вас приєднатися до робочого простору під назвою \"],\"uzTaYi\":[\"Привіт\"],\"Xa0d85\":[\"Привіт,\"],\"eE1nG1\":[\"Якщо ви не починали цю зміну, будь ласка, негайно зверніться до власника вашого робочого простору.\"],\"Gz91L8\":[\"Якщо ви бажаєте продовжити користування Twenty, будь ласка, оновіть свою підписку протягом наступних \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\".\"],\"0weyko\":[\"Якщо ви бажаєте знову використовувати Twenty, ви можете створити новий робочий простір.\"],\"7JuhZQ\":[\"Схоже, що ваш робочий простір <0>\",[\"workspaceDisplayName\"],\"</0> був призупинений на \",[\"daysSinceInactive\"],\" днів.\"],\"PviVyk\":[\"Приєднуйтесь до своєї команди на Twenty\"],\"ogtYkT\":[\"Пароль оновлено\"],\"u3Ns4p\":[\"Будь ласка, перевірте цей домен, щоб дозволити користувачам з електронними адресами <0>@\",[\"domain\"],\"</0> приєднатися до вашого робочого простору без запрошення.\"],\"OfhWJH\":[\"Скинути\"],\"RE5NiU\":[\"Скинути ваш пароль 🗝\"],\"UBadaJ\":[\"Призупинена робоча область \"],\"7yDt8q\":[\"Дякуємо за реєстрацію облікового запису на Twenty! Перш ніж розпочати, нам просто потрібно підтвердити, що це ви. Натисніть вище, щоб підтвердити свою адресу електронної пошти.\"],\"igorB1\":[\"Робочий простір буде деактивовано через \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\", і всі його дані будуть видалені.\"],\"7OEHy1\":[\"Це підтвердження того, що пароль для вашого облікового запису (\",[\"email\"],\") було успішно змінено \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Це посилання дійсне протягом наступних \",[\"duration\"],\". Якщо посилання не працює, ви можете напряму використовувати посилання для перевірки логіна:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Оновіть свою підписку\"],\"QbiUqd\":[\"Перевірити домен\"],\"wCKkSr\":[\"Підтвердіть Email\"],\"9MqLGX\":[\"Ваш робочий простір <0>\",[\"workspaceDisplayName\"],\"</0> було видалено, оскільки ваша підписка закінчилась \",[\"daysSinceInactive\"],\" днів тому.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Chấp nhận lời mời\"],\"Yxj+Uc\":[\"Tất cả dữ liệu trong không gian làm việc này đã bị xóa vĩnh viễn.\"],\"RPHFhC\":[\"Xác nhận địa chỉ email của bạn\"],\"nvkBPN\":[\"Kết nối với Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Kính gửi \",[\"userName\"]],\"tGme7M\":[\"đã mời bạn tham gia một không gian làm việc có tên là \"],\"uzTaYi\":[\"Xin chào\"],\"eE1nG1\":[\"Nếu bạn không khởi xướng việc thay đổi này, vui lòng liên hệ ngay với chủ sở hữu của không gian làm việc của bạn.\"],\"Gz91L8\":[\"Nếu bạn muốn tiếp tục sử dụng Twenty, vui lòng cập nhật gói đăng ký của bạn trong vòng \",[\"remainingDays\"],\" ngày kế tiếp.\"],\"0weyko\":[\"Nếu bạn muốn sử dụng Twenty lại, bạn có thể tạo một không gian làm việc mới.\"],\"7JuhZQ\":[\"Có vẻ như không gian làm việc của bạn <0>\",[\"workspaceDisplayName\"],\"</0> đã bị đình chỉ vì \",[\"daysSinceInactive\"],\" ngày.\"],\"PviVyk\":[\"Tham gia vào đội ngũ của bạn trên Twenty\"],\"ogtYkT\":[\"Mật khẩu đã được cập nhật\"],\"OfhWJH\":[\"Đặt lại\"],\"RE5NiU\":[\"Đặt lại mật khẩu của bạn 🗝\"],\"7yDt8q\":[\"Cảm ơn bạn đã đăng ký tài khoản trên Twenty! Trước khi chúng ta bắt đầu, chúng ta chỉ cần xác nhận đây có phải là bạn không. Nhấp vào phía trên để xác minh địa chỉ email của bạn.\"],\"igorB1\":[\"Không gian làm việc sẽ bị ngừng hoạt động trong \",[\"remainingDays\"],\" ngày tới, và tất cả dữ liệu của nó sẽ bị xóa bỏ.\"],\"7OEHy1\":[\"Đây là xác nhận rằng mật khẩu cho tài khoản của bạn (\",[\"email\"],\") đã được thay đổi thành công vào \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Liên kết này chỉ có hiệu lực trong thời gian \",[\"duration\"],\" kế tiếp. Nếu liên kết không hoạt động, bạn có thể sử dụng liên kết xác minh đăng nhập trực tiếp:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Cập nhật gói đăng ký của bạn\"],\"wCKkSr\":[\"Xác minh Email\"],\"9MqLGX\":[\"Không gian làm việc của bạn <0>\",[\"workspaceDisplayName\"],\"</0> đã bị xóa bỏ vì gói đăng ký của bạn đã hết hạn từ \",[\"daysSinceInactive\"],\" ngày trước.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"Chấp nhận lời mời\"],\"Yxj+Uc\":[\"Tất cả dữ liệu trong không gian làm việc này đã bị xóa vĩnh viễn.\"],\"RPHFhC\":[\"Xác nhận địa chỉ email của bạn\"],\"nvkBPN\":[\"Kết nối với Twenty\"],\"jPQSEz\":[\"Tạo không gian làm việc mới\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"Kính gửi \",[\"userName\"]],\"lIdkf2\":[\"Kính gửi \",[\"userName\"],\",\"],\"NTwcnq\":[\"Không gian làm việc đã bị xóa\"],\"tGme7M\":[\"đã mời bạn tham gia một không gian làm việc có tên là \"],\"uzTaYi\":[\"Xin chào\"],\"Xa0d85\":[\"Xin chào,\"],\"eE1nG1\":[\"Nếu bạn không khởi xướng việc thay đổi này, vui lòng liên hệ ngay với chủ sở hữu của không gian làm việc của bạn.\"],\"Gz91L8\":[\"Nếu bạn muốn tiếp tục sử dụng Twenty, vui lòng cập nhật gói đăng ký của bạn trong vòng \",[\"remainingDays\"],\" ngày kế tiếp.\"],\"0weyko\":[\"Nếu bạn muốn sử dụng Twenty lại, bạn có thể tạo một không gian làm việc mới.\"],\"7JuhZQ\":[\"Có vẻ như không gian làm việc của bạn <0>\",[\"workspaceDisplayName\"],\"</0> đã bị đình chỉ vì \",[\"daysSinceInactive\"],\" ngày.\"],\"PviVyk\":[\"Tham gia vào đội ngũ của bạn trên Twenty\"],\"ogtYkT\":[\"Mật khẩu đã được cập nhật\"],\"u3Ns4p\":[\"Vui lòng xác thực tên miền này để cho phép người dùng có địa chỉ email <0>@\",[\"domain\"],\"</0> tham gia không gian làm việc của bạn mà không cần lời mời.\"],\"OfhWJH\":[\"Đặt lại\"],\"RE5NiU\":[\"Đặt lại mật khẩu của bạn 🗝\"],\"UBadaJ\":[\"Không gian làm việc bị tạm ngưng \"],\"7yDt8q\":[\"Cảm ơn bạn đã đăng ký tài khoản trên Twenty! Trước khi chúng ta bắt đầu, chúng ta chỉ cần xác nhận đây có phải là bạn không. Nhấp vào phía trên để xác minh địa chỉ email của bạn.\"],\"igorB1\":[\"Không gian làm việc sẽ bị ngừng hoạt động trong \",[\"remainingDays\"],\" ngày tới, và tất cả dữ liệu của nó sẽ bị xóa bỏ.\"],\"7OEHy1\":[\"Đây là xác nhận rằng mật khẩu cho tài khoản của bạn (\",[\"email\"],\") đã được thay đổi thành công vào \",[\"formattedDate\"],\".\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"Liên kết này chỉ có hiệu lực trong thời gian \",[\"duration\"],\" kế tiếp. Nếu liên kết không hoạt động, bạn có thể sử dụng liên kết xác minh đăng nhập trực tiếp:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"Cập nhật gói đăng ký của bạn\"],\"QbiUqd\":[\"Xác thực tên miền\"],\"wCKkSr\":[\"Xác minh Email\"],\"9MqLGX\":[\"Không gian làm việc của bạn <0>\",[\"workspaceDisplayName\"],\"</0> đã bị xóa bỏ vì gói đăng ký của bạn đã hết hạn từ \",[\"daysSinceInactive\"],\" ngày trước.\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"接受邀请\"],\"Yxj+Uc\":[\"此工作区中的所有数据已被永久删除。\"],\"RPHFhC\":[\"确认您的邮箱地址\"],\"nvkBPN\":[\"连接 Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"亲爱的 \",[\"userName\"]],\"tGme7M\":[\"邀请您加入名为\"],\"uzTaYi\":[\"您好\"],\"eE1nG1\":[\"如果您没有发起此更改,请立即联系您的工作区所有者。\"],\"Gz91L8\":[\"如果您希望继续使用 Twenty,请在接下来的 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 内更新您的订阅。\"],\"0weyko\":[\"如果您想再次使用 Twenty,可以创建一个新工作区。\"],\"7JuhZQ\":[\"您的工作区 <0>\",[\"workspaceDisplayName\"],\"</0> 已被暂停 \",[\"daysSinceInactive\"],\" 天。\"],\"PviVyk\":[\"加入您的团队,使用 Twenty\"],\"ogtYkT\":[\"密码已更新\"],\"OfhWJH\":[\"重置\"],\"RE5NiU\":[\"重置您的密码 🗝\"],\"7yDt8q\":[\"感谢您在 Twenty 注册账户!在开始之前,我们只需确认是您本人。请点击上方验证您的邮箱地址。\"],\"igorB1\":[\"工作区将在 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 后停用,其所有数据将被删除。\"],\"7OEHy1\":[\"确认您的账户(\",[\"email\"],\")密码已在 \",[\"formattedDate\"],\" 成功更改。\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"此链接仅在接下来的 \",[\"duration\"],\" 内有效。如果链接无效,您可以直接使用登录验证链接:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"更新您的订阅\"],\"wCKkSr\":[\"验证邮箱\"],\"9MqLGX\":[\"您的工作区 <0>\",[\"workspaceDisplayName\"],\"</0> 已被删除,因为您的订阅已于 \",[\"daysSinceInactive\"],\" 天前过期。\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"接受邀请\"],\"Yxj+Uc\":[\"此工作区中的所有数据已被永久删除。\"],\"RPHFhC\":[\"确认您的邮箱地址\"],\"nvkBPN\":[\"连接 Twenty\"],\"jPQSEz\":[\"创建新的工作区\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"亲爱的 \",[\"userName\"]],\"lIdkf2\":[\"亲爱的 \",[\"userName\"],\",\"],\"NTwcnq\":[\"删除的工作区\"],\"tGme7M\":[\"邀请您加入名为\"],\"uzTaYi\":[\"您好\"],\"Xa0d85\":[\"您好,\"],\"eE1nG1\":[\"如果您没有发起此更改,请立即联系您的工作区所有者。\"],\"Gz91L8\":[\"如果您希望继续使用 Twenty,请在接下来的 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 内更新您的订阅。\"],\"0weyko\":[\"如果您想再次使用 Twenty,可以创建一个新工作区。\"],\"7JuhZQ\":[\"您的工作区 <0>\",[\"workspaceDisplayName\"],\"</0> 已被暂停 \",[\"daysSinceInactive\"],\" 天。\"],\"PviVyk\":[\"加入您的团队,使用 Twenty\"],\"ogtYkT\":[\"密码已更新\"],\"u3Ns4p\":[\"请验证此域,以允许使用 <0>@\",[\"domain\"],\"</0> 邮件地址的用户在不需要邀请的情况下加入您的工作区。\"],\"OfhWJH\":[\"重置\"],\"RE5NiU\":[\"重置您的密码 🗝\"],\"UBadaJ\":[\"暂停的工作空间 \"],\"7yDt8q\":[\"感谢您在 Twenty 注册账户!在开始之前,我们只需确认是您本人。请点击上方验证您的邮箱地址。\"],\"igorB1\":[\"工作区将在 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 后停用,其所有数据将被删除。\"],\"7OEHy1\":[\"确认您的账户(\",[\"email\"],\")密码已在 \",[\"formattedDate\"],\" 成功更改。\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"此链接仅在接下来的 \",[\"duration\"],\" 内有效。如果链接无效,您可以直接使用登录验证链接:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"更新您的订阅\"],\"QbiUqd\":[\"验证域名\"],\"wCKkSr\":[\"验证邮箱\"],\"9MqLGX\":[\"您的工作区 <0>\",[\"workspaceDisplayName\"],\"</0> 已被删除,因为您的订阅已于 \",[\"daysSinceInactive\"],\" 天前过期。\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -1 +1 @@
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"接受邀請\"],\"Yxj+Uc\":[\"此工作區中的所有數據已被永久刪除。\"],\"RPHFhC\":[\"確認您的電子郵件地址\"],\"nvkBPN\":[\"連接到 Twenty\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"親愛的 \",[\"userName\"]],\"tGme7M\":[\"已邀請您加入名為\"],\"uzTaYi\":[\"您好\"],\"eE1nG1\":[\"如果您未發起此更改,請立即聯繫您的工作區擁有者。\"],\"Gz91L8\":[\"如果您希望繼續使用 Twenty,請在接下來的 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 內更新您的訂閱。\"],\"0weyko\":[\"如果您想再次使用 Twenty,可以創建一個新的工作區。\"],\"7JuhZQ\":[\"您的工作區 <0>\",[\"workspaceDisplayName\"],\"</0> 已被暫停 \",[\"daysSinceInactive\"],\" 天。\"],\"PviVyk\":[\"加入您的團隊,使用 Twenty\"],\"ogtYkT\":[\"密碼已更新\"],\"OfhWJH\":[\"重設\"],\"RE5NiU\":[\"重設您的密碼 🗝\"],\"7yDt8q\":[\"感謝您在 Twenty 註冊帳戶!在開始之前,我們需要確認是您本人。請點擊上方驗證您的電子郵件地址。\"],\"igorB1\":[\"工作區將在 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 後停用,所有數據將被刪除。\"],\"7OEHy1\":[\"這是確認您的帳戶(\",[\"email\"],\")的密碼已於 \",[\"formattedDate\"],\" 成功更改。\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"此鏈接僅在接下來的 \",[\"duration\"],\" 內有效。如果鏈接無效,您可以直接使用登錄驗證鏈接:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"更新您的訂閱\"],\"wCKkSr\":[\"驗證電子郵件\"],\"9MqLGX\":[\"由於您的訂閱已於 \",[\"daysSinceInactive\"],\" 天前過期,您的工作區 <0>\",[\"workspaceDisplayName\"],\"</0> 已被刪除。\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"4WPI3S\":[\"接受邀請\"],\"Yxj+Uc\":[\"此工作區中的所有數據已被永久刪除。\"],\"RPHFhC\":[\"確認您的電子郵件地址\"],\"nvkBPN\":[\"連接到 Twenty\"],\"jPQSEz\":[\"創建新的工作區\"],\"JRzgV7\":[\"Dear\"],\"Lm5BBI\":[\"親愛的 \",[\"userName\"]],\"lIdkf2\":[\"親愛的 \",[\"userName\"],\",\"],\"NTwcnq\":[\"已刪除工作區\"],\"tGme7M\":[\"已邀請您加入名為\"],\"uzTaYi\":[\"您好\"],\"Xa0d85\":[\"您好,\"],\"eE1nG1\":[\"如果您未發起此更改,請立即聯繫您的工作區擁有者。\"],\"Gz91L8\":[\"如果您希望繼續使用 Twenty,請在接下來的 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 內更新您的訂閱。\"],\"0weyko\":[\"如果您想再次使用 Twenty,可以創建一個新的工作區。\"],\"7JuhZQ\":[\"您的工作區 <0>\",[\"workspaceDisplayName\"],\"</0> 已被暫停 \",[\"daysSinceInactive\"],\" 天。\"],\"PviVyk\":[\"加入您的團隊,使用 Twenty\"],\"ogtYkT\":[\"密碼已更新\"],\"u3Ns4p\":[\"請驗證此網域,以允許擁有<0>@\",[\"domain\"],\"</0>電子郵件地址的使用者在不需要邀請的情況下加入您的工作區。\"],\"OfhWJH\":[\"重設\"],\"RE5NiU\":[\"重設您的密碼 🗝\"],\"UBadaJ\":[\"暫停的工作區 \"],\"7yDt8q\":[\"感謝您在 Twenty 註冊帳戶!在開始之前,我們需要確認是您本人。請點擊上方驗證您的電子郵件地址。\"],\"igorB1\":[\"工作區將在 \",[\"remainingDays\"],\" \",[\"dayOrDays\"],\" 後停用,所有數據將被刪除。\"],\"7OEHy1\":[\"這是確認您的帳戶(\",[\"email\"],\")的密碼已於 \",[\"formattedDate\"],\" 成功更改。\"],\"wSOsS+\":[\"This is a confirmation that password for your account (\",[\"email\"],\") was successfully changed on \",[\"formattedDate\"],\".<0/><1/>If you did not initiate this change, please contact your workspace owner immediately.\"],\"R4gMjN\":[\"此鏈接僅在接下來的 \",[\"duration\"],\" 內有效。如果鏈接無效,您可以直接使用登錄驗證鏈接:\"],\"2oA637\":[\"This link is only valid for the next \",[\"duration\"],\". If the link does not work, you can use the login verification link directly:<0/>\"],\"H0v4yC\":[\"更新您的訂閱\"],\"QbiUqd\":[\"驗證域\"],\"wCKkSr\":[\"驗證電子郵件\"],\"9MqLGX\":[\"由於您的訂閱已於 \",[\"daysSinceInactive\"],\" 天前過期,您的工作區 <0>\",[\"workspaceDisplayName\"],\"</0> 已被刪除。\"],\"KFmFrQ\":[\"Your workspace <0>\",[\"workspaceDisplayName\"],\"</0> has been deleted as your subscription expired \",[\"inactiveDaysBeforeDelete\"],\" days ago.\"]}")as Messages;
|
||||
@@ -34,6 +34,10 @@ msgstr "אמת את כתובת האימייל שלך"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "התחבר ל-Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "צור מרחב עבודה חדש"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "התחבר ל-Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "יקר {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "יקר/ה {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "מרחב עבודה שנמחק"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "הזמין אותך להצטרף למרחב עבודה בשם "
|
||||
@@ -50,6 +62,10 @@ msgstr "הזמין אותך להצטרף למרחב עבודה בשם "
|
||||
msgid "Hello"
|
||||
msgstr "שלום"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "שלום,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "אם לא אתה התחלת את השינוי הזה, אנא פנה מיד לבעל מרחב העבודה שלך."
|
||||
@@ -74,6 +90,10 @@ msgstr "הצטרף לצוות שלך ב-Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "הסיסמה עודכנה"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "אנא אמת דומיין זה כדי לאפשר למשתמשים עם כתובות דוא\"ל <0>@{domain}</0> להצטרף למרחב שלך בלי צורך בהזמנה."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "איפוס"
|
||||
@@ -82,6 +102,10 @@ msgstr "איפוס"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "אפס את הסיסמה שלך 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "מרחב עבודה מושעה "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "תודה שנרשמת לחשבון ב-Twenty! לפני שנתחיל, אנחנו רק צריכים לוודא שזה אתה. לחץ למעלה כדי לאמת את כתובת המייל שלך."
|
||||
@@ -110,6 +134,11 @@ msgstr "הקישור הזה תקף רק ל-{duration} הבאים. אם הקיש
|
||||
msgid "Update your subscription"
|
||||
msgstr "עדכן את המנוי שלך"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "אמת את הדומיין"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "אמת דוא\"ל"
|
||||
@@ -120,4 +149,4 @@ msgstr "המרחב שלך <0>{workspaceDisplayName}</0> נמחק כי המנוי
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Erősítse meg email címét"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Csatlakozás a Twentyhez"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Hozzon létre új munkaterületet"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Csatlakozás a Twentyhez"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Kedves {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Kedves {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Törölt munkaterület"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "meghívta Önt, hogy csatlakozzon egy munkaterülethez, amelynek a neve: "
|
||||
@@ -50,6 +62,10 @@ msgstr "meghívta Önt, hogy csatlakozzon egy munkaterülethez, amelynek a neve:
|
||||
msgid "Hello"
|
||||
msgstr "Üdvözlöm"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Üdvözlöm,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Amennyiben Ön nem kezdeményezte ezt a változtatást, kérjük azonnal lépjen kapcsolatba a munkaterület tulajdonosával."
|
||||
@@ -74,6 +90,10 @@ msgstr "Csatlakozzon a csapatához a Twentyn"
|
||||
msgid "Password updated"
|
||||
msgstr "Jelszó frissítve"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Kérjük, érvényesítse ezt a domaint annak érdekében, hogy az <0>@{domain}</0> e-mail címmel rendelkező felhasználók meghívó nélkül csatlakozhassanak a munkaterületéhez."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Visszaállítás"
|
||||
@@ -82,6 +102,10 @@ msgstr "Visszaállítás"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Jelszó visszaállítása 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Felfüggesztett munkaterület "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Köszönjük, hogy regisztrált a Twenty szolgáltatására! Mielőtt elkezdenénk, csak meg kell erősítenünk, hogy ez Ön. Kattintson a fenti hivatkozásra email címének megerősítéséhez."
|
||||
@@ -110,6 +134,11 @@ msgstr "Ez a hivatkozás csak a következő {duration} ideig érvényes. Ha a hi
|
||||
msgid "Update your subscription"
|
||||
msgstr "Előfizetés frissítése"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Domain érvényesítése"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Email ellenőrzése"
|
||||
@@ -120,4 +149,4 @@ msgstr "Munkaterülete <0>{workspaceDisplayName}</0> törlésre került, mivel e
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Conferma il tuo indirizzo e-mail"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Accedi a Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Crea un nuovo spazio di lavoro"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Accedi a Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Gentile {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Gentile {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Workspace eliminato"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "ti ha invitato a unirti a uno spazio di lavoro chiamato "
|
||||
@@ -50,6 +62,10 @@ msgstr "ti ha invitato a unirti a uno spazio di lavoro chiamato "
|
||||
msgid "Hello"
|
||||
msgstr "Salve"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Salve,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Se non hai avviato questa modifica, contatta immediatamente il proprietario dello spazio di lavoro."
|
||||
@@ -74,6 +90,10 @@ msgstr "Unisciti al tuo team su Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Password aggiornata"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Si prega di convalidare questo dominio per consentire agli utenti con indirizzi email <0>@{domain}</0> di unirsi al tuo spazio di lavoro senza richiedere un invito."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Reimposta"
|
||||
@@ -82,6 +102,10 @@ msgstr "Reimposta"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Reimposta la tua password 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Workspace sospeso "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Grazie per esserti registrato su Twenty! Prima di iniziare, dobbiamo solo confermare che sei tu. Clicca sopra per verificare il tuo indirizzo e-mail."
|
||||
@@ -110,6 +134,11 @@ msgstr "Questo link è valido solo per i prossimi {duration}. Se il link non fun
|
||||
msgid "Update your subscription"
|
||||
msgstr "Aggiorna il tuo abbonamento"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Convalida dominio"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Verifica e-mail"
|
||||
@@ -120,4 +149,4 @@ msgstr "Il tuo spazio di lavoro <0>{workspaceDisplayName}</0> è stato cancellat
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "メールアドレスを確認"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Twentyに接続"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "新しいワークスペースを作成"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Twentyに接続"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "{userName}様"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "{userName}様,"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "削除されたワークスペース"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "というワークスペースに招待されました。"
|
||||
@@ -50,6 +62,10 @@ msgstr "というワークスペースに招待されました。"
|
||||
msgid "Hello"
|
||||
msgstr "こんにちは"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "こんにちは,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "この変更を行っていない場合は、すぐにワークスペースの所有者に連絡してください。"
|
||||
@@ -74,6 +90,10 @@ msgstr "Twentyでチームに参加"
|
||||
msgid "Password updated"
|
||||
msgstr "パスワードが更新されました"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "このドメインを検証して、<0>@{domain}</0> のメールアドレスを持つユーザーが招待なしでワークスペースに参加できるようにしてください。"
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "リセット"
|
||||
@@ -82,6 +102,10 @@ msgstr "リセット"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "パスワードをリセット"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "一時停止されたワークスペース "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Twentyにご登録いただきありがとうございます!開始する前に、ご本人確認のために上記をクリックしてメールアドレスを確認してください。"
|
||||
@@ -110,6 +134,11 @@ msgstr "このリンクは{duration}のみ有効です。リンクが機能し
|
||||
msgid "Update your subscription"
|
||||
msgstr "サブスクリプションを更新"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "ドメインを検証する"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "メールを確認"
|
||||
@@ -120,4 +149,4 @@ msgstr "サブスクリプションが{daysSinceInactive}日前に期限切れ
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "이메일 주소를 확인하세요"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Twenty에 연결하세요"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "새 워크스페이스 만들기"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Twenty에 연결하세요"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "{userName}님께"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "{userName}님께,"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "삭제된 워크스페이스"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "라는 워크스페이스에 초대되었습니다 "
|
||||
@@ -50,6 +62,10 @@ msgstr "라는 워크스페이스에 초대되었습니다 "
|
||||
msgid "Hello"
|
||||
msgstr "안녕하세요"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "안녕하세요,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "이 변경을 시작하지 않으셨다면 즉시 워크스페이스 소유자에게 문의하세요."
|
||||
@@ -74,6 +90,10 @@ msgstr "Twenty에서 팀에 합류하세요"
|
||||
msgid "Password updated"
|
||||
msgstr "비밀번호가 업데이트되었습니다"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "<0>@{domain}</0> 이메일 주소를 가진 사용자가 초대 없이 워크스페이스에 참여할 수 있도록 이 도메인을 검증해 주세요."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "초기화"
|
||||
@@ -82,6 +102,10 @@ msgstr "초기화"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "비밀번호를 재설정하세요 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "중단된 워크스페이스 "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Twenty에 계정을 등록해 주셔서 감사합니다! 시작하기 전에 본인 확인이 필요합니다. 위를 클릭하여 이메일 주소를 인증하세요."
|
||||
@@ -110,6 +134,11 @@ msgstr "이 링크는 다음 {duration} 동안만 유효합니다. 링크가 작
|
||||
msgid "Update your subscription"
|
||||
msgstr "구독을 업데이트하세요"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "도메인 검증"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "이메일 인증"
|
||||
@@ -120,4 +149,4 @@ msgstr "구독이 {daysSinceInactive}일 전에 만료되어 워크스페이스
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Bevestig uw e-mailadres"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Verbinden met Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Maak een nieuwe werkruimte"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Verbinden met Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Beste {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Beste {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Verwijderde werkruimte"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "heeft u uitgenodigd om deel te nemen aan een werkruimte genaamd "
|
||||
@@ -50,6 +62,10 @@ msgstr "heeft u uitgenodigd om deel te nemen aan een werkruimte genaamd "
|
||||
msgid "Hello"
|
||||
msgstr "Hallo"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Hallo,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Als u deze wijziging niet heeft geïnitieerd, neem dan onmiddellijk contact op met de eigenaar van uw werkruimte."
|
||||
@@ -74,6 +90,10 @@ msgstr "Sluit je aan bij je team op Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Wachtwoord bijgewerkt"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Valideer dit domein om gebruikers met e-mailadressen <0>@{domain}</0> toe te staan uw werkruimte te betreden zonder een uitnodiging nodig te hebben."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Resetten"
|
||||
@@ -82,6 +102,10 @@ msgstr "Resetten"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Reset uw wachtwoord 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Opgeschorte werkruimte "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Bedankt voor uw registratie voor een account op Twenty! Voordat we beginnen, moeten we gewoon bevestigen dat dit u bent. Klik hierboven om uw e-mailadres te verifiëren."
|
||||
@@ -110,6 +134,11 @@ msgstr "Deze link is slechts geldig voor de komende {duration}. Als de link niet
|
||||
msgid "Update your subscription"
|
||||
msgstr "Werk uw abonnement bij"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Domein verifiëren"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "E-mail verifiëren"
|
||||
@@ -120,4 +149,4 @@ msgstr "Uw werkruimte <0>{workspaceDisplayName}</0> is verwijderd omdat uw abonn
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Bekreft e-postadressen din"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Koble til Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Opprett et nytt arbeidsområde"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Koble til Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Kjære {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Kjære {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Arbeidsområde slettet"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "har invitert deg til å bli med i et arbeidsområde kalt "
|
||||
@@ -50,6 +62,10 @@ msgstr "har invitert deg til å bli med i et arbeidsområde kalt "
|
||||
msgid "Hello"
|
||||
msgstr "Hei"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Hei,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Hvis du ikke initierte denne endringen, vennligst kontakt eieren av arbeidsområdet ditt umiddelbart."
|
||||
@@ -74,6 +90,10 @@ msgstr "Bli med teamet ditt på Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Passord oppdatert"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Vennligst bekreft dette domenet for å la brukere med <0>@{domain}</0> e-postadresser bli med i arbeidsområdet ditt uten å kreve en invitasjon."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Tilbakestill"
|
||||
@@ -82,6 +102,10 @@ msgstr "Tilbakestill"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Tilbakestill passordet ditt 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Suspendert Arbeidsområde "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Takk for at du registrerte deg for en konto på Twenty! Før vi begynner, vi må bare bekrefte at dette er deg. Klikk ovenfor for å verifisere e-postadressen din."
|
||||
@@ -110,6 +134,11 @@ msgstr "Denne lenken er kun gyldig i de neste {duration}. Hvis lenken ikke funge
|
||||
msgid "Update your subscription"
|
||||
msgstr "Oppdater abonnementet ditt"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Valider domene"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Verifiser e-post"
|
||||
@@ -120,4 +149,4 @@ msgstr "Ditt arbeidsområde <0>{workspaceDisplayName}</0> har blitt slettet da d
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Potwierdź swój adres email"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Połącz z Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Utwórz nową przestrzeń pracy"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Połącz z Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Szanowny {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Szanowny {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Usunięta przestrzeń pracy"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "zaprosił Cię do przyłączenia się do przestrzeni roboczej o nazwie "
|
||||
@@ -50,6 +62,10 @@ msgstr "zaprosił Cię do przyłączenia się do przestrzeni roboczej o nazwie "
|
||||
msgid "Hello"
|
||||
msgstr "Witaj"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Witaj,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Jeśli to nie Ty zainicjowałeś tę zmianę, skontaktuj się niezwłocznie z właścicielem przestrzeni roboczej."
|
||||
@@ -74,6 +90,10 @@ msgstr "Dołącz do swojego zespołu w Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Hasło zaktualizowane"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Proszę zweryfikować tę domenę, aby umożliwić użytkownikom z adresami e-mail <0>@{domain}</0> dołączenie do Twojej przestrzeni roboczej bez potrzeby zaproszenia."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Zresetuj"
|
||||
@@ -82,6 +102,10 @@ msgstr "Zresetuj"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Zresetuj swoje hasło 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Zawieszony Obszar Roboczy "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Dziękujemy za rejestrację konta w Twenty! Zanim zaczniemy, musimy tylko potwierdzić, że to Ty. Kliknij powyżej, aby zweryfikować swój adres email."
|
||||
@@ -110,6 +134,11 @@ msgstr "Ten link jest ważny tylko przez {duration}. Jeśli link nie działa, mo
|
||||
msgid "Update your subscription"
|
||||
msgstr "Zaktualizuj swoją subskrypcję"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Sprawdź domenę"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Zweryfikuj Email"
|
||||
@@ -120,4 +149,4 @@ msgstr "Twoja przestrzeń robocza <0>{workspaceDisplayName}</0> została usunię
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -29,6 +29,10 @@ msgstr ""
|
||||
msgid "Connect to Twenty"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr ""
|
||||
@@ -37,6 +41,14 @@ msgstr ""
|
||||
msgid "Dear {userName}"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr ""
|
||||
@@ -45,6 +57,10 @@ msgstr ""
|
||||
msgid "Hello"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr ""
|
||||
@@ -69,6 +85,10 @@ msgstr ""
|
||||
msgid "Password updated"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr ""
|
||||
@@ -77,6 +97,10 @@ msgstr ""
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr ""
|
||||
@@ -105,6 +129,11 @@ msgstr ""
|
||||
msgid "Update your subscription"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr ""
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr ""
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Confirme seu endereço de e-mail"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Conecte-se ao Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Criar um novo espaço de trabalho"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Conecte-se ao Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Caro {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Caro {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Espaço de Trabalho Excluído"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "convidou você para participar de um workspace chamado "
|
||||
@@ -50,6 +62,10 @@ msgstr "convidou você para participar de um workspace chamado "
|
||||
msgid "Hello"
|
||||
msgstr "Olá"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Olá,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Se você não iniciou essa alteração, entre em contato com o proprietário do workspace imediatamente."
|
||||
@@ -74,6 +90,10 @@ msgstr "Junte-se à sua equipe no Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Senha atualizada"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Por favor, valide este domínio para permitir que usuários com endereços de e-mail <0>@{domain}</0> entrem no seu espaço de trabalho sem precisar de um convite."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Redefinir"
|
||||
@@ -82,6 +102,10 @@ msgstr "Redefinir"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Redefina sua senha 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Espaço de Trabalho Suspenso "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Obrigado por se registrar no Twenty! Antes de começarmos, precisamos confirmar que é você. Clique acima para verificar seu endereço de e-mail."
|
||||
@@ -110,6 +134,11 @@ msgstr "Este link é válido apenas para os próximos {duration}. Se o link não
|
||||
msgid "Update your subscription"
|
||||
msgstr "Atualize sua assinatura"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Validar domínio"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Verificar e-mail"
|
||||
@@ -120,4 +149,4 @@ msgstr "Seu workspace <0>{workspaceDisplayName}</0> foi excluído porque sua ass
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Confirme o seu endereço de e-mail"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Conecte-se ao Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Crie um novo espaço de trabalho"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Conecte-se ao Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Caro {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Caro {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Espaço de trabalho eliminado"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "convidou-o a juntar-se a um workspace chamado "
|
||||
@@ -50,6 +62,10 @@ msgstr "convidou-o a juntar-se a um workspace chamado "
|
||||
msgid "Hello"
|
||||
msgstr "Olá"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Olá,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Se não iniciou esta alteração, contacte imediatamente o proprietário do seu workspace."
|
||||
@@ -74,6 +90,10 @@ msgstr "Junte-se à sua equipa no Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Palavra-passe atualizada"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Por favor, valide este domínio para permitir que usuários com endereços de e-mail <0>@{domain}</0> se juntem ao seu espaço de trabalho sem a necessidade de um convite."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Redefinir"
|
||||
@@ -82,6 +102,10 @@ msgstr "Redefinir"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Redefina a sua palavra-passe 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Espao de Trabalho Suspenso "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Obrigado por se registar no Twenty! Antes de começarmos, precisamos confirmar que é você. Clique acima para verificar o seu endereço de e-mail."
|
||||
@@ -110,6 +134,11 @@ msgstr "Este link só é válido para os próximos {duration}. Se o link não fu
|
||||
msgid "Update your subscription"
|
||||
msgstr "Atualize a sua subscrição"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Validar domínio"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Verifique o e-mail"
|
||||
@@ -120,4 +149,4 @@ msgstr "O seu workspace <0>{workspaceDisplayName}</0> foi eliminado porque a sua
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Confirmați adresa de email"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Conectați-vă la Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Creează un nou spațiu de lucru"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Conectați-vă la Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Dragă {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Dragă {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Spațiu de lucru șters"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "v-a invitat să vă alăturați unui spațiu de lucru numit "
|
||||
@@ -50,6 +62,10 @@ msgstr "v-a invitat să vă alăturați unui spațiu de lucru numit "
|
||||
msgid "Hello"
|
||||
msgstr "Salut"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Salut,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Dacă nu ați inițiat această schimbare, vă rugăm să contactați imediat proprietarul spațiului de lucru."
|
||||
@@ -74,6 +90,10 @@ msgstr "Alăturați-vă echipei pe Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Parola a fost actualizată"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Vă rugăm să validați acest domeniu pentru a permite utilizatorilor cu adrese de email <0>@{domain}</0> să se alăture spațiului dumneavoastră de lucru fără a necesita o invitație."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Resetează"
|
||||
@@ -82,6 +102,10 @@ msgstr "Resetează"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Resetați-vă parola 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Spațiu de lucru suspendat "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Vă mulțumim că v-ați înregistrat pentru un cont pe Twenty! Înainte de a începe, trebuie doar să confirmăm că acesta sunteți dvs. Faceți clic mai sus pentru a verifica adresa de email."
|
||||
@@ -110,6 +134,11 @@ msgstr "Acest link este valabil doar pentru următoarele {duration}. Dacă linku
|
||||
msgid "Update your subscription"
|
||||
msgstr "Actualizați abonamentul"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Validează domeniul"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Verificați Email"
|
||||
@@ -120,4 +149,4 @@ msgstr "Spațiul dvs. de lucru <0>{workspaceDisplayName}</0> a fost șters, deoa
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Подтвердите ваш адрес электронной почт
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Подключиться к Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Создать новое рабочее пространство"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Подключиться к Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Уважаемый {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Уважаемый {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Удаленное рабочее пространство"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "пригласил вас присоединиться к рабочему пространству под названием "
|
||||
@@ -50,6 +62,10 @@ msgstr "пригласил вас присоединиться к рабочем
|
||||
msgid "Hello"
|
||||
msgstr "Здравствуйте"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Здравствуйте,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Если вы не инициировали это изменение, немедленно свяжитесь с владельцем вашего рабочего пространства."
|
||||
@@ -74,6 +90,10 @@ msgstr "Присоединяйтесь к вашей команде на Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Пароль обновлен"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Пожалуйста, проверьте этот домен, чтобы пользователи с <0>@{domain}</0> адресами электронной почты могли присоединяться к вашему рабочему пространству без приглашения."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Сбросить"
|
||||
@@ -82,6 +102,10 @@ msgstr "Сбросить"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Сбросьте ваш пароль 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Приостановленная рабочая область "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Спасибо за регистрацию в аккаунте Twenty! Прежде чем начать, нам нужно убедиться, что это вы. Кликните выше, чтобы подтвердить ваш адрес электронной почты."
|
||||
@@ -110,6 +134,11 @@ msgstr "Эта ссылка действительна только в тече
|
||||
msgid "Update your subscription"
|
||||
msgstr "Обновите вашу подписку"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Проверить домен"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Подтвердить электронную почту"
|
||||
@@ -120,4 +149,4 @@ msgstr "Ваше рабочее пространство <0>{workspaceDisplayNam
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Потврдите вашу е-адресу"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Повежите се са Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Креирај нови радни простор"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Повежите се са Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Поштовани {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Поштовани {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Избрисан радни простор"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "вас је позвао да се придружите радном простору под називом "
|
||||
@@ -50,6 +62,10 @@ msgstr "вас је позвао да се придружите радном п
|
||||
msgid "Hello"
|
||||
msgstr "Здраво"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Здраво,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Ако ову промену нисте покренули ви, молимо вас да одмах контактирате власника вашег радног простора."
|
||||
@@ -74,6 +90,10 @@ msgstr "Придружите се свом тиму на Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Шифра је освежена"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Потврдите овај домен да бисте дозволили корисницима са <0>@{domain}</0> имејл адресама да се придруже вашем радном простору без потребе за позивницом."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Ресетуј"
|
||||
@@ -82,6 +102,10 @@ msgstr "Ресетуј"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Ресетујте вашу шифру 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Суспендован радни простор "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Хвала вам што сте се регистровали за налог на Twenty! Прије него што почнемо, само требамо да потврдимо да сте то ви. Кликните изнад да потврдите вашу е-адресу."
|
||||
@@ -110,6 +134,11 @@ msgstr "Овај линк је валидан само следећих {duratio
|
||||
msgid "Update your subscription"
|
||||
msgstr "Освежите вашу претплату"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Потврдите домен"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Потврдите е-адресу"
|
||||
@@ -120,4 +149,4 @@ msgstr "Ваш радни простор <0>{workspaceDisplayName}</0> је из
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Bekräfta din e-postadress"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Anslut till Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Skapa en ny arbetsyta"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Anslut till Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Kära {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Kära {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Borttagen arbetsyta"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "har bjudit in dig till ett arbetsutrymme som heter "
|
||||
@@ -50,6 +62,10 @@ msgstr "har bjudit in dig till ett arbetsutrymme som heter "
|
||||
msgid "Hello"
|
||||
msgstr "Hej"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Hej,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Om du inte initierade denna förändring, vänligen kontakta ägaren av ditt arbetsutrymme omedelbart."
|
||||
@@ -74,6 +90,10 @@ msgstr "Gå med i ditt team på Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Lösenordet uppdaterat"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Var vänlig och validera denna domän för att tillåta användare med <0>@{domain}</0> e-postadresser att ansluta till din arbetsyta utan att behöva en inbjudan."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Återställ"
|
||||
@@ -82,6 +102,10 @@ msgstr "Återställ"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Återställ ditt lösenord 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Avstängt arbetsområde "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Tack för att du registrerade ett konto på Twenty! Innan vi börjar behöver vi bara bekräfta att det är du. Klicka ovan för att verifiera din e-postadress."
|
||||
@@ -110,6 +134,11 @@ msgstr "Den här länken är bara giltig under de nästa {duration}. Om länken
|
||||
msgid "Update your subscription"
|
||||
msgstr "Uppdatera din prenumeration"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Validera domän"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Verifiera e-post"
|
||||
@@ -120,4 +149,4 @@ msgstr "Ditt arbetsutrymme <0>{workspaceDisplayName}</0> har raderats eftersom d
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "E-posta adresinizi onaylayın"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Twenty'e bağlan"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Yeni bir çalışma alanı oluştur"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Twenty'e bağlan"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Sevgili {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Sevgili {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Silinen Çalışma Alanı"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "seni "
|
||||
@@ -50,6 +62,10 @@ msgstr "seni "
|
||||
msgid "Hello"
|
||||
msgstr "Merhaba"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Merhaba,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Bu değişikliği başlatmadıysanız, lütfen hemen çalışma alanı sahibinizle iletişime geçin."
|
||||
@@ -74,6 +90,10 @@ msgstr "Takımına Twenty üzerinden katıl"
|
||||
msgid "Password updated"
|
||||
msgstr "Şifre güncellendi"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Bu alan adını doğrulayın, böylece kullanıcılar <0>@{domain}</0> e-posta adresleriyle davet gerektirmeden çalışma alanınıza katılabilir."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Sıfırla"
|
||||
@@ -82,6 +102,10 @@ msgstr "Sıfırla"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Şifreni sıfırla 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Askıya Alınmış Çalışma Alanı "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Twenty hesabı için kayıt olduğunuz için teşekkürler! Başlamadan önce, bu işlemin sizin tarafınızdan yapıldığını doğrulamamız gerekiyor. E-posta adresinizi doğrulamak için yukarıdaki bağlantıya tıklayın."
|
||||
@@ -110,6 +134,11 @@ msgstr "Bu bağlantı sadece {duration} boyunca geçerlidir. Bağlantı çalış
|
||||
msgid "Update your subscription"
|
||||
msgstr "Aboneliğini güncelle"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Alanı doğrula"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "E-postayı Doğrula"
|
||||
@@ -120,4 +149,4 @@ msgstr "<0>{workspaceDisplayName}</0> çalışma alanınız aboneliğinizin bitm
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Підтвердіть свою адресу електронної по
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Підключитися до Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Створіть новий робочий простір"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Підключитися до Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Шановний {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Шановний {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Видалена робоча область"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "запрошує вас приєднатися до робочого простору під назвою "
|
||||
@@ -50,6 +62,10 @@ msgstr "запрошує вас приєднатися до робочого п
|
||||
msgid "Hello"
|
||||
msgstr "Привіт"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Привіт,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Якщо ви не починали цю зміну, будь ласка, негайно зверніться до власника вашого робочого простору."
|
||||
@@ -74,6 +90,10 @@ msgstr "Приєднуйтесь до своєї команди на Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Пароль оновлено"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Будь ласка, перевірте цей домен, щоб дозволити користувачам з електронними адресами <0>@{domain}</0> приєднатися до вашого робочого простору без запрошення."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Скинути"
|
||||
@@ -82,6 +102,10 @@ msgstr "Скинути"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Скинути ваш пароль 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Призупинена робоча область "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Дякуємо за реєстрацію облікового запису на Twenty! Перш ніж розпочати, нам просто потрібно підтвердити, що це ви. Натисніть вище, щоб підтвердити свою адресу електронної пошти."
|
||||
@@ -110,6 +134,11 @@ msgstr "Це посилання дійсне протягом наступних
|
||||
msgid "Update your subscription"
|
||||
msgstr "Оновіть свою підписку"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Перевірити домен"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Підтвердіть Email"
|
||||
@@ -120,4 +149,4 @@ msgstr "Ваш робочий простір <0>{workspaceDisplayName}</0> бу
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "Xác nhận địa chỉ email của bạn"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "Kết nối với Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "Tạo không gian làm việc mới"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "Kết nối với Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "Kính gửi {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "Kính gửi {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "Không gian làm việc đã bị xóa"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "đã mời bạn tham gia một không gian làm việc có tên là "
|
||||
@@ -50,6 +62,10 @@ msgstr "đã mời bạn tham gia một không gian làm việc có tên là "
|
||||
msgid "Hello"
|
||||
msgstr "Xin chào"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "Xin chào,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "Nếu bạn không khởi xướng việc thay đổi này, vui lòng liên hệ ngay với chủ sở hữu của không gian làm việc của bạn."
|
||||
@@ -74,6 +90,10 @@ msgstr "Tham gia vào đội ngũ của bạn trên Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "Mật khẩu đã được cập nhật"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "Vui lòng xác thực tên miền này để cho phép người dùng có địa chỉ email <0>@{domain}</0> tham gia không gian làm việc của bạn mà không cần lời mời."
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "Đặt lại"
|
||||
@@ -82,6 +102,10 @@ msgstr "Đặt lại"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "Đặt lại mật khẩu của bạn 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "Không gian làm việc bị tạm ngưng "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "Cảm ơn bạn đã đăng ký tài khoản trên Twenty! Trước khi chúng ta bắt đầu, chúng ta chỉ cần xác nhận đây có phải là bạn không. Nhấp vào phía trên để xác minh địa chỉ email của bạn."
|
||||
@@ -110,6 +134,11 @@ msgstr "Liên kết này chỉ có hiệu lực trong thời gian {duration} k
|
||||
msgid "Update your subscription"
|
||||
msgstr "Cập nhật gói đăng ký của bạn"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "Xác thực tên miền"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "Xác minh Email"
|
||||
@@ -120,4 +149,4 @@ msgstr "Không gian làm việc của bạn <0>{workspaceDisplayName}</0> đã b
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "确认您的邮箱地址"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "连接 Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "创建新的工作区"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "连接 Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "亲爱的 {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "亲爱的 {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "删除的工作区"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "邀请您加入名为"
|
||||
@@ -50,6 +62,10 @@ msgstr "邀请您加入名为"
|
||||
msgid "Hello"
|
||||
msgstr "您好"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "您好,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "如果您没有发起此更改,请立即联系您的工作区所有者。"
|
||||
@@ -74,6 +90,10 @@ msgstr "加入您的团队,使用 Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "密码已更新"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "请验证此域,以允许使用 <0>@{domain}</0> 邮件地址的用户在不需要邀请的情况下加入您的工作区。"
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "重置"
|
||||
@@ -82,6 +102,10 @@ msgstr "重置"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "重置您的密码 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "暂停的工作空间 "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "感谢您在 Twenty 注册账户!在开始之前,我们只需确认是您本人。请点击上方验证您的邮箱地址。"
|
||||
@@ -110,6 +134,11 @@ msgstr "此链接仅在接下来的 {duration} 内有效。如果链接无效,
|
||||
msgid "Update your subscription"
|
||||
msgstr "更新您的订阅"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "验证域名"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "验证邮箱"
|
||||
@@ -120,4 +149,4 @@ msgstr "您的工作区 <0>{workspaceDisplayName}</0> 已被删除,因为您
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -34,6 +34,10 @@ msgstr "確認您的電子郵件地址"
|
||||
msgid "Connect to Twenty"
|
||||
msgstr "連接到 Twenty"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Create a new workspace"
|
||||
msgstr "創建新的工作區"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
#~ msgid "Dear"
|
||||
#~ msgstr "Dear"
|
||||
@@ -42,6 +46,14 @@ msgstr "連接到 Twenty"
|
||||
msgid "Dear {userName}"
|
||||
msgstr "親愛的 {userName}"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Dear {userName},"
|
||||
msgstr "親愛的 {userName},"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Deleted Workspace"
|
||||
msgstr "已刪除工作區"
|
||||
|
||||
#: src/emails/send-invite-link.email.tsx
|
||||
msgid "has invited you to join a workspace called "
|
||||
msgstr "已邀請您加入名為"
|
||||
@@ -50,6 +62,10 @@ msgstr "已邀請您加入名為"
|
||||
msgid "Hello"
|
||||
msgstr "您好"
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
msgid "Hello,"
|
||||
msgstr "您好,"
|
||||
|
||||
#: src/emails/password-update-notify.email.tsx
|
||||
msgid "If you did not initiate this change, please contact your workspace owner immediately."
|
||||
msgstr "如果您未發起此更改,請立即聯繫您的工作區擁有者。"
|
||||
@@ -74,6 +90,10 @@ msgstr "加入您的團隊,使用 Twenty"
|
||||
msgid "Password updated"
|
||||
msgstr "密碼已更新"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Please validate this domain to allow users with <0>@{domain}</0> email addresses to join your workspace without requiring an invitation."
|
||||
msgstr "請驗證此網域,以允許擁有<0>@{domain}</0>電子郵件地址的使用者在不需要邀請的情況下加入您的工作區。"
|
||||
|
||||
#: src/emails/password-reset-link.email.tsx
|
||||
msgid "Reset"
|
||||
msgstr "重設"
|
||||
@@ -82,6 +102,10 @@ msgstr "重設"
|
||||
msgid "Reset your password 🗝"
|
||||
msgstr "重設您的密碼 🗝"
|
||||
|
||||
#: src/emails/warn-suspended-workspace.email.tsx
|
||||
msgid "Suspended Workspace "
|
||||
msgstr "暫停的工作區 "
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Thanks for registering for an account on Twenty! Before we get started, we just need to confirm that this is you. Click above to verify your email address."
|
||||
msgstr "感謝您在 Twenty 註冊帳戶!在開始之前,我們需要確認是您本人。請點擊上方驗證您的電子郵件地址。"
|
||||
@@ -110,6 +134,11 @@ msgstr "此鏈接僅在接下來的 {duration} 內有效。如果鏈接無效,
|
||||
msgid "Update your subscription"
|
||||
msgstr "更新您的訂閱"
|
||||
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
#: src/emails/validate-approved-access-domain.email.tsx
|
||||
msgid "Validate domain"
|
||||
msgstr "驗證域"
|
||||
|
||||
#: src/emails/send-email-verification-link.email.tsx
|
||||
msgid "Verify Email"
|
||||
msgstr "驗證電子郵件"
|
||||
@@ -120,4 +149,4 @@ msgstr "由於您的訂閱已於 {daysSinceInactive} 天前過期,您的工作
|
||||
|
||||
#: src/emails/clean-suspended-workspace.email.tsx
|
||||
#~ msgid "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
#~ msgstr "Your workspace <0>{workspaceDisplayName}</0> has been deleted as your subscription expired {inactiveDaysBeforeDelete} days ago."
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<html lang="en" translate="no">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "twenty-front",
|
||||
"version": "0.42.14",
|
||||
"version": "0.43.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -24,7 +24,7 @@ const documents = {
|
||||
"\n \n query GetManyDatabaseConnections($input: RemoteServerTypeInput!) {\n findManyRemoteServersByType(input: $input) {\n ...RemoteServerFields\n }\n }\n": types.GetManyDatabaseConnectionsDocument,
|
||||
"\n \n query GetManyRemoteTables($input: FindManyRemoteTablesInput!) {\n findDistantTablesWithStatus(input: $input) {\n ...RemoteTableFields\n }\n }\n": types.GetManyRemoteTablesDocument,
|
||||
"\n \n query GetOneDatabaseConnection($input: RemoteServerIdInput!) {\n findOneRemoteServerById(input: $input) {\n ...RemoteServerFields\n }\n }\n": types.GetOneDatabaseConnectionDocument,
|
||||
"\n mutation CreateOneObjectMetadataItem($input: CreateOneObjectInput!) {\n createOneObject(input: $input) {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n }\n }\n": types.CreateOneObjectMetadataItemDocument,
|
||||
"\n mutation CreateOneObjectMetadataItem($input: CreateOneObjectInput!) {\n createOneObject(input: $input) {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n isSearchable\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n }\n }\n": types.CreateOneObjectMetadataItemDocument,
|
||||
"\n mutation CreateOneFieldMetadataItem($input: CreateOneFieldMetadataInput!) {\n createOneField(input: $input) {\n id\n type\n name\n label\n description\n icon\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n settings\n defaultValue\n options\n }\n }\n": types.CreateOneFieldMetadataItemDocument,
|
||||
"\n mutation CreateOneRelationMetadataItem(\n $input: CreateOneRelationMetadataInput!\n ) {\n createOneRelationMetadata(input: $input) {\n id\n relationType\n fromObjectMetadataId\n toObjectMetadataId\n fromFieldMetadataId\n toFieldMetadataId\n createdAt\n updatedAt\n }\n }\n": types.CreateOneRelationMetadataItemDocument,
|
||||
"\n mutation UpdateOneFieldMetadataItem(\n $idToUpdate: UUID!\n $updatePayload: UpdateFieldInput!\n ) {\n updateOneField(input: { id: $idToUpdate, update: $updatePayload }) {\n id\n type\n name\n label\n description\n icon\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n settings\n isLabelSyncedWithName\n }\n }\n": types.UpdateOneFieldMetadataItemDocument,
|
||||
@@ -32,7 +32,7 @@ const documents = {
|
||||
"\n mutation DeleteOneObjectMetadataItem($idToDelete: UUID!) {\n deleteOneObject(input: { id: $idToDelete }) {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n }\n }\n": types.DeleteOneObjectMetadataItemDocument,
|
||||
"\n mutation DeleteOneFieldMetadataItem($idToDelete: UUID!) {\n deleteOneField(input: { id: $idToDelete }) {\n id\n type\n name\n label\n description\n icon\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n settings\n }\n }\n": types.DeleteOneFieldMetadataItemDocument,
|
||||
"\n mutation DeleteOneRelationMetadataItem($idToDelete: UUID!) {\n deleteOneRelation(input: { id: $idToDelete }) {\n id\n }\n }\n": types.DeleteOneRelationMetadataItemDocument,
|
||||
"\n query ObjectMetadataItems {\n objects(paging: { first: 1000 }) {\n edges {\n node {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isRemote\n isActive\n isSystem\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n shortcut\n isLabelSyncedWithName\n duplicateCriteria\n indexMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n name\n indexWhereClause\n indexType\n isUnique\n indexFieldMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n order\n fieldMetadataId\n }\n }\n }\n }\n }\n }\n fieldsList {\n id\n type\n name\n label\n description\n icon\n isCustom\n isActive\n isSystem\n isNullable\n isUnique\n createdAt\n updatedAt\n defaultValue\n options\n settings\n isLabelSyncedWithName\n relationDefinition {\n relationId\n direction\n sourceObjectMetadata {\n id\n nameSingular\n namePlural\n }\n sourceFieldMetadata {\n id\n name\n }\n targetObjectMetadata {\n id\n nameSingular\n namePlural\n }\n targetFieldMetadata {\n id\n name\n }\n }\n }\n }\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n }\n": types.ObjectMetadataItemsDocument,
|
||||
"\n query ObjectMetadataItems {\n objects(paging: { first: 1000 }) {\n edges {\n node {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isRemote\n isActive\n isSystem\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n shortcut\n isLabelSyncedWithName\n isSearchable\n duplicateCriteria\n indexMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n name\n indexWhereClause\n indexType\n isUnique\n indexFieldMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n order\n fieldMetadataId\n }\n }\n }\n }\n }\n }\n fieldsList {\n id\n type\n name\n label\n description\n icon\n isCustom\n isActive\n isSystem\n isNullable\n isUnique\n createdAt\n updatedAt\n defaultValue\n options\n settings\n isLabelSyncedWithName\n relationDefinition {\n relationId\n direction\n sourceObjectMetadata {\n id\n nameSingular\n namePlural\n }\n sourceFieldMetadata {\n id\n name\n }\n targetObjectMetadata {\n id\n nameSingular\n namePlural\n }\n targetFieldMetadata {\n id\n name\n }\n }\n }\n }\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n }\n": types.ObjectMetadataItemsDocument,
|
||||
"\n fragment ServerlessFunctionFields on ServerlessFunction {\n id\n name\n description\n runtime\n timeoutSeconds\n syncStatus\n latestVersion\n latestVersionInputSchema\n publishedVersions\n createdAt\n updatedAt\n }\n": types.ServerlessFunctionFieldsFragmentDoc,
|
||||
"\n \n mutation CreateOneServerlessFunctionItem(\n $input: CreateServerlessFunctionInput!\n ) {\n createOneServerlessFunction(input: $input) {\n ...ServerlessFunctionFields\n }\n }\n": types.CreateOneServerlessFunctionItemDocument,
|
||||
"\n \n mutation DeleteOneServerlessFunction($input: ServerlessFunctionIdInput!) {\n deleteOneServerlessFunction(input: $input) {\n ...ServerlessFunctionFields\n }\n }\n": types.DeleteOneServerlessFunctionDocument,
|
||||
@@ -106,7 +106,7 @@ export function graphql(source: "\n \n query GetOneDatabaseConnection($input:
|
||||
/**
|
||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
export function graphql(source: "\n mutation CreateOneObjectMetadataItem($input: CreateOneObjectInput!) {\n createOneObject(input: $input) {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n }\n }\n"): (typeof documents)["\n mutation CreateOneObjectMetadataItem($input: CreateOneObjectInput!) {\n createOneObject(input: $input) {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n }\n }\n"];
|
||||
export function graphql(source: "\n mutation CreateOneObjectMetadataItem($input: CreateOneObjectInput!) {\n createOneObject(input: $input) {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n isSearchable\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n }\n }\n"): (typeof documents)["\n mutation CreateOneObjectMetadataItem($input: CreateOneObjectInput!) {\n createOneObject(input: $input) {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n isSearchable\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n }\n }\n"];
|
||||
/**
|
||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
@@ -138,7 +138,7 @@ export function graphql(source: "\n mutation DeleteOneRelationMetadataItem($idT
|
||||
/**
|
||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
export function graphql(source: "\n query ObjectMetadataItems {\n objects(paging: { first: 1000 }) {\n edges {\n node {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isRemote\n isActive\n isSystem\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n shortcut\n isLabelSyncedWithName\n duplicateCriteria\n indexMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n name\n indexWhereClause\n indexType\n isUnique\n indexFieldMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n order\n fieldMetadataId\n }\n }\n }\n }\n }\n }\n fieldsList {\n id\n type\n name\n label\n description\n icon\n isCustom\n isActive\n isSystem\n isNullable\n isUnique\n createdAt\n updatedAt\n defaultValue\n options\n settings\n isLabelSyncedWithName\n relationDefinition {\n relationId\n direction\n sourceObjectMetadata {\n id\n nameSingular\n namePlural\n }\n sourceFieldMetadata {\n id\n name\n }\n targetObjectMetadata {\n id\n nameSingular\n namePlural\n }\n targetFieldMetadata {\n id\n name\n }\n }\n }\n }\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n }\n"): (typeof documents)["\n query ObjectMetadataItems {\n objects(paging: { first: 1000 }) {\n edges {\n node {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isRemote\n isActive\n isSystem\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n shortcut\n isLabelSyncedWithName\n duplicateCriteria\n indexMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n name\n indexWhereClause\n indexType\n isUnique\n indexFieldMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n order\n fieldMetadataId\n }\n }\n }\n }\n }\n }\n fieldsList {\n id\n type\n name\n label\n description\n icon\n isCustom\n isActive\n isSystem\n isNullable\n isUnique\n createdAt\n updatedAt\n defaultValue\n options\n settings\n isLabelSyncedWithName\n relationDefinition {\n relationId\n direction\n sourceObjectMetadata {\n id\n nameSingular\n namePlural\n }\n sourceFieldMetadata {\n id\n name\n }\n targetObjectMetadata {\n id\n nameSingular\n namePlural\n }\n targetFieldMetadata {\n id\n name\n }\n }\n }\n }\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n }\n"];
|
||||
export function graphql(source: "\n query ObjectMetadataItems {\n objects(paging: { first: 1000 }) {\n edges {\n node {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isRemote\n isActive\n isSystem\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n shortcut\n isLabelSyncedWithName\n isSearchable\n duplicateCriteria\n indexMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n name\n indexWhereClause\n indexType\n isUnique\n indexFieldMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n order\n fieldMetadataId\n }\n }\n }\n }\n }\n }\n fieldsList {\n id\n type\n name\n label\n description\n icon\n isCustom\n isActive\n isSystem\n isNullable\n isUnique\n createdAt\n updatedAt\n defaultValue\n options\n settings\n isLabelSyncedWithName\n relationDefinition {\n relationId\n direction\n sourceObjectMetadata {\n id\n nameSingular\n namePlural\n }\n sourceFieldMetadata {\n id\n name\n }\n targetObjectMetadata {\n id\n nameSingular\n namePlural\n }\n targetFieldMetadata {\n id\n name\n }\n }\n }\n }\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n }\n"): (typeof documents)["\n query ObjectMetadataItems {\n objects(paging: { first: 1000 }) {\n edges {\n node {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isRemote\n isActive\n isSystem\n createdAt\n updatedAt\n labelIdentifierFieldMetadataId\n imageIdentifierFieldMetadataId\n shortcut\n isLabelSyncedWithName\n isSearchable\n duplicateCriteria\n indexMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n name\n indexWhereClause\n indexType\n isUnique\n indexFieldMetadatas(paging: { first: 100 }) {\n edges {\n node {\n id\n createdAt\n updatedAt\n order\n fieldMetadataId\n }\n }\n }\n }\n }\n }\n fieldsList {\n id\n type\n name\n label\n description\n icon\n isCustom\n isActive\n isSystem\n isNullable\n isUnique\n createdAt\n updatedAt\n defaultValue\n options\n settings\n isLabelSyncedWithName\n relationDefinition {\n relationId\n direction\n sourceObjectMetadata {\n id\n nameSingular\n namePlural\n }\n sourceFieldMetadata {\n id\n name\n }\n targetObjectMetadata {\n id\n nameSingular\n namePlural\n }\n targetFieldMetadata {\n id\n name\n }\n }\n }\n }\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n }\n"];
|
||||
/**
|
||||
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
||||
*/
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -92,6 +92,14 @@ export type AppTokenEdge = {
|
||||
node: AppToken;
|
||||
};
|
||||
|
||||
export type ApprovedAccessDomain = {
|
||||
__typename?: 'ApprovedAccessDomain';
|
||||
createdAt: Scalars['DateTime'];
|
||||
domain: Scalars['String'];
|
||||
id: Scalars['UUID'];
|
||||
isValidated: Scalars['Boolean'];
|
||||
};
|
||||
|
||||
export type AuthProviders = {
|
||||
__typename?: 'AuthProviders';
|
||||
google: Scalars['Boolean'];
|
||||
@@ -286,6 +294,11 @@ export type ComputeStepOutputSchemaInput = {
|
||||
step: Scalars['JSON'];
|
||||
};
|
||||
|
||||
export type CreateApprovedAccessDomainInput = {
|
||||
domain: Scalars['String'];
|
||||
email: Scalars['String'];
|
||||
};
|
||||
|
||||
export type CreateDraftFromWorkflowVersionInput = {
|
||||
/** Workflow ID */
|
||||
workflowId: Scalars['String'];
|
||||
@@ -357,6 +370,10 @@ export type CustomDomainValidRecords = {
|
||||
records: Array<CustomDomainRecord>;
|
||||
};
|
||||
|
||||
export type DeleteApprovedAccessDomainInput = {
|
||||
id: Scalars['String'];
|
||||
};
|
||||
|
||||
export type DeleteOneFieldInput = {
|
||||
/** The id of the field to delete. */
|
||||
id: Scalars['UUID'];
|
||||
@@ -474,6 +491,7 @@ export enum FeatureFlagKey {
|
||||
IsAdvancedFiltersEnabled = 'IsAdvancedFiltersEnabled',
|
||||
IsAirtableIntegrationEnabled = 'IsAirtableIntegrationEnabled',
|
||||
IsAnalyticsV2Enabled = 'IsAnalyticsV2Enabled',
|
||||
IsApprovedAccessDomainsEnabled = 'IsApprovedAccessDomainsEnabled',
|
||||
IsBillingPlansEnabled = 'IsBillingPlansEnabled',
|
||||
IsCommandMenuV2Enabled = 'IsCommandMenuV2Enabled',
|
||||
IsCopilotEnabled = 'IsCopilotEnabled',
|
||||
@@ -611,6 +629,16 @@ export type GetServerlessFunctionSourceCodeInput = {
|
||||
version?: Scalars['String'];
|
||||
};
|
||||
|
||||
export type GlobalSearchRecord = {
|
||||
__typename?: 'GlobalSearchRecord';
|
||||
imageUrl?: Maybe<Scalars['String']>;
|
||||
label: Scalars['String'];
|
||||
objectSingularName: Scalars['String'];
|
||||
recordId: Scalars['String'];
|
||||
tsRank: Scalars['Float'];
|
||||
tsRankCD: Scalars['Float'];
|
||||
};
|
||||
|
||||
export enum HealthIndicatorId {
|
||||
connectedAccount = 'connectedAccount',
|
||||
database = 'database',
|
||||
@@ -762,6 +790,7 @@ export type Mutation = {
|
||||
checkCustomDomainValidRecords?: Maybe<CustomDomainValidRecords>;
|
||||
checkoutSession: BillingSessionOutput;
|
||||
computeStepOutputSchema: Scalars['JSON'];
|
||||
createApprovedAccessDomain: ApprovedAccessDomain;
|
||||
createDraftFromWorkflowVersion: WorkflowVersion;
|
||||
createOIDCIdentityProvider: SetupSsoOutput;
|
||||
createOneAppToken: AppToken;
|
||||
@@ -771,6 +800,7 @@ export type Mutation = {
|
||||
createSAMLIdentityProvider: SetupSsoOutput;
|
||||
createWorkflowVersionStep: WorkflowAction;
|
||||
deactivateWorkflowVersion: Scalars['Boolean'];
|
||||
deleteApprovedAccessDomain: Scalars['Boolean'];
|
||||
deleteCurrentWorkspace: Workspace;
|
||||
deleteOneField: Field;
|
||||
deleteOneObject: Object;
|
||||
@@ -815,6 +845,7 @@ export type Mutation = {
|
||||
uploadProfilePicture: Scalars['String'];
|
||||
uploadWorkspaceLogo: Scalars['String'];
|
||||
userLookupAdminPanel: UserLookup;
|
||||
validateApprovedAccessDomain: ApprovedAccessDomain;
|
||||
};
|
||||
|
||||
|
||||
@@ -848,6 +879,11 @@ export type MutationComputeStepOutputSchemaArgs = {
|
||||
};
|
||||
|
||||
|
||||
export type MutationCreateApprovedAccessDomainArgs = {
|
||||
input: CreateApprovedAccessDomainInput;
|
||||
};
|
||||
|
||||
|
||||
export type MutationCreateDraftFromWorkflowVersionArgs = {
|
||||
input: CreateDraftFromWorkflowVersionInput;
|
||||
};
|
||||
@@ -883,6 +919,11 @@ export type MutationDeactivateWorkflowVersionArgs = {
|
||||
};
|
||||
|
||||
|
||||
export type MutationDeleteApprovedAccessDomainArgs = {
|
||||
input: DeleteApprovedAccessDomainInput;
|
||||
};
|
||||
|
||||
|
||||
export type MutationDeleteOneFieldArgs = {
|
||||
input: DeleteOneFieldInput;
|
||||
};
|
||||
@@ -1054,7 +1095,7 @@ export type MutationUpdateWorkspaceFeatureFlagArgs = {
|
||||
|
||||
|
||||
export type MutationUpdateWorkspaceMemberRoleArgs = {
|
||||
roleId?: InputMaybe<Scalars['String']>;
|
||||
roleId: Scalars['String'];
|
||||
workspaceMemberId: Scalars['String'];
|
||||
};
|
||||
|
||||
@@ -1085,6 +1126,11 @@ export type MutationUserLookupAdminPanelArgs = {
|
||||
userIdentifier: Scalars['String'];
|
||||
};
|
||||
|
||||
|
||||
export type MutationValidateApprovedAccessDomainArgs = {
|
||||
input: ValidateApprovedAccessDomainInput;
|
||||
};
|
||||
|
||||
export type Object = {
|
||||
__typename?: 'Object';
|
||||
createdAt: Scalars['DateTime'];
|
||||
@@ -1101,6 +1147,7 @@ export type Object = {
|
||||
isCustom: Scalars['Boolean'];
|
||||
isLabelSyncedWithName: Scalars['Boolean'];
|
||||
isRemote: Scalars['Boolean'];
|
||||
isSearchable: Scalars['Boolean'];
|
||||
isSystem: Scalars['Boolean'];
|
||||
labelIdentifierFieldMetadataId?: Maybe<Scalars['String']>;
|
||||
labelPlural: Scalars['String'];
|
||||
@@ -1153,6 +1200,7 @@ export type ObjectFilter = {
|
||||
isActive?: InputMaybe<BooleanFieldComparison>;
|
||||
isCustom?: InputMaybe<BooleanFieldComparison>;
|
||||
isRemote?: InputMaybe<BooleanFieldComparison>;
|
||||
isSearchable?: InputMaybe<BooleanFieldComparison>;
|
||||
isSystem?: InputMaybe<BooleanFieldComparison>;
|
||||
or?: InputMaybe<Array<ObjectFilter>>;
|
||||
};
|
||||
@@ -1250,6 +1298,7 @@ export type Query = {
|
||||
findOneServerlessFunction: ServerlessFunction;
|
||||
findWorkspaceFromInviteHash: Workspace;
|
||||
findWorkspaceInvitations: Array<WorkspaceInvitation>;
|
||||
getApprovedAccessDomains: Array<ApprovedAccessDomain>;
|
||||
getAvailablePackages: Scalars['JSON'];
|
||||
getEnvironmentVariablesGrouped: EnvironmentVariablesOutput;
|
||||
getIndicatorHealthStatus: AdminPanelHealthServiceData;
|
||||
@@ -1264,6 +1313,7 @@ export type Query = {
|
||||
getTimelineCalendarEventsFromPersonId: TimelineCalendarEventsWithTotal;
|
||||
getTimelineThreadsFromCompanyId: TimelineThreadsWithTotal;
|
||||
getTimelineThreadsFromPersonId: TimelineThreadsWithTotal;
|
||||
globalSearch: Array<GlobalSearchRecord>;
|
||||
index: Index;
|
||||
indexMetadatas: IndexConnection;
|
||||
object: Object;
|
||||
@@ -1352,6 +1402,13 @@ export type QueryGetTimelineThreadsFromPersonIdArgs = {
|
||||
};
|
||||
|
||||
|
||||
export type QueryGlobalSearchArgs = {
|
||||
excludedObjectNameSingulars?: InputMaybe<Array<Scalars['String']>>;
|
||||
limit: Scalars['Int'];
|
||||
searchInput: Scalars['String'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryValidatePasswordResetTokenArgs = {
|
||||
passwordResetToken: Scalars['String'];
|
||||
};
|
||||
@@ -1567,14 +1624,14 @@ export enum ServerlessFunctionSyncStatus {
|
||||
READY = 'READY'
|
||||
}
|
||||
|
||||
export enum SettingsFeatures {
|
||||
export enum SettingsPermissions {
|
||||
ADMIN_PANEL = 'ADMIN_PANEL',
|
||||
API_KEYS_AND_WEBHOOKS = 'API_KEYS_AND_WEBHOOKS',
|
||||
DATA_MODEL = 'DATA_MODEL',
|
||||
ROLES = 'ROLES',
|
||||
SECURITY = 'SECURITY',
|
||||
WORKSPACE = 'WORKSPACE',
|
||||
WORKSPACE_USERS = 'WORKSPACE_USERS'
|
||||
WORKSPACE_MEMBERS = 'WORKSPACE_MEMBERS'
|
||||
}
|
||||
|
||||
export type SetupOidcSsoInput = {
|
||||
@@ -1796,6 +1853,7 @@ export type UpdateWorkflowVersionStepInput = {
|
||||
export type UpdateWorkspaceInput = {
|
||||
allowImpersonation?: InputMaybe<Scalars['Boolean']>;
|
||||
customDomain?: InputMaybe<Scalars['String']>;
|
||||
defaultRoleId?: InputMaybe<Scalars['String']>;
|
||||
displayName?: InputMaybe<Scalars['String']>;
|
||||
inviteHash?: InputMaybe<Scalars['String']>;
|
||||
isGoogleAuthEnabled?: InputMaybe<Scalars['Boolean']>;
|
||||
@@ -1809,6 +1867,7 @@ export type UpdateWorkspaceInput = {
|
||||
export type User = {
|
||||
__typename?: 'User';
|
||||
analyticsTinybirdJwts?: Maybe<AnalyticsTinybirdJwtMap>;
|
||||
canAccessFullAdminPanel: Scalars['Boolean'];
|
||||
canImpersonate: Scalars['Boolean'];
|
||||
createdAt: Scalars['DateTime'];
|
||||
currentUserWorkspace?: Maybe<UserWorkspace>;
|
||||
@@ -1879,7 +1938,7 @@ export type UserWorkspace = {
|
||||
deletedAt?: Maybe<Scalars['DateTime']>;
|
||||
id: Scalars['UUID'];
|
||||
objectRecordsPermissions?: Maybe<Array<PermissionsOnAllObjectRecords>>;
|
||||
settingsPermissions?: Maybe<Array<SettingsFeatures>>;
|
||||
settingsPermissions?: Maybe<Array<SettingsPermissions>>;
|
||||
updatedAt: Scalars['DateTime'];
|
||||
user: User;
|
||||
userId: Scalars['String'];
|
||||
@@ -1887,6 +1946,11 @@ export type UserWorkspace = {
|
||||
workspaceId: Scalars['String'];
|
||||
};
|
||||
|
||||
export type ValidateApprovedAccessDomainInput = {
|
||||
approvedAccessDomainId: Scalars['String'];
|
||||
validationToken: Scalars['String'];
|
||||
};
|
||||
|
||||
export type ValidatePasswordResetToken = {
|
||||
__typename?: 'ValidatePasswordResetToken';
|
||||
email: Scalars['String'];
|
||||
@@ -1932,6 +1996,7 @@ export type Workspace = {
|
||||
customDomain?: Maybe<Scalars['String']>;
|
||||
databaseSchema: Scalars['String'];
|
||||
databaseUrl: Scalars['String'];
|
||||
defaultRole?: Maybe<Role>;
|
||||
deletedAt?: Maybe<Scalars['DateTime']>;
|
||||
displayName?: Maybe<Scalars['String']>;
|
||||
featureFlags?: Maybe<Array<FeatureFlag>>;
|
||||
@@ -1947,6 +2012,7 @@ export type Workspace = {
|
||||
metadataVersion: Scalars['Float'];
|
||||
subdomain: Scalars['String'];
|
||||
updatedAt: Scalars['DateTime'];
|
||||
version?: Maybe<Scalars['String']>;
|
||||
workspaceMembersCount?: Maybe<Scalars['Float']>;
|
||||
workspaceUrls: WorkspaceUrls;
|
||||
};
|
||||
@@ -2273,6 +2339,15 @@ export type GetClientConfigQueryVariables = Exact<{ [key: string]: never; }>;
|
||||
|
||||
export type GetClientConfigQuery = { __typename?: 'Query', clientConfig: { __typename?: 'ClientConfig', signInPrefilled: boolean, isMultiWorkspaceEnabled: boolean, isEmailVerificationRequired: boolean, defaultSubdomain?: string | null, frontDomain: string, debugMode: boolean, analyticsEnabled: boolean, isAttachmentPreviewEnabled: boolean, chromeExtensionId?: string | null, canManageFeatureFlags: boolean, isMicrosoftMessagingEnabled: boolean, isMicrosoftCalendarEnabled: boolean, isGoogleMessagingEnabled: boolean, isGoogleCalendarEnabled: boolean, billing: { __typename?: 'Billing', isBillingEnabled: boolean, billingUrl?: string | null, trialPeriods: Array<{ __typename?: 'BillingTrialPeriodDTO', duration: number, isCreditCardRequired: boolean }> }, authProviders: { __typename?: 'AuthProviders', google: boolean, password: boolean, microsoft: boolean, sso: Array<{ __typename?: 'SSOIdentityProvider', id: string, name: string, type: IdentityProviderType, status: SsoIdentityProviderStatus, issuer: string }> }, support: { __typename?: 'Support', supportDriver: string, supportFrontChatId?: string | null }, sentry: { __typename?: 'Sentry', dsn?: string | null, environment?: string | null, release?: string | null }, captcha: { __typename?: 'Captcha', provider?: CaptchaDriverType | null, siteKey?: string | null }, api: { __typename?: 'ApiConfig', mutationMaximumAffectedRecords: number }, publicFeatureFlags: Array<{ __typename?: 'PublicFeatureFlag', key: FeatureFlagKey, metadata: { __typename?: 'PublicFeatureFlagMetadata', label: string, description: string, imagePath: string } }> } };
|
||||
|
||||
export type GlobalSearchQueryVariables = Exact<{
|
||||
searchInput: Scalars['String'];
|
||||
limit: Scalars['Int'];
|
||||
excludedObjectNameSingulars: Array<Scalars['String']> | Scalars['String'];
|
||||
}>;
|
||||
|
||||
|
||||
export type GlobalSearchQuery = { __typename?: 'Query', globalSearch: Array<{ __typename?: 'GlobalSearchRecord', recordId: string, objectSingularName: string, label: string, imageUrl?: string | null, tsRankCD: number, tsRank: number }> };
|
||||
|
||||
export type SkipSyncEmailOnboardingStepMutationVariables = Exact<{ [key: string]: never; }>;
|
||||
|
||||
|
||||
@@ -2322,7 +2397,7 @@ export type RoleFragmentFragment = { __typename?: 'Role', id: string, label: str
|
||||
|
||||
export type UpdateWorkspaceMemberRoleMutationVariables = Exact<{
|
||||
workspaceMemberId: Scalars['String'];
|
||||
roleId?: InputMaybe<Scalars['String']>;
|
||||
roleId: Scalars['String'];
|
||||
}>;
|
||||
|
||||
|
||||
@@ -2333,6 +2408,13 @@ export type GetRolesQueryVariables = Exact<{ [key: string]: never; }>;
|
||||
|
||||
export type GetRolesQuery = { __typename?: 'Query', getRoles: Array<{ __typename?: 'Role', id: string, label: string, description?: string | null, canUpdateAllSettings: boolean, isEditable: boolean, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean, workspaceMembers: Array<{ __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } }> }> };
|
||||
|
||||
export type CreateApprovedAccessDomainMutationVariables = Exact<{
|
||||
input: CreateApprovedAccessDomainInput;
|
||||
}>;
|
||||
|
||||
|
||||
export type CreateApprovedAccessDomainMutation = { __typename?: 'Mutation', createApprovedAccessDomain: { __typename?: 'ApprovedAccessDomain', id: any, domain: string, isValidated: boolean, createdAt: string } };
|
||||
|
||||
export type CreateOidcIdentityProviderMutationVariables = Exact<{
|
||||
input: SetupOidcSsoInput;
|
||||
}>;
|
||||
@@ -2347,6 +2429,13 @@ export type CreateSamlIdentityProviderMutationVariables = Exact<{
|
||||
|
||||
export type CreateSamlIdentityProviderMutation = { __typename?: 'Mutation', createSAMLIdentityProvider: { __typename?: 'SetupSsoOutput', id: string, type: IdentityProviderType, issuer: string, name: string, status: SsoIdentityProviderStatus } };
|
||||
|
||||
export type DeleteApprovedAccessDomainMutationVariables = Exact<{
|
||||
input: DeleteApprovedAccessDomainInput;
|
||||
}>;
|
||||
|
||||
|
||||
export type DeleteApprovedAccessDomainMutation = { __typename?: 'Mutation', deleteApprovedAccessDomain: boolean };
|
||||
|
||||
export type DeleteSsoIdentityProviderMutationVariables = Exact<{
|
||||
input: DeleteSsoInput;
|
||||
}>;
|
||||
@@ -2361,12 +2450,24 @@ export type EditSsoIdentityProviderMutationVariables = Exact<{
|
||||
|
||||
export type EditSsoIdentityProviderMutation = { __typename?: 'Mutation', editSSOIdentityProvider: { __typename?: 'EditSsoOutput', id: string, type: IdentityProviderType, issuer: string, name: string, status: SsoIdentityProviderStatus } };
|
||||
|
||||
export type ValidateApprovedAccessDomainMutationVariables = Exact<{
|
||||
input: ValidateApprovedAccessDomainInput;
|
||||
}>;
|
||||
|
||||
|
||||
export type ValidateApprovedAccessDomainMutation = { __typename?: 'Mutation', validateApprovedAccessDomain: { __typename?: 'ApprovedAccessDomain', id: any, isValidated: boolean, domain: string, createdAt: string } };
|
||||
|
||||
export type GetApprovedAccessDomainsQueryVariables = Exact<{ [key: string]: never; }>;
|
||||
|
||||
|
||||
export type GetApprovedAccessDomainsQuery = { __typename?: 'Query', getApprovedAccessDomains: Array<{ __typename?: 'ApprovedAccessDomain', id: any, createdAt: string, domain: string, isValidated: boolean }> };
|
||||
|
||||
export type GetSsoIdentityProvidersQueryVariables = Exact<{ [key: string]: never; }>;
|
||||
|
||||
|
||||
export type GetSsoIdentityProvidersQuery = { __typename?: 'Query', getSSOIdentityProviders: Array<{ __typename?: 'FindAvailableSSOIDPOutput', type: IdentityProviderType, id: string, name: string, issuer: string, status: SsoIdentityProviderStatus }> };
|
||||
|
||||
export type UserQueryFragmentFragment = { __typename?: 'User', id: any, firstName: string, lastName: string, email: string, canImpersonate: boolean, supportUserHash?: string | null, onboardingStatus?: OnboardingStatus | null, userVars: any, analyticsTinybirdJwts?: { __typename?: 'AnalyticsTinybirdJwtMap', getWebhookAnalytics: string, getPageviewsAnalytics: string, getUsersAnalytics: string, getServerlessFunctionDuration: string, getServerlessFunctionSuccessRate: string, getServerlessFunctionErrorCount: string } | null, workspaceMember?: { __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } } | null, workspaceMembers?: Array<{ __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } }> | null, currentUserWorkspace?: { __typename?: 'UserWorkspace', settingsPermissions?: Array<SettingsFeatures> | null, objectRecordsPermissions?: Array<PermissionsOnAllObjectRecords> | null } | null, currentWorkspace?: { __typename?: 'Workspace', id: any, displayName?: string | null, logo?: string | null, inviteHash?: string | null, allowImpersonation: boolean, activationStatus: WorkspaceActivationStatus, isPublicInviteLinkEnabled: boolean, isGoogleAuthEnabled: boolean, isMicrosoftAuthEnabled: boolean, isPasswordAuthEnabled: boolean, subdomain: string, hasValidEnterpriseKey: boolean, customDomain?: string | null, metadataVersion: number, workspaceMembersCount?: number | null, workspaceUrls: { __typename?: 'workspaceUrls', subdomainUrl: string, customUrl?: string | null }, featureFlags?: Array<{ __typename?: 'FeatureFlag', id: any, key: FeatureFlagKey, value: boolean, workspaceId: string }> | null, currentBillingSubscription?: { __typename?: 'BillingSubscription', id: any, status: SubscriptionStatus, interval?: SubscriptionInterval | null } | null, billingSubscriptions: Array<{ __typename?: 'BillingSubscription', id: any, status: SubscriptionStatus }> } | null, workspaces: Array<{ __typename?: 'UserWorkspace', workspace?: { __typename?: 'Workspace', id: any, logo?: string | null, displayName?: string | null, subdomain: string, customDomain?: string | null, workspaceUrls: { __typename?: 'workspaceUrls', subdomainUrl: string, customUrl?: string | null } } | null }> };
|
||||
export type UserQueryFragmentFragment = { __typename?: 'User', id: any, firstName: string, lastName: string, email: string, canAccessFullAdminPanel: boolean, canImpersonate: boolean, supportUserHash?: string | null, onboardingStatus?: OnboardingStatus | null, userVars: any, analyticsTinybirdJwts?: { __typename?: 'AnalyticsTinybirdJwtMap', getWebhookAnalytics: string, getPageviewsAnalytics: string, getUsersAnalytics: string, getServerlessFunctionDuration: string, getServerlessFunctionSuccessRate: string, getServerlessFunctionErrorCount: string } | null, workspaceMember?: { __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } } | null, workspaceMembers?: Array<{ __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } }> | null, currentUserWorkspace?: { __typename?: 'UserWorkspace', settingsPermissions?: Array<SettingsPermissions> | null, objectRecordsPermissions?: Array<PermissionsOnAllObjectRecords> | null } | null, currentWorkspace?: { __typename?: 'Workspace', id: any, displayName?: string | null, logo?: string | null, inviteHash?: string | null, allowImpersonation: boolean, activationStatus: WorkspaceActivationStatus, isPublicInviteLinkEnabled: boolean, isGoogleAuthEnabled: boolean, isMicrosoftAuthEnabled: boolean, isPasswordAuthEnabled: boolean, subdomain: string, hasValidEnterpriseKey: boolean, customDomain?: string | null, metadataVersion: number, workspaceMembersCount?: number | null, workspaceUrls: { __typename?: 'workspaceUrls', subdomainUrl: string, customUrl?: string | null }, featureFlags?: Array<{ __typename?: 'FeatureFlag', id: any, key: FeatureFlagKey, value: boolean, workspaceId: string }> | null, currentBillingSubscription?: { __typename?: 'BillingSubscription', id: any, status: SubscriptionStatus, interval?: SubscriptionInterval | null } | null, billingSubscriptions: Array<{ __typename?: 'BillingSubscription', id: any, status: SubscriptionStatus }>, defaultRole?: { __typename?: 'Role', id: string, label: string, description?: string | null, canUpdateAllSettings: boolean, isEditable: boolean, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean } | null } | null, workspaces: Array<{ __typename?: 'UserWorkspace', workspace?: { __typename?: 'Workspace', id: any, logo?: string | null, displayName?: string | null, subdomain: string, customDomain?: string | null, workspaceUrls: { __typename?: 'workspaceUrls', subdomainUrl: string, customUrl?: string | null } } | null }> };
|
||||
|
||||
export type DeleteUserAccountMutationVariables = Exact<{ [key: string]: never; }>;
|
||||
|
||||
@@ -2383,7 +2484,7 @@ export type UploadProfilePictureMutation = { __typename?: 'Mutation', uploadProf
|
||||
export type GetCurrentUserQueryVariables = Exact<{ [key: string]: never; }>;
|
||||
|
||||
|
||||
export type GetCurrentUserQuery = { __typename?: 'Query', currentUser: { __typename?: 'User', id: any, firstName: string, lastName: string, email: string, canImpersonate: boolean, supportUserHash?: string | null, onboardingStatus?: OnboardingStatus | null, userVars: any, analyticsTinybirdJwts?: { __typename?: 'AnalyticsTinybirdJwtMap', getWebhookAnalytics: string, getPageviewsAnalytics: string, getUsersAnalytics: string, getServerlessFunctionDuration: string, getServerlessFunctionSuccessRate: string, getServerlessFunctionErrorCount: string } | null, workspaceMember?: { __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } } | null, workspaceMembers?: Array<{ __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } }> | null, currentUserWorkspace?: { __typename?: 'UserWorkspace', settingsPermissions?: Array<SettingsFeatures> | null, objectRecordsPermissions?: Array<PermissionsOnAllObjectRecords> | null } | null, currentWorkspace?: { __typename?: 'Workspace', id: any, displayName?: string | null, logo?: string | null, inviteHash?: string | null, allowImpersonation: boolean, activationStatus: WorkspaceActivationStatus, isPublicInviteLinkEnabled: boolean, isGoogleAuthEnabled: boolean, isMicrosoftAuthEnabled: boolean, isPasswordAuthEnabled: boolean, subdomain: string, hasValidEnterpriseKey: boolean, customDomain?: string | null, metadataVersion: number, workspaceMembersCount?: number | null, workspaceUrls: { __typename?: 'workspaceUrls', subdomainUrl: string, customUrl?: string | null }, featureFlags?: Array<{ __typename?: 'FeatureFlag', id: any, key: FeatureFlagKey, value: boolean, workspaceId: string }> | null, currentBillingSubscription?: { __typename?: 'BillingSubscription', id: any, status: SubscriptionStatus, interval?: SubscriptionInterval | null } | null, billingSubscriptions: Array<{ __typename?: 'BillingSubscription', id: any, status: SubscriptionStatus }> } | null, workspaces: Array<{ __typename?: 'UserWorkspace', workspace?: { __typename?: 'Workspace', id: any, logo?: string | null, displayName?: string | null, subdomain: string, customDomain?: string | null, workspaceUrls: { __typename?: 'workspaceUrls', subdomainUrl: string, customUrl?: string | null } } | null }> } };
|
||||
export type GetCurrentUserQuery = { __typename?: 'Query', currentUser: { __typename?: 'User', id: any, firstName: string, lastName: string, email: string, canAccessFullAdminPanel: boolean, canImpersonate: boolean, supportUserHash?: string | null, onboardingStatus?: OnboardingStatus | null, userVars: any, analyticsTinybirdJwts?: { __typename?: 'AnalyticsTinybirdJwtMap', getWebhookAnalytics: string, getPageviewsAnalytics: string, getUsersAnalytics: string, getServerlessFunctionDuration: string, getServerlessFunctionSuccessRate: string, getServerlessFunctionErrorCount: string } | null, workspaceMember?: { __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } } | null, workspaceMembers?: Array<{ __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } }> | null, currentUserWorkspace?: { __typename?: 'UserWorkspace', settingsPermissions?: Array<SettingsPermissions> | null, objectRecordsPermissions?: Array<PermissionsOnAllObjectRecords> | null } | null, currentWorkspace?: { __typename?: 'Workspace', id: any, displayName?: string | null, logo?: string | null, inviteHash?: string | null, allowImpersonation: boolean, activationStatus: WorkspaceActivationStatus, isPublicInviteLinkEnabled: boolean, isGoogleAuthEnabled: boolean, isMicrosoftAuthEnabled: boolean, isPasswordAuthEnabled: boolean, subdomain: string, hasValidEnterpriseKey: boolean, customDomain?: string | null, metadataVersion: number, workspaceMembersCount?: number | null, workspaceUrls: { __typename?: 'workspaceUrls', subdomainUrl: string, customUrl?: string | null }, featureFlags?: Array<{ __typename?: 'FeatureFlag', id: any, key: FeatureFlagKey, value: boolean, workspaceId: string }> | null, currentBillingSubscription?: { __typename?: 'BillingSubscription', id: any, status: SubscriptionStatus, interval?: SubscriptionInterval | null } | null, billingSubscriptions: Array<{ __typename?: 'BillingSubscription', id: any, status: SubscriptionStatus }>, defaultRole?: { __typename?: 'Role', id: string, label: string, description?: string | null, canUpdateAllSettings: boolean, isEditable: boolean, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean } | null } | null, workspaces: Array<{ __typename?: 'UserWorkspace', workspace?: { __typename?: 'Workspace', id: any, logo?: string | null, displayName?: string | null, subdomain: string, customDomain?: string | null, workspaceUrls: { __typename?: 'workspaceUrls', subdomainUrl: string, customUrl?: string | null } } | null }> } };
|
||||
|
||||
export type ActivateWorkflowVersionMutationVariables = Exact<{
|
||||
workflowVersionId: Scalars['String'];
|
||||
@@ -2486,7 +2587,7 @@ export type UpdateWorkspaceMutationVariables = Exact<{
|
||||
}>;
|
||||
|
||||
|
||||
export type UpdateWorkspaceMutation = { __typename?: 'Mutation', updateWorkspace: { __typename?: 'Workspace', id: any, customDomain?: string | null, subdomain: string, displayName?: string | null, logo?: string | null, allowImpersonation: boolean, isPublicInviteLinkEnabled: boolean, isGoogleAuthEnabled: boolean, isMicrosoftAuthEnabled: boolean, isPasswordAuthEnabled: boolean } };
|
||||
export type UpdateWorkspaceMutation = { __typename?: 'Mutation', updateWorkspace: { __typename?: 'Workspace', id: any, customDomain?: string | null, subdomain: string, displayName?: string | null, logo?: string | null, allowImpersonation: boolean, isPublicInviteLinkEnabled: boolean, isGoogleAuthEnabled: boolean, isMicrosoftAuthEnabled: boolean, isPasswordAuthEnabled: boolean, defaultRole?: { __typename?: 'Role', id: string, label: string, description?: string | null, canUpdateAllSettings: boolean, isEditable: boolean, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean } | null } };
|
||||
|
||||
export type UploadWorkspaceLogoMutationVariables = Exact<{
|
||||
file: Scalars['Upload'];
|
||||
@@ -2606,19 +2707,6 @@ export const AvailableSsoIdentityProvidersFragmentFragmentDoc = gql`
|
||||
}
|
||||
}
|
||||
`;
|
||||
export const RoleFragmentFragmentDoc = gql`
|
||||
fragment RoleFragment on Role {
|
||||
id
|
||||
label
|
||||
description
|
||||
canUpdateAllSettings
|
||||
isEditable
|
||||
canReadAllObjectRecords
|
||||
canUpdateAllObjectRecords
|
||||
canSoftDeleteAllObjectRecords
|
||||
canDestroyAllObjectRecords
|
||||
}
|
||||
`;
|
||||
export const WorkspaceMemberQueryFragmentFragmentDoc = gql`
|
||||
fragment WorkspaceMemberQueryFragment on WorkspaceMember {
|
||||
id
|
||||
@@ -2635,12 +2723,26 @@ export const WorkspaceMemberQueryFragmentFragmentDoc = gql`
|
||||
timeFormat
|
||||
}
|
||||
`;
|
||||
export const RoleFragmentFragmentDoc = gql`
|
||||
fragment RoleFragment on Role {
|
||||
id
|
||||
label
|
||||
description
|
||||
canUpdateAllSettings
|
||||
isEditable
|
||||
canReadAllObjectRecords
|
||||
canUpdateAllObjectRecords
|
||||
canSoftDeleteAllObjectRecords
|
||||
canDestroyAllObjectRecords
|
||||
}
|
||||
`;
|
||||
export const UserQueryFragmentFragmentDoc = gql`
|
||||
fragment UserQueryFragment on User {
|
||||
id
|
||||
firstName
|
||||
lastName
|
||||
email
|
||||
canAccessFullAdminPanel
|
||||
canImpersonate
|
||||
supportUserHash
|
||||
analyticsTinybirdJwts {
|
||||
@@ -2697,6 +2799,9 @@ export const UserQueryFragmentFragmentDoc = gql`
|
||||
status
|
||||
}
|
||||
workspaceMembersCount
|
||||
defaultRole {
|
||||
...RoleFragment
|
||||
}
|
||||
}
|
||||
workspaces {
|
||||
workspace {
|
||||
@@ -2713,7 +2818,8 @@ export const UserQueryFragmentFragmentDoc = gql`
|
||||
}
|
||||
userVars
|
||||
}
|
||||
${WorkspaceMemberQueryFragmentFragmentDoc}`;
|
||||
${WorkspaceMemberQueryFragmentFragmentDoc}
|
||||
${RoleFragmentFragmentDoc}`;
|
||||
export const GetTimelineCalendarEventsFromCompanyIdDocument = gql`
|
||||
query GetTimelineCalendarEventsFromCompanyId($companyId: UUID!, $page: Int!, $pageSize: Int!) {
|
||||
getTimelineCalendarEventsFromCompanyId(
|
||||
@@ -3857,6 +3963,52 @@ export function useGetClientConfigLazyQuery(baseOptions?: Apollo.LazyQueryHookOp
|
||||
export type GetClientConfigQueryHookResult = ReturnType<typeof useGetClientConfigQuery>;
|
||||
export type GetClientConfigLazyQueryHookResult = ReturnType<typeof useGetClientConfigLazyQuery>;
|
||||
export type GetClientConfigQueryResult = Apollo.QueryResult<GetClientConfigQuery, GetClientConfigQueryVariables>;
|
||||
export const GlobalSearchDocument = gql`
|
||||
query GlobalSearch($searchInput: String!, $limit: Int!, $excludedObjectNameSingulars: [String!]!) {
|
||||
globalSearch(
|
||||
searchInput: $searchInput
|
||||
limit: $limit
|
||||
excludedObjectNameSingulars: $excludedObjectNameSingulars
|
||||
) {
|
||||
recordId
|
||||
objectSingularName
|
||||
label
|
||||
imageUrl
|
||||
tsRankCD
|
||||
tsRank
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
/**
|
||||
* __useGlobalSearchQuery__
|
||||
*
|
||||
* To run a query within a React component, call `useGlobalSearchQuery` and pass it any options that fit your needs.
|
||||
* When your component renders, `useGlobalSearchQuery` returns an object from Apollo Client that contains loading, error, and data properties
|
||||
* you can use to render your UI.
|
||||
*
|
||||
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
|
||||
*
|
||||
* @example
|
||||
* const { data, loading, error } = useGlobalSearchQuery({
|
||||
* variables: {
|
||||
* searchInput: // value for 'searchInput'
|
||||
* limit: // value for 'limit'
|
||||
* excludedObjectNameSingulars: // value for 'excludedObjectNameSingulars'
|
||||
* },
|
||||
* });
|
||||
*/
|
||||
export function useGlobalSearchQuery(baseOptions: Apollo.QueryHookOptions<GlobalSearchQuery, GlobalSearchQueryVariables>) {
|
||||
const options = {...defaultOptions, ...baseOptions}
|
||||
return Apollo.useQuery<GlobalSearchQuery, GlobalSearchQueryVariables>(GlobalSearchDocument, options);
|
||||
}
|
||||
export function useGlobalSearchLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GlobalSearchQuery, GlobalSearchQueryVariables>) {
|
||||
const options = {...defaultOptions, ...baseOptions}
|
||||
return Apollo.useLazyQuery<GlobalSearchQuery, GlobalSearchQueryVariables>(GlobalSearchDocument, options);
|
||||
}
|
||||
export type GlobalSearchQueryHookResult = ReturnType<typeof useGlobalSearchQuery>;
|
||||
export type GlobalSearchLazyQueryHookResult = ReturnType<typeof useGlobalSearchLazyQuery>;
|
||||
export type GlobalSearchQueryResult = Apollo.QueryResult<GlobalSearchQuery, GlobalSearchQueryVariables>;
|
||||
export const SkipSyncEmailOnboardingStepDocument = gql`
|
||||
mutation SkipSyncEmailOnboardingStep {
|
||||
skipSyncEmailOnboardingStep {
|
||||
@@ -4152,7 +4304,7 @@ export type UpdateLabPublicFeatureFlagMutationHookResult = ReturnType<typeof use
|
||||
export type UpdateLabPublicFeatureFlagMutationResult = Apollo.MutationResult<UpdateLabPublicFeatureFlagMutation>;
|
||||
export type UpdateLabPublicFeatureFlagMutationOptions = Apollo.BaseMutationOptions<UpdateLabPublicFeatureFlagMutation, UpdateLabPublicFeatureFlagMutationVariables>;
|
||||
export const UpdateWorkspaceMemberRoleDocument = gql`
|
||||
mutation UpdateWorkspaceMemberRole($workspaceMemberId: String!, $roleId: String) {
|
||||
mutation UpdateWorkspaceMemberRole($workspaceMemberId: String!, $roleId: String!) {
|
||||
updateWorkspaceMemberRole(
|
||||
workspaceMemberId: $workspaceMemberId
|
||||
roleId: $roleId
|
||||
@@ -4230,6 +4382,42 @@ export function useGetRolesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<G
|
||||
export type GetRolesQueryHookResult = ReturnType<typeof useGetRolesQuery>;
|
||||
export type GetRolesLazyQueryHookResult = ReturnType<typeof useGetRolesLazyQuery>;
|
||||
export type GetRolesQueryResult = Apollo.QueryResult<GetRolesQuery, GetRolesQueryVariables>;
|
||||
export const CreateApprovedAccessDomainDocument = gql`
|
||||
mutation CreateApprovedAccessDomain($input: CreateApprovedAccessDomainInput!) {
|
||||
createApprovedAccessDomain(input: $input) {
|
||||
id
|
||||
domain
|
||||
isValidated
|
||||
createdAt
|
||||
}
|
||||
}
|
||||
`;
|
||||
export type CreateApprovedAccessDomainMutationFn = Apollo.MutationFunction<CreateApprovedAccessDomainMutation, CreateApprovedAccessDomainMutationVariables>;
|
||||
|
||||
/**
|
||||
* __useCreateApprovedAccessDomainMutation__
|
||||
*
|
||||
* To run a mutation, you first call `useCreateApprovedAccessDomainMutation` within a React component and pass it any options that fit your needs.
|
||||
* When your component renders, `useCreateApprovedAccessDomainMutation` returns a tuple that includes:
|
||||
* - A mutate function that you can call at any time to execute the mutation
|
||||
* - An object with fields that represent the current status of the mutation's execution
|
||||
*
|
||||
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
|
||||
*
|
||||
* @example
|
||||
* const [createApprovedAccessDomainMutation, { data, loading, error }] = useCreateApprovedAccessDomainMutation({
|
||||
* variables: {
|
||||
* input: // value for 'input'
|
||||
* },
|
||||
* });
|
||||
*/
|
||||
export function useCreateApprovedAccessDomainMutation(baseOptions?: Apollo.MutationHookOptions<CreateApprovedAccessDomainMutation, CreateApprovedAccessDomainMutationVariables>) {
|
||||
const options = {...defaultOptions, ...baseOptions}
|
||||
return Apollo.useMutation<CreateApprovedAccessDomainMutation, CreateApprovedAccessDomainMutationVariables>(CreateApprovedAccessDomainDocument, options);
|
||||
}
|
||||
export type CreateApprovedAccessDomainMutationHookResult = ReturnType<typeof useCreateApprovedAccessDomainMutation>;
|
||||
export type CreateApprovedAccessDomainMutationResult = Apollo.MutationResult<CreateApprovedAccessDomainMutation>;
|
||||
export type CreateApprovedAccessDomainMutationOptions = Apollo.BaseMutationOptions<CreateApprovedAccessDomainMutation, CreateApprovedAccessDomainMutationVariables>;
|
||||
export const CreateOidcIdentityProviderDocument = gql`
|
||||
mutation CreateOIDCIdentityProvider($input: SetupOIDCSsoInput!) {
|
||||
createOIDCIdentityProvider(input: $input) {
|
||||
@@ -4304,6 +4492,37 @@ export function useCreateSamlIdentityProviderMutation(baseOptions?: Apollo.Mutat
|
||||
export type CreateSamlIdentityProviderMutationHookResult = ReturnType<typeof useCreateSamlIdentityProviderMutation>;
|
||||
export type CreateSamlIdentityProviderMutationResult = Apollo.MutationResult<CreateSamlIdentityProviderMutation>;
|
||||
export type CreateSamlIdentityProviderMutationOptions = Apollo.BaseMutationOptions<CreateSamlIdentityProviderMutation, CreateSamlIdentityProviderMutationVariables>;
|
||||
export const DeleteApprovedAccessDomainDocument = gql`
|
||||
mutation DeleteApprovedAccessDomain($input: DeleteApprovedAccessDomainInput!) {
|
||||
deleteApprovedAccessDomain(input: $input)
|
||||
}
|
||||
`;
|
||||
export type DeleteApprovedAccessDomainMutationFn = Apollo.MutationFunction<DeleteApprovedAccessDomainMutation, DeleteApprovedAccessDomainMutationVariables>;
|
||||
|
||||
/**
|
||||
* __useDeleteApprovedAccessDomainMutation__
|
||||
*
|
||||
* To run a mutation, you first call `useDeleteApprovedAccessDomainMutation` within a React component and pass it any options that fit your needs.
|
||||
* When your component renders, `useDeleteApprovedAccessDomainMutation` returns a tuple that includes:
|
||||
* - A mutate function that you can call at any time to execute the mutation
|
||||
* - An object with fields that represent the current status of the mutation's execution
|
||||
*
|
||||
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
|
||||
*
|
||||
* @example
|
||||
* const [deleteApprovedAccessDomainMutation, { data, loading, error }] = useDeleteApprovedAccessDomainMutation({
|
||||
* variables: {
|
||||
* input: // value for 'input'
|
||||
* },
|
||||
* });
|
||||
*/
|
||||
export function useDeleteApprovedAccessDomainMutation(baseOptions?: Apollo.MutationHookOptions<DeleteApprovedAccessDomainMutation, DeleteApprovedAccessDomainMutationVariables>) {
|
||||
const options = {...defaultOptions, ...baseOptions}
|
||||
return Apollo.useMutation<DeleteApprovedAccessDomainMutation, DeleteApprovedAccessDomainMutationVariables>(DeleteApprovedAccessDomainDocument, options);
|
||||
}
|
||||
export type DeleteApprovedAccessDomainMutationHookResult = ReturnType<typeof useDeleteApprovedAccessDomainMutation>;
|
||||
export type DeleteApprovedAccessDomainMutationResult = Apollo.MutationResult<DeleteApprovedAccessDomainMutation>;
|
||||
export type DeleteApprovedAccessDomainMutationOptions = Apollo.BaseMutationOptions<DeleteApprovedAccessDomainMutation, DeleteApprovedAccessDomainMutationVariables>;
|
||||
export const DeleteSsoIdentityProviderDocument = gql`
|
||||
mutation DeleteSSOIdentityProvider($input: DeleteSsoInput!) {
|
||||
deleteSSOIdentityProvider(input: $input) {
|
||||
@@ -4374,6 +4593,79 @@ export function useEditSsoIdentityProviderMutation(baseOptions?: Apollo.Mutation
|
||||
export type EditSsoIdentityProviderMutationHookResult = ReturnType<typeof useEditSsoIdentityProviderMutation>;
|
||||
export type EditSsoIdentityProviderMutationResult = Apollo.MutationResult<EditSsoIdentityProviderMutation>;
|
||||
export type EditSsoIdentityProviderMutationOptions = Apollo.BaseMutationOptions<EditSsoIdentityProviderMutation, EditSsoIdentityProviderMutationVariables>;
|
||||
export const ValidateApprovedAccessDomainDocument = gql`
|
||||
mutation ValidateApprovedAccessDomain($input: ValidateApprovedAccessDomainInput!) {
|
||||
validateApprovedAccessDomain(input: $input) {
|
||||
id
|
||||
isValidated
|
||||
domain
|
||||
createdAt
|
||||
}
|
||||
}
|
||||
`;
|
||||
export type ValidateApprovedAccessDomainMutationFn = Apollo.MutationFunction<ValidateApprovedAccessDomainMutation, ValidateApprovedAccessDomainMutationVariables>;
|
||||
|
||||
/**
|
||||
* __useValidateApprovedAccessDomainMutation__
|
||||
*
|
||||
* To run a mutation, you first call `useValidateApprovedAccessDomainMutation` within a React component and pass it any options that fit your needs.
|
||||
* When your component renders, `useValidateApprovedAccessDomainMutation` returns a tuple that includes:
|
||||
* - A mutate function that you can call at any time to execute the mutation
|
||||
* - An object with fields that represent the current status of the mutation's execution
|
||||
*
|
||||
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
|
||||
*
|
||||
* @example
|
||||
* const [validateApprovedAccessDomainMutation, { data, loading, error }] = useValidateApprovedAccessDomainMutation({
|
||||
* variables: {
|
||||
* input: // value for 'input'
|
||||
* },
|
||||
* });
|
||||
*/
|
||||
export function useValidateApprovedAccessDomainMutation(baseOptions?: Apollo.MutationHookOptions<ValidateApprovedAccessDomainMutation, ValidateApprovedAccessDomainMutationVariables>) {
|
||||
const options = {...defaultOptions, ...baseOptions}
|
||||
return Apollo.useMutation<ValidateApprovedAccessDomainMutation, ValidateApprovedAccessDomainMutationVariables>(ValidateApprovedAccessDomainDocument, options);
|
||||
}
|
||||
export type ValidateApprovedAccessDomainMutationHookResult = ReturnType<typeof useValidateApprovedAccessDomainMutation>;
|
||||
export type ValidateApprovedAccessDomainMutationResult = Apollo.MutationResult<ValidateApprovedAccessDomainMutation>;
|
||||
export type ValidateApprovedAccessDomainMutationOptions = Apollo.BaseMutationOptions<ValidateApprovedAccessDomainMutation, ValidateApprovedAccessDomainMutationVariables>;
|
||||
export const GetApprovedAccessDomainsDocument = gql`
|
||||
query GetApprovedAccessDomains {
|
||||
getApprovedAccessDomains {
|
||||
id
|
||||
createdAt
|
||||
domain
|
||||
isValidated
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
/**
|
||||
* __useGetApprovedAccessDomainsQuery__
|
||||
*
|
||||
* To run a query within a React component, call `useGetApprovedAccessDomainsQuery` and pass it any options that fit your needs.
|
||||
* When your component renders, `useGetApprovedAccessDomainsQuery` returns an object from Apollo Client that contains loading, error, and data properties
|
||||
* you can use to render your UI.
|
||||
*
|
||||
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
|
||||
*
|
||||
* @example
|
||||
* const { data, loading, error } = useGetApprovedAccessDomainsQuery({
|
||||
* variables: {
|
||||
* },
|
||||
* });
|
||||
*/
|
||||
export function useGetApprovedAccessDomainsQuery(baseOptions?: Apollo.QueryHookOptions<GetApprovedAccessDomainsQuery, GetApprovedAccessDomainsQueryVariables>) {
|
||||
const options = {...defaultOptions, ...baseOptions}
|
||||
return Apollo.useQuery<GetApprovedAccessDomainsQuery, GetApprovedAccessDomainsQueryVariables>(GetApprovedAccessDomainsDocument, options);
|
||||
}
|
||||
export function useGetApprovedAccessDomainsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetApprovedAccessDomainsQuery, GetApprovedAccessDomainsQueryVariables>) {
|
||||
const options = {...defaultOptions, ...baseOptions}
|
||||
return Apollo.useLazyQuery<GetApprovedAccessDomainsQuery, GetApprovedAccessDomainsQueryVariables>(GetApprovedAccessDomainsDocument, options);
|
||||
}
|
||||
export type GetApprovedAccessDomainsQueryHookResult = ReturnType<typeof useGetApprovedAccessDomainsQuery>;
|
||||
export type GetApprovedAccessDomainsLazyQueryHookResult = ReturnType<typeof useGetApprovedAccessDomainsLazyQuery>;
|
||||
export type GetApprovedAccessDomainsQueryResult = Apollo.QueryResult<GetApprovedAccessDomainsQuery, GetApprovedAccessDomainsQueryVariables>;
|
||||
export const GetSsoIdentityProvidersDocument = gql`
|
||||
query GetSSOIdentityProviders {
|
||||
getSSOIdentityProviders {
|
||||
@@ -5006,9 +5298,12 @@ export const UpdateWorkspaceDocument = gql`
|
||||
isGoogleAuthEnabled
|
||||
isMicrosoftAuthEnabled
|
||||
isPasswordAuthEnabled
|
||||
defaultRole {
|
||||
...RoleFragment
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
${RoleFragmentFragmentDoc}`;
|
||||
export type UpdateWorkspaceMutationFn = Apollo.MutationFunction<UpdateWorkspaceMutation, UpdateWorkspaceMutationVariables>;
|
||||
|
||||
/**
|
||||
|
||||
+5
-5
@@ -2,7 +2,7 @@ import { useIsLogged } from '@/auth/hooks/useIsLogged';
|
||||
import { useDefaultHomePagePath } from '@/navigation/hooks/useDefaultHomePagePath';
|
||||
import { useOnboardingStatus } from '@/onboarding/hooks/useOnboardingStatus';
|
||||
import { AppPath } from '@/types/AppPath';
|
||||
import { useIsWorkspaceActivationStatusSuspended } from '@/workspace/hooks/useIsWorkspaceActivationStatusSuspended';
|
||||
import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo';
|
||||
import { useParams } from 'react-router-dom';
|
||||
import { useRecoilValue } from 'recoil';
|
||||
|
||||
@@ -19,12 +19,12 @@ const setupMockOnboardingStatus = (
|
||||
jest.mocked(useOnboardingStatus).mockReturnValueOnce(onboardingStatus);
|
||||
};
|
||||
|
||||
jest.mock('@/workspace/hooks/useIsWorkspaceActivationStatusSuspended');
|
||||
const setupMockIsWorkspaceActivationStatusSuspended = (
|
||||
jest.mock('@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo');
|
||||
const setupMockIsWorkspaceActivationStatusEqualsTo = (
|
||||
isWorkspaceSuspended: boolean,
|
||||
) => {
|
||||
jest
|
||||
.mocked(useIsWorkspaceActivationStatusSuspended)
|
||||
.mocked(useIsWorkspaceActivationStatusEqualsTo)
|
||||
.mockReturnValueOnce(isWorkspaceSuspended);
|
||||
};
|
||||
|
||||
@@ -270,7 +270,7 @@ describe('usePageChangeEffectNavigateLocation', () => {
|
||||
it(`with location ${testCase.loc} and onboardingStatus ${testCase.onboardingStatus} and isWorkspaceSuspended ${testCase.isWorkspaceSuspended} should return ${testCase.res}`, () => {
|
||||
setupMockIsMatchingLocation(testCase.loc);
|
||||
setupMockOnboardingStatus(testCase.onboardingStatus);
|
||||
setupMockIsWorkspaceActivationStatusSuspended(
|
||||
setupMockIsWorkspaceActivationStatusEqualsTo(
|
||||
testCase.isWorkspaceSuspended,
|
||||
);
|
||||
setupMockIsLogged(testCase.isLoggedIn);
|
||||
|
||||
@@ -4,10 +4,10 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadat
|
||||
import { useOnboardingStatus } from '@/onboarding/hooks/useOnboardingStatus';
|
||||
import { AppPath } from '@/types/AppPath';
|
||||
import { SettingsPath } from '@/types/SettingsPath';
|
||||
import { useIsWorkspaceActivationStatusSuspended } from '@/workspace/hooks/useIsWorkspaceActivationStatusSuspended';
|
||||
import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo';
|
||||
import { useParams } from 'react-router-dom';
|
||||
import { useRecoilValue } from 'recoil';
|
||||
import { isDefined } from 'twenty-shared';
|
||||
import { WorkspaceActivationStatus, isDefined } from 'twenty-shared';
|
||||
import { OnboardingStatus } from '~/generated/graphql';
|
||||
import { useIsMatchingLocation } from '~/hooks/useIsMatchingLocation';
|
||||
|
||||
@@ -15,7 +15,9 @@ export const usePageChangeEffectNavigateLocation = () => {
|
||||
const { isMatchingLocation } = useIsMatchingLocation();
|
||||
const isLoggedIn = useIsLogged();
|
||||
const onboardingStatus = useOnboardingStatus();
|
||||
const isWorkspaceSuspended = useIsWorkspaceActivationStatusSuspended();
|
||||
const isWorkspaceSuspended = useIsWorkspaceActivationStatusEqualsTo(
|
||||
WorkspaceActivationStatus.SUSPENDED,
|
||||
);
|
||||
const { defaultHomePagePath } = useDefaultHomePagePath();
|
||||
|
||||
const isMatchingOpenRoute =
|
||||
|
||||
@@ -13,6 +13,10 @@ button {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
form {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* https://stackoverflow.com/questions/44543157/how-to-hide-the-google-invisible-recaptcha-badge */
|
||||
.grecaptcha-badge {
|
||||
visibility: hidden !important;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user