Progress on translations (#9703)

Start adding a few translations on setting pages, introduce
pseudo-locale, switch to dynamic import, add eslint rule
This commit is contained in:
Félix Malfait
2025-01-16 23:34:54 +01:00
committed by GitHub
parent f44b31573a
commit 7acb68929f
46 changed files with 3019 additions and 299 deletions

View File

@ -1,7 +1,10 @@
module.exports = {
root: true,
extends: ['plugin:prettier/recommended'],
plugins: ['@nx', 'prefer-arrow', 'import', 'unused-imports', 'unicorn'],
extends: [
'plugin:prettier/recommended',
'plugin:lingui/recommended',
],
plugins: ['@nx', 'prefer-arrow', 'import', 'unused-imports', 'unicorn', 'lingui'],
rules: {
'func-style': ['error', 'declaration', { allowArrowFunctions: true }],
'no-console': ['warn', { allow: ['group', 'groupCollapsed', 'groupEnd'] }],

View File

@ -302,6 +302,7 @@
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-lingui": "^0.9.0",
"eslint-plugin-prefer-arrow": "^1.2.3",
"eslint-plugin-prettier": "^5.1.2",
"eslint-plugin-project-structure": "^3.9.1",

View File

@ -25,10 +25,10 @@ module.exports = {
},
plugins: ['project-structure'],
settings: {
'project-structure/folder-structure-config-path':path.resolve(
'project-structure/folder-structure-config-path': path.join(
__dirname,
'folderStructure.json'
)
'folderStructure.json',
),
},
rules: {
'project-structure/folder-structure': 'error',

View File

@ -2,11 +2,17 @@ import { defineConfig } from '@lingui/cli';
export default defineConfig({
sourceLocale: 'en',
locales: ['fr', 'en', 'pt', 'de', 'it', 'es', 'zh'],
locales: ['en', 'fr', 'pt', 'de', 'it', 'es', 'zh', 'pseudo-en'],
pseudoLocale: 'pseudo-en',
fallbackLocales: {
'pseudo-en': 'en',
},
catalogs: [
{
path: '<rootDir>/src/locales/{locale}/messages',
path: '<rootDir>/src/locales/{locale}',
include: ['src'],
},
],
catalogsMergePath: '<rootDir>/src/locales/dist/{locale}',
compileNamespace: 'ts',
});

View File

@ -0,0 +1,326 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2025-01-16 21:57+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: de\n"
#. placeholder {0}: settingsObjectsTableMetadataField.fieldLabel
#: src/pages/settings/data-model/SettingsObjects.tsx:180
msgid "{0}"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:84
msgid "About"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:190
msgid "Active"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:50
msgid "Active APIs keys created by you or your team."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:144
msgid "Add object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:49
msgid "API keys"
msgstr ""
#. placeholder {5}: switchingInfo.impact
#: src/pages/settings/SettingsBilling.tsx:190
msgid "Are you sure that you want to change your billing interval? {5}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:63
msgid "Authentication"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:128
#: src/pages/settings/SettingsBilling.tsx:134
msgid "Billing"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:174
msgid "Cancel Plan"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:169
msgid "Cancel your subscription"
msgstr ""
#. placeholder {6}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:194
msgid "Change {6}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:48
msgid "Configure an SSO connection"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:56
msgid "Create API key"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:72
msgid "Create Webhook"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:56
msgid "Customize Domain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:64
msgid "Customize your workspace security"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:139
msgid "Data model"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:85
msgid "Define the name and description of your object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:35
#: src/pages/settings/developers/SettingsDevelopers.tsx:42
msgid "Developers"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:51
#: src/pages/settings/workspace/SettingsDomain.tsx:135
#: src/pages/settings/workspace/SettingsDomain.tsx:150
msgid "Domain"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:156
msgid "Edit billing interval"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:144
msgid "Edit payment method, see your invoices and more"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:52
msgid "Edit your subdomain name or set a custom domain."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:42
msgid "Email"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:51
msgid "Enterprise"
msgstr ""
#. placeholder {1}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:118
msgid "Error while switching subscription {1}."
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:66
msgid "Establish Webhook endpoints for notifications on asynchronous events."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:164
msgid "Existing objects"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:56
msgid "Failed to create object"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:45
msgid "from monthly to yearly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:52
msgid "from yearly to monthly"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:29
#: src/pages/settings/SettingsWorkspace.tsx:35
#: src/pages/settings/workspace/SettingsDomain.tsx:125
#: src/pages/settings/workspace/SettingsDomain.tsx:132
msgid "General"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:65
msgid "Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:214
msgid "Inactive"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:87
msgid "Invalid form values"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:52
msgid "Invalid object data"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:51
msgid "Language"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:143
msgid "Manage your subscription"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
#: src/pages/settings/SettingsProfile.tsx:35
msgid "Name"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
msgid "Name of your workspace"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:76
msgid "New"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:66
msgid "New Object"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:108
msgid "not allowed"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:45
msgid "Object created successfully"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:156
#: src/pages/settings/data-model/SettingsNewObject.tsx:73
msgid "Objects"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:40
#: src/pages/settings/SettingsProfile.tsx:30
msgid "Picture"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:19
#: src/pages/settings/SettingsProfile.tsx:25
msgid "Profile"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:168
msgid "Search an object..."
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:33
#: src/pages/settings/security/SettingsSecurity.tsx:40
msgid "Security"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:52
msgid "Select your preferred language"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:151
msgid "Set the name of your subdomain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:47
msgid "SSO"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:107
msgid "Subdomain already taken"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:49
msgid "Subdomain can not be longer than 30 characters"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:48
msgid "Subdomain can not be shorter than 3 characters"
msgstr ""
#. placeholder {0}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:113
msgid "Subscription has been switched {0}"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:63
msgid "Support"
msgstr ""
#. placeholder {2}: switchingInfo.from
#: src/pages/settings/SettingsBilling.tsx:157
msgid "Switch {2}"
msgstr ""
#. placeholder {3}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:161
msgid "Switch {3}"
msgstr ""
#. placeholder {4}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:187
msgid "Switch billing {4}"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:43
msgid "The email associated to your account"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:51
msgid "to monthly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:44
msgid "to yearly"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:51
msgid "Use letter, number and dash only. Start and finish with a letter or a number"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:22
msgid "User"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:148
msgid "View billing details"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:65
msgid "Webhooks"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:32
#: src/pages/settings/SettingsBilling.tsx:131
#: src/pages/settings/workspace/SettingsDomain.tsx:128
#: src/pages/settings/security/SettingsSecurity.tsx:37
#: src/pages/settings/developers/SettingsDevelopers.tsx:39
#: src/pages/settings/data-model/SettingsObjects.tsx:152
#: src/pages/settings/data-model/SettingsNewObject.tsx:69
msgid "Workspace"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:46
msgid "You will be charged immediately for the full year."
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:53
msgid "Your credit balance will be used to pay the monthly bills."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:36
msgid "Your name as it will be displayed"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:170
msgid "Your workspace will be disabled"
msgstr ""

View File

@ -1 +0,0 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"vXIe7J\":[\"Language\"],\"AXTJAW\":[\"Select your preferred language\"]}")as Messages;

View File

@ -0,0 +1,326 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2025-01-16 21:57+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: en\n"
#. placeholder {0}: settingsObjectsTableMetadataField.fieldLabel
#: src/pages/settings/data-model/SettingsObjects.tsx:180
msgid "{0}"
msgstr "{0}"
#: src/pages/settings/data-model/SettingsNewObject.tsx:84
msgid "About"
msgstr "About"
#: src/pages/settings/data-model/SettingsObjects.tsx:190
msgid "Active"
msgstr "Active"
#: src/pages/settings/developers/SettingsDevelopers.tsx:50
msgid "Active APIs keys created by you or your team."
msgstr "Active APIs keys created by you or your team."
#: src/pages/settings/data-model/SettingsObjects.tsx:144
msgid "Add object"
msgstr "Add object"
#: src/pages/settings/developers/SettingsDevelopers.tsx:49
msgid "API keys"
msgstr "API keys"
#. placeholder {5}: switchingInfo.impact
#: src/pages/settings/SettingsBilling.tsx:190
msgid "Are you sure that you want to change your billing interval? {5}"
msgstr "Are you sure that you want to change your billing interval? {5}"
#: src/pages/settings/security/SettingsSecurity.tsx:63
msgid "Authentication"
msgstr "Authentication"
#: src/pages/settings/SettingsBilling.tsx:128
#: src/pages/settings/SettingsBilling.tsx:134
msgid "Billing"
msgstr "Billing"
#: src/pages/settings/SettingsBilling.tsx:174
msgid "Cancel Plan"
msgstr "Cancel Plan"
#: src/pages/settings/SettingsBilling.tsx:169
msgid "Cancel your subscription"
msgstr "Cancel your subscription"
#. placeholder {6}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:194
msgid "Change {6}"
msgstr "Change {6}"
#: src/pages/settings/security/SettingsSecurity.tsx:48
msgid "Configure an SSO connection"
msgstr "Configure an SSO connection"
#: src/pages/settings/developers/SettingsDevelopers.tsx:56
msgid "Create API key"
msgstr "Create API key"
#: src/pages/settings/developers/SettingsDevelopers.tsx:72
msgid "Create Webhook"
msgstr "Create Webhook"
#: src/pages/settings/SettingsWorkspace.tsx:56
msgid "Customize Domain"
msgstr "Customize Domain"
#: src/pages/settings/security/SettingsSecurity.tsx:64
msgid "Customize your workspace security"
msgstr "Customize your workspace security"
#: src/pages/settings/data-model/SettingsObjects.tsx:139
msgid "Data model"
msgstr "Data model"
#: src/pages/settings/data-model/SettingsNewObject.tsx:85
msgid "Define the name and description of your object"
msgstr "Define the name and description of your object"
#: src/pages/settings/developers/SettingsDevelopers.tsx:35
#: src/pages/settings/developers/SettingsDevelopers.tsx:42
msgid "Developers"
msgstr "Developers"
#: src/pages/settings/SettingsWorkspace.tsx:51
#: src/pages/settings/workspace/SettingsDomain.tsx:135
#: src/pages/settings/workspace/SettingsDomain.tsx:150
msgid "Domain"
msgstr "Domain"
#: src/pages/settings/SettingsBilling.tsx:156
msgid "Edit billing interval"
msgstr "Edit billing interval"
#: src/pages/settings/SettingsBilling.tsx:144
msgid "Edit payment method, see your invoices and more"
msgstr "Edit payment method, see your invoices and more"
#: src/pages/settings/SettingsWorkspace.tsx:52
msgid "Edit your subdomain name or set a custom domain."
msgstr "Edit your subdomain name or set a custom domain."
#: src/pages/settings/SettingsProfile.tsx:42
msgid "Email"
msgstr "Email"
#: src/pages/settings/security/SettingsSecurity.tsx:51
msgid "Enterprise"
msgstr "Enterprise"
#. placeholder {1}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:118
msgid "Error while switching subscription {1}."
msgstr "Error while switching subscription {1}."
#: src/pages/settings/developers/SettingsDevelopers.tsx:66
msgid "Establish Webhook endpoints for notifications on asynchronous events."
msgstr "Establish Webhook endpoints for notifications on asynchronous events."
#: src/pages/settings/data-model/SettingsObjects.tsx:164
msgid "Existing objects"
msgstr "Existing objects"
#: src/pages/settings/data-model/SettingsNewObject.tsx:56
msgid "Failed to create object"
msgstr "Failed to create object"
#: src/pages/settings/SettingsBilling.tsx:45
msgid "from monthly to yearly"
msgstr "from monthly to yearly"
#: src/pages/settings/SettingsBilling.tsx:52
msgid "from yearly to monthly"
msgstr "from yearly to monthly"
#: src/pages/settings/SettingsWorkspace.tsx:29
#: src/pages/settings/SettingsWorkspace.tsx:35
#: src/pages/settings/workspace/SettingsDomain.tsx:125
#: src/pages/settings/workspace/SettingsDomain.tsx:132
msgid "General"
msgstr "General"
#: src/pages/settings/SettingsWorkspace.tsx:65
msgid "Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time."
msgstr "Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time."
#: src/pages/settings/data-model/SettingsObjects.tsx:214
msgid "Inactive"
msgstr "Inactive"
#: src/pages/settings/workspace/SettingsDomain.tsx:87
msgid "Invalid form values"
msgstr "Invalid form values"
#: src/pages/settings/data-model/SettingsNewObject.tsx:52
msgid "Invalid object data"
msgstr "Invalid object data"
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:51
msgid "Language"
msgstr "Language"
#: src/pages/settings/SettingsBilling.tsx:143
msgid "Manage your subscription"
msgstr "Manage your subscription"
#: src/pages/settings/SettingsWorkspace.tsx:44
#: src/pages/settings/SettingsProfile.tsx:35
msgid "Name"
msgstr "Name"
#: src/pages/settings/SettingsWorkspace.tsx:44
msgid "Name of your workspace"
msgstr "Name of your workspace"
#: src/pages/settings/data-model/SettingsNewObject.tsx:76
msgid "New"
msgstr "New"
#: src/pages/settings/data-model/SettingsNewObject.tsx:66
msgid "New Object"
msgstr "New Object"
#: src/pages/settings/workspace/SettingsDomain.tsx:108
msgid "not allowed"
msgstr "not allowed"
#: src/pages/settings/data-model/SettingsNewObject.tsx:45
msgid "Object created successfully"
msgstr "Object created successfully"
#: src/pages/settings/data-model/SettingsObjects.tsx:156
#: src/pages/settings/data-model/SettingsNewObject.tsx:73
msgid "Objects"
msgstr "Objects"
#: src/pages/settings/SettingsWorkspace.tsx:40
#: src/pages/settings/SettingsProfile.tsx:30
msgid "Picture"
msgstr "Picture"
#: src/pages/settings/SettingsProfile.tsx:19
#: src/pages/settings/SettingsProfile.tsx:25
msgid "Profile"
msgstr "Profile"
#: src/pages/settings/data-model/SettingsObjects.tsx:168
msgid "Search an object..."
msgstr "Search an object..."
#: src/pages/settings/security/SettingsSecurity.tsx:33
#: src/pages/settings/security/SettingsSecurity.tsx:40
msgid "Security"
msgstr "Security"
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:52
msgid "Select your preferred language"
msgstr "Select your preferred language"
#: src/pages/settings/workspace/SettingsDomain.tsx:151
msgid "Set the name of your subdomain"
msgstr "Set the name of your subdomain"
#: src/pages/settings/security/SettingsSecurity.tsx:47
msgid "SSO"
msgstr "SSO"
#: src/pages/settings/workspace/SettingsDomain.tsx:107
msgid "Subdomain already taken"
msgstr "Subdomain already taken"
#: src/pages/settings/workspace/SettingsDomain.tsx:49
msgid "Subdomain can not be longer than 30 characters"
msgstr "Subdomain can not be longer than 30 characters"
#: src/pages/settings/workspace/SettingsDomain.tsx:48
msgid "Subdomain can not be shorter than 3 characters"
msgstr "Subdomain can not be shorter than 3 characters"
#. placeholder {0}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:113
msgid "Subscription has been switched {0}"
msgstr "Subscription has been switched {0}"
#: src/pages/settings/SettingsWorkspace.tsx:63
msgid "Support"
msgstr "Support"
#. placeholder {2}: switchingInfo.from
#: src/pages/settings/SettingsBilling.tsx:157
msgid "Switch {2}"
msgstr "Switch {2}"
#. placeholder {3}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:161
msgid "Switch {3}"
msgstr "Switch {3}"
#. placeholder {4}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:187
msgid "Switch billing {4}"
msgstr "Switch billing {4}"
#: src/pages/settings/SettingsProfile.tsx:43
msgid "The email associated to your account"
msgstr "The email associated to your account"
#: src/pages/settings/SettingsBilling.tsx:51
msgid "to monthly"
msgstr "to monthly"
#: src/pages/settings/SettingsBilling.tsx:44
msgid "to yearly"
msgstr "to yearly"
#: src/pages/settings/workspace/SettingsDomain.tsx:51
msgid "Use letter, number and dash only. Start and finish with a letter or a number"
msgstr "Use letter, number and dash only. Start and finish with a letter or a number"
#: src/pages/settings/SettingsProfile.tsx:22
msgid "User"
msgstr "User"
#: src/pages/settings/SettingsBilling.tsx:148
msgid "View billing details"
msgstr "View billing details"
#: src/pages/settings/developers/SettingsDevelopers.tsx:65
msgid "Webhooks"
msgstr "Webhooks"
#: src/pages/settings/SettingsWorkspace.tsx:32
#: src/pages/settings/SettingsBilling.tsx:131
#: src/pages/settings/workspace/SettingsDomain.tsx:128
#: src/pages/settings/security/SettingsSecurity.tsx:37
#: src/pages/settings/developers/SettingsDevelopers.tsx:39
#: src/pages/settings/data-model/SettingsObjects.tsx:152
#: src/pages/settings/data-model/SettingsNewObject.tsx:69
msgid "Workspace"
msgstr "Workspace"
#: src/pages/settings/SettingsBilling.tsx:46
msgid "You will be charged immediately for the full year."
msgstr "You will be charged immediately for the full year."
#: src/pages/settings/SettingsBilling.tsx:53
msgid "Your credit balance will be used to pay the monthly bills."
msgstr "Your credit balance will be used to pay the monthly bills."
#: src/pages/settings/SettingsProfile.tsx:36
msgid "Your name as it will be displayed"
msgstr "Your name as it will be displayed"
#: src/pages/settings/SettingsBilling.tsx:170
msgid "Your workspace will be disabled"
msgstr "Your workspace will be disabled"

View File

@ -1,16 +0,0 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2025-01-16 16:50+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: en\n"
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:51
msgid "Language"
msgstr "Language"
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:52
msgid "Select your preferred language"
msgstr "Select your preferred language"

View File

@ -1 +0,0 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"vXIe7J\":[\"Language\"],\"AXTJAW\":[\"Select your preferred language\"]}")as Messages;

View File

@ -0,0 +1,326 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2025-01-16 21:57+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: es\n"
#. placeholder {0}: settingsObjectsTableMetadataField.fieldLabel
#: src/pages/settings/data-model/SettingsObjects.tsx:180
msgid "{0}"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:84
msgid "About"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:190
msgid "Active"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:50
msgid "Active APIs keys created by you or your team."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:144
msgid "Add object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:49
msgid "API keys"
msgstr ""
#. placeholder {5}: switchingInfo.impact
#: src/pages/settings/SettingsBilling.tsx:190
msgid "Are you sure that you want to change your billing interval? {5}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:63
msgid "Authentication"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:128
#: src/pages/settings/SettingsBilling.tsx:134
msgid "Billing"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:174
msgid "Cancel Plan"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:169
msgid "Cancel your subscription"
msgstr ""
#. placeholder {6}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:194
msgid "Change {6}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:48
msgid "Configure an SSO connection"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:56
msgid "Create API key"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:72
msgid "Create Webhook"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:56
msgid "Customize Domain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:64
msgid "Customize your workspace security"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:139
msgid "Data model"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:85
msgid "Define the name and description of your object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:35
#: src/pages/settings/developers/SettingsDevelopers.tsx:42
msgid "Developers"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:51
#: src/pages/settings/workspace/SettingsDomain.tsx:135
#: src/pages/settings/workspace/SettingsDomain.tsx:150
msgid "Domain"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:156
msgid "Edit billing interval"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:144
msgid "Edit payment method, see your invoices and more"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:52
msgid "Edit your subdomain name or set a custom domain."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:42
msgid "Email"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:51
msgid "Enterprise"
msgstr ""
#. placeholder {1}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:118
msgid "Error while switching subscription {1}."
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:66
msgid "Establish Webhook endpoints for notifications on asynchronous events."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:164
msgid "Existing objects"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:56
msgid "Failed to create object"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:45
msgid "from monthly to yearly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:52
msgid "from yearly to monthly"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:29
#: src/pages/settings/SettingsWorkspace.tsx:35
#: src/pages/settings/workspace/SettingsDomain.tsx:125
#: src/pages/settings/workspace/SettingsDomain.tsx:132
msgid "General"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:65
msgid "Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:214
msgid "Inactive"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:87
msgid "Invalid form values"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:52
msgid "Invalid object data"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:51
msgid "Language"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:143
msgid "Manage your subscription"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
#: src/pages/settings/SettingsProfile.tsx:35
msgid "Name"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
msgid "Name of your workspace"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:76
msgid "New"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:66
msgid "New Object"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:108
msgid "not allowed"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:45
msgid "Object created successfully"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:156
#: src/pages/settings/data-model/SettingsNewObject.tsx:73
msgid "Objects"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:40
#: src/pages/settings/SettingsProfile.tsx:30
msgid "Picture"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:19
#: src/pages/settings/SettingsProfile.tsx:25
msgid "Profile"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:168
msgid "Search an object..."
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:33
#: src/pages/settings/security/SettingsSecurity.tsx:40
msgid "Security"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:52
msgid "Select your preferred language"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:151
msgid "Set the name of your subdomain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:47
msgid "SSO"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:107
msgid "Subdomain already taken"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:49
msgid "Subdomain can not be longer than 30 characters"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:48
msgid "Subdomain can not be shorter than 3 characters"
msgstr ""
#. placeholder {0}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:113
msgid "Subscription has been switched {0}"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:63
msgid "Support"
msgstr ""
#. placeholder {2}: switchingInfo.from
#: src/pages/settings/SettingsBilling.tsx:157
msgid "Switch {2}"
msgstr ""
#. placeholder {3}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:161
msgid "Switch {3}"
msgstr ""
#. placeholder {4}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:187
msgid "Switch billing {4}"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:43
msgid "The email associated to your account"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:51
msgid "to monthly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:44
msgid "to yearly"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:51
msgid "Use letter, number and dash only. Start and finish with a letter or a number"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:22
msgid "User"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:148
msgid "View billing details"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:65
msgid "Webhooks"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:32
#: src/pages/settings/SettingsBilling.tsx:131
#: src/pages/settings/workspace/SettingsDomain.tsx:128
#: src/pages/settings/security/SettingsSecurity.tsx:37
#: src/pages/settings/developers/SettingsDevelopers.tsx:39
#: src/pages/settings/data-model/SettingsObjects.tsx:152
#: src/pages/settings/data-model/SettingsNewObject.tsx:69
msgid "Workspace"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:46
msgid "You will be charged immediately for the full year."
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:53
msgid "Your credit balance will be used to pay the monthly bills."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:36
msgid "Your name as it will be displayed"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:170
msgid "Your workspace will be disabled"
msgstr ""

View File

@ -1 +0,0 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"vXIe7J\":[\"Language\"],\"AXTJAW\":[\"Select your preferred language\"]}")as Messages;

View File

@ -0,0 +1,326 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2025-01-16 21:57+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: fr\n"
#. placeholder {0}: settingsObjectsTableMetadataField.fieldLabel
#: src/pages/settings/data-model/SettingsObjects.tsx:180
msgid "{0}"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:84
msgid "About"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:190
msgid "Active"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:50
msgid "Active APIs keys created by you or your team."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:144
msgid "Add object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:49
msgid "API keys"
msgstr ""
#. placeholder {5}: switchingInfo.impact
#: src/pages/settings/SettingsBilling.tsx:190
msgid "Are you sure that you want to change your billing interval? {5}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:63
msgid "Authentication"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:128
#: src/pages/settings/SettingsBilling.tsx:134
msgid "Billing"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:174
msgid "Cancel Plan"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:169
msgid "Cancel your subscription"
msgstr ""
#. placeholder {6}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:194
msgid "Change {6}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:48
msgid "Configure an SSO connection"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:56
msgid "Create API key"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:72
msgid "Create Webhook"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:56
msgid "Customize Domain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:64
msgid "Customize your workspace security"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:139
msgid "Data model"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:85
msgid "Define the name and description of your object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:35
#: src/pages/settings/developers/SettingsDevelopers.tsx:42
msgid "Developers"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:51
#: src/pages/settings/workspace/SettingsDomain.tsx:135
#: src/pages/settings/workspace/SettingsDomain.tsx:150
msgid "Domain"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:156
msgid "Edit billing interval"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:144
msgid "Edit payment method, see your invoices and more"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:52
msgid "Edit your subdomain name or set a custom domain."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:42
msgid "Email"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:51
msgid "Enterprise"
msgstr ""
#. placeholder {1}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:118
msgid "Error while switching subscription {1}."
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:66
msgid "Establish Webhook endpoints for notifications on asynchronous events."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:164
msgid "Existing objects"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:56
msgid "Failed to create object"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:45
msgid "from monthly to yearly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:52
msgid "from yearly to monthly"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:29
#: src/pages/settings/SettingsWorkspace.tsx:35
#: src/pages/settings/workspace/SettingsDomain.tsx:125
#: src/pages/settings/workspace/SettingsDomain.tsx:132
msgid "General"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:65
msgid "Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:214
msgid "Inactive"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:87
msgid "Invalid form values"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:52
msgid "Invalid object data"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:51
msgid "Language"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:143
msgid "Manage your subscription"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
#: src/pages/settings/SettingsProfile.tsx:35
msgid "Name"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
msgid "Name of your workspace"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:76
msgid "New"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:66
msgid "New Object"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:108
msgid "not allowed"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:45
msgid "Object created successfully"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:156
#: src/pages/settings/data-model/SettingsNewObject.tsx:73
msgid "Objects"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:40
#: src/pages/settings/SettingsProfile.tsx:30
msgid "Picture"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:19
#: src/pages/settings/SettingsProfile.tsx:25
msgid "Profile"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:168
msgid "Search an object..."
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:33
#: src/pages/settings/security/SettingsSecurity.tsx:40
msgid "Security"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:52
msgid "Select your preferred language"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:151
msgid "Set the name of your subdomain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:47
msgid "SSO"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:107
msgid "Subdomain already taken"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:49
msgid "Subdomain can not be longer than 30 characters"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:48
msgid "Subdomain can not be shorter than 3 characters"
msgstr ""
#. placeholder {0}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:113
msgid "Subscription has been switched {0}"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:63
msgid "Support"
msgstr ""
#. placeholder {2}: switchingInfo.from
#: src/pages/settings/SettingsBilling.tsx:157
msgid "Switch {2}"
msgstr ""
#. placeholder {3}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:161
msgid "Switch {3}"
msgstr ""
#. placeholder {4}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:187
msgid "Switch billing {4}"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:43
msgid "The email associated to your account"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:51
msgid "to monthly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:44
msgid "to yearly"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:51
msgid "Use letter, number and dash only. Start and finish with a letter or a number"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:22
msgid "User"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:148
msgid "View billing details"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:65
msgid "Webhooks"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:32
#: src/pages/settings/SettingsBilling.tsx:131
#: src/pages/settings/workspace/SettingsDomain.tsx:128
#: src/pages/settings/security/SettingsSecurity.tsx:37
#: src/pages/settings/developers/SettingsDevelopers.tsx:39
#: src/pages/settings/data-model/SettingsObjects.tsx:152
#: src/pages/settings/data-model/SettingsNewObject.tsx:69
msgid "Workspace"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:46
msgid "You will be charged immediately for the full year."
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:53
msgid "Your credit balance will be used to pay the monthly bills."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:36
msgid "Your name as it will be displayed"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:170
msgid "Your workspace will be disabled"
msgstr ""

View File

@ -1,16 +0,0 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2025-01-16 16:50+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: fr\n"
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:51
msgid "Language"
msgstr "Langue"
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:52
msgid "Select your preferred language"
msgstr "Sélectionnez votre langue préférée"

View File

@ -1 +0,0 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"vXIe7J\":[\"Langue\"],\"AXTJAW\":[\"Sélectionnez votre langue préférée\"]}")as Messages;

