From 32665cf9dd26a00b4f95cb43164aa7ccb17f2fa4 Mon Sep 17 00:00:00 2001 From: David Taylor Date: Tue, 19 Nov 2024 20:45:18 +0000 Subject: [PATCH] DEV: Consolidate i18n import paths (#29804) Enables our new eslint rules which enforce consistent i18n imports. For more info, see https://github.com/discourse/lint-configs/commit/0d58b40cd7d170a9f70bcef5c173f95eeb498298 --- .../components/admin-backups-actions.gjs | 4 +- .../addon/components/admin-backups-logs.js | 4 +- .../components/admin-config-area-card.gjs | 6 +- .../about/contact-information.gjs | 5 +- .../about/general-settings.gjs | 5 +- .../about/your-organization.gjs | 5 +- .../admin-config-area-empty-list.gjs | 2 +- .../admin-config-areas/emojis-list.gjs | 2 +- .../admin-config-areas/emojis-settings.gjs | 2 +- .../admin-config-areas/flags-settings.gjs | 2 +- .../components/admin-config-areas/flags.gjs | 2 +- .../look-and-feel-themes.gjs | 4 +- .../admin-filtered-site-settings.gjs | 2 +- .../addon/components/admin-flag-item.gjs | 2 +- .../addon/components/admin-flags-form.gjs | 5 +- .../addon/components/admin-page-header.gjs | 2 +- .../addon/components/admin-page-subheader.gjs | 2 +- .../components/admin-penalty-post-action.js | 4 +- .../addon/components/admin-penalty-reason.js | 6 +- .../addon/components/admin-permalink-form.gjs | 2 +- .../components/admin-plugin-config-area.gjs | 4 +- .../components/admin-plugin-config-page.gjs | 2 +- .../components/admin-plugins-list-item.gjs | 2 +- .../addon/components/admin-plugins-list.gjs | 2 +- .../components/admin-report-storage-stats.js | 4 +- .../admin/addon/components/admin-report.js | 6 +- .../admin/addon/components/admin-reports.gjs | 2 +- .../components/admin-section-landing-item.gjs | 2 +- .../admin-site-settings-filter-controls.gjs | 2 +- .../addon/components/admin-theme-editor.js | 4 +- .../addon/components/admin-user-field-item.js | 6 +- .../addon/components/admin-watched-word.gjs | 2 +- .../components/dashboard-new-feature-item.gjs | 9 +-- .../components/dashboard-new-features.gjs | 2 +- .../addon/components/dashboard-problems.gjs | 2 +- .../addon/components/email-styles-editor.js | 6 +- .../admin/addon/components/embeddable-host.js | 4 +- .../admin/addon/components/emoji-uploader.js | 6 +- .../addon/components/emoji-value-list.js | 4 +- .../addon/components/file-size-input.gjs | 12 +-- .../addon/components/form-template/form.js | 4 +- .../components/form-template/row-item.js | 4 +- .../admin/addon/components/images-uploader.js | 4 +- .../addon/components/install-theme-item.gjs | 2 +- .../admin/addon/components/ip-lookup.js | 12 +-- .../addon/components/modal/badge-preview.js | 6 +- .../modal/delete-posts-confirmation.js | 4 +- .../modal/delete-user-posts-progress.js | 4 +- .../components/modal/edit-badge-groupings.js | 6 +- .../modal/form-template-validation-options.js | 10 +-- .../addon/components/modal/install-theme.gjs | 17 ++--- .../modal/merge-users-confirmation.js | 4 +- .../components/modal/merge-users-progress.js | 6 +- .../addon/components/modal/penalize-user.js | 4 +- .../admin/addon/components/modal/reseed.js | 4 +- .../addon/components/modal/start-backup.js | 4 +- .../components/modal/watched-word-testing.gjs | 2 +- .../admin/addon/components/permalink-form.js | 18 ++--- .../schema-theme-setting/editor.gjs | 4 +- .../schema-theme-setting/number-field.gjs | 8 +- .../schema-theme-setting/types/models.gjs | 11 +-- .../schema-theme-setting/types/string.gjs | 6 +- .../components/screened-ip-address-form.js | 16 ++-- .../addon/components/secret-value-list.js | 4 +- .../site-settings/file-types-list.gjs | 5 +- .../admin/addon/components/tags-uploader.gjs | 2 +- .../addon/components/theme-settings-editor.js | 12 +-- .../addon/components/theme-upload-add.js | 8 +- .../addon/components/themes-grid-card.gjs | 7 +- .../addon/components/themes-list-item.gjs | 2 +- .../admin/addon/components/themes-list.js | 22 +++--- .../addon/components/uppy-backup-uploader.gjs | 2 +- .../addon/components/watched-word-form.js | 6 +- .../addon/components/watched-word-uploader.js | 4 +- .../addon/components/webhook-event-chooser.js | 4 +- .../admin/addon/components/webhook-event.js | 10 +-- .../admin/addon/components/webhook-events.js | 14 ++-- .../admin/addon/components/webhook-status.gjs | 4 +- .../addon/controllers/admin-api-keys-new.js | 12 +-- .../addon/controllers/admin-backups-index.js | 8 +- .../addon/controllers/admin-badges/award.js | 6 +- .../addon/controllers/admin-badges/show.js | 12 +-- .../admin-customize-colors-show.js | 10 +-- .../controllers/admin-customize-colors.js | 4 +- .../admin-customize-email-style-edit.js | 8 +- .../admin-customize-email-templates-edit.js | 4 +- .../admin-customize-themes-edit.js | 4 +- .../admin-customize-themes-show.js | 24 +++--- .../controllers/admin-dashboard-general.js | 4 +- .../addon/controllers/admin-email-index.js | 6 +- .../admin-logs-screened-ip-addresses.js | 12 +-- .../admin-logs-staff-action-logs.js | 6 +- .../controllers/admin-permalinks-index.js | 8 +- .../controllers/admin-search-logs-index.js | 8 +- .../controllers/admin-search-logs-term.js | 10 +-- .../addon/controllers/admin-site-text-edit.js | 4 +- .../addon/controllers/admin-user-badges.js | 4 +- .../addon/controllers/admin-user-fields.js | 4 +- .../addon/controllers/admin-user-index.js | 72 +++++++++--------- .../controllers/admin-users-list-show.js | 8 +- .../controllers/admin-watched-words-action.js | 10 +-- .../addon/controllers/admin-web-hooks-edit.js | 16 ++-- .../controllers/admin-web-hooks-index.js | 4 +- .../addon/controllers/admin-web-hooks-show.js | 4 +- .../admin/addon/helpers/post-action-title.js | 6 +- .../admin/addon/lib/template-form-fields.js | 62 ++++++++-------- .../admin/addon/mixins/setting-component.js | 14 ++-- .../admin/addon/mixins/setting-object.js | 4 +- .../admin/addon/models/admin-plugin.js | 6 +- .../admin/addon/models/admin-user.js | 8 +- .../admin/addon/models/color-scheme-color.js | 6 +- .../admin/addon/models/color-scheme.js | 6 +- .../admin/addon/models/flag-type.js | 4 +- .../javascripts/admin/addon/models/report.js | 4 +- .../admin/addon/models/screened-email.js | 4 +- .../admin/addon/models/screened-ip-address.js | 4 +- .../admin/addon/models/screened-url.js | 4 +- .../admin/addon/models/site-setting.js | 4 +- .../admin/addon/models/staff-action-log.js | 6 +- .../javascripts/admin/addon/models/theme.js | 6 +- .../admin/addon/models/watched-word.js | 4 +- .../admin/addon/routes/admin-backups-logs.js | 4 +- .../addon/routes/admin-backups-settings.js | 4 +- .../admin/addon/routes/admin-backups.js | 20 ++--- .../admin/addon/routes/admin-badges.js | 4 +- .../admin/addon/routes/admin-badges/show.js | 4 +- .../addon/routes/admin-config-flags-edit.js | 4 +- .../addon/routes/admin-config-flags-index.js | 4 +- .../routes/admin-config-flags-settings.js | 4 +- .../admin-config-look-and-feel-themes.js | 4 +- .../routes/admin-config-look-and-feel.js | 4 +- .../admin-customize-email-style-edit.js | 4 +- .../routes/admin-customize-themes-edit.js | 4 +- .../routes/admin-customize-themes-show.js | 4 +- .../addon/routes/admin-customize-themes.js | 4 +- .../addon/routes/admin-emojis-settings.js | 4 +- .../admin/addon/routes/admin-emojis.js | 4 +- .../routes/admin-plugins-show-settings.js | 4 +- .../admin/addon/routes/admin-plugins.js | 4 +- .../routes/admin-site-settings-category.js | 4 +- .../routes/admin-watched-words-action.js | 4 +- .../admin/addon/routes/admin-whats-new.js | 4 +- .../javascripts/admin/addon/routes/admin.js | 4 +- .../admin/addon/services/admin-emojis.js | 4 +- .../admin/addon/services/admin-tools.js | 9 +-- .../addon/helpers/bound-i18n.js | 4 +- .../addon/helpers/i18n-yes-no.js | 4 +- .../discourse-common/addon/helpers/i18n.js | 6 +- .../addon/lib/icon-library.js | 4 +- .../src/features/image-controls.js | 14 ++-- .../app/components/about-page-user.gjs | 2 +- .../app/components/about-page-users.gjs | 2 +- .../discourse/app/components/about-page.gjs | 41 +++++----- .../discourse/app/components/ace-editor.gjs | 6 +- .../app/components/activation-email-form.gjs | 2 +- .../app/components/auth-token-dropdown.js | 6 +- .../app/components/avatar-uploader.js | 6 +- .../discourse/app/components/back-button.gjs | 2 +- .../discourse/app/components/backup-codes.gjs | 2 +- .../discourse/app/components/badge-card.gjs | 2 +- .../discourse/app/components/badge-title.js | 4 +- .../components/bookmark-actions-dropdown.js | 18 ++--- .../discourse/app/components/bookmark-icon.js | 4 +- .../discourse/app/components/bookmark-list.js | 4 +- .../app/components/bookmark-menu.gjs | 21 +++--- .../bulk-actions/notification-level.js | 6 +- .../components/bulk-group-member-dropdown.js | 22 +++--- .../bulk-select-topics-dropdown.gjs | 2 +- .../components/calendar-date-time-input.js | 6 +- .../components/category-permission-row.gjs | 10 +-- .../app/components/color-picker-choice.js | 4 +- .../discourse/app/components/color-picker.js | 4 +- .../app/components/composer-action-title.js | 4 +- .../app/components/composer-editor.js | 10 +-- .../app/components/composer-messages.js | 8 +- .../app/components/composer-save-button.gjs | 4 +- .../app/components/composer-title.js | 8 +- .../components/conditional-loading-section.js | 4 +- .../discourse/app/components/count-i18n.gjs | 2 +- .../discourse/app/components/d-button.gjs | 8 +- .../discourse/app/components/d-document.js | 4 +- .../discourse/app/components/d-editor.js | 10 +-- .../app/components/d-toggle-switch.gjs | 4 +- .../discourse/app/components/date-input.js | 8 +- .../discourse/app/components/date-picker.js | 8 +- .../desktop-notification-config.gjs | 2 +- .../dialog-messages/confirm-session.gjs | 22 +++--- .../second-factor-confirm-phrase.js | 4 +- .../app/components/discourse-linked-text.js | 4 +- .../app/components/discovery/topics.js | 12 +-- .../app/components/edit-category-settings.js | 26 +++---- .../app/components/edit-category-tab.js | 4 +- .../app/components/edit-topic-timer-form.js | 6 +- .../app/components/email-dropdown.js | 8 +- .../discourse/app/components/fast-edit.gjs | 4 +- .../app/components/flag-action-type.js | 14 ++-- .../discourse/app/components/flat-button.js | 4 +- .../app/components/future-date-input.js | 6 +- .../app/components/generated-invite-link.gjs | 2 +- .../discourse/app/components/global-notice.js | 18 ++--- .../app/components/group-activity-filter.gjs | 2 +- .../app/components/group-flair-inputs.js | 4 +- .../components/group-manage-email-settings.js | 6 +- .../components/group-manage-logs-filter.js | 8 +- .../components/group-manage-save-button.js | 8 +- .../app/components/group-member-dropdown.js | 26 +++---- .../app/components/group-membership-button.js | 4 +- .../discourse/app/components/group-post.js | 4 +- .../app/components/group-selector.js | 4 +- .../components/group-smtp-email-settings.gjs | 7 +- .../groups-form-interaction-fields.js | 24 +++--- .../groups-form-membership-fields.js | 4 +- .../components/groups-form-profile-fields.js | 16 ++-- .../app/components/header/dropdown.gjs | 2 +- .../app/components/header/sidebar-toggle.gjs | 2 +- .../app/components/header/topic/info.gjs | 2 +- .../app/components/header/topic/status.gjs | 4 +- .../app/components/header/user-dropdown.gjs | 2 +- .../header/user-dropdown/notifications.gjs | 2 +- .../user-dropdown/user-status-bubble.gjs | 6 +- .../app/components/ignored-user-list.gjs | 2 +- .../discourse/app/components/invite-panel.js | 44 +++++------ .../app/components/local-login-form.js | 8 +- .../app/components/login-page-cta.gjs | 2 +- .../app/components/modal/bookmark.js | 10 +-- .../components/modal/bulk-topic-actions.gjs | 2 +- .../app/components/modal/change-owner.js | 4 +- .../app/components/modal/change-timestamp.js | 4 +- .../app/components/modal/create-account.js | 24 +++--- .../app/components/modal/create-invite.gjs | 11 ++- .../modal/customize-form-template-view.js | 4 +- .../components/modal/delete-topic-confirm.js | 4 +- .../app/components/modal/discard-draft.gjs | 2 +- .../app/components/modal/dismiss-new.gjs | 4 +- .../app/components/modal/dismiss-read.gjs | 2 +- .../app/components/modal/edit-slow-mode.js | 26 +++---- .../app/components/modal/edit-topic-timer.js | 26 +++---- .../app/components/modal/feature-topic.js | 14 ++-- .../discourse/app/components/modal/flag.js | 16 ++-- .../app/components/modal/forgot-password.js | 8 +- .../app/components/modal/grant-badge.js | 4 +- .../app/components/modal/group-add-members.js | 4 +- .../discourse/app/components/modal/history.js | 8 +- .../modal/ignore-duration-with-username.js | 4 +- .../modal/keyboard-shortcuts-help.js | 22 +++--- .../discourse/app/components/modal/login.js | 14 ++-- .../app/components/modal/move-to-topic.js | 4 +- .../modal/request-group-membership-form.js | 4 +- .../revise-and-reject-post-reviewable.js | 4 +- .../modal/second-factor-add-security-key.js | 12 +-- .../modal/second-factor-add-totp.js | 4 +- .../modal/second-factor-backup-edit.js | 6 +- .../app/components/modal/share-topic.js | 4 +- .../components/modal/sidebar-section-form.js | 30 ++++---- .../components/modal/spreadsheet-editor.gjs | 17 ++--- .../components/more-topics/browse-more.gjs | 10 +-- .../discourse/app/components/nav-item.gjs | 4 +- .../notification-consent-banner.gjs | 2 +- .../discourse/app/components/number-field.js | 4 +- .../app/components/offline-indicator.gjs | 2 +- .../app/components/pick-files-button.js | 4 +- .../post-text-selection-toolbar.gjs | 4 +- .../discourse/app/components/post/menu.gjs | 2 +- .../app/components/post/menu/buttons/like.gjs | 2 +- .../app/components/post/menu/buttons/read.gjs | 2 +- .../components/post/menu/buttons/replies.gjs | 2 +- .../components/post/menu/buttons/reply.gjs | 2 +- .../app/components/powered-by-discourse.gjs | 2 +- .../app/components/preference-checkbox.gjs | 2 +- .../app/components/private-message-glyph.gjs | 2 +- .../app/components/related-messages.gjs | 2 +- .../app/components/relative-time-picker.gjs | 12 +-- .../components/reviewable-created-by-name.gjs | 2 +- .../app/components/reviewable-item.js | 12 +-- .../discourse/app/components/score-value.gjs | 6 +- .../app/components/search-advanced-options.js | 38 +++++----- .../search-menu/browser-search-tip.js | 4 +- .../search-menu/results/initial-options.js | 6 +- .../search-menu/results/random-quick-tip.js | 16 ++-- .../app/components/search-text-field.js | 4 +- .../app/components/second-factor-form.js | 14 ++-- .../app/components/security-key-dropdown.js | 6 +- .../app/components/security-key-form.gjs | 2 +- .../discourse/app/components/share-panel.js | 4 +- .../app/components/shared-draft-controls.js | 4 +- .../sidebar/anonymous/categories-section.gjs | 2 +- .../sidebar/anonymous/tags-section.gjs | 2 +- .../app/components/sidebar/back-to-forum.gjs | 2 +- .../common/all-categories-section-link.gjs | 2 +- .../sidebar/common/all-tags-section-link.gjs | 2 +- .../edit-navigation-menu/categories-modal.gjs | 2 +- .../sidebar/edit-navigation-menu/modal.gjs | 11 +-- .../edit-navigation-menu/tags-modal.gjs | 2 +- .../components/sidebar/filter-no-results.gjs | 2 +- .../app/components/sidebar/filter.gjs | 2 +- .../components/sidebar/more-section-links.gjs | 2 +- .../components/sidebar/section-form-link.gjs | 2 +- .../app/components/sidebar/section.gjs | 2 +- .../sidebar/user/categories-section.gjs | 2 +- .../sidebar/user/messages-section.gjs | 2 +- .../components/sidebar/user/tags-section.gjs | 2 +- .../app/components/signup-page-cta.gjs | 2 +- .../app/components/signup-progress-bar.gjs | 4 +- .../app/components/small-user-list.gjs | 2 +- .../app/components/software-update-prompt.gjs | 2 +- .../app/components/suggested-topics.gjs | 2 +- .../app/components/table-header-toggle.gjs | 12 +-- .../app/components/tag-groups-form.js | 6 +- .../discourse/app/components/tag-info.js | 22 +++--- .../discourse/app/components/tag-list.js | 4 +- .../app/components/tags-admin-dropdown.js | 14 ++-- .../discourse/app/components/text-field.js | 4 +- .../discourse/app/components/time-gap.gjs | 8 +- .../app/components/time-shortcut-picker.js | 4 +- .../components/token-based-auth-dropdown.js | 6 +- .../app/components/topic-dismiss-buttons.gjs | 12 +-- .../app/components/topic-entrance.js | 12 +-- .../app/components/topic-list-item.js | 4 +- .../app/components/topic-list/list.gjs | 2 +- .../topic-list/new-list-header-controls.gjs | 2 +- .../topic-list/participant-groups.gjs | 2 +- .../topic-list/topic-bulk-select-dropdown.gjs | 2 +- .../app/components/topic-list/topic-cell.gjs | 4 +- .../components/topic-list/topic-excerpt.gjs | 2 +- .../topic-list/topic-list-header-column.gjs | 2 +- .../topic-list/topic-list-header.gjs | 2 +- .../components/topic-list/topic-list-item.gjs | 2 +- .../topic-list/unread-indicator.gjs | 2 +- .../topic-map/private-message-map.gjs | 6 +- .../components/topic-map/topic-map-link.gjs | 2 +- .../topic-map/topic-map-summary.gjs | 13 ++-- .../topic-map/topic-views-chart.gjs | 7 +- .../app/components/topic-map/topic-views.gjs | 2 +- .../app/components/topic-post-badges.gjs | 2 +- .../discourse/app/components/topic-status.gjs | 2 +- .../components/topic-timeline/container.gjs | 2 +- .../components/topic-timeline/scroller.gjs | 4 +- .../app/components/topic-timer-info.js | 6 +- .../components/two-factor-backup-dropdown.js | 6 +- .../app/components/uppy-image-uploader.js | 4 +- .../app/components/user-card-contents.js | 12 +-- .../app/components/user-flag-percentage.js | 10 +-- .../components/user-menu/bookmarks-list.js | 8 +- .../app/components/user-menu/messages-list.js | 8 +- .../user-menu/notifications-list.js | 8 +- .../components/user-menu/reviewables-list.js | 4 +- .../components/user-notification-schedule.js | 6 +- .../passkey-options-dropdown.js | 6 +- .../user-preferences/rename-passkey.gjs | 4 +- .../user-preferences/user-passkeys.gjs | 19 +++-- .../discourse/app/components/user-stat.gjs | 2 +- .../app/components/user-status-picker.gjs | 2 +- .../discourse/app/components/user-stream.js | 4 +- .../app/components/user-summary-section.gjs | 2 +- .../discourse/app/components/user-tip.gjs | 6 +- .../app/components/username-preference.gjs | 9 +-- .../app/controllers/account-created-index.js | 4 +- .../discourse/app/controllers/badges/show.js | 4 +- .../app/controllers/confirm-new-email.js | 4 +- .../app/controllers/confirm-old-email.js | 4 +- .../app/controllers/edit-category-tabs.js | 14 ++-- .../discourse/app/controllers/exception.js | 28 +++---- .../app/controllers/full-page-search.js | 24 +++--- .../discourse/app/controllers/group.js | 8 +- .../discourse/app/controllers/groups-index.js | 4 +- .../discourse/app/controllers/groups-new.js | 9 +-- .../discourse/app/controllers/invites-show.js | 31 ++++---- .../discourse/app/controllers/login.js | 16 ++-- .../app/controllers/password-reset.js | 6 +- .../app/controllers/preferences/account.js | 16 ++-- .../app/controllers/preferences/email.js | 18 ++--- .../app/controllers/preferences/emails.js | 36 ++++----- .../app/controllers/preferences/interface.js | 18 ++--- .../preferences/navigation-menu.js | 4 +- .../controllers/preferences/notifications.js | 12 +-- .../app/controllers/preferences/profile.js | 10 +-- .../controllers/preferences/second-factor.js | 16 ++-- .../app/controllers/preferences/security.js | 12 +-- .../app/controllers/preferences/tracking.js | 46 ++++++------ .../discourse/app/controllers/review-index.js | 10 +-- .../app/controllers/review-settings.js | 4 +- .../app/controllers/second-factor-auth.js | 18 ++--- .../discourse/app/controllers/signup.js | 24 +++--- .../discourse/app/controllers/tags-index.js | 10 +-- .../discourse/app/controllers/topic.js | 28 +++---- .../controllers/user-activity-bookmarks.js | 4 +- .../app/controllers/user-activity.js | 10 +-- .../app/controllers/user-invited-show.js | 6 +- .../discourse/app/controllers/user-invited.js | 14 ++-- .../app/controllers/user-notifications.gjs | 6 +- .../user-private-messages-group.js | 6 +- .../controllers/user-private-messages-user.js | 6 +- .../app/controllers/user-private-messages.js | 6 +- .../discourse/app/controllers/user.js | 18 ++--- .../components/fk/control-wrapper.gjs | 2 +- .../components/fk/control/question.gjs | 2 +- .../form-kit/components/fk/errors-summary.gjs | 2 +- .../app/form-kit/components/fk/form.gjs | 4 +- .../discourse/app/form-kit/lib/validator.js | 20 ++--- .../discourse/app/helpers/avatar.js | 4 +- .../discourse/app/helpers/category-link.js | 6 +- .../app/helpers/directory-item-label.js | 4 +- .../helpers/directory-table-header-title.js | 4 +- .../discourse/app/helpers/number.js | 4 +- .../discourse/app/helpers/period-title.js | 22 +++--- .../helpers/reviewable-history-description.js | 6 +- .../app/helpers/reviewable-status.js | 4 +- .../discourse/app/helpers/theme-i18n.js | 4 +- .../discourse/app/helpers/user-status.js | 6 +- .../instance-initializers/auth-complete.js | 6 +- .../app/instance-initializers/logout.js | 4 +- .../more-topics-tabs.gjs | 2 +- .../instance-initializers/post-decorations.js | 6 +- .../instance-initializers/sharing-sources.js | 8 +- .../video-placeholder.js | 4 +- .../discourse/app/lib/ajax-error.js | 8 +- .../javascripts/discourse/app/lib/bookmark.js | 12 +-- .../discourse/app/lib/click-track.js | 4 +- .../discourse/app/lib/codeblock-buttons.js | 8 +- .../discourse/app/lib/color-scheme-picker.js | 6 +- .../app/lib/composer-video-thumbnail-uppy.js | 4 +- .../discourse/app/lib/composer/toolbar.js | 8 +- .../javascripts/discourse/app/lib/computed.js | 11 ++- .../app/lib/desktop-notifications.js | 8 +- .../discourse/app/lib/export-csv.js | 4 +- .../discourse/app/lib/export-result.js | 6 +- .../app/lib/form-template-validation.js | 18 ++--- .../discourse/app/lib/formatter.js | 36 ++++----- .../javascripts/discourse/app/lib/lightbox.js | 18 ++--- .../lib/notification-types/admin-problems.js | 4 +- .../app/lib/notification-types/base.js | 4 +- .../notification-types/bookmark-reminder.js | 4 +- .../app/lib/notification-types/custom.js | 4 +- .../lib/notification-types/granted-badge.js | 4 +- .../group-message-summary.js | 4 +- .../notification-types/invitee-accepted.js | 4 +- .../notification-types/liked-consolidated.js | 4 +- .../app/lib/notification-types/liked.js | 6 +- .../notification-types/linked-consolidated.js | 4 +- .../membership-request-accepted.js | 4 +- .../membership-request-consolidated.js | 4 +- .../app/lib/notification-types/moved-post.js | 4 +- .../lib/notification-types/new-features.js | 4 +- .../notification-types/watching-first-post.js | 4 +- .../discourse/app/lib/post-action-feedback.js | 4 +- .../app/lib/register-topic-footer-button.js | 8 +- .../discourse/app/lib/render-tags.js | 4 +- .../app/lib/reviewable-types/base.js | 6 +- .../app/lib/reviewable-types/flagged-post.js | 6 +- .../app/lib/reviewable-types/queued-post.js | 6 +- .../app/lib/reviewable-types/user.js | 4 +- .../javascripts/discourse/app/lib/search.js | 12 +-- .../app/lib/sidebar/admin-sidebar.js | 12 +-- .../community-section/about-section-link.js | 6 +- .../community-section/badges-section-link.js | 6 +- .../everything-section-link.js | 10 +-- .../community-section/faq-section-link.js | 8 +- .../community-section/groups-section-link.js | 6 +- .../community-section/users-section-link.js | 6 +- .../app/lib/sidebar/custom-sections.js | 4 +- .../discourse/app/lib/sidebar/section.js | 4 +- .../category-section-link.js | 6 +- .../community-section/admin-section-link.js | 6 +- .../user/community-section/admin-section.js | 4 +- .../community-section/invite-section-link.js | 6 +- .../my-posts-section-link.js | 12 +-- .../community-section/review-section-link.js | 8 +- .../group-message-section-link.js | 6 +- .../personal-message-section-link.js | 6 +- .../user/tags-section/tag-section-link.js | 6 +- .../discourse/app/lib/site-setting-filter.js | 6 +- .../javascripts/discourse/app/lib/text.js | 6 +- .../app/lib/textarea-text-manipulation.js | 4 +- .../discourse/app/lib/theme-selector.js | 4 +- .../discourse/app/lib/time-shortcut.js | 4 +- .../discourse/app/lib/transform-post.js | 6 +- .../javascripts/discourse/app/lib/uploads.js | 28 +++---- .../discourse/app/lib/uppy/composer-upload.js | 21 +++--- .../discourse/app/lib/uppy/uppy-upload.js | 4 +- .../app/lib/user-menu/message-item.js | 4 +- .../discourse/app/lib/user-menu/tab.js | 4 +- .../discourse/app/lib/utilities.js | 10 +-- .../javascripts/discourse/app/lib/webauthn.js | 18 ++--- .../discourse/app/mixins/name-validation.js | 8 +- .../app/mixins/password-validation.js | 18 ++--- .../app/mixins/user-fields-validation.js | 6 +- .../app/mixins/username-validation.js | 20 ++--- .../discourse/app/models/badge-grouping.js | 4 +- .../discourse/app/models/bookmark.js | 12 +-- .../discourse/app/models/category-list.js | 12 +-- .../discourse/app/models/composer.js | 18 ++--- .../discourse/app/models/group-history.js | 4 +- .../discourse/app/models/login-method.js | 8 +- .../discourse/app/models/nav-item.js | 6 +- .../discourse/app/models/permission-type.js | 4 +- .../discourse/app/models/post-stream.js | 4 +- .../javascripts/discourse/app/models/post.js | 4 +- .../discourse/app/models/reviewable.js | 12 +-- .../javascripts/discourse/app/models/topic.js | 10 +-- .../discourse/app/models/trust-level.js | 6 +- .../discourse/app/models/user-draft.js | 6 +- .../javascripts/discourse/app/models/user.js | 4 +- .../list/new-list-header-controls.js | 10 +-- .../raw-views/list/post-count-or-badges.js | 4 +- .../raw-views/topic-bulk-select-dropdown.gjs | 2 +- .../app/raw-views/topic-list-header-column.js | 4 +- .../discourse/app/raw-views/topic-status.js | 4 +- .../javascripts/discourse/app/routes/about.js | 4 +- .../discourse/app/routes/account-created.js | 4 +- .../discourse/app/routes/activate-account.js | 4 +- .../discourse/app/routes/application.js | 10 +-- .../discourse/app/routes/badges-index.js | 4 +- .../app/routes/build-category-route.js | 6 +- .../app/routes/build-group-messages-route.js | 6 +- .../build-private-messages-group-route.js | 8 +- .../routes/build-private-messages-route.js | 11 +-- .../discourse/app/routes/build-topic-route.js | 6 +- .../discourse/app/routes/confirm-new-email.js | 4 +- .../discourse/app/routes/confirm-old-email.js | 4 +- .../app/routes/discovery-categories.js | 4 +- .../discourse/app/routes/discovery-filter.js | 6 +- .../discourse/app/routes/edit-category.js | 4 +- .../discourse/app/routes/email-login.js | 4 +- .../javascripts/discourse/app/routes/faq.js | 4 +- .../discourse/app/routes/full-page-search.js | 4 +- .../app/routes/group-activity-posts.js | 4 +- .../app/routes/group-activity-topics.js | 4 +- .../discourse/app/routes/group-index.js | 4 +- .../app/routes/group-manage-categories.js | 4 +- .../app/routes/group-manage-email.js | 4 +- .../app/routes/group-manage-interaction.js | 4 +- .../discourse/app/routes/group-manage-logs.js | 4 +- .../app/routes/group-manage-membership.js | 4 +- .../app/routes/group-manage-profile.js | 4 +- .../discourse/app/routes/group-manage-tags.js | 4 +- .../discourse/app/routes/group-manage.js | 4 +- .../discourse/app/routes/group-messages.js | 4 +- .../discourse/app/routes/group-permissions.js | 4 +- .../discourse/app/routes/group-requests.js | 4 +- .../discourse/app/routes/groups-index.js | 4 +- .../discourse/app/routes/groups-new.js | 4 +- .../discourse/app/routes/invites-show.js | 4 +- .../discourse/app/routes/new-category.js | 4 +- .../discourse/app/routes/new-invite.js | 4 +- .../discourse/app/routes/new-message.js | 10 +-- .../discourse/app/routes/password-reset.js | 4 +- .../app/routes/preferences-account.js | 4 +- .../discourse/app/routes/preferences.js | 6 +- .../discourse/app/routes/privacy.js | 4 +- .../discourse/app/routes/review.js | 4 +- .../discourse/app/routes/tag-groups-new.js | 4 +- .../discourse/app/routes/tag-groups.js | 4 +- .../discourse/app/routes/tag-show.js | 14 ++-- .../discourse/app/routes/tags-index.js | 4 +- .../javascripts/discourse/app/routes/tos.js | 4 +- .../app/routes/user-activity-bookmarks.js | 4 +- .../app/routes/user-activity-drafts.js | 8 +- .../app/routes/user-activity-index.js | 8 +- .../app/routes/user-activity-likes-given.js | 10 +-- .../app/routes/user-activity-read.js | 8 +- .../app/routes/user-activity-replies.js | 10 +-- .../app/routes/user-activity-stream.js | 4 +- .../app/routes/user-activity-topics.js | 10 +-- .../discourse/app/routes/user-activity.js | 4 +- .../discourse/app/routes/user-badges.js | 4 +- .../discourse/app/routes/user-invited-show.js | 4 +- .../discourse/app/routes/user-invited.js | 4 +- .../app/routes/user-notifications-edits.js | 4 +- .../app/routes/user-notifications-index.js | 4 +- .../user-notifications-likes-received.js | 4 +- .../app/routes/user-notifications-links.js | 4 +- .../app/routes/user-notifications-mentions.js | 4 +- .../routes/user-notifications-responses.js | 4 +- .../app/routes/user-notifications.js | 4 +- .../user-private-messages-tags-index.js | 4 +- .../routes/user-private-messages-tags-show.js | 6 +- .../discourse/app/routes/user-summary.js | 4 +- .../javascripts/discourse/app/routes/user.js | 4 +- .../javascripts/discourse/app/routes/users.js | 4 +- .../app/services/client-error-handler.js | 12 +-- .../discourse/app/services/composer.js | 56 +++++++------- .../services/deprecation-warning-handler.js | 12 +-- .../static/wizard/components/fields/image.js | 4 +- .../fields/styling-preview/index.js | 12 +-- .../static/wizard/components/wizard-step.gjs | 2 +- .../app/templates/activate-account.gjs | 2 +- .../discourse/app/widgets/button.js | 6 +- .../javascripts/discourse/app/widgets/link.js | 12 +-- .../discourse/app/widgets/post-cooked.js | 8 +- .../app/widgets/post-edits-indicator.js | 10 +-- .../discourse/app/widgets/post-gap.js | 6 +- .../discourse/app/widgets/post-menu.js | 16 ++-- .../app/widgets/post-small-action.js | 6 +- .../discourse/app/widgets/post-stream.js | 14 ++-- .../javascripts/discourse/app/widgets/post.js | 38 +++++----- .../discourse/app/widgets/poster-name.js | 4 +- .../app/widgets/topic-post-visited-line.js | 4 +- .../discourse/app/widgets/topic-status.js | 4 +- .../discourse/app/widgets/widget-dropdown.js | 6 +- .../discourse/app/widgets/widget.js | 4 +- .../acceptance/admin-badges-award-test.js | 4 +- .../admin-install-theme-modal-test.js | 4 +- .../acceptance/admin-penalize-user-test.js | 54 +++++++------- .../acceptance/admin-user-emails-test.js | 4 +- .../tests/acceptance/admin-user-index-test.js | 8 +- .../tests/acceptance/admin-users-list-test.js | 8 +- .../acceptance/admin-watched-words-test.js | 6 +- .../acceptance/category-edit-security-test.js | 4 +- .../tests/acceptance/category-edit-test.js | 6 +- .../tests/acceptance/category-new-test.js | 4 +- .../tests/acceptance/composer-actions-test.js | 12 +-- .../acceptance/composer-draft-saving-test.js | 4 +- .../acceptance/composer-messages-test.js | 12 +-- .../tests/acceptance/composer-tags-test.js | 6 +- .../tests/acceptance/composer-test.js | 34 ++++----- .../acceptance/composer-uploads-uppy-test.js | 6 +- .../tests/acceptance/create-account-test.js | 6 +- .../create-account-user-fields-test.js | 6 +- .../tests/acceptance/email-notice-test.js | 8 +- .../tests/acceptance/forgot-password-test.js | 12 +-- .../tests/acceptance/group-index-test.js | 6 +- .../group-manage-email-settings-test.js | 12 +-- .../discourse/tests/acceptance/group-test.js | 14 ++-- .../tests/acceptance/groups-new-test.js | 12 +-- .../tests/acceptance/invite-accept-test.js | 14 ++-- .../acceptance/keyboard-shortcuts-test.js | 8 +- .../acceptance/modal/login/login-test.js | 4 +- .../login/login-with-email-and-2fa-test.js | 6 +- ...email-and-hide-email-address-taken-test.js | 4 +- .../modal/login/login-with-email-test.js | 10 +-- .../tests/acceptance/new-topics-test.js | 4 +- .../tests/acceptance/password-reset-test.js | 4 +- .../tests/acceptance/personal-message-test.js | 4 +- .../tests/acceptance/post-controls-test.js | 12 +-- .../discourse/tests/acceptance/review-test.js | 6 +- .../discourse/tests/acceptance/search-test.js | 20 ++--- .../tests/acceptance/share-topic-test.js | 4 +- ...idebar-anonymous-community-section-test.js | 14 ++-- .../acceptance/sidebar-plugin-api-test.js | 4 +- .../sidebar-user-categories-section-test.js | 10 +-- .../sidebar-user-community-section-test.js | 14 ++-- .../sidebar-user-messages-section-test.js | 16 ++-- .../sidebar-user-tags-section-test.js | 8 +- .../tests/acceptance/sidebar-user-test.js | 10 +-- .../discourse/tests/acceptance/tags-test.js | 8 +- .../discourse/tests/acceptance/themes-test.js | 6 +- .../tests/acceptance/topic-admin-menu-test.js | 4 +- .../topic-discovery-tracked-test.js | 30 ++++---- .../tests/acceptance/topic-edit-timer-test.js | 55 ++++++-------- .../tests/acceptance/topic-move-posts-test.js | 42 +++++------ .../acceptance/topic-quote-button-test.js | 12 +-- .../acceptance/topic-set-slow-mode-test.js | 18 ++--- .../tests/acceptance/topic-slow-mode-test.js | 10 +-- .../discourse/tests/acceptance/topic-test.js | 12 +-- .../acceptance/user-activity-all-test.js | 6 +- .../acceptance/user-activity-likes-test.js | 6 +- .../acceptance/user-activity-replies-test.js | 6 +- .../acceptance/user-activity-topic-test.js | 6 +- .../user-bookmark-bulk-actions-test.js | 6 +- .../tests/acceptance/user-card-test.js | 8 +- .../tests/acceptance/user-menu-test.js | 44 +++++------ .../user-preferences-account-test.js | 6 +- .../acceptance/user-preferences-email-test.js | 4 +- .../user-preferences-interface-test.js | 6 +- .../user-preferences-navigation-menu-test.js | 6 +- .../user-preferences-notifications-test.js | 28 +++---- .../user-preferences-security-test.js | 4 +- .../acceptance/user-private-messages-test.js | 34 ++++----- .../acceptance/user-profile-summary-test.js | 8 +- .../discourse/tests/acceptance/user-test.js | 4 +- .../tests/acceptance/user-tips-test.js | 12 +-- .../discourse/tests/acceptance/users-test.js | 6 +- .../components/admin-page-header-test.gjs | 2 +- .../components/admin-page-subheader-test.gjs | 2 +- .../editor-test.gjs | 40 +++++----- .../components/bookmark-icon-test.js | 8 +- .../components/d-breadcrumbs-test.gjs | 2 +- .../integration/components/d-button-test.js | 8 +- .../integration/components/d-editor-test.js | 24 +++--- .../components/d-toggle-switch-test.js | 4 +- .../components/dialog-holder-test.js | 17 ++--- .../components/dismiss-new-test.js | 12 +-- .../form-kit/layout/submit-test.gjs | 6 +- .../components/search-menu-test.gjs | 4 +- .../components/secret-value-list-test.js | 4 +- .../select-kit/category-drop-test.js | 4 +- .../select-kit/future-date-input-test.js | 36 ++++----- .../select-kit/mini-tag-chooser-test.js | 10 +-- .../select-kit/single-select-test.js | 12 +-- .../components/select-kit/tag-drop-test.js | 6 +- .../topic-notifications-button-test.gjs | 18 ++--- .../topic-notifications-options-test.gjs | 4 +- .../components/site-setting-test.js | 6 +- .../integration/components/text-field-test.js | 8 +- .../components/themes-list-item-test.js | 4 +- .../components/themes-list-test.js | 6 +- .../integration/components/time-gap-test.js | 8 +- .../components/time-shortcut-picker-test.js | 18 ++--- .../user-menu/bookmarks-list-test.js | 10 +-- .../components/user-menu/likes-list-test.js | 4 +- .../components/user-menu/menu-item-test.js | 8 +- .../user-menu/messages-list-test.js | 14 ++-- .../user-menu/notifications-list-test.js | 8 +- .../other-notifications-list-test.js | 4 +- .../replies-notifications-list-test.js | 4 +- .../user-menu/reviewables-list-test.js | 4 +- .../components/watched-word-uploader-test.js | 4 +- .../post-test-with-glimmer-post-menu-test.js | 11 +-- .../components/widgets/post-test.js | 14 ++-- .../unit/components/create-account-test.js | 24 +++--- .../discourse/tests/unit/lib/computed-test.js | 26 ++----- .../tests/unit/lib/form-kit/validator-test.js | 28 +++---- .../discourse/tests/unit/lib/i18n-test.js | 74 +++++++++---------- .../bookmark-reminder-test.js | 4 +- .../notification-types/granted-badge-test.js | 4 +- .../group-message-summary-test.js | 4 +- .../liked-consolidated-test.js | 4 +- .../unit/lib/notification-types/liked-test.js | 6 +- .../linked-consolidated-test.js | 4 +- .../lib/reviewable-types/flagged-post-test.js | 6 +- .../lib/reviewable-types/queued-post-test.js | 6 +- .../discourse/tests/unit/lib/uploads-test.js | 24 +++--- .../discourse/tests/unit/localization-test.js | 22 +++--- .../tests/unit/models/user-drafts-test.js | 4 +- .../pretty-text/addon/upload-short-url.js | 4 +- .../bulk-select-bookmarks-dropdown.js | 2 +- .../components/categories-admin-dropdown.js | 10 +-- .../addon/components/category-chooser.js | 8 +- .../category-drop-more-collection.gjs | 2 +- .../addon/components/category-drop.js | 16 ++-- .../category-notifications-button.js | 4 +- .../addon/components/color-palettes.js | 4 +- .../addon/components/composer-actions.js | 42 +++++------ .../addon/components/filter-for-more.gjs | 2 +- .../addon/components/group-dropdown.js | 4 +- .../addon/components/mini-tag-chooser.js | 10 +-- .../addon/components/notifications-button.js | 4 +- .../notifications-button-row.js | 6 +- .../addon/components/notifications-filter.js | 8 +- .../addon/components/period-chooser.js | 4 +- .../period-chooser/period-chooser-row.js | 4 +- .../addon/components/pinned-button.js | 4 +- .../addon/components/pinned-options.js | 12 +-- .../select-kit/addon/components/select-kit.js | 6 +- .../select-kit/select-kit-filter.js | 6 +- .../components/select-kit/select-kit-row.js | 4 +- .../select-kit/single-select-header.js | 6 +- .../select-kit/addon/components/tag-drop.js | 14 ++-- .../components/toolbar-popup-menu-options.js | 8 +- .../components/topic-notifications-button.gjs | 7 +- .../components/user-notifications-dropdown.js | 14 ++-- .../select-kit/addon/mixins/tags.js | 4 +- eslint.config.mjs | 2 + lib/pretty_text/shims.js | 1 + .../admin/components/automation-field.gjs | 4 +- .../components/fields/da-choices-field.gjs | 4 +- .../components/fields/da-key-value-field.gjs | 6 +- .../components/fields/da-period-field.gjs | 6 +- .../admin/components/fields/da-pms-field.gjs | 14 ++-- .../admin/components/fields/da-user-field.gjs | 4 +- ...admin-plugins-discourse-automation-edit.js | 6 +- ...dmin-plugins-discourse-automation-index.js | 4 +- .../admin-chat-incoming-webhooks-list.gjs | 5 +- .../components/chat-admin-plugin-actions.gjs | 6 +- .../chat-incoming-webhook-edit-form.gjs | 7 +- ...-discourse-chat-incoming-webhooks-index.js | 4 +- .../discourse/components/browse-channels.gjs | 2 +- .../components/channels-list-direct.gjs | 2 +- .../components/channels-list-public.gjs | 2 +- .../discourse/components/channels-list.gjs | 2 +- .../chat-channel-archive-status.gjs | 6 +- .../components/chat-channel-card.gjs | 2 +- .../components/chat-channel-metadata.gjs | 4 +- .../components/chat-channel-preview-card.gjs | 2 +- .../discourse/components/chat-channel-row.gjs | 6 +- .../components/chat-channel-status.gjs | 18 ++--- .../discourse/components/chat-channel.gjs | 5 +- .../components/chat-composer-dropdown.gjs | 2 +- .../components/chat-composer-upload.gjs | 2 +- .../discourse/components/chat-composer.js | 4 +- .../discourse/components/chat-footer.gjs | 2 +- .../discourse/components/chat-header.gjs | 6 +- .../components/chat-mention-warnings.gjs | 17 ++--- .../components/chat-message-collapser.js | 4 +- .../components/chat-message-separator.gjs | 7 +- .../components/chat-message-text.gjs | 2 +- .../chat-message-thread-indicator.gjs | 2 +- .../discourse/components/chat-message.gjs | 4 +- .../components/chat-replying-indicator.gjs | 12 +-- .../chat-retention-reminder-text.gjs | 10 +-- .../discourse/components/chat-thread-list.gjs | 4 +- .../components/chat-thread-participants.gjs | 4 +- .../components/chat-thread-title-prompt.js | 10 +-- .../discourse/components/chat-thread.gjs | 4 +- .../components/chat-upload-drop-zone.gjs | 6 +- .../components/chat/composer/channel.js | 16 ++-- .../components/chat/composer/thread.js | 4 +- .../components/chat/drawer-routes/browse.gjs | 2 +- .../drawer-routes/channel-info-members.gjs | 4 +- .../drawer-routes/channel-info-settings.gjs | 4 +- .../chat/drawer-routes/channel-thread.gjs | 11 ++- .../chat/drawer-routes/channel-threads.gjs | 6 +- .../chat/drawer-routes/channels.gjs | 2 +- .../chat/drawer-routes/direct-messages.gjs | 2 +- .../components/chat/drawer-routes/threads.gjs | 2 +- .../discourse/components/chat/header/icon.gjs | 6 +- .../chat/message-creator/add-members.gjs | 4 +- .../components/chat/message-creator/group.gjs | 4 +- .../components/chat/message-creator/list.gjs | 4 +- .../chat/message-creator/members-count.gjs | 4 +- .../chat/message-creator/members-selector.gjs | 4 +- .../chat/message-creator/members.gjs | 6 +- .../chat/message-creator/new-group.gjs | 4 +- .../chat/message-creator/search-input.gjs | 4 +- .../chat/message-creator/search.gjs | 4 +- .../components/chat/message-creator/user.gjs | 4 +- .../components/chat/message/error.gjs | 2 +- .../components/chat/message/info.gjs | 2 +- .../components/chat/modal/archive-channel.gjs | 11 ++- .../components/chat/modal/create-channel.js | 36 ++++----- .../components/chat/modal/delete-channel.gjs | 7 +- .../chat/modal/delete-messages-confirm.gjs | 2 +- .../chat/modal/edit-channel-name.gjs | 2 +- .../chat/modal/move-message-to-channel.gjs | 5 +- .../components/chat/modal/thread-settings.gjs | 2 +- .../chat/modal/toggle-channel-status.gjs | 7 +- .../components/chat/navbar/back-button.gjs | 4 +- .../chat/navbar/browse-channels-button.gjs | 4 +- .../chat/navbar/close-thread-button.gjs | 2 +- .../chat/navbar/close-threads-button.gjs | 4 +- .../chat/navbar/new-direct-message-button.gjs | 4 +- .../chat/navbar/threads-list-button.gjs | 4 +- .../notices/mention_without_membership.gjs | 2 +- .../chat/routes/channel-info-members.gjs | 11 ++- .../chat/routes/channel-info-nav.gjs | 2 +- .../chat/routes/channel-info-settings.gjs | 49 ++++++------ .../components/chat/routes/channel-info.gjs | 2 +- .../components/chat/routes/channels.gjs | 2 +- .../chat/routes/direct-messages.gjs | 2 +- .../components/chat/routes/threads.gjs | 2 +- .../components/chat/selection-manager.gjs | 6 +- .../components/chat/thread-list/header.gjs | 5 +- .../components/chat/thread-list/item.gjs | 2 +- .../chat/thread/header-unread-indicator.gjs | 4 +- .../components/chat/thread/header.gjs | 14 ++-- .../components/reviewable-chat-message.gjs | 2 +- .../toggle-channel-membership-button.gjs | 14 ++-- .../components/user-threads/index.gjs | 2 +- .../user-preferences-nav/chat-preferences.gjs | 2 +- .../discourse/controllers/preferences-chat.js | 24 +++--- .../discourse/helpers/format-chat-date.js | 8 +- .../discourse/initializers/chat-decorators.js | 8 +- .../discourse/initializers/chat-setup.js | 10 +-- .../discourse/initializers/chat-sidebar.js | 30 ++++---- .../discourse/initializers/chat-user-menu.js | 16 ++-- .../discourse/lib/chat-composer-buttons.js | 6 +- .../discourse/lib/chat-message-flag.js | 4 +- .../discourse/lib/chat-message-interactor.js | 22 +++--- .../discourse/lib/get-reaction-text.js | 18 ++--- .../javascripts/discourse/routes/chat.js | 4 +- .../services/chat-subscriptions-manager.js | 4 +- .../lib/discourse-markdown/chat-transcript.js | 6 +- .../components/chat-channel-card-test.js | 4 +- .../components/chat-channel-leave-btn-test.js | 6 +- .../components/chat-channel-status-test.js | 6 +- .../chat-composer-placeholder-test.js | 4 +- .../components/chat-composer-upload-test.js | 8 +- .../components/chat-header-icon-test.js | 12 +-- .../components/chat-message-info-test.js | 8 +- .../chat-message-left-gutter-test.js | 6 +- .../components/chat-notices-test.js | 4 +- .../chat-retention-reminder-test.js | 6 +- .../chat-retention-reminder-text-test.js | 14 ++-- .../user-menu/chat-notifications-list-test.js | 4 +- .../discourse/initializers/checklist.js | 4 +- .../javascripts/initializers/apply-details.js | 4 +- .../acceptance/details-button-test.js | 22 +++--- .../components/modal/local-dates-create.js | 20 ++--- .../initializers/discourse-local-dates.js | 6 +- .../javascripts/lib/local-date-builder.js | 6 +- .../acceptance/download-calendar-test.js | 6 +- .../unit/local-date-builder-test.js | 4 +- .../components/composer-presence-display.gjs | 2 +- .../components/topic-presence-display.gjs | 2 +- .../components/modal/poll-breakdown.js | 4 +- .../components/modal/poll-ui-builder.js | 26 +++---- .../components/poll-breakdown-option.gjs | 3 +- .../discourse/components/poll-info.gjs | 26 +++---- .../poll-option-ranked-choice-dropdown.gjs | 4 +- .../components/poll-option-ranked-choice.gjs | 2 +- .../discourse/components/poll-options.gjs | 8 +- .../components/poll-results-ranked-choice.gjs | 7 +- .../components/poll-results-standard.gjs | 2 +- .../components/poll-results-tabs.gjs | 6 +- .../javascripts/discourse/components/poll.gjs | 17 ++--- .../lib/discourse-markdown/poll.js | 4 +- .../acceptance/poll-builder-enabled-test.js | 6 +- .../acceptance/poll-results-test.js | 6 +- .../component/poll-buttons-dropdown-test.js | 8 +- .../javascripts/component/poll-info-test.js | 12 +-- .../component/poll-options-test.js | 6 +- .../poll-results-ranked-choice-test.js | 4 +- .../component/poll-results-standard-test.js | 12 +-- .../test/javascripts/component/poll-test.js | 4 +- .../assets/javascripts/lib/apply-spoiler.js | 4 +- .../acceptance/spoiler-button-test.js | 16 ++-- .../sections/atoms/00-typography.gjs | 2 +- .../components/sections/organisms/modal.js | 4 +- .../discourse/helpers/section-title.js | 4 +- 909 files changed, 3453 insertions(+), 3591 deletions(-) diff --git a/app/assets/javascripts/admin/addon/components/admin-backups-actions.gjs b/app/assets/javascripts/admin/addon/components/admin-backups-actions.gjs index b37a8692003..6598657efa7 100644 --- a/app/assets/javascripts/admin/addon/components/admin-backups-actions.gjs +++ b/app/assets/javascripts/admin/addon/components/admin-backups-actions.gjs @@ -4,7 +4,7 @@ import { service } from "@ember/service"; import routeAction from "discourse/helpers/route-action"; import { ajax } from "discourse/lib/ajax"; import { popupAjaxError } from "discourse/lib/ajax-error"; -import I18n from "discourse-i18n"; +import { i18n } from "discourse-i18n"; export default class AdminBackupsActions extends Component { @service currentUser; @@ -15,7 +15,7 @@ export default class AdminBackupsActions extends Component { toggleReadOnlyMode() { if (!this.site.isReadOnly) { this.dialog.yesNoConfirm({ - message: I18n.t("admin.backups.read_only.enable.confirm"), + message: i18n("admin.backups.read_only.enable.confirm"), didConfirm: () => { this.currentUser.set("hideReadOnlyAlert", true); this.#toggleReadOnlyMode(true); diff --git a/app/assets/javascripts/admin/addon/components/admin-backups-logs.js b/app/assets/javascripts/admin/addon/components/admin-backups-logs.js index ce0306a5b2c..0a02a657026 100644 --- a/app/assets/javascripts/admin/addon/components/admin-backups-logs.js +++ b/app/assets/javascripts/admin/addon/components/admin-backups-logs.js @@ -3,13 +3,13 @@ import { scheduleOnce } from "@ember/runloop"; import { classNames } from "@ember-decorators/component"; import { observes, on } from "@ember-decorators/object"; import discourseDebounce from "discourse-common/lib/debounce"; -import I18n from "discourse-i18n"; +import { i18n } from "discourse-i18n"; @classNames("admin-backups-logs") export default class AdminBackupsLogs extends Component { showLoadingSpinner = false; hasFormattedLogs = false; - noLogsMessage = I18n.t("admin.backups.logs.none"); + noLogsMessage = i18n("admin.backups.logs.none"); formattedLogs = ""; index = 0; diff --git a/app/assets/javascripts/admin/addon/components/admin-config-area-card.gjs b/app/assets/javascripts/admin/addon/components/admin-config-area-card.gjs index 22af1e94b92..abe34fb4bca 100644 --- a/app/assets/javascripts/admin/addon/components/admin-config-area-card.gjs +++ b/app/assets/javascripts/admin/addon/components/admin-config-area-card.gjs @@ -1,13 +1,13 @@ import Component from "@glimmer/component"; import { tracked } from "@glimmer/tracking"; -import I18n from "discourse-i18n"; +import { i18n } from "discourse-i18n"; export default class AdminConfigAreaCard extends Component { @tracked collapsed = false; get computedHeading() { if (this.args.heading) { - return I18n.t(this.args.heading); + return i18n(this.args.heading); } return this.args.translatedHeading; } @@ -18,7 +18,7 @@ export default class AdminConfigAreaCard extends Component { get computedDescription() { if (this.args.description) { - return I18n.t(this.args.description); + return i18n(this.args.description); } return this.args.translatedDescription; } diff --git a/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/contact-information.gjs b/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/contact-information.gjs index e0bf32ec63c..c215ae17a64 100644 --- a/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/contact-information.gjs +++ b/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/contact-information.gjs @@ -6,8 +6,7 @@ import { service } from "@ember/service"; import Form from "discourse/components/form"; import { ajax } from "discourse/lib/ajax"; import { popupAjaxError } from "discourse/lib/ajax-error"; -import i18n from "discourse-common/helpers/i18n"; -import I18n from "discourse-i18n"; +import { i18n } from "discourse-i18n"; import GroupChooser from "select-kit/components/group-chooser"; import UserChooser from "select-kit/components/user-chooser"; @@ -65,7 +64,7 @@ export default class AdminConfigAreasAboutContactInformation extends Component { this.toasts.success({ duration: 3000, data: { - message: I18n.t( + message: i18n( "admin.config_areas.about.toasts.contact_information_saved" ), }, diff --git a/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/general-settings.gjs b/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/general-settings.gjs index 7ba26e0b715..3fdf8d1a90a 100644 --- a/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/general-settings.gjs +++ b/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/general-settings.gjs @@ -5,8 +5,7 @@ import { service } from "@ember/service"; import Form from "discourse/components/form"; import { ajax } from "discourse/lib/ajax"; import { popupAjaxError } from "discourse/lib/ajax-error"; -import i18n from "discourse-common/helpers/i18n"; -import I18n from "discourse-i18n"; +import { i18n } from "discourse-i18n"; export default class AdminConfigAreasAboutGeneralSettings extends Component { @service toasts; @@ -47,7 +46,7 @@ export default class AdminConfigAreasAboutGeneralSettings extends Component { this.toasts.success({ duration: 3000, data: { - message: I18n.t( + message: i18n( "admin.config_areas.about.toasts.general_settings_saved" ), }, diff --git a/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/your-organization.gjs b/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/your-organization.gjs index b43af60d62b..4a6b105e7b7 100644 --- a/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/your-organization.gjs +++ b/app/assets/javascripts/admin/addon/components/admin-config-area-cards/about/your-organization.gjs @@ -5,8 +5,7 @@ import { service } from "@ember/service"; import Form from "discourse/components/form"; import { ajax } from "discourse/lib/ajax"; import { popupAjaxError } from "discourse/lib/ajax-error"; -import i18n from "discourse-common/helpers/i18n"; -import I18n from "discourse-i18n"; +import { i18n } from "discourse-i18n"; export default class AdminConfigAreasAboutYourOrganization extends Component { @service toasts; @@ -41,7 +40,7 @@ export default class AdminConfigAreasAboutYourOrganization extends Component { this.toasts.success({ duration: 30000, data: { - message: I18n.t( + message: i18n( "admin.config_areas.about.toasts.your_organization_saved" ), }, diff --git a/app/assets/javascripts/admin/addon/components/admin-config-area-empty-list.gjs b/app/assets/javascripts/admin/addon/components/admin-config-area-empty-list.gjs index f5bf3444354..08a7009ef2c 100644 --- a/app/assets/javascripts/admin/addon/components/admin-config-area-empty-list.gjs +++ b/app/assets/javascripts/admin/addon/components/admin-config-area-empty-list.gjs @@ -1,6 +1,6 @@ import DButton from "discourse/components/d-button"; import concatClass from "discourse/helpers/concat-class"; -import i18n from "discourse-common/helpers/i18n"; +import { i18n } from "discourse-i18n"; const AdminConfigAreaEmptyList =