chore: update l10n (#463)
This commit is contained in:
parent
f5b3ea87f5
commit
1944ab7a29
26 changed files with 641 additions and 60 deletions
|
|
@ -116,5 +116,34 @@
|
||||||
"resetToDefaultColor": "Reset to default color",
|
"resetToDefaultColor": "Reset to default color",
|
||||||
"ltr": "LTR",
|
"ltr": "LTR",
|
||||||
"rtl": "RTL",
|
"rtl": "RTL",
|
||||||
"auto": "Auto"
|
"auto": "Auto",
|
||||||
|
"cut": "Cut",
|
||||||
|
"copy": "Copy",
|
||||||
|
"paste": "Paste",
|
||||||
|
"find": "Find",
|
||||||
|
"previousMatch": "Previous match",
|
||||||
|
"nextMatch": "Next match",
|
||||||
|
"closeFind": "Close",
|
||||||
|
"replace": "Replace",
|
||||||
|
"replaceAll": "Replace all",
|
||||||
|
"uploadImage": "Upload Image",
|
||||||
|
"urlImage": "URL Image",
|
||||||
|
"incorrectLink": "Incorrect Link",
|
||||||
|
"upload": "Upload",
|
||||||
|
"chooseImage": "Choose an image",
|
||||||
|
"loading": "Loading",
|
||||||
|
"imageLoadFailed": "Could not load the image",
|
||||||
|
"divider": "Divider",
|
||||||
|
"table": "Table",
|
||||||
|
"colAddBefore": "Add before",
|
||||||
|
"rowAddBefore": "Add before",
|
||||||
|
"colAddAfter": "Add after",
|
||||||
|
"rowAddAfter": "Add after",
|
||||||
|
"colRemove": "Remove",
|
||||||
|
"rowRemove": "Remove",
|
||||||
|
"colDuplicate": "Duplicate",
|
||||||
|
"rowDuplicate": "Duplicate",
|
||||||
|
"colClear": "Clear Content",
|
||||||
|
"rowClear": "Clear Content",
|
||||||
|
"slashPlaceHolder": "Enter a / to insert a block, or start typing"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
"@bold": {},
|
"@bold": {},
|
||||||
"bulletedList": "无序列表",
|
"bulletedList": "无序列表",
|
||||||
"@bulletedList": {},
|
"@bulletedList": {},
|
||||||
"checkbox": "选框",
|
"checkbox": "复选框",
|
||||||
"@checkbox": {},
|
"@checkbox": {},
|
||||||
"embedCode": "代码块",
|
"embedCode": "代码块",
|
||||||
"@embedCode": {},
|
"@embedCode": {},
|
||||||
|
|
@ -116,5 +116,34 @@
|
||||||
"resetToDefaultColor": "重设为默认颜色",
|
"resetToDefaultColor": "重设为默认颜色",
|
||||||
"ltr": "自左至右",
|
"ltr": "自左至右",
|
||||||
"rtl": "自右至左",
|
"rtl": "自右至左",
|
||||||
"auto": "自动"
|
"auto": "自动",
|
||||||
|
"cut": "剪切",
|
||||||
|
"copy": "复制",
|
||||||
|
"paste": "粘贴",
|
||||||
|
"find": "查找",
|
||||||
|
"previousMatch": "上一匹配项",
|
||||||
|
"nextMatch": "下一匹配项",
|
||||||
|
"closeFind": "关闭",
|
||||||
|
"replace": "替换",
|
||||||
|
"replaceAll": "替换全部",
|
||||||
|
"uploadImage": "上传图片",
|
||||||
|
"urlImage": "网络图片",
|
||||||
|
"incorrectLink": "链接错误",
|
||||||
|
"upload": "上传",
|
||||||
|
"chooseImage": "选择图片文件",
|
||||||
|
"loading": "正在加载",
|
||||||
|
"imageLoadFailed": "无法加载图片",
|
||||||
|
"divider": "分割线",
|
||||||
|
"table": "表格",
|
||||||
|
"colAddBefore": "左侧插入列",
|
||||||
|
"rowAddBefore": "上方插入行",
|
||||||
|
"colAddAfter": "右侧插入列",
|
||||||
|
"rowAddAfter": "下方插入行",
|
||||||
|
"colRemove": "删除整列",
|
||||||
|
"rowRemove": "删除整行",
|
||||||
|
"colDuplicate": "复制整列",
|
||||||
|
"rowDuplicate": "复制整行",
|
||||||
|
"colClear": "清空整列",
|
||||||
|
"rowClear": "清空整行",
|
||||||
|
"slashPlaceHolder": "单击 / 以插入内容,或开始输入"
|
||||||
}
|
}
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
"@text": {},
|
"@text": {},
|
||||||
"underline": "下劃線",
|
"underline": "下劃線",
|
||||||
"@underline": {},
|
"@underline": {},
|
||||||
"fontColorDefault": "默認",
|
"fontColorDefault": "預設",
|
||||||
"@fontColorDefault": {},
|
"@fontColorDefault": {},
|
||||||
"fontColorGray": "灰色",
|
"fontColorGray": "灰色",
|
||||||
"@fontColorGray": {},
|
"@fontColorGray": {},
|
||||||
|
|
@ -54,7 +54,7 @@
|
||||||
"@fontColorPink": {},
|
"@fontColorPink": {},
|
||||||
"fontColorRed": "紅色",
|
"fontColorRed": "紅色",
|
||||||
"@fontColorRed": {},
|
"@fontColorRed": {},
|
||||||
"backgroundColorDefault": "默認背景色",
|
"backgroundColorDefault": "預設背景色",
|
||||||
"@backgroundColorDefault": {},
|
"@backgroundColorDefault": {},
|
||||||
"backgroundColorGray": "灰色背景",
|
"backgroundColorGray": "灰色背景",
|
||||||
"@backgroundColorGray": {},
|
"@backgroundColorGray": {},
|
||||||
|
|
@ -113,8 +113,37 @@
|
||||||
"customColor": "自定義顏色",
|
"customColor": "自定義顏色",
|
||||||
"hexValue": "十六進位值",
|
"hexValue": "十六進位值",
|
||||||
"opacity": "透明度",
|
"opacity": "透明度",
|
||||||
"resetToDefaultColor": "重設為默認顏色",
|
"resetToDefaultColor": "重設為預設顏色",
|
||||||
"ltr": "自左至右",
|
"ltr": "自左至右",
|
||||||
"rtl": "自右至左",
|
"rtl": "自右至左",
|
||||||
"auto": "自動"
|
"auto": "自動",
|
||||||
|
"cut": "剪下",
|
||||||
|
"copy": "複製",
|
||||||
|
"paste": "貼上",
|
||||||
|
"find": "尋找",
|
||||||
|
"previousMatch": "上一相符項",
|
||||||
|
"nextMatch": "下一相符項",
|
||||||
|
"closeFind": "關閉",
|
||||||
|
"replace": "取代",
|
||||||
|
"replaceAll": "取代全部",
|
||||||
|
"uploadImage": "上載圖片",
|
||||||
|
"urlImage": "網路圖片",
|
||||||
|
"incorrectLink": "連結錯誤",
|
||||||
|
"upload": "上載",
|
||||||
|
"chooseImage": "選取圖像檔案",
|
||||||
|
"loading": "正在載入",
|
||||||
|
"imageLoadFailed": "無法載入圖像",
|
||||||
|
"divider": "分割線",
|
||||||
|
"table": "表格",
|
||||||
|
"colAddBefore": "左側插入行",
|
||||||
|
"rowAddBefore": "上方插入列",
|
||||||
|
"colAddAfter": "右側插入行",
|
||||||
|
"rowAddAfter": "下方插入列",
|
||||||
|
"colRemove": "刪除整行",
|
||||||
|
"rowRemove": "刪除整列",
|
||||||
|
"colDuplicate": "複製整行",
|
||||||
|
"rowDuplicate": "複製整列",
|
||||||
|
"colClear": "清空整行",
|
||||||
|
"rowClear": "清空整列",
|
||||||
|
"slashPlaceHolder": "輸入 / 以插入内容,或開始鍵入"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import 'package:appflowy_editor/appflowy_editor.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
SelectionMenuItem dividerMenuItem = SelectionMenuItem(
|
SelectionMenuItem dividerMenuItem = SelectionMenuItem(
|
||||||
name: 'Divider',
|
name: AppFlowyEditorLocalizations.current.divider,
|
||||||
icon: (editorState, isSelected, style) => SelectionMenuIconWidget(
|
icon: (editorState, isSelected, style) => SelectionMenuIconWidget(
|
||||||
icon: Icons.horizontal_rule,
|
icon: Icons.horizontal_rule,
|
||||||
isSelected: isSelected,
|
isSelected: isSelected,
|
||||||
|
|
|
||||||
|
|
@ -132,9 +132,9 @@ class _UploadImageMenuState extends State<UploadImageMenu> {
|
||||||
width: 260,
|
width: 260,
|
||||||
height: 36,
|
height: 36,
|
||||||
child: TabBar(
|
child: TabBar(
|
||||||
tabs: const [
|
tabs: [
|
||||||
Tab(text: 'Upload Image'),
|
Tab(text: AppFlowyEditorLocalizations.current.uploadImage),
|
||||||
Tab(text: 'URL Image'),
|
Tab(text: AppFlowyEditorLocalizations.current.urlImage),
|
||||||
],
|
],
|
||||||
labelColor: widget.headerColor,
|
labelColor: widget.headerColor,
|
||||||
unselectedLabelColor: Colors.grey,
|
unselectedLabelColor: Colors.grey,
|
||||||
|
|
@ -203,9 +203,9 @@ class _UploadImageMenuState extends State<UploadImageMenu> {
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildInvalidLinkText() {
|
Widget _buildInvalidLinkText() {
|
||||||
return const Text(
|
return Text(
|
||||||
'Incorrect Link',
|
AppFlowyEditorLocalizations.current.incorrectLink,
|
||||||
style: TextStyle(color: Colors.red, fontSize: 12),
|
style: const TextStyle(color: Colors.red, fontSize: 12),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -240,7 +240,7 @@ class _UploadImageMenuState extends State<UploadImageMenu> {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
'Upload',
|
AppFlowyEditorLocalizations.current.upload,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Theme.of(context).colorScheme.onPrimary,
|
color: Theme.of(context).colorScheme.onPrimary,
|
||||||
fontSize: 14.0,
|
fontSize: 14.0,
|
||||||
|
|
@ -328,20 +328,22 @@ class _UploadImageMenuState extends State<UploadImageMenu> {
|
||||||
fit: BoxFit.cover,
|
fit: BoxFit.cover,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
: const Center(
|
: Center(
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
EditorSvg(
|
const EditorSvg(
|
||||||
name: 'upload_image',
|
name: 'upload_image',
|
||||||
width: 32,
|
width: 32,
|
||||||
height: 32,
|
height: 32,
|
||||||
),
|
),
|
||||||
SizedBox(height: 8.0),
|
const SizedBox(height: 8.0),
|
||||||
Text(
|
Text(
|
||||||
'Choose an image',
|
AppFlowyEditorLocalizations.current.chooseImage,
|
||||||
style:
|
style: const TextStyle(
|
||||||
TextStyle(fontSize: 14.0, color: Color(0xff00BCF0)),
|
fontSize: 14.0,
|
||||||
|
color: Color(0xff00BCF0),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
|
import 'package:appflowy_editor/appflowy_editor.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:string_validator/string_validator.dart';
|
import 'package:string_validator/string_validator.dart';
|
||||||
|
|
||||||
|
|
@ -146,7 +147,7 @@ class _ResizableImageState extends State<ResizableImage> {
|
||||||
SizedBox.fromSize(
|
SizedBox.fromSize(
|
||||||
size: const Size(10, 10),
|
size: const Size(10, 10),
|
||||||
),
|
),
|
||||||
const Text('Loading'),
|
Text(AppFlowyEditorLocalizations.current.loading),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
@ -162,7 +163,7 @@ class _ResizableImageState extends State<ResizableImage> {
|
||||||
borderRadius: const BorderRadius.all(Radius.circular(4.0)),
|
borderRadius: const BorderRadius.all(Radius.circular(4.0)),
|
||||||
border: Border.all(width: 1, color: Colors.black),
|
border: Border.all(width: 1, color: Colors.black),
|
||||||
),
|
),
|
||||||
child: const Text('Could not load the image'),
|
child: Text(AppFlowyEditorLocalizations.current.imageLoadFailed),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,8 @@ final Map<String, BlockComponentBuilder> standardBlockComponentBuilderMap = {
|
||||||
PageBlockKeys.type: PageBlockComponentBuilder(),
|
PageBlockKeys.type: PageBlockComponentBuilder(),
|
||||||
ParagraphBlockKeys.type: TextBlockComponentBuilder(
|
ParagraphBlockKeys.type: TextBlockComponentBuilder(
|
||||||
configuration: standardBlockComponentConfiguration.copyWith(
|
configuration: standardBlockComponentConfiguration.copyWith(
|
||||||
placeholderText: (_) => 'Enter a / to insert a block, or start typing',
|
placeholderText: (_) =>
|
||||||
|
AppFlowyEditorLocalizations.current.slashPlaceHolder,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
TodoListBlockKeys.type: TodoListBlockComponentBuilder(
|
TodoListBlockKeys.type: TodoListBlockComponentBuilder(
|
||||||
|
|
|
||||||
|
|
@ -38,25 +38,49 @@ void showActionMenu(
|
||||||
width: 200,
|
width: 200,
|
||||||
height: 230,
|
height: 230,
|
||||||
children: [
|
children: [
|
||||||
_menuItem(context, 'Add after', Icons.last_page, () {
|
_menuItem(
|
||||||
|
context,
|
||||||
|
dir == TableDirection.col
|
||||||
|
? AppFlowyEditorLocalizations.current.colAddAfter
|
||||||
|
: AppFlowyEditorLocalizations.current.rowAddAfter,
|
||||||
|
dir == TableDirection.col
|
||||||
|
? Icons.last_page
|
||||||
|
: Icons.vertical_align_bottom, () {
|
||||||
TableActions.add(node, position + 1, editorState, dir);
|
TableActions.add(node, position + 1, editorState, dir);
|
||||||
dismissOverlay();
|
dismissOverlay();
|
||||||
}),
|
}),
|
||||||
_menuItem(context, 'Add before', Icons.first_page, () {
|
_menuItem(
|
||||||
|
context,
|
||||||
|
dir == TableDirection.col
|
||||||
|
? AppFlowyEditorLocalizations.current.colAddBefore
|
||||||
|
: AppFlowyEditorLocalizations.current.rowAddBefore,
|
||||||
|
dir == TableDirection.col
|
||||||
|
? Icons.first_page
|
||||||
|
: Icons.vertical_align_top, () {
|
||||||
TableActions.add(node, position, editorState, dir);
|
TableActions.add(node, position, editorState, dir);
|
||||||
dismissOverlay();
|
dismissOverlay();
|
||||||
}),
|
}),
|
||||||
_menuItem(context, 'Remove', Icons.delete, () {
|
_menuItem(
|
||||||
|
context,
|
||||||
|
dir == TableDirection.col
|
||||||
|
? AppFlowyEditorLocalizations.current.colRemove
|
||||||
|
: AppFlowyEditorLocalizations.current.rowRemove,
|
||||||
|
Icons.delete, () {
|
||||||
TableActions.delete(node, position, editorState, dir);
|
TableActions.delete(node, position, editorState, dir);
|
||||||
dismissOverlay();
|
dismissOverlay();
|
||||||
}),
|
}),
|
||||||
_menuItem(context, 'Duplicate', Icons.content_copy, () {
|
_menuItem(
|
||||||
|
context,
|
||||||
|
dir == TableDirection.col
|
||||||
|
? AppFlowyEditorLocalizations.current.colDuplicate
|
||||||
|
: AppFlowyEditorLocalizations.current.rowDuplicate,
|
||||||
|
Icons.content_copy, () {
|
||||||
TableActions.duplicate(node, position, editorState, dir);
|
TableActions.duplicate(node, position, editorState, dir);
|
||||||
dismissOverlay();
|
dismissOverlay();
|
||||||
}),
|
}),
|
||||||
_menuItem(
|
_menuItem(
|
||||||
context,
|
context,
|
||||||
'Background Color',
|
AppFlowyEditorLocalizations.current.backgroundColor,
|
||||||
Icons.format_color_fill,
|
Icons.format_color_fill,
|
||||||
() {
|
() {
|
||||||
final cell = dir == TableDirection.col
|
final cell = dir == TableDirection.col
|
||||||
|
|
@ -85,7 +109,12 @@ void showActionMenu(
|
||||||
dismissOverlay();
|
dismissOverlay();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
_menuItem(context, 'Clear Content', Icons.clear, () {
|
_menuItem(
|
||||||
|
context,
|
||||||
|
dir == TableDirection.col
|
||||||
|
? AppFlowyEditorLocalizations.current.colClear
|
||||||
|
: AppFlowyEditorLocalizations.current.rowClear,
|
||||||
|
Icons.clear, () {
|
||||||
TableActions.clear(node, position, editorState, dir);
|
TableActions.clear(node, position, editorState, dir);
|
||||||
dismissOverlay();
|
dismissOverlay();
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -254,7 +254,7 @@ class _TableBlockComponentWidgetState extends State<TableBlockComponentWidget>
|
||||||
}
|
}
|
||||||
|
|
||||||
SelectionMenuItem tableMenuItem = SelectionMenuItem(
|
SelectionMenuItem tableMenuItem = SelectionMenuItem(
|
||||||
name: 'Table',
|
name: AppFlowyEditorLocalizations.current.table,
|
||||||
icon: (editorState, isSelected, style) => SelectionMenuIconWidget(
|
icon: (editorState, isSelected, style) => SelectionMenuIconWidget(
|
||||||
icon: Icons.table_view,
|
icon: Icons.table_view,
|
||||||
isSelected: isSelected,
|
isSelected: isSelected,
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import 'package:appflowy_editor/src/editor/find_replace_menu/find_menu_service.d
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
List<CommandShortcutEvent> findAndReplaceCommands({
|
List<CommandShortcutEvent> findAndReplaceCommands({
|
||||||
required FindReplaceLocalizations localizations,
|
FindReplaceLocalizations? localizations,
|
||||||
required BuildContext context,
|
required BuildContext context,
|
||||||
FindReplaceStyle? style,
|
FindReplaceStyle? style,
|
||||||
}) =>
|
}) =>
|
||||||
|
|
@ -57,7 +57,7 @@ class FindReplaceLocalizations {
|
||||||
/// - web
|
/// - web
|
||||||
///
|
///
|
||||||
CommandShortcutEvent openFindDialog({
|
CommandShortcutEvent openFindDialog({
|
||||||
required FindReplaceLocalizations localizations,
|
FindReplaceLocalizations? localizations,
|
||||||
required BuildContext context,
|
required BuildContext context,
|
||||||
required FindReplaceStyle style,
|
required FindReplaceStyle style,
|
||||||
}) =>
|
}) =>
|
||||||
|
|
@ -74,7 +74,7 @@ CommandShortcutEvent openFindDialog({
|
||||||
);
|
);
|
||||||
|
|
||||||
CommandShortcutEvent openReplaceDialog({
|
CommandShortcutEvent openReplaceDialog({
|
||||||
required FindReplaceLocalizations localizations,
|
FindReplaceLocalizations? localizations,
|
||||||
required BuildContext context,
|
required BuildContext context,
|
||||||
required FindReplaceStyle style,
|
required FindReplaceStyle style,
|
||||||
}) =>
|
}) =>
|
||||||
|
|
@ -95,7 +95,7 @@ FindReplaceService? _findReplaceService;
|
||||||
KeyEventResult _showFindAndReplaceDialog(
|
KeyEventResult _showFindAndReplaceDialog(
|
||||||
BuildContext context,
|
BuildContext context,
|
||||||
EditorState editorState, {
|
EditorState editorState, {
|
||||||
required FindReplaceLocalizations localizations,
|
FindReplaceLocalizations? localizations,
|
||||||
required FindReplaceStyle style,
|
required FindReplaceStyle style,
|
||||||
bool openReplace = false,
|
bool openReplace = false,
|
||||||
}) {
|
}) {
|
||||||
|
|
|
||||||
|
|
@ -14,14 +14,14 @@ class FindReplaceMenu implements FindReplaceService {
|
||||||
required this.context,
|
required this.context,
|
||||||
required this.editorState,
|
required this.editorState,
|
||||||
required this.replaceFlag,
|
required this.replaceFlag,
|
||||||
required this.localizations,
|
this.localizations,
|
||||||
required this.style,
|
required this.style,
|
||||||
});
|
});
|
||||||
|
|
||||||
final BuildContext context;
|
final BuildContext context;
|
||||||
final EditorState editorState;
|
final EditorState editorState;
|
||||||
final bool replaceFlag;
|
final bool replaceFlag;
|
||||||
final FindReplaceLocalizations localizations;
|
final FindReplaceLocalizations? localizations;
|
||||||
final FindReplaceStyle style;
|
final FindReplaceStyle style;
|
||||||
|
|
||||||
final double topOffset = 52;
|
final double topOffset = 52;
|
||||||
|
|
|
||||||
|
|
@ -10,14 +10,14 @@ class FindMenuWidget extends StatefulWidget {
|
||||||
required this.dismiss,
|
required this.dismiss,
|
||||||
required this.editorState,
|
required this.editorState,
|
||||||
required this.replaceFlag,
|
required this.replaceFlag,
|
||||||
required this.localizations,
|
this.localizations,
|
||||||
required this.style,
|
required this.style,
|
||||||
});
|
});
|
||||||
|
|
||||||
final VoidCallback dismiss;
|
final VoidCallback dismiss;
|
||||||
final EditorState editorState;
|
final EditorState editorState;
|
||||||
final bool replaceFlag;
|
final bool replaceFlag;
|
||||||
final FindReplaceLocalizations localizations;
|
final FindReplaceLocalizations? localizations;
|
||||||
final FindReplaceStyle style;
|
final FindReplaceStyle style;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -88,7 +88,10 @@ class _FindMenuWidgetState extends State<FindMenuWidget> {
|
||||||
(value) => FocusScope.of(context).requestFocus(focusNode),
|
(value) => FocusScope.of(context).requestFocus(focusNode),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
decoration: _buildInputDecoration(widget.localizations.find),
|
decoration: _buildInputDecoration(
|
||||||
|
widget.localizations?.find ??
|
||||||
|
AppFlowyEditorLocalizations.current.find,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
IconButton(
|
IconButton(
|
||||||
|
|
@ -96,14 +99,16 @@ class _FindMenuWidgetState extends State<FindMenuWidget> {
|
||||||
iconSize: _iconSize,
|
iconSize: _iconSize,
|
||||||
onPressed: () => searchService.navigateToMatch(moveUp: true),
|
onPressed: () => searchService.navigateToMatch(moveUp: true),
|
||||||
icon: const Icon(Icons.arrow_upward),
|
icon: const Icon(Icons.arrow_upward),
|
||||||
tooltip: widget.localizations.previousMatch,
|
tooltip: widget.localizations?.previousMatch ??
|
||||||
|
AppFlowyEditorLocalizations.current.previousMatch,
|
||||||
),
|
),
|
||||||
IconButton(
|
IconButton(
|
||||||
key: const Key('nextMatchButton'),
|
key: const Key('nextMatchButton'),
|
||||||
iconSize: _iconSize,
|
iconSize: _iconSize,
|
||||||
onPressed: () => searchService.navigateToMatch(),
|
onPressed: () => searchService.navigateToMatch(),
|
||||||
icon: const Icon(Icons.arrow_downward),
|
icon: const Icon(Icons.arrow_downward),
|
||||||
tooltip: widget.localizations.nextMatch,
|
tooltip: widget.localizations?.nextMatch ??
|
||||||
|
AppFlowyEditorLocalizations.current.nextMatch,
|
||||||
),
|
),
|
||||||
IconButton(
|
IconButton(
|
||||||
key: const Key('closeButton'),
|
key: const Key('closeButton'),
|
||||||
|
|
@ -117,7 +122,8 @@ class _FindMenuWidgetState extends State<FindMenuWidget> {
|
||||||
queriedPattern = '';
|
queriedPattern = '';
|
||||||
},
|
},
|
||||||
icon: const Icon(Icons.close),
|
icon: const Icon(Icons.close),
|
||||||
tooltip: widget.localizations.close,
|
tooltip: widget.localizations?.close ??
|
||||||
|
AppFlowyEditorLocalizations.current.closeFind,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
@ -140,8 +146,10 @@ class _FindMenuWidgetState extends State<FindMenuWidget> {
|
||||||
.requestFocus(replaceFocusNode),
|
.requestFocus(replaceFocusNode),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
decoration:
|
decoration: _buildInputDecoration(
|
||||||
_buildInputDecoration(widget.localizations.replace),
|
widget.localizations?.replace ??
|
||||||
|
AppFlowyEditorLocalizations.current.replace,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
IconButton(
|
IconButton(
|
||||||
|
|
@ -149,14 +157,16 @@ class _FindMenuWidgetState extends State<FindMenuWidget> {
|
||||||
onPressed: () => _replaceSelectedWord(),
|
onPressed: () => _replaceSelectedWord(),
|
||||||
icon: const Icon(Icons.find_replace),
|
icon: const Icon(Icons.find_replace),
|
||||||
iconSize: _iconSize,
|
iconSize: _iconSize,
|
||||||
tooltip: widget.localizations.replace,
|
tooltip: widget.localizations?.replace ??
|
||||||
|
AppFlowyEditorLocalizations.current.replace,
|
||||||
),
|
),
|
||||||
IconButton(
|
IconButton(
|
||||||
key: const Key('replaceAllButton'),
|
key: const Key('replaceAllButton'),
|
||||||
onPressed: () => _replaceAllMatches(),
|
onPressed: () => _replaceAllMatches(),
|
||||||
icon: const Icon(Icons.change_circle_outlined),
|
icon: const Icon(Icons.change_circle_outlined),
|
||||||
iconSize: _iconSize,
|
iconSize: _iconSize,
|
||||||
tooltip: widget.localizations.replaceAll,
|
tooltip: widget.localizations?.replaceAll ??
|
||||||
|
AppFlowyEditorLocalizations.current.replaceAll,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -50,14 +50,25 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"bulletedList": MessageLookupByLibrary.simpleMessage("Bulleted List"),
|
"bulletedList": MessageLookupByLibrary.simpleMessage("Bulleted List"),
|
||||||
"cancel": MessageLookupByLibrary.simpleMessage("Cancel"),
|
"cancel": MessageLookupByLibrary.simpleMessage("Cancel"),
|
||||||
"checkbox": MessageLookupByLibrary.simpleMessage("Checkbox"),
|
"checkbox": MessageLookupByLibrary.simpleMessage("Checkbox"),
|
||||||
|
"chooseImage": MessageLookupByLibrary.simpleMessage("Choose an image"),
|
||||||
"clearHighlightColor":
|
"clearHighlightColor":
|
||||||
MessageLookupByLibrary.simpleMessage("Clear highlight color"),
|
MessageLookupByLibrary.simpleMessage("Clear highlight color"),
|
||||||
|
"closeFind": MessageLookupByLibrary.simpleMessage("Close"),
|
||||||
|
"colAddAfter": MessageLookupByLibrary.simpleMessage("Add after"),
|
||||||
|
"colAddBefore": MessageLookupByLibrary.simpleMessage("Add before"),
|
||||||
|
"colClear": MessageLookupByLibrary.simpleMessage("Clear Content"),
|
||||||
|
"colDuplicate": MessageLookupByLibrary.simpleMessage("Duplicate"),
|
||||||
|
"colRemove": MessageLookupByLibrary.simpleMessage("Remove"),
|
||||||
"color": MessageLookupByLibrary.simpleMessage("Color"),
|
"color": MessageLookupByLibrary.simpleMessage("Color"),
|
||||||
|
"copy": MessageLookupByLibrary.simpleMessage("Copy"),
|
||||||
"copyLink": MessageLookupByLibrary.simpleMessage("Copy link"),
|
"copyLink": MessageLookupByLibrary.simpleMessage("Copy link"),
|
||||||
"customColor": MessageLookupByLibrary.simpleMessage("Custom color"),
|
"customColor": MessageLookupByLibrary.simpleMessage("Custom color"),
|
||||||
|
"cut": MessageLookupByLibrary.simpleMessage("Cut"),
|
||||||
|
"divider": MessageLookupByLibrary.simpleMessage("Divider"),
|
||||||
"done": MessageLookupByLibrary.simpleMessage("Done"),
|
"done": MessageLookupByLibrary.simpleMessage("Done"),
|
||||||
"editLink": MessageLookupByLibrary.simpleMessage("Edit link"),
|
"editLink": MessageLookupByLibrary.simpleMessage("Edit link"),
|
||||||
"embedCode": MessageLookupByLibrary.simpleMessage("Embed Code"),
|
"embedCode": MessageLookupByLibrary.simpleMessage("Embed Code"),
|
||||||
|
"find": MessageLookupByLibrary.simpleMessage("Find"),
|
||||||
"fontColorBlue": MessageLookupByLibrary.simpleMessage("Blue"),
|
"fontColorBlue": MessageLookupByLibrary.simpleMessage("Blue"),
|
||||||
"fontColorBrown": MessageLookupByLibrary.simpleMessage("Brown"),
|
"fontColorBrown": MessageLookupByLibrary.simpleMessage("Brown"),
|
||||||
"fontColorDefault": MessageLookupByLibrary.simpleMessage("Default"),
|
"fontColorDefault": MessageLookupByLibrary.simpleMessage("Default"),
|
||||||
|
|
@ -76,6 +87,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"highlightColor":
|
"highlightColor":
|
||||||
MessageLookupByLibrary.simpleMessage("Highlight color"),
|
MessageLookupByLibrary.simpleMessage("Highlight color"),
|
||||||
"image": MessageLookupByLibrary.simpleMessage("Image"),
|
"image": MessageLookupByLibrary.simpleMessage("Image"),
|
||||||
|
"imageLoadFailed":
|
||||||
|
MessageLookupByLibrary.simpleMessage("Could not load the image"),
|
||||||
|
"incorrectLink": MessageLookupByLibrary.simpleMessage("Incorrect Link"),
|
||||||
"italic": MessageLookupByLibrary.simpleMessage("Italic"),
|
"italic": MessageLookupByLibrary.simpleMessage("Italic"),
|
||||||
"lightLightTint1": MessageLookupByLibrary.simpleMessage("Purple"),
|
"lightLightTint1": MessageLookupByLibrary.simpleMessage("Purple"),
|
||||||
"lightLightTint2": MessageLookupByLibrary.simpleMessage("Pink"),
|
"lightLightTint2": MessageLookupByLibrary.simpleMessage("Pink"),
|
||||||
|
|
@ -92,19 +106,33 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"linkText": MessageLookupByLibrary.simpleMessage("Text"),
|
"linkText": MessageLookupByLibrary.simpleMessage("Text"),
|
||||||
"linkTextHint":
|
"linkTextHint":
|
||||||
MessageLookupByLibrary.simpleMessage("Please enter text"),
|
MessageLookupByLibrary.simpleMessage("Please enter text"),
|
||||||
|
"loading": MessageLookupByLibrary.simpleMessage("Loading"),
|
||||||
"ltr": MessageLookupByLibrary.simpleMessage("LTR"),
|
"ltr": MessageLookupByLibrary.simpleMessage("LTR"),
|
||||||
"mobileHeading1": MessageLookupByLibrary.simpleMessage("Heading 1"),
|
"mobileHeading1": MessageLookupByLibrary.simpleMessage("Heading 1"),
|
||||||
"mobileHeading2": MessageLookupByLibrary.simpleMessage("Heading 2"),
|
"mobileHeading2": MessageLookupByLibrary.simpleMessage("Heading 2"),
|
||||||
"mobileHeading3": MessageLookupByLibrary.simpleMessage("Heading 3"),
|
"mobileHeading3": MessageLookupByLibrary.simpleMessage("Heading 3"),
|
||||||
|
"nextMatch": MessageLookupByLibrary.simpleMessage("Next match"),
|
||||||
"numberedList": MessageLookupByLibrary.simpleMessage("Numbered List"),
|
"numberedList": MessageLookupByLibrary.simpleMessage("Numbered List"),
|
||||||
"opacity": MessageLookupByLibrary.simpleMessage("Opacity"),
|
"opacity": MessageLookupByLibrary.simpleMessage("Opacity"),
|
||||||
"openLink": MessageLookupByLibrary.simpleMessage("Open link"),
|
"openLink": MessageLookupByLibrary.simpleMessage("Open link"),
|
||||||
|
"paste": MessageLookupByLibrary.simpleMessage("Paste"),
|
||||||
|
"previousMatch": MessageLookupByLibrary.simpleMessage("Previous match"),
|
||||||
"quote": MessageLookupByLibrary.simpleMessage("Quote"),
|
"quote": MessageLookupByLibrary.simpleMessage("Quote"),
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
|
||||||
|
"replace": MessageLookupByLibrary.simpleMessage("Replace"),
|
||||||
|
"replaceAll": MessageLookupByLibrary.simpleMessage("Replace all"),
|
||||||
"resetToDefaultColor":
|
"resetToDefaultColor":
|
||||||
MessageLookupByLibrary.simpleMessage("Reset to default color"),
|
MessageLookupByLibrary.simpleMessage("Reset to default color"),
|
||||||
|
"rowAddAfter": MessageLookupByLibrary.simpleMessage("Add after"),
|
||||||
|
"rowAddBefore": MessageLookupByLibrary.simpleMessage("Add before"),
|
||||||
|
"rowClear": MessageLookupByLibrary.simpleMessage("Clear Content"),
|
||||||
|
"rowDuplicate": MessageLookupByLibrary.simpleMessage("Duplicate"),
|
||||||
|
"rowRemove": MessageLookupByLibrary.simpleMessage("Remove"),
|
||||||
"rtl": MessageLookupByLibrary.simpleMessage("RTL"),
|
"rtl": MessageLookupByLibrary.simpleMessage("RTL"),
|
||||||
|
"slashPlaceHolder": MessageLookupByLibrary.simpleMessage(
|
||||||
|
"Enter a / to insert a block, or start typing"),
|
||||||
"strikethrough": MessageLookupByLibrary.simpleMessage("Strikethrough"),
|
"strikethrough": MessageLookupByLibrary.simpleMessage("Strikethrough"),
|
||||||
|
"table": MessageLookupByLibrary.simpleMessage("Table"),
|
||||||
"text": MessageLookupByLibrary.simpleMessage("Text"),
|
"text": MessageLookupByLibrary.simpleMessage("Text"),
|
||||||
"textColor": MessageLookupByLibrary.simpleMessage("Text Color"),
|
"textColor": MessageLookupByLibrary.simpleMessage("Text Color"),
|
||||||
"tint1": MessageLookupByLibrary.simpleMessage("Tint 1"),
|
"tint1": MessageLookupByLibrary.simpleMessage("Tint 1"),
|
||||||
|
|
@ -117,6 +145,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"tint8": MessageLookupByLibrary.simpleMessage("Tint 8"),
|
"tint8": MessageLookupByLibrary.simpleMessage("Tint 8"),
|
||||||
"tint9": MessageLookupByLibrary.simpleMessage("Tint 9"),
|
"tint9": MessageLookupByLibrary.simpleMessage("Tint 9"),
|
||||||
"underline": MessageLookupByLibrary.simpleMessage("Underline"),
|
"underline": MessageLookupByLibrary.simpleMessage("Underline"),
|
||||||
"urlHint": MessageLookupByLibrary.simpleMessage("URL")
|
"upload": MessageLookupByLibrary.simpleMessage("Upload"),
|
||||||
|
"uploadImage": MessageLookupByLibrary.simpleMessage("Upload Image"),
|
||||||
|
"urlHint": MessageLookupByLibrary.simpleMessage("URL"),
|
||||||
|
"urlImage": MessageLookupByLibrary.simpleMessage("URL Image")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,14 +38,25 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"bold": MessageLookupByLibrary.simpleMessage("粗体"),
|
"bold": MessageLookupByLibrary.simpleMessage("粗体"),
|
||||||
"bulletedList": MessageLookupByLibrary.simpleMessage("无序列表"),
|
"bulletedList": MessageLookupByLibrary.simpleMessage("无序列表"),
|
||||||
"cancel": MessageLookupByLibrary.simpleMessage("取消"),
|
"cancel": MessageLookupByLibrary.simpleMessage("取消"),
|
||||||
"checkbox": MessageLookupByLibrary.simpleMessage("选框"),
|
"checkbox": MessageLookupByLibrary.simpleMessage("复选框"),
|
||||||
|
"chooseImage": MessageLookupByLibrary.simpleMessage("选择图片文件"),
|
||||||
"clearHighlightColor": MessageLookupByLibrary.simpleMessage("清除高亮颜色"),
|
"clearHighlightColor": MessageLookupByLibrary.simpleMessage("清除高亮颜色"),
|
||||||
|
"closeFind": MessageLookupByLibrary.simpleMessage("关闭"),
|
||||||
|
"colAddAfter": MessageLookupByLibrary.simpleMessage("右侧插入列"),
|
||||||
|
"colAddBefore": MessageLookupByLibrary.simpleMessage("左侧插入列"),
|
||||||
|
"colClear": MessageLookupByLibrary.simpleMessage("清空整列"),
|
||||||
|
"colDuplicate": MessageLookupByLibrary.simpleMessage("复制整列"),
|
||||||
|
"colRemove": MessageLookupByLibrary.simpleMessage("删除整列"),
|
||||||
"color": MessageLookupByLibrary.simpleMessage("颜色"),
|
"color": MessageLookupByLibrary.simpleMessage("颜色"),
|
||||||
|
"copy": MessageLookupByLibrary.simpleMessage("复制"),
|
||||||
"copyLink": MessageLookupByLibrary.simpleMessage("复制链接"),
|
"copyLink": MessageLookupByLibrary.simpleMessage("复制链接"),
|
||||||
"customColor": MessageLookupByLibrary.simpleMessage("自定义颜色"),
|
"customColor": MessageLookupByLibrary.simpleMessage("自定义颜色"),
|
||||||
|
"cut": MessageLookupByLibrary.simpleMessage("剪切"),
|
||||||
|
"divider": MessageLookupByLibrary.simpleMessage("分割线"),
|
||||||
"done": MessageLookupByLibrary.simpleMessage("完成"),
|
"done": MessageLookupByLibrary.simpleMessage("完成"),
|
||||||
"editLink": MessageLookupByLibrary.simpleMessage("修改链接"),
|
"editLink": MessageLookupByLibrary.simpleMessage("修改链接"),
|
||||||
"embedCode": MessageLookupByLibrary.simpleMessage("代码块"),
|
"embedCode": MessageLookupByLibrary.simpleMessage("代码块"),
|
||||||
|
"find": MessageLookupByLibrary.simpleMessage("查找"),
|
||||||
"fontColorBlue": MessageLookupByLibrary.simpleMessage("蓝色"),
|
"fontColorBlue": MessageLookupByLibrary.simpleMessage("蓝色"),
|
||||||
"fontColorBrown": MessageLookupByLibrary.simpleMessage("棕色"),
|
"fontColorBrown": MessageLookupByLibrary.simpleMessage("棕色"),
|
||||||
"fontColorDefault": MessageLookupByLibrary.simpleMessage("默认"),
|
"fontColorDefault": MessageLookupByLibrary.simpleMessage("默认"),
|
||||||
|
|
@ -63,6 +74,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"highlight": MessageLookupByLibrary.simpleMessage("高亮"),
|
"highlight": MessageLookupByLibrary.simpleMessage("高亮"),
|
||||||
"highlightColor": MessageLookupByLibrary.simpleMessage("高亮颜色"),
|
"highlightColor": MessageLookupByLibrary.simpleMessage("高亮颜色"),
|
||||||
"image": MessageLookupByLibrary.simpleMessage("图片"),
|
"image": MessageLookupByLibrary.simpleMessage("图片"),
|
||||||
|
"imageLoadFailed": MessageLookupByLibrary.simpleMessage("无法加载图片"),
|
||||||
|
"incorrectLink": MessageLookupByLibrary.simpleMessage("链接错误"),
|
||||||
"italic": MessageLookupByLibrary.simpleMessage("斜体"),
|
"italic": MessageLookupByLibrary.simpleMessage("斜体"),
|
||||||
"lightLightTint1": MessageLookupByLibrary.simpleMessage("紫色"),
|
"lightLightTint1": MessageLookupByLibrary.simpleMessage("紫色"),
|
||||||
"lightLightTint2": MessageLookupByLibrary.simpleMessage("粉红色"),
|
"lightLightTint2": MessageLookupByLibrary.simpleMessage("粉红色"),
|
||||||
|
|
@ -77,18 +90,32 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"linkAddressHint": MessageLookupByLibrary.simpleMessage("请输入URL"),
|
"linkAddressHint": MessageLookupByLibrary.simpleMessage("请输入URL"),
|
||||||
"linkText": MessageLookupByLibrary.simpleMessage("文字"),
|
"linkText": MessageLookupByLibrary.simpleMessage("文字"),
|
||||||
"linkTextHint": MessageLookupByLibrary.simpleMessage("请输入文字"),
|
"linkTextHint": MessageLookupByLibrary.simpleMessage("请输入文字"),
|
||||||
|
"loading": MessageLookupByLibrary.simpleMessage("正在加载"),
|
||||||
"ltr": MessageLookupByLibrary.simpleMessage("自左至右"),
|
"ltr": MessageLookupByLibrary.simpleMessage("自左至右"),
|
||||||
"mobileHeading1": MessageLookupByLibrary.simpleMessage("一级标题"),
|
"mobileHeading1": MessageLookupByLibrary.simpleMessage("一级标题"),
|
||||||
"mobileHeading2": MessageLookupByLibrary.simpleMessage("二级标题"),
|
"mobileHeading2": MessageLookupByLibrary.simpleMessage("二级标题"),
|
||||||
"mobileHeading3": MessageLookupByLibrary.simpleMessage("三级标题"),
|
"mobileHeading3": MessageLookupByLibrary.simpleMessage("三级标题"),
|
||||||
|
"nextMatch": MessageLookupByLibrary.simpleMessage("下一匹配项"),
|
||||||
"numberedList": MessageLookupByLibrary.simpleMessage("有序列表"),
|
"numberedList": MessageLookupByLibrary.simpleMessage("有序列表"),
|
||||||
"opacity": MessageLookupByLibrary.simpleMessage("透明度"),
|
"opacity": MessageLookupByLibrary.simpleMessage("透明度"),
|
||||||
"openLink": MessageLookupByLibrary.simpleMessage("打开链接"),
|
"openLink": MessageLookupByLibrary.simpleMessage("打开链接"),
|
||||||
|
"paste": MessageLookupByLibrary.simpleMessage("粘贴"),
|
||||||
|
"previousMatch": MessageLookupByLibrary.simpleMessage("上一匹配项"),
|
||||||
"quote": MessageLookupByLibrary.simpleMessage("引文"),
|
"quote": MessageLookupByLibrary.simpleMessage("引文"),
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("移除链接"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("移除链接"),
|
||||||
|
"replace": MessageLookupByLibrary.simpleMessage("替换"),
|
||||||
|
"replaceAll": MessageLookupByLibrary.simpleMessage("替换全部"),
|
||||||
"resetToDefaultColor": MessageLookupByLibrary.simpleMessage("重设为默认颜色"),
|
"resetToDefaultColor": MessageLookupByLibrary.simpleMessage("重设为默认颜色"),
|
||||||
|
"rowAddAfter": MessageLookupByLibrary.simpleMessage("下方插入行"),
|
||||||
|
"rowAddBefore": MessageLookupByLibrary.simpleMessage("上方插入行"),
|
||||||
|
"rowClear": MessageLookupByLibrary.simpleMessage("清空整行"),
|
||||||
|
"rowDuplicate": MessageLookupByLibrary.simpleMessage("复制整行"),
|
||||||
|
"rowRemove": MessageLookupByLibrary.simpleMessage("删除整行"),
|
||||||
"rtl": MessageLookupByLibrary.simpleMessage("自右至左"),
|
"rtl": MessageLookupByLibrary.simpleMessage("自右至左"),
|
||||||
|
"slashPlaceHolder":
|
||||||
|
MessageLookupByLibrary.simpleMessage("单击 / 以插入内容,或开始输入"),
|
||||||
"strikethrough": MessageLookupByLibrary.simpleMessage("删除线"),
|
"strikethrough": MessageLookupByLibrary.simpleMessage("删除线"),
|
||||||
|
"table": MessageLookupByLibrary.simpleMessage("表格"),
|
||||||
"text": MessageLookupByLibrary.simpleMessage("文本"),
|
"text": MessageLookupByLibrary.simpleMessage("文本"),
|
||||||
"textColor": MessageLookupByLibrary.simpleMessage("文字颜色"),
|
"textColor": MessageLookupByLibrary.simpleMessage("文字颜色"),
|
||||||
"tint1": MessageLookupByLibrary.simpleMessage("色调1"),
|
"tint1": MessageLookupByLibrary.simpleMessage("色调1"),
|
||||||
|
|
@ -101,6 +128,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"tint8": MessageLookupByLibrary.simpleMessage("色调8"),
|
"tint8": MessageLookupByLibrary.simpleMessage("色调8"),
|
||||||
"tint9": MessageLookupByLibrary.simpleMessage("色调9"),
|
"tint9": MessageLookupByLibrary.simpleMessage("色调9"),
|
||||||
"underline": MessageLookupByLibrary.simpleMessage("下划线"),
|
"underline": MessageLookupByLibrary.simpleMessage("下划线"),
|
||||||
"urlHint": MessageLookupByLibrary.simpleMessage("URL")
|
"upload": MessageLookupByLibrary.simpleMessage("上传"),
|
||||||
|
"uploadImage": MessageLookupByLibrary.simpleMessage("上传图片"),
|
||||||
|
"urlHint": MessageLookupByLibrary.simpleMessage("URL"),
|
||||||
|
"urlImage": MessageLookupByLibrary.simpleMessage("网络图片")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"backgroundColor": MessageLookupByLibrary.simpleMessage("背景顏色"),
|
"backgroundColor": MessageLookupByLibrary.simpleMessage("背景顏色"),
|
||||||
"backgroundColorBlue": MessageLookupByLibrary.simpleMessage("藍色背景"),
|
"backgroundColorBlue": MessageLookupByLibrary.simpleMessage("藍色背景"),
|
||||||
"backgroundColorBrown": MessageLookupByLibrary.simpleMessage("棕色背景"),
|
"backgroundColorBrown": MessageLookupByLibrary.simpleMessage("棕色背景"),
|
||||||
"backgroundColorDefault": MessageLookupByLibrary.simpleMessage("默認背景色"),
|
"backgroundColorDefault": MessageLookupByLibrary.simpleMessage("預設背景色"),
|
||||||
"backgroundColorGray": MessageLookupByLibrary.simpleMessage("灰色背景"),
|
"backgroundColorGray": MessageLookupByLibrary.simpleMessage("灰色背景"),
|
||||||
"backgroundColorGreen": MessageLookupByLibrary.simpleMessage("綠色背景"),
|
"backgroundColorGreen": MessageLookupByLibrary.simpleMessage("綠色背景"),
|
||||||
"backgroundColorOrange": MessageLookupByLibrary.simpleMessage("橙色背景"),
|
"backgroundColorOrange": MessageLookupByLibrary.simpleMessage("橙色背景"),
|
||||||
|
|
@ -39,16 +39,27 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"bulletedList": MessageLookupByLibrary.simpleMessage("無序列表"),
|
"bulletedList": MessageLookupByLibrary.simpleMessage("無序列表"),
|
||||||
"cancel": MessageLookupByLibrary.simpleMessage("取消"),
|
"cancel": MessageLookupByLibrary.simpleMessage("取消"),
|
||||||
"checkbox": MessageLookupByLibrary.simpleMessage("核取方塊"),
|
"checkbox": MessageLookupByLibrary.simpleMessage("核取方塊"),
|
||||||
|
"chooseImage": MessageLookupByLibrary.simpleMessage("選取圖像檔案"),
|
||||||
"clearHighlightColor": MessageLookupByLibrary.simpleMessage("清除高亮顏色"),
|
"clearHighlightColor": MessageLookupByLibrary.simpleMessage("清除高亮顏色"),
|
||||||
|
"closeFind": MessageLookupByLibrary.simpleMessage("關閉"),
|
||||||
|
"colAddAfter": MessageLookupByLibrary.simpleMessage("右側插入行"),
|
||||||
|
"colAddBefore": MessageLookupByLibrary.simpleMessage("左側插入行"),
|
||||||
|
"colClear": MessageLookupByLibrary.simpleMessage("清空整行"),
|
||||||
|
"colDuplicate": MessageLookupByLibrary.simpleMessage("複製整行"),
|
||||||
|
"colRemove": MessageLookupByLibrary.simpleMessage("刪除整行"),
|
||||||
"color": MessageLookupByLibrary.simpleMessage("顏色"),
|
"color": MessageLookupByLibrary.simpleMessage("顏色"),
|
||||||
|
"copy": MessageLookupByLibrary.simpleMessage("複製"),
|
||||||
"copyLink": MessageLookupByLibrary.simpleMessage("複製連結"),
|
"copyLink": MessageLookupByLibrary.simpleMessage("複製連結"),
|
||||||
"customColor": MessageLookupByLibrary.simpleMessage("自定義顏色"),
|
"customColor": MessageLookupByLibrary.simpleMessage("自定義顏色"),
|
||||||
|
"cut": MessageLookupByLibrary.simpleMessage("剪下"),
|
||||||
|
"divider": MessageLookupByLibrary.simpleMessage("分割線"),
|
||||||
"done": MessageLookupByLibrary.simpleMessage("完成"),
|
"done": MessageLookupByLibrary.simpleMessage("完成"),
|
||||||
"editLink": MessageLookupByLibrary.simpleMessage("修改連結"),
|
"editLink": MessageLookupByLibrary.simpleMessage("修改連結"),
|
||||||
"embedCode": MessageLookupByLibrary.simpleMessage("代碼塊"),
|
"embedCode": MessageLookupByLibrary.simpleMessage("代碼塊"),
|
||||||
|
"find": MessageLookupByLibrary.simpleMessage("尋找"),
|
||||||
"fontColorBlue": MessageLookupByLibrary.simpleMessage("藍色"),
|
"fontColorBlue": MessageLookupByLibrary.simpleMessage("藍色"),
|
||||||
"fontColorBrown": MessageLookupByLibrary.simpleMessage("棕色"),
|
"fontColorBrown": MessageLookupByLibrary.simpleMessage("棕色"),
|
||||||
"fontColorDefault": MessageLookupByLibrary.simpleMessage("默認"),
|
"fontColorDefault": MessageLookupByLibrary.simpleMessage("預設"),
|
||||||
"fontColorGray": MessageLookupByLibrary.simpleMessage("灰色"),
|
"fontColorGray": MessageLookupByLibrary.simpleMessage("灰色"),
|
||||||
"fontColorGreen": MessageLookupByLibrary.simpleMessage("綠色"),
|
"fontColorGreen": MessageLookupByLibrary.simpleMessage("綠色"),
|
||||||
"fontColorOrange": MessageLookupByLibrary.simpleMessage("橙色"),
|
"fontColorOrange": MessageLookupByLibrary.simpleMessage("橙色"),
|
||||||
|
|
@ -63,6 +74,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"highlight": MessageLookupByLibrary.simpleMessage("高亮"),
|
"highlight": MessageLookupByLibrary.simpleMessage("高亮"),
|
||||||
"highlightColor": MessageLookupByLibrary.simpleMessage("高亮顏色"),
|
"highlightColor": MessageLookupByLibrary.simpleMessage("高亮顏色"),
|
||||||
"image": MessageLookupByLibrary.simpleMessage("圖片"),
|
"image": MessageLookupByLibrary.simpleMessage("圖片"),
|
||||||
|
"imageLoadFailed": MessageLookupByLibrary.simpleMessage("無法載入圖像"),
|
||||||
|
"incorrectLink": MessageLookupByLibrary.simpleMessage("連結錯誤"),
|
||||||
"italic": MessageLookupByLibrary.simpleMessage("斜體"),
|
"italic": MessageLookupByLibrary.simpleMessage("斜體"),
|
||||||
"lightLightTint1": MessageLookupByLibrary.simpleMessage("紫色"),
|
"lightLightTint1": MessageLookupByLibrary.simpleMessage("紫色"),
|
||||||
"lightLightTint2": MessageLookupByLibrary.simpleMessage("粉紅色"),
|
"lightLightTint2": MessageLookupByLibrary.simpleMessage("粉紅色"),
|
||||||
|
|
@ -77,18 +90,32 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"linkAddressHint": MessageLookupByLibrary.simpleMessage("請輸入URL"),
|
"linkAddressHint": MessageLookupByLibrary.simpleMessage("請輸入URL"),
|
||||||
"linkText": MessageLookupByLibrary.simpleMessage("文字"),
|
"linkText": MessageLookupByLibrary.simpleMessage("文字"),
|
||||||
"linkTextHint": MessageLookupByLibrary.simpleMessage("請輸入文字"),
|
"linkTextHint": MessageLookupByLibrary.simpleMessage("請輸入文字"),
|
||||||
|
"loading": MessageLookupByLibrary.simpleMessage("正在載入"),
|
||||||
"ltr": MessageLookupByLibrary.simpleMessage("自左至右"),
|
"ltr": MessageLookupByLibrary.simpleMessage("自左至右"),
|
||||||
"mobileHeading1": MessageLookupByLibrary.simpleMessage("一級標題"),
|
"mobileHeading1": MessageLookupByLibrary.simpleMessage("一級標題"),
|
||||||
"mobileHeading2": MessageLookupByLibrary.simpleMessage("二級標題"),
|
"mobileHeading2": MessageLookupByLibrary.simpleMessage("二級標題"),
|
||||||
"mobileHeading3": MessageLookupByLibrary.simpleMessage("三級標題"),
|
"mobileHeading3": MessageLookupByLibrary.simpleMessage("三級標題"),
|
||||||
|
"nextMatch": MessageLookupByLibrary.simpleMessage("下一相符項"),
|
||||||
"numberedList": MessageLookupByLibrary.simpleMessage("有序列表"),
|
"numberedList": MessageLookupByLibrary.simpleMessage("有序列表"),
|
||||||
"opacity": MessageLookupByLibrary.simpleMessage("透明度"),
|
"opacity": MessageLookupByLibrary.simpleMessage("透明度"),
|
||||||
"openLink": MessageLookupByLibrary.simpleMessage("打開連結"),
|
"openLink": MessageLookupByLibrary.simpleMessage("打開連結"),
|
||||||
|
"paste": MessageLookupByLibrary.simpleMessage("貼上"),
|
||||||
|
"previousMatch": MessageLookupByLibrary.simpleMessage("上一相符項"),
|
||||||
"quote": MessageLookupByLibrary.simpleMessage("引文"),
|
"quote": MessageLookupByLibrary.simpleMessage("引文"),
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("移除連結"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("移除連結"),
|
||||||
"resetToDefaultColor": MessageLookupByLibrary.simpleMessage("重設為默認顏色"),
|
"replace": MessageLookupByLibrary.simpleMessage("取代"),
|
||||||
|
"replaceAll": MessageLookupByLibrary.simpleMessage("取代全部"),
|
||||||
|
"resetToDefaultColor": MessageLookupByLibrary.simpleMessage("重設為預設顏色"),
|
||||||
|
"rowAddAfter": MessageLookupByLibrary.simpleMessage("下方插入列"),
|
||||||
|
"rowAddBefore": MessageLookupByLibrary.simpleMessage("上方插入列"),
|
||||||
|
"rowClear": MessageLookupByLibrary.simpleMessage("清空整列"),
|
||||||
|
"rowDuplicate": MessageLookupByLibrary.simpleMessage("複製整列"),
|
||||||
|
"rowRemove": MessageLookupByLibrary.simpleMessage("刪除整列"),
|
||||||
"rtl": MessageLookupByLibrary.simpleMessage("自右至左"),
|
"rtl": MessageLookupByLibrary.simpleMessage("自右至左"),
|
||||||
|
"slashPlaceHolder":
|
||||||
|
MessageLookupByLibrary.simpleMessage("輸入 / 以插入内容,或開始鍵入"),
|
||||||
"strikethrough": MessageLookupByLibrary.simpleMessage("刪除線"),
|
"strikethrough": MessageLookupByLibrary.simpleMessage("刪除線"),
|
||||||
|
"table": MessageLookupByLibrary.simpleMessage("表格"),
|
||||||
"text": MessageLookupByLibrary.simpleMessage("文本"),
|
"text": MessageLookupByLibrary.simpleMessage("文本"),
|
||||||
"textColor": MessageLookupByLibrary.simpleMessage("文字顏色"),
|
"textColor": MessageLookupByLibrary.simpleMessage("文字顏色"),
|
||||||
"tint1": MessageLookupByLibrary.simpleMessage("色調1"),
|
"tint1": MessageLookupByLibrary.simpleMessage("色調1"),
|
||||||
|
|
@ -101,6 +128,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"tint8": MessageLookupByLibrary.simpleMessage("色調8"),
|
"tint8": MessageLookupByLibrary.simpleMessage("色調8"),
|
||||||
"tint9": MessageLookupByLibrary.simpleMessage("色調9"),
|
"tint9": MessageLookupByLibrary.simpleMessage("色調9"),
|
||||||
"underline": MessageLookupByLibrary.simpleMessage("下劃線"),
|
"underline": MessageLookupByLibrary.simpleMessage("下劃線"),
|
||||||
"urlHint": MessageLookupByLibrary.simpleMessage("URL")
|
"upload": MessageLookupByLibrary.simpleMessage("上載"),
|
||||||
|
"uploadImage": MessageLookupByLibrary.simpleMessage("上載圖片"),
|
||||||
|
"urlHint": MessageLookupByLibrary.simpleMessage("URL"),
|
||||||
|
"urlImage": MessageLookupByLibrary.simpleMessage("網路圖片")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -850,6 +850,296 @@ class AppFlowyEditorLocalizations {
|
||||||
args: [],
|
args: [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// `Cut`
|
||||||
|
String get cut {
|
||||||
|
return Intl.message(
|
||||||
|
'Cut',
|
||||||
|
name: 'cut',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Copy`
|
||||||
|
String get copy {
|
||||||
|
return Intl.message(
|
||||||
|
'Copy',
|
||||||
|
name: 'copy',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Paste`
|
||||||
|
String get paste {
|
||||||
|
return Intl.message(
|
||||||
|
'Paste',
|
||||||
|
name: 'paste',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Find`
|
||||||
|
String get find {
|
||||||
|
return Intl.message(
|
||||||
|
'Find',
|
||||||
|
name: 'find',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Previous match`
|
||||||
|
String get previousMatch {
|
||||||
|
return Intl.message(
|
||||||
|
'Previous match',
|
||||||
|
name: 'previousMatch',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Next match`
|
||||||
|
String get nextMatch {
|
||||||
|
return Intl.message(
|
||||||
|
'Next match',
|
||||||
|
name: 'nextMatch',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Close`
|
||||||
|
String get closeFind {
|
||||||
|
return Intl.message(
|
||||||
|
'Close',
|
||||||
|
name: 'closeFind',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Replace`
|
||||||
|
String get replace {
|
||||||
|
return Intl.message(
|
||||||
|
'Replace',
|
||||||
|
name: 'replace',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Replace all`
|
||||||
|
String get replaceAll {
|
||||||
|
return Intl.message(
|
||||||
|
'Replace all',
|
||||||
|
name: 'replaceAll',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Upload Image`
|
||||||
|
String get uploadImage {
|
||||||
|
return Intl.message(
|
||||||
|
'Upload Image',
|
||||||
|
name: 'uploadImage',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `URL Image`
|
||||||
|
String get urlImage {
|
||||||
|
return Intl.message(
|
||||||
|
'URL Image',
|
||||||
|
name: 'urlImage',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Incorrect Link`
|
||||||
|
String get incorrectLink {
|
||||||
|
return Intl.message(
|
||||||
|
'Incorrect Link',
|
||||||
|
name: 'incorrectLink',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Upload`
|
||||||
|
String get upload {
|
||||||
|
return Intl.message(
|
||||||
|
'Upload',
|
||||||
|
name: 'upload',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Choose an image`
|
||||||
|
String get chooseImage {
|
||||||
|
return Intl.message(
|
||||||
|
'Choose an image',
|
||||||
|
name: 'chooseImage',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Loading`
|
||||||
|
String get loading {
|
||||||
|
return Intl.message(
|
||||||
|
'Loading',
|
||||||
|
name: 'loading',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Could not load the image`
|
||||||
|
String get imageLoadFailed {
|
||||||
|
return Intl.message(
|
||||||
|
'Could not load the image',
|
||||||
|
name: 'imageLoadFailed',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Divider`
|
||||||
|
String get divider {
|
||||||
|
return Intl.message(
|
||||||
|
'Divider',
|
||||||
|
name: 'divider',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Table`
|
||||||
|
String get table {
|
||||||
|
return Intl.message(
|
||||||
|
'Table',
|
||||||
|
name: 'table',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Add before`
|
||||||
|
String get colAddBefore {
|
||||||
|
return Intl.message(
|
||||||
|
'Add before',
|
||||||
|
name: 'colAddBefore',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Add before`
|
||||||
|
String get rowAddBefore {
|
||||||
|
return Intl.message(
|
||||||
|
'Add before',
|
||||||
|
name: 'rowAddBefore',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Add after`
|
||||||
|
String get colAddAfter {
|
||||||
|
return Intl.message(
|
||||||
|
'Add after',
|
||||||
|
name: 'colAddAfter',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Add after`
|
||||||
|
String get rowAddAfter {
|
||||||
|
return Intl.message(
|
||||||
|
'Add after',
|
||||||
|
name: 'rowAddAfter',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Remove`
|
||||||
|
String get colRemove {
|
||||||
|
return Intl.message(
|
||||||
|
'Remove',
|
||||||
|
name: 'colRemove',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Remove`
|
||||||
|
String get rowRemove {
|
||||||
|
return Intl.message(
|
||||||
|
'Remove',
|
||||||
|
name: 'rowRemove',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Duplicate`
|
||||||
|
String get colDuplicate {
|
||||||
|
return Intl.message(
|
||||||
|
'Duplicate',
|
||||||
|
name: 'colDuplicate',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Duplicate`
|
||||||
|
String get rowDuplicate {
|
||||||
|
return Intl.message(
|
||||||
|
'Duplicate',
|
||||||
|
name: 'rowDuplicate',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Clear Content`
|
||||||
|
String get colClear {
|
||||||
|
return Intl.message(
|
||||||
|
'Clear Content',
|
||||||
|
name: 'colClear',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Clear Content`
|
||||||
|
String get rowClear {
|
||||||
|
return Intl.message(
|
||||||
|
'Clear Content',
|
||||||
|
name: 'rowClear',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// `Enter a / to insert a block, or start typing`
|
||||||
|
String get slashPlaceHolder {
|
||||||
|
return Intl.message(
|
||||||
|
'Enter a / to insert a block, or start typing',
|
||||||
|
name: 'slashPlaceHolder',
|
||||||
|
desc: '',
|
||||||
|
args: [],
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AppLocalizationDelegate
|
class AppLocalizationDelegate
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,26 @@
|
||||||
import 'package:appflowy_editor/src/service/context_menu/context_menu.dart';
|
import 'context_menu.dart';
|
||||||
|
import '../../l10n/l10n.dart';
|
||||||
import '../internal_key_event_handlers/copy_paste_handler.dart';
|
import '../internal_key_event_handlers/copy_paste_handler.dart';
|
||||||
|
|
||||||
final standardContextMenuItems = [
|
final standardContextMenuItems = [
|
||||||
[
|
[
|
||||||
// cut
|
// cut
|
||||||
ContextMenuItem(
|
ContextMenuItem(
|
||||||
name: 'Cut',
|
name: AppFlowyEditorLocalizations.current.cut,
|
||||||
onPressed: (editorState) {
|
onPressed: (editorState) {
|
||||||
handleCut(editorState);
|
handleCut(editorState);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
// copy
|
// copy
|
||||||
ContextMenuItem(
|
ContextMenuItem(
|
||||||
name: 'Copy',
|
name: AppFlowyEditorLocalizations.current.copy,
|
||||||
onPressed: (editorState) {
|
onPressed: (editorState) {
|
||||||
handleCopy(editorState);
|
handleCopy(editorState);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
// Paste
|
// Paste
|
||||||
ContextMenuItem(
|
ContextMenuItem(
|
||||||
name: 'Paste',
|
name: AppFlowyEditorLocalizations.current.paste,
|
||||||
onPressed: (editorState) {
|
onPressed: (editorState) {
|
||||||
handlePaste(editorState);
|
handlePaste(editorState);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@ import 'package:network_image_mock/network_image_mock.dart';
|
||||||
|
|
||||||
void main() async {
|
void main() async {
|
||||||
/// customize the action builder
|
/// customize the action builder
|
||||||
|
await AppFlowyEditorLocalizations.load(
|
||||||
|
const Locale.fromSubtags(languageCode: 'en'),
|
||||||
|
);
|
||||||
testWidgets('customize the image block\'s menu', (tester) async {
|
testWidgets('customize the image block\'s menu', (tester) async {
|
||||||
await mockNetworkImagesFor(() async {
|
await mockNetworkImagesFor(() async {
|
||||||
const widget = CustomActionBuilder();
|
const widget = CustomActionBuilder();
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,9 @@ void main() async {
|
||||||
// 1. When the text field is focused, the editor's cursor should be disabled.
|
// 1. When the text field is focused, the editor's cursor should be disabled.
|
||||||
// 2. When the editor is focused, the text field's cursor should be disabled.
|
// 2. When the editor is focused, the text field's cursor should be disabled.
|
||||||
// 3. Tapping a non-first line of the editor should still allow the editor to grab focus.
|
// 3. Tapping a non-first line of the editor should still allow the editor to grab focus.
|
||||||
|
await AppFlowyEditorLocalizations.load(
|
||||||
|
const Locale.fromSubtags(languageCode: 'en'),
|
||||||
|
);
|
||||||
testWidgets('text field + editor', (tester) async {
|
testWidgets('text field + editor', (tester) async {
|
||||||
const widget = CustomAttributeKeyForTextBlock();
|
const widget = CustomAttributeKeyForTextBlock();
|
||||||
await tester.pumpWidget(widget);
|
await tester.pumpWidget(widget);
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,9 @@ void main() async {
|
||||||
/// - bulleted list
|
/// - bulleted list
|
||||||
/// - todo list
|
/// - todo list
|
||||||
/// - quote
|
/// - quote
|
||||||
|
await AppFlowyEditorLocalizations.load(
|
||||||
|
const Locale.fromSubtags(languageCode: 'en'),
|
||||||
|
);
|
||||||
testWidgets('custom block icon', (tester) async {
|
testWidgets('custom block icon', (tester) async {
|
||||||
await mockNetworkImagesFor(() async {
|
await mockNetworkImagesFor(() async {
|
||||||
const widget = CustomBlockIcon();
|
const widget = CustomBlockIcon();
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue