From 9fa160afa8874988cdc210370d8658f78ca2a57b Mon Sep 17 00:00:00 2001 From: hoangduytranuk Date: Fri, 22 Apr 2022 20:13:02 +0100 Subject: [PATCH] Addressing problems raised in sphinx_issues #10104 --- sphinx/builders/gettext.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sphinx/builders/gettext.py b/sphinx/builders/gettext.py index e8bc547b77..4889b69b04 100644 --- a/sphinx/builders/gettext.py +++ b/sphinx/builders/gettext.py @@ -1,5 +1,5 @@ """The MessageCatalogBuilder class.""" - +import os from codecs import open from collections import OrderedDict, defaultdict from datetime import datetime, timedelta, tzinfo @@ -32,7 +32,7 @@ class Message: """An entry of translatable message.""" def __init__(self, text: str, locations: List[Tuple[str, int]], uuids: List[str]): self.text = text - self.locations = locations + self.locations = list(set(locations)) self.uuids = uuids @@ -57,7 +57,7 @@ def add(self, msg: str, origin: Union[Element, "MsgOrigin"]) -> None: def __iter__(self) -> Generator[Message, None, None]: for message in self.messages: - positions = [(source, line) for source, line, uuid in self.metadata[message]] + positions = [(os.path.relpath(source, start=os.getcwd()), line) for source, line, uuid in self.metadata[message]] uuids = [uuid for source, line, uuid in self.metadata[message]] yield Message(message, positions, uuids)