View File

@ -0,0 +1 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"J/hVSQ\":[[\"0\"]],\"uyJsf6\":[\"About\"],\"F6pfE9\":[\"Active\"],\"Z+OxK0\":[\"Active APIs keys created by you or your team.\"],\"dEO3Zx\":[\"Add object\"],\"5h8ooz\":[\"API keys\"],\"TmDqlR\":[\"Are you sure that you want to change your billing interval? \",[\"5\"]],\"P8fBlG\":[\"Authentication\"],\"R+w/Va\":[\"Billing\"],\"rRK/Lf\":[\"Cancel Plan\"],\"N6gPiD\":[\"Cancel your subscription\"],\"JcIGyw\":[\"Change \",[\"6\"]],\"+zUMwJ\":[\"Configure an SSO connection\"],\"uXGLuq\":[\"Create API key\"],\"dkAPxi\":[\"Create Webhook\"],\"CMhr4u\":[\"Customize Domain\"],\"bCJa9l\":[\"Customize your workspace security\"],\"5cNMFz\":[\"Data model\"],\"Y2ImVJ\":[\"Define the name and description of your object\"],\"n+SX4g\":[\"Developers\"],\"EoKe5U\":[\"Domain\"],\"v+uKyy\":[\"Edit billing interval\"],\"h2KoTu\":[\"Edit payment method, see your invoices and more\"],\"6o1M/Q\":[\"Edit your subdomain name or set a custom domain.\"],\"O3oNi5\":[\"Email\"],\"GpB8YV\":[\"Enterprise\"],\"RgSsJ3\":[\"Error while switching subscription \",[\"1\"],\".\"],\"JLxMta\":[\"Establish Webhook endpoints for notifications on asynchronous events.\"],\"fV7V51\":[\"Existing objects\"],\"Q0iobh\":[\"Failed to create object\"],\"aTieE0\":[\"from monthly to yearly\"],\"K04lE5\":[\"from yearly to monthly\"],\"Weq9zb\":[\"General\"],\"hWp1MY\":[\"Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time.\"],\"NoNwIX\":[\"Inactive\"],\"QdoUFL\":[\"Invalid form values\"],\"/Wrd4p\":[\"Invalid object data\"],\"vXIe7J\":[\"Language\"],\"36kYu0\":[\"Manage your subscription\"],\"6YtxFj\":[\"Name\"],\"J7w8lI\":[\"Name of your workspace\"],\"isRobC\":[\"New\"],\"hFxdey\":[\"New Object\"],\"+FLRjr\":[\"not allowed\"],\"FU94q4\":[\"Object created successfully\"],\"B3toQF\":[\"Objects\"],\"N0+GsR\":[\"Picture\"],\"vERlcd\":[\"Profile\"],\"BoNHR0\":[\"Search an object...\"],\"a3LDKx\":[\"Security\"],\"AXTJAW\":[\"Select your preferred language\"],\"tn41zE\":[\"Set the name of your subdomain\"],\"vnS6Rf\":[\"SSO\"],\"omhc+7\":[\"Subdomain already taken\"],\"OlC/tU\":[\"Subdomain can not be longer than 30 characters\"],\"ZETwlU\":[\"Subdomain can not be shorter than 3 characters\"],\"AymUjZ\":[\"Subscription has been switched \",[\"0\"]],\"XYLcNv\":[\"Support\"],\"Sk5fyO\":[\"Switch \",[\"2\"]],\"z9maAp\":[\"Switch \",[\"3\"]],\"FwAweN\":[\"Switch billing \",[\"4\"]],\"VGZYbZ\":[\"The email associated to your account\"],\"aqMzDX\":[\"to monthly\"],\"WXXiXO\":[\"to yearly\"],\"oTTQsc\":[\"Use letter, number and dash only. Start and finish with a letter or a number\"],\"7PzzBU\":[\"User\"],\"KANz0G\":[\"View billing details\"],\"v1kQyJ\":[\"Webhooks\"],\"pmUArF\":[\"Workspace\"],\"zSkMV0\":[\"You will be charged immediately for the full year.\"],\"XVnj6K\":[\"Your credit balance will be used to pay the monthly bills.\"],\"9ivpwk\":[\"Your name as it will be displayed\"],\"RhNbPE\":[\"Your workspace will be disabled\"]}")as Messages;

