TF-4029 Fix singular vs plural for attachments

This commit is contained in:
dab246
2025-09-19 09:58:02 +07:00
committed by Dat H. Pham
parent e75bdad5df
commit 993cdb235a
10 changed files with 95 additions and 11 deletions
@@ -100,7 +100,9 @@ extension ComposerPrintDraftExtension on ComposerController {
ccPrefix: appLocalizations.cc_email_address_prefix,
bccPrefix: appLocalizations.bcc_email_address_prefix,
replyToPrefix: appLocalizations.replyToEmailAddressPrefix,
titleAttachment: appLocalizations.attachments.toLowerCase(),
titleAttachment: uploadController.allAttachmentsUploaded.length > 1
? appLocalizations.attachments.toLowerCase()
: appLocalizations.attachment.toLowerCase(),
toAddress: listToEmailAddress.toSet().listEmailAddressToString(
isFullEmailAddress: true,
),
@@ -57,7 +57,9 @@ class AttachmentHeaderComposerWidget extends StatelessWidget {
),
const SizedBox(width: AttachmentHeaderComposerWidgetStyle.space / 2),
Text(
'${listFileUploaded.length} ${AppLocalizations.of(context).attachments}',
listFileUploaded.length > 1
? '${listFileUploaded.length} ${AppLocalizations.of(context).attachments}'
: '${listFileUploaded.length} ${AppLocalizations.of(context).attachment}',
style: AttachmentHeaderComposerWidgetStyle.labelTextSize
),
const SizedBox(width: AttachmentHeaderComposerWidgetStyle.space),
@@ -503,7 +503,9 @@ class EmailDataSourceImpl extends EmailDataSource {
ccPrefix: appLocalizations.cc_email_address_prefix,
bccPrefix: appLocalizations.bcc_email_address_prefix,
replyToPrefix: appLocalizations.replyToEmailAddressPrefix,
titleAttachment: appLocalizations.attachments.toLowerCase(),
titleAttachment: listPreviewAttachment.length > 1
? appLocalizations.attachments.toLowerCase()
: appLocalizations.attachment.toLowerCase(),
attachmentIcon: attachmentIconBase64Data,
toAddress: email.to?.listEmailAddressToString(isFullEmailAddress: true),
ccAddress: email.cc?.listEmailAddressToString(isFullEmailAddress: true),
@@ -343,7 +343,9 @@ class EmailLocalStorageDataSourceImpl extends EmailDataSource {
ccPrefix: appLocalizations.cc_email_address_prefix,
bccPrefix: appLocalizations.bcc_email_address_prefix,
replyToPrefix: appLocalizations.replyToEmailAddressPrefix,
titleAttachment: appLocalizations.attachments.toLowerCase(),
titleAttachment: listPreviewAttachment.length > 1
? appLocalizations.attachments.toLowerCase()
: appLocalizations.attachment.toLowerCase(),
attachmentIcon: attachmentIconBase64Data,
toAddress: email.to?.listEmailAddressToString(isFullEmailAddress: true),
ccAddress: email.cc?.listEmailAddressToString(isFullEmailAddress: true),
@@ -408,7 +408,9 @@ class EmailActionReactor {
ccPrefix: appLocalizations.cc_email_address_prefix,
bccPrefix: appLocalizations.bcc_email_address_prefix,
replyToPrefix: appLocalizations.replyToEmailAddressPrefix,
titleAttachment: appLocalizations.attachments.toLowerCase(),
titleAttachment: emailLoaded.attachments.length > 1
? appLocalizations.attachments.toLowerCase()
: appLocalizations.attachment.toLowerCase(),
toAddress: presentationEmail.to?.listEmailAddressToString(isFullEmailAddress: true),
ccAddress: presentationEmail.cc?.listEmailAddressToString(isFullEmailAddress: true),
bccAddress: presentationEmail.bcc?.listEmailAddressToString(isFullEmailAddress: true),
@@ -38,10 +38,15 @@ class AttachmentsInfo extends StatelessWidget {
);
final titleHeaderAttachment = Text(
AppLocalizations.of(context).titleHeaderAttachment(
numberOfAttachments,
totalSizeInfo,
),
numberOfAttachments > 1
? AppLocalizations.of(context).titleHeaderAttachment(
numberOfAttachments,
totalSizeInfo,
)
: AppLocalizations.of(context).singularAttachmentTitleHeader(
numberOfAttachments,
totalSizeInfo,
),
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: ThemeUtils.textStyleInter400.copyWith(