Page MenuHomePhabricator

Translation memory suggestion page sources are sometimes duplicated
Closed, ResolvedPublicBUG REPORT

Description

Hi all, in the frame 'Suggestion' under the percencentage of correspondance, you get a list of links towards pages using the proposed translation. If I develop the list, I see that each link is duplicated, that means that if you see 20 lines saying the text is used 20 times, in reality only 10 pages are using the text.

Steps to Reproduce:
Example with page T:40 at URL => https://www.mediawiki.org/w/index.php?title=Special:Translate&showMessage=VisualEditor%2FSingle_edit_tab%2F40&group=page-VisualEditor%2FSingle+edit+tab&language=fr&filter=&optional=1&action=translate
VisualEditor/Single edit tab/40 is associated to Translations:VisualEditor/Single edit tab/40/fr and text 'See $1 for more information.' . In the right frame under 'Suggestions' I see "Voir $1 pour plus d'informations. 100 % de correspondance utilisé 20 fois".

Actual Results:
Translations:Help:Export/11/fr

Translations:Help:Export/11/fr
Translations:Help:Namespaces/95/fr
Translations:Help:Namespaces/95/fr
Translations:Manual:FAQ/221/fr
Translations:Manual:FAQ/221/fr

...

Expected Results:

Translations:Help:Export/11/fr
Translations:Help:Namespaces/95/fr
Translations:Manual:FAQ/221/fr ...

Other cases are mixed (duplicated + no duplicates) => https://www.mediawiki.org/w/index.php?title=Special:Translate&group=page-Extension%3AAbuseFilter&action=page&filter=&language=fr

Translatewiki seems correct: => https://translatewiki.net/wiki/Special:Translate?action=translate&group=%21additions&language=fr&filter=

See [[Topic:Topic:Vimrtk067xw4k2a]] => https://www.mediawiki.org/wiki/Topic:Vimrtk067xw4k2al

QA plan

Affected projects: Multilingual Wikimedia projects
Pre-deployment testing: skip
Post-deployment testing:

