Compare commits

...
16 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
AlphaSu1978 a447af334d chore: update zh-TW translations (#8128)
* 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 🐦

* 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 🐦

* 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 🐦

* 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 🐦

* 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-08-20 10:52:32 +08:00
Matyáš Vaňhát 223126aff7 chore: update cs-CZ translations with Fink 🐦 (#8157) 2025-08-20 10:51:37 +08:00
Mo'ath Zaghdad 6654e0c6b3 chore: update ar-SA translations with Fink 🐦 (#8167) 2025-08-20 10:50:58 +08:00
Phenol_EV 1fbd37631a chore: update zh-CN translations (#8174)
Some Chinese translations have been revised to make them look more authentic.
2025-08-20 10:50:30 +08:00
Lucas 6b84c4b970 chore: upgrade AGP version to 8.1.0 (#8119)
* chore: upgrade AGP version to 8.1.0

* chore: update version info
2025-07-14 11:25:53 +08:00
Lucas 7599c1902d fix: prevent location from being accessed continuously on Windows (#8110) 2025-07-08 11:50:22 +08:00
YangFong 7b1a153749 chore: remove extra space in createdAt translation of zh-CN (#8094) 2025-07-03 09:49:30 +08:00
33 changed files with 3895 additions and 351 deletions

No files matched your search

+320 -3
View File
@@ -1,4 +1,321 @@
# 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
- Private page sharing: Add members to private pages with Can View or Can Edit permissions
- Guest editor collaboration: Invite non-members (guest editors) to collaborate in real-time on your pages
- Shared with me: Browse all pages shared with you under the new Shared with me section
- New syncing protocol: Optimized for faster, more reliable multi-user and multi-device data sync
### Mobile
#### New Features
- Shared page collaboration: View and edit pages that have been shared with you on iOS and Android
- New syncing protocol: Optimized for faster, more reliable multi-user and multi-device data sync
## Version 0.9.3 - 28/05/2025
### Desktop
#### New Features
@@ -23,8 +340,8 @@
## Version 0.9.2 - 14/05/2025
### Desktop
#### New Features
- Supported AI Overview in Search to answer user queries based on their entire workspace
- Revamped the Search panel in the desktop app
- Supported AI Overview in Search to answer user queries based on their entire workspace
- Revamped the Search panel in the desktop app
- Enabled loading custom prompts from an AppFlowy database page
#### Bug Fixes
- Improved inserting emojis using the colon (:)
@@ -235,7 +552,7 @@
- Fixed an error when opening files in the database in local mode
- Fixed arrow up/down navigation not working for selecting a language in Code Block
- Fixed an issue where deleting multiple blocks using the drag button on the document page didn’t work
## Version 0.7.7 - 09/12/2024
### Bug Fixes
- Fixed sidebar menu resize regression
+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.3"
APPFLOWY_VERSION = "0.11.4"
FLUTTER_DESKTOP_FEATURES = "dart"
PRODUCT_NAME = "AppFlowy"
MACOSX_DEPLOYMENT_TARGET = "11.0"
@@ -32,7 +32,7 @@ if (keystorePropertiesFile.exists()) {
}
android {
compileSdkVersion 34
compileSdkVersion 35
ndkVersion "24.0.8215888"
compileOptions {
@@ -6,7 +6,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
classpath 'com.android.tools.build:gradle:8.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
@@ -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,
@@ -9,7 +9,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
classpath 'com.android.tools.build:gradle:8.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
@@ -26,6 +26,16 @@ apply plugin: 'kotlin-android'
android {
compileSdkVersion 33
namespace 'com.plugin.appflowy_backend'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
@@ -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) {
@@ -24,6 +24,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion 33
namespace 'com.example.flowy_infra_ui'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
+13 -12
View File
@@ -1078,7 +1078,7 @@ packages:
source: hosted
version: "0.1.8"
html:
dependency: transitive
dependency: "direct main"
description:
name: html
sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec"
@@ -1605,27 +1605,28 @@ packages:
permission_handler:
dependency: "direct main"
description:
name: permission_handler
sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb"
url: "https://pub.dev"
source: hosted
version: "11.3.1"
path: permission_handler
ref: faef1c9
resolved-ref: faef1c97970de29995642bfae61b884591798684
url: "https://github.com/LucasXu0/flutter-permission-handler.git"
source: git
version: "12.0.1"
permission_handler_android:
dependency: transitive
description:
name: permission_handler_android
sha256: "71bbecfee799e65aff7c744761a57e817e73b738fedf62ab7afd5593da21f9f1"
sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6"
url: "https://pub.dev"
source: hosted
version: "12.0.13"
version: "13.0.1"
permission_handler_apple:
dependency: transitive
description:
name: permission_handler_apple
sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0
sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023
url: "https://pub.dev"
source: hosted
version: "9.4.5"
version: "9.4.7"
permission_handler_html:
dependency: transitive
description:
@@ -1638,10 +1639,10 @@ packages:
dependency: transitive
description:
name: permission_handler_platform_interface
sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9
sha256: eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878
url: "https://pub.dev"
source: hosted
version: "4.2.3"
version: "4.3.0"
permission_handler_windows:
dependency: transitive
description:
+9 -10
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"
@@ -109,7 +109,6 @@ dependencies:
mime: ^2.0.0
nanoid: ^1.0.0
numerus: ^2.1.2
# Used to open local files on Mobile
open_filex: ^4.5.0
package_info_plus: ^8.0.2
@@ -152,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
@@ -246,14 +246,13 @@ dependency_overrides:
url: https://github.com/LucasXu0/unsplash_client.git
ref: a8411fc
# auto_updater:
# path: /Users/lucas.xu/Desktop/auto_updater/packages/auto_updater
# auto_updater_macos:
# path: /Users/lucas.xu/Desktop/auto_updater/packages/auto_updater_macos
# auto_updater_platform_interface:
# path: /Users/lucas.xu/Desktop/auto_updater/packages/auto_updater_platform_interface
# https://github.com/LucasXu0/flutter-permission-handler/commit/faef1c97970de29995642bfae61b884591798684
# Prevent the location from being accessed continuously on Windows
permission_handler:
git:
url: https://github.com/LucasXu0/flutter-permission-handler.git
path: permission_handler
ref: faef1c9
flutter:
generate: true
+13 -3
View File
@@ -901,6 +901,7 @@
"loginToEnableAIFeature": "لا يتم تمكين ميزات الذكاء الاصطناعي إلا بعد تسجيل الدخول باستخدام @:appName Cloud. إذا لم يكن لديك حساب @:appName ، فانتقل إلى \"حسابي\" للتسجيل",
"llmModel": "نموذج اللغة",
"globalLLMModel": "نموذج اللغة العام",
"readOnlyField": "هذا الحقل للقراءة فقط",
"llmModelType": "نوع نموذج اللغة",
"downloadLLMPrompt": "تنزيل {}",
"downloadAppFlowyOfflineAI": "سيؤدي تنزيل حزمة AI دون اتصال بالإنترنت إلى تفعيل تشغيل AI على جهازك. هل تريد الاستمرار؟",
@@ -1085,6 +1086,7 @@
"itemSeven": "صور الذكاء الاصطناعي",
"itemFileUpload": "رفع الملفات",
"customNamespace": "مساحة اسم مخصصة",
"tooltipFive": "تعاون في صفحات محددة مع غير الأعضاء",
"tooltipSix": "تعني مدة الحياة أن عدد الاستجابات لا يتم إعادة ضبطه أبدًا",
"intelligentSearch": "البحث الذكي",
"tooltipSeven": "يتيح لك تخصيص جزء من عنوان URL لمساحة العمل الخاصة بك",
@@ -1674,6 +1676,7 @@
"other": "إخفاء {count} الحقول المخفية"
},
"openAsFullPage": "افتح كصفحة كاملة",
"viewDatabase": "عرض قاعدة البيانات الأصلية",
"moreRowActions": "مزيد من إجراءات الصف"
},
"sort": {
@@ -2391,6 +2394,10 @@
"noResultForSearching": "لم يتم العثور على أي تطابقات",
"noResultForSearchingHint": "حاول استخدام أسئلة أو كلمات رئيسية مختلفة.\nقد تكون بعض الصفحات في سلة المهملات.",
"bestMatch": "أفضل تطابق",
"showMore": "إظهار المزيد",
"somethingWentWrong": "لقد حدث خطأ ما",
"pageNotExist": "هذه الصفحة غير موجودة",
"tryAgainOrLater": "الرجاء المحاولة مرة أخرى لاحقًا",
"placeholder": {
"actions": "إجراءات البحث ..."
}
@@ -2846,7 +2853,10 @@
"betaTooltip": "نحن ندعم حاليًا البحث عن الصفحات والمحتوى في المستندات فقط",
"fromTrashHint": "من سلة المحذوفات",
"noResultsHint": "لم نعثر على ما تبحث عنه، حاول البحث عن مصطلح آخر.",
"clearSearchTooltip": "مسح حقل البحث"
"clearSearchTooltip": "مسح حقل البحث",
"location": "موقع",
"created": "تم الإنشاء",
"edited": "تم التعديل"
},
"space": {
"delete": "حذف",
@@ -3362,6 +3372,7 @@
"browsePrompts": "تصفح المطالبات",
"usePrompt": "استخدم المطالبة",
"featured": "مميز",
"example": "مثال المطالبة",
"all": "الجميع",
"development": "التطوير",
"writing": "الكتابة",
@@ -3371,7 +3382,6 @@
"travel": "السفر",
"others": "آخر",
"prompt": "المطالبة",
"example": "مثال المطالبة",
"sampleOutput": "عينة الإخراج",
"contentSeo": "المحتوى/ت.م.ب",
"emailMarketing": "التسويق عبر البريد الإلكتروني",
@@ -3418,4 +3428,4 @@
"rewrite": "إعادة كتابة",
"insertBelow": "أدخل أدناه"
}
}
}
+420 -10
View File
@@ -2,12 +2,14 @@
"appName": "AppFlowy",
"defaultUsername": "Já",
"welcomeText": "Vítej",
"welcomeTo": "Vítejte v",
"githubStarText": "Ohvě",
"subscribeNewsletterText": "Přihlásit k odběru newsletteru",
"letsGoButtonText": "Rychlá",
"title": "Název",
"youCanAlso": "Můžete také",
"and": "a",
"failedToOpenUrl": "Nepodařilo se otevřít URL: {}",
"blockActions": {
"addBelowTooltip": "Kliknutím přidat pod",
"addAboveCmd": "Alt+kliknutí",
@@ -34,39 +36,146 @@
"loginButtonText": "Přihlásit",
"loginStartWithAnonymous": "Začít anonymní sezení",
"continueAnonymousUser": "Pokra",
"continueWithLocalModel": "Pokračovat s lokálním modelem",
"switchToAppFlowyCloud": "AppFlowy Cloud",
"anonymousMode": "Anonymní režim",
"buttonText": "Přihlásit se",
"signingInText": "Přihlašování...",
"forgotPassword": "Zapomenuté heslo?",
"emailHint": "E-mail",
"passwordHint": "Heslo",
"dontHaveAnAccount": "Nemáte účet?",
"createAccount": "Vytvořit účet",
"repeatPasswordEmptyError": "Heslo nesmí být prázné",
"unmatchedPasswordError": "Hesla se neshodují",
"passwordMustContain": "Heslo musí obsahovat alespoň jedno písmeno, jedno číslo a jeden symbol.",
"syncPromptMessage": "Synchronizace dat může chvilku trvat. Nezavírejte prosím tuto stránku.",
"or": "NEBO",
"signInWithGoogle": "Pokračovat s Googlem",
"signInWithGithub": "Pokračovat s GitHubem",
"signInWithDiscord": "Pokračovat s Discordem",
"signInWithApple": "Pokračujte s Applem",
"continueAnotherWay": "Pokračovat jinak",
"signUpWithGoogle": "Zaregistrujte se přes Googlu",
"signUpWithGithub": "Zaregistrujte se přes Github",
"signUpWithDiscord": "Zaregistrujte se přes Discord",
"signInWith": "Přihlásit přes:",
"signInWithEmail": "Pokračovat s e-mailem",
"signInWithMagicLink": "Pokračovat",
"signUpWithMagicLink": "Zaregistrujte se přes Magic Link",
"pleaseInputYourEmail": "Zadejte prosím svou e-mailovou adresu",
"settings": "Nastavení",
"magicLinkSent": "Magic Link odeslán!",
"invalidEmail": "Zadejte prosím platnou e-mailovou adresu",
"alreadyHaveAnAccount": "Již máte účet?",
"logIn": "Přihlásit se",
"generalError": "Něco se pokazilo. Zkuste to prosím znovu později.",
"limitRateError": "Z bezpečnostních důvodů můžete požádat o magic link pouze každých 60 sekund.",
"magicLinkSentDescription": "Na váš e-mail byl odeslán magic link. Kliknutím na odkaz dokončíte přihlášení. Platnost odkazu vyprší po 5 minutách.",
"tokenHasExpiredOrInvalid": "Platnost kódu vypršela nebo je kód neplatný. Zkuste to prosím znovu.",
"signingIn": "Přihlašování...",
"checkYourEmail": "Zkontrolujte si e-mail",
"temporaryVerificationLinkSent": "Byl odeslán dočasný ověřovací odkaz.\nZkontrolujte si prosím svou doručenou schránku",
"temporaryVerificationCodeSent": "Byl odeslán dočasný ověřovací kód.\nZkontrolujte si prosím doručenou poštu na adrese",
"continueToSignIn": "Pokračovat k přihlášení",
"continueWithLoginCode": "Pokračovat s přihlašovacím kódem",
"backToLogin": "Zpět k přihlášení",
"enterCode": "Zadejte kód",
"enterCodeManually": "Zadejte kód ručně",
"continueWithEmail": "Pokračovat s e-mailem",
"enterPassword": "Zadejte heslo",
"loginAs": "Přihlásit se jako",
"invalidVerificationCode": "Zadejte prosím platný ověřovací kód",
"tooFrequentVerificationCodeRequest": "Odeslali jste příliš mnoho požadavků. Zkuste to prosím znovu později.",
"invalidLoginCredentials": "Vaše heslo je nesprávné, zkuste to prosím znovu.",
"resetPassword": "Obnovit heslo",
"resetPasswordDescription": "Zadejte svůj e-mail pro obnovení hesla",
"continueToResetPassword": "Pokračovat k resetování hesla",
"resetPasswordSuccess": "Úspěšné obnovení hesla",
"resetPasswordFailed": "Obnovení hesla se nezdařilo",
"resetPasswordLinkSent": "Odkaz pro obnovení hesla byl odeslán na váš e-mail. Zkontrolujte si prosím doručenou poštu na adrese",
"resetPasswordLinkExpired": "Platnost odkazu pro obnovení hesla vypršela. Požádejte o nový odkaz.",
"resetPasswordLinkInvalid": "Odkaz pro resetování hesla je neplatný. Požádejte o nový odkaz.",
"enterNewPasswordFor": "Zadejte nové heslo pro ",
"newPassword": "Nové heslo",
"enterNewPassword": "Zadejte nové heslo",
"confirmPassword": "Potvrzení hesla",
"confirmNewPassword": "Zadejte nové heslo",
"newPasswordCannotBeEmpty": "Nové heslo nemůže být prázdné",
"confirmPasswordCannotBeEmpty": "Potvrzení hesla nemůže být prázdné",
"passwordsDoNotMatch": "Hesla se neshodují",
"verifying": "Ověřování...",
"continueWithPassword": "Pokračovat s heslem",
"youAreInLocalMode": "Jste v lokálním režimu.",
"loginToAppFlowyCloud": "Přihlášení do AppFlowy Cloud",
"LogInWithGoogle": "Přihlásit přes Google",
"LogInWithGithub": "Přihlásit přes GitHub",
"LogInWithDiscord": "Přihlásit přes Discord"
},
"workspace": {
"chooseWorkspace": "Vyberte pracovní ůplochu",
"defaultName": "Můj pracovní prostor",
"create": "Vytvořit pracovní prostor",
"new": "Nový pracovní prostor",
"importFromNotion": "Importovat z Notionu",
"learnMore": "Zjistěte více",
"reset": "Resetovat plochu",
"renameWorkspace": "Přejmenovat pracovní prostor",
"workspaceNameCannotBeEmpty": "Název pracovního prostoru nemůže být prázdný",
"resetWorkspacePrompt": "Obnovením pracovního prostoru smažete všechny stránky a data v nich. Opravdu chcete obnovit pracovní prostor? Pro obnovení pracovního prostoru můžete kontaktovat podporu.",
"hint": "pracovní plocha",
"notFoundError": "Pracovní prostor nenalezen",
"failedToLoad": "Něco se pokazilo! Nepodařilo se načíst pracovní prostor. Zkuste zavřít a znovu otevřít @:appName a zkuste to znovu.",
"errorActions": {
"reportIssue": "Nahlásit problém",
"reportIssueOnGithub": "Nahlásit problém na Githubu",
"exportLogFiles": "Exportovat soubory protokolu",
"reachOut": "Ozvat se na Discordu"
}
},
"menuTitle": "Pracovní prostory",
"deleteWorkspaceHintText": "Opravdu chcete smazat pracovní prostor? Tuto akci nelze vrátit zpět a všechny zveřejněné stránky přestanou být dostupné.",
"createSuccess": "Pracovní prostor byl úspěšně vytvořen",
"createFailed": "Vytvoření pracovního prostoru se nezdařilo",
"createLimitExceeded": "Dosáhli jste maximálního povoleného počtu pracovních prostorů pro váš účet. Pokud potřebujete další pracovní prostory pro pokračování v práci, požádejte o ně na Githubu",
"deleteSuccess": "Pracovní prostor byl úspěšně smazán",
"deleteFailed": "Nepodařilo se smazat pracovní prostor",
"openSuccess": "Pracovní prostor bylo úspěšně otevřeno",
"openFailed": "Nepodařilo se otevřít pracovní prostor",
"renameSuccess": "Pracovní prostor byl úspěšně přejmenován",
"renameFailed": "Přejmenování pracovního prostoru se nezdařilo",
"updateIconSuccess": "Ikona pracovního prostoru byla úspěšně aktualizována",
"updateIconFailed": "Aktualizace ikony pracovního prostoru se nezdařilo",
"cannotDeleteTheOnlyWorkspace": "Nelze smazat jediný pracovní prostor",
"fetchWorkspacesFailed": "Nepodařilo se načíst pracovní prostory",
"leaveCurrentWorkspace": "Opustit pracovní prostor",
"leaveCurrentWorkspacePrompt": "Opravdu chcete opustit aktuální pracovní prostor?"
},
"shareAction": {
"buttonText": "Sdílet",
"workInProgress": "Ji brzy",
"markdown": "Markdown",
"html": "HTML",
"clipboard": "Kopírovat do schránky",
"csv": "CSV",
"copyLink": "Kopírovat odkaz"
"copyLink": "Kopírovat odkaz",
"publishToTheWeb": "Publikovat na webu",
"publishToTheWebHint": "Vytvořte si webové stránky s AppFlowy",
"publish": "Zveřejnit",
"unPublish": "Zrušit zveřejnění",
"visitSite": "Navštívit stránku",
"exportAsTab": "Exportovat jako",
"publishTab": "Zveřejnit",
"shareTab": "Sdílet",
"publishOnAppFlowy": "Zveřejnit na AppFlowy",
"shareTabTitle": "Pozvat ke spolupráci",
"shareTabDescription": "Pro snadnou spolupráci s kýmkoli",
"copyLinkSuccess": "Odkaz zkopírován do schránky",
"copyShareLink": "Kopírovat odkaz pro sdílení",
"copyLinkFailed": "Nepodařilo se zkopírovat odkaz do schránky",
"copyLinkToBlockSuccess": "Odkaz na blok zkopírován do schránky",
"copyLinkToBlockFailed": "Nepodařilo se zkopírovat odkaz bloku do schránky",
"manageAllSites": "Spravovat všechny stránky",
"updatePathName": "Aktualizovat název cesty"
},
"moreAction": {
"small": "malé",
@@ -74,15 +183,36 @@
"large": "velké",
"fontSize": "Velikost písma",
"import": "Importovat",
"moreOptions": "Ví"
"moreOptions": "Ví",
"wordCount": "Počet slov: {}",
"charCount": "Počet znaků: {}",
"createdAt": "Vytvořeno: {}",
"deleteView": "Smazat",
"duplicateView": "Duplikovat",
"wordCountLabel": "Počet slov: ",
"charCountLabel": "Počet znaků: ",
"createdAtLabel": "Vytvořeno: ",
"syncedAtLabel": "Synchronizováno: ",
"saveAsNewPage": "Přidat zprávy na stránku",
"saveAsNewPageDisabled": "Žádné zprávy k dispozici"
},
"importPanel": {
"textAndMarkdown": "Text a Markdown",
"documentFromV010": "Dokument z v0.1.0",
"databaseFromV010": "Databázi z v0.1.0",
"notionZip": "Exportovaný soubor ZIP z Notion",
"csv": "CSV",
"database": "Databáze"
},
"emojiIconPicker": {
"iconUploader": {
"placeholderLeft": "Přetáhněte soubor, klikněte na ",
"placeholderUpload": "Nahrát",
"placeholderRight": "nebo vložte odkaz obrázku.",
"dropToUpload": "Přetáhněte soubor k nahrání",
"change": "Změnit"
}
},
"disclosureAction": {
"rename": "Přejmenovat",
"delete": "Smazat",
@@ -92,7 +222,12 @@
"openNewTab": "Otevřít v novém panelu",
"moveTo": "Přesunout do",
"addToFavorites": "Přidat do oblíbených",
"copyLink": "Kopírovat odkaz"
"copyLink": "Kopírovat odkaz",
"changeIcon": "Změnit ikonu",
"collapseAllPages": "Sbalit všechny podstránky",
"movePageTo": "Přesunout stránku na",
"move": "Přesunout",
"lockPage": "Zamknout stránku"
},
"blankPageTitle": "Prázdná stránka",
"newPageText": "Nová stránka",
@@ -100,9 +235,80 @@
"newGridText": "Nová mřížka",
"newCalendarText": "Nový kalendář",
"newBoardText": "Nová nástěnka",
"chat": {
"newChat": "AI Chat",
"inputMessageHint": "Zeptejte se @:appName AI",
"inputLocalAIMessageHint": "Zeptejte se @:appName Lokální AI",
"unsupportedCloudPrompt": "Tato funkce je k dispozici pouze při použití @:appName Cloud",
"relatedQuestion": "Navrhované",
"serverUnavailable": "Připojení ztraceno. Zkontrolujte prosím připojení k internetu a",
"aiServerUnavailable": "AI je dočasně nedostupná. Zkuste to prosím znovu později.",
"retry": "Zkusit znovu",
"clickToRetry": "Kliknutím zkusíte znovu",
"regenerateAnswer": "Znovu generovat",
"question1": "Jak používat Kanban ke správě úkolů",
"question2": "Vysvětli metodu GTD",
"question3": "Proč používat Rust",
"question4": "Recept s tím, co mám v kuchyni",
"question5": "Vytvoř ilustraci pro mou stránku",
"question6": "Napsat si seznam úkolů na nadcházející týden",
"aiMistakePrompt": "Umělá inteligence může dělat chyby. Zkontrolujte důležité informace.",
"chatWithFilePrompt": "Chcete si s tím souborem popovídat?",
"indexFileSuccess": "Indexování souboru úspěšně",
"inputActionNoPages": "Žádné výsledky na stránce",
"referenceSource": {
"zero": "Nalezeno 0 zdrojů",
"one": "{count} nalezený zdroj",
"other": "{count} nalezených zdrojů"
},
"clickToMention": "Zmínit stránku",
"uploadFile": "Připojte PDF, textové soubory nebo soubory MarkDown",
"questionDetail": "Ahoj {}! Jak ti dnes můžu pomoct?",
"indexingFile": "Indexování {}",
"generatingResponse": "Generování odpovědi",
"selectSources": "Vyberte zdroje",
"currentPage": "Aktuální stránka",
"sourcesLimitReached": "Můžete vybrat maximálně 3 dokumenty nejvyšší úrovně a jejich podřízené dokumenty",
"sourceUnsupported": "V současné době nepodporujeme chatování s databázemi.",
"regenerate": "Zkuste to znovu",
"addToPageButton": "Přidat zprávu na stránku",
"addToPageTitle": "Přidat zprávu do...",
"addToNewPage": "Vytvořit novou stránku",
"addToNewPageName": "Zprávy extrahované z „{}“",
"addToNewPageSuccessToast": "Zpráva přidána do",
"openPagePreviewFailedToast": "Nepodařilo se otevřít stránku",
"changeFormat": {
"actionButton": "Změnit formát",
"confirmButton": "Znovu generovat s tímto formátem",
"textOnly": "Text",
"imageOnly": "Pouze obrázek",
"textAndImage": "Text a obrázek",
"text": "Odstavec",
"bullet": "Seznam s odrážkami",
"number": "Číslovaný seznam",
"table": "Tabulka",
"blankDescription": "Formátovat odpověď",
"defaultDescription": "Formát automatické odpovědi",
"textWithImageDescription": "@:chat.changeFormat.text s obrázkem"
},
"switchModel": {
"label": "Změnit model",
"localModel": "Lokální model",
"cloudModel": "Cloudový model",
"autoModel": "Auto"
},
"selectBanner": {
"saveButton": "Přidat k …",
"selectMessages": "Vyberte zprávy",
"nSelected": "{} vybráno",
"allSelected": "Vše vybráno"
},
"stopTooltip": "Zastavit generování"
},
"trash": {
"text": "Koš",
"restoreAll": "Obnovit vše",
"restore": "Obnovit",
"deleteAll": "Smazat vše",
"pageHeader": {
"fileName": "Název souboru",
@@ -117,23 +323,31 @@
"title": "Opravdu chcete obnovit všechny stránky z Koše?",
"caption": "Tuto kci ne"
},
"restorePage": {
"title": "Obnovit: {}",
"caption": "Jste si jisti, že chcete tuto stránku obnovit?"
},
"mobile": {
"actions": "Koš - akce",
"empty": "Koš je prázdný",
"emptyDescription": "Nemáte žádný smazaný soubor",
"isDeleted": "je smazaný",
"isRestored": "je "
}
},
"confirmDeleteTitle": "Opravdu chcete tuto stránku trvale smazat?"
},
"deletePagePrompt": {
"text": "Tato stránka je v Koši",
"restore": "Obnovit stránku",
"deletePermanent": "Trvale smazat"
"deletePermanent": "Trvale smazat",
"deletePermanentDescription": "Jste si jisti, že chcete tuto stránku trvale smazat? Toto je nevratné."
},
"dialogCreatePageNameHint": "Název stránky",
"questionBubble": {
"shortcuts": "Klávesové zkratky",
"whatsNew": "Co je nového?",
"helpAndDocumentation": "Nápověda a dokumentace",
"getSupport": "Získejte podporu",
"markdown": "Markdown",
"debug": {
"name": "Debug informace",
@@ -147,7 +361,8 @@
"moreButtonToolTip": "Smazat, přejmenovat, a další...",
"addPageTooltip": "Rychle přidat podstránku",
"defaultNewPageName": "Nepojmenovaný",
"renameDialog": "Přejmenovat"
"renameDialog": "Přejmenovat",
"pageNameSuffix": "Kopírovat"
},
"noPagesInside": "Neobsahuje žádné stránky",
"toolbar": {
@@ -177,17 +392,61 @@
"dragRow": "Dlou",
"viewDataBase": "Zobrazit databázi",
"referencePage": "Zdroj",
"addBlockBelow": "Přidat blok pod"
"addBlockBelow": "Přidat blok pod",
"aiGenerate": "Generovat"
},
"sideBar": {
"closeSidebar": "Zavřít postranní panel",
"openSidebar": "Otevřít postranní panel",
"expandSidebar": "Rozbalit na celou stránku",
"personal": "Osobní",
"private": "Soukromé",
"workspace": "Pracovní prostor",
"favorites": "Oblíbené",
"clickToHidePrivate": "Kliknutím skryjete soukromý prostor\nStránky, které jste zde vytvořili, jsou viditelné pouze pro vás",
"clickToHideWorkspace": "Kliknutím skryjete pracovní plochu\nStránky, které jste zde vytvořili, jsou viditelné pro všechny členy",
"clickToHidePersonal": "Kliknutím schováte sekci Osobní",
"clickToHideFavorites": "Kliknutím schováte sekci Oblíbené",
"addAPage": "Přidat stránku",
"recent": "Nedávné"
"addAPageToPrivate": "Přidat stránku do soukromého prostoru",
"addAPageToWorkspace": "Přidat stránku do pracovního prostoru",
"recent": "Nedávné",
"today": "Dnes",
"thisWeek": "Tento týden",
"others": "Dřívější oblíbené",
"earlier": "Dříve",
"justNow": "právě teď",
"minutesAgo": "před {count} minutami",
"lastViewed": "Naposledy zobrazené",
"favoriteAt": "Přidáno do oblíbených",
"emptyRecent": "Žádné nedávné stránky",
"emptyRecentDescription": "Jakmile si zobrazíte stránky, objeví se zde pro snadné opětovné zobrazení.",
"emptyFavorite": "Žádné oblíbené stránky",
"emptyFavoriteDescription": "Označte si stránky jako oblíbené – budou zde uvedeny pro rychlý přístup!",
"removePageFromRecent": "Odebrat tuto stránku ze složky Nedávné?",
"removeSuccess": "Úspěšně odstraněno",
"favoriteSpace": "Oblíbené",
"RecentSpace": "Nedávné",
"Spaces": "Prostory",
"upgradeToPro": "Upgradujte na Pro verzi",
"upgradeToAIMax": "Odemkněte neomezenou AI",
"storageLimitDialogTitle": "Došlo vám bezplatné úložiště. Upgradujte a odemkněte si neomezené úložiště.",
"storageLimitDialogTitleIOS": "Došlo vám bezplatné úložiště.",
"aiResponseLimitTitle": "Došly vám bezplatné odpovědi s AI. Přejděte na tarif Pro nebo si zakupte doplněk s AI a odemkněte si neomezený počet odpovědí.",
"aiResponseLimitDialogTitle": "Dosažen limit odpovědí umělé inteligence",
"aiResponseLimit": "Došly vám bezplatné odpovědi AI.\nPřejděte do Nastavení -> Plán -> Klikněte na AI Max nebo Pro Plan a získejte více odpovědí AI",
"askOwnerToUpgradeToPro": "Vašemu pracovnímu prostoru dochází bezplatné úložiště. Požádejte prosím vlastníka pracovního prostoru o upgrade na tarif Pro.",
"askOwnerToUpgradeToProIOS": "Vašemu pracovnímu prostoru dochází bezplatné úložiště.",
"askOwnerToUpgradeToAIMax": "Ve vašem pracovním prostoru došly bezplatné odpovědi AI. Požádejte vlastníka pracovního prostoru o upgrade tarifu nebo o zakoupení doplňků AI.",
"askOwnerToUpgradeToAIMaxIOS": "Vašemu pracovnímu prostoru docházejí bezplatné odpovědi umělé inteligence.",
"purchaseAIMax": "Ve vašem pracovním prostoru došly odpovědi AI Image. Požádejte prosím vlastníka pracovního prostoru o zakoupení AI Max.",
"aiImageResponseLimit": "Došly vám obrazové odpovědi umělé inteligence.<inlang-LineFeed>\nPřejděte do Nastavení -> Plán -> Klikněte na AI Max pro získání dalších obrázkových odpovědí s umělou inteligencí.",
"purchaseStorageSpace": "Zakoupit úložný prostor",
"singleFileProPlanLimitationDescription": "Překročili jste maximální povolenou velikost nahrávaného souboru v bezplatném tarifu. Pro nahrávání větších souborů prosím upgradujte na tarif Pro.",
"purchaseAIResponse": "Nákup ",
"askOwnerToUpgradeToLocalAI": "Požádejte vlastníka pracovního prostoru o povolení AI na zařízení",
"upgradeToAILocal": "Spouštějte lokální modely na svém zařízení pro maximální soukromí",
"upgradeToAILocalDesc": "Chatujte s PDF, vylepšete si psaní a automaticky vyplňujte tabulky pomocí lokální umělé inteligence"
},
"notifications": {
"export": {
@@ -203,11 +462,13 @@
},
"button": {
"ok": "OK",
"confirm": "Potvrdit",
"done": "Hotovo",
"cancel": "Zrušit",
"signIn": "Přihlásit se",
"signOut": "Odhlásit se",
"complete": "Dokončit",
"change": "Změnit",
"save": "Uložit",
"generate": "Vygenerovat",
"esc": "ESC",
@@ -220,14 +481,48 @@
"upload": "Nahrát",
"edit": "Upravit",
"delete": "Smazat",
"copy": "Kopírovat",
"duplicate": "Duplikovat",
"putback": "Odložit",
"update": "Aktualizovat",
"share": "Sdílet",
"removeFromFavorites": "Odstranit z oblíbených",
"removeFromRecent": "Odebrat z nedávných",
"addToFavorites": "Přidat do oblíbených",
"favoriteSuccessfully": "Úspěšně přidáno do oblíbených",
"unfavoriteSuccessfully": "Úspěšně odebráno z oblíbených",
"duplicateSuccessfully": "Duplikování proběhlo úspěšné",
"rename": "Přejmenovat",
"helpCenter": "Centrum pomoci"
"helpCenter": "Centrum pomoci",
"add": "Přidat",
"yes": "Ano",
"no": "Ne",
"clear": "Smazat",
"remove": "Odebrat",
"dontRemove": "Neodebírat",
"copyLink": "Kopírovat odkaz",
"align": "Zarovnat",
"login": "Přihlášení",
"logout": "Odhlásit se",
"deleteAccount": "Smazat účet",
"back": "Zpět",
"signInGoogle": "Pokračovat s Googlem",
"signInGithub": "Pokračovat s GitHubem",
"signInDiscord": "Pokračovat s Discordem",
"more": "Více",
"create": "Vytvořit",
"close": "Zavřít",
"next": "Další",
"previous": "Předchozí",
"submit": "Odeslat",
"download": "Stáhnout",
"backToHome": "Zpět na domovskou stránku",
"viewing": "Prohlížení",
"editing": "Úprava",
"gotIt": "Rozumím",
"retry": "Zkusit znovu",
"uploadFailed": "Nahrávání se nezdařilo.",
"copyLinkOriginal": "Kopírovat odkaz na originál"
},
"label": {
"welcome": "Vítejte!",
@@ -251,6 +546,121 @@
},
"settings": {
"title": "Nastavení",
"popupMenuItem": {
"settings": "Nastavení",
"members": "Členové",
"trash": "Koš",
"helpAndDocumentation": "Nápověda a dokumentace",
"getSupport": "Získejte podporu"
},
"sites": {
"title": "Stránky",
"namespaceTitle": "Jmenný prostor",
"namespaceDescription": "Spravujte svůj jmenný prostor a domovskou stránku",
"namespaceHeader": "Jmenný prostor",
"homepageHeader": "Domovská stránka",
"updateNamespace": "Aktualizovat jmenný prostor",
"removeHomepage": "Odebrat domovskou stránku",
"selectHomePage": "Vyberte stránku",
"clearHomePage": "Vymazat domovskou stránku pro tento jmenný prostor",
"customUrl": "Vlastní URL",
"homePage": {
"upgradeToPro": "Upgradujte na Pro Plan a nastavte si domovskou stránku"
},
"namespace": {
"description": "Tato změna se vztahuje na všechny publikované stránky v tomto jmenném prostoru.",
"tooltip": "Vyhrazujeme si právo odstranit jakékoli nevhodné jmenné prostory.",
"updateExistingNamespace": "Aktualizovat existující jmenný prostor",
"upgradeToPro": "Přejděte na tarif Pro a získejte vlastní jmenný prostor.",
"redirectToPayment": "Přesměrování na platební stránku...",
"onlyWorkspaceOwnerCanSetHomePage": "Domovskou stránku může nastavit pouze vlastník pracovního prostoru",
"pleaseAskOwnerToSetHomePage": "Požádejte prosím vlastníka pracovního prostoru o upgrade na tarif Pro."
},
"publishedPage": {
"title": "Všechny publikované stránky",
"description": "Spravujte své publikované stránky",
"page": "Strana",
"pathName": "Název cesty",
"date": "Datum zveřejnění",
"emptyHinText": "V tomto pracovním prostoru nemáte žádné zveřejněné stránky.",
"noPublishedPages": "Žádné zveřejněné stránky",
"settings": "Nastavení zveřejnění",
"clickToOpenPageInApp": "Otevřít stránku v aplikaci",
"clickToOpenPageInBrowser": "Otevřít stránku v prohlížeči"
},
"error": {
"failedToGeneratePaymentLink": "Nepodařilo se vygenerovat platební odkaz pro tarif Pro.",
"failedToUpdateNamespace": "Nepodařilo se aktualizovat jmenný prostor.",
"proPlanLimitation": "Pro aktualizaci jmenného prostoru je nutné upgradovat na tarif Pro.",
"namespaceAlreadyInUse": "Jmenný prostor je již obsazen, zkuste prosím jiný",
"invalidNamespace": "Neplatný jmenný prostor, zkuste prosím jiný",
"namespaceLengthAtLeast2Characters": "Jmenný prostor musí mít délku alespoň 2 znaky",
"onlyWorkspaceOwnerCanUpdateNamespace": "Pouze vlastník pracovního prostoru může aktualizovat jmenný prostor",
"onlyWorkspaceOwnerCanRemoveHomepage": "Domovskou stránku může odstranit pouze vlastník pracovního prostoru.",
"setHomepageFailed": "Nastavení domovské stránky se nezdařilo",
"namespaceTooLong": "Jmenný prostor je příliš dlouhý, zkuste prosím jiný",
"namespaceTooShort": "Jmenný prostor je příliš krátký, zkuste prosím jiný",
"namespaceIsReserved": "Jmenný prostor je rezervovaný, zkuste prosím jiný",
"updatePathNameFailed": "Nepodařilo se aktualizovat název cesty",
"removeHomePageFailed": "Odstranění domovské stránky se nezdařilo",
"publishNameContainsInvalidCharacters": "Název cesty obsahuje neplatné znaky, zkuste prosím jiný.",
"publishNameTooShort": "Název cesty je příliš krátký, zkuste prosím jiný",
"publishNameTooLong": "Název cesty je příliš dlouhý, zkuste prosím jiný",
"publishNameAlreadyInUse": "Název cesty se již používá, zkuste prosím jiný"
}
},
"accountPage": {
"login": {
"title": "Přihlášení k účtu",
"loginLabel": "Přihlásit se",
"logoutLabel": "Odhlásit se"
}
},
"workspacePage": {
"menuLabel": "Pracovní prostor",
"title": "Pracovní prostor",
"workspaceName": {
"title": "Název pracovního prostoru"
},
"workspaceIcon": {
"title": "Ikona pracovního prostoru",
"description": "Nahrajte obrázek nebo použijte emoji pro svůj pracovní prostor. Ikona se zobrazí v postranním panelu a v oznámeních."
},
"appearance": {
"options": {
"light": "Světlý",
"dark": "Tmavý"
}
},
"textDirection": {
"leftToRight": "Zleva doprava",
"rightToLeft": "Zprava doleva"
},
"layoutDirection": {
"leftToRight": "Zleva doprava",
"rightToLeft": "Zprava doleva"
},
"dateTime": {
"title": "Datum a čas",
"24HourTime": "24 hodinový čas",
"dateFormat": {
"label": "Formát datumu",
"local": "Místní",
"us": "US"
}
},
"language": {
"title": "Jazyk"
},
"deleteWorkspacePrompt": {
"title": "Smazat pracovní prostor",
"content": "Opravdu chcete smazat tento pracovní prostor? Tuto akci nelze vrátit zpět a všechny zveřejněné stránky budou zrušeny."
},
"leaveWorkspacePrompt": {
"title": "Opustit pracovní prostor",
"fail": "Nepodařilo se opustit pracovní prostor."
}
},
"menu": {
"appearance": "Vzhled",
"language": "Jazyk",
+3 -3
View File
@@ -36,7 +36,6 @@
"loginButtonText": "Login",
"loginStartWithAnonymous": "Continue with an anonymous session",
"continueAnonymousUser": "Continue with an anonymous session",
"anonymous": "Anonymous",
"buttonText": "Sign In",
"signingInText": "Signing in...",
"forgotPassword": "Forgot Password?",
@@ -68,7 +67,8 @@
"logIn": "Log in",
"generalError": "Something went wrong. Please try again later",
"limitRateError": "For security reasons, you can only request a magic link every 60 seconds",
"magicLinkSentDescription": "A Magic Link was sent to your email. Click the link to complete your login. The link will expire after 5 minutes."
"magicLinkSentDescription": "A Magic Link was sent to your email. Click the link to complete your login. The link will expire after 5 minutes.",
"anonymous": "Anonymous"
},
"workspace": {
"chooseWorkspace": "Choose your workspace",
@@ -3209,4 +3209,4 @@
"rewrite": "Rewrite",
"insertBelow": "Insert below"
}
}
}
+1 -1
View File
@@ -3465,4 +3465,4 @@
"shareSection": {
"shared": "Shared with me"
}
}
}
+45 -14
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": {
@@ -1486,7 +1517,6 @@
"layout": "Mise en page",
"compactMode": "Mode compact",
"databaseLayout": "Mise en page",
"viewList": "Vues de base de données",
"editView": "Modifier vue",
"boardSettings": "Paramètres du tableau",
"calendarSettings": "Paramètres du calendrier",
@@ -1494,7 +1524,8 @@
"duplicateView": "Dupliquer la vue",
"deleteView": "Supprimer la vue",
"numberOfVisibleFields": "{} affiché(s)",
"Properties": "Propriétés"
"Properties": "Propriétés",
"viewList": "Vues de base de données"
},
"filter": {
"empty": "Aucun filtre actif",
@@ -2333,11 +2364,11 @@
"layoutDateField": "Calendrier de mise en page par",
"changeLayoutDateField": "Modifier le champ de mise en page",
"noDateTitle": "Pas de date",
"noDateHint": "Les événements non planifiés s'afficheront ici",
"unscheduledEventsTitle": "Événements non planifiés",
"clickToAdd": "Cliquez pour ajouter au calendrier",
"name": "Disposition du calendrier",
"clickToOpen": "Cliquez pour ouvrir l'évènement"
"clickToOpen": "Cliquez pour ouvrir l'évènement",
"noDateHint": "Les événements non planifiés s'afficheront ici"
},
"referencedCalendarPrefix": "Vue",
"quickJumpYear": "Sauter à",
@@ -2471,11 +2502,7 @@
"viewNotifications": "Afficher les notifications",
"noNotifications": "Aucune notification pour le moment",
"mentionedYou": "vous a mentionné",
"archievedTooltip": "Archiver cette notification",
"unarchievedTooltip": "Cette notification n'a pas été archivée.",
"markAsReadTooltip": "Marquer comme lu cette notification",
"markAsArchievedSucceedToast": "Archivage réussi",
"markAllAsArchievedSucceedToast": "Tout archiver avec succès",
"markAsReadSucceedToast": "Marquer comme lu avec succès",
"markAllAsReadSucceedToast": "Tout marquer comme lu avec succès",
"today": "Aujourd'hui",
@@ -2500,7 +2527,11 @@
"groupByDate": "Regrouper par date",
"showUnreadsOnly": "Afficher uniquement les éléments non lus",
"resetToDefault": "Réinitialiser aux valeurs par défaut"
}
},
"archievedTooltip": "Archiver cette notification",
"unarchievedTooltip": "Cette notification n'a pas été archivée.",
"markAsArchievedSucceedToast": "Archivage réussi",
"markAllAsArchievedSucceedToast": "Tout archiver avec succès"
},
"reminderNotification": {
"title": "Rappel",
@@ -3321,16 +3352,15 @@
"browsePrompts": "Parcourir les invites",
"usePrompt": "Utiliser l'invite",
"featured": "En vedette",
"example": "Exemple",
"all": "Tous",
"development": "Développement",
"writing": "En écrivant",
"healthAndFitness": "Santé et forme physique",
"business": "Entreprise",
"marketing": "Commercialisation",
"learning": "Apprentissage",
"travel": "Voyage",
"others": "Autre",
"example": "Exemple",
"sampleOutput": "Exemple de sortie",
"contentSeo": "Contenu/SEO",
"emailMarketing": "Marketing par e-mail",
@@ -3341,7 +3371,8 @@
"socialMedia": "Réseaux sociaux",
"strategy": "Stratégie",
"caseStudies": "Études de cas",
"salesCopy": "Texte de vente"
"salesCopy": "Texte de vente",
"learning": "Apprentissage"
}
},
"autoUpdate": {
@@ -3372,4 +3403,4 @@
"rewrite": "Récrire",
"insertBelow": "Insérer ci-dessous"
}
}
}
+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",
+9 -9
View File
@@ -2478,11 +2478,7 @@
"viewNotifications": "Просмотреть уведомления",
"noNotifications": "Уведомлений пока нет",
"mentionedYou": "Упомянул(а) вас",
"archievedTooltip": "Архивировать это уведомление",
"unarchievedTooltip": "Разархивировать это уведомление",
"markAsReadTooltip": "Отметить это уведомление как прочитанное",
"markAsArchievedSucceedToast": "Успешно заархивировано",
"markAllAsArchievedSucceedToast": "Все успешно заархивировано",
"markAsReadSucceedToast": "Отмечено как прочитанное успешно",
"markAllAsReadSucceedToast": "Все успешно отмечено как прочитанное",
"today": "Сегодня",
@@ -2507,7 +2503,11 @@
"groupByDate": "Группировать по дате",
"showUnreadsOnly": "Показать только непрочитанные",
"resetToDefault": "Сбросить до значений по умолчанию"
}
},
"archievedTooltip": "Архивировать это уведомление",
"unarchievedTooltip": "Разархивировать это уведомление",
"markAsArchievedSucceedToast": "Успешно заархивировано",
"markAllAsArchievedSucceedToast": "Все успешно заархивировано"
},
"reminderNotification": {
"title": "Напоминание",
@@ -3333,17 +3333,16 @@
"browsePrompts": "Обзор запросов",
"usePrompt": "Использовать запрос",
"featured": "Рекомендуемые",
"example": "Пример",
"all": "Все",
"development": "Разработка",
"writing": "Написание",
"healthAndFitness": "Здоровье и фитнес",
"business": "Бизнес",
"marketing": "Маркетинг",
"learning": "Обучение",
"travel": "Путешествия",
"others": "Другое",
"prompt": "Запрос",
"example": "Пример",
"sampleOutput": "Пример вывода",
"contentSeo": "Контент/SEO",
"emailMarketing": "Email маркетинг",
@@ -3354,7 +3353,8 @@
"socialMedia": "Социальные сети",
"strategy": "Стратегия",
"caseStudies": "Кейсы",
"salesCopy": "Продающий текст"
"salesCopy": "Продающий текст",
"learning": "Обучение"
}
},
"autoUpdate": {
@@ -3385,4 +3385,4 @@
"rewrite": "Переписать",
"insertBelow": "Вставить ниже"
}
}
}
+12 -12
View File
@@ -149,7 +149,7 @@
"moreOptions": "更多选项",
"wordCount": "字数:{}",
"charCount": "字符数:{}",
"createdAt": "创建于 :{}",
"createdAt": "创建于:{}",
"deleteView": "删除",
"duplicateView": "复制",
"wordCountLabel": "词总数:",
@@ -273,14 +273,14 @@
"markdown": "Markdown",
"debug": {
"name": "调试信息",
"success": "将调试信息复制到剪贴板!",
"success": "已将调试信息复制到剪贴板!",
"fail": "无法将调试信息复制到剪贴板"
},
"feedback": "反馈",
"help": "帮助和支持"
},
"menuAppHeader": {
"moreButtonToolTip": "删除、重命名等等...",
"moreButtonToolTip": "更多按钮工具",
"addPageTooltip": "在其中快速添加页面",
"defaultNewPageName": "未命名页面",
"renameDialog": "重命名",
@@ -1726,8 +1726,8 @@
},
"message": {
"copy": {
"success": "复制了!",
"fail": "无法复制"
"success": "已复制",
"fail": "复制失败"
}
},
"unSupportBlock": "当前版本不支持该块。",
@@ -1736,8 +1736,8 @@
"deleteContentCaption": "如果您删除此{pageType},您可以从回收站中将其恢复。"
},
"colors": {
"custom": "自定义的",
"default": "默认的",
"custom": "自定义",
"default": "默认",
"red": "红色",
"orange": "橙色",
"yellow": "黄色",
@@ -1754,7 +1754,7 @@
"noRecent": "没有最近的 Emoji",
"noEmojiFound": "没有找到 Emoji",
"filter": "筛选",
"random": "随机的",
"random": "随机",
"selectSkinTone": "选择肤色",
"remove": "移除",
"categories": {
@@ -1773,9 +1773,9 @@
"skinTone": {
"default": "默认",
"light": "亮",
"mediumLight": "中等偏亮",
"medium": "中等的",
"mediumDark": "中等偏暗",
"mediumLight": "偏亮",
"medium": "适中",
"mediumDark": "偏暗",
"dark": "暗"
}
},
@@ -2092,4 +2092,4 @@
"yesterday": "昨天",
"today": "今天"
}
}
}
File diff suppressed because it is too large. Load diff