- {quickReplyText.length > 0 && `${quickReplyText.length} characters`}
+ {quickReplyText.length > 0 && t('characters_count', { count: quickReplyText.length })}
diff --git a/components/layout/sidebar.tsx b/components/layout/sidebar.tsx
index 0a7f56b..83f4682 100644
--- a/components/layout/sidebar.tsx
+++ b/components/layout/sidebar.tsx
@@ -95,6 +95,7 @@ function MailboxTreeItem({
onToggleExpand: (id: string) => void;
isCollapsed: boolean;
}) {
+ const t = useTranslations('sidebar');
const hasChildren = node.children.length > 0;
const isExpanded = expandedFolders.has(node.id);
const Icon = getIconForMailbox(node.role, node.name, hasChildren, isExpanded, node.isShared, node.id);
@@ -133,7 +134,7 @@ function MailboxTreeItem({
"hover:bg-muted active:bg-accent"
)}
style={{ marginLeft: indentPixels }}
- title={isExpanded ? "Collapse" : "Expand"}
+ title={isExpanded ? t('collapse_tooltip') : t('expand_tooltip')}
>
{isExpanded ? (
diff --git a/locales/en/common.json b/locales/en/common.json
index 9d467f9..a44572a 100644
--- a/locales/en/common.json
+++ b/locales/en/common.json
@@ -50,7 +50,9 @@
"important": "Important"
},
"expand": "Expand",
- "collapse": "Collapse"
+ "collapse": "Collapse",
+ "expand_tooltip": "Expand",
+ "collapse_tooltip": "Collapse"
},
"email_list": {
"no_emails": "No emails",
@@ -66,7 +68,11 @@
"email_viewer": {
"no_email_selected": "No email selected",
"no_email_description": "Select an email from the list to view it here",
+ "no_conversation_selected": "No conversation selected",
+ "no_conversation_description": "Choose a conversation from the list to read it here",
"no_subject": "(No Subject)",
+ "loading_email": "Loading email...",
+ "loading": "Loading...",
"reply": "Reply",
"reply_all": "Reply All",
"forward": "Forward",
@@ -97,6 +103,32 @@
"trust_sender": "Always trust this sender",
"back_to_list": "Back to list",
"message_details": "Message Details",
+ "more_reply_options": "More reply options",
+ "set_color": "Set color",
+ "more_actions": "More actions",
+ "remove_color": "Remove color",
+ "more_count": "+{count} more",
+ "characters_count": "{count} characters",
+ "quick_reply_placeholder": "Write a quick reply...",
+ "more_options": "More options",
+ "sending": "Sending...",
+ "security_authentication": "Security & Authentication",
+ "technical_details": "Technical Details",
+ "message_id_label": "Message-ID:",
+ "reply_to_label": "Reply-To:",
+ "delivery_time_label": "Delivery time:",
+ "conversation_part_label": "Part of conversation:",
+ "previous_messages": "{count} previous message",
+ "previous_messages_plural": "{count} previous messages",
+ "time": {
+ "day": "day",
+ "days": "days",
+ "hour": "hour",
+ "hours": "hours",
+ "minute": "minute",
+ "minutes": "minutes"
+ },
+ "unknown_sender": "Unknown",
"authentication": {
"title": "Authentication",
"status": {
@@ -157,6 +189,17 @@
"attach": "Attach",
"discard": "Discard",
"discard_draft_confirm": "You have unsaved changes. Do you want to discard this draft?",
+ "saving": "Saving...",
+ "draft_saved": "Draft saved",
+ "save_failed": "Failed to save",
+ "to_placeholder": "Recipient email addresses (comma separated)",
+ "cc_placeholder": "Cc recipients (comma separated)",
+ "bcc_placeholder": "Bcc recipients (comma separated)",
+ "subject_placeholder": "Subject",
+ "cc_label": "Cc:",
+ "bcc_label": "Bcc:",
+ "subject_label": "Subject:",
+ "file_size_kb": "KB",
"quote": {
"reply_header": "On {{date}}, {{sender}} wrote:",
"forward_header": "---------- Forwarded message ----------",
@@ -182,7 +225,8 @@
"logout": "Logout",
"yes": "Yes",
"no": "No",
- "unknown": "Unknown"
+ "unknown": "Unknown",
+ "app_title": "Webmail"
},
"notifications": {
"email_sent": "Email sent successfully",
diff --git a/locales/fr/common.json b/locales/fr/common.json
index 96d961c..e49b167 100644
--- a/locales/fr/common.json
+++ b/locales/fr/common.json
@@ -50,7 +50,9 @@
"important": "Important"
},
"expand": "Développer",
- "collapse": "Réduire"
+ "collapse": "Réduire",
+ "expand_tooltip": "Développer",
+ "collapse_tooltip": "Réduire"
},
"email_list": {
"no_emails": "Aucun email",
@@ -66,7 +68,11 @@
"email_viewer": {
"no_email_selected": "Aucun email sélectionné",
"no_email_description": "Sélectionnez un email dans la liste pour le voir ici",
+ "no_conversation_selected": "Aucune conversation sélectionnée",
+ "no_conversation_description": "Choisissez une conversation dans la liste pour la lire ici",
"no_subject": "(Sans objet)",
+ "loading_email": "Chargement de l'email...",
+ "loading": "Chargement...",
"reply": "Répondre",
"reply_all": "Répondre à tous",
"forward": "Transférer",
@@ -97,6 +103,32 @@
"trust_sender": "Toujours faire confiance à cet expéditeur",
"back_to_list": "Retour à la liste",
"message_details": "Détails du message",
+ "more_reply_options": "Plus d'options de réponse",
+ "set_color": "Définir la couleur",
+ "more_actions": "Plus d'actions",
+ "remove_color": "Retirer la couleur",
+ "more_count": "+{count} de plus",
+ "characters_count": "{count} caractères",
+ "quick_reply_placeholder": "Écrivez une réponse rapide...",
+ "more_options": "Plus d'options",
+ "sending": "Envoi en cours...",
+ "security_authentication": "Sécurité et authentification",
+ "technical_details": "Détails techniques",
+ "message_id_label": "ID du message :",
+ "reply_to_label": "Répondre à :",
+ "delivery_time_label": "Temps de livraison :",
+ "conversation_part_label": "Partie de la conversation :",
+ "previous_messages": "{count} message précédent",
+ "previous_messages_plural": "{count} messages précédents",
+ "time": {
+ "day": "jour",
+ "days": "jours",
+ "hour": "heure",
+ "hours": "heures",
+ "minute": "minute",
+ "minutes": "minutes"
+ },
+ "unknown_sender": "Inconnu",
"authentication": {
"title": "Authentification",
"status": {
@@ -157,6 +189,17 @@
"attach": "Joindre",
"discard": "Supprimer",
"discard_draft_confirm": "Vous avez des modifications non enregistrées. Voulez-vous supprimer ce brouillon ?",
+ "saving": "Enregistrement...",
+ "draft_saved": "Brouillon enregistré",
+ "save_failed": "Échec de l'enregistrement",
+ "to_placeholder": "Adresses email des destinataires (séparées par des virgules)",
+ "cc_placeholder": "Destinataires en copie (séparés par des virgules)",
+ "bcc_placeholder": "Destinataires en copie cachée (séparés par des virgules)",
+ "subject_placeholder": "Objet",
+ "cc_label": "Cc :",
+ "bcc_label": "Cci :",
+ "subject_label": "Objet :",
+ "file_size_kb": "Ko",
"quote": {
"reply_header": "Le {{date}}, {{sender}} a écrit :",
"forward_header": "---------- Message transféré ----------",
@@ -182,7 +225,8 @@
"logout": "Déconnexion",
"yes": "Oui",
"no": "Non",
- "unknown": "Inconnu"
+ "unknown": "Inconnu",
+ "app_title": "Webmail"
},
"notifications": {
"email_sent": "Email envoyé avec succès",