View File

@ -0,0 +1 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"J/hVSQ\":[[\"0\"]],\"uyJsf6\":[\"About\"],\"F6pfE9\":[\"Active\"],\"Z+OxK0\":[\"Active APIs keys created by you or your team.\"],\"dEO3Zx\":[\"Add object\"],\"5h8ooz\":[\"API keys\"],\"TmDqlR\":[\"Are you sure that you want to change your billing interval? \",[\"5\"]],\"P8fBlG\":[\"Authentication\"],\"R+w/Va\":[\"Billing\"],\"rRK/Lf\":[\"Cancel Plan\"],\"N6gPiD\":[\"Cancel your subscription\"],\"JcIGyw\":[\"Change \",[\"6\"]],\"+zUMwJ\":[\"Configure an SSO connection\"],\"uXGLuq\":[\"Create API key\"],\"dkAPxi\":[\"Create Webhook\"],\"CMhr4u\":[\"Customize Domain\"],\"bCJa9l\":[\"Customize your workspace security\"],\"5cNMFz\":[\"Data model\"],\"Y2ImVJ\":[\"Define the name and description of your object\"],\"n+SX4g\":[\"Developers\"],\"EoKe5U\":[\"Domain\"],\"v+uKyy\":[\"Edit billing interval\"],\"h2KoTu\":[\"Edit payment method, see your invoices and more\"],\"6o1M/Q\":[\"Edit your subdomain name or set a custom domain.\"],\"O3oNi5\":[\"Email\"],\"GpB8YV\":[\"Enterprise\"],\"RgSsJ3\":[\"Error while switching subscription \",[\"1\"],\".\"],\"JLxMta\":[\"Establish Webhook endpoints for notifications on asynchronous events.\"],\"fV7V51\":[\"Existing objects\"],\"Q0iobh\":[\"Failed to create object\"],\"aTieE0\":[\"from monthly to yearly\"],\"K04lE5\":[\"from yearly to monthly\"],\"Weq9zb\":[\"General\"],\"hWp1MY\":[\"Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time.\"],\"NoNwIX\":[\"Inactive\"],\"QdoUFL\":[\"Invalid form values\"],\"/Wrd4p\":[\"Invalid object data\"],\"vXIe7J\":[\"Language\"],\"36kYu0\":[\"Manage your subscription\"],\"6YtxFj\":[\"Name\"],\"J7w8lI\":[\"Name of your workspace\"],\"isRobC\":[\"New\"],\"hFxdey\":[\"New Object\"],\"+FLRjr\":[\"not allowed\"],\"FU94q4\":[\"Object created successfully\"],\"B3toQF\":[\"Objects\"],\"N0+GsR\":[\"Picture\"],\"vERlcd\":[\"Profile\"],\"BoNHR0\":[\"Search an object...\"],\"a3LDKx\":[\"Security\"],\"AXTJAW\":[\"Select your preferred language\"],\"tn41zE\":[\"Set the name of your subdomain\"],\"vnS6Rf\":[\"SSO\"],\"omhc+7\":[\"Subdomain already taken\"],\"OlC/tU\":[\"Subdomain can not be longer than 30 characters\"],\"ZETwlU\":[\"Subdomain can not be shorter than 3 characters\"],\"AymUjZ\":[\"Subscription has been switched \",[\"0\"]],\"XYLcNv\":[\"Support\"],\"Sk5fyO\":[\"Switch \",[\"2\"]],\"z9maAp\":[\"Switch \",[\"3\"]],\"FwAweN\":[\"Switch billing \",[\"4\"]],\"VGZYbZ\":[\"The email associated to your account\"],\"aqMzDX\":[\"to monthly\"],\"WXXiXO\":[\"to yearly\"],\"oTTQsc\":[\"Use letter, number and dash only. Start and finish with a letter or a number\"],\"7PzzBU\":[\"User\"],\"KANz0G\":[\"View billing details\"],\"v1kQyJ\":[\"Webhooks\"],\"pmUArF\":[\"Workspace\"],\"zSkMV0\":[\"You will be charged immediately for the full year.\"],\"XVnj6K\":[\"Your credit balance will be used to pay the monthly bills.\"],\"9ivpwk\":[\"Your name as it will be displayed\"],\"RhNbPE\":[\"Your workspace will be disabled\"]}")as Messages;

View File

@ -0,0 +1 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"J/hVSQ\":[[\"0\"]],\"uyJsf6\":[\"About\"],\"F6pfE9\":[\"Active\"],\"Z+OxK0\":[\"Active APIs keys created by you or your team.\"],\"dEO3Zx\":[\"Add object\"],\"5h8ooz\":[\"API keys\"],\"TmDqlR\":[\"Are you sure that you want to change your billing interval? \",[\"5\"]],\"P8fBlG\":[\"Authentication\"],\"R+w/Va\":[\"Billing\"],\"rRK/Lf\":[\"Cancel Plan\"],\"N6gPiD\":[\"Cancel your subscription\"],\"JcIGyw\":[\"Change \",[\"6\"]],\"+zUMwJ\":[\"Configure an SSO connection\"],\"uXGLuq\":[\"Create API key\"],\"dkAPxi\":[\"Create Webhook\"],\"CMhr4u\":[\"Customize Domain\"],\"bCJa9l\":[\"Customize your workspace security\"],\"5cNMFz\":[\"Data model\"],\"Y2ImVJ\":[\"Define the name and description of your object\"],\"n+SX4g\":[\"Developers\"],\"EoKe5U\":[\"Domain\"],\"v+uKyy\":[\"Edit billing interval\"],\"h2KoTu\":[\"Edit payment method, see your invoices and more\"],\"6o1M/Q\":[\"Edit your subdomain name or set a custom domain.\"],\"O3oNi5\":[\"Email\"],\"GpB8YV\":[\"Enterprise\"],\"RgSsJ3\":[\"Error while switching subscription \",[\"1\"],\".\"],\"JLxMta\":[\"Establish Webhook endpoints for notifications on asynchronous events.\"],\"fV7V51\":[\"Existing objects\"],\"Q0iobh\":[\"Failed to create object\"],\"aTieE0\":[\"from monthly to yearly\"],\"K04lE5\":[\"from yearly to monthly\"],\"Weq9zb\":[\"General\"],\"hWp1MY\":[\"Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time.\"],\"NoNwIX\":[\"Inactive\"],\"QdoUFL\":[\"Invalid form values\"],\"/Wrd4p\":[\"Invalid object data\"],\"vXIe7J\":[\"Language\"],\"36kYu0\":[\"Manage your subscription\"],\"6YtxFj\":[\"Name\"],\"J7w8lI\":[\"Name of your workspace\"],\"isRobC\":[\"New\"],\"hFxdey\":[\"New Object\"],\"+FLRjr\":[\"not allowed\"],\"FU94q4\":[\"Object created successfully\"],\"B3toQF\":[\"Objects\"],\"N0+GsR\":[\"Picture\"],\"vERlcd\":[\"Profile\"],\"BoNHR0\":[\"Search an object...\"],\"a3LDKx\":[\"Security\"],\"AXTJAW\":[\"Select your preferred language\"],\"tn41zE\":[\"Set the name of your subdomain\"],\"vnS6Rf\":[\"SSO\"],\"omhc+7\":[\"Subdomain already taken\"],\"OlC/tU\":[\"Subdomain can not be longer than 30 characters\"],\"ZETwlU\":[\"Subdomain can not be shorter than 3 characters\"],\"AymUjZ\":[\"Subscription has been switched \",[\"0\"]],\"XYLcNv\":[\"Support\"],\"Sk5fyO\":[\"Switch \",[\"2\"]],\"z9maAp\":[\"Switch \",[\"3\"]],\"FwAweN\":[\"Switch billing \",[\"4\"]],\"VGZYbZ\":[\"The email associated to your account\"],\"aqMzDX\":[\"to monthly\"],\"WXXiXO\":[\"to yearly\"],\"oTTQsc\":[\"Use letter, number and dash only. Start and finish with a letter or a number\"],\"7PzzBU\":[\"User\"],\"KANz0G\":[\"View billing details\"],\"v1kQyJ\":[\"Webhooks\"],\"pmUArF\":[\"Workspace\"],\"zSkMV0\":[\"You will be charged immediately for the full year.\"],\"XVnj6K\":[\"Your credit balance will be used to pay the monthly bills.\"],\"9ivpwk\":[\"Your name as it will be displayed\"],\"RhNbPE\":[\"Your workspace will be disabled\"]}")as Messages;

View File

@ -0,0 +1 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"J/hVSQ\":[[\"0\"]],\"uyJsf6\":[\"About\"],\"F6pfE9\":[\"Active\"],\"Z+OxK0\":[\"Active APIs keys created by you or your team.\"],\"dEO3Zx\":[\"Add object\"],\"5h8ooz\":[\"API keys\"],\"TmDqlR\":[\"Are you sure that you want to change your billing interval? \",[\"5\"]],\"P8fBlG\":[\"Authentication\"],\"R+w/Va\":[\"Billing\"],\"rRK/Lf\":[\"Cancel Plan\"],\"N6gPiD\":[\"Cancel your subscription\"],\"JcIGyw\":[\"Change \",[\"6\"]],\"+zUMwJ\":[\"Configure an SSO connection\"],\"uXGLuq\":[\"Create API key\"],\"dkAPxi\":[\"Create Webhook\"],\"CMhr4u\":[\"Customize Domain\"],\"bCJa9l\":[\"Customize your workspace security\"],\"5cNMFz\":[\"Data model\"],\"Y2ImVJ\":[\"Define the name and description of your object\"],\"n+SX4g\":[\"Developers\"],\"EoKe5U\":[\"Domain\"],\"v+uKyy\":[\"Edit billing interval\"],\"h2KoTu\":[\"Edit payment method, see your invoices and more\"],\"6o1M/Q\":[\"Edit your subdomain name or set a custom domain.\"],\"O3oNi5\":[\"Email\"],\"GpB8YV\":[\"Enterprise\"],\"RgSsJ3\":[\"Error while switching subscription \",[\"1\"],\".\"],\"JLxMta\":[\"Establish Webhook endpoints for notifications on asynchronous events.\"],\"fV7V51\":[\"Existing objects\"],\"Q0iobh\":[\"Failed to create object\"],\"aTieE0\":[\"from monthly to yearly\"],\"K04lE5\":[\"from yearly to monthly\"],\"Weq9zb\":[\"General\"],\"hWp1MY\":[\"Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time.\"],\"NoNwIX\":[\"Inactive\"],\"QdoUFL\":[\"Invalid form values\"],\"/Wrd4p\":[\"Invalid object data\"],\"vXIe7J\":[\"Language\"],\"36kYu0\":[\"Manage your subscription\"],\"6YtxFj\":[\"Name\"],\"J7w8lI\":[\"Name of your workspace\"],\"isRobC\":[\"New\"],\"hFxdey\":[\"New Object\"],\"+FLRjr\":[\"not allowed\"],\"FU94q4\":[\"Object created successfully\"],\"B3toQF\":[\"Objects\"],\"N0+GsR\":[\"Picture\"],\"vERlcd\":[\"Profile\"],\"BoNHR0\":[\"Search an object...\"],\"a3LDKx\":[\"Security\"],\"AXTJAW\":[\"Select your preferred language\"],\"tn41zE\":[\"Set the name of your subdomain\"],\"vnS6Rf\":[\"SSO\"],\"omhc+7\":[\"Subdomain already taken\"],\"OlC/tU\":[\"Subdomain can not be longer than 30 characters\"],\"ZETwlU\":[\"Subdomain can not be shorter than 3 characters\"],\"AymUjZ\":[\"Subscription has been switched \",[\"0\"]],\"XYLcNv\":[\"Support\"],\"Sk5fyO\":[\"Switch \",[\"2\"]],\"z9maAp\":[\"Switch \",[\"3\"]],\"FwAweN\":[\"Switch billing \",[\"4\"]],\"VGZYbZ\":[\"The email associated to your account\"],\"aqMzDX\":[\"to monthly\"],\"WXXiXO\":[\"to yearly\"],\"oTTQsc\":[\"Use letter, number and dash only. Start and finish with a letter or a number\"],\"7PzzBU\":[\"User\"],\"KANz0G\":[\"View billing details\"],\"v1kQyJ\":[\"Webhooks\"],\"pmUArF\":[\"Workspace\"],\"zSkMV0\":[\"You will be charged immediately for the full year.\"],\"XVnj6K\":[\"Your credit balance will be used to pay the monthly bills.\"],\"9ivpwk\":[\"Your name as it will be displayed\"],\"RhNbPE\":[\"Your workspace will be disabled\"]}")as Messages;

View File

