openstreetmap / iD

🆔 The easy-to-use OpenStreetMap editor in JavaScript.
https://www.openstreetmap.org/edit?editor=id
ISC License
3.34k stars 1.2k forks source link

Warn translaters when the same translation name is used for multiple presets #5323

Open bagage opened 5 years ago

bagage commented 5 years ago

I did not check current state about this, but sometimes different keys are translated the same way in foreign language and you have no clue, within iD, what is the different between them.

To be clearer, in French, before I edited it minutes ago, waterway=water_point and amenity=drinking_water had the same general translation Eau potable (drinking water) (in French).

image

It is IMO misleading for users to have multiple presets with the same label: which one to choose (you have to click the help… but the wiki help might not be translated in your local language as it my case, so if you do not speak English you'll be stuck anyway).

Would it be possible to mark such strings in warning/error within Transifex for instance? If not, maybe somewhere else where we can review such strings? Otherwise, if multiple presets have the same translated text, might it be possible to display the actual key=value combination for instance? Anything but not displaying the same thing twice?

Thanks!

1ec5 commented 5 years ago

I’m not sure if Transifex’s validation rules are capable of detecting when two preset strings – as opposed to some other part of the UI – conflict with each other. However, it should be possible to generate a report based on the localizations that have been checked into this repository under dist/locales/. The Transifex API may offer a way to automatically create issues about the strings flagged by that report.

ImreSamu commented 5 years ago

related - old discussion ( year2014 ) ( https://github.com/openstreetmap/iD/issues/2448 )

ImreSamu commented 5 years ago

New version: https://gist.github.com/ImreSamu/eec097b3b2afaee8f878a1d8753ba812 EDIT: Some data model is changed - need more time to debug. The output is not perfect yet. Sorry.

ImreSamu commented 5 years ago

@bagage

I have created an experimental reports for FR translations - can you verify , is it OK?

the first column( 'nameTransl') == FR translation.

The algorithm not final yet.

Now the

comment:

current list - generated from the Transifex data.

nameTransl nameEn presetKey searchable icon tags0 tags1 tags2 tags3 tags4 geometryArea geometryLine geometryPoint geometryVertex geometryRelation
Artisanat Craft craft temaki-tools craft=* area point
Artisanat Handicraft craft/handicraft maki-art-gallery craft=handicraft area point
Bunker Sand Trap golf/bunker maki-golf golf=bunker natural=sand area
Bunker Military Bunker landuse/military/bunker temaki-military military=bunker area point
Caméra de surveillance Surveillance man_made/surveillance maki-attraction man_made=surveillance point vertex
Caméra de surveillance Surveillance Camera man_made/surveillance_camera maki-attraction man_made=surveillance surveillance:type=camera point vertex
Passage piéton surélevé Raised Pedestrian Crosswalk highway/crosswalk-raised temaki-pedestrian highway=crossing crossing=zebra traffic_calming=table vertex
Passage piéton surélevé Raised Pedestrian Crosswalk footway/crosswalk-raised iD-highway-footway highway=footway footway=crossing crossing=zebra traffic_calming=table line
Passage piéton surélevé Raised Street Crossing footway/crossing-raised highway=footway footway=crossing traffic_calming=table line
Passage piéton surélevé Raised Street Crossing highway/crossing-raised highway=crossing traffic_calming=table vertex
Prêteur sur gages Money Lender shop/money_lender maki-bank shop=money_lender area point
Prêteur sur gages Pawn Shop shop/pawnbroker maki-shop shop=pawnbroker area point
Station de métro Subway Stop / Platform public_transport/platform_subway temaki-subway public_transport=platform subway=yes area point
Station de métro Subway Station public_transport/station_subway temaki-subway public_transport=station subway=yes area point
Station de monorail Monorail Station public_transport/station_monorail temaki-monorail public_transport=station monorail=yes area point
Station de monorail Monorail Stop / Platform public_transport/platform_monorail temaki-monorail public_transport=platform monorail=yes area point
Station de tramway Tram Station public_transport/station_tram temaki-tram public_transport=station tram=yes area point
Station de tramway Light Rail Station public_transport/station_light_rail temaki-light_rail public_transport=station light_rail=yes area point
ImreSamu commented 5 years ago

some other examples ...

"ES" duplicates

nameTransl nameEn presetKey searchable icon tags0 tags1 tags2 tags3 tags4 geometryArea geometryLine geometryPoint geometryVertex geometryRelation
Automóvil compartido Car Pooling amenity/car_pooling maki-car amenity=car_pooling area point
Automóvil compartido Car Sharing amenity/car_sharing maki-car amenity=car_sharing area point
Cobertizo Lean-To amenity/shelter/lean_to maki-shelter amenity=shelter shelter_type=lean_to area point
Cobertizo Shed building/shed maki-home building=shed area
Reductor de velocidad ancho Speed Table traffic_calming/table temaki-diamond traffic_calming=table vertex
Reductor de velocidad ancho Speed Hump traffic_calming/hump temaki-diamond traffic_calming=hump line vertex
Relojero Clockmaker craft/clockmaker temaki-clock craft=clockmaker area point
Relojero Watchmaker craft/watchmaker temaki-clock craft=watchmaker area point
Salvavidas Life Ring emergency/life_ring fas-life-ring emergency=life_ring point vertex
Salvavidas Lifeguard emergency/lifeguard fas-life-ring emergency=lifeguard area point
Teleférico Gondola aerialway/gondola aerialway=gondola line
Teleférico Cable Car aerialway/cable_car aerialway=cable_car line

"DE"

nameTransl nameEn presetKey searchable icon tags0 tags1 tags2 tags3 tags4 geometryArea geometryLine geometryPoint geometryVertex geometryRelation
Bauernhaus Farm Building building/farm_auxiliary maki-farm building=farm_auxiliary area
Bauernhaus Farm House building/farm maki-farm building=farm area
Fußgängerüberweg Street Crossing footway/crossing highway=footway footway=crossing line
Fußgängerüberweg Pedestrian Crosswalk footway/crosswalk iD-highway-footway highway=footway footway=crossing crossing=zebra line
Karussell Carousel attraction/carousel maki-horse-riding attraction=carousel area point
Karussell Play Roundabout playground/roundabout maki-stadium playground=roundabout area point
Korbschaukel Basket Swing playground/basket_swing maki-playground playground=basketswing point
Korbschaukel Basket Spinner playground/basket_spinner maki-playground playground=basketrotator point
Moschee Mosque Building building/mosque maki-place-of-worship building=mosque area
Moschee Mosque amenity/place_of_worship/muslim maki-religious-muslim amenity=place_of_worship religion=muslim area point
Optiker Optometrist healthcare/optometrist maki-hospital healthcare=optometrist area point
Optiker Optician shop/optician fas-glasses shop=optician area point
Schlepplift Drag Lift aerialway/drag_lift aerialway=drag_lift line
Schlepplift Rope Tow Lift aerialway/rope_tow aerialway=rope_tow line
Schuppen Shed building/shed maki-home building=shed area
Schuppen Hut building/hut maki-home building=hut area
Uhrmacher Watchmaker craft/watchmaker temaki-clock craft=watchmaker area point
Uhrmacher Clockmaker craft/clockmaker temaki-clock craft=clockmaker area point
Wellenbrecher Breakwater man_made/breakwater man_made=breakwater area line
Wellenbrecher Groyne man_made/groyne man_made=groyne area line
Öffentliches Gebäude Public Building building/public maki-building building=public area
Öffentliches Gebäude Civic Building building/civic maki-building building=civic area

"PT"

nameTransl nameEn presetKey searchable icon tags0 tags1 tags2 tags3 tags4 geometryArea geometryLine geometryPoint geometryVertex geometryRelation
Artesão Craft craft temaki-tools craft=* area point
Artesão Handicraft craft/handicraft maki-art-gallery craft=handicraft area point
Barra Fixa Horizontal Play Horizontal Bar playground/horizontal_bar maki-pitch playground=horizontal_bar point
Barra Fixa Horizontal Exercise Horizontal Bar leisure/fitness_station/horizontal_bar maki-pitch leisure=fitness_station fitness_station=horizontal_bar area point
Confeitaria Candy Maker craft/confectionery maki-bakery craft=confectionery area point
Confeitaria Candy Store shop/confectionery maki-shop shop=confectionery area point
Finanças Financial Office office/financial maki-suitcase office=financial area point
Finanças Tax and Revenue Office office/government/tax maki-town-hall office=government government=tax area point
Passadeira de peões Street Crossing footway/crossing highway=footway footway=crossing line
Passadeira de peões Pedestrian Crosswalk footway/crosswalk iD-highway-footway highway=footway footway=crossing crossing=zebra line
Poste Mast man_made/mast temaki-antenna man_made=mast point
Poste Power Pole power/pole power=pole point vertex
Relojoeiro Watchmaker craft/watchmaker temaki-clock craft=watchmaker area point
Relojoeiro Clockmaker craft/clockmaker temaki-clock craft=clockmaker area point

"RU"

nameTransl nameEn presetKey searchable icon tags0 tags1 tags2 tags3 tags4 geometryArea geometryLine geometryPoint geometryVertex geometryRelation
Карусель Carousel attraction/carousel maki-horse-riding attraction=carousel area point
Карусель Play Roundabout playground/roundabout maki-stadium playground=roundabout area point
Общественное здание Civic Building building/civic maki-building building=civic area
Общественное здание Public Building building/public maki-building building=public area
Площадка для верховой езды Horseback Riding Facility leisure/horse_riding maki-horse-riding leisure=horse_riding area point
Площадка для верховой езды Riding Arena leisure/pitch/equestrian maki-horse-riding leisure=pitch sport=equestrian area point
Портной Tailor shop/tailor maki-clothing-store shop=tailor area point
Портной Dressmaker craft/dressmaker maki-clothing-store craft=dressmaker area point
Хижина Cabin building/cabin maki-home building=cabin area
Хижина Hut building/hut maki-home building=hut area
Церковь Church amenity/place_of_worship/christian maki-religious-christian amenity=place_of_worship religion=christian area point
Церковь Church Building building/church maki-place-of-worship building=church area
Часовщик Watchmaker craft/watchmaker temaki-clock craft=watchmaker area point
Часовщик Clockmaker craft/clockmaker temaki-clock craft=clockmaker area point
bagage commented 5 years ago

@ImreSamu Wow, that's a nice script you've got here! I quickly looked at the duplicated French keys and fix some of them. However, I did not fix all of them yet because:

Some notes while I was reviewing item:

ImreSamu commented 5 years ago

@bagage

thank you for the feedback. sorry, this is only a proof of concept - first version.

I could not find man_made/surveillance_camera anywhere on the wiki,

it is a presets ( special iD Editor identification == [ osm tag combinations + icons + terms + ... ] ) https://github.com/openstreetmap/iD/tree/master/data/presets

man_made/surveillance_camera = https://github.com/openstreetmap/iD/blob/master/data/presets/presets/man_made/surveillance_camera.json

it is a combination of 2 tags: man_made=surveillance + surveillance:type=camera ( see tags0 + tags1 - in my table )

There are other types of surveillance : https://wiki.openstreetmap.org/wiki/Key%3Asurveillance%3Atype https://taginfo.openstreetmap.org/keys/surveillance:type#values

Same for crosswalk-raised and crossing-raised

footway/crosswalk-raised = https://github.com/openstreetmap/iD/blob/master/data/presets/presets/footway/crosswalk-raised.json footway/crossing-raised = https://github.com/openstreetmap/iD/blob/master/data/presets/presets/footway/crossing-raised.json

and/or check the tags0..tags4 columns in my table - for the tag combinations

A lot of public_transport/... keys have the same translation, but I do not know well these keys.

check the tags0..tags4 columns or the original definitions - in this directory. see: https://github.com/openstreetmap/iD/tree/master/data/presets/presets/public_transport

It would be useful to have a link to the wiki for every issues,

this is a combination of 2 osm tags : golf=bunker + natural=sand So maybe I link each tags [ tags0..tags4 columns ] + I link the presets: https://github.com/openstreetmap/iD/blob/master/data/presets/presets/golf/bunker.json

Also, I do not see the purpose of searchable column which seems empty all the time?

just a technical/ debug columnn - I need to filter out the "searchable=false" records. searchable = https://github.com/openstreetmap/iD/tree/master/data/presets#searchable

maki icons: would it be possible to display the actual icon instead of its name?

it is a good idea ... for the next version.

bagage commented 5 years ago

Oh, I didn't saw that the table was scrollable horizontally, my bad! I fixed most of the French issues with less-worse translations (I hope), except for crossing presets which all look the same to me and I'm not confident finding better translations. I hope your script could/will be used to trigger warnings somewhere for translators to fix them!

ImreSamu commented 5 years ago

Status: