+ {t('glossaries.detail.sourceLockedNote') ||
+ 'Les templates ne stockent la source qu\'en français. Le multilingue source est sur la roadmap.'}
+
diff --git a/frontend/src/lib/i18n.tsx b/frontend/src/lib/i18n.tsx
index 4a47e58..a5f17f5 100644
--- a/frontend/src/lib/i18n.tsx
+++ b/frontend/src/lib/i18n.tsx
@@ -438,6 +438,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -1422,6 +1425,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirmer la suppression ?",
"glossaries.detail.confirm": "Confirmer",
"glossaries.detail.cancel": "Annuler",
+ "glossaries.detail.sourceLocked": "fixé",
+ "glossaries.detail.sourceLockedNote": "Les templates ne stockent la source qu'en français. Le multilingue source est sur la roadmap.",
+ "glossaries.detail.targetLangNote": "Choisissez une langue pour voir les traductions correspondantes, ou « Multilingue » pour la valeur par défaut.",
"glossaries.detail.notFoundTitle": "Glossaire introuvable",
"glossaries.detail.notFoundDesc": "Ce glossaire n'existe pas ou vous n'y avez pas accès.",
"glossaries.detail.maxTermsTitle": "Limite atteinte",
@@ -2392,6 +2398,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -3317,6 +3326,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -4242,6 +4254,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -5167,6 +5182,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -6092,6 +6110,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -7017,6 +7038,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -7944,6 +7968,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -8868,6 +8895,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -9792,6 +9822,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -10674,6 +10707,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",
@@ -11565,6 +11601,9 @@ const messages: Record> = {
"glossaries.detail.confirmDelete": "Confirm deletion?",
"glossaries.detail.confirm": "Confirm",
"glossaries.detail.cancel": "Cancel",
+ "glossaries.detail.sourceLocked": "fixed",
+ "glossaries.detail.sourceLockedNote": "Templates only store the source in French. Multilingual source is on the roadmap.",
+ "glossaries.detail.targetLangNote": "Pick a language to see the matching translations, or « Multilingual » for the default value.",
"glossaries.detail.notFoundTitle": "Glossary not found",
"glossaries.detail.notFoundDesc": "This glossary does not exist or you don't have access to it.",
"glossaries.detail.maxTermsTitle": "Limit reached",