diff --git a/scripts/lang/fr/__init__.py b/scripts/lang/fr/__init__.py
index 069fb40ca..3ab558938 100644
--- a/scripts/lang/fr/__init__.py
+++ b/scripts/lang/fr/__init__.py
@@ -758,6 +758,13 @@ def last_template_handler(template: Tuple[str, ...], locale: str) -> str:
'Ce mot dénote une supplétion car son étymologie est distincte de celles de better et de best'
>>> last_template_handler(["supplétion", "am", "are", "was", "lang=en", "mot=oui"], "fr")
'Ce mot dénote une supplétion car son étymologie est distincte de celles de am, de are et de was'
+
+ >>> last_template_handler(["zh-lien", "人", "rén"], "fr")
+ '人 (rén)'
+ >>> last_template_handler(["zh-lien", "马", "mǎ", "馬"], "fr")
+ '马 (馬, mǎ)'
+ >>> last_template_handler(["zh-lien", "骨", "gǔ", "骨"], "fr")
+ '骨 (骨, gǔ)'
"""
from .langs import langs
from ..defaults import last_template_handler as default
@@ -974,6 +981,14 @@ def last_template_handler(template: Tuple[str, ...], locale: str) -> str:
phrase += f"celle de {italic(parts[0])}"
return phrase
+ # Handle the {{zh-lien}} template
+ if tpl == "zh-lien":
+ phrase = parts.pop(0)
+ sens = italic(parts.pop(0))
+ if parts:
+ return f"{phrase} ({parts[0]}, {sens})"
+ return f"{phrase} ({sens})"
+
# This is a country in the current locale
if tpl in langs:
return langs[tpl]