feat!: Use new localisation setup from flutter 1.22

BREAKING CHANGE: This introduces that it might require up to 2 compiles for locals to work.
Also only arb files shall be checked into git.

Took 19 minutes
This commit is contained in:
Marcel 2020-10-03 11:11:07 +00:00 committed by Christian Pauly
commit 62cbc864f1
88 changed files with 489 additions and 12311 deletions

View file

@ -1,10 +1,10 @@
import 'package:fluffychat/components/adaptive_page_layout.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/utils/beautify_string_extension.dart';
import 'package:fluffychat/views/chat_list.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:olm/olm.dart' as olm;
import 'package:fluffychat/utils/beautify_string_extension.dart';
class AppInfoView extends StatelessWidget {
@override

View file

@ -2,8 +2,8 @@ import 'package:famedlysdk/famedlysdk.dart';
import 'package:fluffychat/components/adaptive_page_layout.dart';
import 'package:fluffychat/components/list_items/chat_list_item.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
class Archive extends StatefulWidget {
@override

View file

@ -1,7 +1,7 @@
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:webview_flutter/webview_flutter.dart';

View file

@ -1,9 +1,9 @@
import 'dart:async';
import 'dart:io';
import 'dart:math';
import 'package:famedlysdk/famedlysdk.dart';
import 'package:fluffychat/config/app_emojis.dart';
import 'package:flutter/scheduler.dart';
import 'package:file_picker_platform_interface/file_picker_platform_interface.dart';
import 'package:fluffychat/components/adaptive_page_layout.dart';
import 'package:fluffychat/components/avatar.dart';
import 'package:fluffychat/components/chat_settings_popup_menu.dart';
@ -15,23 +15,25 @@ import 'package:fluffychat/components/encryption_button.dart';
import 'package:fluffychat/components/list_items/message.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/components/reply_content.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/config/app_emojis.dart';
import 'package:fluffychat/utils/app_route.dart';
import 'package:fluffychat/utils/matrix_locals.dart';
import 'package:fluffychat/utils/room_status_extension.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter/services.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:image_picker/image_picker.dart';
import 'package:memoryfilepicker/memoryfilepicker.dart';
import 'package:pedantic/pedantic.dart';
import 'package:image_picker/image_picker.dart';
import 'package:file_picker_platform_interface/file_picker_platform_interface.dart';
import 'package:scroll_to_index/scroll_to_index.dart';
import '../components/dialogs/send_file_dialog.dart';
import '../components/input_bar.dart';
import '../utils/matrix_file_extension.dart';
import 'chat_details.dart';
import 'chat_list.dart';
import '../components/input_bar.dart';
import '../components/dialogs/send_file_dialog.dart';
import '../utils/matrix_file_extension.dart';
class ChatView extends StatelessWidget {
final String id;
@ -266,12 +268,13 @@ class _ChatState extends State<_Chat> {
String _getSelectedEventString(BuildContext context) {
var copyString = '';
if (selectedEvents.length == 1) {
return selectedEvents.first.getLocalizedBody(L10n.of(context));
return selectedEvents.first
.getLocalizedBody(MatrixLocals(L10n.of(context)));
}
for (var event in selectedEvents) {
if (copyString.isNotEmpty) copyString += '\n\n';
copyString +=
event.getLocalizedBody(L10n.of(context), withSenderNamePrefix: true);
copyString += event.getLocalizedBody(MatrixLocals(L10n.of(context)),
withSenderNamePrefix: true);
}
return copyString;
}
@ -475,7 +478,9 @@ class _ChatState extends State<_Chat> {
ChatDetails(room),
),
),
title: Text(room.getLocalizedDisplayname(L10n.of(context)),
title: Text(
room.getLocalizedDisplayname(
MatrixLocals(L10n.of(context))),
maxLines: 1),
subtitle: typingText.isEmpty
? Text(
@ -515,7 +520,7 @@ class _ChatState extends State<_Chat> {
editEvent = selectedEvents.first;
sendController.text = editEvent
.getDisplayEvent(timeline)
.getLocalizedBody(L10n.of(context),
.getLocalizedBody(MatrixLocals(L10n.of(context)),
withSenderNamePrefix: false, hideReply: true);
selectedEvents.clear();
});
@ -1026,7 +1031,7 @@ class _EditContent extends StatelessWidget {
Container(width: 15.0),
Text(
event?.getLocalizedBody(
L10n.of(context),
MatrixLocals(L10n.of(context)),
withSenderNamePrefix: false,
hideReply: true,
) ??

View file

@ -1,3 +1,4 @@
import 'package:bot_toast/bot_toast.dart';
import 'package:famedlysdk/famedlysdk.dart';
import 'package:famedlysdk/matrix_api.dart';
import 'package:fluffychat/components/adaptive_page_layout.dart';
@ -5,17 +6,18 @@ import 'package:fluffychat/components/chat_settings_popup_menu.dart';
import 'package:fluffychat/components/content_banner.dart';
import 'package:fluffychat/components/dialogs/simple_dialogs.dart';
import 'package:fluffychat/components/list_items/participant_list_item.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/utils/app_route.dart';
import 'package:fluffychat/utils/matrix_locals.dart';
import 'package:fluffychat/views/chat_list.dart';
import 'package:fluffychat/views/invitation_selection.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:image_picker/image_picker.dart';
import 'package:matrix_link_text/link_text.dart';
import 'package:memoryfilepicker/memoryfilepicker.dart';
import './settings_emotes.dart';
import '../utils/url_launcher.dart';
@ -34,7 +36,8 @@ class _ChatDetailsState extends State<ChatDetails> {
var enterText = SimpleDialogs(context).enterText(
titleText: L10n.of(context).changeTheNameOfTheGroup,
labelText: L10n.of(context).changeTheNameOfTheGroup,
hintText: widget.room.getLocalizedDisplayname(L10n.of(context)),
hintText:
widget.room.getLocalizedDisplayname(MatrixLocals(L10n.of(context))),
);
final displayname = await enterText;
if (displayname == null) return;
@ -173,7 +176,8 @@ class _ChatDetailsState extends State<ChatDetails> {
ChatSettingsPopupMenu(widget.room, false)
],
title: Text(
widget.room.getLocalizedDisplayname(L10n.of(context)),
widget.room.getLocalizedDisplayname(
MatrixLocals(L10n.of(context))),
style: TextStyle(
color: Theme.of(context)
.appBarTheme
@ -251,7 +255,8 @@ class _ChatDetailsState extends State<ChatDetails> {
title: Text(
L10n.of(context).changeTheNameOfTheGroup),
subtitle: Text(widget.room
.getLocalizedDisplayname(L10n.of(context))),
.getLocalizedDisplayname(
MatrixLocals(L10n.of(context)))),
onTap: () => setDisplaynameAction(context),
),
if (widget.room
@ -298,8 +303,8 @@ class _ChatDetailsState extends State<ChatDetails> {
title: Text(L10n.of(context)
.whoIsAllowedToJoinThisGroup),
subtitle: Text(
widget.room.joinRules
.getLocalizedString(L10n.of(context)),
widget.room.joinRules.getLocalizedString(
MatrixLocals(L10n.of(context))),
),
),
onSelected: (JoinRules joinRule) =>
@ -313,13 +318,15 @@ class _ChatDetailsState extends State<ChatDetails> {
PopupMenuItem<JoinRules>(
value: JoinRules.public,
child: Text(JoinRules.public
.getLocalizedString(L10n.of(context))),
.getLocalizedString(
MatrixLocals(L10n.of(context)))),
),
if (widget.room.canChangeJoinRules)
PopupMenuItem<JoinRules>(
value: JoinRules.invite,
child: Text(JoinRules.invite
.getLocalizedString(L10n.of(context))),
.getLocalizedString(
MatrixLocals(L10n.of(context)))),
),
],
),
@ -335,7 +342,8 @@ class _ChatDetailsState extends State<ChatDetails> {
.visibilityOfTheChatHistory),
subtitle: Text(
widget.room.historyVisibility
.getLocalizedString(L10n.of(context)),
.getLocalizedString(
MatrixLocals(L10n.of(context))),
),
),
onSelected:
@ -351,25 +359,29 @@ class _ChatDetailsState extends State<ChatDetails> {
PopupMenuItem<HistoryVisibility>(
value: HistoryVisibility.invited,
child: Text(HistoryVisibility.invited
.getLocalizedString(L10n.of(context))),
.getLocalizedString(
MatrixLocals(L10n.of(context)))),
),
if (widget.room.canChangeHistoryVisibility)
PopupMenuItem<HistoryVisibility>(
value: HistoryVisibility.joined,
child: Text(HistoryVisibility.joined
.getLocalizedString(L10n.of(context))),
.getLocalizedString(
MatrixLocals(L10n.of(context)))),
),
if (widget.room.canChangeHistoryVisibility)
PopupMenuItem<HistoryVisibility>(
value: HistoryVisibility.shared,
child: Text(HistoryVisibility.shared
.getLocalizedString(L10n.of(context))),
.getLocalizedString(
MatrixLocals(L10n.of(context)))),
),
if (widget.room.canChangeHistoryVisibility)
PopupMenuItem<HistoryVisibility>(
value: HistoryVisibility.world_readable,
child: Text(HistoryVisibility.world_readable
.getLocalizedString(L10n.of(context))),
.getLocalizedString(
MatrixLocals(L10n.of(context)))),
),
],
),
@ -385,8 +397,8 @@ class _ChatDetailsState extends State<ChatDetails> {
title: Text(
L10n.of(context).areGuestsAllowedToJoin),
subtitle: Text(
widget.room.guestAccess
.getLocalizedString(L10n.of(context)),
widget.room.guestAccess.getLocalizedString(
MatrixLocals(L10n.of(context))),
),
),
onSelected: (GuestAccess guestAccess) =>
@ -401,7 +413,7 @@ class _ChatDetailsState extends State<ChatDetails> {
value: GuestAccess.can_join,
child: Text(
GuestAccess.can_join.getLocalizedString(
L10n.of(context)),
MatrixLocals(L10n.of(context))),
),
),
if (widget.room.canChangeGuestAccess)
@ -410,7 +422,7 @@ class _ChatDetailsState extends State<ChatDetails> {
child: Text(
GuestAccess.forbidden
.getLocalizedString(
L10n.of(context)),
MatrixLocals(L10n.of(context))),
),
),
],