@ -0,0 +1 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"J/hVSQ\":[[\"0\"]],\"uyJsf6\":[\"About\"],\"F6pfE9\":[\"Active\"],\"Z+OxK0\":[\"Active APIs keys created by you or your team.\"],\"dEO3Zx\":[\"Add object\"],\"5h8ooz\":[\"API keys\"],\"TmDqlR\":[\"Are you sure that you want to change your billing interval? \",[\"5\"]],\"P8fBlG\":[\"Authentication\"],\"R+w/Va\":[\"Billing\"],\"rRK/Lf\":[\"Cancel Plan\"],\"N6gPiD\":[\"Cancel your subscription\"],\"JcIGyw\":[\"Change \",[\"6\"]],\"+zUMwJ\":[\"Configure an SSO connection\"],\"uXGLuq\":[\"Create API key\"],\"dkAPxi\":[\"Create Webhook\"],\"CMhr4u\":[\"Customize Domain\"],\"bCJa9l\":[\"Customize your workspace security\"],\"5cNMFz\":[\"Data model\"],\"Y2ImVJ\":[\"Define the name and description of your object\"],\"n+SX4g\":[\"Developers\"],\"EoKe5U\":[\"Domain\"],\"v+uKyy\":[\"Edit billing interval\"],\"h2KoTu\":[\"Edit payment method, see your invoices and more\"],\"6o1M/Q\":[\"Edit your subdomain name or set a custom domain.\"],\"O3oNi5\":[\"Email\"],\"GpB8YV\":[\"Enterprise\"],\"RgSsJ3\":[\"Error while switching subscription \",[\"1\"],\".\"],\"JLxMta\":[\"Establish Webhook endpoints for notifications on asynchronous events.\"],\"fV7V51\":[\"Existing objects\"],\"Q0iobh\":[\"Failed to create object\"],\"aTieE0\":[\"from monthly to yearly\"],\"K04lE5\":[\"from yearly to monthly\"],\"Weq9zb\":[\"General\"],\"hWp1MY\":[\"Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time.\"],\"NoNwIX\":[\"Inactive\"],\"QdoUFL\":[\"Invalid form values\"],\"/Wrd4p\":[\"Invalid object data\"],\"vXIe7J\":[\"Language\"],\"36kYu0\":[\"Manage your subscription\"],\"6YtxFj\":[\"Name\"],\"J7w8lI\":[\"Name of your workspace\"],\"isRobC\":[\"New\"],\"hFxdey\":[\"New Object\"],\"+FLRjr\":[\"not allowed\"],\"FU94q4\":[\"Object created successfully\"],\"B3toQF\":[\"Objects\"],\"N0+GsR\":[\"Picture\"],\"vERlcd\":[\"Profile\"],\"BoNHR0\":[\"Search an object...\"],\"a3LDKx\":[\"Security\"],\"AXTJAW\":[\"Select your preferred language\"],\"tn41zE\":[\"Set the name of your subdomain\"],\"vnS6Rf\":[\"SSO\"],\"omhc+7\":[\"Subdomain already taken\"],\"OlC/tU\":[\"Subdomain can not be longer than 30 characters\"],\"ZETwlU\":[\"Subdomain can not be shorter than 3 characters\"],\"AymUjZ\":[\"Subscription has been switched \",[\"0\"]],\"XYLcNv\":[\"Support\"],\"Sk5fyO\":[\"Switch \",[\"2\"]],\"z9maAp\":[\"Switch \",[\"3\"]],\"FwAweN\":[\"Switch billing \",[\"4\"]],\"VGZYbZ\":[\"The email associated to your account\"],\"aqMzDX\":[\"to monthly\"],\"WXXiXO\":[\"to yearly\"],\"oTTQsc\":[\"Use letter, number and dash only. Start and finish with a letter or a number\"],\"7PzzBU\":[\"User\"],\"KANz0G\":[\"View billing details\"],\"v1kQyJ\":[\"Webhooks\"],\"pmUArF\":[\"Workspace\"],\"zSkMV0\":[\"You will be charged immediately for the full year.\"],\"XVnj6K\":[\"Your credit balance will be used to pay the monthly bills.\"],\"9ivpwk\":[\"Your name as it will be displayed\"],\"RhNbPE\":[\"Your workspace will be disabled\"]}")as Messages;

View File

@ -0,0 +1 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"J/hVSQ\":[[\"0\"]],\"uyJsf6\":[\"Àƀōũţ\"],\"F6pfE9\":[\"Àćţĩvē\"],\"Z+OxK0\":[\"Àćţĩvē ÀƤĨś ķēŷś ćŕēàţēď ƀŷ ŷōũ ōŕ ŷōũŕ ţēàḿ.\"],\"dEO3Zx\":[\"Àďď ōƀĴēćţ\"],\"5h8ooz\":[\"ÀƤĨ ķēŷś\"],\"TmDqlR\":[\"Àŕē ŷōũ śũŕē ţĥàţ ŷōũ ŵàńţ ţō ćĥàńĝē ŷōũŕ ƀĩĺĺĩńĝ ĩńţēŕvàĺ? \",[\"5\"]],\"P8fBlG\":[\"Àũţĥēńţĩćàţĩōń\"],\"R+w/Va\":[\"ßĩĺĺĩńĝ\"],\"rRK/Lf\":[\"Ćàńćēĺ Ƥĺàń\"],\"N6gPiD\":[\"Ćàńćēĺ ŷōũŕ śũƀśćŕĩƥţĩōń\"],\"JcIGyw\":[\"Ćĥàńĝē \",[\"6\"]],\"+zUMwJ\":[\"Ćōńƒĩĝũŕē àń ŚŚŌ ćōńńēćţĩōń\"],\"uXGLuq\":[\"Ćŕēàţē ÀƤĨ ķēŷ\"],\"dkAPxi\":[\"Ćŕēàţē Ŵēƀĥōōķ\"],\"CMhr4u\":[\"Ćũśţōḿĩźē Ďōḿàĩń\"],\"bCJa9l\":[\"Ćũśţōḿĩźē ŷōũŕ ŵōŕķśƥàćē śēćũŕĩţŷ\"],\"5cNMFz\":[\"Ďàţà ḿōďēĺ\"],\"Y2ImVJ\":[\"Ďēƒĩńē ţĥē ńàḿē àńď ďēśćŕĩƥţĩōń ōƒ ŷōũŕ ōƀĴēćţ\"],\"n+SX4g\":[\"Ďēvēĺōƥēŕś\"],\"EoKe5U\":[\"Ďōḿàĩń\"],\"v+uKyy\":[\"Ēďĩţ ƀĩĺĺĩńĝ ĩńţēŕvàĺ\"],\"h2KoTu\":[\"Ēďĩţ ƥàŷḿēńţ ḿēţĥōď, śēē ŷōũŕ ĩńvōĩćēś àńď ḿōŕē\"],\"6o1M/Q\":[\"Ēďĩţ ŷōũŕ śũƀďōḿàĩń ńàḿē ōŕ śēţ à ćũśţōḿ ďōḿàĩń.\"],\"O3oNi5\":[\"Ēḿàĩĺ\"],\"GpB8YV\":[\"Ēńţēŕƥŕĩśē\"],\"RgSsJ3\":[\"Ēŕŕōŕ ŵĥĩĺē śŵĩţćĥĩńĝ śũƀśćŕĩƥţĩōń \",[\"1\"],\".\"],\"JLxMta\":[\"Ēśţàƀĺĩśĥ Ŵēƀĥōōķ ēńďƥōĩńţś ƒōŕ ńōţĩƒĩćàţĩōńś ōń àśŷńćĥŕōńōũś ēvēńţś.\"],\"fV7V51\":[\"Ēxĩśţĩńĝ ōƀĴēćţś\"],\"Q0iobh\":[\"Ƒàĩĺēď ţō ćŕēàţē ōƀĴēćţ\"],\"aTieE0\":[\"ƒŕōḿ ḿōńţĥĺŷ ţō ŷēàŕĺŷ\"],\"K04lE5\":[\"ƒŕōḿ ŷēàŕĺŷ ţō ḿōńţĥĺŷ\"],\"Weq9zb\":[\"Ĝēńēŕàĺ\"],\"hWp1MY\":[\"Ĝŕàńţ Ţŵēńţŷ śũƥƥōŕţ ţēḿƥōŕàŕŷ àććēśś ţō ŷōũŕ ŵōŕķśƥàćē śō ŵē ćàń ţŕōũƀĺēśĥōōţ ƥŕōƀĺēḿś ōŕ ŕēćōvēŕ ćōńţēńţ ōń ŷōũŕ ƀēĥàĺƒ. Ŷōũ ćàń ŕēvōķē àććēśś àţ àńŷ ţĩḿē.\"],\"NoNwIX\":[\"Ĩńàćţĩvē\"],\"QdoUFL\":[\"Ĩńvàĺĩď ƒōŕḿ vàĺũēś\"],\"/Wrd4p\":[\"Ĩńvàĺĩď ōƀĴēćţ ďàţà\"],\"vXIe7J\":[\"Ĺàńĝũàĝē\"],\"36kYu0\":[\"Ḿàńàĝē ŷōũŕ śũƀśćŕĩƥţĩōń\"],\"6YtxFj\":[\"Ńàḿē\"],\"J7w8lI\":[\"Ńàḿē ōƒ ŷōũŕ ŵōŕķśƥàćē\"],\"isRobC\":[\"Ńēŵ\"],\"hFxdey\":[\"Ńēŵ ŌƀĴēćţ\"],\"+FLRjr\":[\"ńōţ àĺĺōŵēď\"],\"FU94q4\":[\"ŌƀĴēćţ ćŕēàţēď śũććēśśƒũĺĺŷ\"],\"B3toQF\":[\"ŌƀĴēćţś\"],\"N0+GsR\":[\"Ƥĩćţũŕē\"],\"vERlcd\":[\"Ƥŕōƒĩĺē\"],\"BoNHR0\":[\"Śēàŕćĥ àń ōƀĴēćţ...\"],\"a3LDKx\":[\"Śēćũŕĩţŷ\"],\"AXTJAW\":[\"Śēĺēćţ ŷōũŕ ƥŕēƒēŕŕēď ĺàńĝũàĝē\"],\"tn41zE\":[\"Śēţ ţĥē ńàḿē ōƒ ŷōũŕ śũƀďōḿàĩń\"],\"vnS6Rf\":[\"ŚŚŌ\"],\"omhc+7\":[\"Śũƀďōḿàĩń àĺŕēàďŷ ţàķēń\"],\"OlC/tU\":[\"Śũƀďōḿàĩń ćàń ńōţ ƀē ĺōńĝēŕ ţĥàń 30 ćĥàŕàćţēŕś\"],\"ZETwlU\":[\"Śũƀďōḿàĩń ćàń ńōţ ƀē śĥōŕţēŕ ţĥàń 3 ćĥàŕàćţēŕś\"],\"AymUjZ\":[\"Śũƀśćŕĩƥţĩōń ĥàś ƀēēń śŵĩţćĥēď \",[\"0\"]],\"XYLcNv\":[\"Śũƥƥōŕţ\"],\"Sk5fyO\":[\"Śŵĩţćĥ \",[\"2\"]],\"z9maAp\":[\"Śŵĩţćĥ \",[\"3\"]],\"FwAweN\":[\"Śŵĩţćĥ ƀĩĺĺĩńĝ \",[\"4\"]],\"VGZYbZ\":[\"Ţĥē ēḿàĩĺ àśśōćĩàţēď ţō ŷōũŕ àććōũńţ\"],\"aqMzDX\":[\"ţō ḿōńţĥĺŷ\"],\"WXXiXO\":[\"ţō ŷēàŕĺŷ\"],\"oTTQsc\":[\"Ũśē ĺēţţēŕ, ńũḿƀēŕ àńď ďàśĥ ōńĺŷ. Śţàŕţ àńď ƒĩńĩśĥ ŵĩţĥ à ĺēţţēŕ ōŕ à ńũḿƀēŕ\"],\"7PzzBU\":[\"Ũśēŕ\"],\"KANz0G\":[\"Vĩēŵ ƀĩĺĺĩńĝ ďēţàĩĺś\"],\"v1kQyJ\":[\"Ŵēƀĥōōķś\"],\"pmUArF\":[\"Ŵōŕķśƥàćē\"],\"zSkMV0\":[\"Ŷōũ ŵĩĺĺ ƀē ćĥàŕĝēď ĩḿḿēďĩàţēĺŷ ƒōŕ ţĥē ƒũĺĺ ŷēàŕ.\"],\"XVnj6K\":[\"Ŷōũŕ ćŕēďĩţ ƀàĺàńćē ŵĩĺĺ ƀē ũśēď ţō ƥàŷ ţĥē ḿōńţĥĺŷ ƀĩĺĺś.\"],\"9ivpwk\":[\"Ŷōũŕ ńàḿē àś ĩţ ŵĩĺĺ ƀē ďĩśƥĺàŷēď\"],\"RhNbPE\":[\"Ŷōũŕ ŵōŕķśƥàćē ŵĩĺĺ ƀē ďĩśàƀĺēď\"]}")as Messages;

View File

@ -0,0 +1 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"J/hVSQ\":[[\"0\"]],\"uyJsf6\":[\"About\"],\"F6pfE9\":[\"Active\"],\"Z+OxK0\":[\"Active APIs keys created by you or your team.\"],\"dEO3Zx\":[\"Add object\"],\"5h8ooz\":[\"API keys\"],\"TmDqlR\":[\"Are you sure that you want to change your billing interval? \",[\"5\"]],\"P8fBlG\":[\"Authentication\"],\"R+w/Va\":[\"Billing\"],\"rRK/Lf\":[\"Cancel Plan\"],\"N6gPiD\":[\"Cancel your subscription\"],\"JcIGyw\":[\"Change \",[\"6\"]],\"+zUMwJ\":[\"Configure an SSO connection\"],\"uXGLuq\":[\"Create API key\"],\"dkAPxi\":[\"Create Webhook\"],\"CMhr4u\":[\"Customize Domain\"],\"bCJa9l\":[\"Customize your workspace security\"],\"5cNMFz\":[\"Data model\"],\"Y2ImVJ\":[\"Define the name and description of your object\"],\"n+SX4g\":[\"Developers\"],\"EoKe5U\":[\"Domain\"],\"v+uKyy\":[\"Edit billing interval\"],\"h2KoTu\":[\"Edit payment method, see your invoices and more\"],\"6o1M/Q\":[\"Edit your subdomain name or set a custom domain.\"],\"O3oNi5\":[\"Email\"],\"GpB8YV\":[\"Enterprise\"],\"RgSsJ3\":[\"Error while switching subscription \",[\"1\"],\".\"],\"JLxMta\":[\"Establish Webhook endpoints for notifications on asynchronous events.\"],\"fV7V51\":[\"Existing objects\"],\"Q0iobh\":[\"Failed to create object\"],\"aTieE0\":[\"from monthly to yearly\"],\"K04lE5\":[\"from yearly to monthly\"],\"Weq9zb\":[\"General\"],\"hWp1MY\":[\"Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time.\"],\"NoNwIX\":[\"Inactive\"],\"QdoUFL\":[\"Invalid form values\"],\"/Wrd4p\":[\"Invalid object data\"],\"vXIe7J\":[\"Language\"],\"36kYu0\":[\"Manage your subscription\"],\"6YtxFj\":[\"Name\"],\"J7w8lI\":[\"Name of your workspace\"],\"isRobC\":[\"New\"],\"hFxdey\":[\"New Object\"],\"+FLRjr\":[\"not allowed\"],\"FU94q4\":[\"Object created successfully\"],\"B3toQF\":[\"Objects\"],\"N0+GsR\":[\"Picture\"],\"vERlcd\":[\"Profile\"],\"BoNHR0\":[\"Search an object...\"],\"a3LDKx\":[\"Security\"],\"AXTJAW\":[\"Select your preferred language\"],\"tn41zE\":[\"Set the name of your subdomain\"],\"vnS6Rf\":[\"SSO\"],\"omhc+7\":[\"Subdomain already taken\"],\"OlC/tU\":[\"Subdomain can not be longer than 30 characters\"],\"ZETwlU\":[\"Subdomain can not be shorter than 3 characters\"],\"AymUjZ\":[\"Subscription has been switched \",[\"0\"]],\"XYLcNv\":[\"Support\"],\"Sk5fyO\":[\"Switch \",[\"2\"]],\"z9maAp\":[\"Switch \",[\"3\"]],\"FwAweN\":[\"Switch billing \",[\"4\"]],\"VGZYbZ\":[\"The email associated to your account\"],\"aqMzDX\":[\"to monthly\"],\"WXXiXO\":[\"to yearly\"],\"oTTQsc\":[\"Use letter, number and dash only. Start and finish with a letter or a number\"],\"7PzzBU\":[\"User\"],\"KANz0G\":[\"View billing details\"],\"v1kQyJ\":[\"Webhooks\"],\"pmUArF\":[\"Workspace\"],\"zSkMV0\":[\"You will be charged immediately for the full year.\"],\"XVnj6K\":[\"Your credit balance will be used to pay the monthly bills.\"],\"9ivpwk\":[\"Your name as it will be displayed\"],\"RhNbPE\":[\"Your workspace will be disabled\"]}")as Messages;

