Merge branch 'master' of https://github.com/Alspb/flutter-quill into search_bar

pull/1904/head
Alspb 11 months ago
commit fd4ea4faf8
  1. 3
      .github/workflows/main.yml
  2. 31
      CHANGELOG.md
  3. 2
      CHANGELOG_DATA.json
  4. 33
      README.md
  5. 31
      dart_quill_delta/CHANGELOG.md
  6. 2
      dart_quill_delta/pubspec.yaml
  7. 4
      doc/translation.md
  8. 31
      flutter_quill_extensions/CHANGELOG.md
  9. 10
      flutter_quill_extensions/README.md
  10. 2
      flutter_quill_extensions/pubspec.yaml
  11. 31
      flutter_quill_test/CHANGELOG.md
  12. 2
      flutter_quill_test/pubspec.yaml
  13. 48
      lib/src/l10n/generated/quill_localizations.dart
  14. 18
      lib/src/l10n/generated/quill_localizations_ar.dart
  15. 18
      lib/src/l10n/generated/quill_localizations_bg.dart
  16. 18
      lib/src/l10n/generated/quill_localizations_bn.dart
  17. 18
      lib/src/l10n/generated/quill_localizations_cs.dart
  18. 20
      lib/src/l10n/generated/quill_localizations_da.dart
  19. 18
      lib/src/l10n/generated/quill_localizations_de.dart
  20. 28
      lib/src/l10n/generated/quill_localizations_en.dart
  21. 18
      lib/src/l10n/generated/quill_localizations_es.dart
  22. 18
      lib/src/l10n/generated/quill_localizations_fa.dart
  23. 18
      lib/src/l10n/generated/quill_localizations_fr.dart
  24. 18
      lib/src/l10n/generated/quill_localizations_he.dart
  25. 18
      lib/src/l10n/generated/quill_localizations_hi.dart
  26. 18
      lib/src/l10n/generated/quill_localizations_id.dart
  27. 18
      lib/src/l10n/generated/quill_localizations_it.dart
  28. 18
      lib/src/l10n/generated/quill_localizations_ja.dart
  29. 20
      lib/src/l10n/generated/quill_localizations_ko.dart
  30. 18
      lib/src/l10n/generated/quill_localizations_ku.dart
  31. 20
      lib/src/l10n/generated/quill_localizations_ms.dart
  32. 18
      lib/src/l10n/generated/quill_localizations_ne.dart
  33. 20
      lib/src/l10n/generated/quill_localizations_nl.dart
  34. 18
      lib/src/l10n/generated/quill_localizations_no.dart
  35. 20
      lib/src/l10n/generated/quill_localizations_pl.dart
  36. 20
      lib/src/l10n/generated/quill_localizations_pt.dart
  37. 18
      lib/src/l10n/generated/quill_localizations_ro.dart
  38. 18
      lib/src/l10n/generated/quill_localizations_ru.dart
  39. 18
      lib/src/l10n/generated/quill_localizations_sk.dart
  40. 18
      lib/src/l10n/generated/quill_localizations_sr.dart
  41. 18
      lib/src/l10n/generated/quill_localizations_sv.dart
  42. 18
      lib/src/l10n/generated/quill_localizations_sw.dart
  43. 20
      lib/src/l10n/generated/quill_localizations_tk.dart
  44. 18
      lib/src/l10n/generated/quill_localizations_tr.dart
  45. 18
      lib/src/l10n/generated/quill_localizations_uk.dart
  46. 18
      lib/src/l10n/generated/quill_localizations_ur.dart
  47. 18
      lib/src/l10n/generated/quill_localizations_vi.dart
  48. 18
      lib/src/l10n/generated/quill_localizations_zh.dart
  49. 8
      lib/src/l10n/quill_en.arb
  50. 323
      lib/src/l10n/untranslated.json
  51. 9
      lib/src/models/documents/history.dart
  52. 1
      lib/src/models/documents/nodes/line.dart
  53. 2
      lib/src/models/rules/insert.dart
  54. 2
      lib/src/models/structs/history_changed.dart
  55. 43
      lib/src/widgets/quill/quill_controller.dart
  56. 4
      lib/src/widgets/raw_editor/raw_editor_state_text_input_client_mixin.dart
  57. 7
      lib/src/widgets/toolbar/base_button/base_value_button.dart
  58. 5
      lib/src/widgets/toolbar/buttons/clipboard_button.dart
  59. 10
      lib/src/widgets/toolbar/buttons/color/color_button.dart
  60. 3
      lib/src/widgets/toolbar/buttons/font_family_button.dart
  61. 3
      lib/src/widgets/toolbar/buttons/font_size_button.dart
  62. 3
      lib/src/widgets/toolbar/buttons/hearder_style/select_header_style_buttons.dart
  63. 3
      lib/src/widgets/toolbar/buttons/hearder_style/select_header_style_dropdown_button.dart
  64. 7
      lib/src/widgets/toolbar/buttons/history_button.dart
  65. 9
      lib/src/widgets/toolbar/buttons/indent_button.dart
  66. 5
      lib/src/widgets/toolbar/buttons/link_style_button.dart
  67. 7
      lib/src/widgets/toolbar/buttons/toggle_check_list_button.dart
  68. 8
      lib/src/widgets/toolbar/buttons/toggle_style_button.dart
  69. 5
      pubspec.yaml
  70. 31
      quill_html_converter/CHANGELOG.md
  71. 2
      quill_html_converter/pubspec.yaml
  72. 31
      quill_pdf_converter/CHANGELOG.md
  73. 2
      quill_pdf_converter/pubspec.yaml
  74. 10
      scripts/before_push.sh
  75. 2
      scripts/disable_local_dev.sh
  76. 2
      scripts/enable_local_dev.sh
  77. 57
      scripts/ensure_translations_correct.dart
  78. 3
      scripts/pub_get.sh
  79. 2
      scripts/regenerate_translations.sh

@ -59,3 +59,6 @@ jobs:
- name: 🧪 Run Flutter tests - name: 🧪 Run Flutter tests
run: flutter test run: flutter test
- name: 🔍 Check the translations
run: dart ./scripts/ensure_translations_correct.dart

@ -4,6 +4,37 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.21
* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21
## 9.3.20
* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892
* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890
## New Contributors
* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20
## 9.3.19
* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19
## 9.3.18
* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18
## 9.3.17 ## 9.3.17
* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882) * Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)

File diff suppressed because one or more lines are too long