View file

@ -1,15 +1,16 @@
import 'package:famedlysdk/famedlysdk.dart';
import 'package:famedlysdk/encryption.dart';
import 'package:famedlysdk/famedlysdk.dart';
import 'package:fluffychat/components/adaptive_page_layout.dart';
import 'package:fluffychat/components/avatar.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/utils/beautify_string_extension.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/views/chat_list.dart';
import 'package:flutter/material.dart';
import 'key_verification.dart';
import '../utils/app_route.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import '../components/dialogs/simple_dialogs.dart';
import '../utils/app_route.dart';
import 'key_verification.dart';
class ChatEncryptionSettingsView extends StatelessWidget {
final String id;

View file

@ -10,15 +10,16 @@ import 'package:fluffychat/components/list_items/public_room_list_item.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
import 'package:share/share.dart';
import '../components/adaptive_page_layout.dart';
import '../components/list_items/chat_list_item.dart';
import '../components/matrix.dart';
import '../l10n/l10n.dart';
import '../utils/app_route.dart';
import '../utils/url_launcher.dart';
import '../utils/matrix_file_extension.dart';
import '../utils/url_launcher.dart';
import 'archive.dart';
import 'homeserver_picker.dart';
import 'new_group.dart';

View file

@ -3,11 +3,11 @@ import 'dart:math';
import 'package:fluffychat/components/dialogs/simple_dialogs.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/utils/app_route.dart';
import 'package:fluffychat/utils/sentry_controller.dart';
import 'package:fluffychat/views/sign_up.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
class HomeserverPicker extends StatelessWidget {
Future<void> _setHomeserverAction(BuildContext context) async {

View file

@ -1,14 +1,14 @@
import 'dart:async';
import 'package:bot_toast/bot_toast.dart';
import 'package:famedlysdk/famedlysdk.dart';
import 'package:famedlysdk/matrix_api.dart';
import 'package:fluffychat/components/adaptive_page_layout.dart';
import 'package:fluffychat/components/avatar.dart';
import 'package:fluffychat/components/dialogs/simple_dialogs.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:flutter/material.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'chat_list.dart';

View file

@ -1,11 +1,12 @@
import 'package:flutter/material.dart';
import 'package:famedlysdk/encryption.dart';
import 'package:famedlysdk/matrix_api.dart';
import 'chat_list.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import '../components/adaptive_page_layout.dart';
import '../components/avatar.dart';
import '../components/dialogs/simple_dialogs.dart';
import '../l10n/l10n.dart';
import 'chat_list.dart';
class KeyVerificationView extends StatelessWidget {
final KeyVerification request;

View file

@ -4,11 +4,11 @@ import 'dart:math';
import 'package:famedlysdk/famedlysdk.dart';
import 'package:fluffychat/components/dialogs/simple_dialogs.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/utils/app_route.dart';
import 'package:fluffychat/utils/firebase_controller.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'chat_list.dart';

View file

@ -2,9 +2,9 @@ import 'package:famedlysdk/matrix_api.dart' as api;
import 'package:fluffychat/components/adaptive_page_layout.dart';
import 'package:fluffychat/components/dialogs/simple_dialogs.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/utils/app_route.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:pedantic/pedantic.dart';
import 'chat.dart';

View file

@ -6,9 +6,9 @@ import 'package:fluffychat/components/adaptive_page_layout.dart';
import 'package:fluffychat/components/avatar.dart';
import 'package:fluffychat/components/dialogs/simple_dialogs.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/utils/app_route.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:share/share.dart';
import 'chat.dart';

View file

@ -9,18 +9,18 @@ import 'package:fluffychat/views/settings_devices.dart';
import 'package:fluffychat/views/settings_ignore_list.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:image_picker/image_picker.dart';
import 'package:memoryfilepicker/memoryfilepicker.dart';
import 'package:url_launcher/url_launcher.dart';
import '../components/adaptive_page_layout.dart';
import '../components/content_banner.dart';
import '../components/dialogs/simple_dialogs.dart';
import '../components/matrix.dart';
import '../utils/app_route.dart';
import 'app_info.dart';
import 'chat_list.dart';
import '../components/adaptive_page_layout.dart';
import '../components/dialogs/simple_dialogs.dart';
import '../components/content_banner.dart';
import '../components/matrix.dart';
import '../l10n/l10n.dart';
import '../utils/app_route.dart';
import 'settings_emotes.dart';
class SettingsView extends StatelessWidget {

View file

@ -1,11 +1,11 @@
import 'package:famedlysdk/famedlysdk.dart';
import 'package:fluffychat/components/dialogs/simple_dialogs.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import '../utils/date_time_extension.dart';
import '../components/adaptive_page_layout.dart';
import '../components/matrix.dart';
import '../l10n/l10n.dart';
import '../utils/date_time_extension.dart';
import 'chat_list.dart';
class DevicesSettingsView extends StatelessWidget {

View file

@ -1,16 +1,16 @@
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:famedlysdk/famedlysdk.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:image_picker/image_picker.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:memoryfilepicker/memoryfilepicker.dart';
import 'chat_list.dart';
import '../components/adaptive_page_layout.dart';
import '../components/matrix.dart';
import '../components/dialogs/simple_dialogs.dart';
import '../l10n/l10n.dart';
import '../components/matrix.dart';
import 'chat_list.dart';
class EmotesSettingsView extends StatelessWidget {
final Room room;

View file

@ -2,8 +2,9 @@ import 'package:famedlysdk/famedlysdk.dart';
import 'package:fluffychat/components/adaptive_page_layout.dart';
import 'package:fluffychat/components/avatar.dart';
import 'package:fluffychat/components/dialogs/simple_dialogs.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import '../components/matrix.dart';
import 'chat_list.dart';

View file

@ -2,12 +2,12 @@ import 'dart:math';
import 'package:famedlysdk/famedlysdk.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/utils/app_route.dart';
import 'package:fluffychat/views/login.dart';
import 'package:fluffychat/views/sign_up_password.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:image_picker/image_picker.dart';
import 'package:memoryfilepicker/memoryfilepicker.dart';

View file

@ -1,12 +1,12 @@
import 'dart:math';
import 'package:bot_toast/bot_toast.dart';
import 'package:famedlysdk/famedlysdk.dart';
import 'package:fluffychat/components/matrix.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/utils/app_route.dart';
import 'package:fluffychat/views/auth_web_view.dart';
import 'package:flutter/material.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:memoryfilepicker/memoryfilepicker.dart';
import 'chat_list.dart';