diff --git a/assets/l10n/app_en.arb b/assets/l10n/app_en.arb index 63e8249b72..edb01af23d 100644 --- a/assets/l10n/app_en.arb +++ b/assets/l10n/app_en.arb @@ -416,5 +416,13 @@ "userRoleUnknown": "Unknown", "@userRoleUnknown": { "description": "Label for UserRole.unknown" + }, + "recentDmConversationsPageTitle": "Direct messages", + "@recentDmConversationsPageTitle": { + "description": "Title for the page of recent DM conversations" + }, + "allMessagesPageTitle": "All messages", + "@allMessagesPageTitle": { + "description": "Title for the page of all messages" } } diff --git a/lib/widgets/app.dart b/lib/widgets/app.dart index 281e0ffbee..92ed8cb6a4 100644 --- a/lib/widgets/app.dart +++ b/lib/widgets/app.dart @@ -250,7 +250,7 @@ class HomePage extends StatelessWidget { onPressed: () => Navigator.push(context, MessageListPage.buildRoute(context: context, narrow: const AllMessagesNarrow())), - child: const Text("All messages")), + child: Text(zulipLocalizations.allMessagesPageTitle)), const SizedBox(height: 16), ElevatedButton( onPressed: () => Navigator.push(context, @@ -265,7 +265,7 @@ class HomePage extends StatelessWidget { ElevatedButton( onPressed: () => Navigator.push(context, RecentDmConversationsPage.buildRoute(context: context)), - child: const Text("Direct messages")), + child: Text(zulipLocalizations.recentDmConversationsPageTitle)), if (testStreamId != null) ...[ const SizedBox(height: 16), ElevatedButton( diff --git a/lib/widgets/message_list.dart b/lib/widgets/message_list.dart index 625dd393c2..e2dc307209 100644 --- a/lib/widgets/message_list.dart +++ b/lib/widgets/message_list.dart @@ -124,9 +124,11 @@ class MessageListAppBarTitle extends StatelessWidget { @override Widget build(BuildContext context) { + final zulipLocalizations = ZulipLocalizations.of(context); + switch (narrow) { case AllMessagesNarrow(): - return const Text("All messages"); + return Text(zulipLocalizations.allMessagesPageTitle); case StreamNarrow(:var streamId): final store = PerAccountStoreWidget.of(context); diff --git a/lib/widgets/recent_dm_conversations.dart b/lib/widgets/recent_dm_conversations.dart index 4791bd4b5c..1dc95dc78d 100644 --- a/lib/widgets/recent_dm_conversations.dart +++ b/lib/widgets/recent_dm_conversations.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/zulip_localizations.dart'; import '../model/narrow.dart'; import '../model/recent_dm_conversations.dart'; @@ -53,9 +54,10 @@ class _RecentDmConversationsPageState extends State w @override Widget build(BuildContext context) { + final zulipLocalizations = ZulipLocalizations.of(context); final sorted = model!.sorted; return Scaffold( - appBar: AppBar(title: const Text('Direct messages')), + appBar: AppBar(title: Text(zulipLocalizations.recentDmConversationsPageTitle)), body: SafeArea( // Don't pad the bottom here; we want the list content to do that. bottom: false, diff --git a/test/widgets/recent_dm_conversations_test.dart b/test/widgets/recent_dm_conversations_test.dart index aa1dedd3ac..33cb813068 100644 --- a/test/widgets/recent_dm_conversations_test.dart +++ b/test/widgets/recent_dm_conversations_test.dart @@ -1,6 +1,7 @@ import 'package:checks/checks.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; +import 'package:flutter_gen/gen_l10n/zulip_localizations.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:zulip/api/model/events.dart'; import 'package:zulip/api/model/model.dart'; @@ -49,6 +50,8 @@ Future setupPage(WidgetTester tester, { await tester.pumpWidget( GlobalStoreWidget( child: MaterialApp( + localizationsDelegates: ZulipLocalizations.localizationsDelegates, + supportedLocales: ZulipLocalizations.supportedLocales, navigatorObservers: navigatorObserver != null ? [navigatorObserver] : [], home: PerAccountStoreWidget( accountId: eg.selfAccount.id,