View File

@ -0,0 +1 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"J/hVSQ\":[[\"0\"]],\"uyJsf6\":[\"About\"],\"F6pfE9\":[\"Active\"],\"Z+OxK0\":[\"Active APIs keys created by you or your team.\"],\"dEO3Zx\":[\"Add object\"],\"5h8ooz\":[\"API keys\"],\"TmDqlR\":[\"Are you sure that you want to change your billing interval? \",[\"5\"]],\"P8fBlG\":[\"Authentication\"],\"R+w/Va\":[\"Billing\"],\"rRK/Lf\":[\"Cancel Plan\"],\"N6gPiD\":[\"Cancel your subscription\"],\"JcIGyw\":[\"Change \",[\"6\"]],\"+zUMwJ\":[\"Configure an SSO connection\"],\"uXGLuq\":[\"Create API key\"],\"dkAPxi\":[\"Create Webhook\"],\"CMhr4u\":[\"Customize Domain\"],\"bCJa9l\":[\"Customize your workspace security\"],\"5cNMFz\":[\"Data model\"],\"Y2ImVJ\":[\"Define the name and description of your object\"],\"n+SX4g\":[\"Developers\"],\"EoKe5U\":[\"Domain\"],\"v+uKyy\":[\"Edit billing interval\"],\"h2KoTu\":[\"Edit payment method, see your invoices and more\"],\"6o1M/Q\":[\"Edit your subdomain name or set a custom domain.\"],\"O3oNi5\":[\"Email\"],\"GpB8YV\":[\"Enterprise\"],\"RgSsJ3\":[\"Error while switching subscription \",[\"1\"],\".\"],\"JLxMta\":[\"Establish Webhook endpoints for notifications on asynchronous events.\"],\"fV7V51\":[\"Existing objects\"],\"Q0iobh\":[\"Failed to create object\"],\"aTieE0\":[\"from monthly to yearly\"],\"K04lE5\":[\"from yearly to monthly\"],\"Weq9zb\":[\"General\"],\"hWp1MY\":[\"Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time.\"],\"NoNwIX\":[\"Inactive\"],\"QdoUFL\":[\"Invalid form values\"],\"/Wrd4p\":[\"Invalid object data\"],\"vXIe7J\":[\"Language\"],\"36kYu0\":[\"Manage your subscription\"],\"6YtxFj\":[\"Name\"],\"J7w8lI\":[\"Name of your workspace\"],\"isRobC\":[\"New\"],\"hFxdey\":[\"New Object\"],\"+FLRjr\":[\"not allowed\"],\"FU94q4\":[\"Object created successfully\"],\"B3toQF\":[\"Objects\"],\"N0+GsR\":[\"Picture\"],\"vERlcd\":[\"Profile\"],\"BoNHR0\":[\"Search an object...\"],\"a3LDKx\":[\"Security\"],\"AXTJAW\":[\"Select your preferred language\"],\"tn41zE\":[\"Set the name of your subdomain\"],\"vnS6Rf\":[\"SSO\"],\"omhc+7\":[\"Subdomain already taken\"],\"OlC/tU\":[\"Subdomain can not be longer than 30 characters\"],\"ZETwlU\":[\"Subdomain can not be shorter than 3 characters\"],\"AymUjZ\":[\"Subscription has been switched \",[\"0\"]],\"XYLcNv\":[\"Support\"],\"Sk5fyO\":[\"Switch \",[\"2\"]],\"z9maAp\":[\"Switch \",[\"3\"]],\"FwAweN\":[\"Switch billing \",[\"4\"]],\"VGZYbZ\":[\"The email associated to your account\"],\"aqMzDX\":[\"to monthly\"],\"WXXiXO\":[\"to yearly\"],\"oTTQsc\":[\"Use letter, number and dash only. Start and finish with a letter or a number\"],\"7PzzBU\":[\"User\"],\"KANz0G\":[\"View billing details\"],\"v1kQyJ\":[\"Webhooks\"],\"pmUArF\":[\"Workspace\"],\"zSkMV0\":[\"You will be charged immediately for the full year.\"],\"XVnj6K\":[\"Your credit balance will be used to pay the monthly bills.\"],\"9ivpwk\":[\"Your name as it will be displayed\"],\"RhNbPE\":[\"Your workspace will be disabled\"]}")as Messages;

View File

@ -0,0 +1,326 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2025-01-16 21:57+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: it\n"
#. placeholder {0}: settingsObjectsTableMetadataField.fieldLabel
#: src/pages/settings/data-model/SettingsObjects.tsx:180
msgid "{0}"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:84
msgid "About"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:190
msgid "Active"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:50
msgid "Active APIs keys created by you or your team."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:144
msgid "Add object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:49
msgid "API keys"
msgstr ""
#. placeholder {5}: switchingInfo.impact
#: src/pages/settings/SettingsBilling.tsx:190
msgid "Are you sure that you want to change your billing interval? {5}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:63
msgid "Authentication"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:128
#: src/pages/settings/SettingsBilling.tsx:134
msgid "Billing"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:174
msgid "Cancel Plan"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:169
msgid "Cancel your subscription"
msgstr ""
#. placeholder {6}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:194
msgid "Change {6}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:48
msgid "Configure an SSO connection"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:56
msgid "Create API key"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:72
msgid "Create Webhook"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:56
msgid "Customize Domain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:64
msgid "Customize your workspace security"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:139
msgid "Data model"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:85
msgid "Define the name and description of your object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:35
#: src/pages/settings/developers/SettingsDevelopers.tsx:42
msgid "Developers"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:51
#: src/pages/settings/workspace/SettingsDomain.tsx:135
#: src/pages/settings/workspace/SettingsDomain.tsx:150
msgid "Domain"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:156
msgid "Edit billing interval"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:144
msgid "Edit payment method, see your invoices and more"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:52
msgid "Edit your subdomain name or set a custom domain."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:42
msgid "Email"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:51
msgid "Enterprise"
msgstr ""
#. placeholder {1}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:118
msgid "Error while switching subscription {1}."
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:66
msgid "Establish Webhook endpoints for notifications on asynchronous events."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:164
msgid "Existing objects"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:56
msgid "Failed to create object"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:45
msgid "from monthly to yearly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:52
msgid "from yearly to monthly"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:29
#: src/pages/settings/SettingsWorkspace.tsx:35
#: src/pages/settings/workspace/SettingsDomain.tsx:125
#: src/pages/settings/workspace/SettingsDomain.tsx:132
msgid "General"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:65
msgid "Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:214
msgid "Inactive"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:87
msgid "Invalid form values"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:52
msgid "Invalid object data"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:51
msgid "Language"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:143
msgid "Manage your subscription"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
#: src/pages/settings/SettingsProfile.tsx:35
msgid "Name"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
msgid "Name of your workspace"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:76
msgid "New"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:66
msgid "New Object"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:108
msgid "not allowed"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:45
msgid "Object created successfully"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:156
#: src/pages/settings/data-model/SettingsNewObject.tsx:73
msgid "Objects"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:40
#: src/pages/settings/SettingsProfile.tsx:30
msgid "Picture"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:19
#: src/pages/settings/SettingsProfile.tsx:25
msgid "Profile"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:168
msgid "Search an object..."
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:33
#: src/pages/settings/security/SettingsSecurity.tsx:40
msgid "Security"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:52
msgid "Select your preferred language"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:151
msgid "Set the name of your subdomain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:47
msgid "SSO"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:107
msgid "Subdomain already taken"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:49
msgid "Subdomain can not be longer than 30 characters"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:48
msgid "Subdomain can not be shorter than 3 characters"
msgstr ""
#. placeholder {0}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:113
msgid "Subscription has been switched {0}"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:63
msgid "Support"
msgstr ""
#. placeholder {2}: switchingInfo.from
#: src/pages/settings/SettingsBilling.tsx:157
msgid "Switch {2}"
msgstr ""
#. placeholder {3}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:161
msgid "Switch {3}"
msgstr ""
#. placeholder {4}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:187
msgid "Switch billing {4}"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:43
msgid "The email associated to your account"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:51
msgid "to monthly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:44
msgid "to yearly"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:51
msgid "Use letter, number and dash only. Start and finish with a letter or a number"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:22
msgid "User"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:148
msgid "View billing details"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:65
msgid "Webhooks"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:32
#: src/pages/settings/SettingsBilling.tsx:131
#: src/pages/settings/workspace/SettingsDomain.tsx:128
#: src/pages/settings/security/SettingsSecurity.tsx:37
#: src/pages/settings/developers/SettingsDevelopers.tsx:39
#: src/pages/settings/data-model/SettingsObjects.tsx:152
#: src/pages/settings/data-model/SettingsNewObject.tsx:69
msgid "Workspace"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:46
msgid "You will be charged immediately for the full year."
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:53
msgid "Your credit balance will be used to pay the monthly bills."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:36
msgid "Your name as it will be displayed"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:170
msgid "Your workspace will be disabled"
msgstr ""

View File

@ -1 +0,0 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"vXIe7J\":[\"Language\"],\"AXTJAW\":[\"Select your preferred language\"]}")as Messages;

View File

@ -0,0 +1,326 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2025-01-16 21:57+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: pseudo-en\n"
#. placeholder {0}: settingsObjectsTableMetadataField.fieldLabel
#: src/pages/settings/data-model/SettingsObjects.tsx:180
msgid "{0}"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:84
msgid "About"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:190
msgid "Active"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:50
msgid "Active APIs keys created by you or your team."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:144
msgid "Add object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:49
msgid "API keys"
msgstr ""
#. placeholder {5}: switchingInfo.impact
#: src/pages/settings/SettingsBilling.tsx:190
msgid "Are you sure that you want to change your billing interval? {5}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:63
msgid "Authentication"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:128
#: src/pages/settings/SettingsBilling.tsx:134
msgid "Billing"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:174
msgid "Cancel Plan"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:169
msgid "Cancel your subscription"
msgstr ""
#. placeholder {6}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:194
msgid "Change {6}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:48
msgid "Configure an SSO connection"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:56
msgid "Create API key"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:72
msgid "Create Webhook"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:56
msgid "Customize Domain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:64
msgid "Customize your workspace security"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:139
msgid "Data model"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:85
msgid "Define the name and description of your object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:35
#: src/pages/settings/developers/SettingsDevelopers.tsx:42
msgid "Developers"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:51
#: src/pages/settings/workspace/SettingsDomain.tsx:135
#: src/pages/settings/workspace/SettingsDomain.tsx:150
msgid "Domain"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:156
msgid "Edit billing interval"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:144
msgid "Edit payment method, see your invoices and more"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:52
msgid "Edit your subdomain name or set a custom domain."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:42
msgid "Email"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:51
msgid "Enterprise"
msgstr ""
#. placeholder {1}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:118
msgid "Error while switching subscription {1}."
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:66
msgid "Establish Webhook endpoints for notifications on asynchronous events."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:164
msgid "Existing objects"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:56
msgid "Failed to create object"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:45
msgid "from monthly to yearly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:52
msgid "from yearly to monthly"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:29
#: src/pages/settings/SettingsWorkspace.tsx:35
#: src/pages/settings/workspace/SettingsDomain.tsx:125
#: src/pages/settings/workspace/SettingsDomain.tsx:132
msgid "General"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:65
msgid "Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:214
msgid "Inactive"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:87
msgid "Invalid form values"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:52
msgid "Invalid object data"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:51
msgid "Language"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:143
msgid "Manage your subscription"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
#: src/pages/settings/SettingsProfile.tsx:35
msgid "Name"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
msgid "Name of your workspace"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:76
msgid "New"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:66
msgid "New Object"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:108
msgid "not allowed"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:45
msgid "Object created successfully"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:156
#: src/pages/settings/data-model/SettingsNewObject.tsx:73
msgid "Objects"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:40
#: src/pages/settings/SettingsProfile.tsx:30
msgid "Picture"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:19
#: src/pages/settings/SettingsProfile.tsx:25
msgid "Profile"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:168
msgid "Search an object..."
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:33
#: src/pages/settings/security/SettingsSecurity.tsx:40
msgid "Security"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:52
msgid "Select your preferred language"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:151
msgid "Set the name of your subdomain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:47
msgid "SSO"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:107
msgid "Subdomain already taken"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:49
msgid "Subdomain can not be longer than 30 characters"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:48
msgid "Subdomain can not be shorter than 3 characters"
msgstr ""
#. placeholder {0}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:113
msgid "Subscription has been switched {0}"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:63
msgid "Support"
msgstr ""
#. placeholder {2}: switchingInfo.from
#: src/pages/settings/SettingsBilling.tsx:157
msgid "Switch {2}"
msgstr ""
#. placeholder {3}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:161
msgid "Switch {3}"
msgstr ""
#. placeholder {4}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:187
msgid "Switch billing {4}"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:43
msgid "The email associated to your account"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:51
msgid "to monthly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:44
msgid "to yearly"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:51
msgid "Use letter, number and dash only. Start and finish with a letter or a number"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:22
msgid "User"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:148
msgid "View billing details"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:65
msgid "Webhooks"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:32
#: src/pages/settings/SettingsBilling.tsx:131
#: src/pages/settings/workspace/SettingsDomain.tsx:128
#: src/pages/settings/security/SettingsSecurity.tsx:37
#: src/pages/settings/developers/SettingsDevelopers.tsx:39
#: src/pages/settings/data-model/SettingsObjects.tsx:152
#: src/pages/settings/data-model/SettingsNewObject.tsx:69
msgid "Workspace"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:46
msgid "You will be charged immediately for the full year."
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:53
msgid "Your credit balance will be used to pay the monthly bills."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:36
msgid "Your name as it will be displayed"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:170
msgid "Your workspace will be disabled"
msgstr ""

View File

@ -0,0 +1,326 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2025-01-16 21:57+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: pt\n"
#. placeholder {0}: settingsObjectsTableMetadataField.fieldLabel
#: src/pages/settings/data-model/SettingsObjects.tsx:180
msgid "{0}"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:84
msgid "About"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:190
msgid "Active"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:50
msgid "Active APIs keys created by you or your team."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:144
msgid "Add object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:49
msgid "API keys"
msgstr ""
#. placeholder {5}: switchingInfo.impact
#: src/pages/settings/SettingsBilling.tsx:190
msgid "Are you sure that you want to change your billing interval? {5}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:63
msgid "Authentication"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:128
#: src/pages/settings/SettingsBilling.tsx:134
msgid "Billing"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:174
msgid "Cancel Plan"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:169
msgid "Cancel your subscription"
msgstr ""
#. placeholder {6}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:194
msgid "Change {6}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:48
msgid "Configure an SSO connection"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:56
msgid "Create API key"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:72
msgid "Create Webhook"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:56
msgid "Customize Domain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:64
msgid "Customize your workspace security"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:139
msgid "Data model"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:85
msgid "Define the name and description of your object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:35
#: src/pages/settings/developers/SettingsDevelopers.tsx:42
msgid "Developers"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:51
#: src/pages/settings/workspace/SettingsDomain.tsx:135
#: src/pages/settings/workspace/SettingsDomain.tsx:150
msgid "Domain"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:156
msgid "Edit billing interval"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:144
msgid "Edit payment method, see your invoices and more"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:52
msgid "Edit your subdomain name or set a custom domain."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:42
msgid "Email"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:51
msgid "Enterprise"
msgstr ""
#. placeholder {1}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:118
msgid "Error while switching subscription {1}."
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:66
msgid "Establish Webhook endpoints for notifications on asynchronous events."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:164
msgid "Existing objects"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:56
msgid "Failed to create object"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:45
msgid "from monthly to yearly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:52
msgid "from yearly to monthly"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:29
#: src/pages/settings/SettingsWorkspace.tsx:35
#: src/pages/settings/workspace/SettingsDomain.tsx:125
#: src/pages/settings/workspace/SettingsDomain.tsx:132
msgid "General"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:65
msgid "Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:214
msgid "Inactive"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:87
msgid "Invalid form values"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:52
msgid "Invalid object data"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:51
msgid "Language"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:143
msgid "Manage your subscription"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
#: src/pages/settings/SettingsProfile.tsx:35
msgid "Name"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
msgid "Name of your workspace"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:76
msgid "New"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:66
msgid "New Object"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:108
msgid "not allowed"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:45
msgid "Object created successfully"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:156
#: src/pages/settings/data-model/SettingsNewObject.tsx:73
msgid "Objects"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:40
#: src/pages/settings/SettingsProfile.tsx:30
msgid "Picture"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:19
#: src/pages/settings/SettingsProfile.tsx:25
msgid "Profile"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:168
msgid "Search an object..."
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:33
#: src/pages/settings/security/SettingsSecurity.tsx:40
msgid "Security"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:52
msgid "Select your preferred language"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:151
msgid "Set the name of your subdomain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:47
msgid "SSO"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:107
msgid "Subdomain already taken"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:49
msgid "Subdomain can not be longer than 30 characters"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:48
msgid "Subdomain can not be shorter than 3 characters"
msgstr ""
#. placeholder {0}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:113
msgid "Subscription has been switched {0}"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:63
msgid "Support"
msgstr ""
#. placeholder {2}: switchingInfo.from
#: src/pages/settings/SettingsBilling.tsx:157
msgid "Switch {2}"
msgstr ""
#. placeholder {3}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:161
msgid "Switch {3}"
msgstr ""
#. placeholder {4}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:187
msgid "Switch billing {4}"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:43
msgid "The email associated to your account"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:51
msgid "to monthly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:44
msgid "to yearly"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:51
msgid "Use letter, number and dash only. Start and finish with a letter or a number"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:22
msgid "User"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:148
msgid "View billing details"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:65
msgid "Webhooks"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:32
#: src/pages/settings/SettingsBilling.tsx:131
#: src/pages/settings/workspace/SettingsDomain.tsx:128
#: src/pages/settings/security/SettingsSecurity.tsx:37
#: src/pages/settings/developers/SettingsDevelopers.tsx:39
#: src/pages/settings/data-model/SettingsObjects.tsx:152
#: src/pages/settings/data-model/SettingsNewObject.tsx:69
msgid "Workspace"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:46
msgid "You will be charged immediately for the full year."
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:53
msgid "Your credit balance will be used to pay the monthly bills."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:36
msgid "Your name as it will be displayed"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:170
msgid "Your workspace will be disabled"
msgstr ""

View File

@ -1 +0,0 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"vXIe7J\":[\"Language\"],\"AXTJAW\":[\"Select your preferred language\"]}")as Messages;

View File

@ -0,0 +1,326 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2025-01-16 21:57+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: zh\n"
#. placeholder {0}: settingsObjectsTableMetadataField.fieldLabel
#: src/pages/settings/data-model/SettingsObjects.tsx:180
msgid "{0}"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:84
msgid "About"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:190
msgid "Active"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:50
msgid "Active APIs keys created by you or your team."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:144
msgid "Add object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:49
msgid "API keys"
msgstr ""
#. placeholder {5}: switchingInfo.impact
#: src/pages/settings/SettingsBilling.tsx:190
msgid "Are you sure that you want to change your billing interval? {5}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:63
msgid "Authentication"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:128
#: src/pages/settings/SettingsBilling.tsx:134
msgid "Billing"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:174
msgid "Cancel Plan"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:169
msgid "Cancel your subscription"
msgstr ""
#. placeholder {6}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:194
msgid "Change {6}"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:48
msgid "Configure an SSO connection"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:56
msgid "Create API key"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:72
msgid "Create Webhook"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:56
msgid "Customize Domain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:64
msgid "Customize your workspace security"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:139
msgid "Data model"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:85
msgid "Define the name and description of your object"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:35
#: src/pages/settings/developers/SettingsDevelopers.tsx:42
msgid "Developers"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:51
#: src/pages/settings/workspace/SettingsDomain.tsx:135
#: src/pages/settings/workspace/SettingsDomain.tsx:150
msgid "Domain"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:156
msgid "Edit billing interval"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:144
msgid "Edit payment method, see your invoices and more"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:52
msgid "Edit your subdomain name or set a custom domain."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:42
msgid "Email"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:51
msgid "Enterprise"
msgstr ""
#. placeholder {1}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:118
msgid "Error while switching subscription {1}."
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:66
msgid "Establish Webhook endpoints for notifications on asynchronous events."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:164
msgid "Existing objects"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:56
msgid "Failed to create object"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:45
msgid "from monthly to yearly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:52
msgid "from yearly to monthly"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:29
#: src/pages/settings/SettingsWorkspace.tsx:35
#: src/pages/settings/workspace/SettingsDomain.tsx:125
#: src/pages/settings/workspace/SettingsDomain.tsx:132
msgid "General"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:65
msgid "Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time."
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:214
msgid "Inactive"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:87
msgid "Invalid form values"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:52
msgid "Invalid object data"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:51
msgid "Language"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:143
msgid "Manage your subscription"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
#: src/pages/settings/SettingsProfile.tsx:35
msgid "Name"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:44
msgid "Name of your workspace"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:76
msgid "New"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:66
msgid "New Object"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:108
msgid "not allowed"
msgstr ""
#: src/pages/settings/data-model/SettingsNewObject.tsx:45
msgid "Object created successfully"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:156
#: src/pages/settings/data-model/SettingsNewObject.tsx:73
msgid "Objects"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:40
#: src/pages/settings/SettingsProfile.tsx:30
msgid "Picture"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:19
#: src/pages/settings/SettingsProfile.tsx:25
msgid "Profile"
msgstr ""
#: src/pages/settings/data-model/SettingsObjects.tsx:168
msgid "Search an object..."
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:33
#: src/pages/settings/security/SettingsSecurity.tsx:40
msgid "Security"
msgstr ""
#: src/pages/settings/profile/appearance/components/SettingsExperience.tsx:52
msgid "Select your preferred language"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:151
msgid "Set the name of your subdomain"
msgstr ""
#: src/pages/settings/security/SettingsSecurity.tsx:47
msgid "SSO"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:107
msgid "Subdomain already taken"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:49
msgid "Subdomain can not be longer than 30 characters"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:48
msgid "Subdomain can not be shorter than 3 characters"
msgstr ""
#. placeholder {0}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:113
msgid "Subscription has been switched {0}"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:63
msgid "Support"
msgstr ""
#. placeholder {2}: switchingInfo.from
#: src/pages/settings/SettingsBilling.tsx:157
msgid "Switch {2}"
msgstr ""
#. placeholder {3}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:161
msgid "Switch {3}"
msgstr ""
#. placeholder {4}: switchingInfo.to
#: src/pages/settings/SettingsBilling.tsx:187
msgid "Switch billing {4}"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:43
msgid "The email associated to your account"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:51
msgid "to monthly"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:44
msgid "to yearly"
msgstr ""
#: src/pages/settings/workspace/SettingsDomain.tsx:51
msgid "Use letter, number and dash only. Start and finish with a letter or a number"
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:22
msgid "User"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:148
msgid "View billing details"
msgstr ""
#: src/pages/settings/developers/SettingsDevelopers.tsx:65
msgid "Webhooks"
msgstr ""
#: src/pages/settings/SettingsWorkspace.tsx:32
#: src/pages/settings/SettingsBilling.tsx:131
#: src/pages/settings/workspace/SettingsDomain.tsx:128
#: src/pages/settings/security/SettingsSecurity.tsx:37
#: src/pages/settings/developers/SettingsDevelopers.tsx:39
#: src/pages/settings/data-model/SettingsObjects.tsx:152
#: src/pages/settings/data-model/SettingsNewObject.tsx:69
msgid "Workspace"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:46
msgid "You will be charged immediately for the full year."
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:53
msgid "Your credit balance will be used to pay the monthly bills."
msgstr ""
#: src/pages/settings/SettingsProfile.tsx:36
msgid "Your name as it will be displayed"
msgstr ""
#: src/pages/settings/SettingsBilling.tsx:170
msgid "Your workspace will be disabled"
msgstr ""

View File

@ -1 +0,0 @@
/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"vXIe7J\":[\"Language\"],\"AXTJAW\":[\"Select your preferred language\"]}")as Messages;

View File

@ -11,14 +11,12 @@ import { HelmetProvider } from 'react-helmet-async';
import { RecoilRoot } from 'recoil';
import { RecoilURLSyncJSON } from 'recoil-sync';
import { IconsProvider } from 'twenty-ui';
import { messages as enMessages } from '../../../locales/en/messages';
import { messages as frMessages } from '../../../locales/fr/messages';
import { messages as enMessages } from '../../../locales/generated/en';
i18n.load({
en: enMessages,
fr: frMessages,
});
i18n.activate('fr');
i18n.activate('en');
export const App = () => {
return (

View File

@ -60,8 +60,8 @@ import { useRedirectToWorkspaceDomain } from '@/domain-manager/hooks/useRedirect
import { domainConfigurationState } from '@/domain-manager/states/domainConfigurationState';
import { isAppWaitingForFreshObjectMetadataState } from '@/object-metadata/states/isAppWaitingForFreshObjectMetadataState';
import { workspaceAuthProvidersState } from '@/workspace/states/workspaceAuthProvidersState';
import { i18n } from '@lingui/core';
import { useSearchParams } from 'react-router-dom';
import { dynamicActivate } from '~/utils/i18n/dynamicActivate';
export const useAuth = () => {
const setTokenPair = useSetRecoilState(tokenPairState);
@ -280,7 +280,7 @@ export const useAuth = () => {
)
: TimeFormat[detectTimeFormat()],
});
i18n.activate(workspaceMember.locale ?? 'en');
dynamicActivate(workspaceMember.locale ?? 'en');
}
const workspace = user.currentWorkspace ?? null;

View File

