diff --git a/lib/core/notes_folder_fs.dart b/lib/core/notes_folder_fs.dart index c2fa119c..c2eb3840 100644 --- a/lib/core/notes_folder_fs.dart +++ b/lib/core/notes_folder_fs.dart @@ -7,6 +7,7 @@ import 'package:synchronized/synchronized.dart'; import 'package:universal_io/io.dart'; import 'package:gitjournal/core/views/inline_tags_view.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; import 'package:gitjournal/logger/logger.dart'; import 'note.dart'; import 'notes_folder.dart'; @@ -403,7 +404,7 @@ class NotesFolderFS with NotesFolderNotifier implements NotesFolder { String get publicName { var spec = pathSpec(); if (spec.isEmpty) { - return tr("rootFolder"); + return tr(LocaleKeys.rootFolder); } return spec; } diff --git a/lib/editors/checklist_editor.dart b/lib/editors/checklist_editor.dart index 21043b31..832d00b1 100644 --- a/lib/editors/checklist_editor.dart +++ b/lib/editors/checklist_editor.dart @@ -12,6 +12,7 @@ import 'package:gitjournal/core/note.dart'; import 'package:gitjournal/editors/common.dart'; import 'package:gitjournal/editors/disposable_change_notifier.dart'; import 'package:gitjournal/editors/note_title_editor.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; class ChecklistEditor extends StatefulWidget implements Editor { final Note note; @@ -447,7 +448,7 @@ class AddItemButton extends StatelessWidget { ], mainAxisSize: MainAxisSize.min, ), - title: Text(tr("editors.checklist.add"), style: style), + title: Text(tr(LocaleKeys.editors_checklist_add), style: style), ); return GestureDetector( diff --git a/lib/iap/purchase_screen.dart b/lib/iap/purchase_screen.dart index b77502ef..99900f95 100644 --- a/lib/iap/purchase_screen.dart +++ b/lib/iap/purchase_screen.dart @@ -102,7 +102,7 @@ class _PurchaseScreenState extends State { RestorePurchaseButton(), OutlinedButton( child: Text( - tr("feature_timeline.title"), + tr(LocaleKeys.feature_timeline_title), style: Theme.of(context).textTheme.bodyText2, ), onPressed: () { diff --git a/lib/iap/purchase_widget.dart b/lib/iap/purchase_widget.dart index f693e424..457156cc 100644 --- a/lib/iap/purchase_widget.dart +++ b/lib/iap/purchase_widget.dart @@ -34,14 +34,14 @@ class PurchaseButton extends StatelessWidget { Widget build(BuildContext context) { String text; if (product != null) { - text = tr("widgets.PurchaseButton.text", namedArgs: { + text = tr(LocaleKeys.widgets_PurchaseButton_text, namedArgs: { 'price': product!.price, }); if (subscription) { text += '/ $timePeriod'; } } else { - text = tr("widgets.PurchaseButton.fail"); + text = tr(LocaleKeys.widgets_PurchaseButton_fail); } return Padding( diff --git a/lib/settings/settings_display_images_theming.dart b/lib/settings/settings_display_images_theming.dart index cbd9b659..fc9ec744 100644 --- a/lib/settings/settings_display_images_theming.dart +++ b/lib/settings/settings_display_images_theming.dart @@ -19,6 +19,7 @@ import 'package:flutter/material.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:provider/provider.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; import 'package:gitjournal/settings/markdown_renderer_config.dart'; import 'package:gitjournal/settings/settings.dart'; import 'package:gitjournal/settings/settings_screen.dart'; @@ -48,19 +49,21 @@ class SettingsDisplayImagesThemingScreenState key: doNotThemeTagsKey, style: Theme.of(context).textTheme.headline6, decoration: InputDecoration( - hintText: tr('settings.display.images.theming.doNotThemeTags.hint'), - labelText: tr('settings.display.images.theming.doNotThemeTags.label'), + hintText: + tr(LocaleKeys.settings_display_images_theming_doThemeTags_hint), + labelText: + tr(LocaleKeys.settings_display_images_theming_doThemeTags_label), ), validator: (String? value) { value = value!.trim(); if (parseTags(value).isEmpty) { - return tr( - 'settings.display.images.theming.doNotThemeTags.validator.empty'); + return tr(LocaleKeys + .settings_display_images_theming_doThemeTags_validator_empty); } if (parseTags(value).intersection(settings.doThemeTags).isNotEmpty) { - return tr( - 'settings.display.images.theming.doNotThemeTags.validator.same'); + return tr(LocaleKeys + .settings_display_images_theming_doThemeTags_validator_same); } return null; @@ -85,20 +88,22 @@ class SettingsDisplayImagesThemingScreenState key: doThemeTagsKey, style: Theme.of(context).textTheme.headline6, decoration: InputDecoration( - hintText: tr('settings.display.images.theming.doThemeTags.hint'), - labelText: tr('settings.display.images.theming.doThemeTags.label'), + hintText: + tr(LocaleKeys.settings_display_images_theming_doThemeTags_hint), + labelText: + tr(LocaleKeys.settings_display_images_theming_doThemeTags_label), ), validator: (String? value) { if (parseTags(value!).isEmpty) { - return tr( - 'settings.display.images.theming.doThemeTags.validator.empty'); + return tr(LocaleKeys + .settings_display_images_theming_doThemeTags_validator_empty); } if (parseTags(value) .intersection(settings.doNotThemeTags) .isNotEmpty) { - return tr( - 'settings.display.images.theming.doThemeTags.validator.same'); + return tr(LocaleKeys + .settings_display_images_theming_doThemeTags_validator_same); } return null; @@ -197,7 +202,7 @@ class SettingsDisplayImagesThemingScreenState return Scaffold( appBar: AppBar( - title: Text(tr('settings.display.images.theming.title')), + title: Text(tr(LocaleKeys.settings_display_images_theming_title)), leading: IconButton( icon: const Icon(Icons.arrow_back), onPressed: () { diff --git a/lib/settings/settings_editors.dart b/lib/settings/settings_editors.dart index 2f179608..4b853ba9 100644 --- a/lib/settings/settings_editors.dart +++ b/lib/settings/settings_editors.dart @@ -6,6 +6,7 @@ import 'package:provider/provider.dart'; import 'package:gitjournal/core/notes_folder_config.dart'; import 'package:gitjournal/core/notes_folder_fs.dart'; import 'package:gitjournal/features.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; import 'package:gitjournal/settings/settings.dart'; import 'package:gitjournal/settings/settings_screen.dart'; import 'package:gitjournal/settings/settings_widgets.dart'; @@ -25,11 +26,11 @@ class SettingsEditorsScreenState extends State { var folderConfig = Provider.of(context); var defaultNewFolder = settings.journalEditordefaultNewNoteFolderSpec; if (defaultNewFolder.isEmpty) { - defaultNewFolder = tr("rootFolder"); + defaultNewFolder = tr(LocaleKeys.rootFolder); } else { if (!folderWithSpecExists(context, defaultNewFolder)) { setState(() { - defaultNewFolder = tr("rootFolder"); + defaultNewFolder = tr(LocaleKeys.rootFolder); settings.journalEditordefaultNewNoteFolderSpec = ""; settings.save(); @@ -39,7 +40,7 @@ class SettingsEditorsScreenState extends State { var body = ListView(children: [ ListPreference( - title: tr("settings.editors.defaultEditor"), + title: tr(LocaleKeys.settings_editors_defaultEditor), currentOption: folderConfig.defaultEditor.toPublicString(), options: SettingsEditorType.options.map((f) => f.toPublicString()).toList(), @@ -52,7 +53,7 @@ class SettingsEditorsScreenState extends State { ), //SettingsHeader(tr("settings.editors.markdownEditor")), ListPreference( - title: tr("settings.editors.defaultState"), + title: tr(LocaleKeys.settings_editors_defaultState), currentOption: settings.markdownDefaultView.toPublicString(), options: SettingsMarkdownDefaultView.options .map((f) => f.toPublicString()) @@ -64,11 +65,11 @@ class SettingsEditorsScreenState extends State { setState(() {}); }, ), - SettingsHeader(tr("settings.editors.journalEditor")), + SettingsHeader(tr(LocaleKeys.settings_editors_journalEditor)), ProOverlay( feature: Feature.journalEditorDefaultFolder, child: ListTile( - title: Text(tr("settings.editors.defaultFolder")), + title: Text(tr(LocaleKeys.settings_editors_defaultFolder)), subtitle: Text(defaultNewFolder), onTap: () async { var destFolder = await showDialog( @@ -86,7 +87,7 @@ class SettingsEditorsScreenState extends State { ProOverlay( feature: Feature.singleJournalEntry, child: SwitchListTile( - title: Text(tr("feature.singleJournalEntry")), + title: Text(tr(LocaleKeys.feature_singleJournalEntry)), value: settings.journalEditorSingleNote, onChanged: (bool newVal) { settings.journalEditorSingleNote = newVal; @@ -98,7 +99,7 @@ class SettingsEditorsScreenState extends State { ProOverlay( feature: Feature.singleJournalEntry, child: ListPreference( - title: tr('settings.note.newNoteFileName'), + title: tr(LocaleKeys.settings_note_newNoteFileName), currentOption: folderConfig.journalFileNameFormat.toPublicString(), options: NoteFileNameFormat.options .map((f) => f.toPublicString()) @@ -115,7 +116,7 @@ class SettingsEditorsScreenState extends State { return Scaffold( appBar: AppBar( - title: Text(tr("settings.editors.title")), + title: Text(tr(LocaleKeys.settings_editors_title)), leading: IconButton( icon: const Icon(Icons.arrow_back), onPressed: () { diff --git a/lib/settings/settings_experimental.dart b/lib/settings/settings_experimental.dart index 21f5c568..1f7bab5c 100644 --- a/lib/settings/settings_experimental.dart +++ b/lib/settings/settings_experimental.dart @@ -22,6 +22,7 @@ import 'package:crypto/crypto.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:provider/provider.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; import 'package:gitjournal/settings/app_settings.dart'; class ExperimentalSettingsScreen extends StatefulWidget { @@ -38,7 +39,7 @@ class _ExperimentalSettingsScreenState return Scaffold( appBar: AppBar( - title: Text(tr('settings.experimental.title')), + title: Text(tr(LocaleKeys.settings_experimental_title)), leading: IconButton( icon: const Icon(Icons.arrow_back), onPressed: () { @@ -50,7 +51,7 @@ class _ExperimentalSettingsScreenState child: ListView( children: [ SwitchListTile( - title: Text(tr('settings.experimental.fs')), + title: Text(tr(LocaleKeys.settings_experimental_fs)), value: appSettings.experimentalFs, onChanged: (bool newVal) { appSettings.experimentalFs = newVal; @@ -59,7 +60,8 @@ class _ExperimentalSettingsScreenState }, ), SwitchListTile( - title: Text(tr('settings.experimental.includeSubfolders')), + title: + Text(tr(LocaleKeys.settings_experimental_includeSubfolders)), value: appSettings.experimentalSubfolders, onChanged: (bool newVal) { appSettings.experimentalSubfolders = newVal; @@ -68,7 +70,7 @@ class _ExperimentalSettingsScreenState }, ), SwitchListTile( - title: Text(tr('settings.experimental.graphView')), + title: Text(tr(LocaleKeys.settings_experimental_graphView)), value: appSettings.experimentalGraphView, onChanged: (bool newVal) { appSettings.experimentalGraphView = newVal; @@ -77,7 +79,7 @@ class _ExperimentalSettingsScreenState }, ), SwitchListTile( - title: Text(tr('settings.experimental.markdownToolbar')), + title: Text(tr(LocaleKeys.settings_experimental_markdownToolbar)), value: appSettings.experimentalMarkdownToolbar, onChanged: (bool newVal) { appSettings.experimentalMarkdownToolbar = newVal; @@ -86,7 +88,7 @@ class _ExperimentalSettingsScreenState }, ), SwitchListTile( - title: Text(tr('settings.experimental.accounts')), + title: Text(tr(LocaleKeys.settings_experimental_accounts)), value: appSettings.experimentalAccounts, onChanged: (bool newVal) { appSettings.experimentalAccounts = newVal; @@ -95,7 +97,7 @@ class _ExperimentalSettingsScreenState }, ), SwitchListTile( - title: Text(tr('settings.experimental.merge')), + title: Text(tr(LocaleKeys.settings_experimental_merge)), value: appSettings.experimentalGitMerge, onChanged: (bool newVal) { appSettings.experimentalGitMerge = newVal; @@ -104,7 +106,8 @@ class _ExperimentalSettingsScreenState }, ), SwitchListTile( - title: Text(tr('settings.experimental.experimentalGitOps')), + title: + Text(tr(LocaleKeys.settings_experimental_experimentalGitOps)), value: appSettings.experimentalGitOps, onChanged: (bool newVal) { appSettings.experimentalGitOps = newVal; @@ -170,7 +173,7 @@ class _PasswordForm extends StatelessWidget { ), actions: [ TextButton( - child: const Text('Ok'), + child: Text(tr(LocaleKeys.settings_ok)), onPressed: () { Navigator.of(context).pop(); }, diff --git a/lib/setup/autoconfigure.dart b/lib/setup/autoconfigure.dart index e5771611..de244743 100644 --- a/lib/setup/autoconfigure.dart +++ b/lib/setup/autoconfigure.dart @@ -8,6 +8,7 @@ import 'package:provider/provider.dart'; import 'package:gitjournal/analytics/analytics.dart'; import 'package:gitjournal/apis/githost_factory.dart'; import 'package:gitjournal/error_reporting.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; import 'package:gitjournal/logger/logger.dart'; import 'package:gitjournal/settings/git_config.dart'; import 'button.dart'; @@ -35,7 +36,7 @@ class GitHostSetupAutoConfigurePageState String errorMessage = ""; bool _configuringStarted = false; - String _message = tr('setup.autoconfigure.waitPerm'); + String _message = tr(LocaleKeys.setup_autoconfigure_waitPerm); void _startAutoConfigure() async { Log.d("Starting autoconfigure"); @@ -66,7 +67,7 @@ class GitHostSetupAutoConfigurePageState UserInfo? userInfo; try { setState(() { - _message = tr('setup.autoconfigure.readUser'); + _message = tr(LocaleKeys.setup_autoconfigure_readUser); }); Log.d("Starting to fetch userInfo"); @@ -131,29 +132,29 @@ class GitHostSetupAutoConfigurePageState crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - tr('setup.autoconfigure.title'), + tr(LocaleKeys.setup_autoconfigure_title), style: Theme.of(context).textTheme.headline6, ), const SizedBox(height: 32.0), // Step 1 Text( - tr('setup.autoconfigure.step1'), + tr(LocaleKeys.setup_autoconfigure_step1), style: Theme.of(context).textTheme.bodyText1, ), const SizedBox(height: 8.0), Text( - tr('setup.autoconfigure.step2'), + tr(LocaleKeys.setup_autoconfigure_step2), style: Theme.of(context).textTheme.bodyText1, ), const SizedBox(height: 8.0), Text( - tr('setup.autoconfigure.step3'), + tr(LocaleKeys.setup_autoconfigure_step3), style: Theme.of(context).textTheme.bodyText1, ), const SizedBox(height: 32.0), Text( - tr('setup.autoconfigure.warning'), + tr(LocaleKeys.setup_autoconfigure_warning), style: Theme.of(context).textTheme.bodyText1!.copyWith( fontStyle: FontStyle.italic, ), @@ -161,7 +162,7 @@ class GitHostSetupAutoConfigurePageState const SizedBox(height: 32.0), GitHostSetupButton( - text: tr('setup.autoconfigure.authorize'), + text: tr(LocaleKeys.setup_autoconfigure_authorize), onPressed: _startAutoConfigure, ), ], diff --git a/lib/setup/repo_selector.dart b/lib/setup/repo_selector.dart index 17706419..47e63d91 100644 --- a/lib/setup/repo_selector.dart +++ b/lib/setup/repo_selector.dart @@ -129,7 +129,7 @@ class GitHostSetupRepoSelectorState extends State { return GitHostSetupErrorPage(errorMessage); } if (!fetchedRepos) { - return GitHostSetupLoadingPage(tr("setup.repoSelector.loading")); + return GitHostSetupLoadingPage(tr(LocaleKeys.setup_repoSelector_loading)); } var q = _textController.text.toLowerCase(); diff --git a/lib/setup/screens.dart b/lib/setup/screens.dart index 1eda2b77..286d98ad 100644 --- a/lib/setup/screens.dart +++ b/lib/setup/screens.dart @@ -14,6 +14,7 @@ import 'package:url_launcher/url_launcher.dart'; import 'package:gitjournal/analytics/analytics.dart'; import 'package:gitjournal/apis/githost_factory.dart'; import 'package:gitjournal/error_reporting.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; import 'package:gitjournal/logger/logger.dart'; import 'package:gitjournal/repository.dart'; import 'package:gitjournal/settings/git_config.dart'; @@ -351,7 +352,7 @@ class GitHostSetupScreenState extends State { if (pos == 5) { return GitHostSetupLoadingErrorPage( - loadingMessage: tr('setup.cloning'), + loadingMessage: tr(LocaleKeys.setup_cloning), errorMessage: gitCloneErrorMessage, ); } @@ -495,7 +496,7 @@ class GitHostSetupScreenState extends State { void _copyKeyToClipboard(BuildContext context) { Clipboard.setData(ClipboardData(text: publicKey)); - showSnackbar(context, tr('setup.sshKey.copied')); + showSnackbar(context, tr(LocaleKeys.setup_sshKey_copied)); } void _launchDeployKeyPage() async { @@ -622,7 +623,7 @@ class GitHostSetupScreenState extends State { try { Log.i("Generating SSH Key"); setState(() { - _autoConfigureMessage = tr('setup.sshKey.generate'); + _autoConfigureMessage = tr(LocaleKeys.setup_sshKey_generate); }); var sshKey = await generateSSHKeys(comment: "GitJournal"); if (sshKey == null) { @@ -640,7 +641,7 @@ class GitHostSetupScreenState extends State { }); Log.i("Adding as a deploy key"); - _autoConfigureMessage = tr('setup.sshKey.addDeploy'); + _autoConfigureMessage = tr(LocaleKeys.setup_sshKey_addDeploy); await _gitHost!.addDeployKey(publicKey, _gitHostRepo.fullName); } on Exception catch (e, stacktrace) { @@ -714,7 +715,7 @@ class GitHostChoicePage extends StatelessWidget { child: Column( children: [ Text( - tr('setup.host.title'), + tr(LocaleKeys.setup_host_title), style: Theme.of(context).textTheme.headline5, ), const SizedBox(height: 16.0), @@ -735,7 +736,7 @@ class GitHostChoicePage extends StatelessWidget { ), const SizedBox(height: 8.0), GitHostSetupButton( - text: tr('setup.host.custom'), + text: tr(LocaleKeys.setup_host_custom), onPressed: () async { onCustomGitHost(); }, @@ -766,20 +767,20 @@ class GitHostAutoConfigureChoicePage extends StatelessWidget { child: Column( children: [ Text( - tr('setup.autoConfigure.title'), + tr(LocaleKeys.setup_autoConfigure_title), style: Theme.of(context).textTheme.headline5, ), const SizedBox(height: 16.0), if (!_isDesktop) GitHostSetupButton( - text: tr('setup.autoConfigure.automatic'), + text: tr(LocaleKeys.setup_autoConfigure_automatic), onPressed: () { onDone(GitHostSetupType.Auto); }, ), if (!_isDesktop) const SizedBox(height: 8.0), GitHostSetupButton( - text: tr('setup.autoConfigure.manual'), + text: tr(LocaleKeys.setup_autoConfigure_manual), onPressed: () async { onDone(GitHostSetupType.Manual); }, diff --git a/lib/widgets/app_drawer_header.dart b/lib/widgets/app_drawer_header.dart index 945c4b05..6e8d5a4a 100644 --- a/lib/widgets/app_drawer_header.dart +++ b/lib/widgets/app_drawer_header.dart @@ -182,7 +182,7 @@ class __CurrentRepoState extends State<_CurrentRepo> if (remoteConfigs.isEmpty) { setState(() { - _gitRemoteUrl = tr("drawer.remote"); + _gitRemoteUrl = tr(LocaleKeys.drawer_remote); }); return; } diff --git a/lib/widgets/images/image_caption.dart b/lib/widgets/images/image_caption.dart index 45a2caac..60113bf4 100644 --- a/lib/widgets/images/image_caption.dart +++ b/lib/widgets/images/image_caption.dart @@ -21,6 +21,7 @@ import 'package:flutter/material.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:provider/provider.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; import 'package:gitjournal/settings/markdown_renderer_config.dart'; import 'package:gitjournal/utils/hero_dialog.dart'; @@ -140,7 +141,7 @@ String captionText(BuildContext context, String altText, String tooltip) { String _tooltip = tooltipCaption ? _cleanCaption(context, tooltip) : ""; String text = ""; if (_altText.isNotEmpty && _tooltip.isNotEmpty) { - text = tr("widgets.imageRenderer.caption", + text = tr(LocaleKeys.widgets_imageRenderer_caption, namedArgs: settings.tooltipFirst ? {"first": _tooltip, "second": _altText} : {"first": _altText, "second": _tooltip}); diff --git a/lib/widgets/images/markdown_image.dart b/lib/widgets/images/markdown_image.dart index 02e5a451..e1039ea1 100644 --- a/lib/widgets/images/markdown_image.dart +++ b/lib/widgets/images/markdown_image.dart @@ -26,6 +26,7 @@ import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:provider/provider.dart'; import 'package:universal_io/io.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; import 'package:gitjournal/logger/logger.dart'; import 'package:gitjournal/settings/markdown_renderer_config.dart'; import 'package:gitjournal/widgets/images/image_caption.dart'; @@ -96,7 +97,7 @@ class MarkdownImage extends StatelessWidget { Log.e(errorMessage); if (snapshot.error is HttpExceptionWithStatus) { final httpError = snapshot.error as HttpExceptionWithStatus; - errorMessage = tr("widgets.imageRenderer.httpError", + errorMessage = tr(LocaleKeys.widgets_imageRenderer_httpError, namedArgs: { "status": httpError.statusCode.toString(), "url": httpError.uri.toString() diff --git a/lib/widgets/rename_dialog.dart b/lib/widgets/rename_dialog.dart index e255a9f7..634353d7 100644 --- a/lib/widgets/rename_dialog.dart +++ b/lib/widgets/rename_dialog.dart @@ -5,6 +5,8 @@ import 'package:path/path.dart' as p; import 'package:path/path.dart'; import 'package:universal_io/io.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; + class RenameDialog extends StatefulWidget { final String oldPath; final String inputDecoration; @@ -41,17 +43,17 @@ class _RenameDialogState extends State { decoration: InputDecoration(labelText: widget.inputDecoration), validator: (value) { if (value!.isEmpty) { - return tr('widgets.rename.validator.empty'); + return tr(LocaleKeys.widgets_rename_validator_empty); } if (value.contains(p.separator)) { - return tr('widgets.rename.validator.contains'); + return tr(LocaleKeys.widgets_rename_validator_contains); } var newPath = join(dirname(widget.oldPath), value); if (FileSystemEntity.typeSync(newPath) != FileSystemEntityType.notFound) { - return tr('widgets.rename.validator.exists'); + return tr(LocaleKeys.widgets_rename_validator_exists); } return null; }, @@ -69,7 +71,7 @@ class _RenameDialogState extends State { actions: [ TextButton( onPressed: () => Navigator.of(context).pop(false), - child: Text(tr('widgets.rename.no')), + child: Text(tr(LocaleKeys.widgets_rename_no)), ), TextButton( onPressed: () { @@ -78,7 +80,7 @@ class _RenameDialogState extends State { Navigator.of(context).pop(newName); } }, - child: Text(tr('widgets.rename.yes')), + child: Text(tr(LocaleKeys.widgets_rename_yes)), ), ], content: form, diff --git a/lib/widgets/sorting_mode_selector.dart b/lib/widgets/sorting_mode_selector.dart index 46f438ff..1b987e31 100644 --- a/lib/widgets/sorting_mode_selector.dart +++ b/lib/widgets/sorting_mode_selector.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:gitjournal/core/sorting_mode.dart'; +import 'package:gitjournal/generated/locale_keys.g.dart'; import 'package:gitjournal/settings/settings_screen.dart'; class SortingModeSelector extends StatefulWidget { @@ -28,14 +29,14 @@ class _SortingModeSelectorState extends State { @override Widget build(BuildContext context) { var children = [ - SettingsHeader(tr('settings.sortingMode.field')), + SettingsHeader(tr(LocaleKeys.settings_sortingMode_field)), for (var sf in SortingField.options) _buildSortingTile(sf), - SettingsHeader(tr('settings.sortingMode.order')), + SettingsHeader(tr(LocaleKeys.settings_sortingMode_order)), for (var so in SortingOrder.options) _buildSortingOrderTile(so), ]; return AlertDialog( - title: Text(tr("widgets.SortingOrderSelector.title")), + title: Text(tr(LocaleKeys.widgets_SortingOrderSelector_title)), content: SingleChildScrollView( child: Column( children: children, @@ -48,7 +49,7 @@ class _SortingModeSelectorState extends State { OutlinedButton( key: const ValueKey("Cancel"), child: Text( - tr('settings.cancel'), + tr(LocaleKeys.settings_cancel), style: Theme.of(context).textTheme.bodyText2, ), onPressed: () { @@ -58,7 +59,7 @@ class _SortingModeSelectorState extends State { OutlinedButton( key: const ValueKey("Ok"), child: Text( - tr('settings.ok'), + tr(LocaleKeys.settings_ok), style: Theme.of(context).textTheme.bodyText2, ), onPressed: () {