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

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 10 2020, 12:06 PM
Wladek92 updated the task description. (Show Details)Apr 10 2020, 12:13 PM
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

Should test the test case from T228834: Translation memory is slow to load when this is deployed.

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

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

Nikerabbit updated the task description. (Show Details)Jun 1 2020, 8:32 AM
Restricted Application added a subscriber: Liuxinyu970226. · View Herald TranscriptJun 1 2020, 8:32 AM
Nikerabbit closed this task as Resolved.Jun 4 2020, 7:04 AM

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:

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.