@ -33,10 +33,8 @@ Check out our [Youtube Playlist] or [Code Introduction](./doc/code_introduction.
to take a detailed walkthrough of the code base. to take a detailed walkthrough of the code base.
You can join our [Slack Group] for discussion. You can join our [Slack Group] for discussion.
Pub page: [FlutterQuill] <br> > If you are viewing this page from [pub.dev](https://pub.dev/) page, then you
If you are viewing this page from pub.dev page, then you might have some issues with opening some links, open it in the GitHub repo instead.
might have some issues with opening some links, please open
it's in the GitHub repo instead.
## Table of contents ## Table of contents
- [Flutter Quill](#flutter-quill) - [Flutter Quill](#flutter-quill)
@ -67,9 +65,9 @@ it's in the GitHub repo instead.
<br> <br>
<img src="./example/assets/images/screenshot_1.png" width="250" alt="Screenshot 1"> <img src="./example/assets/images/screenshot_1.png" width="250" alt="Screenshot 1">
<img src="./example/assets/images/screenshot_2.png" width="200" alt="Screenshot 2"> <img src="./example/assets/images/screenshot_2.png" width="250" alt="Screenshot 2">
<img src="./example/assets/images/screenshot_3.png" width="175" alt="Screenshot 3"> <img src="./example/assets/images/screenshot_3.png" width="250" alt="Screenshot 3">
<img src="./example/assets/images/screenshot_4.png" width="135" alt="Screenshot 4"> <img src="./example/assets/images/screenshot_4.png" width="250" alt="Screenshot 4">
</details> </details>
@ -229,12 +227,12 @@ To see how to use the extension package, please take a look at the [README](./fl
Having your document stored in Quill Delta format is sometimes not enough. Often you'll need to convert Having your document stored in Quill Delta format is sometimes not enough. Often you'll need to convert
it to other formats such as HTML to publish it, or send an email. it to other formats such as HTML to publish it, or send an email.
**Note**: This package support converting from HTML back to Quill delta but it's experimental and used internally when pasting Html content from the cliboard to the Quill Editor **Note**: This package supports converting from HTML back to Quill delta but it's experimental and used internally when pasting HTML content from the clipboard to the Quill Editor
You have two options: You have two options:
1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well 1. Using [quill_html_converter](./quill_html_converter/) to convert to HTML, the package can convert the Quill delta to HTML well
(it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it just a handy extension to do it more quickly (it uses [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html)), it is just a handy extension to do it more quickly
1. Another option is to use 1. Another option is to use
[vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document [vsc_quill_delta_to_html](https://pub.dev/packages/vsc_quill_delta_to_html) to convert your document
to HTML. to HTML.
@ -257,7 +255,7 @@ Please use [flutter_quill_test](https://pub.dev/packages/flutter_quill_test) for
## Contributors ## Contributors
Special thanks to everyone who has contributed to this project... - Special thanks to everyone who has contributed to this project...
<a href="https://github.com/singerdmx/flutter-quill/graphs/contributors"> <a href="https://github.com/singerdmx/flutter-quill/graphs/contributors">
<img src="https://contrib.rocks/image?repo=singerdmx/flutter-quill" /> <img src="https://contrib.rocks/image?repo=singerdmx/flutter-quill" />
@ -267,14 +265,19 @@ Special thanks to everyone who has contributed to this project...
Made with [contrib.rocks](https://contrib.rocks). Made with [contrib.rocks](https://contrib.rocks).
We welcome contributions! - Thanks to the [Flutter Team](https://flutter.dev/)
- Thanks to the welcoming community, the volunteers who helped along the journey, developers, contributors
and contributors who put time and effort into everything including making all the libraries, tools, and the
information we rely on
- We are incredibly grateful to many individuals and organizations who have played a
role in the project. This includes the welcoming community, dedicated volunteers, talented developers and
contributors, and the creators of the open-source tools we rely on.
Please follow these guidelines when contributing to the project. See [CONTRIBUTING.md](./CONTRIBUTING.md) for more details. <br> We welcome all contributions!
We must mention that the [CONTRIBUTING.md](./CONTRIBUTING.md) has development notes, so if you're planning on contributing to the repo, Please follow these guidelines when contributing to the project. See [CONTRIBUTING.md](./CONTRIBUTING.md) for more details. <br>
please consider reading it.
You can check the [Todo](./doc/todo.md) list if you want to The [CONTRIBUTING.md](./CONTRIBUTING.md) has development notes, if you're planning on contributing to the package, please consider reading it.
[Quill]: https://quilljs.com/docs/formats [Quill]: https://quilljs.com/docs/formats
[Flutter]: https://github.com/flutter/flutter [Flutter]: https://github.com/flutter/flutter

@ -4,6 +4,37 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.21
* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21
## 9.3.20
* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892
* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890
## New Contributors
* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20
## 9.3.19
* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19
## 9.3.18
* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18
## 9.3.17 ## 9.3.17
* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882) * Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)

@ -1,6 +1,6 @@
name: dart_quill_delta name: dart_quill_delta
description: A port of quill-js-delta from typescript to dart description: A port of quill-js-delta from typescript to dart
version: 9.3.17 version: 9.3.21
homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ homepage: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/
repository: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/ repository: https://github.com/singerdmx/flutter-quill/tree/master/dart_quill_delta/
issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -60,7 +60,9 @@ dart fix --apply ./lib/src/l10n/generated
dart format ./lib/src/l10n/generated dart format ./lib/src/l10n/generated
``` ```
This will generate the new dart files from the arb files in order to take effect, otherwise, you won't notice a difference This will generate the new dart files from the arb files in order to take effect, otherwise, you won't notice a difference
> If you added or removed translations, make sure to update `_expectedTranslationKeysLength` variable in `./scripts/ensure_translations_correct.dart` <br>
> Otherwise you don't need to update it.
Then open a pull request so everyone can benefit from your translations! Then open a pull request so everyone can benefit from your translations!

@ -4,6 +4,37 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.21
* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21
## 9.3.20
* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892
* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890
## New Contributors
* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20
## 9.3.19
* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19
## 9.3.18
* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18
## 9.3.17 ## 9.3.17
* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882) * Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)

@ -241,8 +241,6 @@ OnDragDoneCallback get _onDragDone {
- Handle different errors - Handle different errors
``` ```
Please notice that the saving image functionality is not supported on Linux yet.
## Contributing ## Contributing
We welcome contributions! We welcome contributions!
@ -252,4 +250,10 @@ Please follow these guidelines when contributing to our project. See [CONTRIBUTI
## Acknowledgments ## Acknowledgments
- Thanks to the [Flutter Team](https://flutter.dev/) - Thanks to the [Flutter Team](https://flutter.dev/)
- Thanks to [flutter_quill](https://pub.dev/packages/flutter_quill) - Thanks to the welcoming community, the volunteers who helped along the journey, developers, contributors
and contributors who put time and effort into everything including making all the libraries, tools, and the
information we rely on
We are incredibly grateful to many individuals and organizations who have played a
role in the project. This includes the welcoming community, dedicated volunteers, talented developers and
contributors, and the creators of the open-source tools we rely on.

@ -1,6 +1,6 @@
name: flutter_quill_extensions name: flutter_quill_extensions
description: Embed extensions for flutter_quill including image, video, formula and etc. description: Embed extensions for flutter_quill including image, video, formula and etc.
version: 9.3.17 version: 9.3.21
homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/
repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_extensions/
issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -4,6 +4,37 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.21
* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21
## 9.3.20
* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892
* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890
## New Contributors
* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20
## 9.3.19
* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19
## 9.3.18
* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18
## 9.3.17 ## 9.3.17
* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882) * Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)

@ -1,6 +1,6 @@
name: flutter_quill_test name: flutter_quill_test
description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases. description: Test utilities for flutter_quill which includes methods to simplify interacting with the editor in test cases.
version: 9.3.17 version: 9.3.21
homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ homepage: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/
repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/ repository: https://github.com/singerdmx/flutter-quill/tree/master/flutter_quill_test/
issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -211,18 +211,6 @@ abstract class FlutterQuillLocalizations {
/// **'Copy'** /// **'Copy'**
String get copy; String get copy;
/// No description provided for @cut.
///
/// In en, this message translates to:
/// **'Cut'**
String get cut => 'Cut';
/// No description provided for @paste.
///
/// In en, this message translates to:
/// **'Paste'**
String get paste => 'Paste';
/// No description provided for @remove. /// No description provided for @remove.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -667,6 +655,18 @@ abstract class FlutterQuillLocalizations {
/// **'Case sensitivity and whole word search'** /// **'Case sensitivity and whole word search'**
String get caseSensitivityAndWholeWordSearch; String get caseSensitivityAndWholeWordSearch;
/// No description provided for @caseSensitive.
///
/// In en, this message translates to:
/// **'Case sensitive'**
String get caseSensitive;
/// No description provided for @wholeWord.
///
/// In en, this message translates to:
/// **'Whole word'**
String get wholeWord;
/// No description provided for @insertImage. /// No description provided for @insertImage.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -708,6 +708,30 @@ abstract class FlutterQuillLocalizations {
/// In en, this message translates to: /// In en, this message translates to:
/// **'Paste a video using a link'** /// **'Paste a video using a link'**
String get pasteAVideoUsingALink; String get pasteAVideoUsingALink;
/// No description provided for @close.
///
/// In en, this message translates to:
/// **'Close'**
String get close;
/// No description provided for @searchSettings.
///
/// In en, this message translates to:
/// **'Search settings'**
String get searchSettings;
/// No description provided for @cut.
///
/// In en, this message translates to:
/// **'Cut'**
String get cut;
/// No description provided for @paste.
///
/// In en, this message translates to:
/// **'Paste'**
String get paste;
} }
class _FlutterQuillLocalizationsDelegate class _FlutterQuillLocalizationsDelegate

@ -250,6 +250,12 @@ class FlutterQuillLocalizationsAr extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'حالة الحساسية والبحث عن كلمة كاملة'; 'حالة الحساسية والبحث عن كلمة كاملة';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'إدراج صورة'; String get insertImage => 'إدراج صورة';
@ -270,4 +276,16 @@ class FlutterQuillLocalizationsAr extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'لصق فيديو باستخدام رابط'; String get pasteAVideoUsingALink => 'لصق فيديو باستخدام رابط';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -252,6 +252,12 @@ class FlutterQuillLocalizationsBg extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Чувствителност на кутията и търсене на цялата дума'; 'Чувствителност на кутията и търсене на цялата дума';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Вмъкване на изображение'; String get insertImage => 'Вмъкване на изображение';
@ -272,4 +278,16 @@ class FlutterQuillLocalizationsBg extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -252,6 +252,12 @@ class FlutterQuillLocalizationsBn extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'স সিিিি এবণ শবদ অনসন'; 'স সিিিি এবণ শবদ অনসন';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'ির সনি'; String get insertImage => 'ির সনি';
@ -272,4 +278,16 @@ class FlutterQuillLocalizationsBn extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -252,6 +252,12 @@ class FlutterQuillLocalizationsCs extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Citlivost na velká a malá písmena a vyhledávání celého slova'; 'Citlivost na velká a malá písmena a vyhledávání celého slova';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Vložit obrázek'; String get insertImage => 'Vložit obrázek';
@ -272,4 +278,16 @@ class FlutterQuillLocalizationsCs extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Vložit video pomocí odkazu'; String get pasteAVideoUsingALink => 'Vložit video pomocí odkazu';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -128,7 +128,7 @@ class FlutterQuillLocalizationsDa extends FlutterQuillLocalizations {
String get alignRight => 'Align right'; String get alignRight => 'Align right';
@override @override
String get justifyWinWidth => 'Justify'; String get justifyWinWidth => 'Justify win width';
@override @override
String get textDirection => 'Text direction'; String get textDirection => 'Text direction';
@ -250,6 +250,12 @@ class FlutterQuillLocalizationsDa extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Stor- og småbogstavsfølsomhed samt helordsøgning'; 'Stor- og småbogstavsfølsomhed samt helordsøgning';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Indsæt billede'; String get insertImage => 'Indsæt billede';
@ -270,4 +276,16 @@ class FlutterQuillLocalizationsDa extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -252,6 +252,12 @@ class FlutterQuillLocalizationsDe extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Groß- und Kleinschreibung sowie Ganzwortsuche'; 'Groß- und Kleinschreibung sowie Ganzwortsuche';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Bild einfügen'; String get insertImage => 'Bild einfügen';
@ -276,4 +282,16 @@ class FlutterQuillLocalizationsDe extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -25,12 +25,6 @@ class FlutterQuillLocalizationsEn extends FlutterQuillLocalizations {
@override @override
String get copy => 'Copy'; String get copy => 'Copy';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
@override @override
String get remove => 'Remove'; String get remove => 'Remove';
@ -134,7 +128,7 @@ class FlutterQuillLocalizationsEn extends FlutterQuillLocalizations {
String get alignRight => 'Align right'; String get alignRight => 'Align right';
@override @override
String get justifyWinWidth => 'Justify'; String get justifyWinWidth => 'Justify win width';
@override @override
String get textDirection => 'Text direction'; String get textDirection => 'Text direction';
@ -258,6 +252,12 @@ class FlutterQuillLocalizationsEn extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Case sensitivity and whole word search'; 'Case sensitivity and whole word search';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Insert image'; String get insertImage => 'Insert image';
@ -278,6 +278,18 @@ class FlutterQuillLocalizationsEn extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }
/// The translations for English, as used in the United States (`en_US`). /// The translations for English, as used in the United States (`en_US`).
@ -408,7 +420,7 @@ class FlutterQuillLocalizationsEnUs extends FlutterQuillLocalizationsEn {
String get alignRight => 'Align right'; String get alignRight => 'Align right';
@override @override
String get justifyWinWidth => 'Justify'; String get justifyWinWidth => 'Justify win width';
@override @override
String get textDirection => 'Text direction'; String get textDirection => 'Text direction';

@ -252,6 +252,12 @@ class FlutterQuillLocalizationsEs extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Sensibilidad a mayúsculas y búsqueda de palabras completas'; 'Sensibilidad a mayúsculas y búsqueda de palabras completas';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Insertar imagen'; String get insertImage => 'Insertar imagen';
@ -272,4 +278,16 @@ class FlutterQuillLocalizationsEs extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -253,6 +253,12 @@ class FlutterQuillLocalizationsFa extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'حساسیت به کوچکی و بزرگی حروف و جستجوی کلمه کامل'; 'حساسیت به کوچکی و بزرگی حروف و جستجوی کلمه کامل';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'وارد کردن تصویر'; String get insertImage => 'وارد کردن تصویر';
@ -273,4 +279,16 @@ class FlutterQuillLocalizationsFa extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -254,6 +254,12 @@ class FlutterQuillLocalizationsFr extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Sensibilité à la casse et recherche de mots entiers'; 'Sensibilité à la casse et recherche de mots entiers';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Insérer une image'; String get insertImage => 'Insérer une image';
@ -278,4 +284,16 @@ class FlutterQuillLocalizationsFr extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => "Coller une vidéo à l'aide d'un lien"; String get pasteAVideoUsingALink => "Coller une vidéo à l'aide d'un lien";
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -252,6 +252,12 @@ class FlutterQuillLocalizationsHe extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'רגישות לאותות רישיות וחיפוש לפי מילה שלמה'; 'רגישות לאותות רישיות וחיפוש לפי מילה שלמה';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'הכנס תמונה'; String get insertImage => 'הכנס תמונה';
@ -272,4 +278,16 @@ class FlutterQuillLocalizationsHe extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -253,6 +253,12 @@ class FlutterQuillLocalizationsHi extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'स सििि और प शबद क'; 'स सििि और प शबद क';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'छवि'; String get insertImage => 'छवि';
@ -273,4 +279,16 @@ class FlutterQuillLocalizationsHi extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -254,6 +254,12 @@ class FlutterQuillLocalizationsId extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Sensitivitas huruf besar dan kecil dan pencarian kata utuh'; 'Sensitivitas huruf besar dan kecil dan pencarian kata utuh';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Sisipkan Gambar'; String get insertImage => 'Sisipkan Gambar';
@ -274,4 +280,16 @@ class FlutterQuillLocalizationsId extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -254,6 +254,12 @@ class FlutterQuillLocalizationsIt extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Sensibilità maiuscole/minuscole e ricerca di parole intere'; 'Sensibilità maiuscole/minuscole e ricerca di parole intere';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Inserisci immagine'; String get insertImage => 'Inserisci immagine';
@ -274,4 +280,16 @@ class FlutterQuillLocalizationsIt extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -249,6 +249,12 @@ class FlutterQuillLocalizationsJa extends FlutterQuillLocalizations {
@override @override
String get caseSensitivityAndWholeWordSearch => '大文字と小文字の区別と完全一致検索'; String get caseSensitivityAndWholeWordSearch => '大文字と小文字の区別と完全一致検索';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => '画像を挿入'; String get insertImage => '画像を挿入';
@ -269,4 +275,16 @@ class FlutterQuillLocalizationsJa extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -128,7 +128,7 @@ class FlutterQuillLocalizationsKo extends FlutterQuillLocalizations {
String get alignRight => 'Align right'; String get alignRight => 'Align right';
@override @override
String get justifyWinWidth => 'Justify'; String get justifyWinWidth => 'Justify win width';
@override @override
String get textDirection => 'Text direction'; String get textDirection => 'Text direction';
@ -249,6 +249,12 @@ class FlutterQuillLocalizationsKo extends FlutterQuillLocalizations {
@override @override
String get caseSensitivityAndWholeWordSearch => '대소문자 구분 및 전체 단어 검색'; String get caseSensitivityAndWholeWordSearch => '대소문자 구분 및 전체 단어 검색';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => '이미지 삽입'; String get insertImage => '이미지 삽입';
@ -269,4 +275,16 @@ class FlutterQuillLocalizationsKo extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -251,6 +251,12 @@ class FlutterQuillLocalizationsKu extends FlutterQuillLocalizations {
@override @override
String get caseSensitivityAndWholeWordSearch => 'گەڕان بۆ تەواوی وشە'; String get caseSensitivityAndWholeWordSearch => 'گەڕان بۆ تەواوی وشە';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'دانانی وێنە'; String get insertImage => 'دانانی وێنە';
@ -273,6 +279,18 @@ class FlutterQuillLocalizationsKu extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'لینکی ڤیدیۆیەک دابنێ'; String get pasteAVideoUsingALink => 'لینکی ڤیدیۆیەک دابنێ';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }
/// The translations for Kurdish (`ku_CKB`). /// The translations for Kurdish (`ku_CKB`).

@ -128,7 +128,7 @@ class FlutterQuillLocalizationsMs extends FlutterQuillLocalizations {
String get alignRight => 'Align right'; String get alignRight => 'Align right';
@override @override
String get justifyWinWidth => 'Justify'; String get justifyWinWidth => 'Justify win width';
@override @override
String get textDirection => 'Text direction'; String get textDirection => 'Text direction';
@ -252,6 +252,12 @@ class FlutterQuillLocalizationsMs extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Sensitiviti huruf besar dan kecil dan carian penuh perkataan'; 'Sensitiviti huruf besar dan kecil dan carian penuh perkataan';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Masukkan imej'; String get insertImage => 'Masukkan imej';
@ -272,4 +278,16 @@ class FlutterQuillLocalizationsMs extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -254,6 +254,12 @@ class FlutterQuillLocalizationsNe extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'स सदनशलत र समण शबद ख'; 'स सदनशलत र समण शबद ख';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'छवि समिित गर'; String get insertImage => 'छवि समिित गर';
@ -276,4 +282,16 @@ class FlutterQuillLocalizationsNe extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'िक परयग गरर भिि'; String get pasteAVideoUsingALink => 'िक परयग गरर भिि';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -128,7 +128,7 @@ class FlutterQuillLocalizationsNl extends FlutterQuillLocalizations {
String get alignRight => 'Align right'; String get alignRight => 'Align right';
@override @override
String get justifyWinWidth => 'Justify'; String get justifyWinWidth => 'Justify win width';
@override @override
String get textDirection => 'Text direction'; String get textDirection => 'Text direction';
@ -254,6 +254,12 @@ class FlutterQuillLocalizationsNl extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Hoofdlettergevoeligheid en volledig woord zoeken'; 'Hoofdlettergevoeligheid en volledig woord zoeken';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Afbeelding invoegen'; String get insertImage => 'Afbeelding invoegen';
@ -274,4 +280,16 @@ class FlutterQuillLocalizationsNl extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -254,6 +254,12 @@ class FlutterQuillLocalizationsNo extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Stor/liten bokstavfølsomhet og helordsøk'; 'Stor/liten bokstavfølsomhet og helordsøk';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Sett inn bilde'; String get insertImage => 'Sett inn bilde';
@ -274,4 +280,16 @@ class FlutterQuillLocalizationsNo extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -128,7 +128,7 @@ class FlutterQuillLocalizationsPl extends FlutterQuillLocalizations {
String get alignRight => 'Align right'; String get alignRight => 'Align right';
@override @override
String get justifyWinWidth => 'Justify'; String get justifyWinWidth => 'Justify win width';
@override @override
String get textDirection => 'Text direction'; String get textDirection => 'Text direction';
@ -251,6 +251,12 @@ class FlutterQuillLocalizationsPl extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Czułość na wielkość liter i wyszukiwanie całego słowa'; 'Czułość na wielkość liter i wyszukiwanie całego słowa';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Wstaw obraz'; String get insertImage => 'Wstaw obraz';
@ -271,4 +277,16 @@ class FlutterQuillLocalizationsPl extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -128,7 +128,7 @@ class FlutterQuillLocalizationsPt extends FlutterQuillLocalizations {
String get alignRight => 'Align right'; String get alignRight => 'Align right';
@override @override
String get justifyWinWidth => 'Justify'; String get justifyWinWidth => 'Justify win width';
@override @override
String get textDirection => 'Text direction'; String get textDirection => 'Text direction';
@ -252,6 +252,12 @@ class FlutterQuillLocalizationsPt extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Sensibilidade a maiúsculas e minúsculas e pesquisa de palavras inteiras'; 'Sensibilidade a maiúsculas e minúsculas e pesquisa de palavras inteiras';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Inserir imagem'; String get insertImage => 'Inserir imagem';
@ -272,6 +278,18 @@ class FlutterQuillLocalizationsPt extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }
/// The translations for Portuguese, as used in Brazil (`pt_BR`). /// The translations for Portuguese, as used in Brazil (`pt_BR`).

@ -254,6 +254,12 @@ class FlutterQuillLocalizationsRo extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Sensibilitate la majuscule și căutare cuvânt întreg'; 'Sensibilitate la majuscule și căutare cuvânt întreg';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Introdu imaginea'; String get insertImage => 'Introdu imaginea';
@ -275,6 +281,18 @@ class FlutterQuillLocalizationsRo extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Lipește un video folosind un link'; String get pasteAVideoUsingALink => 'Lipește un video folosind un link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }
/// The translations for Romanian Moldavian Moldovan, as used in Romania (`ro_RO`). /// The translations for Romanian Moldavian Moldovan, as used in Romania (`ro_RO`).

@ -253,6 +253,12 @@ class FlutterQuillLocalizationsRu extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Учет регистра и поиск по всему слову'; 'Учет регистра и поиск по всему слову';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Вставить изображение'; String get insertImage => 'Вставить изображение';
@ -275,4 +281,16 @@ class FlutterQuillLocalizationsRu extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -254,6 +254,12 @@ class FlutterQuillLocalizationsSk extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Citlivosť na veľkosť písmen a vyhľadávanie celých slov'; 'Citlivosť na veľkosť písmen a vyhľadávanie celých slov';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Vložiť obrázok'; String get insertImage => 'Vložiť obrázok';
@ -276,4 +282,16 @@ class FlutterQuillLocalizationsSk extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Vložiť video pomocou odkazu'; String get pasteAVideoUsingALink => 'Vložiť video pomocou odkazu';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -253,6 +253,12 @@ class FlutterQuillLocalizationsSr extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Osetljivost na velika i mala slova i potraga za celom rečju'; 'Osetljivost na velika i mala slova i potraga za celom rečju';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Umetni sliku'; String get insertImage => 'Umetni sliku';
@ -273,4 +279,16 @@ class FlutterQuillLocalizationsSr extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -252,6 +252,12 @@ class FlutterQuillLocalizationsSv extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Skiftlägeskänsligt och helordsökning'; 'Skiftlägeskänsligt och helordsökning';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Infoga bild'; String get insertImage => 'Infoga bild';
@ -272,4 +278,16 @@ class FlutterQuillLocalizationsSv extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Klistra in en video med en länk'; String get pasteAVideoUsingALink => 'Klistra in en video med en länk';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -251,6 +251,12 @@ class FlutterQuillLocalizationsSw extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Uwiano wa herufi kubwa na ndogo na utafutaji wa neno zima'; 'Uwiano wa herufi kubwa na ndogo na utafutaji wa neno zima';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Weka Picha'; String get insertImage => 'Weka Picha';
@ -271,4 +277,16 @@ class FlutterQuillLocalizationsSw extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -128,7 +128,7 @@ class FlutterQuillLocalizationsTk extends FlutterQuillLocalizations {
String get alignRight => 'Saga deňleşdir'; String get alignRight => 'Saga deňleşdir';
@override @override
String get justifyWinWidth => 'Justify'; String get justifyWinWidth => 'Justify win width';
@override @override
String get textDirection => 'Tekst ugry'; String get textDirection => 'Tekst ugry';
@ -250,6 +250,12 @@ class FlutterQuillLocalizationsTk extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Iňkisar we iň oňg söz gözleýinç'; 'Iňkisar we iň oňg söz gözleýinç';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Surat goş'; String get insertImage => 'Surat goş';
@ -270,4 +276,16 @@ class FlutterQuillLocalizationsTk extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -251,6 +251,12 @@ class FlutterQuillLocalizationsTr extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Büyük/küçük harf hassasiyeti ve tam kelime arama'; 'Büyük/küçük harf hassasiyeti ve tam kelime arama';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Görüntü ekle'; String get insertImage => 'Görüntü ekle';
@ -271,4 +277,16 @@ class FlutterQuillLocalizationsTr extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -253,6 +253,12 @@ class FlutterQuillLocalizationsUk extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Чутливість до регістру та пошук цілих слів'; 'Чутливість до регістру та пошук цілих слів';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Вставити зображення'; String get insertImage => 'Вставити зображення';
@ -276,4 +282,16 @@ class FlutterQuillLocalizationsUk extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Вставте відео, використовуючи посилання'; String get pasteAVideoUsingALink => 'Вставте відео, використовуючи посилання';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -255,6 +255,12 @@ class FlutterQuillLocalizationsUr extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'معاملے کی حساسیت اور پورے الفاظ کی تلاش'; 'معاملے کی حساسیت اور پورے الفاظ کی تلاش';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'تصویر داخل کریں'; String get insertImage => 'تصویر داخل کریں';
@ -275,4 +281,16 @@ class FlutterQuillLocalizationsUr extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -252,6 +252,12 @@ class FlutterQuillLocalizationsVi extends FlutterQuillLocalizations {
String get caseSensitivityAndWholeWordSearch => String get caseSensitivityAndWholeWordSearch =>
'Độ nhạy cảm chữ hoa/chữ thường và tìm kiếm toàn bộ từ'; 'Độ nhạy cảm chữ hoa/chữ thường và tìm kiếm toàn bộ từ';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => 'Chèn hình ảnh'; String get insertImage => 'Chèn hình ảnh';
@ -272,4 +278,16 @@ class FlutterQuillLocalizationsVi extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => 'Paste a video using a link'; String get pasteAVideoUsingALink => 'Paste a video using a link';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }

@ -249,6 +249,12 @@ class FlutterQuillLocalizationsZh extends FlutterQuillLocalizations {
@override @override
String get caseSensitivityAndWholeWordSearch => '区分大小写和整词搜索'; String get caseSensitivityAndWholeWordSearch => '区分大小写和整词搜索';
@override
String get caseSensitive => 'Case sensitive';
@override
String get wholeWord => 'Whole word';
@override @override
String get insertImage => '插入图像'; String get insertImage => '插入图像';
@ -269,6 +275,18 @@ class FlutterQuillLocalizationsZh extends FlutterQuillLocalizations {
@override @override
String get pasteAVideoUsingALink => '从链接获取视频'; String get pasteAVideoUsingALink => '从链接获取视频';
@override
String get close => 'Close';
@override
String get searchSettings => 'Search settings';
@override
String get cut => 'Cut';
@override
String get paste => 'Paste';
} }
/// The translations for Chinese, as used in China (`zh_CN`). /// The translations for Chinese, as used in China (`zh_CN`).

@ -90,11 +90,17 @@
"photo": "Photo", "photo": "Photo",
"image": "Image", "image": "Image",
"caseSensitivityAndWholeWordSearch": "Case sensitivity and whole word search", "caseSensitivityAndWholeWordSearch": "Case sensitivity and whole word search",
"caseSensitive": "Case sensitive",
"wholeWord": "Whole word",
"insertImage": "Insert image", "insertImage": "Insert image",
"pickAPhotoFromYourGallery": "Pick a photo from your gallery", "pickAPhotoFromYourGallery": "Pick a photo from your gallery",
"takeAPhotoUsingYourCamera": "Take a photo using your camera", "takeAPhotoUsingYourCamera": "Take a photo using your camera",
"pasteAPhotoUsingALink": "Paste a photo using a link", "pasteAPhotoUsingALink": "Paste a photo using a link",
"pickAVideoFromYourGallery": "Pick a video from your gallery", "pickAVideoFromYourGallery": "Pick a video from your gallery",
"recordAVideoUsingYourCamera": "Record a video using your camera", "recordAVideoUsingYourCamera": "Record a video using your camera",
"pasteAVideoUsingALink": "Paste a video using a link" "pasteAVideoUsingALink": "Paste a video using a link",
"close": "Close",
"searchSettings": "Search settings",
"cut": "Cut",
"paste": "Paste"
} }

@ -1,6 +1,12 @@
{ {
"ar": [ "ar": [
"theImageHasBeenSavedAt" "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"bg": [ "bg": [
@ -12,12 +18,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"bn": [ "bn": [
@ -29,12 +41,27 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
],
"cs": [
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"da": [ "da": [
@ -46,12 +73,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"de": [ "de": [
@ -63,7 +96,13 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"pasteAVideoUsingALink" "caseSensitive",
"wholeWord",
"pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"en_US": [ "en_US": [
@ -75,12 +114,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"es": [ "es": [
@ -92,7 +137,13 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"pasteAVideoUsingALink" "caseSensitive",
"wholeWord",
"pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"fa": [ "fa": [
@ -104,16 +155,28 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"fr": [ "fr": [
"theImageHasBeenSavedAt" "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"he": [ "he": [
@ -125,12 +188,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"hi": [ "hi": [
@ -142,12 +211,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"id": [ "id": [
@ -159,12 +234,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"it": [ "it": [
@ -176,12 +257,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"ja": [ "ja": [
@ -193,12 +280,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"ko": [ "ko": [
@ -210,20 +303,38 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"ku": [ "ku": [
"theImageHasBeenSavedAt" "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"ku_CKB": [ "ku_CKB": [
"theImageHasBeenSavedAt" "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"ms": [ "ms": [
@ -235,12 +346,27 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
],
"ne": [
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"nl": [ "nl": [
@ -252,12 +378,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"no": [ "no": [
@ -269,12 +401,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"pl": [ "pl": [
@ -286,12 +424,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"pt": [ "pt": [
@ -303,12 +447,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"pt_BR": [ "pt_BR": [
@ -320,20 +470,38 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"ro": [ "ro": [
"theImageHasBeenSavedAt" "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"ro_RO": [ "ro_RO": [
"theImageHasBeenSavedAt" "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"ru": [ "ru": [
@ -345,7 +513,22 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"pasteAVideoUsingALink" "caseSensitive",
"wholeWord",
"pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
],
"sk": [
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"sr": [ "sr": [
@ -357,16 +540,28 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"sv": [ "sv": [
"theImageHasBeenSavedAt" "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"sw": [ "sw": [
@ -378,12 +573,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"tk": [ "tk": [
@ -395,12 +596,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"tr": [ "tr": [
@ -412,16 +619,28 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"uk": [ "uk": [
"theImageHasBeenSavedAt" "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"ur": [ "ur": [
@ -433,12 +652,18 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"vi": [ "vi": [
@ -450,20 +675,38 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
], ],
"zh": [ "zh": [
"theImageHasBeenSavedAt" "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"zh_CN": [ "zh_CN": [
"theImageHasBeenSavedAt" "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"close",
"searchSettings",
"cut",
"paste"
], ],
"zh_HK": [ "zh_HK": [
@ -475,11 +718,17 @@
"heading5", "heading5",
"heading6", "heading6",
"theImageHasBeenSavedAt", "theImageHasBeenSavedAt",
"caseSensitive",
"wholeWord",
"pickAPhotoFromYourGallery", "pickAPhotoFromYourGallery",
"takeAPhotoUsingYourCamera", "takeAPhotoUsingYourCamera",
"pasteAPhotoUsingALink", "pasteAPhotoUsingALink",
"pickAVideoFromYourGallery", "pickAVideoFromYourGallery",
"recordAVideoUsingYourCamera", "recordAVideoUsingYourCamera",
"pasteAVideoUsingALink" "pasteAVideoUsingALink",
"close",
"searchSettings",
"cut",
"paste"
] ]
} }

@ -91,13 +91,12 @@ class History {
} }
final delta = source.removeLast(); final delta = source.removeLast();
// look for insert or delete // look for insert or delete
int? len = 0; var len = 0;
final ops = delta.toList(); final ops = delta.toList();
for (var i = 0; i < ops.length; i++) { for (var i = 0; i < ops.length; i++) {
if (ops[i].key == Operation.insertKey) { if ((ops[i].key == Operation.insertKey) ||
len = ops[i].length; (ops[i].key == Operation.retainKey)) {
} else if (ops[i].key == Operation.deleteKey) { len += ops[i].length ?? 0;
len = ops[i].length! * -1;
} }
} }
final base = Delta.from(doc.toDelta()); final base = Delta.from(doc.toDelta());

@ -519,6 +519,7 @@ base class Line extends QuillContainer<Leaf?> {
int _getNodeText(Leaf node, StringBuffer buffer, int offset, int remaining) { int _getNodeText(Leaf node, StringBuffer buffer, int offset, int remaining) {
final text = node.toPlainText(); final text = node.toPlainText();
if (text == Embed.kObjectReplacementCharacter) { if (text == Embed.kObjectReplacementCharacter) {
buffer.write(Embed.kObjectReplacementCharacter);
return remaining - node.length; return remaining - node.length;
} }

@ -566,7 +566,7 @@ class PreserveInlineStylesRule extends InsertRule {
if ((prev.data as String).endsWith('\n')) { if ((prev.data as String).endsWith('\n')) {
if (prev.attributes != null) { if (prev.attributes != null) {
for (final key in prev.attributes!.keys) { for (final key in prev.attributes!.keys) {
if (Attribute.blockKeys.contains(key)) { if (!Attribute.inlineKeys.contains(key)) {
return null; return null;
} }
} }

@ -8,5 +8,5 @@ class HistoryChanged {
); );
final bool changed; final bool changed;
final int? len; final int len;
} }

@ -215,26 +215,13 @@ class QuillController extends ChangeNotifier {
} }
} }
void _handleHistoryChange(int? len) { void _handleHistoryChange(int len) {
// move cursor according to the length inserted or deleted from redo or undo
// operation. len is the length inserted or deleted.
if (len! != 0) {
// if (this.selection.extentOffset >= document.length) {
// // cursor exceeds the length of document, position it in the end
// updateSelection(
// TextSelection.collapsed(offset: document.length), ChangeSource.LOCAL);
updateSelection( updateSelection(
(selection.baseOffset + len) > 0 TextSelection.collapsed(
? TextSelection.collapsed( offset: len,
offset: selection.baseOffset + len, ),
)
: TextSelection.collapsed(offset: document.length),
ChangeSource.local, ChangeSource.local,
); );
} else {
// no need to move cursor
notifyListeners();
}
} }
void redo() { void redo() {
@ -274,9 +261,7 @@ class QuillController extends ChangeNotifier {
var shouldRetainDelta = toggledStyle.isNotEmpty && var shouldRetainDelta = toggledStyle.isNotEmpty &&
delta.isNotEmpty && delta.isNotEmpty &&
delta.length <= 2 && delta.length <= 2 &&
delta.last.isInsert && delta.last.isInsert;
// pasted text should not use toggledStyle
(data is! String || data.length < 2);
if (shouldRetainDelta && if (shouldRetainDelta &&
toggledStyle.isNotEmpty && toggledStyle.isNotEmpty &&
delta.length == 2 && delta.length == 2 &&
@ -531,13 +516,27 @@ class QuillController extends ChangeNotifier {
// See https://github.com/flutter/flutter/issues/11427 // See https://github.com/flutter/flutter/issues/11427
final plainText = await Clipboard.getData(Clipboard.kTextPlain); final plainText = await Clipboard.getData(Clipboard.kTextPlain);
if (plainText != null) { if (plainText != null) {
final lines = plainText.text!.split('\n');
for (var i = 0; i < lines.length; ++i) {
final line = lines[i];
if (line.isNotEmpty) {
replaceTextWithEmbeds( replaceTextWithEmbeds(
selection.start, selection.start,
selection.end - selection.start, selection.end - selection.start,
plainText.text!, line,
TextSelection.collapsed(offset: selection.start + line.length),
);
}
if (i != lines.length - 1) {
document.insert(selection.extentOffset, '\n');
_updateSelection(
TextSelection.collapsed( TextSelection.collapsed(
offset: selection.start + plainText.text!.length), offset: selection.extentOffset + 1,
),
insertNewline: true,
); );
}
}
updateEditor?.call(); updateEditor?.call();
return true; return true;
} }

@ -141,8 +141,10 @@ mixin RawEditorStateTextInputClientMixin on EditorState
// with the last known remote value. // with the last known remote value.
// It is important to prevent excessive remote updates as it can cause // It is important to prevent excessive remote updates as it can cause
// race conditions. // race conditions.
final composingRange = _lastKnownRemoteTextEditingValue!.composing;
final actualValue = value.copyWith( final actualValue = value.copyWith(
composing: _lastKnownRemoteTextEditingValue!.composing, // Ignore last known composing range if it exceeds current text length.
composing: composingRange.end > value.text.length ? null : composingRange,
); );
if (actualValue == _lastKnownRemoteTextEditingValue) { if (actualValue == _lastKnownRemoteTextEditingValue) {

@ -32,6 +32,13 @@ abstract class QuillToolbarCommonButtonState<
String get tooltip => String get tooltip =>
options.tooltip ?? baseButtonExtraOptions?.tooltip ?? defaultTooltip; options.tooltip ?? baseButtonExtraOptions?.tooltip ?? defaultTooltip;
IconData get defaultIconData;
IconData get iconData =>
options.iconData ??
context.quillToolbarBaseButtonOptions?.iconData ??
defaultIconData;
double get iconSize => double get iconSize =>
options.iconSize ?? baseButtonExtraOptions?.iconSize ?? kDefaultIconSize; options.iconSize ?? baseButtonExtraOptions?.iconSize ?? kDefaultIconSize;

@ -91,7 +91,8 @@ class QuillToolbarClipboardButtonState
ClipboardAction.paste => context.loc.paste, ClipboardAction.paste => context.loc.paste,
}; };
IconData get _icon => switch (widget.clipboardAction) { @override
IconData get defaultIconData => switch (widget.clipboardAction) {
ClipboardAction.cut => Icons.cut_outlined, ClipboardAction.cut => Icons.cut_outlined,
ClipboardAction.copy => Icons.copy_outlined, ClipboardAction.copy => Icons.copy_outlined,
ClipboardAction.paste => Icons.paste_outlined, ClipboardAction.paste => Icons.paste_outlined,
@ -132,7 +133,7 @@ class QuillToolbarClipboardButtonState
message: tooltip, message: tooltip,
child: QuillToolbarIconButton( child: QuillToolbarIconButton(
icon: Icon( icon: Icon(
_icon, iconData,
size: iconSize * iconButtonFactor, size: iconSize * iconButtonFactor,
), ),
isSelected: false, isSelected: false,

@ -103,11 +103,9 @@ class QuillToolbarColorButtonState extends QuillToolbarColorBaseButtonState {
super.dispose(); super.dispose();
} }
IconData get iconData { @override
return options.iconData ?? IconData get defaultIconData =>
baseButtonExtraOptions?.iconData ?? widget.isBackground ? Icons.format_color_fill : Icons.color_lens;
(widget.isBackground ? Icons.format_color_fill : Icons.color_lens);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -140,7 +138,7 @@ class QuillToolbarColorButtonState extends QuillToolbarColorBaseButtonState {
_showColorPicker(); _showColorPicker();
afterButtonPressed?.call(); afterButtonPressed?.call();
}, },
iconColor: null, iconColor: iconColor,
iconColorBackground: iconColorBackground, iconColorBackground: iconColorBackground,
fillColor: fillColor, fillColor: fillColor,
fillColorBackground: fillColorBackground, fillColorBackground: fillColorBackground,

@ -79,6 +79,9 @@ class QuillToolbarFontFamilyButtonState extends QuillToolbarBaseButtonState<
@override @override
String get defaultTooltip => context.loc.fontFamily; String get defaultTooltip => context.loc.fontFamily;
@override
IconData get defaultIconData => Icons.font_download_outlined;
void _onPressed() { void _onPressed() {
if (_menuController.isOpen) { if (_menuController.isOpen) {
_menuController.close(); _menuController.close();

@ -85,6 +85,9 @@ class QuillToolbarFontSizeButtonState extends QuillToolbarBaseButtonState<
@override @override
String get defaultTooltip => context.loc.fontSize; String get defaultTooltip => context.loc.fontSize;
@override
IconData get defaultIconData => Icons.format_size_outlined;
void _onDropdownButtonPressed() { void _onDropdownButtonPressed() {
if (_menuController.isOpen) { if (_menuController.isOpen) {
_menuController.close(); _menuController.close();

@ -39,6 +39,9 @@ class QuillToolbarSelectHeaderStyleButtonsState
@override @override
String get defaultTooltip => context.loc.headerStyle; String get defaultTooltip => context.loc.headerStyle;
@override
IconData get defaultIconData => Icons.question_mark_outlined;
Style get _selectionStyle => controller.getSelectionStyle(); Style get _selectionStyle => controller.getSelectionStyle();
final _valueToText = <Attribute, String>{ final _valueToText = <Attribute, String>{

@ -35,6 +35,9 @@ class _QuillToolbarSelectHeaderStyleDropdownButtonState
@override @override
String get defaultTooltip => context.loc.headerStyle; String get defaultTooltip => context.loc.headerStyle;
@override
IconData get defaultIconData => Icons.question_mark_outlined;
Attribute<dynamic> _selectedItem = Attribute.header; Attribute<dynamic> _selectedItem = Attribute.header;
final _menuController = MenuController(); final _menuController = MenuController();

@ -36,6 +36,10 @@ class QuillToolbarHistoryButtonState
String get defaultTooltip => String get defaultTooltip =>
widget.isUndo ? context.loc.undo : context.loc.redo; widget.isUndo ? context.loc.undo : context.loc.redo;
@override
IconData get defaultIconData =>
(widget.isUndo ? Icons.undo_outlined : Icons.redo_outlined);
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -53,9 +57,6 @@ class QuillToolbarHistoryButtonState
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final iconData = options.iconData ??
baseButtonExtraOptions?.iconData ??
(widget.isUndo ? Icons.undo_outlined : Icons.redo_outlined);
final childBuilder = final childBuilder =
options.childBuilder ?? baseButtonExtraOptions?.childBuilder; options.childBuilder ?? baseButtonExtraOptions?.childBuilder;

@ -33,13 +33,10 @@ class QuillToolbarIndentButtonState extends QuillToolbarIndentBaseButtonState {
? context.loc.increaseIndent ? context.loc.increaseIndent
: context.loc.decreaseIndent; : context.loc.decreaseIndent;
IconData get iconData { @override
return options.iconData ?? IconData get defaultIconData => widget.isIncrease
baseButtonExtraOptions?.iconData ??
(widget.isIncrease
? Icons.format_indent_increase ? Icons.format_indent_increase
: Icons.format_indent_decrease); : Icons.format_indent_decrease;
}
void _sharedOnPressed() { void _sharedOnPressed() {
widget.controller.indentSelection(widget.isIncrease); widget.controller.indentSelection(widget.isIncrease);

@ -62,9 +62,8 @@ class QuillToolbarLinkStyleButtonState
controller.removeListener(_didChangeSelection); controller.removeListener(_didChangeSelection);
} }
IconData get iconData { @override
return options.iconData ?? baseButtonExtraOptions?.iconData ?? Icons.link; IconData get defaultIconData => Icons.link;
}
Color get dialogBarrierColor { Color get dialogBarrierColor {
return options.dialogBarrierColor ?? return options.dialogBarrierColor ??

@ -52,11 +52,8 @@ class QuillToolbarToggleCheckListButtonState
@override @override
String get defaultTooltip => context.loc.checkedList; String get defaultTooltip => context.loc.checkedList;
IconData get iconData { @override
return options.iconData ?? IconData get defaultIconData => Icons.check_box;
baseButtonExtraOptions?.iconData ??
Icons.check_box;
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {

@ -96,11 +96,8 @@ class QuillToolbarToggleStyleButtonState
@override @override
String get defaultTooltip => _defaultTooltipAndIconData.$1; String get defaultTooltip => _defaultTooltipAndIconData.$1;
IconData get iconData { @override
return options.iconData ?? IconData get defaultIconData => _defaultTooltipAndIconData.$2;
context.quillToolbarBaseButtonOptions?.iconData ??
_defaultTooltipAndIconData.$2;
}
void _onPressed() { void _onPressed() {
_toggleAttribute(); _toggleAttribute();
@ -140,6 +137,7 @@ class QuillToolbarToggleStyleButtonState
bool _getIsToggled(Map<String, Attribute> attrs) { bool _getIsToggled(Map<String, Attribute> attrs) {
if (widget.attribute.key == Attribute.list.key || if (widget.attribute.key == Attribute.list.key ||
widget.attribute.key == Attribute.header.key ||
widget.attribute.key == Attribute.script.key || widget.attribute.key == Attribute.script.key ||
widget.attribute.key == Attribute.align.key) { widget.attribute.key == Attribute.align.key) {
final attribute = attrs[widget.attribute.key]; final attribute = attrs[widget.attribute.key];

@ -1,6 +1,6 @@
name: flutter_quill name: flutter_quill
description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter. description: A rich text editor built for the modern Android, iOS, web and desktop platforms. It is the WYSIWYG editor and a Quill component for Flutter.
version: 9.3.17 version: 9.3.21
homepage: https://1o24bbs.com/c/bulletjournal/108/ homepage: https://1o24bbs.com/c/bulletjournal/108/
repository: https://github.com/singerdmx/flutter-quill/ repository: https://github.com/singerdmx/flutter-quill/
issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/
@ -70,7 +70,10 @@ dev_dependencies:
sdk: flutter sdk: flutter
flutter_quill_test: ^9.3.4 flutter_quill_test: ^9.3.4
test: ^1.24.3 test: ^1.24.3
# Both yaml_edit and yaml are only used for the scripts
yaml_edit: ^2.2.1 yaml_edit: ^2.2.1
yaml: ^3.1.2
flutter: flutter:
uses-material-design: true uses-material-design: true

@ -4,6 +4,37 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.21
* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21
## 9.3.20
* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892
* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890
## New Contributors
* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20
## 9.3.19
* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19
## 9.3.18
* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18
## 9.3.17 ## 9.3.17
* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882) * Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)

@ -1,6 +1,6 @@
name: quill_html_converter name: quill_html_converter
description: A extension for flutter_quill package to add support for dealing with conversion to/from html description: A extension for flutter_quill package to add support for dealing with conversion to/from html
version: 9.3.17 version: 9.3.21
homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/
repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_html_converter/
issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -4,6 +4,37 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 9.3.21
* fix: assertion failure for swipe typing and undo on Android by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1898
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.20...v9.3.21
## 9.3.20
* Fix: Issue 1887 by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1892
* fix: toolbar style change will be invalid when inputting more than 2 characters at a time by @crasowas in https://github.com/singerdmx/flutter-quill/pull/1890
## New Contributors
* @crasowas made their first contribution in https://github.com/singerdmx/flutter-quill/pull/1890
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.19...v9.3.20
## 9.3.19
* Fix reported issues by @AtlasAutocode in https://github.com/singerdmx/flutter-quill/pull/1886
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.18...v9.3.19
## 9.3.18
* Fix: Undo/redo cursor position fixed by @Alspb in https://github.com/singerdmx/flutter-quill/pull/1885
**Full Changelog**: https://github.com/singerdmx/flutter-quill/compare/v9.3.17...v9.3.18
## 9.3.17 ## 9.3.17
* Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882) * Update super_clipboard plugin to 0.8.15 to address [#1882](https://github.com/singerdmx/flutter-quill/issues/1882)

@ -1,6 +1,6 @@
name: quill_pdf_converter name: quill_pdf_converter
description: A extension for flutter_quill package to add support for dealing with conversion to pdf description: A extension for flutter_quill package to add support for dealing with conversion to pdf
version: 9.3.17 version: 9.3.21
homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ homepage: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/
repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/ repository: https://github.com/singerdmx/flutter-quill/tree/master/quill_pdf_converter/
issue_tracker: https://github.com/singerdmx/flutter-quill/issues/ issue_tracker: https://github.com/singerdmx/flutter-quill/issues/

@ -1,5 +1,9 @@
#!/bin/bash #!/bin/bash
# The script must be run from the root project folder and not inside the scripts
# TODO: Refactor this to a dart script to allow developers who use Windows to use it
# Run Flutter analyze # Run Flutter analyze
echo "Running 'flutter analyze'..." echo "Running 'flutter analyze'..."
flutter analyze flutter analyze
@ -30,4 +34,10 @@ echo "Running flutter build web --release --dart-define=CI=true."
echo "" echo ""
# Check the translations
echo "Running dart ./scripts/ensure_translations_correct.dart"
(dart ./scripts/ensure_translations_correct.dart)
echo ""
echo "Script completed." echo "Script completed."

@ -2,6 +2,8 @@
# Please make sure to run this script in the root directory of the repository and not inside sub-folders # Please make sure to run this script in the root directory of the repository and not inside sub-folders
# TODO: Refactor this to a dart script to allow developers who use Windows to use it
echo "" echo ""
echo "Disable local development for flutter_quill..." echo "Disable local development for flutter_quill..."

@ -2,6 +2,8 @@
# Please make sure to run this script in the root directory of the repository and not inside sub-folders # Please make sure to run this script in the root directory of the repository and not inside sub-folders
# TODO: Refactor this to a dart script to allow developers who use Windows to use it
echo "" echo ""
echo "Enable local development for flutter_quill..." echo "Enable local development for flutter_quill..."

@ -0,0 +1,57 @@
// This script has one task, which is to prevent the translations from
// being accidentally deleted, as we have more than 40 files for both the
// arb files (source) and the dart files (the generated)
// which make it harder to review the changes, some keys can be deleted
// without update the generated dart files which will cause a bug/build failure
// on the next time running the script after doing some changes to the translations
// which make it harder to revert the changes
// The script must run in the root project folder instead of the scripts folder
// ignore_for_file: depend_on_referenced_packages, avoid_print
import 'dart:convert';
import 'dart:io' show File, exit;
import 'package:path/path.dart' as path;
import 'package:yaml/yaml.dart';
// This must be updated once add or remove some translation keys
// if you update existing keys, no need to update it
const _expectedTranslationKeysLength = 96;
Future<void> main(List<String> args) async {
final l10nYamlText = await File('l10n.yaml').readAsString();
final l10nYaml = loadYaml(l10nYamlText);
final arbDir = l10nYaml['arb-dir'];
final templateArbFileName = l10nYaml['template-arb-file'];
final templateArbFile = File(path.join(arbDir, templateArbFileName));
print('The file path to template arb file: ${templateArbFile.path}');
final templateArb =
jsonDecode(await templateArbFile.readAsString()) as Map<String, Object?>;
print(
'The length of the current translation keys: ${templateArb.keys.length}');
final newTranslationKeysLength = templateArb.keys.length;
if (newTranslationKeysLength > _expectedTranslationKeysLength) {
print(
"You have add a new keys, please update the '_expectedTranslationKeysLength' value",
);
print('$newTranslationKeysLength > $_expectedTranslationKeysLength');
exit(1);
}
if (newTranslationKeysLength < _expectedTranslationKeysLength) {
print(
"You have removed some keys, please update the '_expectedTranslationKeysLength' value",
);
print('$newTranslationKeysLength < $_expectedTranslationKeysLength');
exit(1);
}
if (newTranslationKeysLength != _expectedTranslationKeysLength) {
print(
"It's looks like you have modified the keys length without updating the `_expectedTranslationKeysLength` value",
);
print('$newTranslationKeysLength != $_expectedTranslationKeysLength');
exit(1);
}
}

@ -1,4 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# TODO: Refactor this to a dart script to allow developers who use Windows to use it
flutter pub get flutter pub get
(cd dart_quill_delta && flutter pub get) (cd dart_quill_delta && flutter pub get)
(cd flutter_quill_extensions && flutter pub get) (cd flutter_quill_extensions && flutter pub get)

@ -4,6 +4,8 @@
# ./scripts/regenerate_translations.sh # ./scripts/regenerate_translations.sh
# otherwise the script could delete the wrong folder in rare cases # otherwise the script could delete the wrong folder in rare cases
# TODO: Refactor this to a dart script to allow developers who use Windows to use it
echo "" echo ""
echo "Delete the current generated localizations..." echo "Delete the current generated localizations..."

Loading…
Cancel
Save