@ -16,9 +16,9 @@ import { detectTimeZone } from '@/localization/utils/detectTimeZone';
import { getDateFormatFromWorkspaceDateFormat } from '@/localization/utils/getDateFormatFromWorkspaceDateFormat';
import { getTimeFormatFromWorkspaceTimeFormat } from '@/localization/utils/getTimeFormatFromWorkspaceTimeFormat';
import { ColorScheme } from '@/workspace-member/types/WorkspaceMember';
import { i18n } from '@lingui/core';
import { WorkspaceMember } from '~/generated-metadata/graphql';
import { useGetCurrentUserQuery } from '~/generated/graphql';
import { dynamicActivate } from '~/utils/i18n/dynamicActivate';
import { isDefined } from '~/utils/isDefined';
export const UserProviderEffect = () => {
@ -93,7 +93,7 @@ export const UserProviderEffect = () => {
: TimeFormat[detectTimeFormat()],
});
i18n.activate(workspaceMember.locale ?? 'en');
dynamicActivate(workspaceMember.locale ?? 'en');
}
if (isDefined(workspaceMembers)) {

View File

@ -1,3 +1,4 @@
import { useLingui } from '@lingui/react/macro';
import { useState } from 'react';
import { useRecoilValue, useSetRecoilState } from 'recoil';
import {
@ -35,26 +36,28 @@ type SwitchInfo = {
impact: string;
};
const MONTHLY_SWITCH_INFO: SwitchInfo = {
export const SettingsBilling = () => {
const { t } = useLingui();
const MONTHLY_SWITCH_INFO: SwitchInfo = {
newInterval: SubscriptionInterval.Year,
to: 'to yearly',
from: 'from monthly to yearly',
impact: 'You will be charged immediately for the full year.',
};
to: t`to yearly`,
from: t`from monthly to yearly`,
impact: t`You will be charged immediately for the full year.`,
};
const YEARLY_SWITCH_INFO: SwitchInfo = {
const YEARLY_SWITCH_INFO: SwitchInfo = {
newInterval: SubscriptionInterval.Month,
to: 'to monthly',
from: 'from yearly to monthly',
impact: 'Your credit balance will be used to pay the monthly bills.',
};
to: t`to monthly`,
from: t`from yearly to monthly`,
impact: t`Your credit balance will be used to pay the monthly bills.`,
};
const SWITCH_INFOS = {
const SWITCH_INFOS = {
year: YEARLY_SWITCH_INFO,
month: MONTHLY_SWITCH_INFO,
};
};
export const SettingsBilling = () => {
const { enqueueSnackBar } = useSnackBar();
const onboardingStatus = useOnboardingStatus();
const subscriptionStatus = useSubscriptionStatus();
@ -94,6 +97,10 @@ export const SettingsBilling = () => {
setIsSwitchingIntervalModalOpen(true);
};
const from = switchingInfo.from;
const to = switchingInfo.to;
const impact = switchingInfo.impact;
const switchInterval = async () => {
try {
await updateBillingSubscription();
@ -107,28 +114,25 @@ export const SettingsBilling = () => {
};
setCurrentWorkspace(newCurrentWorkspace);
}
enqueueSnackBar(`Subscription has been switched ${switchingInfo.to}`, {
enqueueSnackBar(t`Subscription has been switched ${to}`, {
variant: SnackBarVariant.Success,
});
} catch (error: any) {
enqueueSnackBar(
`Error while switching subscription ${switchingInfo.to}.`,
{
enqueueSnackBar(t`Error while switching subscription ${to}.`, {
variant: SnackBarVariant.Error,
},
);
});
}
};
return (
<SubMenuTopBarContainer
title="Billing"
title={t`Billing`}
links={[
{
children: 'Workspace',
children: t`Workspace`,
href: getSettingsPagePath(SettingsPath.Workspace),
},
{ children: 'Billing' },
{ children: t`Billing` },
]}
>
<SettingsPageContainer>
@ -137,12 +141,12 @@ export const SettingsBilling = () => {
<>
<Section>
<H2Title
title="Manage your subscription"
description="Edit payment method, see your invoices and more"
title={t`Manage your subscription`}
description={t`Edit payment method, see your invoices and more`}
/>
<Button
Icon={IconCreditCard}
title="View billing details"
title={t`View billing details`}
variant="secondary"
onClick={openBillingPortal}
disabled={billingPortalButtonDisabled}
@ -150,12 +154,12 @@ export const SettingsBilling = () => {
</Section>
<Section>
<H2Title
title="Edit billing interval"
description={`Switch ${switchingInfo.from}`}
title={t`Edit billing interval`}
description={t`Switch ${from}`}
/>
<Button
Icon={IconCalendarEvent}
title={`Switch ${switchingInfo.to}`}
title={t`Switch ${to}`}
variant="secondary"
onClick={openSwitchingIntervalModal}
disabled={switchIntervalButtonDisabled}
@ -163,12 +167,12 @@ export const SettingsBilling = () => {
</Section>
<Section>
<H2Title
title="Cancel your subscription"
description="Your workspace will be disabled"
title={t`Cancel your subscription`}
description={t`Your workspace will be disabled`}
/>
<Button
Icon={IconCircleX}
title="Cancel Plan"
title={t`Cancel Plan`}
variant="secondary"
accent="danger"
onClick={openBillingPortal}
@ -181,15 +185,10 @@ export const SettingsBilling = () => {
<ConfirmationModal
isOpen={isSwitchingIntervalModalOpen}
setIsOpen={setIsSwitchingIntervalModalOpen}
title={`Switch billing ${switchingInfo.to}`}
subtitle={
<>
{`Are you sure that you want to change your billing interval?
${switchingInfo.impact}`}
</>
}
title={t`Switch billing ${to}`}
subtitle={t`Are you sure that you want to change your billing interval? ${impact}`}
onConfirmClick={switchInterval}
deleteButtonText={`Change ${switchingInfo.to}`}
deleteButtonText={t`Change ${to}`}
confirmButtonAccent={'blue'}
/>
</SubMenuTopBarContainer>

View File

@ -1,3 +1,4 @@
import { useLingui } from '@lingui/react/macro';
import { H2Title, Section } from 'twenty-ui';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
@ -10,30 +11,36 @@ import { getSettingsPagePath } from '@/settings/utils/getSettingsPagePath';
import { SettingsPath } from '@/types/SettingsPath';
import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer';
export const SettingsProfile = () => (
export const SettingsProfile = () => {
const { t } = useLingui();
return (
<SubMenuTopBarContainer
title="Profile"
title={t`Profile`}
links={[
{
children: 'User',
children: t`User`,
href: getSettingsPagePath(SettingsPath.ProfilePage),
},
{ children: 'Profile' },
{ children: t`Profile` },
]}
>
<SettingsPageContainer>
<Section>
<H2Title title="Picture" />
<H2Title title={t`Picture`} />
<ProfilePictureUploader />
</Section>
<Section>
<H2Title title="Name" description="Your name as it will be displayed" />
<H2Title
title={t`Name`}
description={t`Your name as it will be displayed`}
/>
<NameFields />
</Section>
<Section>
<H2Title
title="Email"
description="The email associated to your account"
title={t`Email`}
description={t`The email associated to your account`}
/>
<EmailField />
</Section>
@ -45,4 +52,5 @@ export const SettingsProfile = () => (
</Section>
</SettingsPageContainer>
</SubMenuTopBarContainer>
);
);
};

View File

@ -1,12 +1,15 @@
import { useLingui } from '@lingui/react/macro';
import { useRecoilValue } from 'recoil';
import {
GithubVersionLink,
H2Title,
Section,
IconWorld,
Section,
UndecoratedLink,
} from 'twenty-ui';
import { useRecoilValue } from 'recoil';
import { isMultiWorkspaceEnabledState } from '@/client-config/states/isMultiWorkspaceEnabledState';
import { SettingsCard } from '@/settings/components/SettingsCard';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
import { DeleteWorkspace } from '@/settings/profile/components/DeleteWorkspace';
import { getSettingsPagePath } from '@/settings/utils/getSettingsPagePath';
@ -16,47 +19,50 @@ import { WorkspaceLogoUploader } from '@/settings/workspace/components/Workspace
import { SettingsPath } from '@/types/SettingsPath';
import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer';
import packageJson from '../../../package.json';
import { SettingsCard } from '@/settings/components/SettingsCard';
import { isMultiWorkspaceEnabledState } from '@/client-config/states/isMultiWorkspaceEnabledState';
export const SettingsWorkspace = () => {
const isMultiWorkspaceEnabled = useRecoilValue(isMultiWorkspaceEnabledState);
const { t } = useLingui();
return (
<SubMenuTopBarContainer
title="General"
title={t`General`}
links={[
{
children: 'Workspace',
children: t`Workspace`,
href: getSettingsPagePath(SettingsPath.Workspace),
},
{ children: 'General' },
{ children: t`General` },
]}
>
<SettingsPageContainer>
<Section>
<H2Title title="Picture" />
<H2Title title={t`Picture`} />
<WorkspaceLogoUploader />
</Section>
<Section>
<H2Title title="Name" description="Name of your workspace" />
<H2Title title={t`Name`} description={t`Name of your workspace`} />
<NameField />
</Section>
{isMultiWorkspaceEnabled && (
<>
<Section>
<H2Title
title="Domain"
description="Edit your subdomain name or set a custom domain."
title={t`Domain`}
description={t`Edit your subdomain name or set a custom domain.`}
/>
<UndecoratedLink to={getSettingsPagePath(SettingsPath.Domain)}>
<SettingsCard title="Customize Domain" Icon={<IconWorld />} />
<SettingsCard
title={t`Customize Domain`}
Icon={<IconWorld />}
/>
</UndecoratedLink>
</Section>
<Section>
<H2Title
title="Support"
title={t`Support`}
adornment={<ToggleImpersonate />}
description="Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time."
description={t`Grant Twenty support temporary access to your workspace so we can troubleshoot problems or recover content on your behalf. You can revoke access at any time.`}
/>
</Section>
</>

View File

@ -1,4 +1,5 @@
import { zodResolver } from '@hookform/resolvers/zod';
import { useLingui } from '@lingui/react/macro';
import { FormProvider, useForm } from 'react-hook-form';
import { useNavigate } from 'react-router-dom';
import { H2Title, Section } from 'twenty-ui';
@ -24,78 +25,78 @@ type SettingsDataModelNewObjectFormValues = z.infer<typeof newObjectFormSchema>;
export const SettingsNewObject = () => {
const navigate = useNavigate();
const { t } = useLingui();
const { enqueueSnackBar } = useSnackBar();
const { createOneObjectMetadataItem, findManyRecordsCache } =
useCreateOneObjectMetadataItem();
const settingsObjectsPagePath = getSettingsPagePath(SettingsPath.Objects);
const formConfig = useForm<SettingsDataModelNewObjectFormValues>({
mode: 'onTouched',
const methods = useForm<SettingsDataModelNewObjectFormValues>({
defaultValues: {},
resolver: zodResolver(newObjectFormSchema),
});
const { isValid, isSubmitting } = formConfig.formState;
const canSave = isValid && !isSubmitting;
const { handleSubmit } = methods;
const handleSave = async (
formValues: SettingsDataModelNewObjectFormValues,
) => {
const { createOneObjectMetadataItem } = useCreateOneObjectMetadataItem();
const onSubmit = async (data: SettingsDataModelNewObjectFormValues) => {
try {
const { data: response } = await createOneObjectMetadataItem(
settingsCreateObjectInputSchema.parse(formValues),
);
const createObjectInput = settingsCreateObjectInputSchema.parse(data);
navigate(
response
? `${settingsObjectsPagePath}/${response.createOneObject.namePlural}`
: settingsObjectsPagePath,
);
await createOneObjectMetadataItem(createObjectInput);
await findManyRecordsCache();
enqueueSnackBar(t`Object created successfully`, {
variant: SnackBarVariant.Success,
});
navigate(getSettingsPagePath(SettingsPath.Objects));
} catch (error) {
enqueueSnackBar((error as Error).message, {
if (error instanceof z.ZodError) {
enqueueSnackBar(t`Invalid object data`, {
variant: SnackBarVariant.Error,
});
} else {
enqueueSnackBar(t`Failed to create object`, {
variant: SnackBarVariant.Error,
});
}
}
};
return (
// eslint-disable-next-line react/jsx-props-no-spreading
<FormProvider {...formConfig}>
<>
<SubMenuTopBarContainer
title="New Object"
title={t`New Object`}
links={[
{
children: 'Workspace',
children: t`Workspace`,
href: getSettingsPagePath(SettingsPath.Workspace),
},
{
children: 'Objects',
href: settingsObjectsPagePath,
children: t`Objects`,
href: getSettingsPagePath(SettingsPath.Objects),
},
{ children: 'New' },
{ children: t`New` },
]}
actionButton={
<SaveAndCancelButtons
isSaveDisabled={!canSave}
isCancelDisabled={isSubmitting}
onCancel={() => navigate(settingsObjectsPagePath)}
onSave={formConfig.handleSubmit(handleSave)}
/>
}
>
<SettingsPageContainer>
{/* eslint-disable-next-line react/jsx-props-no-spreading */}
<FormProvider {...methods}>
<form onSubmit={handleSubmit(onSubmit)}>
<Section>
<H2Title
title="About"
description="Name in both singular (e.g., 'Invoice') and plural (e.g., 'Invoices') forms."
title={t`About`}
description={t`Define the name and description of your object`}
/>
<SettingsDataModelObjectAboutForm />
</Section>
<SaveAndCancelButtons
onCancel={() =>
navigate(getSettingsPagePath(SettingsPath.Objects))
}
/>
</form>
</FormProvider>
</SettingsPageContainer>
</SubMenuTopBarContainer>
</FormProvider>
</>
);
};

View File

@ -21,6 +21,7 @@ import { TableSection } from '@/ui/layout/table/components/TableSection';
import { useSortedArray } from '@/ui/layout/table/hooks/useSortedArray';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
import { useLingui } from '@lingui/react/macro';
import { isNonEmptyArray } from '@sniptt/guards';
import { useMemo, useState } from 'react';
import {
@ -38,12 +39,15 @@ import { SettingsObjectTableItem } from '~/pages/settings/data-model/types/Setti
const StyledIconChevronRight = styled(IconChevronRight)`
color: ${({ theme }) => theme.font.color.tertiary};
`;
const StyledSearchInput = styled(TextInput)`
padding-bottom: ${({ theme }) => theme.spacing(2)};
width: 100%;
`;
export const SettingsObjects = () => {
const theme = useTheme();
const { t } = useLingui();
const [searchTerm, setSearchTerm] = useState('');
const { deleteOneObjectMetadataItem } = useDeleteOneObjectMetadataItem();
const { updateOneObjectMetadataItem } = useUpdateOneObjectMetadataItem();
@ -109,6 +113,7 @@ export const SettingsObjects = () => {
inactiveObjectSettingsArray,
SETTINGS_OBJECT_TABLE_METADATA,
);
const filteredActiveObjectSettingsItems = useMemo(
() =>
sortedActiveObjectSettingsItems.filter(
@ -128,14 +133,15 @@ export const SettingsObjects = () => {
),
[sortedInactiveObjectSettingsItems, searchTerm],
);
return (
<SubMenuTopBarContainer
title="Data model"
title={t`Data model`}
actionButton={
<UndecoratedLink to={getSettingsPagePath(SettingsPath.NewObject)}>
<Button
Icon={IconPlus}
title="Add object"
title={t`Add object`}
accent="blue"
size="small"
/>
@ -143,11 +149,11 @@ export const SettingsObjects = () => {
}
links={[
{
children: 'Workspace',
children: t`Workspace`,
href: getSettingsPagePath(SettingsPath.Workspace),
},
{
children: 'Objects',
children: t`Objects`,
},
]}
>
@ -155,11 +161,11 @@ export const SettingsObjects = () => {
<>
<SettingsObjectCoverImage />
<Section>
<H2Title title="Existing objects" />
<H2Title title={t`Existing objects`} />
<StyledSearchInput
LeftIcon={IconSearch}
placeholder="Search an object..."
placeholder={t`Search an object...`}
value={searchTerm}
onChange={setSearchTerm}
/>
@ -181,7 +187,7 @@ export const SettingsObjects = () => {
<TableHeader></TableHeader>
</StyledObjectTableRow>
{isNonEmptyArray(sortedActiveObjectSettingsItems) && (
<TableSection title="Active">
<TableSection title={t`Active`}>
{filteredActiveObjectSettingsItems.map(
(objectSettingsItem) => (
<SettingsObjectMetadataItemTableRow
@ -205,7 +211,7 @@ export const SettingsObjects = () => {
</TableSection>
)}
{isNonEmptyArray(inactiveObjectMetadataItems) && (
<TableSection title="Inactive">
<TableSection title={t`Inactive`}>
{filteredInactiveObjectSettingsItems.map(
(objectSettingsItem) => (
<SettingsObjectMetadataItemTableRow

View File

@ -7,6 +7,7 @@ import { SettingsPath } from '@/types/SettingsPath';
import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer';
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
import styled from '@emotion/styled';
import { useLingui } from '@lingui/react/macro';
import { Button, H2Title, IconPlus, MOBILE_VIEWPORT, Section } from 'twenty-ui';
const StyledButtonContainer = styled.div`
@ -27,30 +28,32 @@ const StyledContainer = styled.div<{ isMobile: boolean }>`
export const SettingsDevelopers = () => {
const isMobile = useIsMobile();
const { t } = useLingui();
return (
<SubMenuTopBarContainer
title="Developers"
title={t`Developers`}
actionButton={<SettingsReadDocumentationButton />}
links={[
{
children: 'Workspace',
children: t`Workspace`,
href: getSettingsPagePath(SettingsPath.Workspace),
},
{ children: 'Developers' },
{ children: t`Developers` },
]}
>
<SettingsPageContainer>
<StyledContainer isMobile={isMobile}>
<Section>
<H2Title
title="API keys"
description="Active APIs keys created by you or your team."
title={t`API keys`}
description={t`Active APIs keys created by you or your team.`}
/>
<SettingsApiKeysTable />
<StyledButtonContainer>
<Button
Icon={IconPlus}
title="Create API key"
title={t`Create API key`}
size="small"
variant="secondary"
to={'/settings/developers/api-keys/new'}
@ -59,14 +62,14 @@ export const SettingsDevelopers = () => {
</Section>
<Section>
<H2Title
title="Webhooks"
description="Establish Webhook endpoints for notifications on asynchronous events."
title={t`Webhooks`}
description={t`Establish Webhook endpoints for notifications on asynchronous events.`}
/>
<SettingsWebhooksTable />
<StyledButtonContainer>
<Button
Icon={IconPlus}
title="Create Webhook"
title={t`Create Webhook`}
size="small"
variant="secondary"
to={'/settings/developers/webhooks/new'}

View File

@ -1,12 +1,14 @@
import styled from '@emotion/styled';
import { useRecoilState } from 'recoil';
import { useRecoilState, useRecoilValue } from 'recoil';
import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState';
import { isDebugModeState } from '@/client-config/states/isDebugModeState';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord';
import { Select } from '@/ui/input/components/Select';
import { i18n } from '@lingui/core';
import { dynamicActivate } from '~/utils/i18n/dynamicActivate';
import { isDefined } from '~/utils/isDefined';
import { logError } from '~/utils/logError';
@ -20,6 +22,7 @@ export const LocalePicker = () => {
const [currentWorkspaceMember, setCurrentWorkspaceMember] = useRecoilState(
currentWorkspaceMemberState,
);
const isDebugMode = useRecoilValue(isDebugModeState);
const { updateOneRecord } = useUpdateOneRecord({
objectNameSingular: CoreObjectNameSingular.WorkspaceMember,
@ -49,17 +52,10 @@ export const LocalePicker = () => {
});
updateWorkspaceMember({ locale: value });
i18n.activate(value);
dynamicActivate(value);
};
return (
<StyledContainer>
<Select
dropdownId="preferred-locale"
dropdownWidthAuto
fullWidth
value={i18n.locale}
options={[
const localeOptions = [
{
label: 'Portuguese',
value: 'pt',
@ -88,7 +84,23 @@ export const LocalePicker = () => {
label: 'Chinese',
value: 'zh',
},
]}
];
if (isDebugMode) {
localeOptions.push({
label: 'Pseudo-English',
value: 'pseudo-en',
});
}
return (
<StyledContainer>
<Select
dropdownId="preferred-locale"
dropdownWidthAuto
fullWidth
value={i18n.locale}
options={localeOptions}
onChange={(value) => handleLocaleChange(value)}
/>
</StyledContainer>

View File

@ -1,4 +1,5 @@
import styled from '@emotion/styled';
import { useLingui } from '@lingui/react/macro';
import { H2Title, IconLock, Section, Tag } from 'twenty-ui';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
@ -25,27 +26,29 @@ const StyledSSOSection = styled(Section)`
`;
export const SettingsSecurity = () => {
const { t } = useLingui();
return (
<SubMenuTopBarContainer
title="Security"
title={t`Security`}
actionButton={<SettingsReadDocumentationButton />}
links={[
{
children: 'Workspace',
children: t`Workspace`,
href: getSettingsPagePath(SettingsPath.Workspace),
},
{ children: 'Security' },
{ children: t`Security` },
]}
>
<SettingsPageContainer>
<StyledMainContent>
<StyledSSOSection>
<H2Title
title="SSO"
description="Configure an SSO connection"
title={t`SSO`}
description={t`Configure an SSO connection`}
adornment={
<Tag
text={'Enterprise'}
text={t`Enterprise`}
color={'transparent'}
Icon={IconLock}
variant={'border'}
@ -57,8 +60,8 @@ export const SettingsSecurity = () => {
<Section>
<StyledContainer>
<H2Title
title="Authentication"
description="Customize your workspace security"
title={t`Authentication`}
description={t`Customize your workspace security`}
/>
<SettingsSecurityOptionsList />
</StyledContainer>

View File

@ -1,38 +1,28 @@
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
import { useRedirectToWorkspaceDomain } from '@/domain-manager/hooks/useRedirectToWorkspaceDomain';
import { domainConfigurationState } from '@/domain-manager/states/domainConfigurationState';
import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
import { getSettingsPagePath } from '@/settings/utils/getSettingsPagePath';
import { SettingsPath } from '@/types/SettingsPath';
import { zodResolver } from '@hookform/resolvers/zod';
import { H2Title, Section } from 'twenty-ui';
import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
import { TextInputV2 } from '@/ui/input/components/TextInputV2';
import { Controller, useForm } from 'react-hook-form';
import { z } from 'zod';
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
import { useRecoilState, useRecoilValue } from 'recoil';
import styled from '@emotion/styled';
import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons';
import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useNavigate } from 'react-router-dom';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
import { TextInputV2 } from '@/ui/input/components/TextInputV2';
import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer';
import styled from '@emotion/styled';
import { zodResolver } from '@hookform/resolvers/zod';
import { useLingui } from '@lingui/react/macro';
import { Controller, useForm } from 'react-hook-form';
import { useNavigate } from 'react-router-dom';
import { useRecoilState, useRecoilValue } from 'recoil';
import { H2Title, Section } from 'twenty-ui';
import { z } from 'zod';
import { useUpdateWorkspaceMutation } from '~/generated/graphql';
import { domainConfigurationState } from '@/domain-manager/states/domainConfigurationState';
import { isDefined } from '~/utils/isDefined';
import { useRedirectToWorkspaceDomain } from '@/domain-manager/hooks/useRedirectToWorkspaceDomain';
const validationSchema = z
.object({
subdomain: z
.string()
.min(3, { message: 'Subdomain can not be shorter than 3 characters' })
.max(30, { message: 'Subdomain can not be longer than 30 characters' })
.regex(/^[a-z0-9][a-z0-9-]{1,28}[a-z0-9]$/, {
message:
'Use letter, number and dash only. Start and finish with a letter or a number',
}),
})
.required();
type Form = z.infer<typeof validationSchema>;
type Form = {
subdomain: string;
};
const StyledDomainFromWrapper = styled.div`
align-items: center;
@ -49,6 +39,19 @@ const StyledDomain = styled.h2`
export const SettingsDomain = () => {
const navigate = useNavigate();
const { t } = useLingui();
const validationSchema = z
.object({
subdomain: z
.string()
.min(3, { message: t`Subdomain can not be shorter than 3 characters` })
.max(30, { message: t`Subdomain can not be longer than 30 characters` })
.regex(/^[a-z0-9][a-z0-9-]{1,28}[a-z0-9]$/, {
message: t`Use letter, number and dash only. Start and finish with a letter or a number`,
}),
})
.required();
const domainConfiguration = useRecoilValue(domainConfigurationState);
@ -81,7 +84,7 @@ export const SettingsDomain = () => {
const values = getValues();
if (!values || !isValid || !currentWorkspace) {
throw new Error('Invalid form values');
throw new Error(t`Invalid form values`);
}
await updateWorkspace({
@ -101,8 +104,8 @@ export const SettingsDomain = () => {
} catch (error) {
if (
error instanceof Error &&
(error.message === 'Subdomain already taken' ||
error.message.endsWith('not allowed'))
(error.message === t`Subdomain already taken` ||
error.message.endsWith(t`not allowed`))
) {
control.setError('subdomain', {
type: 'manual',
@ -119,17 +122,17 @@ export const SettingsDomain = () => {
return (
<SubMenuTopBarContainer
title="General"
title={t`General`}
links={[
{
children: 'Workspace',
children: t`Workspace`,
href: getSettingsPagePath(SettingsPath.Workspace),
},
{
children: 'General',
children: t`General`,
href: getSettingsPagePath(SettingsPath.Workspace),
},
{ children: 'Domain' },
{ children: t`Domain` },
]}
actionButton={
<SaveAndCancelButtons
@ -144,8 +147,8 @@ export const SettingsDomain = () => {
<SettingsPageContainer>
<Section>
<H2Title
title="Domain"
description="Set the name of your subdomain"
title={t`Domain`}
description={t`Set the name of your subdomain`}
/>
{currentWorkspace?.subdomain && (
<StyledDomainFromWrapper>

View File

@ -27,7 +27,7 @@ import { WorkspaceProviderEffect } from '@/workspace/components/WorkspaceProvide
import { i18n } from '@lingui/core';
import { I18nProvider } from '@lingui/react';
import { IconsProvider } from 'twenty-ui';
import { messages as enMessages } from '../../locales/en/messages';
import { dynamicActivate } from '~/utils/i18n/dynamicActivate';
import { FullHeightStorybookLayout } from '../FullHeightStorybookLayout';
export type PageDecoratorArgs = {
@ -66,10 +66,7 @@ const ApolloStorybookDevLogEffect = () => {
return <></>;
};
i18n.load({
en: enMessages,
});
i18n.activate('en');
dynamicActivate('en');
const Providers = () => {
return (

View File

@ -0,0 +1,7 @@
import { i18n } from '@lingui/core';
export const dynamicActivate = async (locale: string) => {
const { messages } = await import(`../../locales/generated/${locale}.ts`);
i18n.load(locale, messages);
i18n.activate(locale);
};

View File

@ -8,6 +8,7 @@
"src/**/*.jsx",
"src/**/*.d.ts",
"src/**/*.ts",
"src/**/*.tsx"
"src/**/*.tsx",
"lingui.config.ts"
]
}

View File

@ -17800,6 +17800,16 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:8.20.0":
version: 8.20.0
resolution: "@typescript-eslint/scope-manager@npm:8.20.0"
dependencies:
"@typescript-eslint/types": "npm:8.20.0"
"@typescript-eslint/visitor-keys": "npm:8.20.0"
checksum: 10c0/a8074768d06c863169294116624a45c19377ff0b8635ad5fa4ae673b43cf704d1b9b79384ceef0ff0abb78b107d345cd90fe5572354daf6ad773fe462ee71e6a
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/type-utils@npm:6.21.0"
@ -17862,6 +17872,13 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/types@npm:8.20.0":
version: 8.20.0
resolution: "@typescript-eslint/types@npm:8.20.0"
checksum: 10c0/21292d4ca089897015d2bf5ab99909a7b362902f63f4ba10696676823b50d00c7b4cd093b4b43fba01d12bc3feca3852d2c28528c06d8e45446b7477887dbee7
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:5.62.0":
version: 5.62.0
resolution: "@typescript-eslint/typescript-estree@npm:5.62.0"
@ -17937,6 +17954,24 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:8.20.0":
version: 8.20.0
resolution: "@typescript-eslint/typescript-estree@npm:8.20.0"
dependencies:
"@typescript-eslint/types": "npm:8.20.0"
"@typescript-eslint/visitor-keys": "npm:8.20.0"
debug: "npm:^4.3.4"
fast-glob: "npm:^3.3.2"
is-glob: "npm:^4.0.3"
minimatch: "npm:^9.0.4"
semver: "npm:^7.6.0"
ts-api-utils: "npm:^2.0.0"
peerDependencies:
typescript: ">=4.8.4 <5.8.0"
checksum: 10c0/54a2c1da7d1c5f7e865b941e8a3c98eb4b5f56ed8741664a84065173bde9602cdb8866b0984b26816d6af885c1528311c11e7286e869ed424483b74366514cbd
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.45.0":
version: 5.62.0
resolution: "@typescript-eslint/utils@npm:5.62.0"
@ -17986,6 +18021,21 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:^8.0.0":
version: 8.20.0
resolution: "@typescript-eslint/utils@npm:8.20.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@typescript-eslint/scope-manager": "npm:8.20.0"
"@typescript-eslint/types": "npm:8.20.0"
"@typescript-eslint/typescript-estree": "npm:8.20.0"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.8.0"
checksum: 10c0/dd36c3b22a2adde1e1462aed0c8b4720f61859b4ebb0c3ef935a786a6b1cb0ec21eb0689f5a8debe8db26d97ebb979bab68d6f8fe7b0098e6200a485cfe2991b
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:^8.8.0":
version: 8.10.0
resolution: "@typescript-eslint/utils@npm:8.10.0"
@ -18040,6 +18090,16 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:8.20.0":
version: 8.20.0
resolution: "@typescript-eslint/visitor-keys@npm:8.20.0"
dependencies:
"@typescript-eslint/types": "npm:8.20.0"
eslint-visitor-keys: "npm:^4.2.0"
checksum: 10c0/e95d8b2685e8beb6637bf2e9d06e4177a400d3a2b142ba749944690f969ee3186b750082fd9bf34ada82acf1c5dd5970201dfd97619029c8ecca85fb4b50dbd8
languageName: node
linkType: hard
"@ungap/structured-clone@npm:^1.0.0":
version: 1.2.1
resolution: "@ungap/structured-clone@npm:1.2.1"
@ -26491,6 +26551,18 @@ __metadata:
languageName: node
linkType: hard
"eslint-plugin-lingui@npm:^0.9.0":
version: 0.9.0
resolution: "eslint-plugin-lingui@npm:0.9.0"
dependencies:
"@typescript-eslint/utils": "npm:^8.0.0"
micromatch: "npm:^4.0.0"
peerDependencies:
eslint: ^8.37.0 || ^9.0.0
checksum: 10c0/6fb9225be36b7aceadd98f1ccb69eda9a1abf07238e40bee371dfa1394b5110cadb6266a2dc467598674c422cea3345f80f059ce274f09d17747aa23372ae788
languageName: node
linkType: hard
"eslint-plugin-prefer-arrow@npm:^1.2.3":
version: 1.2.3
resolution: "eslint-plugin-prefer-arrow@npm:1.2.3"
@ -26686,6 +26758,13 @@ __metadata:
languageName: node
linkType: hard
"eslint-visitor-keys@npm:^4.2.0":
version: 4.2.0
resolution: "eslint-visitor-keys@npm:4.2.0"
checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269
languageName: node
linkType: hard
"eslint@npm:^8.0.0, eslint@npm:^8.53.0":
version: 8.57.0
resolution: "eslint@npm:8.57.0"
@ -45084,6 +45163,15 @@ __metadata:
languageName: node
linkType: hard
"ts-api-utils@npm:^2.0.0":
version: 2.0.0
resolution: "ts-api-utils@npm:2.0.0"
peerDependencies:
typescript: ">=4.8.4"
checksum: 10c0/6165e29a5b75bd0218e3cb0f9ee31aa893dbd819c2e46dbb086c841121eb0436ed47c2c18a20cb3463d74fd1fb5af62e2604ba5971cc48e5b38ebbdc56746dfc
languageName: node
linkType: hard
"ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.2.0":
version: 2.2.0
resolution: "ts-dedent@npm:2.2.0"
@ -45829,6 +45917,7 @@ __metadata:
eslint-config-prettier: "npm:^9.1.0"
eslint-plugin-import: "npm:2.29.1"
eslint-plugin-jsx-a11y: "npm:^6.8.0"
eslint-plugin-lingui: "npm:^0.9.0"
eslint-plugin-prefer-arrow: "npm:^1.2.3"
eslint-plugin-prettier: "npm:^5.1.2"
eslint-plugin-project-structure: "npm:^3.9.1"