Compare commits

..
9 Commits
Author SHA1 Message Date
Lucas 5cf3a365de chore: revert en-US i18n change (#8838) 2026-06-26 10:35:45 +08:00
Lucas 4af02cdc87 fix: add autofillHints support to AFTextField (#8594)
* chore: bump version to 0.11.4 and update changelog

* feat: add autofillHints support to AFTextField

* fix: remove autoFocus from font search input

* chore: fix code formatting
2026-03-20 14:02:00 +08:00
Annie bbe886fcdd Update README.md (#8327) 2025-11-16 21:57:57 +08:00
Rishi Ahuja f0f10b05f4 fix: prevent page flickering on rapid sidebar clicks (#8278)
* fix: prevent page flickering on rapid sidebar clicks

* refactor: improve deduplication to check both plugin and view IDs
2025-11-07 10:37:18 +08:00
Samuele Mazzei b5a1ccb4ee Update Italian Translations (#8253)
* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦
2025-11-06 15:22:45 +08:00
Stenrax 148f268923 chore: update translations with Fink 🐦 (#8320) 2025-11-06 15:16:46 +08:00
Tirthh 1ed3d5439b fix: enable password manager autofill for all password fields (#8295)
- Added autofillHints to password fields in sign-in, password setup, and password change screens
- Enables password managers (1Password, LastPass, Bitwarden, etc.) to detect and autofill password fields
- Minimal change: only added AutofillHints.password property to 8 password fields across 4 files
2025-11-06 15:16:21 +08:00
JradChaima1 2e00509ebb fix: set autoFocus true for font dropdown search input (#8294) 2025-11-06 15:04:58 +08:00
Lucas 41ca1dd8ee chore: bump version 0.9.9 (#8214) 2025-09-12 16:21:32 +08:00
23 changed files with 1205 additions and 25 deletions

No files matched your search

+305
View File
@@ -1,4 +1,309 @@
# Release Notes
## Version 0.11.4 – 09/03/2026
### Desktop
#### New Features
- Notification System: In-app notification center to track mentions, reminders, and activity updates
- Revamped Slash Menu: Redesigned `/` command menu with improved layout and discoverability
- Editor Block Spacing: Optimize spacing between blocks in the document editor
#### Bug Fixes
- Fixed row document issues
- Fixed bulk delete not working correctly
- Fixed connection check causing unnecessary errors
### Mobile
#### New Features
- Notification System: In-app notification center to track mentions, reminders, and activity updates
- Revamped Slash Menu: Redesigned `/` command menu with improved layout and discoverability
- Editor Block Spacing: Optimize spacing between blocks in the document editor
#### Bug Fixes
- Fixed mobile block selection disappearing
- Fixed select-all behavior with Gboard on Android
- Fixed duplicate column names when creating board groups
## Version 0.11.3 – 25/02/2026
### Desktop
#### Bug Fixes
- Fixed the space dropdown menu not displaying correctly
- Fixed relation filter not applying correctly in advanced filter scenarios
- Fixed the disconnect banner not refreshing properly
### Mobile
#### Bug Fixes
- Fixed losing focus after typing the first character in a text cell
- Fixed FCM blocking the main app on startup
## Version 0.11.2 – 14/02/2026
### Desktop
#### New Features
- New Database View: Feed view
- AI Transcript & Meeting Blocks: Automatic speaker name guessing, referenced AI summaries, and meeting detection from Google Meet and Slack
- Google Drive Block: Embed and select Google Drive files via link or connected account
#### Bug Fixes
- File Block: Display upload progress during file uploads
- Image Upload: Improved upload indicator and instant image caching
- Unsplash Cover Image: Improved preview and keyboard navigation
### Mobile
#### New Features
- New Database View: Feed view
- Google Drive Block: Embed and select Google Drive files via link or connected account
#### Bug Fixes
- File Block: Display upload progress during file uploads
- Image Upload: Improved upload indicator and instant image caching
## Version 0.11.1 – 28/01/2026
### Desktop
#### New Features
- New Database Views: Gallery, List, and Chart views
- Grouping in a Grid (Table) view: Group by allows you to organize database entries into collapsible sections based on property values (e.g., Status, Priority)
- Multi-row actions: Allows for powerful multi-row (bulk) actions within databases to edit, delete, or duplicate all at once
- Database advanced filters: Useful when combining AND logic and OR logic in your filter
- Number property new formats: Comma separated and percent
- Export as PDF: Export a single page as .PDF
- Database Cover Images: Added support for cover images to enhance visual representation
- AI Transcript & Meeting Notes: Use the mention person type for task assignees in the action items of the AI summary
#### Bug Fixes
- Enhanced playback experience for video blocks
- Resolved issue with inline mention styles not matching block text styles
### Mobile
#### New Features
- New Database Views: Gallery, List, and Chart views
#### Bug Fixes
- Improved playback experience for video blocks
- Fixed issue with inline mention styles not matching block text styles
## Version 0.11.0 – 12/01/2026
### Desktop
#### Bug Fixes
- Fixed row detail page button style not following theme changes
- Fixed target limit not being removed when creating two-way relation field
- Improved speaker selector menu UI style in the transcript tab of AI meeting block
## Version 0.10.9 – 09/01/2026
### Desktop
#### New Features
- Database Rollup: A powerful property used to retrieve and aggregate information from items in a related database
- Database search: Search names of database pages, as well as property values (such as a status of "In progress") and content inside database pages
- AI Transcript with auto speaker identification: Upload an audio file to generate transcriptions with speaker labels. You can assign or change speaker names
- AI Meeting Notes with auto speaker identification: Real-time transcription during meetings with automatic speaker label detection after recording stops. You can assign or change speaker names
- Mermaid diagram support: Add diagrams directly in Code blocks with split, preview, and code display modes, plus an expandable view
- Top nav bar breadcrumb revamp: Refreshed design with improved layout
- Document and database cover reposition: Reposition cover images for the best display
#### Bug Fixes
- Fixed various database issues to improve stability and performance
### Mobile
#### New Features
- AI Transcript with auto speaker identification: Upload an audio file to generate transcriptions with speaker labels. You can assign or change speaker names
- Mermaid diagram support: Add diagrams directly in Code blocks with split, preview, and code display modes, plus an expandable view
#### Bug Fixes
- Fixed various database issues to improve stability and performance
## Version 0.10.8 – 22/12/2025
### Desktop
#### Bug Fixes
- Grid sort order preserved after edits — Editing a row no longer moves it to the bottom of a sorted Grid
- Delete banner for databases — Grid, Board, and Calendar now show restore/delete banner when deleted
- Timestamp field conversion — Converting Created time or Last modified to Text/Date no longer loses values
- Unicode string sorting — Sorting now handles accented characters and special symbols correctly
- Kanban filter fix — Filters now apply correctly to items added after view creation
### Mobile
#### Bug Fixes
- Grid sort order preserved after edits — Editing a row no longer moves it to the bottom of a sorted Grid
- Timestamp field conversion — Converting Created time or Last modified to Text/Date no longer loses values
- Unicode string sorting — Sorting now handles accented characters and special symbols correctly
- Kanban filter fix — Filters now apply correctly to items added after view creation
## Version 0.10.7 – 19/12/2025
### Desktop
#### New Features
- AI Meeting Notes Block: Supports real-time transcription on macOS and Windows. AI will turn everything into a clean, share-ready summary
- Database Two-way Relations: Automatically sync connected data between databases, ensuring that information added in one place instantly appears in the other
- Video Block: Upload or embed video files, then view and interact with them directly inside your document
- Audio Block: Upload or embed audio files, then view and interact with them directly inside your document
- Callout Block: Supports removing the callout icon
- Table of Contents Block: Supports collapsing/uncollapsing the content
#### Bug Fixes
- Fixed various issues related to database views, including sorting, filtering, counting, syncing, and layouts
- Fixed various issues related to the linked views of databases
- Fixed database issues related to date formats, file name display, view tabs, horizontal scroll, and Relation property performance
### Mobile
#### New Features
- Video Block: Upload or embed video files, then view and interact with them directly inside your document
- Audio Block: Upload or embed audio files, then view and interact with them directly inside your document
- Callout Block: Supports removing the callout icon
- Table of Contents Block: Supports collapsing/uncollapsing the content
#### Bug Fixes
- Fixed various issues related to database views, including sorting, filtering, counting, syncing, and layouts
- Fixed various issues related to the linked views of databases
- Fixed database issues related to date formats, file name display, view tabs, horizontal scroll, and Relation property performance
## Version 0.10.6 – 05/12/2025
### Desktop
#### Bug Fixes
- Fixed issues related to the duplicated databases
- Fixed an issue where the Chinese (Simplified) and Chinese (Traditional) language options were not being saved properly in the summary language of the AI meeting block
### Mobile
#### Bug Fixes
- Fixed issues related to the duplicated databases
## Version 0.10.5 – 02/12/2025
### Desktop
#### New Features
- AI Transcript Block: Turn audio and video recordings into ready-to-share notes with AI Transcribe. Easily use our rich-text editing features to refine both the AI transcription and summary. Perfect for work, school, or personal projects
- PDF Block: Upload or embed PDF files, then view and interact with them directly inside your document
- Improved Image Block: Supported new features such as captions, embedded external or page links, saving images, and replacing images with more polished visuals and interactions
- Self-hosted: Enabled custom namespaces, fixed issues with inviting members via link, and removed Pro plan banners that were intended for the managed cloud version
### Mobile
#### New Features
- PDF Block: Upload or embed PDF files, then view and interact with them directly inside your document
- Improved Image Block: Supported new features such as captions, embedded external or page links, saving images, and replacing images—with more polished visuals and interactions
- Self-hosted: Fixed issues with inviting members via link, and removed Pro plan banners that were intended for the managed cloud version
## Version 0.10.4 – 14/11/2025
### Desktop
#### New Features
- Revamped the Math Equation block with an easier-to-use UX and new features: multiline equations, more environment variables, inline math equation markdown support, and Ask AI
- Revamped the Toggle List block with an improved UI and bug fixes
- Revamped the right-click Context Menu with a more polished UI and new features: Paste as plain text and Ask AI
#### Bug Fixes
- Fixed issues related to the Math Equation and Toggle List blocks
- Fixed issues related to the right-click Context Menu
### Mobile
#### New Features
- Revamped the Math Equation and Toggle List blocks with improved UIs and new features
#### Bug Fixes
- Fixed issues related to the Math Equation and Toggle List blocks
## Version 0.10.3 – 31/10/2025
### Desktop
#### New Features
- Revamped the Code block with new features: pin language, caption, Ask AI, and Turn Text into Code
- Revamped the Callout block with an improved UI and quick styles
- Revamped the Outline block with a more polished UI and custom background colors
- Notification Settings: enable or disable mobile push notifications
#### Bug Fixes
- Fixed issues related to the Code and Callout blocks
### Mobile
#### New Features
- Supported mobile push notifications: you'll receive a push message when you're mentioned, invited to a page, or when page permissions change
- Revamped the Code, Callout, and Outline blocks with improved UIs and new features
## Version 0.10.2 – 24/10/2025
### Desktop
#### Bug Fixes
- Fixed inability to import Notion zip file
## Version 0.10.1 – 16/10/2025
### Desktop
#### Bug Fixes
- Fixed potential login token expired issue
- Fixed inability to create Vault workspace on self-hosted servers with commercial plans
- Fixed switching page rapidly caused the page flash
### Mobile
#### Bug Fixes
- Fixed potential login token expired issue
## Version 0.10.0 – 29/09/2025
### Desktop
#### New Features
- Person, a new database property, lets you assign a row to one or more collaborators
### Mobile
#### New Features
- Person, a new database property, lets you assign a row to one or more collaborators
- iOS Share to AppFlowy: quickly save a web page with optional notes to a target AppFlowy page or database
- Android Share to AppFlowy: quickly save a web page with optional notes to a target AppFlowy page or database
- A new Android widget: Quick Page Access
## Version 0.9.9 – 11/09/2025
### Desktop
#### New Features
- Workspace user profile: customize your avatar, about me, and profile card banner
### Mobile
#### New Features
- Workspace user profile: customize your avatar, about me, and profile card banner
- Two new Android widgets: Recent Pages and Favorites
- A new iOS widget: Quick Page Access
- iOS Share to AppFlowy: quickly save browser page links with optional notes to a target AppFlowy page
## Version 0.9.8 – 28/08/2025
### Desktop
#### New Features
- Bulk add collaborators with Can view / Can edit permissions via the Share menu
- Enable setting the start of the week to Monday to control default calendar layouts in the calendar view and date picker
- Sync date and time formats, language, and week start day across devices under the same user account
- Offer 10 premium Select-option colors to Pro Plan users
- Support managing pending members via Settings → Members
### Mobile
#### New Features
- Support iOS widgets for quick access to recent and favorite pages
- Offer 10 premium Select option colors to Pro Plan users
- Support managing pending members via Settings → Members
## Version 0.9.7 – 13/08/2025
### Desktop
#### New Features
- Mention or assign persons in documents via '@' or '/'
- Mentioned persons get notified about the mention via email
- More colors are available for database Select options and page covers
- Back up your AppFlowy workspace: Export your workspace as a ZIP file and import it back at any time
- GPT-5 is now available in AppFlowy
### Mobile
#### New Features
- Mention or assign persons in documents via '@' or '/'
- Mentioned persons get notified about the mention via email
- More colors are available for database Select options and page cover
#### Bug Fixes
- Fixed login page UI overflow issues on small screen devices
## Version 0.9.6 – 05/08/2025
### Bug Fixes
- Fixed some syncing issues
- Improved the Share menu
- Fixed some UI issues related to database filters and sorts
## Version 0.9.5 – 17/07/2025
### Desktop
#### New Features
- Vault Workspace: A new workspace type, private and offline. AI runs locally with no data transfer. Supports switching embedding models, chatting with files (PDF, Markdown, TXT). Includes RAG search with AI-generated overviews.
- Revamped color pickers in documents: Expanded palette with support for custom colors
### Mobile
#### New Features
- iOS In‑App Sign‑In: Sign in directly within the iOS app
- New colors: Improved text and background color options
Bug Fixes
- Add a network connection indicator
- Fix sync bugs and issues with WebSocket connections.
## Version 0.9.4 – 02/07/2025
### Desktop
#### New Features
+1 -1
View File
@@ -48,7 +48,7 @@ AppFlowy is the AI workspace where you achieve more without losing control of yo
- [App Store](https://apps.apple.com/app/appflowy/id6457261352): iPhone
- [Play Store](https://play.google.com/store/apps/details?id=io.appflowy.appflowy): Android 10 or above; ARMv7 is
not supported
- [Self-hosting AppFlowy](https://appflowy.com/docs/self-host-appflowy-overview)
- [Self-hosting AppFlowy](https://appflowy.com/docs/Step-by-step-Self-Hosting-Guide---From-Zero-to-Production)
- [Source](https://docs.appflowy.io/docs/documentation/appflowy/from-source)
## Built With
+1 -1
View File
@@ -26,7 +26,7 @@ CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true
CARGO_MAKE_CRATE_FS_NAME = "dart_ffi"
CARGO_MAKE_CRATE_NAME = "dart-ffi"
LIB_NAME = "dart_ffi"
APPFLOWY_VERSION = "0.9.4"
APPFLOWY_VERSION = "0.11.4"
FLUTTER_DESKTOP_FEATURES = "dart"
PRODUCT_NAME = "AppFlowy"
MACOSX_DEPLOYMENT_TARGET = "11.0"
@@ -2,4 +2,4 @@ export 'share_access_level.dart';
export 'share_popover_group_id.dart';
export 'share_role.dart';
export 'shared_user.dart';
export 'share_section_type.dart';
export 'share_section_type.dart';
@@ -45,7 +45,7 @@ class ShareTabBloc extends Bloc<ShareTabEvent, ShareTabState> {
@override
Future<void> close() async {
await _folderNotificationListener?.stop();
await _folderNotificationListener?.stop();
await super.close();
}
@@ -78,7 +78,7 @@ class MobileSearchResultCell extends StatelessWidget {
child: BlocBuilder<ViewAncestorBloc, ViewAncestorState>(
builder: (context, state) {
final ancestors = state.ancestor.ancestors;
if(ancestors.isEmpty) return const SizedBox.shrink();
if (ancestors.isEmpty) return const SizedBox.shrink();
List<String> displayPath = ancestors.map((e) => e.name).toList();
if (ancestors.length > 2) {
displayPath = [ancestors.first.name, '...', ancestors.last.name];
@@ -121,7 +121,6 @@ class _FontFamilyDropDownState extends State<FontFamilyDropDown> {
child: FlowyTextField(
key: ThemeFontFamilySetting.textFieldKey,
hintText: LocaleKeys.settings_appearance_fontFamily_search.tr(),
autoFocus: false,
debounceDuration: const Duration(milliseconds: 300),
onChanged: (value) {
setState(() {
@@ -345,7 +345,7 @@ class OutlineItemWidget extends StatelessWidget {
),
),
);
} else {
} else {
children.add(
TextSpan(
text: text,
@@ -133,6 +133,7 @@ class _ContinueWithPasswordPageState extends State<ContinueWithPasswordPage> {
hintText: LocaleKeys.signIn_enterPassword.tr(),
autoFocus: true,
obscureText: true,
autofillHints: const [AutofillHints.password],
suffixIconConstraints: BoxConstraints.tightFor(
width: iconSize + theme.spacing.m,
height: iconSize,
@@ -145,6 +145,7 @@ class _SetNewPasswordWidgetState extends State<SetNewPasswordWidget> {
key: newPasswordKey,
controller: newPasswordController,
obscureText: true,
autofillHints: const [AutofillHints.password],
hintText: LocaleKeys.signIn_enterNewPassword.tr(),
onSubmitted: (_) => _validateAndSubmit(),
),
@@ -160,6 +161,7 @@ class _SetNewPasswordWidgetState extends State<SetNewPasswordWidget> {
key: confirmPasswordKey,
controller: confirmPasswordController,
obscureText: true,
autofillHints: const [AutofillHints.password],
hintText: LocaleKeys.signIn_confirmNewPassword.tr(),
onSubmitted: (_) => _validateAndSubmit(),
),
@@ -25,7 +25,6 @@ class ActionNavigationBloc
currentAction = currentAction.copyWith(arguments: {});
}
currentAction.arguments?.addAll({ActionArgumentKeys.view: view});
} else {
Log.error('Open view failed: ${action.objectId}');
if (showErrorToast) {
@@ -279,7 +279,7 @@ class SpaceBloc extends Bloc<SpaceEvent, SpaceState> {
);
}
}
afterOpen?.call();
afterOpen?.call();
},
expand: (space, isExpanded) async {
await _setSpaceExpandStatus(space, isExpanded);
@@ -28,6 +28,11 @@ class TabsBloc extends Bloc<TabsEvent, TabsState> {
late final MenuSharedState menuSharedState;
String? _lastOpenedPluginId;
String? _lastOpenedViewId;
DateTime? _lastOpenTime;
static const _deduplicationWindow = Duration(milliseconds: 500);
@override
Future<void> close() {
state.dispose();
@@ -73,6 +78,22 @@ class TabsBloc extends Bloc<TabsEvent, TabsState> {
_setLatestOpenView(view);
},
openPlugin: (Plugin plugin, ViewPB? view, bool setLatest) {
final now = DateTime.now();
// deduplicate. skip if same plugin and view were just opened
if (_lastOpenedPluginId == plugin.id &&
_lastOpenedViewId == view?.id &&
_lastOpenTime != null) {
final timeSinceLastOpen = now.difference(_lastOpenTime!);
if (timeSinceLastOpen < _deduplicationWindow) {
return;
}
}
_lastOpenedPluginId = plugin.id;
_lastOpenedViewId = view?.id;
_lastOpenTime = now;
state.currentPageManager
..hideSecondaryPlugin()
..setSecondaryPlugin(BlankPagePlugin());
@@ -497,6 +497,23 @@ class _SingleInnerViewItemState extends State<SingleInnerViewItem> {
bool isIconPickerOpened = false;
DateTime? _lastClickTime;
static const _clickThrottleDuration = Duration(milliseconds: 200);
void _handleViewTap() {
final now = DateTime.now();
if (_lastClickTime != null) {
final timeSinceLastClick = now.difference(_lastClickTime!);
if (timeSinceLastClick < _clickThrottleDuration) {
return;
}
}
_lastClickTime = now;
widget.onSelected(context, widget.view);
}
@override
Widget build(BuildContext context) {
bool isSelected = widget.isSelected;
@@ -586,7 +603,7 @@ class _SingleInnerViewItemState extends State<SingleInnerViewItem> {
final child = GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () => widget.onSelected(context, widget.view),
onTap: _handleViewTap,
onTertiaryTapDown: (_) =>
widget.onTertiarySelected?.call(context, widget.view),
child: SizedBox(
@@ -141,6 +141,7 @@ class _ChangePasswordDialogContentState
.tr(),
keyboardType: TextInputType.visiblePassword,
obscureText: true,
autofillHints: const [AutofillHints.password],
suffixIconConstraints: BoxConstraints.tightFor(
width: iconSize + theme.spacing.m,
height: iconSize,
@@ -173,6 +174,7 @@ class _ChangePasswordDialogContentState
.tr(),
keyboardType: TextInputType.visiblePassword,
obscureText: true,
autofillHints: const [AutofillHints.password],
suffixIconConstraints: BoxConstraints.tightFor(
width: iconSize + theme.spacing.m,
height: iconSize,
@@ -205,6 +207,7 @@ class _ChangePasswordDialogContentState
.tr(),
keyboardType: TextInputType.visiblePassword,
obscureText: true,
autofillHints: const [AutofillHints.password],
suffixIconConstraints: BoxConstraints.tightFor(
width: iconSize + theme.spacing.m,
height: iconSize,
@@ -136,6 +136,7 @@ class _SetupPasswordDialogContentState
.tr(),
keyboardType: TextInputType.visiblePassword,
obscureText: true,
autofillHints: const [AutofillHints.password],
suffixIconConstraints: BoxConstraints.tightFor(
width: iconSize + theme.spacing.m,
height: iconSize,
@@ -168,6 +169,7 @@ class _SetupPasswordDialogContentState
.tr(),
keyboardType: TextInputType.visiblePassword,
obscureText: true,
autofillHints: const [AutofillHints.password],
suffixIconConstraints: BoxConstraints.tightFor(
width: iconSize + theme.spacing.m,
height: iconSize,
@@ -34,6 +34,7 @@ class AFTextField extends StatefulWidget {
this.focusNode,
this.readOnly = false,
this.maxLength,
this.autofillHints,
});
/// The hint text to display when the text field is empty.
@@ -87,6 +88,9 @@ class AFTextField extends StatefulWidget {
/// The maximum length of the text field.
final int? maxLength;
/// The autofill hints for password managers.
final Iterable<String>? autofillHints;
@override
State<AFTextField> createState() => _AFTextFieldState();
}
@@ -205,6 +209,7 @@ class _AFTextFieldState extends AFTextFieldState {
suffixIcon: widget.suffixIconBuilder?.call(context, isObscured),
suffixIconConstraints: widget.suffixIconConstraints,
),
autofillHints: widget.autofillHints,
);
if (hasError && errorText.isNotEmpty) {
+1 -1
View File
@@ -1078,7 +1078,7 @@ packages:
source: hosted
version: "0.1.8"
html:
dependency: transitive
dependency: "direct main"
description:
name: html
sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec"
+2 -1
View File
@@ -4,7 +4,7 @@ description: Bring projects, wikis, and teams together with AI. AppFlowy is an
your data. The best open source alternative to Notion.
publish_to: "none"
version: 0.9.4
version: 0.11.4
environment:
flutter: ">=3.27.4"
@@ -151,6 +151,7 @@ dependencies:
analyzer: 6.11.0
html: any
dev_dependencies:
# Introduce talker to log the bloc events, and only log the events in the development mode
+2 -2
View File
@@ -2368,11 +2368,11 @@
"layoutDateField": "تقويم التخطيط بواسطة",
"changeLayoutDateField": "تغيير حقل التخطيط",
"noDateTitle": "بدون تاريخ",
"noDateHint": "ستظهر الأحداث غير المجدولة هنا",
"unscheduledEventsTitle": "الأحداث غير المجدولة",
"clickToAdd": "انقر للإضافة إلى التقويم",
"name": "تخطيط التقويم",
"clickToOpen": "انقر لفتح السجل"
"clickToOpen": "انقر لفتح السجل",
"noDateHint": "ستظهر الأحداث غير المجدولة هنا"
},
"referencedCalendarPrefix": "نظرا ل",
"quickJumpYear": "انتقل إلى",
+2 -2
View File
@@ -635,7 +635,7 @@
"logoutLabel": "Log out"
},
"isUpToDate": "@:appName is up to date!",
"officialVersion": "Version {version} (官方構建)"
"officialVersion": "Version {version} (Official build)"
},
"workspacePage": {
"menuLabel": "Workspace",
@@ -3465,4 +3465,4 @@
"shareSection": {
"shared": "Shared with me"
}
}
}
+32 -1
View File
@@ -48,6 +48,7 @@
"createAccount": "Créer un compte",
"repeatPasswordEmptyError": "Vous n'avez pas ressaisi votre mot de passe",
"unmatchedPasswordError": "Les deux mots de passe ne sont pas identiques",
"passwordMustContain": "Votre mot de passe doit contenir au moins une lettre, un chiffre et un symbole",
"syncPromptMessage": "La synchronisation des données peut prendre un certain temps. Merci de ne pas fermer pas cette page.",
"or": "OU",
"signInWithGoogle": "Continuer avec Google",
@@ -77,6 +78,7 @@
"temporaryVerificationLinkSent": "Un lien de vérification temporaire a été envoyé.\nVeuillez vérifier votre boîte de réception sur",
"temporaryVerificationCodeSent": "Un code de vérification temporaire a été envoyé.\nVeuillez vérifier votre boîte de réception sur",
"continueToSignIn": "Continuer à se connecter",
"continueWithLoginCode": "Continuer avec vos identifiants",
"backToLogin": "Retour à la connexion",
"enterCode": "Entrez le code",
"enterCodeManually": "Entrez le code manuellement",
@@ -86,6 +88,25 @@
"invalidVerificationCode": "Veuillez saisir un code de vérification valide",
"tooFrequentVerificationCodeRequest": "Vous avez fait trop de demandes. Veuillez réessayer plus tard.",
"invalidLoginCredentials": "Votre mot de passe est incorrect, veuillez réessayer",
"resetPassword": "Réinitialiser le mot de passe",
"resetPasswordDescription": "Entrer votre courriel pour réinitialiser votre mot de passe",
"continueToResetPassword": "Continuer pour réinitialiser le mot de passe",
"resetPasswordSuccess": "Le mot de passe a été réinitialisé avec succès",
"resetPasswordFailed": "Échec de la réinitialisation du mot de passe",
"resetPasswordLinkSent": "Un mail permettant de réinitialiser le mot de passe a été envoyé à votre adresse.",
"resetPasswordLinkExpired": "Ce lien de renouvellement de mot de passe est obsolète. Veuillez redemander un lien de réinitialisation.",
"resetPasswordLinkInvalid": "Ce lien de renouvellement de mot de passe est erroné. Veuillez redemander un lien de réinitialisation.",
"enterNewPasswordFor": "Entrez votre nouveau mot de passe",
"newPassword": "Nouveau mot de passe",
"enterNewPassword": "Entrer votre nouveau mot de passe",
"confirmPassword": "Confirmer votre mot de passe",
"confirmNewPassword": "Confirmer votre nouveau mot de passe",
"newPasswordCannotBeEmpty": "Le champ \"nouveau mot de passe\" ne peut pas être laissé vide.",
"confirmPasswordCannotBeEmpty": "Le champ \"confirmation du nouveau mot de passe\" ne peut pas être laissé vide.",
"passwordsDoNotMatch": "Le mot de passe et sa confirmation ne correspondent pas.",
"verifying": "En cours de vérification",
"youAreInLocalMode": "Vous êtes en mode local",
"loginToAppFlowyCloud": "Connexion au nuage d'AppFlowy",
"anonymous": "Anonyme",
"LogInWithGoogle": "Se connecter avec Google",
"LogInWithGithub": "Se connecter avec Github",
@@ -552,6 +573,9 @@
"selectHomePage": "Sélectionnez une page",
"clearHomePage": "Effacer la page d'accueil pour cet espace",
"customUrl": "URL personnalisée",
"homePage": {
"upgradeToPro": "Passez à la formule pro pour désigner une page d'accueil"
},
"namespace": {
"description": "Ce changement s'appliquera à toutes les pages publiées en direct sur cet espace",
"tooltip": "Nous nous réservons le droit de supprimer tout espace inapproprié",
@@ -880,6 +904,7 @@
"aiSettingsDescription": "Choisissez votre modèle préféré pour alimenter AppFlowy AI. Inclut désormais GPT 4-o, Claude 3,5, Llama 3.1 et Mistral 7B",
"loginToEnableAIFeature": "Les fonctionnalités d'IA sont accessibles uniquement après s'être connecté avec @:appName Cloud. Pour créer un compte @:appName, voir dans la rubrique 'Mon Compte'.",
"llmModel": "Modèle de langage",
"readOnlyField": "Ce champ est en lecture seule",
"llmModelType": "Type de modèle de langue",
"downloadLLMPrompt": "Télécharger {}",
"downloadAppFlowyOfflineAI": "Le téléchargement du package hors ligne AI permettra à AI de fonctionner sur votre appareil. Voulez-vous continuer ?",
@@ -1063,6 +1088,7 @@
"itemSeven": "Images IA",
"itemFileUpload": "Téléchargements de fichiers",
"customNamespace": "Nom d'espace personnalisé",
"tooltipFive": "Collaborer sur des pages spécifiques avec des personnes qui ne sont pas membres",
"tooltipSix": "La durée de vie signifie que le nombre de réponses n'est jamais réinitialisé",
"intelligentSearch": "Recherche intelligente",
"tooltipSeven": "Vous permet de personnaliser une partie de l'URL de votre espace de travail",
@@ -1075,6 +1101,7 @@
"itemFour": "Oui",
"itemFive": "Oui",
"itemSix": "10 à vie",
"itemSeven": "à vie",
"itemFileUpload": "Jusqu'à 7 Mo",
"intelligentSearch": "Recherche intelligente"
},
@@ -1375,7 +1402,11 @@
"resetInviteLinkFailed": "Échec de la réinitialisation du lien d'invitation",
"resetInviteLinkFailedDescription": "Veuillez réessayer plus tard",
"memberPageDescription1": "Accéder au",
"memberPageDescription2": "pour la gestion des invités et des utilisateurs avancés."
"memberPageDescription2": "pour la gestion des invités et des utilisateurs avancés.",
"noInviteLink": "Vous n'avez pas généré de lien d'invitation pour le moment",
"copyLink": "Copier le lien",
"generatedLinkSuccessfully": "Lien généré avec succès",
"generatedLinkFailed": "Échec de génération du lien"
}
},
"files": {
+802 -8
View File
@@ -36,6 +36,9 @@
"loginButtonText": "Login",
"loginStartWithAnonymous": "Inizia con una sessione anonima",
"continueAnonymousUser": "Continua con una sessione anonima",
"continueWithLocalModel": "Continua con il modello locale",
"switchToAppFlowyCloud": "AppFlowy Cloud",
"anonymousMode": "Modalità anonima",
"buttonText": "Accedi",
"signingInText": "Accesso in corso...",
"forgotPassword": "Password Dimentica?",
@@ -45,11 +48,14 @@
"createAccount": "Crea account",
"repeatPasswordEmptyError": "La password ripetuta non può essere vuota",
"unmatchedPasswordError": "La password ripetuta non è uguale alla password",
"passwordMustContain": "La password deve contenere almeno una lettera, un numero e un simbolo.",
"syncPromptMessage": "La sincronizzazione dei dati potrebbe richiedere del tempo. Per favore, non chiudere questa pagina",
"or": "O",
"signInWithGoogle": "Continua con Google",
"signInWithGithub": "Continua con Github",
"signInWithDiscord": "Continua con Discord",
"signInWithApple": "Continua con Apple",
"continueAnotherWay": "Continua in un altro modo",
"signUpWithGoogle": "Registrati con Google",
"signUpWithGithub": "Registrati con Github",
"signUpWithDiscord": "Registrati con Discord",
@@ -66,6 +72,42 @@
"generalError": "Qualcosa è andato storto. Per favore, riprova più tardi",
"limitRateError": "Per ragioni di sicurezza, puoi richiedere un link magico ogni 60 secondi",
"magicLinkSentDescription": "Un Link Magico è stato inviato alla tua email. Clicca il link per completare il tuo accesso. Il link scadrà dopo 5 minuti.",
"tokenHasExpiredOrInvalid": "Il codice è scaduto o non è valido. Riprova.",
"signingIn": "Accesso in corso...",
"checkYourEmail": "Controlla la tua posta elettronica",
"temporaryVerificationLinkSent": "È stato inviato un link di verifica temporaneo.\nSi prega di controllare la posta in arrivo di",
"temporaryVerificationCodeSent": "È stato inviato un codice di verifica temporaneo.\nSi prega di controllare la posta in arrivo di",
"continueToSignIn": "Continua ad accedere",
"continueWithLoginCode": "Continua con il codice di accesso",
"backToLogin": "Torna al login",
"enterCode": "Inserisci il codice",
"enterCodeManually": "Inserisci il codice manualmente",
"continueWithEmail": "Continua con l'email",
"enterPassword": "Inserisci la password",
"loginAs": "Accedi come",
"invalidVerificationCode": "Inserisci un codice di verifica valido",
"tooFrequentVerificationCodeRequest": "Hai effettuato troppe richieste. Riprova più tardi.",
"invalidLoginCredentials": "La tua password non è corretta, riprova",
"resetPassword": "Reimposta password",
"resetPasswordDescription": "Inserisci la tua email per reimpostare la password",
"continueToResetPassword": "Continua per reimpostare la password",
"resetPasswordSuccess": "Reimpostazione password riuscita",
"resetPasswordFailed": "Impossibile reimpostare la password",
"resetPasswordLinkSent": "Un link per reimpostare la password è stato inviato alla tua email. Controlla la tua casella di posta all'indirizzo",
"resetPasswordLinkExpired": "Il link per reimpostare la password è scaduto. Richiedi un nuovo link.",
"resetPasswordLinkInvalid": "Il link per reimpostare la password non è valido. Richiedi un nuovo link.",
"enterNewPasswordFor": "Inserisci la nuova password per ",
"newPassword": "Nuova password",
"enterNewPassword": "Inserisci la nuova password",
"confirmPassword": "Conferma password",
"confirmNewPassword": "Inserisci la nuova password",
"newPasswordCannotBeEmpty": "La nuova password non può essere vuota",
"confirmPasswordCannotBeEmpty": "La password di conferma non può essere vuota",
"passwordsDoNotMatch": "Le password non corrispondono",
"verifying": "Verifica in corso...",
"continueWithPassword": "Continua con la password",
"youAreInLocalMode": "Sei in modalità locale.",
"loginToAppFlowyCloud": "Accedi ad AppFlowy Cloud",
"LogInWithGoogle": "Accedi con Google",
"LogInWithGithub": "Accedi con Github",
"LogInWithDiscord": "Accedi con Discord",
@@ -73,9 +115,14 @@
},
"workspace": {
"chooseWorkspace": "Scegli il tuo spazio di lavoro",
"defaultName": "Il mio spazio di lavoro",
"create": "Crea spazio di lavoro",
"new": "Nuovo spazio di lavoro",
"importFromNotion": "Importa da Notion",
"learnMore": "Per saperne di più",
"reset": "Ripristina lo spazio di lavoro",
"renameWorkspace": "Rinomina workspace",
"workspaceNameCannotBeEmpty": "Il nome dell'area di lavoro non può essere vuoto",
"resetWorkspacePrompt": "Il ripristino dello spazio di lavoro eliminerà tutte le pagine e i dati al suo interno. Sei sicuro di voler ripristinare lo spazio di lavoro? In alternativa, puoi contattare il team di supporto per ristabilire lo spazio di lavoro",
"hint": "spazio di lavoro",
"notFoundError": "Spazio di lavoro non trovato",
@@ -86,6 +133,7 @@
"exportLogFiles": "Esporta i file di log",
"reachOut": "Contattaci su Discord"
},
"menuTitle": "Spazi di lavoro",
"deleteWorkspaceHintText": "Sei sicuro di voler cancellare la workspace? Questa azione non è reversibile, e ogni pagina che hai pubblicato sarà rimossa.",
"createSuccess": "Workspace creata con successo",
"createFailed": "Creazione workspace fallita",
@@ -107,6 +155,7 @@
"buttonText": "Condividi",
"workInProgress": "Prossimamente",
"markdown": "Markdown",
"html": "HTML",
"clipboard": "Copia",
"csv": "CSV",
"copyLink": "Copia Link",
@@ -117,7 +166,17 @@
"visitSite": "Visita sito",
"exportAsTab": "Esporta come",
"publishTab": "Pubblica",
"shareTab": "Condividi"
"shareTab": "Condividi",
"publishOnAppFlowy": "Pubblica su AppFlowy",
"shareTabTitle": "Invita a collaborare",
"shareTabDescription": "Per una facile collaborazione con chiunque",
"copyLinkSuccess": "Collegamento copiato negli appunti",
"copyShareLink": "Copia il link di condivisione",
"copyLinkFailed": "Impossibile copiare il collegamento negli appunti",
"copyLinkToBlockSuccess": "Collegamento al blocco copiato negli appunti",
"copyLinkToBlockFailed": "Impossibile copiare il collegamento del blocco negli appunti",
"manageAllSites": "Gestisci tutti i siti",
"updatePathName": "Aggiorna il nome del percorso"
},
"moreAction": {
"small": "piccolo",
@@ -130,15 +189,31 @@
"charCount": "Numero di caratteri: {}",
"createdAt": "Creata: {}",
"deleteView": "Cancella",
"duplicateView": "Duplica"
"duplicateView": "Duplica",
"wordCountLabel": "Numero di parole: ",
"charCountLabel": "Numero di caratteri: ",
"createdAtLabel": "Creato: ",
"syncedAtLabel": "Sincronizzato: ",
"saveAsNewPage": "Aggiungi messaggi alla pagina",
"saveAsNewPageDisabled": "Nessun messaggio disponibile"
},
"importPanel": {
"textAndMarkdown": "Testo e markdown",
"documentFromV010": "Documento dalla v0.1.0",
"databaseFromV010": "Database dalla v0.1.0",
"notionZip": "File zip esportato da Notion",
"csv": "CSV",
"database": "Banca dati"
},
"emojiIconPicker": {
"iconUploader": {
"placeholderLeft": "Trascina e rilascia un file, fai clic per ",
"placeholderUpload": "Carica",
"placeholderRight": "oppure incolla il collegamento di un'immagine.",
"dropToUpload": "Trascina un file per caricarlo",
"change": "Modifica"
}
},
"disclosureAction": {
"rename": "Rinomina",
"delete": "Cancella",
@@ -150,7 +225,10 @@
"addToFavorites": "Aggiungi ai preferiti",
"copyLink": "Copia link",
"changeIcon": "Cambia icona",
"collapseAllPages": "Comprimi le sottopagine"
"collapseAllPages": "Comprimi le sottopagine",
"movePageTo": "Sposta la pagina in",
"move": "Sposta",
"lockPage": "Blocca la pagina"
},
"blankPageTitle": "Pagina vuota",
"newPageText": "Nuova pagina",
@@ -166,12 +244,15 @@
"relatedQuestion": "Correlato",
"serverUnavailable": "Servizio temporaneamente non disponibile. Per favore, riprova più tardi.",
"aiServerUnavailable": "🌈 Uh-oh! 🌈. Un unicorno ha mangiato la nostra risposta. Per favore, riprova!",
"retry": "Riprova",
"clickToRetry": "Clicca per riprovare",
"regenerateAnswer": "Rigenera",
"question1": "Come usare Kanban per organizzare le attività",
"question2": "Spiega il metodo GTD",
"question3": "Perché usare Rust",
"question4": "Ricetta con cos'è presente nella mia cucina",
"question5": "Crea un'illustrazione per la mia pagina",
"question6": "Stila una lista di cose da fare per la mia prossima settimana",
"aiMistakePrompt": "Le IA possono fare errori. Controlla le informazioni importanti.",
"chatWithFilePrompt": "Vuoi chattare col file?",
"indexFileSuccess": "Indicizzazione file completata con successo",
@@ -184,11 +265,54 @@
"clickToMention": "Clicca per menzionare una pagina",
"uploadFile": "Carica file PDF, MD o TXT con la quale chattare",
"questionDetail": "Salve {}! Come posso aiutarti oggi?",
"indexingFile": "Indicizzazione {}"
"indexingFile": "Indicizzazione {}",
"generatingResponse": "Sto generando una risposta",
"selectSources": "Seleziona fonti",
"currentPage": "Pagina corrente",
"sourcesLimitReached": "È possibile selezionare solo fino a 3 documenti di livello superiore e i relativi figli",
"sourceUnsupported": "Al momento non supportiamo la chat con i database",
"regenerate": "Riprova",
"addToPageButton": "Aggiungi messaggio alla pagina",
"addToPageTitle": "Aggiungi messaggio a...",
"addToNewPage": "Crea una nuova pagina",
"addToNewPageName": "Messaggi estratti da \"{}\"",
"addToNewPageSuccessToast": "Messaggio aggiunto a",
"openPagePreviewFailedToast": "Impossibile aprire la pagina",
"changeFormat": {
"actionButton": "Cambia formato",
"confirmButton": "Rigenera con questo formato",
"textOnly": "Testo",
"imageOnly": "Solo immagine",
"textAndImage": "Testo e immagine",
"text": "Paragrafo",
"bullet": "Elenco puntato",
"number": "Elenco numerato",
"table": "Tavolo",
"blankDescription": "Formato risposta",
"defaultDescription": "Formato di risposta automatica",
"textWithImageDescription": "@:chat .changeFormat.text con immagine",
"numberWithImageDescription": "@:chat .changeFormat.number con immagine",
"bulletWithImageDescription": "@:chat .changeFormat.bullet con immagine",
"tableWithImageDescription": "@:chat .changeFormat.table con immagine"
},
"switchModel": {
"label": "Cambia modello",
"localModel": "Modello locale",
"cloudModel": "Modello in cloud",
"autoModel": "Automatico"
},
"selectBanner": {
"saveButton": "Aggiungi a …",
"selectMessages": "Seleziona i messaggi",
"nSelected": "{} selezionati",
"allSelected": "Tutti selezionati"
},
"stopTooltip": "Smetti di generare"
},
"trash": {
"text": "Cestino",
"restoreAll": "Ripristina Tutto",
"restore": "Ripristina",
"deleteAll": "Elimina Tutto",
"pageHeader": {
"fileName": "Nome file",
@@ -203,6 +327,10 @@
"title": "Sei sicuro di ripristinare tutte le pagine nel Cestino?",
"caption": "Questa azione non può essere annullata."
},
"restorePage": {
"title": "Ripristina: {}",
"caption": "Sei sicuro di voler ripristinare questa pagina?"
},
"mobile": {
"actions": "Azioni del cestino",
"empty": "Il cestino è vuoto",
@@ -215,12 +343,15 @@
"deletePagePrompt": {
"text": "Questa pagina è nel Cestino",
"restore": "Ripristina pagina",
"deletePermanent": "Elimina definitivamente"
"deletePermanent": "Elimina definitivamente",
"deletePermanentDescription": "Vuoi davvero eliminare definitivamente questa pagina? L'operazione è irreversibile."
},
"dialogCreatePageNameHint": "Nome pagina",
"questionBubble": {
"shortcuts": "Scorciatoie",
"whatsNew": "Cosa c'è di nuovo?",
"helpAndDocumentation": "Aiuto e documentazione",
"getSupport": "Ottieni supporto",
"markdown": "Markdown",
"debug": {
"name": "Informazioni di debug",
@@ -234,7 +365,8 @@
"moreButtonToolTip": "Rimuovi, rinomina e altro...",
"addPageTooltip": "Aggiungi velocemente una pagina all'interno",
"defaultNewPageName": "Senza titolo",
"renameDialog": "Rinomina"
"renameDialog": "Rinomina",
"pageNameSuffix": "Copia"
},
"noPagesInside": "Nessuna pagina all'interno",
"toolbar": {
@@ -270,8 +402,10 @@
"sideBar": {
"closeSidebar": "Close sidebar",
"openSidebar": "Open sidebar",
"expandSidebar": "Espandi a pagina intera",
"personal": "Personale",
"private": "Privato",
"workspace": "Area di lavoro",
"favorites": "Preferiti",
"clickToHidePrivate": "Clicca per nascondere l'area privata\nLe pagine create qui sono visibili solo a te",
"clickToHideWorkspace": "Clicca per nascondere la workspace\nLe pagine che crei qui sono visibili a ogni membro",
@@ -284,6 +418,7 @@
"today": "Oggi",
"thisWeek": "Questa settimana",
"others": "Preferiti precedenti",
"earlier": "Prima",
"justNow": "poco fa",
"minutesAgo": "{count} minuti fa",
"lastViewed": "Visto per ultimo",
@@ -300,8 +435,22 @@
"upgradeToPro": "Aggiorna a Pro",
"upgradeToAIMax": "Sblocca AI illimitata",
"storageLimitDialogTitle": "Hai esaurito lo spazio d'archiviazione gratuito. Aggiorna per avere spazio d'archiviazione illimitato!",
"storageLimitDialogTitleIOS": "Hai esaurito lo spazio di archiviazione gratuito.",
"aiResponseLimitTitle": "Hai esaurito le risposte AI gratuite. Aggiorna al Piano Pro per acquistare un add-on AI per avere risposte illimitate",
"aiResponseLimitDialogTitle": "Numero di riposte AI raggiunto"
"aiResponseLimitDialogTitle": "Numero di riposte AI raggiunto",
"aiResponseLimit": "Hai esaurito le risposte AI gratuite.\n\nVai su Impostazioni -> Piano -> Fai clic su AI Max o Pro Plan per ottenere più risposte AI",
"askOwnerToUpgradeToPro": "Lo spazio di archiviazione gratuito del tuo spazio di lavoro sta esaurendo. Chiedi al proprietario del tuo spazio di lavoro di passare al piano Pro.",
"askOwnerToUpgradeToProIOS": "Lo spazio di archiviazione gratuito nel tuo spazio di lavoro sta esaurendo.",
"askOwnerToUpgradeToAIMax": "Il tuo spazio di lavoro ha esaurito le risposte AI gratuite. Chiedi al proprietario del tuo spazio di lavoro di aggiornare il piano o di acquistare componenti aggiuntivi AI.",
"askOwnerToUpgradeToAIMaxIOS": "Il tuo spazio di lavoro sta esaurendo le risposte AI gratuite.",
"purchaseAIMax": "Il tuo spazio di lavoro ha esaurito le risposte delle immagini AI. Chiedi al proprietario del tuo spazio di lavoro di acquistare AI Max",
"aiImageResponseLimit": "Hai esaurito le risposte delle immagini dell'IA.\n\nVai su Impostazioni -> Piano -> Fai clic su AI Max per ottenere più risposte di immagini AI",
"purchaseStorageSpace": "Acquista spazio di archiviazione",
"singleFileProPlanLimitationDescription": "Hai superato la dimensione massima di caricamento file consentita nel piano gratuito. Passa al piano Pro per caricare file più grandi.",
"purchaseAIResponse": "Acquista",
"askOwnerToUpgradeToLocalAI": "Chiedi al proprietario dell'area di lavoro di abilitare l'intelligenza artificiale sul dispositivo",
"upgradeToAILocal": "Esegui modelli locali sul tuo dispositivo per la massima privacy",
"upgradeToAILocalDesc": "Chatta con i PDF, migliora la tua scrittura e compila automaticamente le tabelle utilizzando l'intelligenza artificiale locale"
},
"notifications": {
"export": {
@@ -317,11 +466,13 @@
},
"button": {
"ok": "OK",
"confirm": "Conferma",
"done": "Fatto",
"cancel": "Annulla",
"signIn": "Accedi",
"signOut": "Esci",
"complete": "Completa",
"change": "Modifica",
"save": "Salva",
"generate": "creare",
"esc": "ESC",
@@ -334,18 +485,48 @@
"upload": "Caricamento",
"edit": "Modificare",
"delete": "Eliminare",
"copy": "Copia",
"duplicate": "Duplicare",
"putback": "Rimettere a posto",
"update": "Aggiorna",
"share": "Condividi",
"removeFromFavorites": "Rimuovi dai preferiti",
"removeFromRecent": "Rimuovi da Recenti",
"addToFavorites": "Aggiungi ai preferiti",
"favoriteSuccessfully": "Preferito aggiunto con successo",
"unfavoriteSuccessfully": "Preferito rimosso con successo",
"duplicateSuccessfully": "Duplicato con successo",
"rename": "Rinomina",
"helpCenter": "Centro assistenza",
"add": "Aggiungi",
"yes": "SÌ",
"no": "No",
"clear": "Pulisci",
"remove": "Rimuovi",
"dontRemove": "Non rimuovere"
"dontRemove": "Non rimuovere",
"copyLink": "Copia collegamento",
"align": "Allinea",
"login": "Login",
"logout": "Disconnettiti",
"deleteAccount": "Elimina l'account",
"back": "Indietro",
"signInGoogle": "Continua con Google",
"signInGithub": "Continua con GitHub",
"signInDiscord": "Continua con Discord",
"more": "Di più",
"create": "Creare",
"close": "Chiudi",
"next": "Prossimo",
"previous": "Precedente",
"submit": "Invia",
"download": "Scarica",
"backToHome": "Torna alla Home",
"viewing": "Visualizzazione",
"editing": "Modifica",
"gotIt": "Fatto",
"retry": "Riprova",
"uploadFailed": "Caricamento non riuscito.",
"copyLinkOriginal": "Copia il collegamento all'originale"
},
"label": {
"welcome": "Benvenuto!",
@@ -369,6 +550,619 @@
},
"settings": {
"title": "Impostazioni",
"popupMenuItem": {
"settings": "Impostazioni",
"members": "Membri",
"trash": "Spazzatura",
"helpAndDocumentation": "Aiuto e documentazione",
"getSupport": "Ottieni supporto"
},
"sites": {
"title": "Siti",
"namespaceTitle": "Namespace",
"namespaceDescription": "Gestisci il tuo namespace e la tua homepage",
"namespaceHeader": "Namespace",
"homepageHeader": "Homepage",
"updateNamespace": "Aggiorna il namespace",
"removeHomepage": "Rimuovi la homepage",
"selectHomePage": "Seleziona una pagina",
"clearHomePage": "Cancella la homepage per questo namespace",
"customUrl": "URL personalizzato",
"homePage": {
"upgradeToPro": "Passa al piano Pro per impostare una homepage"
},
"namespace": {
"description": "Questa modifica verrà applicata a tutte le pagine pubblicate in questo namespace",
"tooltip": "Ci riserviamo il diritto di rimuovere qualsiasi namespace inappropriato",
"updateExistingNamespace": "Aggiorna il namexpace esistente",
"upgradeToPro": "Passa al piano Pro per richiedere uno spazio dei nomi personalizzato",
"redirectToPayment": "Reindirizzamento alla pagina di pagamento...",
"onlyWorkspaceOwnerCanSetHomePage": "Solo il proprietario dell'area di lavoro può impostare una homepage",
"pleaseAskOwnerToSetHomePage": "Chiedi al proprietario dell'area di lavoro di passare al piano Pro"
},
"publishedPage": {
"title": "Tutte le pagine pubblicate",
"description": "Gestisci le tue pagine pubblicate",
"page": "Pagina",
"pathName": "Nome del percorso",
"date": "Data di pubblicazione",
"emptyHinText": "Non hai pagine pubblicate in questo spazio di lavoro",
"noPublishedPages": "Nessuna pagina pubblicata",
"settings": "Impostazioni di pubblicazione",
"clickToOpenPageInApp": "Apri la pagina nell'app",
"clickToOpenPageInBrowser": "Apri la pagina nel browser"
},
"error": {
"failedToGeneratePaymentLink": "Impossibile generare il collegamento di pagamento per il piano Pro",
"failedToUpdateNamespace": "Impossibile aggiornare il namespace",
"proPlanLimitation": "È necessario eseguire l'aggiornamento al piano Pro per aggiornare lo spazio dei nomi",
"namespaceAlreadyInUse": "Il namespace è già stato preso, provane un altro",
"invalidNamespace": "Namespace non valido, provane un altro",
"namespaceLengthAtLeast2Characters": "Il namespace deve essere lungo almeno 2 caratteri",
"onlyWorkspaceOwnerCanUpdateNamespace": "Solo il proprietario dell'area di lavoro può aggiornare il namespace",
"onlyWorkspaceOwnerCanRemoveHomepage": "Solo il proprietario dell'area di lavoro può rimuovere la home page",
"setHomepageFailed": "Impossibile impostare la homepage",
"namespaceTooLong": "Il namespace è troppo lungo, provane un altro",
"namespaceTooShort": "Il namespace è troppo breve, provane un altro",
"namespaceIsReserved": "Il namespace è riservato, provane un altro",
"updatePathNameFailed": "Impossibile aggiornare il percorso",
"removeHomePageFailed": "Impossibile rimuovere la homepage",
"publishNameContainsInvalidCharacters": "Il percorso contiene caratteri non validi, provane un altro",
"publishNameTooShort": "Il percorso è troppo breve, provane un altro",
"publishNameTooLong": "Il percorso è troppo lungo, provane un altro",
"publishNameAlreadyInUse": "Il percorso è già in uso, provane un altro",
"namespaceContainsInvalidCharacters": "Il namespace contiene caratteri non validi, provane un altro",
"publishPermissionDenied": "Solo il proprietario dell'area di lavoro o l'editore della pagina può gestire le impostazioni di pubblicazione",
"publishNameCannotBeEmpty": "Il percorso non può essere vuoto, provane un altro"
},
"success": {
"namespaceUpdated": "Namespace aggiornato correttamente",
"setHomepageSuccess": "La homepage è stata impostata correttamente",
"updatePathNameSuccess": "Percorso aggiornato correttamente",
"removeHomePageSuccess": "Homepage rimossa con successo"
}
},
"accountPage": {
"menuLabel": "Account e app",
"title": "Il mio account",
"general": {
"title": "Nome dell'account e immagine del profilo",
"changeProfilePicture": "Cambia l'immagine del profilo"
},
"email": {
"title": "Email",
"actions": {
"change": "Cambia l'email"
}
},
"login": {
"title": "Accedi all'account",
"loginLabel": "Login",
"logoutLabel": "Disconnettiti"
},
"isUpToDate": "@:appName è aggiornato!",
"officialVersion": "Versione {versione} (官方構建)"
},
"workspacePage": {
"menuLabel": "Area di lavoro",
"title": "Area di lavoro",
"description": "Personalizza l'aspetto, il tema, il carattere, il layout del testo, il formato data/ora e la lingua del tuo spazio di lavoro.",
"workspaceName": {
"title": "Nome dell'area di lavoro"
},
"workspaceIcon": {
"title": "Icona dell'area di lavoro",
"description": "Carica un'immagine o usa un'emoji per il tuo spazio di lavoro. L'icona verrà visualizzata nella barra laterale e nelle notifiche."
},
"appearance": {
"title": "Aspetto",
"description": "Personalizza l'aspetto, il tema, il carattere, il layout del testo, la data, l'ora e la lingua del tuo spazio di lavoro.",
"options": {
"system": "Automatico",
"light": "Chiaro",
"dark": "Scuro"
}
},
"resetCursorColor": {
"title": "Reimposta il colore del cursore del documento",
"description": "Vuoi davvero reimpostare il colore del cursore?"
},
"resetSelectionColor": {
"title": "Reimposta il colore di selezione del documento",
"description": "Vuoi davvero reimpostare il colore di selezione?"
},
"resetWidth": {
"resetSuccess": "Reimposta correttamente la larghezza del documento"
},
"theme": {
"title": "Tema",
"description": "Seleziona un tema preimpostato o carica il tuo tema personalizzato.",
"uploadCustomThemeTooltip": "Carica un tema personalizzato",
"failedToLoadThemes": "Impossibile caricare i temi, controlla le impostazioni dei permessi in Impostazioni di sistema -> Privacy e sicurezza -> File e cartelle -> @:appName"
},
"workspaceFont": {
"title": "Carattere dell'area di lavoro",
"noFontHint": "Nessun font trovato, prova un altro termine."
},
"textDirection": {
"title": "Direzione del testo",
"leftToRight": "Da sinistra a destra",
"rightToLeft": "Da destra a sinistra",
"auto": "Auto",
"enableRTLItems": "Abilita gli elementi della barra degli strumenti RTL"
},
"layoutDirection": {
"title": "Direzione del layout",
"leftToRight": "Da sinistra a destra",
"rightToLeft": "Da destra a sinistra"
},
"dateTime": {
"title": "Data e ora",
"example": "{} alle {} ({})",
"24HourTime": "formato 24 ore",
"dateFormat": {
"label": "Formato data",
"local": "Locale",
"us": "US",
"iso": "ISO",
"friendly": "Amichevole",
"dmy": "G/M/A"
}
},
"language": {
"title": "Lingua"
},
"deleteWorkspacePrompt": {
"title": "Elimina area di lavoro",
"content": "Vuoi davvero eliminare questo spazio di lavoro? Questa azione non può essere annullata e tutte le pagine che hai pubblicato verranno rimosse dalla pubblicazione."
},
"leaveWorkspacePrompt": {
"title": "Lascia l'area di lavoro",
"content": "Vuoi davvero uscire da questa area di lavoro? Perderai l'accesso a tutte le pagine e ai dati in essa contenuti.",
"success": "Hai abbandonato l'area di lavoro con successo.",
"fail": "Impossibile uscire dall'area di lavoro."
},
"manageWorkspace": {
"title": "Gestisci l'area di lavoro",
"leaveWorkspace": "Lascia l'area di lavoro",
"deleteWorkspace": "Elimina area di lavoro"
}
},
"manageDataPage": {
"menuLabel": "Gestisci i dati",
"title": "Gestisci i dati",
"description": "Gestisci l'archiviazione locale dei dati o importa i tuoi dati esistenti in @:appName .",
"dataStorage": {
"title": "Posizione di archiviazione dei file",
"tooltip": "La posizione in cui sono archiviati i tuoi file",
"actions": {
"change": "Cambia percorso",
"open": "Apri cartella",
"openTooltip": "Apri la posizione della cartella dati corrente",
"copy": "Copia percorso",
"copiedHint": "Percorso copiato!",
"resetTooltip": "Ripristina la posizione predefinita"
},
"resetDialog": {
"title": "Sei sicuro?",
"description": "Reimpostare il percorso alla posizione predefinita dei dati non eliminerà i dati. Se desideri reimportare i dati correnti, devi prima copiare il percorso della posizione corrente."
}
},
"importData": {
"title": "Importa dati",
"tooltip": "Importa dati da cartelle di backup/dati @:appName",
"description": "Copia i dati da una cartella dati esterna @:appName",
"action": "Sfoglia file"
},
"encryption": {
"title": "Crittografia",
"tooltip": "Gestisci il modo in cui i tuoi dati vengono archiviati e crittografati",
"descriptionNoEncryption": "L'attivazione della crittografia crittograferà tutti i dati. Questa operazione non può essere annullata.",
"descriptionEncrypted": "I tuoi dati sono crittografati.",
"action": "Crittografare i dati",
"dialog": {
"title": "Vuoi crittografare tutti i tuoi dati?",
"description": "La crittografia di tutti i tuoi dati li manterrà al sicuro e protetti. Questa azione NON può essere annullata. Vuoi continuare?"
}
},
"cache": {
"title": "Cancella cache",
"description": "Aiuta a risolvere problemi come il mancato caricamento delle immagini, pagine mancanti in uno spazio e caratteri non caricati. Questo non influirà sui tuoi dati.",
"dialog": {
"title": "Cancella cache",
"description": "Aiuta a risolvere problemi come il mancato caricamento delle immagini, pagine mancanti in uno spazio e caratteri non caricati. Questo non influirà sui tuoi dati.",
"successHint": "Cache svuotata!"
}
},
"data": {
"fixYourData": "Correggi i tuoi dati",
"fixButton": "Correggi",
"fixYourDataDescription": "Se riscontri problemi con i tuoi dati, puoi provare a risolverli qui."
}
},
"shortcutsPage": {
"menuLabel": "Scorciatoie",
"title": "Scorciatoie",
"editBindingHint": "Inserisci nuova associazione",
"searchHint": "Ricerca",
"actions": {
"resetDefault": "Ripristina predefinito"
},
"errorPage": {
"message": "Impossibile caricare i collegamenti: {}",
"howToFix": "Riprova. Se il problema persiste, contattaci su GitHub."
},
"resetDialog": {
"title": "Reimposta le scorciatoie",
"description": "Questa operazione ripristinerà tutte le combinazioni di tasti predefinite; non sarà possibile annullare questa operazione in seguito. Vuoi procedere?",
"buttonLabel": "Ripristina"
},
"conflictDialog": {
"title": "{} è attualmente in uso",
"descriptionPrefix": "Questa combinazione di tasti è attualmente utilizzata da ",
"descriptionSuffix": ". Se si sostituisce questa combinazione di tasti, questa verrà rimossa da {}.",
"confirmLabel": "Continua"
},
"editTooltip": "Premere per iniziare a modificare la combinazione di tasti",
"keybindings": {
"toggleToDoList": "Attiva/disattiva l'elenco delle cose da fare",
"insertNewParagraphInCodeblock": "Inserisci nuovo paragrafo",
"pasteInCodeblock": "Incolla nel blocco di codice",
"selectAllCodeblock": "Seleziona tutto",
"indentLineCodeblock": "Inserisci due spazi all'inizio della riga",
"outdentLineCodeblock": "Elimina due spazi all'inizio della riga",
"twoSpacesCursorCodeblock": "Inserisci due spazi al cursore",
"copy": "Copia selezione",
"paste": "Incolla nel contenuto",
"cut": "Taglia la selezione",
"alignLeft": "Allinea il testo a sinistra",
"alignCenter": "Allinea il testo al centro",
"alignRight": "Allinea il testo a destra",
"insertInlineMathEquation": "Inserisci equazione matematica in linea",
"undo": "Annulla",
"redo": "Rifai",
"convertToParagraph": "Converti blocco in paragrafo",
"backspace": "Elimina",
"deleteLeftWord": "Elimina la parola a sinistra",
"deleteLeftSentence": "Elimina la frase a sinistra",
"delete": "Elimina il carattere corretto",
"deleteMacOS": "Elimina il carattere a sinistra",
"deleteRightWord": "Elimina la parola a destra",
"moveCursorLeft": "Sposta il cursore a sinistra",
"moveCursorBeginning": "Sposta il cursore all'inizio",
"moveCursorLeftWord": "Sposta il cursore a sinistra di una parola",
"moveCursorLeftSelect": "Seleziona e sposta il cursore a sinistra",
"moveCursorBeginSelect": "Seleziona e sposta il cursore all'inizio",
"moveCursorLeftWordSelect": "Seleziona e sposta il cursore a sinistra di una parola",
"moveCursorRight": "Sposta il cursore a destra",
"moveCursorEnd": "Sposta il cursore alla fine",
"moveCursorRightWord": "Sposta il cursore a destra di una parola",
"moveCursorRightSelect": "Seleziona e sposta il cursore a destra",
"moveCursorEndSelect": "Seleziona e sposta il cursore alla fine",
"moveCursorRightWordSelect": "Seleziona e sposta il cursore a destra di una parola",
"moveCursorUp": "Sposta il cursore verso l'alto",
"moveCursorTopSelect": "Seleziona e sposta il cursore in alto",
"moveCursorTop": "Sposta il cursore in alto",
"moveCursorUpSelect": "Seleziona e sposta il cursore verso l'alto",
"moveCursorBottomSelect": "Seleziona e sposta il cursore in basso",
"moveCursorBottom": "Sposta il cursore in basso",
"moveCursorDown": "Sposta il cursore verso il basso",
"moveCursorDownSelect": "Seleziona e sposta il cursore verso il basso",
"home": "Scorri verso l'alto",
"end": "Scorri fino in fondo",
"toggleBold": "Attiva/disattiva grassetto",
"toggleItalic": "Attiva/disattiva il corsivo",
"toggleUnderline": "Attiva/disattiva la sottolineatura",
"toggleStrikethrough": "Attiva/disattiva barrato",
"toggleCode": "Attiva/disattiva il codice in linea",
"toggleHighlight": "Attiva/disattiva l'evidenziazione",
"showLinkMenu": "Mostra il menu dei link",
"openInlineLink": "Apri collegamento in linea",
"openLinks": "Apri tutti i link selezionati",
"indent": "Aumenta rientro",
"outdent": "Riduci rientro",
"exit": "Esci dalla modifica",
"pageUp": "Scorri una pagina verso l'alto",
"pageDown": "Scorri una pagina verso il basso",
"selectAll": "Seleziona tutto",
"pasteWithoutFormatting": "Incolla il contenuto senza formattazione",
"showEmojiPicker": "Mostra selettore emoji",
"enterInTableCell": "Aggiungi interruzione di riga nella tabella",
"leftInTableCell": "Sposta a sinistra di una cella nella tabella",
"rightInTableCell": "Spostati a destra di una cella nella tabella",
"upInTableCell": "Spostarsi su di una cella nella tabella",
"downInTableCell": "Spostarsi verso il basso di una cella nella tabella",
"tabInTableCell": "Vai alla cella disponibile successiva nella tabella",
"shiftTabInTableCell": "Vai alla cella precedentemente disponibile nella tabella",
"backSpaceInTableCell": "Fermati all'inizio della cella"
},
"commands": {
"codeBlockNewParagraph": "Inserisci un nuovo paragrafo accanto al blocco di codice",
"codeBlockIndentLines": "Inserire due spazi all'inizio della riga nel blocco di codice",
"codeBlockOutdentLines": "Elimina due spazi all'inizio della riga nel blocco di codice",
"codeBlockAddTwoSpaces": "Inserisci due spazi nella posizione del cursore nel blocco di codice",
"codeBlockSelectAll": "Seleziona tutto il contenuto all'interno di un blocco di codice",
"codeBlockPasteText": "Incolla il testo nel blocco di codice",
"textAlignLeft": "Allinea il testo a sinistra",
"textAlignCenter": "Allinea il testo al centro",
"textAlignRight": "Allinea il testo a destra"
},
"couldNotLoadErrorMsg": "Impossibile caricare i collegamenti. Riprova.",
"couldNotSaveErrorMsg": "Impossibile salvare i collegamenti. Riprova."
},
"aiPage": {
"title": "Impostazioni AI",
"menuLabel": "Impostazioni AI",
"keys": {
"enableAISearchTitle": "Ricerca AI",
"aiSettingsDescription": "Scegli il modello che preferisci per potenziare AppFlowy AI. Ora include GPT-4o, GPT-o3-mini, DeepSeek R1, Claude 3.5 Sonnet e modelli disponibili in Ollama.",
"loginToEnableAIFeature": "Le funzionalità di intelligenza artificiale sono abilitate solo dopo aver effettuato l'accesso con @:appName Cloud. Se non hai un @:appName , vai su \"Il mio account\" per registrarti.",
"llmModel": "Modello linguistico",
"globalLLMModel": "Modello linguistico globale",
"readOnlyField": "Questo campo è di sola lettura",
"llmModelType": "Tipo di modello linguistico",
"downloadLLMPrompt": "Scarica {}",
"downloadAppFlowyOfflineAI": "Scaricando il pacchetto AI offline, l'AI potrà essere eseguita sul tuo dispositivo. Vuoi continuare?",
"downloadLLMPromptDetail": "Il download del modello locale {} occuperà fino a {} di spazio di archiviazione. Vuoi continuare?",
"downloadBigFilePrompt": "Potrebbero essere necessari circa 10 minuti per completare il download",
"downloadAIModelButton": "Scarica",
"downloadingModel": "Scaricando",
"localAILoaded": "Modello AI locale aggiunto correttamente e pronto per l'uso",
"localAIStart": "L'intelligenza artificiale locale si sta avviando. Se è lenta, prova a disattivarla e riattivarla.",
"localAILoading": "Caricamento del modello di chat AI locale...",
"localAIStopped": "L'IA locale si è fermata",
"localAIRunning": "L'intelligenza artificiale locale è in esecuzione",
"localAINotReadyRetryLater": "L'IA locale è in fase di inizializzazione, riprova più tardi",
"localAIDisabled": "Stai utilizzando l'intelligenza artificiale locale, ma è disabilitata. Vai alle impostazioni per abilitarla o prova un modello diverso.",
"localAIInitializing": "L'intelligenza artificiale locale è in fase di caricamento. Potrebbero volerci alcuni secondi, a seconda del dispositivo.",
"localAINotReadyTextFieldPrompt": "Non è possibile modificare mentre l'IA locale è in fase di caricamento",
"localAIDisabledTextFieldPrompt": "Non puoi modificare mentre l'IA locale è disabilitata",
"failToLoadLocalAI": "Impossibile avviare l'IA locale.",
"restartLocalAI": "Riavvia",
"disableLocalAITitle": "Disabilita l'IA locale",
"disableLocalAIDescription": "Vuoi disattivare l'IA locale?",
"localAIToggleTitle": "AppFlowy IA locale (LAI)",
"localAIToggleSubTitle": "Esegui i modelli di intelligenza artificiale locale più avanzati all'interno di AppFlowy per la massima privacy e sicurezza",
"offlineAIInstruction1": "Segui l'",
"offlineAIInstruction2": "istruzione",
"offlineAIInstruction3": "per abilitare l'intelligenza artificiale offline.",
"offlineAIDownload1": "Se non hai scaricato AppFlowy AI, per favore",
"offlineAIDownload2": "scaricala",
"offlineAIDownload3": "prima di tutto",
"activeOfflineAI": "Attiva",
"downloadOfflineAI": "Scarica",
"openModelDirectory": "Apri cartella",
"laiNotReady": "L'app Local AI non è stata installata correttamente.",
"ollamaNotReady": "Il server Ollama non è pronto.",
"pleaseFollowThese": "Per favore segui queste",
"instructions": "istruzioni",
"installOllamaLai": "per configurare Ollama e AppFlowy Local AI.",
"modelsMissing": "Impossibile trovare i modelli richiesti: ",
"downloadModel": "per scaricarli."
}
},
"planPage": {
"menuLabel": "Piano",
"title": "Piano tariffario",
"planUsage": {
"title": "Riepilogo dell'utilizzo del piano",
"storageLabel": "Archiviazione",
"storageUsage": "{} di {} GB",
"unlimitedStorageLabel": "Spazio di archiviazione illimitato",
"collaboratorsLabel": "Membri",
"collaboratorsUsage": "{} di {}",
"aiResponseLabel": "Risposte IA",
"aiResponseUsage": "{} di {}",
"unlimitedAILabel": "Risposte illimitate",
"proBadge": "Pro",
"aiMaxBadge": "AI Max",
"aiOnDeviceBadge": "AI sul dispositivo per Mac",
"memberProToggle": "Più membri e accesso illimitato all'IA e agli ospiti",
"aiMaxToggle": "Intelligenza artificiale illimitata e accesso a modelli avanzati",
"aiOnDeviceToggle": "Intelligenza artificiale locale per la massima privacy",
"aiCredit": {
"title": "Aggiungi credito AI @:appName",
"price": "{}",
"priceDescription": "per 1.000 crediti",
"purchase": "Acquista AI",
"info": "Aggiungi 1.000 crediti AI per area di lavoro e integra perfettamente l'AI personalizzabile nel tuo flusso di lavoro per risultati più intelligenti e rapidi con un massimo di:",
"infoItemOne": "10.000 risposte per database",
"infoItemTwo": "1.000 risposte per spazio di lavoro"
},
"currentPlan": {
"bannerLabel": "Piano attuale",
"freeTitle": "Gratuito",
"proTitle": "Pro",
"teamTitle": "Team",
"freeInfo": "Perfetto per singoli fino a 2 membri per organizzare tutto",
"proInfo": "Perfetto per team piccoli e medi fino a 10 membri.",
"teamInfo": "Perfetto per tutti i team produttivi e ben organizzati.",
"upgrade": "Cambia piano",
"canceledInfo": "Il tuo piano è stato annullato e il {} passerà al piano gratuito."
},
"addons": {
"title": "Componenti aggiuntivi",
"addLabel": "Aggiungi",
"activeLabel": "Aggiunto",
"aiMax": {
"title": "AI Max",
"description": "Risposte AI illimitate basate su modelli AI avanzati e 50 immagini AI al mese",
"price": "{}",
"priceInfo": "Per utente, al mese, fatturato annualmente"
},
"aiOnDevice": {
"title": "AI sul dispositivo per Mac",
"description": "Esegui Mistral 7B, LLAMA 3 e altri modelli locali sul tuo computer",
"price": "{}",
"priceInfo": "Per utente al mese fatturato annualmente",
"recommend": "Si consiglia M1 o più recente"
}
},
"deal": {
"bannerLabel": "Offerta per il nuovo anno!",
"title": "Fai crescere il tuo team!",
"info": "Esegui l'upgrade e risparmia il 10% sui piani Pro e Team! Aumenta la produttività del tuo spazio di lavoro con nuove potenti funzionalità, tra cui l'intelligenza artificiale @:appName .",
"viewPlans": "Visualizza i piani"
}
}
},
"billingPage": {
"menuLabel": "Fatturazione",
"title": "Fatturazione",
"plan": {
"title": "Piano",
"freeLabel": "Gratuito",
"proLabel": "Pro",
"planButtonLabel": "Cambia piano",
"billingPeriod": "Periodo di fatturazione",
"periodButtonLabel": "Periodo di modifica"
},
"paymentDetails": {
"title": "Dettagli di pagamento",
"methodLabel": "Metodo di pagamento",
"methodButtonLabel": "Modifica il metodo"
},
"addons": {
"title": "Componenti aggiuntivi",
"addLabel": "Aggiungi",
"removeLabel": "Rimuovi",
"renewLabel": "Rinnova",
"aiMax": {
"label": "AI Max",
"description": "Sblocca IA illimitata e modelli avanzati",
"activeDescription": "Prossima fattura in scadenza il {}",
"canceledDescription": "AI Max sarà disponibile fino al {}"
},
"aiOnDevice": {
"label": "AI sul dispositivo per Mac",
"description": "Sblocca l'intelligenza artificiale illimitata sul tuo dispositivo",
"activeDescription": "Prossima fattura in scadenza il {}",
"canceledDescription": "AI On-device per Mac sarà disponibile fino al {}"
},
"removeDialog": {
"title": "Rimuovi {}",
"description": "Vuoi davvero rimuovere {plan}? Perderai immediatamente l'accesso alle funzionalità e ai vantaggi di {plan}."
}
},
"currentPeriodBadge": "ATTUALE",
"changePeriod": "Modifica il periodo",
"planPeriod": "{} periodo",
"monthlyInterval": "Mensile",
"monthlyPriceInfo": "per posto fatturato mensilmente",
"annualInterval": "Annualmente",
"annualPriceInfo": "per posto fatturato annualmente"
},
"comparePlanDialog": {
"title": "Confronta e seleziona il piano",
"planFeatures": "Piano\nCaratteristiche",
"current": "Attuale",
"actions": {
"upgrade": "Aggiorna",
"downgrade": "Downgrade",
"current": "Attuale"
},
"freePlan": {
"title": "Gratuito",
"description": "Per singoli fino a 2 membri per organizzare tutto",
"price": "{}",
"priceInfo": "Gratuito per sempre"
},
"proPlan": {
"title": "Pro",
"description": "Per piccoli team per gestire progetti e conoscenze di squadra",
"price": "{}",
"priceInfo": "Per utente al mese\nfatturato annualmente<inlang-LineFeed>\n{} fatturato mensilmente"
},
"planLabels": {
"itemOne": "Spazi di lavoro",
"itemTwo": "Membri",
"itemThree": "Archiviazione",
"itemFour": "Collaborazione in tempo reale",
"itemFive": "Editor ospiti",
"itemSix": "Risposte AI",
"itemSeven": "Immagini AI",
"itemFileUpload": "Caricamento di file",
"customNamespace": "Namespace personalizzato",
"tooltipFive": "Collaborare su pagine specifiche con i non membri",
"tooltipSix": "Per sempre significa che il numero di risposte non viene mai azzerato",
"intelligentSearch": "Ricerca intelligente",
"tooltipSeven": "Ti consente di personalizzare parte dell'URL per il tuo spazio di lavoro",
"customNamespaceTooltip": "URL del sito pubblicato personalizzato"
},
"freeLabels": {
"itemOne": "Addebitato per spazio di lavoro",
"itemTwo": "Fino a 2",
"itemThree": "5 GB",
"itemFour": "si",
"itemFive": "si",
"itemSix": "10 a vita",
"itemSeven": "2 a vita",
"itemFileUpload": "Fino a 7 MB",
"intelligentSearch": "Ricerca intelligente"
},
"proLabels": {
"itemOne": "Addebitato per spazio di lavoro",
"itemTwo": "Fino a 10",
"itemThree": "Illimitato",
"itemFour": "si",
"itemFive": "Fino a 100",
"itemSix": "Illimitato",
"itemSeven": "50 immagini al mese",
"itemFileUpload": "Illimitato",
"intelligentSearch": "Ricerca intelligente"
},
"paymentSuccess": {
"title": "Ora sei sul piano {}!",
"description": "Il tuo pagamento è stato elaborato con successo e il tuo piano è stato aggiornato a @:appName {}. Puoi visualizzare i dettagli del tuo piano nella pagina Piano"
},
"downgradeDialog": {
"title": "Sei sicuro di voler effettuare il downgrade del tuo piano?",
"description": "Effettuando il downgrade del tuo piano tornerai al piano gratuito. Gli utenti potrebbero perdere l'accesso a questo spazio di lavoro e potresti dover liberare spazio per rispettare i limiti di archiviazione del piano gratuito.",
"downgradeLabel": "Effettua il downgrade del piano"
}
},
"cancelSurveyDialog": {
"title": "Ci dispiace vederti andare",
"description": "Ci dispiace vederti andare via. Ci piacerebbe ricevere il tuo feedback per aiutarci a migliorare @:appName . Ti preghiamo di dedicare un momento per rispondere ad alcune domande.",
"commonOther": "Altro",
"otherHint": "Scrivi qui la tua risposta",
"questionOne": {
"question": "Cosa ti ha spinto ad annullare il tuo abbonamento Pro @:appName ?",
"answerOne": "Costo troppo alto",
"answerTwo": "Le caratteristiche non hanno soddisfatto le aspettative",
"answerThree": "Ho trovato un'alternativa migliore",
"answerFour": "Non l'ho usato abbastanza per giustificare la spesa",
"answerFive": "Problema di servizio o difficoltà tecniche"
},
"questionTwo": {
"question": "Quanto è probabile che in futuro prenderai in considerazione l'idea di riabbonarti a @:appName Pro?",
"answerOne": "Molto probabile",
"answerTwo": "Abbastanza probabile",
"answerThree": "Non so",
"answerFour": "Improbabile",
"answerFive": "Molto improbabile"
},
"questionThree": {
"question": "Quale funzionalità Pro hai apprezzato di più durante il tuo abbonamento?",
"answerOne": "Collaborazione multiutente",
"answerTwo": "Cronologia delle versioni più lunghe",
"answerThree": "Risposte AI illimitate",
"answerFour": "Accesso ai modelli di intelligenza artificiale locali"
},
"questionFour": {
"question": "Come descriveresti la tua esperienza complessiva con @:appName ?",
"answerOne": "Eccezionale",
"answerTwo": "Buona",
"answerThree": "Nella media",
"answerFour": "Sotto la media",
"answerFive": "Insoddisfatto"
}
},
"common": {
"uploadingFile": "Il file è in fase di caricamento. Non uscire dall'app.",
"uploadNotionSuccess": "Il tuo file zip Notion è stato caricato correttamente. Una volta completata l'importazione, riceverai un'email di conferma.",
"reset": "Reset"
},
"menu": {
"appearance": "Aspetto",
"language": "Lingua",