{
    "helpers": {
        "definition": {
            "value": "See $1 for more information.",
            "language": "en"
        },
        "translation": {
            "language": "fr",
            "value": "Voir $1 pour plus d'informations."
        },
        "inotherlanguages": [],
        "documentation": {
            "language": "en",
            "value": null,
            "html": ""
        },
        "mt": [],
        "definitiondiff": {
            "error": "No changes"
        },
        "ttmserver": [
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:How to debug/75",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:How to debug/75/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:How_to_debug/75/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AHow_to_debug%2F75&group=page-Manual%3AHow+to+debug&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Help:Export/11",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Help:Export/11/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Help:Export/11/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Help%3AExport%2F11&group=page-Help%3AExport&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Help:Namespaces/95",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Help:Namespaces/95/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Help:Namespaces/95/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Help%3ANamespaces%2F95&group=page-Help%3ANamespaces&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'information.",
                "context": "Translations:API:Edit/53",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Edit/53/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Edit/53/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=API%3AEdit%2F53&group=page-API%3AEdit&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:HTML templates/38",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:HTML templates/38/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:HTML_templates/38/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AHTML_templates%2F38&group=page-Manual%3AHTML+templates&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:Installation requirements/97",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:Installation requirements/97/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:Installation_requirements/97/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AInstallation_requirements%2F97&group=page-Manual%3AInstallation+requirements&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:How to debug/75",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:How to debug/75/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:How_to_debug/75/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AHow_to_debug%2F75&group=page-Manual%3AHow+to+debug&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:VisualEditor/Single edit tab/40",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:VisualEditor/Single edit tab/40/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:VisualEditor/Single_edit_tab/40/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=VisualEditor%2FSingle_edit_tab%2F40&group=page-VisualEditor%2FSingle+edit+tab&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Compatibility/163",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Compatibility/163/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Compatibility/163/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Compatibility%2F163&group=page-Compatibility&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Template:DownloadMediaWiki/28",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Template:DownloadMediaWiki/28/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Template:DownloadMediaWiki/28/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Template%3ADownloadMediaWiki%2F28&group=page-Template%3ADownloadMediaWiki&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:Installation guide/103",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:Installation guide/103/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:Installation_guide/103/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AInstallation_guide%2F103&group=page-Manual%3AInstallation+guide&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Phabricator/Help/282",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Phabricator/Help/282/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Phabricator/Help/282/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Phabricator%2FHelp%2F282&group=page-Phabricator%2FHelp&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Help:Export/11",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Help:Export/11/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Help:Export/11/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Help%3AExport%2F11&group=page-Help%3AExport&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:VisualEditor/Single edit tab/40",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:VisualEditor/Single edit tab/40/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:VisualEditor/Single_edit_tab/40/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=VisualEditor%2FSingle_edit_tab%2F40&group=page-VisualEditor%2FSingle+edit+tab&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Phabricator/Help/282",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Phabricator/Help/282/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Phabricator/Help/282/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Phabricator%2FHelp%2F282&group=page-Phabricator%2FHelp&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:Installation guide/103",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:Installation guide/103/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:Installation_guide/103/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AInstallation_guide%2F103&group=page-Manual%3AInstallation+guide&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:Installation requirements/97",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:Installation requirements/97/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:Installation_requirements/97/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AInstallation_requirements%2F97&group=page-Manual%3AInstallation+requirements&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Template:DownloadMediaWiki/28",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Template:DownloadMediaWiki/28/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Template:DownloadMediaWiki/28/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Template%3ADownloadMediaWiki%2F28&group=page-Template%3ADownloadMediaWiki&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Compatibility/163",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Compatibility/163/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Compatibility/163/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Compatibility%2F163&group=page-Compatibility&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Help:Namespaces/95",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Help:Namespaces/95/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Help:Namespaces/95/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Help%3ANamespaces%2F95&group=page-Help%3ANamespaces&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:HTML templates/38",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:HTML templates/38/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:HTML_templates/38/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AHTML_templates%2F38&group=page-Manual%3AHTML+templates&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'information.",
                "context": "Translations:API:Edit/53",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Edit/53/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Edit/53/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=API%3AEdit%2F53&group=page-API%3AEdit&language=fr"
            },
            {
                "source": "Read $1 for more information.",
                "target": "Lisez l'$1 pour plus d'informations.",
                "context": "Translations:API:Main page/13",
                "quality": 0.8965517,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Main page/13/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Main_page/13/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Translations:API:Main_page/13/fr&action=edit"
            },
            {
                "source": "Read $1 for more information.",
                "target": "Lisez l'$1 pour plus d'informations.",
                "context": "Translations:API:Main page/13",
                "quality": 0.8965517,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Main page/13/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Main_page/13/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Translations:API:Main_page/13/fr&action=edit"
            },
            {
                "source": "See $1 for usage information.",
                "target": "Voyez $1 pour une information sur son utilisation.",
                "context": "Translations:Manual:$wgSharedDB/11",
                "quality": 0.86206895,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:$wgSharedDB/11/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:$wgSharedDB/11/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3A%24wgSharedDB%2F11&group=page-Manual%3A%24wgSharedDB&language=fr"
            },
            {
                "source": "See $1 for usage information.",
                "target": "Voir $1 pour les informations concernant son utilisation.",
                "context": "Translations:Manual:$wgSharedTables/12",
                "quality": 0.86206895,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:$wgSharedTables/12/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:$wgSharedTables/12/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3A%24wgSharedTables%2F12&group=page-Manual%3A%24wgSharedTables&language=fr"
            },
            {
                "source": "See $1 for usage information.",
                "target": "Voyez $1 pour une information sur son utilisation.",
                "context": "Translations:Manual:$wgSharedDB/11",
                "quality": 0.86206895,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:$wgSharedDB/11/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:$wgSharedDB/11/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3A%24wgSharedDB%2F11&group=page-Manual%3A%24wgSharedDB&language=fr"
            },
            {
                "source": "See $1 for usage information.",
                "target": "Voir $1 pour les informations concernant son utilisation.",
                "context": "Translations:Manual:$wgSharedTables/12",
                "quality": 0.86206895,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:$wgSharedTables/12/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:$wgSharedTables/12/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3A%24wgSharedTables%2F12&group=page-Manual%3A%24wgSharedTables&language=fr"
            },
            {
                "source": "See $1 for general information.",
                "target": "Voir $1 pour les informations g\u00e9n\u00e9rales.",
                "context": "Translations:Manual:FAQ/123",
                "quality": 0.8064516,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:FAQ/123/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:FAQ/123/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AFAQ%2F123&group=page-Manual%3AFAQ&language=fr"
            },
            {
                "source": "See $1 for general information.",
                "target": "Voir $1 pour les informations g\u00e9n\u00e9rales.",
                "context": "Translations:Manual:FAQ/123",
                "quality": 0.8064516,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:FAQ/123/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:FAQ/123/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AFAQ%2F123&group=page-Manual%3AFAQ&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:Pywikibot/PAWS/66",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:Pywikibot/PAWS/66/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:Pywikibot/PAWS/66/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3APywikibot%2FPAWS%2F66&group=page-Manual%3APywikibot%2FPAWS&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus de d\u00e9tails.",
                "context": "Translations:Extension:Graph/67",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:Extension:Graph/67/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Extension:Graph/67/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Extension%3AGraph%2F67&group=page-Extension%3AGraph&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus de d\u00e9tails.",
                "context": "Translations:API:Etiquette/47",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Etiquette/47/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Etiquette/47/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=API%3AEtiquette%2F47&group=page-API%3AEtiquette&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus de d\u00e9tails.",
                "context": "Translations:API:Etiquette/39",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Etiquette/39/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Etiquette/39/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=API%3AEtiquette%2F39&group=page-API%3AEtiquette&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:FAQ/221",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:FAQ/221/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:FAQ/221/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AFAQ%2F221&group=page-Manual%3AFAQ&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:FAQ/221",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:FAQ/221/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:FAQ/221/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AFAQ%2F221&group=page-Manual%3AFAQ&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus de d\u00e9tails.",
                "context": "Translations:API:Etiquette/47",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Etiquette/47/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Etiquette/47/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=API%3AEtiquette%2F47&group=page-API%3AEtiquette&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus de d\u00e9tails.",
                "context": "Translations:API:Etiquette/39",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Etiquette/39/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Etiquette/39/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=API%3AEtiquette%2F39&group=page-API%3AEtiquette&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:Pywikibot/PAWS/66",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:Pywikibot/PAWS/66/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:Pywikibot/PAWS/66/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3APywikibot%2FPAWS%2F66&group=page-Manual%3APywikibot%2FPAWS&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus de d\u00e9tails.",
                "context": "Translations:Extension:Graph/67",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:Extension:Graph/67/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Extension:Graph/67/fr",
                "service": "codfw",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Extension%3AGraph%2F67&group=page-Extension%3AGraph&language=fr"
            },
            {
                "source": "See the main page for more information.",
                "target": "Voir la page d'accueil pour plus d'informations.",
                "context": "CNBanner:Wm2020scholarcfp-text2",
                "quality": 0.6666666,
                "wiki": "metawiki",
                "location": "CNBanner:Wm2020scholarcfp-text2/fr",
                "uri": "https://meta.wikimedia.org/wiki/CNBanner:Wm2020scholarcfp-text2/fr",
                "service": "eqiad",
                "source_language": "en"
            },
            {
                "source": "See the main page for more information.",
                "target": "Voir la page d'accueil pour plus d'informations.",
                "context": "CNBanner:Wm2020scholarcfp-text2",
                "quality": 0.6666666,
                "wiki": "metawiki",
                "location": "CNBanner:Wm2020scholarcfp-text2/fr",
                "uri": "https://meta.wikimedia.org/wiki/CNBanner:Wm2020scholarcfp-text2/fr",
                "service": "codfw",
                "source_language": "en"
            }
        ],
        "support": {
            "error": "Support page not configured"
        },
        "gettext": {
            "error": "Not a FileBasedMessageGroup group"
        },
        "insertables": [
            {
                "display": "$1",
                "pre": "$1",
                "post": ""
            }
        ]
    },
    "times": {
        "query_aggregator": 0.001,
        "definition": 0,
        "translation": 0.008,
        "inotherlanguages": 0,
        "documentation": 0.01,
        "mt": 0,
        "definitiondiff": 0.004,
        "ttmserver": 5.833,
        "support": 0,
        "gettext": 0,
        "insertables": 0
    }
}

