Open bagage opened 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.
related - old discussion ( year2014 ) ( https://github.com/openstreetmap/iD/issues/2448 )
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.
@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
[ nameTrans + Geometry(Type) ]
- must be unique.
geometryArea | geometryLine | geometryPoint | geometryVertex | geometryRelation
[ nameTrans + geometryArea ]
--[nameTrans + geometryPoint]
checkingcomment:
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 |
some other examples ...
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 |
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 |
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 |
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 |
@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:
man_made/surveillance_camera
anywhere on the wiki, so I'm not sure what this is about - will dig into this later. Same for crosswalk-raised
and crossing-raised
.public_transport/...
keys have the same translation, but I do not know well these keys. I'll have to dig into it too, but I guess there will be different translations.Some notes while I was reviewing item:
golf/bunker
line for instance).searchable
column which seems empty all the time?@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.
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!
Status:
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
andamenity=drinking_water
had the same general translationEau potable (drinking water)
(in French).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!