Opened 4 months ago

Last modified 3 months ago

#17173 closed enhancement

[Patch] Detect preset wiki languages automatically — at Version 9

Reported by: simon04 Owned by: simon04
Priority: normal Milestone: 19.01
Component: Internal preset Version:
Keywords: Cc: Don-vip, michael2402, stoecker, naoliv, Simon, Poole

Description (last modified by simon04)

Instead of maintaining various OSM wiki languages in defaultpresets.xml, maintaining presets_lang.pl, running presets_lang.pl from time to time, still applying manual changes (cf. #17171), let JOSM detect the wiki language automatically. This features has been implemented long ago in HelpAction.displayHelp: it opens https://wiki.openstreetmap.org/wiki/[lang]:[page] if it exists and falls back to https://wiki.openstreetmap.org/wiki/[page].

So in a nutshell …

  • data/defaultpresets.xml

    diff --git a/data/defaultpresets.xml b/data/defaultpresets.xml
    index b88f3d9d4..0ec763ca8 100644
    a b  
    326326        <reference ref="voltage_frequency" />
    327327    </chunk>
    328328    <chunk id="power_generator">
    329         <link href="https://wiki.openstreetmap.org/wiki/Tag:power=generator"
    330                   cs.href="https://wiki.openstreetmap.org/wiki/Cs:Tag:power=generator"
    331                   de.href="https://wiki.openstreetmap.org/wiki/DE:Tag:power=generator"
    332                   es.href="https://wiki.openstreetmap.org/wiki/ES:Tag:power=generator"
    333                   fr.href="https://wiki.openstreetmap.org/wiki/FR:Tag:power=generator"
    334                   it.href="https://wiki.openstreetmap.org/wiki/IT:Tag:power=generator"
    335                   ja.href="https://wiki.openstreetmap.org/wiki/JA:Tag:power=generator"
    336                   pl.href="https://wiki.openstreetmap.org/wiki/Pl:Tag:power=generator"
    337                   pt.href="https://wiki.openstreetmap.org/wiki/Pt:Tag:power=generator"
    338                   ru.href="https://wiki.openstreetmap.org/wiki/RU:Tag:power=generator" />
     329        <link wiki="Tag:power=generator" />
    339330        <space />
    340331        <key key="power" value="generator" />
    341332        <reference ref="name_ref_operator" />

In total: 719 insertions(+), 5651 deletions(-)

Relates to this discussion at josm-dev@: https://lists.openstreetmap.org/pipermail/josm-dev/2018-November/008171.html (Add templated version of wiki href to link element in presets)

Change History (10)

Changed 4 months ago by simon04

Attachment: 17173.patch.gz added

comment:1 Changed 4 months ago by simon04

Cc: stoecker naoliv added

comment:2 Changed 4 months ago by stoecker

It's not so easy. You overlooked all these cases where the links don't have the same name.

comment:3 Changed 4 months ago by naoliv

For pt_BR it will be necessary to consider the language as pt, since pt_BR was unified into pt (ie, people using JOSM in pt or pt_BR should open the same Portuguese wiki pages).
With the patch (actually after [14617]), using pt_BR only opens the English pages.

comment:4 in reply to:  3 ; Changed 4 months ago by simon04

Replying to stoecker:

It's not so easy. You overlooked all these cases where the links don't have the same name.

Please name one. I only stumbled over https://wiki.openstreetmap.org/wiki/Link_(highway vs. https://wiki.openstreetmap.org/wiki/Cs:Highway_link, but the former redirects to https://wiki.openstreetmap.org/wiki/Highway_link. IMO we could accept 0.1% non-detected language links in favour of simplicity / elegance / reduced code / reduced maintenance burden.

Replying to naoliv:

For pt_BR it will be necessary to consider the language as pt, since pt_BR was unified into pt (ie, people using JOSM in pt or pt_BR should open the same Portuguese wiki pages).
With the patch (actually after [14617]), using pt_BR only opens the English pages.

Good to know… We should reflect the merge in LanguageInfo. The merge has taken place on the OSM wiki, the JOSM wiki, the JOSM i18n?

comment:5 in reply to:  4 Changed 4 months ago by naoliv

Replying to simon04:

Good to know… We should reflect the merge in LanguageInfo. The merge has taken place on the OSM wiki, the JOSM wiki, the JOSM i18n?

Only OSM wiki was unified. The rest are still (and I guess will stay) different.

comment:6 in reply to:  4 Changed 4 months ago by stoecker

Replying to simon04:

Replying to stoecker:

It's not so easy. You overlooked all these cases where the links don't have the same name.

Please name one. I only stumbled over https://wiki.openstreetmap.org/wiki/Link_(highway vs. https://wiki.openstreetmap.org/wiki/Cs:Highway_link, but the former redirects to https://wiki.openstreetmap.org/wiki/Highway_link. IMO we could accept 0.1% non-detected language links in favour of simplicity / elegance / reduced code / reduced maintenance burden.

Hmm, seems the wiki situation changed. E.g. Link_(highway) or Highway_link actually has references to "Pt:Tag:highway=motorway_link", but this is missing totally now. Also the wiki does not refernce redirects in the language pages. Maybe they broke the wiki in that instance? That would mean that your approach would actually be better, as the links then work again.

Can you please extract the code changes and attach them separately for review?

Replying to naoliv:

For pt_BR it will be necessary to consider the language as pt, since pt_BR was unified into pt (ie, people using JOSM in pt or pt_BR should open the same Portuguese wiki pages).
With the patch (actually after [14617]), using pt_BR only opens the English pages.

Good to know… We should reflect the merge in LanguageInfo. The merge has taken place on the OSM wiki, the JOSM wiki, the JOSM i18n?

JOSM wiki and JOSM i18n is not affected. That would only be the case, when pt_BR translation gets dropped. But we need to change JOSM code, that the OSM wiki prefix for pt_BR is "Pt:".

Note that JOSM wiki uses language code derived rules, whereas the prefix for OSM wiki seems to be manually decided. They are not identical.

comment:7 Changed 4 months ago by stoecker

Ticket #17171 has been marked as a duplicate of this ticket.

comment:8 Changed 4 months ago by stoecker

If we go this way we need to:

  • test that the added English links actually refer to non-redirect pages
  • have a way to test redirects later (i.e. modify the wiki scraper)

If not:

  • update the wiki scraper to handle redirects correct

comment:9 Changed 4 months ago by simon04

Cc: Simon Poole added
Description: modified (diff)
Note: See TracTickets for help on using tickets.