Expected outcome

Translation memory suggestion sources on Wikimedia projects are no longer duplicated and suggestions are loaded faster.

Event Timeline

Aklapper renamed this task from Translations:xxx items Suggestions display double amount of linked pages to Translation memory suggestion page sources are sometimes duplicated.Apr 10 2020, 12:40 PM
Nikerabbit added subscribers: dcausse, Nikerabbit.

See https://www.mediawiki.org/w/api.php?action=translationaids&format=jsonfm&title=Translations%3AExtension%3AAbuseFilter%2FPage%20display%20title%2Ffr

{
                "source": "Extension:AbuseFilter",
                "target": "Extension:AbuseFilter",
                "context": "Translations:Extension:AbuseFilter/Page display title",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Extension:AbuseFilter/Page display title/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Extension:AbuseFilter/Page_display_title/fr",
                "service": "eqiad", <-------------------------------------------------
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Extension%3AAbuseFilter%2FPage_display_title&group=page-Extension%3AAbuseFilter&language=fr"
            },
            {
                "source": "Extension:AbuseFilter",
                "target": "Extension:AbuseFilter",
                "context": "Translations:Extension:AbuseFilter/Page display title",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Extension:AbuseFilter/Page display title/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Extension:AbuseFilter/Page_display_title/fr",
                "service": "codfw", <-------------------------------------------------
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Extension%3AAbuseFilter%2FPage_display_title&group=page-Extension%3AAbuseFilter&language=fr"
            },

This tells me two things:

  • ttmserver index in eqiad and codfw are not in sync
  • this is related to the Wikimedia configuration

This looks like we forgot to consider which service(s) should and shouldn't be queries when mirrors are configured, but needs to be looked in more detail.

Nikerabbit triaged this task as Medium priority.May 26 2020, 6:39 AM

Change 598679 had a related patch set uploaded (by Nikerabbit; owner: Nikerabbit):
[mediawiki/extensions/Translate@master] Do not query TTMServer mirrors

https://gerrit.wikimedia.org/r/598679

Change 598679 merged by jenkins-bot:
[mediawiki/extensions/Translate@master] Do not query TTMServer mirrors

https://gerrit.wikimedia.org/r/598679

Here is the current output. All results from codfw are no longer present, as expected.

{
    "helpers": {
        "definition": {
            "value": "See $1 for more information.",
            "language": "en"
        },
        "translation": {
            "language": "fr",
            "value": "Voir $1 pour plus d'informations."
        },
        "inotherlanguages": [],
        "documentation": {
            "language": "en",
            "value": null,
            "html": ""
        },
        "mt": [],
        "definitiondiff": {
            "error": "No changes"
        },
        "ttmserver": [
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:How to debug/75",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:How to debug/75/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:How_to_debug/75/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AHow_to_debug%2F75&group=page-Manual%3AHow+to+debug&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:Installation requirements/97",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:Installation requirements/97/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:Installation_requirements/97/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AInstallation_requirements%2F97&group=page-Manual%3AInstallation+requirements&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Help:Namespaces/95",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Help:Namespaces/95/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Help:Namespaces/95/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Help%3ANamespaces%2F95&group=page-Help%3ANamespaces&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:HTML templates/38",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:HTML templates/38/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:HTML_templates/38/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AHTML_templates%2F38&group=page-Manual%3AHTML+templates&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'information.",
                "context": "Translations:API:Edit/53",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Edit/53/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Edit/53/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=API%3AEdit%2F53&group=page-API%3AEdit&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:Installation guide/103",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:Installation guide/103/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:Installation_guide/103/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AInstallation_guide%2F103&group=page-Manual%3AInstallation+guide&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Compatibility/163",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Compatibility/163/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Compatibility/163/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Compatibility%2F163&group=page-Compatibility&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:VisualEditor/Single edit tab/40",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:VisualEditor/Single edit tab/40/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:VisualEditor/Single_edit_tab/40/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=VisualEditor%2FSingle_edit_tab%2F40&group=page-VisualEditor%2FSingle+edit+tab&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Phabricator/Help/282",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Phabricator/Help/282/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Phabricator/Help/282/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Phabricator%2FHelp%2F282&group=page-Phabricator%2FHelp&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Help:Export/11",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Help:Export/11/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Help:Export/11/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Help%3AExport%2F11&group=page-Help%3AExport&language=fr"
            },
            {
                "source": "See $1 for more information.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Template:DownloadMediaWiki/28",
                "quality": 1,
                "wiki": "mediawikiwiki",
                "location": "Translations:Template:DownloadMediaWiki/28/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Template:DownloadMediaWiki/28/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Template%3ADownloadMediaWiki%2F28&group=page-Template%3ADownloadMediaWiki&language=fr"
            },
            {
                "source": "Read $1 for more information.",
                "target": "Lisez l'$1 pour plus d'informations.",
                "context": "Translations:API:Main page/13",
                "quality": 0.8965517,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Main page/13/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Main_page/13/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Translations:API:Main_page/13/fr&action=edit"
            },
            {
                "source": "See $1 for usage information.",
                "target": "Voir $1 pour les informations concernant son utilisation.",
                "context": "Translations:Manual:$wgSharedTables/12",
                "quality": 0.86206895,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:$wgSharedTables/12/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:$wgSharedTables/12/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3A%24wgSharedTables%2F12&group=page-Manual%3A%24wgSharedTables&language=fr"
            },
            {
                "source": "See $1 for usage information.",
                "target": "Voyez $1 pour une information sur son utilisation.",
                "context": "Translations:Manual:$wgSharedDB/11",
                "quality": 0.86206895,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:$wgSharedDB/11/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:$wgSharedDB/11/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3A%24wgSharedDB%2F11&group=page-Manual%3A%24wgSharedDB&language=fr"
            },
            {
                "source": "See $1 for general information.",
                "target": "Voir $1 pour les informations g\u00e9n\u00e9rales.",
                "context": "Translations:Manual:FAQ/123",
                "quality": 0.8064516,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:FAQ/123/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:FAQ/123/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AFAQ%2F123&group=page-Manual%3AFAQ&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:FAQ/221",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:FAQ/221/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:FAQ/221/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3AFAQ%2F221&group=page-Manual%3AFAQ&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus de d\u00e9tails.",
                "context": "Translations:API:Etiquette/47",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Etiquette/47/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Etiquette/47/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=API%3AEtiquette%2F47&group=page-API%3AEtiquette&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus de d\u00e9tails.",
                "context": "Translations:API:Etiquette/39",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:API:Etiquette/39/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:API:Etiquette/39/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=API%3AEtiquette%2F39&group=page-API%3AEtiquette&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus de d\u00e9tails.",
                "context": "Translations:Extension:Graph/67",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:Extension:Graph/67/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Extension:Graph/67/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Extension%3AGraph%2F67&group=page-Extension%3AGraph&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour plus d'informations.",
                "context": "Translations:Manual:Pywikibot/PAWS/66",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:Manual:Pywikibot/PAWS/66/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Manual:Pywikibot/PAWS/66/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Manual%3APywikibot%2FPAWS%2F66&group=page-Manual%3APywikibot%2FPAWS&language=fr"
            },
            {
                "source": "See $1 for more details.",
                "target": "Voir $1 pour d'autres d\u00e9tails.",
                "context": "Translations:Extension:XAnalytics/3",
                "quality": 0.67857146,
                "wiki": "mediawikiwiki",
                "location": "Translations:Extension:XAnalytics/3/fr",
                "uri": "https://www.mediawiki.org/wiki/Translations:Extension:XAnalytics/3/fr",
                "service": "eqiad",
                "source_language": "en",
                "local": "",
                "editorUrl": "/w/index.php?title=Special:Translate&showMessage=Extension%3AXAnalytics%2F3&group=page-Extension%3AXAnalytics&language=fr"
            },
            {
                "source": "See the main page for more information.",
                "target": "Voir la page d'accueil pour plus d'informations.",
                "context": "CNBanner:Wm2020scholarcfp-text2",
                "quality": 0.6666666,
                "wiki": "metawiki",
                "location": "CNBanner:Wm2020scholarcfp-text2/fr",
                "uri": "https://meta.wikimedia.org/wiki/CNBanner:Wm2020scholarcfp-text2/fr",
                "service": "eqiad",
                "source_language": "en"
            }
        ],
        "support": {
            "error": "Support page not configured"
        },
        "gettext": {
            "error": "Not a FileBasedMessageGroup group"
        },
        "insertables": [
            {
                "display": "$1",
                "pre": "$1",
                "post": ""
            }
        ]
    },
    "times": {
        "query_aggregator": 0.001,
        "definition": 0,
        "translation": 0.005,
        "inotherlanguages": 0,
        "documentation": 0.011,
        "mt": 0,
        "definitiondiff": 0.004,
        "ttmserver": 5.249,
        "support": 0,
        "gettext": 0,
        "insertables": 0
    }
}

Here is also a screenshot without duplicates:

image.png (619×1 px, 139 KB)

With regards to times, results seem to come slightly faster now, but I don't see the 50% reduction that I expected if queries were run in parallel.