]> git.openstreetmap.org Git - rails.git/blobdiff - vendor/assets/iD/iD/locales/en.json
Update to iD v2.19.0
[rails.git] / vendor / assets / iD / iD / locales / en.json
index ca3c293e71a3a1e8282b6b63b9293f8c03ed49a7..7c9535d70c45d35407ce56af3afd2d66d0a23b36 100644 (file)
@@ -8,7 +8,10 @@
             "zoom_to": "zoom to",
             "copy": "copy",
             "view_on": "view on {domain}",
-            "favorite": "favorite"
+            "favorite": "favorite",
+            "list": "list",
+            "text": "text",
+            "deselect": "deselect"
         },
         "toolbar": {
             "inspect": "Inspect",
             "favorites": "Favorites",
             "add_feature": "Add Feature"
         },
+        "title": {
+            "format": {
+                "context": "{base} – {context}",
+                "changes": "({changes}) {base}",
+                "changes_context": "({changes}) {base} – {context}"
+            },
+            "labeled_and_more": {
+                "one": "{labeled} and {count} more",
+                "other": "{labeled} and {count} more"
+            }
+        },
         "modes": {
-            "add_feature": {
-                "title": "Add a feature",
-                "description": "Search for features to add to the map.",
-                "key": "Tab",
-                "result": "{count} result",
-                "results": "{count} results"
-            },
             "add_area": {
                 "title": "Area",
                 "description": "Add parks, buildings, lakes or other areas to the map.",
-                "tail": "Click on the map to start drawing an area, like a park, lake, or building.",
                 "filter_tooltip": "areas"
             },
             "add_line": {
                 "title": "Line",
                 "description": "Add highways, streets, pedestrian paths, canals or other lines to the map.",
-                "tail": "Click on the map to start drawing a road, path, or route.",
                 "filter_tooltip": "lines"
             },
             "add_point": {
                 "title": "Point",
                 "description": "Add restaurants, monuments, postal boxes or other points to the map.",
-                "tail": "Click on the map to add a point.",
                 "filter_tooltip": "points"
             },
             "add_note": {
                 "title": "Note",
                 "label": "Add Note",
                 "description": "Spotted an issue? Let other mappers know.",
-                "tail": "Click on the map to add a note.",
                 "key": "N"
             },
             "add_preset": {
-                "title": "Add {feature}",
-                "point": {
-                    "title": "Add {feature} as a point"
-                },
-                "line": {
-                    "title": "Add {feature} as a line"
-                },
-                "area": {
-                    "title": "Add {feature} as an area"
-                },
-                "building": {
-                    "title": "Add {feature} as a building"
-                }
+                "title": "Add {feature}"
             },
             "browse": {
                 "title": "Browse",
                 "description": "Pan and zoom the map."
             },
-            "draw_area": {
-                "tail": "Click to add nodes to your area. Click the first node to finish the area."
-            },
-            "draw_line": {
-                "tail": "Click to add more nodes to the line. Click on other lines to connect to them, and double-click to end the line."
-            },
             "drag_node": {
                 "connected_to_hidden": "This can't be edited because it is connected to a hidden feature."
             }
@@ -99,7 +84,7 @@
                 "title": "Continue",
                 "description": "Continue this line.",
                 "not_eligible": "No line can be continued here.",
-                "multiple": "Several lines can be continued here. To choose a line, press the Shift key and click on it to select it.",
+                "multiple": "Several lines can be continued here. Add one to the selection to continue.",
                 "annotation": {
                     "line": "Continued a line.",
                     "area": "Continued an area."
                 "annotation": "Canceled drawing."
             },
             "change_role": {
-                "annotation": "Changed the role of a relation member."
+                "annotation": {
+                    "one": "Changed the role of a relation member.",
+                    "other": "Changed the roles of {n} relation members."
+                }
             },
             "change_tags": {
                 "annotation": "Changed tags."
             },
+            "copy": {
+                "title": "Copy",
+                "description": {
+                    "one": "Set this feature for pasting.",
+                    "other": "Set these features for pasting."
+                },
+                "annotation": {
+                    "one": "Copied a feature.",
+                    "other": "Copied {n} features."
+                },
+                "too_large": {
+                    "one": "This can't be copied because not enough of it is currently visible.",
+                    "other": "These can't be copied because not enough of them are currently visible."
+                }
+            },
+            "paste": {
+                "title": "Paste",
+                "description": {
+                    "one": "Add a duplicate {feature} here.",
+                    "other": "Add {n} duplicate features here."
+                },
+                "annotation": {
+                    "one": "Pasted a feature.",
+                    "other": "Pasted {n} features."
+                },
+                "nothing_copied": "No features have been copied."
+            },
             "circularize": {
                 "title": "Circularize",
                 "description": {
-                    "line": "Make this line circular.",
-                    "area": "Make this area circular."
+                    "single": "Make this feature circular.",
+                    "multiple": "Make these features circular."
                 },
                 "key": "O",
                 "annotation": {
-                    "line": "Made a line circular.",
-                    "area": "Made an area circular."
+                    "feature": {
+                        "one": "Made a feature circular.",
+                        "other": "Made {n} features circular."
+                    }
+                },
+                "multiple_blockers": {
+                    "multiple": "These can't be made circular for multiple reasons."
+                },
+                "not_closed": {
+                    "single": "This can't be made circular because it's not a loop.",
+                    "multiple": "These can't be made circular because they aren't loops."
+                },
+                "too_large": {
+                    "single": "This can't be made circular because not enough of it is currently visible.",
+                    "multiple": "These can't be made circular because not enough of them are currently visible."
                 },
-                "not_closed": "This can't be made circular because it's not a loop.",
-                "too_large": "This can't be made circular because not enough of it is currently visible.",
-                "connected_to_hidden": "This can't be made circular because it is connected to a hidden feature.",
-                "not_downloaded": "This can't be made circular because parts of it have not yet been downloaded.",
-                "already_circular": "This can't be made circular because it's already circular."
+                "connected_to_hidden": {
+                    "single": "This can't be made circular because it is connected to a hidden feature.",
+                    "multiple": "These can't be made circular because some are connected to hidden features."
+                },
+                "not_downloaded": {
+                    "single": "This can't be made circular because parts of it have not yet been downloaded.",
+                    "multiple": "These can't be made circular because parts of them have not yet been downloaded."
+                },
+                "already_circular": {
+                    "single": "This can't be made more circular than it already is.",
+                    "multiple": "These can't be made more circular than they already are."
+                }
             },
             "orthogonalize": {
                 "title": "Square",
                 "key": "Q",
                 "annotation": {
                     "corner": {
-                        "single": "Squared a corner.",
-                        "multiple": "Squared several corners."
+                        "one": "Squared a corner.",
+                        "other": "Squared {n} corners."
                     },
                     "feature": {
-                        "single": "Squared the corners of a feature.",
-                        "multiple": "Squared the corners of several features."
+                        "one": "Squared the corners of a feature.",
+                        "other": "Squared the corners of {n} features."
                     }
                 },
                 "multiple_blockers": {
                 "title": "Straighten",
                 "description": {
                     "points": "Straighten these points.",
-                    "line": "Straighten this line."
+                    "line": "Straighten this line.",
+                    "lines": "Straighten these lines."
                 },
                 "key": "S",
                 "annotation": {
-                    "points": "Straightened several points.",
-                    "line": "Straightened a line."
+                    "point": {
+                        "one": "Straightened a point.",
+                        "other": "Straightened {n} points."
+                    },
+                    "line": {
+                        "one": "Straightened a line.",
+                        "other": "Straightened {n} lines."
+                    }
                 },
-                "too_bendy": "This can't be straightened because it bends too much.",
-                "connected_to_hidden": "This can't be straightened because it is connected to a hidden feature.",
-                "not_downloaded": "This can't be straightened because parts of it have not yet been downloaded."
+                "too_bendy": {
+                    "single": "This can't be straightened because it bends too much.",
+                    "multiple": "These can't be straightened because they bend too much."
+                },
+                "connected_to_hidden": {
+                    "single": "This can't be straightened because it is connected to a hidden feature.",
+                    "multiple": "These can't be straightened because some are connected to hidden features."
+                },
+                "not_downloaded": {
+                    "single": "This can't be straightened because parts of it have not yet been downloaded.",
+                    "multiple": "These can't be straightened because parts of them have not yet been downloaded."
+                },
+                "straight_enough": {
+                    "single": "This can't be made straighter than it already is.",
+                    "multiple": "These can't be made straighter than they already are."
+                },
+                "too_large": {
+                    "single": "This can't be straightened because not enough of it is currently visible.",
+                    "multiple": "These can't be straightened because not enough of them are currently visible."
+                }
             },
             "delete": {
                 "title": "Delete",
                     "line": "Deleted a line.",
                     "area": "Deleted an area.",
                     "relation": "Deleted a relation.",
-                    "multiple": "Deleted {n} features."
+                    "feature": {
+                        "one": "Deleted a feature.",
+                        "other": "Deleted {n} features."
+                    }
                 },
                 "too_large": {
                     "single": "This feature can't be deleted because not enough of it is currently visible.",
                 "description": {
                     "building_address": "Remove all non-address and non-building tags.",
                     "building": "Remove all non-building tags.",
-                    "address": "Remove all non-address tags."
+                    "address": "Remove all non-address tags.",
+                    "generic": "Remove tags."
                 },
                 "annotation": {
                     "building": {
-                        "single": "Downgraded a feature to a basic building.",
-                        "multiple": "Downgraded {n} features to basic buildings."
+                        "one": "Downgraded a feature to a basic building.",
+                        "other": "Downgraded {n} features to basic buildings."
                     },
                     "address": {
-                        "single": "Downgraded a feature to an address.",
-                        "multiple": "Downgraded {n} features to addresses."
+                        "one": "Downgraded a feature to an address.",
+                        "other": "Downgraded {n} features to addresses."
                     },
-                    "multiple": "Downgraded {n} features."
+                    "generic": {
+                        "one": "Downgraded a feature.",
+                        "other": "Downgraded {n} features."
+                    }
                 },
                 "has_wikidata_tag": {
                     "single": "This feature can't be downgraded because it has a Wikidata tag.",
                 }
             },
             "add_member": {
-                "annotation": "Added a member to a relation."
+                "annotation": {
+                    "one": "Added a member to a relation.",
+                    "other": "Added {n} members to a relation."
+                }
             },
             "delete_member": {
-                "annotation": "Removed a member from a relation."
+                "annotation": {
+                    "one": "Removed a member from a relation.",
+                    "other": "Removed {n} members from a relation."
+                }
             },
             "reorder_members": {
                 "annotation": "Reordered a relation's members."
             },
             "disconnect": {
                 "title": "Disconnect",
-                "description": "Disconnect these lines/areas from each other.",
-                "line": {
-                    "description": "Disconnect this line from other features."
-                },
-                "area": {
-                    "description": "Disconnect this area from other features."
+                "description": {
+                    "no_points": {
+                        "single_way": {
+                            "line": "Disconnect this line from other features.",
+                            "area": "Disconnect this area from other features."
+                        },
+                        "multiple_ways": {
+                            "conjoined": "Disconnect these features from each other.",
+                            "separate": "Disconnect these features from everything."
+                        }
+                    },
+                    "single_point": {
+                        "no_ways": "Disconnect the features at this point.",
+                        "single_way": {
+                            "line": "Disconnect the selected line at this point.",
+                            "area": "Disconnect the selected area at this point."
+                        },
+                        "multiple_ways": "Disconnect the selected features at this point."
+                    },
+                    "multiple_points": {
+                        "no_ways": "Disconnect the features at these points.",
+                        "single_way": {
+                            "line": "Disconnect the selected line at these points.",
+                            "area": "Disconnect the selected area at these points."
+                        },
+                        "multiple_ways": "Disconnect the selected features at these points."
+                    }
                 },
                 "key": "D",
-                "annotation": "Disconnected lines/areas.",
+                "annotation": {
+                    "features": "Disconnected features.",
+                    "from_each_other": "Disconnected features from each other."
+                },
                 "too_large": {
-                    "single": "This can't be disconnected because not enough of it is currently visible."
+                    "single": "This can't be disconnected because not enough of it is currently visible.",
+                    "multiple": "These can't be disconnected because not enough of them are currently visible."
                 },
                 "not_connected": "There aren't enough lines/areas here to disconnect.",
                 "not_downloaded": "This can't be disconnected because parts of it have not yet been downloaded.",
                 "title": "Merge",
                 "description": "Merge these features.",
                 "key": "C",
-                "annotation": "Merged {n} features.",
+                "annotation": {
+                    "one": "Merged a feature.",
+                    "other": "Merged {n} features."
+                },
                 "not_eligible": "These features can't be merged.",
                 "not_adjacent": "These features can't be merged because their endpoints aren't connected.",
                 "restriction": "These features can't be merged because it would damage a \"{relation}\" relation.",
                 "relation": "These features can't be merged because they have conflicting relation roles.",
                 "incomplete_relation": "These features can't be merged because at least one hasn't been fully downloaded.",
                 "conflicting_tags": "These features can't be merged because some of their tags have conflicting values.",
-                "paths_intersect": "These features can't be merged because the resulting path would intersect itself."
+                "paths_intersect": "These features can't be merged because the resulting path would intersect itself.",
+                "too_many_vertices": "These features can't be merged because the resulting path would have too many points."
             },
             "move": {
                 "title": "Move",
                     "vertex": "Moved a node in a way.",
                     "line": "Moved a line.",
                     "area": "Moved an area.",
-                    "multiple": "Moved multiple features."
+                    "relation": "Moved a relation.",
+                    "feature": {
+                        "one": "Moved a feature.",
+                        "other": "Moved {n} features."
+                    }
                 },
                 "incomplete_relation": {
                     "single": "This feature can't be moved because it hasn't been fully downloaded.",
             },
             "reflect": {
                 "title": {
-                    "long": "Reflect Long",
-                    "short": "Reflect Short"
+                    "long": "Flip Long",
+                    "short": "Flip Short"
                 },
                 "description": {
                     "long": {
-                        "single": "Reflect this feature across its long axis.",
-                        "multiple": "Reflect these features across their long axis."
+                        "single": "Flip this feature across its long axis.",
+                        "multiple": "Flip these features across their long axis."
                     },
                     "short": {
-                        "single": "Reflect this feature across its short axis.",
-                        "multiple": "Reflect these features across their short axis."
+                        "single": "Flip this feature across its short axis.",
+                        "multiple": "Flip these features across their short axis."
                     }
                 },
                 "key": {
                 },
                 "annotation": {
                     "long": {
-                        "single": "Reflected a feature across its long axis.",
-                        "multiple": "Reflected multiple features across their long axis."
+                        "feature": {
+                            "one": "Flipped a feature across its long axis.",
+                            "other": "Flipped {n} features across their long axis."
+                        }
                     },
                     "short": {
-                        "single": "Reflected a feature across its short axis.",
-                        "multiple": "Reflected multiple features across their short axis."
+                        "feature": {
+                            "one": "Flipped a feature across its short axis.",
+                            "other": "Flipped {n} features across their short axis."
+                        }
                     }
                 },
                 "incomplete_relation": {
-                    "single": "This feature can't be reflected because it hasn't been fully downloaded.",
-                    "multiple": "These features can't be reflected because they haven't been fully downloaded."
+                    "single": "This feature can't be flipped because it hasn't been fully downloaded.",
+                    "multiple": "These features can't be flipped because they haven't been fully downloaded."
                 },
                 "too_large": {
-                    "single": "This feature can't be reflected because not enough of it is currently visible.",
-                    "multiple": "These features can't be reflected because not enough of them are currently visible."
+                    "single": "This feature can't be flipped because not enough of it is currently visible.",
+                    "multiple": "These features can't be flipped because not enough of them are currently visible."
                 },
                 "connected_to_hidden": {
-                    "single": "This feature can't be reflected because it is connected to a hidden feature.",
-                    "multiple": "These features can't be reflected because some are connected to hidden features."
+                    "single": "This feature can't be flipped because it is connected to a hidden feature.",
+                    "multiple": "These features can't be flipped because some are connected to hidden features."
                 },
                 "not_downloaded": {
-                    "single": "This feature can't be reflected because parts of it have not yet been downloaded.",
-                    "multiple": "These features can't be reflected because parts of them have not yet been downloaded."
+                    "single": "This feature can't be flipped because parts of it have not yet been downloaded.",
+                    "multiple": "These features can't be flipped because parts of them have not yet been downloaded."
                 }
             },
             "rotate": {
                 "annotation": {
                     "line": "Rotated a line.",
                     "area": "Rotated an area.",
-                    "multiple": "Rotated multiple features."
+                    "relation": "Rotated a relation.",
+                    "feature": {
+                        "one": "Rotated a feature.",
+                        "other": "Rotated {n} features."
+                    }
                 },
                 "incomplete_relation": {
                     "single": "This feature can't be rotated because it hasn't been fully downloaded.",
                 },
                 "key": "V",
                 "annotation": {
-                    "point": "Reversed a point.",
-                    "points": "Reversed multiple points.",
-                    "line": "Reversed a line.",
-                    "lines": "Reversed multiple lines.",
-                    "features": "Reversed multiple features."
+                    "point": {
+                        "one": "Reversed a point.",
+                        "other": "Reversed {n} points."
+                    },
+                    "line": {
+                        "one": "Reversed a line.",
+                        "other": "Reversed {n} lines."
+                    },
+                    "feature": {
+                        "one": "Reversed a feature.",
+                        "other": "Reversed {n} features."
+                    }
+                }
+            },
+            "scale": {
+                "annotation": {
+                    "down": {
+                        "feature": {
+                            "one": "Scaled down a feature.",
+                            "other": "Scaled down {n} features."
+                        }
+                    },
+                    "up": {
+                        "feature": {
+                            "one": "Scaled up a feature.",
+                            "other": "Scaled up {n} features."
+                        }
+                    }
+                },
+                "too_small": {
+                    "single": "This feature can't be scaled down because it would become too small.",
+                    "multiple": "These features can't be scaled down because they would become too small."
+                },
+                "too_large": {
+                    "single": "This feature can't be scaled because not enough of it is currently visible.",
+                    "multiple": "These features can't be scaled because not enough of them are currently visible."
+                },
+                "connected_to_hidden": {
+                    "single": "This feature can't be scaled because it is connected to a hidden feature.",
+                    "multiple": "These features can't be scaled because some are connected to hidden features."
+                },
+                "not_downloaded": {
+                    "single": "This feature can't be scaled because parts of it have not yet been downloaded.",
+                    "multiple": "These features can't be scaled because parts of them have not yet been downloaded."
                 }
             },
             "split": {
                 "title": "Split",
                 "description": {
-                    "line": "Split this line into two at this node.",
-                    "area": "Split the boundary of this area into two.",
-                    "multiple": "Split the lines/area boundaries at this node into two."
+                    "line": {
+                        "single": {
+                            "single_node": "Divide this line into two at this point.",
+                            "multiple_node": "Divide this line at these points."
+                        },
+                        "multiple": {
+                            "single_node": "Divide these lines at this point.",
+                            "multiple_node": "Divide these lines at these points."
+                        }
+                    },
+                    "area": {
+                        "single": {
+                            "single_node": "Divide the edge of this area into two at this point.",
+                            "multiple_node": "Divide the edge of this area at these points."
+                        },
+                        "multiple": {
+                            "single_node": "Divide the edges of these areas at this point.",
+                            "multiple_node": "Divide the edges of these areas at these points."
+                        }
+                    },
+                    "feature": {
+                        "multiple": {
+                            "single_node": "Divide these features at this point.",
+                            "multiple_node": "Divide these features at these points."
+                        }
+                    }
                 },
                 "key": "X",
                 "annotation": {
-                    "line": "Split a line.",
-                    "area": "Split an area boundary.",
-                    "multiple": "Split {n} lines/area boundaries."
+                    "line": {
+                        "one": "Split a line.",
+                        "other": "Split {n} lines."
+                    },
+                    "area": {
+                        "one": "Split the edge of an area.",
+                        "other": "Split {n} areas."
+                    },
+                    "feature": {
+                        "one": "Split a feature.",
+                        "other": "Split {n} features."
+                    }
                 },
                 "not_eligible": "Lines can't be split at their beginning or end.",
-                "multiple_ways": "There are too many lines here to split.",
                 "connected_to_hidden": "This can't be split because it is connected to a hidden feature."
             },
             "restriction": {
                 "key": "E",
                 "description": {
                     "vertex": {
-                        "single": "Extract this point from its parent lines/areas."
+                        "single": "Extract this point from its parent lines/areas.",
+                        "multiple": "Extract these points from their parent features."
+                    },
+                    "line": {
+                        "single": "Extract a point from this line.",
+                        "multiple": "Extract points from these lines."
                     },
                     "area": {
-                        "single": "Extract a point from this area."
+                        "single": "Extract a point from this area.",
+                        "multiple": "Extract points from these areas."
+                    },
+                    "feature": {
+                        "multiple": "Extract points from these features."
                     }
                 },
                 "annotation": {
-                    "single": "Extracted a point."
+                    "one": "Extracted a point.",
+                    "other": "Extracted {n} points."
                 },
                 "too_large": {
-                    "area": {
-                        "single": "A point can't be extracted from this area because not enough of it is currently visible."
-                    }
-                },
-                "restriction": {
-                    "vertex": {
-                        "single": "This point can't be extracted because it would damage a \"{relation}\" relation."
-                    }
+                    "single": "A point can't be extracted because not enough of this feature is visible.",
+                    "multiple": "Points can't be extracted because not enough of these features are visible."
                 },
                 "connected_to_hidden": {
-                    "vertex": {
-                        "single": "This point can't be extracted because it is connected to a hidden feature."
-                    }
+                    "single": "This point can't be extracted because it is connected to a hidden feature.",
+                    "multiple": "Points can't be extracted from these features because some are connected to hidden features."
                 }
             }
         },
             }
         },
         "undo": {
+            "title": "Undo",
             "tooltip": "Undo: {action}",
             "nothing": "Nothing to undo."
         },
         "redo": {
+            "title": "Redo",
             "tooltip": "Redo: {action}",
             "nothing": "Nothing to redo."
         },
         "tooltip_keyhint": "Shortcut:",
         "browser_notice": "This editor is supported in Firefox, Chrome, Safari, Opera, and Internet Explorer 11 and above. Please upgrade your browser or use Potlatch 2 to edit the map.",
         "translate": {
-            "translate": "Translate",
+            "translate": "Add multilingual name",
             "localized_translation_label": "Multilingual Name",
             "localized_translation_language": "Choose language",
             "localized_translation_name": "Name",
             "tooltip": "Toggle the sidebar."
         },
         "feature_info": {
-            "hidden_warning": "{count} hidden features",
-            "hidden_details": "These features are currently hidden: {details}"
+            "hidden_warning": {
+                "one": "{count} hidden feature",
+                "other": "{count} hidden features"
+            }
         },
         "osm_api_status": {
             "message": {
             "request_review": "I would like someone to review my edits.",
             "save": "Upload",
             "cancel": "Cancel",
-            "changes": "{count} Changes",
+            "changes": "Changes",
             "download_changes": "Download osmChange file",
             "errors": "Errors",
             "warnings": "Warnings",
         },
         "contributors": {
             "list": "Edits by {users}",
-            "truncated_list": "Edits by {users} and {count} others"
+            "truncated_list": {
+                "one": "Edits by {users} and {count} other",
+                "other": "Edits by {users} and {count} others"
+            }
         },
         "info_panels": {
             "key": "I",
+            "selected": {
+                "one": "{n} selected",
+                "other": "{n} selected"
+            },
             "background": {
                 "key": "B",
                 "title": "Background",
             "history": {
                 "key": "H",
                 "title": "History",
-                "selected": "{n} selected",
                 "no_history": "No History (New Feature)",
                 "version": "Version",
                 "last_edit": "Last Edit",
             "measurement": {
                 "key": "M",
                 "title": "Measurement",
-                "selected": "{n} selected",
                 "geometry": "Geometry",
                 "closed_line": "closed line",
                 "closed_area": "closed area",
                 "center": "Center",
                 "perimeter": "Perimeter",
                 "length": "Length",
+                "distance": "Distance",
                 "area": "Area",
                 "centroid": "Centroid",
                 "location": "Location",
             "no_results_worldwide": "No results found"
         },
         "geolocate": {
+            "key": "L",
             "title": "Show My Location",
-            "locating": "Locating, please wait..."
+            "locating": "Locating, please wait...",
+            "location_unavailable": "Your location is unavailable."
         },
         "inspector": {
             "zoom_to": {
                 "key": "Z",
-                "title": "Zoom to this",
-                "tooltip_feature": "Center and zoom the map to focus on this feature.",
-                "tooltip_note": "Center and zoom the map to focus on this note.",
-                "tooltip_data": "Center and zoom the map to focus on this data.",
-                "tooltip_issue": "Center and zoom the map to focus on this issue."
+                "title": "Zoom To Selection",
+                "no_selection": "Nothing to zoom to."
             },
             "show_more": "Show More",
             "view_on_osm": "View on openstreetmap.org",
+            "view_on_osmose": "View on osmose.openstreetmap.fr",
             "view_on_keepRight": "View on keepright.at",
-            "all_fields": "All fields",
-            "all_tags": "All tags",
-            "all_members": "All members",
-            "all_relations": "All relations",
+            "feature_type": "Feature Type",
+            "fields": "Fields",
+            "tags": "Tags",
+            "members": "Members",
+            "relations": "Relations",
+            "features": "Features",
+            "title_count": "{title} ({count})",
             "add_to_relation": "Add to a relation",
             "new_relation": "New relation...",
             "choose_relation": "Choose a parent relation",
             "role": "Role",
+            "multiple_roles": "Multiple Roles",
             "choose": "Select feature type",
-            "results": "{n} results for {search}",
+            "results": {
+                "one": "{n} result for {search}",
+                "other": "{n} results for {search}"
+            },
             "no_documentation_key": "There is no documentation available.",
             "edit_reference": "edit/translate",
             "wiki_reference": "View documentation",
             "wiki_en_reference": "View documentation in English",
+            "key_value": "key=value",
+            "multiple_values": "Multiple Values",
+            "multiple_types": "Multiple Types",
+            "unshared_value_tooltip": "not shared by all features",
             "hidden_preset": {
                 "manual": "{features} are hidden. Enable them in the Map Data pane.",
                 "zoom": "{features} are hidden. Zoom in to enable them."
             },
-            "back_tooltip": "Change feature",
+            "back_tooltip": "Change feature type",
             "remove": "Remove",
             "search": "Search",
-            "multiselect": "Selected features",
             "unknown": "Unknown",
             "incomplete": "<not downloaded>",
             "feature_list": "Search features",
             "edit": "Edit feature",
+            "edit_features": "Edit features",
             "check": {
                 "yes": "Yes",
                 "no": "No",
             "location": "Location",
             "add_fields": "Add field:",
             "lock": {
-                "suggestion": "The \"{label}\" field is locked because there is a Wikidata tag. You can delete it or edit the tags in the \"All tags\" section."
+                "suggestion": "The \"{label}\" field is locked because there is a Wikidata tag. You can delete it or edit the tags in the \"Tags\" section."
             }
         },
         "background": {
             "title": "Background",
-            "description": "Background settings",
+            "description": "Background Settings",
             "key": "B",
             "backgrounds": "Backgrounds",
             "none": "None",
                 "key": "/"
             },
             "panel": {
-                "description": "Show Detail Panel",
+                "description": "Show Background Panel",
                 "tooltip": "Show advanced background information."
             },
-            "fix_misalignment": "Adjust imagery offset",
+            "location_panel": {
+                "description": "Show Location Panel",
+                "tooltip": "Show coordinates and regional details."
+            },
+            "fix_misalignment": "Imagery Offset",
             "offset": "Drag anywhere in the gray area below to adjust the imagery offset, or enter the offset values in meters."
         },
         "map_data": {
             "layers": {
                 "osm": {
                     "tooltip": "Map data from OpenStreetMap",
-                    "title": "OpenStreetMap data"
+                    "title": "OpenStreetMap Data"
                 },
                 "notes": {
                     "tooltip": "Note data from OpenStreetMap",
-                    "title": "OpenStreetMap notes"
+                    "title": "OpenStreetMap Notes"
                 },
                 "keepRight": {
-                    "tooltip": "Automatically detected map issues from keepright.at",
+                    "tooltip": "Data issues detected by keepright.at",
                     "title": "KeepRight Issues"
                 },
                 "improveOSM": {
-                    "tooltip": "Missing data automatically detected by improveosm.org",
+                    "tooltip": "Missing data detected by improveosm.org",
                     "title": "ImproveOSM Issues"
                 },
+                "osmose": {
+                    "tooltip": "Data issues detected by osmose.openstreetmap.fr",
+                    "title": "Osmose Issues"
+                },
                 "custom": {
                     "tooltip": "Drag and drop a data file onto the page, or click the button to setup",
                     "title": "Custom Map Data",
                     "zoom": "Zoom to data"
                 }
             },
+            "history_panel": {
+                "title": "Show History Panel",
+                "tooltip": "Show version details for the selection."
+            },
+            "measurement_panel": {
+                "title": "Show Measurement Panel",
+                "tooltip": "Show geometry values for the selection."
+            },
             "style_options": "Style Options",
             "highlight_edits": {
                 "key": "G"
                     "title": "Panoramic Photos",
                     "tooltip": "360° photos"
                 }
+            },
+            "date_filter": {
+                "fromDate": {
+                    "title": "From",
+                    "tooltip": "Show photos taken after this date"
+                },
+                "toDate": {
+                    "title": "To",
+                    "tooltip": "Show photos taken before this date"
+                }
+            },
+            "username_filter": {
+                "title": "Username",
+                "tooltip": "Show only photos by this user"
             }
         },
         "feature": {
             "custom_background": {
                 "tooltip": "Edit custom background",
                 "header": "Custom Background Settings",
-                "instructions": "Enter a tile URL template. Valid tokens are:\n   {zoom} or {z}, {x}, {y} for Z/X/Y tile scheme\n   {-y} or {ty} for flipped TMS-style Y coordinates\n   {u} for quadtile scheme\n   {switch:a,b,c} for DNS server multiplexing\n\nExample:\n{example}",
+                "instructions": {
+                    "info": "Enter a tile URL template below.",
+                    "wms": {
+                        "tokens_label": "Supported WMS tokens:",
+                        "tokens": {
+                            "proj": "`{proj}`: requested projection (`EPSG:3857` only)",
+                            "wkid": "`{wkid}`: same as proj, but without the EPSG (`3857` only)",
+                            "dimensions": "`{width}`, `{height}`: requested image dimensions (`256` only)",
+                            "bbox": "`{bbox}`: requested bounding box (e.g. `minX,minY,maxX,maxY`)"
+                        }
+                    },
+                    "tms": {
+                        "tokens_label": "Supported TMS tokens:",
+                        "tokens": {
+                            "xyz": "`{zoom}` or `{z}`, `{x}`, `{y}`: Z/X/Y tile coordinates",
+                            "flipped_y": "`{-y}` or `{ty}`: flipped TMS-style Y coordinates",
+                            "switch": "`{switch:a,b,c}`: DNS server multiplexing",
+                            "quadtile": "`{u}`: quadtile (Bing) scheme",
+                            "scale_factor": "`{@2x}` or `{r}`: resolution scale factor"
+                        }
+                    },
+                    "example": "Example:"
+                },
                 "template": {
                     "placeholder": "Enter a url template"
                 }
                 "delete": "Leave Deleted",
                 "download_changes": "Or download osmChange file",
                 "done": "All conflicts resolved!",
-                "help": "Another user changed some of the same map features you changed.\nClick on each feature below for more details about the conflict, and choose whether to keep\nyour changes or the other user's changes.\n"
+                "help": "Another user changed some of the same map features you changed. Click on each feature below for more details about the conflict, and choose whether to keep your changes or the other user's changes."
             }
         },
         "merge_remote_changes": {
             "used_with": "used with {type}"
         },
         "zoom": {
-            "in": "Zoom in",
-            "out": "Zoom out"
+            "in": "Zoom In",
+            "out": "Zoom Out",
+            "disabled": {
+                "in": "Cannot zoom in further.",
+                "out": "Cannot zoom out further."
+            }
         },
         "cannot_zoom": "Cannot zoom out further in current mode.",
         "full_screen": "Toggle Full Screen",
+        "self_intersection": {
+            "error": {
+                "lines": "Lines cannot cross over themselves.",
+                "areas": "Areas cannot cross over themselves."
+            }
+        },
         "QA": {
+            "osmose": {
+                "title": "Osmose Issue",
+                "detail_title": "Details",
+                "elems_title": "Features",
+                "fix_title": "Fix Guidelines",
+                "trap_title": "Common Mistakes"
+            },
             "improveOSM": {
                 "title": "ImproveOSM Detection",
                 "geometry_types": {
                 }
             },
             "keepRight": {
-                "title": "KeepRight Error",
-                "detail_title": "Error",
+                "title": "KeepRight",
                 "detail_description": "Description",
                 "comment": "Comment",
                 "comment_placeholder": "Enter a comment to share with other users.",
-                "close": "Close (Error Fixed)",
-                "ignore": "Ignore (Not an Error)",
+                "close": "Close (Issue Fixed)",
+                "ignore": "Remove (False Positive)",
                 "save_comment": "Save Comment",
                 "close_comment": "Close and Comment",
-                "ignore_comment": "Ignore and Comment",
+                "ignore_comment": "Remove and Comment",
                 "error_parts": {
                     "this_node": "this node",
                     "this_way": "this way",
         "mapillary_map_features": {
             "title": "Map Features",
             "tooltip": "Map features from Mapillary",
-            "request_data": "Request Data",
             "construction": {
                 "flat": {
                     "crosswalk_plain": "plain crosswalk"
                 "open_data_h": "Open Data",
                 "open_data": "Edits that you make on this map will be visible to everyone who uses OpenStreetMap. Your edits can be based on personal knowledge, on-the-ground surveying, or imagery collected from aerial or street level photos. Copying from commercial sources, like Google Maps, [is strictly forbidden](https://www.openstreetmap.org/copyright).",
                 "before_start_h": "Before you start",
-                "before_start": "You should be familiar with OpenStreetMap and this editor before you start editing. iD contains a walkthrough to teach you the basics of editing OpenStreetMap. Click \"Start the Walkthrough\" on this screen to take the tutorial - it takes only about 15 minutes.",
+                "before_start": "You should be familiar with OpenStreetMap and this editor before you start editing. iD contains a walkthrough to teach you the basics of editing OpenStreetMap. Press the \"{start_the_walkthrough}\" button on this screen to start the tutorial—it takes only about 15 minutes.",
                 "open_source_h": "Open Source",
                 "open_source": "The iD editor is a collaborative open source project, and you are using version {version} now. The source code is available [on GitHub](https://github.com/openstreetmap/iD).",
-                "open_source_help": "You can help iD by [translating](https://github.com/openstreetmap/iD/blob/master/CONTRIBUTING.md#translating) or [reporting bugs](https://github.com/openstreetmap/iD/issues)."
+                "open_source_help": "You can help iD by [translating](https://github.com/openstreetmap/iD/blob/develop/CONTRIBUTING.md#translating) or [reporting bugs](https://github.com/openstreetmap/iD/issues)."
             },
             "overview": {
                 "title": "Overview",
                 "navigation_h": "Navigation",
-                "navigation_drag": "You can drag the map by pressing and holding down the {leftclick} left mouse button and moving the mouse around. You can also use the `↓`, `↑`, `←`, `→` arrow keys on your keyboard.",
-                "navigation_zoom": "You can zoom in or out by scrolling with the mouse wheel or trackpad, or by clicking the {plus} / {minus} buttons along the side of the map. You can also use the `+`, `-` keys on your keyboard.",
+                "navigation_drag": "You can drag the map by holding down the {leftclick} left mouse button and moving the mouse around, or by {touchdrag_icon} dragging on a touchscreen. You can also use the `↓`, `↑`, `←`, `→` arrow keys on a keyboard.",
+                "navigation_zoom": "You can zoom in or out by scrolling with a {mousewheel_icon} mouse wheel or trackpad, or by {pinch_icon} pinching with two fingers on a touchscreen. You can also press the {plus} / {minus} buttons along the side of the map or the `+`, `-` keys on a keyboard.",
                 "features_h": "Map Features",
                 "features": "We use the word *features* to describe things that appear on the map, such as roads, buildings, or points of interest. Anything in the real world can be mapped as a feature on OpenStreetMap. Map features are represented on the map using *points*, *lines*, or *areas*.",
                 "nodes_ways": "In OpenStreetMap, points are sometimes called *nodes*, and lines and areas are sometimes called *ways*."
             "editing": {
                 "title": "Editing & Saving",
                 "select_h": "Select",
-                "select_left_click": "{leftclick} Left-click on a feature to select it. This will highlight it with a pulsing glow, and the sidebar will display details about that feature, such as its name or address.",
-                "select_right_click": "{rightclick} Right-click on a feature to display the editing menu, which shows the commands that are available, such as rotating, moving, and deleting.",
+                "select_left_click": "{leftclick} Left-click or {tap_icon} tap a feature to select it. This will highlight it with a pulsing glow and display further details about it in the sidebar.",
+                "select_right_click": "{rightclick} Right-click or {longpress_icon} long-press a feature to display the edit menu, which provides operations such as copy, rotate, and delete.",
+                "select_space": "The `{space}` key can also be used instead of left-click when selecting and drawing.",
                 "multiselect_h": "Multiselect",
-                "multiselect_shift_click": "`{shift}`+{leftclick} left-click to select several features together.  This makes it easier to move or delete multiple items.",
+                "multiselect": "Selecting multiple features together lets you quickly edit them all at once.",
+                "multiselect_shift_click": "With a mouse and keyboard, hold `{shift}` and {leftclick} left-click features to add them to the selection. On a touchscreen, {longpress_icon} tap-and-hold one feature while {tap_icon} tapping additional features with another finger.",
                 "multiselect_lasso": "Another way to select multiple features is to hold down the `{shift}` key, then press and hold down the {leftclick} left mouse button and drag the mouse to draw a selection lasso. All of the points inside the lasso area will be selected.",
                 "undo_redo_h": "Undo & Redo",
-                "undo_redo": "Your edits are stored locally in your browser until you choose to save them to the OpenStreetMap server. You can undo edits by clicking the {undo} **Undo** button, and redo them by clicking the {redo} **Redo** button.",
+                "undo_redo": "Your edits are stored locally in your browser until you choose to save them to the OpenStreetMap server. You can undo edits by pressing the {undo_icon} **{undo}** button, and redo them by pressing the {redo_icon} **{redo}** button.",
                 "save_h": "Save",
-                "save": "Click {save} **Save** to finish your edits and send them to OpenStreetMap. You should remember to save your work frequently!",
+                "save": "Press the {save_icon} **{save}** button to finish your edits and send them to OpenStreetMap. You should remember to save your work frequently!",
                 "save_validation": "On the save screen, you'll have a chance to review what you've done. iD will also perform some basic checks for missing data and may offer helpful suggestions and warnings if something doesn't seem right.",
                 "upload_h": "Upload",
-                "upload": "Before uploading your changes you must enter a [changeset comment](https://wiki.openstreetmap.org/wiki/Good_changeset_comments). Then click **Upload** to send your changes to OpenStreetMap, where they will be merged into the map and publicly visible to everyone.",
+                "upload": "Before uploading your changes you must enter a [changeset comment](https://wiki.openstreetmap.org/wiki/Good_changeset_comments). Then press **{upload}** to send your changes to OpenStreetMap, where they will be merged into the map and publicly visible to everyone.",
                 "backups_h": "Automatic Backups",
-                "backups": "If you can't finish your edits in one sitting, for example if your computer crashes or you close the browser tab, your edits are still saved in your browser's storage. You can come back later (on the same browser and computer), and iD will offer to restore your work.",
+                "backups": "If you happen to close the browser before saving, your edits are still stored locally. iD will offer to restore your work when you come back later on the same browser and device.",
                 "keyboard_h": "Keyboard Shortcuts",
-                "keyboard": "You can view a list of keyboard shortcuts by pressing the `?` key."
+                "keyboard": "You can view a list of keyboard shortcuts by pressing the `{shortcuts_key}` key."
             },
             "feature_editor": {
                 "title": "Feature Editor",
                 "intro": "The *feature editor* appears alongside the map, and allows you to see and edit all of the information for the selected feature.",
                 "definitions": "The top section displays the feature's type. The middle section contains *fields* showing the feature's attributes, such as its name or address.",
                 "type_h": "Feature Type",
-                "type": "You can click on the feature type to change the feature to a different type. Everything that exists in the real world can be added to OpenStreetMap, so there are thousands of feature types to choose from.",
-                "type_picker": "The type picker displays the most common feature types, such as parks, hospitals, restaurants, roads, and buildings. You can search for anything by typing what you're looking for in the search box. You can also click the {inspect} **Info** icon next to the feature type to learn more about it.",
+                "type": "You can press the feature type to change the feature to a different type. Everything that exists in the real world can be added to OpenStreetMap, so there are thousands of feature types to choose from.",
+                "type_picker": "The type picker displays the most common feature types, such as parks, hospitals, restaurants, roads, and buildings. You can search for anything by typing what you're looking for in the search box. You can also press the {inspect} **Info** icon next to the feature type to learn more about it.",
                 "fields_h": "Fields",
-                "fields_all_fields": "The \"All fields\" section contains all of the feature's details that you may edit. In OpenStreetMap, all of the fields are optional, and it's OK to leave a field blank if you are unsure.",
+                "fields_all_fields": "The \"{fields}\" section contains all of the feature's details that you may edit. In OpenStreetMap, all of the fields are optional, and it's OK to leave a field blank if you are unsure.",
                 "fields_example": "Each feature type will display different fields. For example, a road may display fields for its surface and speed limit, but a restaurant may display fields for the type of food it serves and the hours it is open.",
-                "fields_add_field": "You can also click the \"Add field\" dropdown to add more fields, such as a description, Wikipedia link, wheelchair access, and more.",
+                "fields_add_field": "You can also use the \"Add field\" dropdown to add more fields, such as a description, Wikipedia link, wheelchair access, and more.",
                 "tags_h": "Tags",
-                "tags_all_tags": "Below the fields section, you can expand the \"All tags\" section to edit any of the OpenStreetMap *tags* for the selected feature. Each tag consists of a *key* and *value*, data elements that define all of the features stored in OpenStreetMap.",
+                "tags_all_tags": "Below the fields section, you can expand the \"{tags}\" section to edit any of the OpenStreetMap *tags* for the selected feature. Each tag consists of a *key* and *value*, data elements that define all of the features stored in OpenStreetMap.",
                 "tags_resources": "Editing a feature's tags requires intermediate knowledge about OpenStreetMap. You should consult resources like the [OpenStreetMap Wiki](https://wiki.openstreetmap.org/wiki/Main_Page) or [Taginfo](https://taginfo.openstreetmap.org/) to learn more about accepted OpenStreetMap tagging practices."
             },
             "points": {
                 "title": "Points",
                 "intro": "*Points* can be used to represent features such as shops, restaurants, and monuments. They mark a specific location, and describe what's there.",
                 "add_point_h": "Adding Points",
-                "add_point": "To add a point, click the {point} **Point** button on the toolbar above the map, or press the shortcut key `1`. This will change the mouse cursor to a cross symbol.",
-                "add_point_finish": "To place the new point on the map, position the mouse cursor where the point should go, then {leftclick} left-click or press `Space`.",
+                "add_point": "To add a point, press the {point_icon} **{point}** button on the toolbar above the map, or press the shortcut key `1`.",
+                "add_point_finish": "Next, place the new point on the map. With a mouse, position the cursor where the point should go and {leftclick} left-click. On a touchscreen, {tap_icon} tap the location.",
                 "move_point_h": "Moving Points",
-                "move_point": "To move a point, place the mouse cursor over the point, then press and hold the {leftclick} left mouse button while dragging the point to its new location.",
+                "move_point": "To move a point, {leftclick} left-click and drag it with a mouse or {touchdrag_icon} tap-and-drag it on a touchscreen.",
                 "delete_point_h": "Deleting Points",
                 "delete_point": "It's OK to delete features that don't exist in the real world. Deleting a feature from OpenStreetMap removes it from the map that everyone uses, so you should make sure a feature is really gone before you delete it.",
-                "delete_point_command": "To delete a point, {rightclick} right-click on the point to select it and show the edit menu, then use the {delete} **Delete** command."
+                "delete_point_command": "To delete a point, {rightclick} right-click or {longpress_icon} long-press the point to show the edit menu, then use the {delete_icon} **{delete}** operation."
             },
             "lines": {
                 "title": "Lines",
                 "intro": "*Lines* are used to represent features such as roads, railroads, and rivers. Lines should be drawn down the center of the feature that they represent.",
                 "add_line_h": "Adding Lines",
-                "add_line": "To add a line, click the {line} **Line** button on the toolbar above the map, or press the shortcut key `2`. This will change the mouse cursor to a cross symbol.",
-                "add_line_draw": "Next, position the mouse cursor where the line should begin and {leftclick} left-click or press `Space` to begin placing nodes along the line. Continue placing more nodes by clicking or pressing `Space`. While drawing, you can zoom in or drag the map in order to add more detail.",
-                "add_line_finish": "To finish a line, press `{return}` or click again on the last node.",
+                "add_line": "To add a line, press the {line_icon} **{line}** button on the toolbar above the map, or press the shortcut key `2`.",
+                "add_line_draw": "Next, mark the line's starting location. With a mouse, position the cursor where the line should begin and {leftclick} left-click to place a node. On a touchscreen, {tap_icon} tap the location.",
+                "add_line_continue": "Continue placing nodes by {leftclick} clicking or {tap_icon} tapping along the shape of the line. While drawing, you can zoom in or drag the map in order to add more detail.",
+                "add_line_finish": "To finish a line, click or tap on the last node again or press `{return}`.",
                 "modify_line_h": "Modifying Lines",
-                "modify_line_dragnode": "Often you'll see lines that aren't shaped correctly, for example a road that does not match up with the background imagery. To adjust the shape of a line, first {leftclick} left-click to select it. All nodes of the line will be drawn as small circles. You can then drag the nodes to better locations.",
-                "modify_line_addnode": "You can also create new nodes along a line either by {leftclick}**x2** double-clicking on the line or by dragging the small triangles at the midpoints between nodes.",
+                "modify_line_dragnode": "Often you'll see lines that aren't shaped correctly, for example a road that does not match up with the background imagery. To adjust the shape of a line, first select it. All nodes of the line will be drawn as small circles. You can then drag the nodes to better locations.",
+                "modify_line_addnode": "You can also create new nodes along a line by {leftclick}**x2** double-clicking or {doubletap_icon} double-tapping the line, or by dragging the small triangles at the midpoints between nodes.",
                 "connect_line_h": "Connecting Lines",
                 "connect_line": "Having roads connected properly is important for the map and essential for providing driving directions.",
                 "connect_line_display": "The connections between roads are drawn with gray circles. The endpoints of a line are drawn with larger white circles if they don't connect to anything.",
                 "connect_line_drag": "To connect a line to another feature, drag one of the line's nodes onto the other feature until both features snap together. Tip: You can hold down the `{alt}` key to prevent nodes from connecting to other features.",
                 "connect_line_tag": "If you know that the connection has traffic lights or crosswalks, you can add them by selecting the connecting node and using the feature editor to select the correct feature's type.",
                 "disconnect_line_h": "Disconnecting Lines",
-                "disconnect_line_command": "To disconnect a road from another feature, {rightclick} right-click the connecting node and select the {disconnect} **Disconnect** command from the editing menu.",
+                "disconnect_line_command": "To disconnect a road from another feature, {rightclick} right-click or {longpress_icon} long-press the connecting node and choose the {disconnect_icon} **{disconnect}** operation from the edit menu.",
                 "move_line_h": "Moving Lines",
-                "move_line_command": "To move an entire line, {rightclick} right-click the line and select the {move} **Move** command from the editing menu. Then move the mouse, and {leftclick} left-click to place the line in a new location.",
+                "move_line_command": "To move an entire line, {rightclick} right-click the line and choose the {move_icon} **{move}** operation from the edit menu. Then move the mouse, and {leftclick} left-click to place the line in a new location.",
                 "move_line_connected": "Lines that are connected to other features will stay connected as you move the line to a new location. iD may prevent you from moving a line across another connected line.",
                 "delete_line_h": "Deleting Lines",
                 "delete_line": "If a line is entirely incorrect, for example a road that doesn't exist in the real world, it's OK to delete it. Be careful when deleting features: the background imagery you are using might be outdated, and a road that looks wrong could simply be newly built.",
-                "delete_line_command": "To delete a line, {rightclick} right-click on the line to select it and show the edit menu, then use the {delete} **Delete** command."
+                "delete_line_command": "To delete a line, {rightclick} right-click or {longpress_icon} long-press the line to show the edit menu, then use the {delete_icon} **{delete}** operation."
             },
             "areas": {
                 "title": "Areas",
                 "point_or_area_h": "Points or Areas?",
                 "point_or_area": "Many features can be represented as points or areas. You should map buildings and property outlines as areas whenever possible. Place points inside a building area to represent businesses, amenities, and other features located inside the building.",
                 "add_area_h": "Adding Areas",
-                "add_area_command": "To add an area, click the {area} **Area** button on the toolbar above the map, or press the shortcut key `3`. This will change the mouse cursor to a cross symbol.",
-                "add_area_draw": "Next, position the mouse cursor at one of the corners of the feature and {leftclick} left-click or press `Space` to begin placing nodes around the outer edge of the area. Continue placing more nodes by clicking or pressing `Space`. While drawing, you can zoom in or drag the map in order to add more detail.",
-                "add_area_finish": "To finish an area, press `{return}` or click again on either the first or last node.",
+                "add_area_command": "To add an area, press the {area_icon} **{area}** button on the toolbar above the map, or press the shortcut key `3`.",
+                "add_area_draw": "Next, place the first corner of the area. With a mouse, position the cursor over any corner and {leftclick} left-click to place a node. On a touchscreen, {tap_icon} tap the location.",
+                "add_area_continue": "Continue placing nodes by {leftclick} clicking or {tap_icon} tapping along the edge of the area. While drawing, you can zoom in or drag the map in order to add more detail.",
+                "add_area_finish": "To finish an area, click or tap on the first or last node again or press `{return}`.",
                 "square_area_h": "Square Corners",
-                "square_area_command": "Many area features like buildings have square corners. To square the corners of an area, {rightclick} right-click the edge of the area and select the {orthogonalize} **Square** command from the editing menu.",
+                "square_area_command": "Many area features like buildings have square corners. To square the corners of an area, {rightclick} right-click or {longpress_icon} long-press the edge of the area and choose the {orthogonalize_icon} **{orthogonalize}** operation from the edit menu.",
                 "modify_area_h": "Modifying Areas",
-                "modify_area_dragnode": "Often you'll see areas that aren't shaped correctly, for example a building that does not match up with the background imagery. To adjust the shape of an area, first {leftclick} left-click to select it. All nodes of the area will be drawn as small circles. You can then drag the nodes to better locations.",
-                "modify_area_addnode": "You can also create new nodes along an area either by {leftclick}**x2** double-clicking on the edge of the area or by dragging the small triangles at the midpoints between nodes.",
+                "modify_area_dragnode": "Often you'll see areas that aren't shaped correctly, for example a building that does not match up with the background imagery. To adjust the shape of an area, first select it. All nodes of the area will be drawn as small circles. You can then drag the nodes to better locations.",
+                "modify_area_addnode": "You can also create new nodes along an area by {leftclick}**x2** double-clicking or {doubletap_icon} double-tapping an edge, or by dragging the small triangles at the midpoints between nodes.",
                 "delete_area_h": "Deleting Areas",
                 "delete_area": "If an area is entirely incorrect, for example a building that doesn't exist in the real world, it's OK to delete it. Be cautious when deleting features - the background imagery you are using might be outdated, and a building that looks wrong could simply be newly built.",
-                "delete_area_command": "To delete an area, {rightclick} right-click on the area to select it and show the edit menu, then use the {delete} **Delete** command."
+                "delete_area_command": "To delete an area, {rightclick} right-click or {longpress_icon} long-press the area to show the edit menu, then use the {delete_icon} **{delete}** operation."
             },
             "relations": {
                 "title": "Relations",
                 "intro": "A *relation* is a special type of feature in OpenStreetMap that groups together other features. The features that belong to a relation are called *members*, and each member can have a *role* in the relation.",
                 "edit_relation_h": "Editing Relations",
-                "edit_relation": "At the bottom of the feature editor, you can expand the \"All relations\" section to see if the selected feature is a member of any relations. You can then click on the relation to select and edit it.",
-                "edit_relation_add": "To add a feature to a relation, select the feature, then click the {plus} add button in the \"All relations\" section of the feature editor. You can choose from a list of nearby relations, or choose the \"New relation...\" option.",
-                "edit_relation_delete": "You can also click the {delete} **Delete** button to remove the selected feature from the relation. If you remove all of the members from a relation, the relation will be deleted automatically.",
+                "edit_relation": "At the bottom of the feature editor, you can expand the \"{relations}\" section to see if the selected feature is a member of any relations. You can then select a relation to edit it.",
+                "edit_relation_add": "To add a feature to a relation, select the feature, then press the {plus} add button in the \"{relations}\" section of the feature editor. You can choose from a list of nearby relations, or choose the \"{new_relation}\" option.",
+                "edit_relation_delete": "You can also press the {delete_icon} **{delete}** button to remove the selected feature from the relation. If you remove all of the members from a relation, the relation will be deleted automatically.",
                 "maintain_relation_h": "Maintaining Relations",
                 "maintain_relation": "For the most part, iD will maintain relations automatically as you edit. You should take care when replacing features that might be members of relations. For example if you delete a section of road and draw a new section of road to replace it, you should add the new section to the same relations (routes, turn restrictions, etc.) as the original.",
                 "relation_types_h": "Relation Types",
                 "multipolygon_h": "Multipolygons",
                 "multipolygon": "A *multipolygon* relation is a group of one or more *outer* features and one or more inner features. The outer features define the outer edges of the multipolygon, and the inner features define sub-areas or holes cut out from the inside of the multipolygon.",
-                "multipolygon_create": "To create a multipolygon, for example a building with a hole in it, draw the outer edge as an area and the inner edge as a line or different kind of area. Then `{shift}`+{leftclick} left-click to select both features, {rightclick} right-click to show the edit menu, and select the {merge} **Merge** command.",
+                "multipolygon_create": "To create a multipolygon, for example a building with a hole in it, draw the outer edge as an area and the inner edge as a line or different kind of area. Then `{shift}`+{leftclick} left-click to select both features, {rightclick} right-click to show the edit menu, and choose the {merge_icon} **{merge}** operation.",
                 "multipolygon_merge": "Merging several lines or areas will create a new multipolygon relation with all selected areas as members. iD will choose the inner and outer roles automatically, based on which features are contained inside other features.",
                 "turn_restriction_h": "Turn restrictions",
                 "turn_restriction": "A *turn restriction* relation is a group of several road segments in an intersection. Turn restrictions consist of a *from* road, *via* node or roads, and a *to* road.",
-                "turn_restriction_field": "To edit turn restrictions, select a junction node where two or more roads meet. The feature editor will display a special \"Turn Restrictions\" field containing a model of the intersection.",
-                "turn_restriction_editing": "In the \"Turn Restrictions\" field, click to select a \"from\" road, and see whether turns are allowed or restricted to any of the \"to\" roads. You can click on the turn icons to toggle them between allowed and restricted. iD will create relations automatically and set the from, via, and to roles based on your choices.",
+                "turn_restriction_field": "To edit turn restrictions, select a junction node where two or more roads meet. The feature editor will display a special \"{turn_restrictions}\" field containing a model of the intersection.",
+                "turn_restriction_editing": "In the \"{turn_restrictions}\" field, select a \"from\" road, and see whether turns are allowed or restricted to any of the \"to\" roads. You can press the turn icons to toggle them between allowed and restricted. iD will create relations automatically and set the from, via, and to roles based on your choices.",
                 "route_h": "Routes",
                 "route": "A *route* relation is a group of one or more line features that together form a route network, like a bus route, train route, or highway route.",
-                "route_add": "To add a feature to a route relation, select the feature and scroll down to the \"All relations\" section of the feature editor, then click the {plus} add button to add this feature to a nearby existing relation or a new relation.",
+                "route_add": "To add a feature to a route relation, select the feature and scroll down to the \"{relations}\" section of the feature editor, then press the {plus} add button to add this feature to a nearby existing relation or a new relation.",
                 "boundary_h": "Boundaries",
                 "boundary": "A *boundary* relation is a group of one or more line features that together form an administrative boundary.",
-                "boundary_add": "To add a feature to a boundary relation, select the feature and scroll down to the \"All relations\" section of the feature editor, then click the {plus} add button to add this feature to a nearby existing relation or a new relation."
+                "boundary_add": "To add a feature to a boundary relation, select the feature and scroll down to the \"{relations}\" section of the feature editor, then press the {plus} add button to add this feature to a nearby existing relation or a new relation."
+            },
+            "operations": {
+                "title": "Operations",
+                "intro": "*Operations* are special commands you can use to edit features. {rightclick} Right-click or {longpress_icon} long-press any feature to view the available operations.",
+                "intro_2": "Each operation has its own keyboard shortcut. Most operations can be applied to multiple features at once.",
+                "straighten": "{straighten_icon} **{straighten}** removes bends from lines. It can also align groups of points into neat rows.",
+                "orthogonalize": "{orthogonalize_icon} **{orthogonalize}** snaps the corners of areas and lines to 90°. You can square individual corners or entire features.",
+                "circularize": "{circularize_icon} **{circularize}** turns areas and closed lines into circles.",
+                "move": "{move_icon} **{move}** lets you drag features around the map.",
+                "rotate": "{rotate_icon} **{rotate}** lets you swivel features around their center points.",
+                "reflect": "{reflect_short_icon} **{reflect_short}** and {reflect_long_icon} **{reflect_long}** reflect features over their short and long axes.",
+                "continue": "{continue_icon} **{continue}** lets you extend existing lines from their endpoints.",
+                "reverse": "{reverse_icon} **{reverse}** changes the direction of features. The direction matters for things like one-way roads, traffic signs, waterways, and cliffs.",
+                "disconnect": "{disconnect_icon} **{disconnect}** separates connected lines and areas from each other. You can disconnect entire features or just selected points.",
+                "merge": "{merge_icon} **{merge}** combines multiple features into one. You can merge areas together to create multipolygons, merge lines together to create longer lines, and merge points into anything to transfer their tags.",
+                "split": "{split_icon} **{split}** divides lines at the selected points. If specific lines are also selected, only those are split.",
+                "extract": "{extract_icon} **{extract}** detaches points from lines. It also pulls points out of buildings and other areas.",
+                "delete": "{delete_icon} **{delete}** removes features from the map. Anything that doesn't exist in the real world should be deleted.",
+                "downgrade": "{downgrade_icon} **{downgrade}** removes most tags except building and address info. This is helpful when businesses close yet their facilities remain.",
+                "copy_paste": "{copy_icon} **{copy}** and {paste_icon} **{paste}** let you duplicate features."
             },
             "notes": {
                 "title": "Notes",
-                "intro": "*Notes* are used to alert other users that a feature requires fixing or attention. Notes mark a specific location on the map. To view existing notes or add new ones, click the {data} **Map data** panel to enable the OpenStreetMap notes layer.",
+                "intro": "*Notes* are used to alert other users that a feature requires fixing or attention. Notes mark a specific location on the map. To view existing notes or add new ones, open the {data_icon} **{map_data}** panel and enable the {osm_notes} layer.",
                 "add_note_h": "Adding Notes",
-                "add_note": "To add a new note, click the {note} **Note** button on the toolbar above the map, or press the shortcut key `4`. This will change the mouse cursor to a cross symbol. To place the new note on the map, position the mouse cursor where the note should go, then {leftclick} left-click or press `Space`.",
-                "move_note": "Only new notes can be moved. To move a note, place the mouse cursor over the new note, then press and hold the {leftclick} left mouse button while dragging the note to its new location.",
+                "add_note": "To add a new note, press the {note_icon} **{note}** button on the toolbar above the map, or press the shortcut key `{add_note_key}`.",
+                "place_note": "Next, place the new note on the map. With a mouse, position the cursor where the note should go and {leftclick} left-click. On a touchscreen, {tap_icon} tap the location.",
+                "move_note": "To move a note, {leftclick} left-click and drag it with a mouse or {touchdrag_icon} tap-and-drag it on a touchscreen. Only new notes can be moved.",
                 "update_note_h": "Closing, Reopening, and Commenting",
                 "update_note": "An existing note can be updated by closing it, reopening it, or adding a comment to it. Closing a note indicates that the problem has been resolved. Reopening a note indicates that the original issue is not resolved.",
                 "save_note_h": "Saving Notes",
-                "save_note": "You must save any note edits individually by clicking the buttons below the note comments. Note edits are **not** included in changesets that you upload to OpenStreetMap."
+                "save_note": "You must save any note edits individually by pressing the buttons below the note comments. Note edits are **not** included in changesets that you upload to OpenStreetMap."
             },
             "imagery": {
                 "title": "Background Imagery",
                 "intro": "The background imagery that appears beneath the map data is an important resource for mapping. This imagery can be aerial photos collected from satellites, airplanes, and drones, or it can be scanned historical maps or other freely available source data.",
                 "sources_h": "Imagery Sources",
-                "choosing": "To see which imagery sources are available for editing, click the {layers} **Background settings** button on the side of the map.",
-                "sources": "By default, a [Bing Maps](https://www.bing.com/maps/) satellite layer is chosen as the background image. Depending on where you are editing, other imagery sources will be available. Some may be newer or have higher resolution, so it is always useful to check and see which layer is the best one to use as a mapping reference.",
+                "choosing": "To see which imagery sources are available for editing, open the {layers_icon} **{background_settings}** panel on the side of the map.",
+                "sources": "The [Bing Maps](https://www.bing.com/maps/) satellite layer or the best local imagery is set as the default background. Depending on where you are editing, multiple imagery sources are available. Some may be newer or have higher resolution, so it is always useful to check and see which layer is the best one to use as a mapping reference.",
                 "offsets_h": "Adjusting Imagery Offset",
-                "offset": "Imagery is sometimes offset slightly from accurate map data. If you see a lot of roads or buildings shifted from the background imagery, it may be the imagery that's incorrect, so don't move them all to match the background. Instead, you can adjust the background so that it matches the existing data by expanding the \"Adjust Imagery Offset\" section at the bottom of the Background Settings pane.",
-                "offset_change": "Click on the small triangles to adjust the imagery offset in small steps, or hold the {leftclick} left mouse button and drag within the gray square to slide the imagery into alignment."
+                "offset": "Imagery is sometimes offset slightly from accurate map data. If you see a lot of roads or buildings shifted from the background imagery, it may be the imagery that's incorrect, so don't move them all to match the background. Instead, you can adjust the background so that it matches the existing data by expanding the \"{imagery_offset}\" section at the bottom of the Background Settings pane.",
+                "offset_change": "Press the small triangle buttons to adjust the imagery offset in small steps, or hold the {leftclick} left mouse button and drag within the gray square to slide the imagery into alignment."
             },
             "streetlevel": {
                 "title": "Street Level Photos",
                 "intro": "Street level photos are useful for mapping traffic signs, businesses, and other details that you can't see from satellite and aerial images. The iD editor supports street level photos from [Bing Streetside](https://www.microsoft.com/en-us/maps/streetside), [Mapillary](https://www.mapillary.com), and [OpenStreetCam](https://www.openstreetcam.org).",
                 "using_h": "Using Street Level Photos",
-                "using": "To use street level photos for mapping, click the {data} **Map data** panel on the side of the map to enable or disable the available photo layers.",
-                "photos": "When enabled, the photo layer displays a line along the sequence of photos. At higher zoom levels, a circle marks at each photo location, and at even higher zoom levels, a cone indicates the direction the camera was facing when the photo was taken.",
-                "viewer": "When you click on one of the photo locations, a photo viewer appears in the bottom corner of the map. The photo viewer contains controls to step forward and backward in the image sequence. It also shows the username of the person who captured the image, the date it was captured, and a link to view the image on the original site."
+                "using": "To use street level photos for mapping, open the {data_icon} **{map_data}** panel on the side of the map to enable or disable the available photo overlays.",
+                "photos": "When enabled, the photo overlay displays a line along the sequence of photos. At higher zoom levels, a circle marks at each photo location, and at even higher zoom levels, a cone indicates the direction the camera was facing when the photo was taken.",
+                "viewer": "When you select one of the photo locations, a photo viewer appears in the bottom corner of the map. The photo viewer contains controls to step forward and backward in the image sequence. It also shows the username of the person who captured the image, the date it was captured, and a link to view the image on the original site."
             },
             "gps": {
                 "title": "GPS Traces",
-                "intro": "Collected GPS traces are a valuable source of data for OpenStreetMap. This editor supports *.gpx*, *.geojson*, and *.kml* files on your local computer. You can collect GPS traces with a smartphone, sports watch, or other GPS device.",
+                "intro": "Collected GPS traces are a valuable source of data for OpenStreetMap. This editor supports *.gpx*, *.geojson*, and *.kml* files on your local device. You can collect GPS traces with a smartphone, sports watch, or other GPS device.",
                 "survey": "For information on how to perform a GPS survey, read [Mapping with a smartphone, GPS, or paper](http://learnosm.org/en/mobile-mapping/).",
                 "using_h": "Using GPS Traces",
-                "using": "To use a GPS trace for mapping, drag and drop the data file onto the map editor. If it's recognized, it will be drawn on the map as a bright purple line. Click the {data} **Map data** panel on the side of the map to enable, disable, or zoom to your GPS data.",
+                "using": "To use a GPS trace for mapping, drag and drop the data file onto the map editor. If it's recognized, it will be drawn on the map as a bright purple line. Open the {data_icon} **{map_data}** panel on the side of the map to enable, disable, or zoom to your GPS data.",
                 "tracing": "The GPS track isn't sent to OpenStreetMap - the best way to use it is to draw on the map, using it as a guide for the new features that you add.",
                 "upload": "You can also [upload your GPS data to OpenStreetMap](https://www.openstreetmap.org/trace/create) for other users to use."
             },
             "qa": {
                 "title": "Quality Assurance",
-                "intro": "*Quality Assurance* (Q/A) tools can find improper tags, disconnected roads, and other issues with OpenStreetMap, which mappers can then fix. To view existing Q/A issues, click the {data} **Map data** panel to enable a specific Q/A layer.",
+                "intro": "*Quality Assurance* (Q/A) tools can find improper tags, disconnected roads, and other issues with OpenStreetMap, which mappers can then fix. To view existing Q/A issues, open the {data_icon} **{map_data}** panel and enable a specific Q/A layer.",
                 "tools_h": "Tools",
-                "tools": "The following tools are currently supported: [KeepRight](https://www.keepright.at/) and [ImproveOSM](https://improveosm.org/en/). Expect iD to support [Osmose](https://osmose.openstreetmap.fr/) and more Q/A tools in the future.",
+                "tools": "The following tools are currently supported: [KeepRight](https://www.keepright.at/), [ImproveOSM](https://improveosm.org/en/) and [Osmose](https://osmose.openstreetmap.fr/).",
                 "issues_h": "Handling Issues",
-                "issues": "Handling Q/A issues is similar to handling notes. Click on a marker to view the issue details in the sidebar. Each tool has its own capabilities, but generally you can comment and/or close an issue."
+                "issues": "Handling Q/A issues is similar to handling notes. Select a marker to view the issue details in the sidebar. Each tool has its own capabilities, but generally you can comment and/or close an issue."
             },
             "field": {
                 "restrictions": {
         "issues": {
             "title": "Issues",
             "key": "I",
-            "list_title": "Issues ({count})",
+            "list_title": "Issues",
             "errors": {
-                "list_title": "Errors ({count})"
+                "list_title": "Errors"
             },
             "warnings": {
-                "list_title": "Warnings ({count})"
+                "list_title": "Warnings"
             },
             "rules": {
                 "title": "Rules"
             "suggested": "Suggested updates:",
             "enable_all": "Enable All",
             "disable_all": "Disable All",
-            "reset_ignored": "Reset Ignored ({count})",
+            "reset_ignored": "Reset Ignored",
             "fix_one": {
                 "title": "fix"
             },
                 "tip": "Find unroutable roads, paths, and ferry routes",
                 "routable": {
                     "message": {
-                        "multiple": "{count} routable features are connected only to each other."
+                        "one": "{highway} is disconnected from other roads and paths",
+                        "other": "{count} routable features are connected only to each other"
                     },
                     "reference": "All roads, paths, and ferry routes should connect to form a single routing network."
-                },
-                "highway": {
-                    "message": "{highway} is disconnected from other roads and paths"
                 }
             },
             "fixme_tag": {
                 "welcome": "Welcome! This walkthrough will teach you the basics of editing on OpenStreetMap.",
                 "practice": "All of the data in this walkthrough is just for practicing, and any edits that you make in the walkthrough will not be saved.",
                 "words": "This walkthrough will introduce some new words and concepts. When we introduce a new word, we'll use *italics*.",
-                "mouse": "You can use any input device to edit the map, but this walkthrough assumes you have a mouse with left and right buttons. **If you want to attach a mouse, do so now, then click OK.**",
-                "leftclick": "When this tutorial asks you to click or double-click, we mean with the left button. On a trackpad it might be a single-click or single-finger tap. **Left-click {num} times.**",
-                "rightclick": "Sometimes we'll also ask you to right-click. This might be the same as control-click, or two-finger tap on a trackpad. Your keyboard might even have a 'menu' key that works like right-click. **Right-click {num} times.**",
-                "chapters": "So far, so good! You can use the buttons below to skip chapters at any time or to restart a chapter if you get stuck. Let's begin! **Click '{next}' to continue.**"
+                "chapters": "You can use the buttons below to skip chapters at any time or to restart a chapter if you get stuck. Let's begin! **Press '{next}' to continue.**"
             },
             "navigation": {
                 "title": "Navigation",
-                "drag": "The main map area shows OpenStreetMap data on top of a background.{br}You can drag the map by pressing and holding the left mouse button while moving the mouse around. You can also use the arrow keys on your keyboard. **Drag the map!**",
-                "zoom": "You can zoom in or out by scrolling with the mouse wheel or trackpad, or by clicking the {plus} / {minus} buttons. **Zoom the map!**",
+                "map_info": "The main map area shows OpenStreetMap data on top of a background.",
+                "drag": "You can click-and-drag the map with the {leftclick} left mouse button to move it around. You can also use the arrow keys on a keyboard. **Drag the map!**",
+                "drag_touch": "You can {touchdrag_icon} tap-and-drag the map to move it around. You can also use the arrow keys on a keyboard. **Drag the map!**",
+                "zoom": "You can zoom the map by scrolling with a {mousewheel_icon} mouse wheel or trackpad, or by pressing the {plus} / {minus} buttons. **Zoom the map!**",
+                "zoom_touch": "You can zoom the map by {pinch_icon} pinching it with two fingers, {doubletap_icon} double-tapping a location, or pressing the {plus} / {minus} buttons. **Zoom the map!**",
                 "features": "We use the word *features* to describe the things that appear on the map. Anything in the real world can be mapped as a feature on OpenStreetMap.",
                 "points_lines_areas": "Map features are represented using *points, lines, or areas.*",
                 "nodes_ways": "In OpenStreetMap, points are sometimes called *nodes*, and lines and areas are sometimes called *ways*.",
-                "click_townhall": "All features on the map can be selected by clicking on them. **Click on the point to select it.**",
+                "click_townhall": "All features on the map can be selected by {leftclick} clicking on them. **Click the point to select it.**",
+                "tap_townhall": "All features on the map can be selected by {tap_icon} tapping on them. **Tap the point to select it.**",
                 "selected_townhall": "Great! The point is now selected. Selected features are drawn with a pulsing glow.",
                 "editor_townhall": "When a feature is selected, the *feature editor* is displayed alongside the map.",
                 "preset_townhall": "The top part of the feature editor shows the feature's type. This point is a {preset}.",
                 "fields_townhall": "The middle part of the feature editor contains *fields* showing the feature's attributes, such as its name and address.",
-                "close_townhall": "**Close the feature editor by hitting escape or pressing the {button} button in the upper corner.**",
+                "close_townhall": "**Close the feature editor by pressing the {button} button in the upper corner or `{esc}`.**",
                 "search_street": "You can also search for features in the current view, or worldwide. **Search for '{name}'.**",
                 "choose_street": "**Choose {name} from the list to select it.**",
                 "selected_street": "Great! {name} is now selected.",
-                "editor_street": "The fields shown for a street are different than the fields that were shown for the town hall.{br}For this selected street, the feature editor shows fields like '{field1}' and '{field2}'. **Close the feature editor by hitting escape or pressing the {button} button.**",
-                "play": "Try moving the map and clicking on some other features to see what kinds of things can be added to OpenStreetMap. **When you are ready to continue to the next chapter, click '{next}'.**"
+                "street_different_fields": "The fields shown for a street are different than the fields that were shown for the town hall.",
+                "editor_street": "For this selected street, the feature editor shows fields like '{field1}' and '{field2}'. **Close the feature editor by pressing the {button} button or `{esc}`.**",
+                "play": "Try exploring the map and selecting some other features to see what kinds of things can be added to OpenStreetMap. **When you are ready to continue to the next chapter, press '{next}'.**"
             },
             "points": {
                 "title": "Points",
-                "add_point": "*Points* can be used to represent features such as shops, restaurants, and monuments.{br}They mark a specific location, and describe what's there. **Click the {button} Point button to add a new point.**",
-                "place_point": "To place the new point on the map, position your mouse cursor where the point should go, then left-click or press the spacebar. **Move the mouse pointer over this building, then left-click or press the spacebar.**",
+                "points_info": "*Points* can be used to represent features such as shops, restaurants, and monuments.",
+                "add_point": "They mark a specific location, and describe what's there. **Press the {point_icon} {point} button to add a new point.**",
+                "place_point": "To place the new point on the map, position your mouse cursor where the point should go, then {leftclick} left-click or press `{space}`. **Move the mouse pointer over this building, then left-click or press `{space}`.**",
+                "place_point_touch": "To place the new point on the map, {tap_icon} tap the location where it should go. **Tap the center of this building.**",
                 "search_cafe": "There are many different features that can be represented by points. The point you just added is a cafe. **Search for '{preset}'.**",
                 "choose_cafe": "**Choose {preset} from the list.**",
                 "feature_editor": "The point is now marked as a cafe. Using the feature editor, we can add more information about the cafe.",
-                "add_name": "In OpenStreetMap, all of the fields are optional, and it's OK to leave a field blank if you are unsure.{br}Let's pretend that you have local knowledge of this cafe, and you know its name. **Add a name for the cafe.**",
-                "add_close": "The feature editor will remember all of your changes automatically. **When you are finished adding the name, hit escape, enter, or click the {button} button to close the feature editor.**",
-                "reselect": "Often points will already exist, but have mistakes or be incomplete. We can edit existing points. **Click to select the cafe you just created.**",
+                "fields_info": "In OpenStreetMap, all of the fields are optional, and it's OK to leave a field blank if you are unsure.",
+                "add_name": "Let's pretend that you have local knowledge of this cafe, and you know its name. **Add a name for the cafe.**",
+                "add_close": "The feature editor will remember all of your changes automatically. **When you are finished adding the name, press the {button} button or `{esc}` to close the feature editor.**",
+                "reselect": "Often points will already exist, but have mistakes or be incomplete. We can edit existing points. **Select the cafe you just created.**",
                 "update": "Let's fill in some more details for this cafe. You can change its name, add a cuisine, or add an address. **Change the cafe details.**",
-                "update_close": "**When you are finished updating the cafe, hit escape, enter, or click the {button} button to close the feature editor.**",
-                "rightclick": "You can right-click on any feature to see the *edit menu*, which shows a list of editing operations that can be performed. **Right-click to select the point you created and show the edit menu.**",
-                "delete": "It's OK to delete features that don't exist in the real world.{br}Deleting a feature from OpenStreetMap removes it from the map that everyone uses, so you should make sure a feature is really gone before you delete it. **Click on the {button} button to delete the point.**",
-                "undo": "You can always undo any changes up until you save your edits to OpenStreetMap. **Click on the {button} button to undo the delete and get the point back.**",
-                "play": "Now that you know how to create and edit points, try creating a few more points for practice! **When you are ready to continue to the next chapter, click '{next}'.**"
+                "update_close": "**When you are finished updating the cafe, press the {button} button or `{esc}` to close the feature editor.**",
+                "rightclick": "You can {rightclick} right-click on any feature to see the *edit menu*, which shows a list of editing operations that can be performed.{br}A right-click might be the same as a control-click or two-finger click. **Right-click to select the point you created and show the edit menu.**",
+                "edit_menu_touch": "You can {longpress_icon} long-press on any feature to see the *edit menu*, which shows a list of editing operations that can be performed. **Press-and-hold the point you created to show the edit menu.**",
+                "delete": "It's OK to delete features that don't exist in the real world.{br}Deleting a feature from OpenStreetMap removes it from the map that everyone uses, so you should make sure a feature is really gone before you delete it. **Press the {delete_icon} {delete} button to remove the point.**",
+                "undo": "You can always undo any changes up until you save your edits to OpenStreetMap. **Press the {undo_icon} {undo} button to get the point back.**",
+                "play": "Now that you know how to create and edit points, try creating a few more points for practice! **When you are ready to continue to the next chapter, press '{next}'.**"
             },
             "areas": {
                 "title": "Areas",
-                "add_playground": "*Areas* are used to show the boundaries of features like lakes, buildings, and residential areas.{br}They can also be used for more detailed mapping of many features you might normally map as points. **Click the {button} Area button to add a new area.**",
-                "start_playground": "Let's add this playground to the map by drawing an area. Areas are drawn by placing *nodes* along the outer edge of the feature. **Click or press spacebar to place a starting node on one of the corners of the playground.**",
-                "continue_playground": "Continue drawing the area by placing more nodes along the playground's edge. It is OK to connect the area to the existing walking paths.{br}Tip: You can hold down the '{alt}' key to prevent nodes from connecting to other features. **Continue drawing an area for the playground.**",
-                "finish_playground": "Finish the area by pressing enter, or clicking again on either the first or last node. **Finish drawing an area for the playground.**",
+                "add_playground": "*Areas* are used to show the boundaries of features like lakes, buildings, and residential areas.{br}They can also be used for more detailed mapping of many features you might normally map as points. **Press the {area_icon} {area} button to add a new area.**",
+                "start_playground": "Let's add this playground to the map by drawing an area. Areas are drawn by placing *nodes* along the outer edge of the feature.",
+                "starting_node_click": "**Click or press `{space}` to place a starting node on one of the corners of the playground.**",
+                "starting_node_tap": "**{tap_icon} Tap to place a starting node on one of the corners of the playground.**",
+                "continue_playground": "Continue drawing the area by placing more nodes along the playground's edge. It is OK to connect the area to the existing walking paths.{br}Tip: You can hold down the `{alt}` key to prevent nodes from connecting to other features. **Continue drawing an area for the playground.**",
+                "finish_area_click": "Finish the area by pressing `{return}`, or clicking again on either the first or last node.",
+                "finish_area_tap": "Finish the area by {tap_icon} tapping again on either the first or last node, or by pressing `{return}` on a keyboard.",
+                "finish_playground": "**Finish drawing an area for the playground.**",
                 "search_playground": "**Search for '{preset}'.**",
                 "choose_playground": "**Choose {preset} from the list.**",
-                "add_field": "This playground doesn't have an official name, so we won't add anything in the Name field.{br}Instead let's add some additional details about the playground to the Description field. **Open the Add Field list.**",
+                "add_field": "This playground doesn't have an official name, so we won't add anything in the {name} field.{br}Instead let's add some additional details about the playground to the {description} field. **Open the Add Field list.**",
                 "choose_field": "**Choose {field} from the list.**",
                 "retry_add_field": "You didn't select the {field} field. Let's try again.",
-                "describe_playground": "**Add a description, then click the {button} button to close the feature editor.**",
-                "play": "Good job! Try drawing a few more areas, and see what other kinds of area features you can add to OpenStreetMap. **When you are ready to continue to the next chapter, click '{next}'.**"
+                "describe_playground": "**Add a description, then press the {button} button to close the feature editor.**",
+                "play": "Good job! Try drawing a few more areas, and see what other kinds of area features you can add to OpenStreetMap. **When you are ready to continue to the next chapter, press '{next}'.**"
             },
             "lines": {
                 "title": "Lines",
-                "add_line": "*Lines* are used to represent features such as roads, railroads, and rivers. **Click the {button} Line button to add a new line.**",
-                "start_line": "Here is a road that is missing. Let's add it!{br}In OpenStreetMap, lines should be drawn down the center of the road. You can drag and zoom the map while drawing if necessary. **Start a new line by clicking at the top end of this missing road.**",
-                "intersect": "Click or press spacebar to add more nodes to the line.{br}Roads, and many other types of lines, are part of a larger network. It is important for these lines to be connected properly in order for routing applications to work. **Click on {name} to create an intersection connecting the two lines.**",
+                "add_line": "*Lines* are used to represent features such as roads, railroads, and rivers. **Press the {line_icon} {line} button to add a new line.**",
+                "missing_road": "Here is a road that is missing. Let's add it!",
+                "line_draw_info": "In OpenStreetMap, lines should be drawn down the center of the road. You can drag and zoom the map while drawing if necessary.",
+                "start_line": "**Start a new line by clicking at the top end of this missing road.**",
+                "start_line_tap": "**Start a new line by {tap_icon} tapping at the top end of this missing road.**",
+                "intersect": "Continue drawing the line by placing more nodes along the road.{br}Roads, along with paths and ferry routes, must be properly connected to each other for navigation apps to work. **Place an intersection node on {name} to connect the two lines.**",
                 "retry_intersect": "The road needs to intersect {name}. Let's try again!",
-                "continue_line": "Continue drawing the line for the new road. Remember that you can drag and zoom the map if needed.{br}When you are finished drawing, click on the last node again. **Finish drawing the road.**",
+                "continue_line": "Continue drawing the line for the new road. Remember that you can drag and zoom the map if needed.",
+                "finish_line_click": "When you're finished, click the last node again or press `{return}`.",
+                "finish_line_tap": "When you're finished, {tap_icon} tap the last node again or press `{return}` on a keyboard.",
+                "finish_road": "**Finish drawing the road.**",
                 "choose_category_road": "**Select {category} from the list.**",
                 "choose_preset_residential": "There are many different types of roads, but this one is a residential road. **Choose the {preset} type.**",
-                "retry_preset_residential": "You didn't select the {preset} type. **Click here to choose again.**",
-                "name_road": "**Give this road a name, then hit escape, enter, or click the {button} button to close the feature editor.**",
+                "retry_preset_residential": "You didn't select the {preset} type. **Press this button to choose again.**",
+                "name_road": "**Give this road a name, then press the {button} button or `{esc}` to close the feature editor.**",
                 "did_name_road": "Looks good! Next we will learn how to update the shape of a line.",
                 "update_line": "Sometimes you will need to change the shape of an existing line. Here is a road that doesn't look quite right.",
                 "add_node": "We can add some nodes to this line to improve its shape. One way to add a node is to double-click the line where you want to add a node. **Double-click on the line to create a new node.**",
-                "start_drag_endpoint": "When a line is selected, you can drag any of its nodes by clicking and holding down the left mouse button while you drag. **Drag the endpoint to the place where these roads should intersect.**",
-                "finish_drag_endpoint": "This spot looks good. **Release the left mouse button to finish dragging.**",
+                "add_node_touch": "We can add some nodes to this line to improve its shape. One way to add a node is to {doubletap_icon} double-tap the line where you want to add a node. **Double-tap on the line to create a new node.**",
+                "start_drag_endpoint": "When a line is selected, you can adjust any of its nodes by clicking and holding down the {leftclick} left mouse button while you drag.",
+                "start_drag_endpoint_touch": "When a line is selected, you can {touchdrag_icon} tap-and-drag any of its nodes to adjust them.",
+                "drag_to_intersection": "**Drag the endpoint to the place where these roads should intersect.**",
+                "spot_looks_good": "This spot looks good.",
+                "finish_drag_endpoint": "**Release the mouse button to finish dragging.**",
+                "finish_drag_endpoint_touch": "**Let go of the node to finish dragging.**",
                 "start_drag_midpoint": "Small triangles are drawn at the *midpoints* between nodes. Another way to create a new node is to drag a midpoint to a new location. **Drag the midpoint triangle to create a new node along the curve of the road.**",
-                "continue_drag_midpoint": "This line is looking much better! Continue to adjust this line by double-clicking or dragging midpoints until the curve matches the road shape. **When you're happy with how the line looks, click OK.**",
+                "continue_drag_midpoint": "This line is looking much better! Continue to adjust this line until the curve matches the road shape. **When you're happy with how the line looks, press {ok}.**",
                 "delete_lines": "It's OK to delete lines for roads that don't exist in the real world.{br}Here's an example where the city planned a {street} but never built it. We can improve this part of the map by deleting the extra lines.",
-                "rightclick_intersection": "The last real street is {street1}, so we will *split* {street2} at this intersection and remove everything above it. **Right click on the intersection node.**",
-                "split_intersection": "**Click on the {button} button to split {street}.**",
-                "retry_split": "You didn't click the Split button. Try again.",
-                "did_split_multi": "Good job! {street1} is now split into two pieces. The top part can be removed. **Click the top part of {street2} to select it.**",
-                "did_split_single": "**Click the top part of {street2} to select it.**",
-                "multi_select": "{selected} is now selected. Let's also select {other1}. You can shift-click to select multiple things. **Shift-click on {other2}.**",
-                "multi_rightclick": "Good! Both lines to delete are now selected. **Right-click on one of the lines to show the edit menu.**",
-                "multi_delete": "**Click on the {button} button to delete the extra lines.**",
-                "retry_delete": "You didn't click the Delete button. Try again.",
-                "play": "Great! Use the skills that you've learned in this chapter to practice editing some more lines. **When you are ready to continue to the next chapter, click '{next}'.**"
+                "split_street": "The last real street is {street1}, so we will *split* {street2} at this intersection and remove everything above it.",
+                "rightclick_intersection": "**{rightclick} Right-click on the intersection node.**",
+                "edit_menu_intersection_touch": "**{longpress_icon} Long-press on the intersection node.**",
+                "split_intersection": "**Press the {split_icon} {split} button to divide {street}.**",
+                "retry_split": "You didn't press the {split_icon} {split} button. Try again.",
+                "did_split_multi": "Good job! {street1} is now split into two pieces. The top part can be removed. **Select the top part of {street2}.**",
+                "did_split_single": "**Select the top part of {street2}.**",
+                "multi_select": "{selected} is now selected. Let's also select {other1}.",
+                "add_to_selection_click": "You can hold `{shift}` while clicking to select multiple things. **Shift-click on {other2}.**",
+                "add_to_selection_touch": "**{longpress_icon} Tap-and-hold {selected} and then {tap_icon} tap {other2} with another finger to select both.**",
+                "multi_select_success": "Good! Both lines to delete are now selected.",
+                "multi_rightclick": "**{rightclick} Right-click on one of the lines to show the edit menu.**",
+                "multi_edit_menu_touch": "**{longpress_icon} Long-press on one of the lines to show the edit menu.**",
+                "multi_delete": "**Press the {delete_icon} {delete} button to remove the extra lines.**",
+                "retry_delete": "You didn't press the {delete_icon} {delete} button. Try again.",
+                "play": "Great! Use the skills that you've learned in this chapter to practice editing some more lines. **When you are ready to continue to the next chapter, press '{next}'.**"
             },
             "buildings": {
                 "title": "Buildings",
-                "add_building": "OpenStreetMap is the world's largest database of buildings.{br}You can help improve this database by tracing buildings that aren't already mapped. **Click the {button} Area button to add a new area.**",
-                "start_building": "Let's add this house to the map by tracing its outline.{br}Buildings should be traced around their footprint as accurately as possible. **Click or press spacebar to place a starting node on one of the corners of the building.**",
-                "continue_building": "Continue adding more nodes to trace the outline of the building. Remember that you can zoom in if you want to add more details.{br}Finish the building by pressing enter, or clicking again on either the first or last node. **Finish tracing the building.**",
+                "add_building": "OpenStreetMap is the world's largest database of buildings.{br}You can help improve this database by tracing buildings that aren't already mapped. **Press the {area_icon} {area} button to add a new area.**",
+                "start_building": "Let's add this house to the map by tracing its outline.{br}Buildings should be traced around their footprint as accurately as possible.",
+                "building_corner_click": "**Click or press `{space}` to place a starting node on one of the corners of the building.**",
+                "building_corner_tap": "**{tap_icon} Tap one of the corners of the building to place a starting node.**",
+                "continue_building": "Continue placing nodes to trace the outline of the building. Remember that you can zoom in if you want to add more details.",
+                "finish_building": "**Finish tracing the building.**",
                 "retry_building": "It looks like you had some trouble placing the nodes at the building corners. Try again!",
                 "choose_category_building": "**Choose {category} from the list.**",
                 "choose_preset_house": "There are many different types of buildings, but this one is clearly a house.{br}If you're not sure of the type, it's OK to just choose the generic Building type. **Choose the {preset} type.**",
-                "close": "**Hit escape or click the {button} button to close the feature editor.**",
-                "rightclick_building": "**Right-click to select the building you created and show the edit menu.**",
-                "square_building": "The house that you just added will look even better with perfectly square corners. **Click on the {button} button to square the building shape.**",
-                "retry_square": "You didn't click the Square button. Try again.",
+                "close": "**Press the {button} button or `{esc}` to close the feature editor.**",
+                "rightclick_building": "**{rightclick} Right-click to select the building you created and show the edit menu.**",
+                "edit_menu_building_touch": "**{longpress_icon} Long-press the building you created to show the edit menu.**",
+                "square_building": "The house that you just added will look even better with perfectly square corners. **Press the {orthogonalize_icon} {orthogonalize} button to tidy up the building's shape.**",
+                "retry_square": "You didn't press the {orthogonalize_icon} {orthogonalize} button. Try again.",
                 "done_square": "See how the corners of the building moved into place? Let's learn another useful trick.",
-                "add_tank": "Next we'll trace this circular storage tank. **Click the {button} Area button to add a new area.**",
-                "start_tank": "Don't worry, you won't need to draw a perfect circle. Just draw an area inside the tank that touches its edge. **Click or press spacebar to place a starting node on the edge of the tank.**",
-                "continue_tank": "Add a few more nodes around the edge. The circle will be created outside the nodes that you draw.{br}Finish the area by pressing enter, or clicking again on either the first or last node. **Finish tracing the tank.**",
+                "add_tank": "Next we'll trace this circular storage tank. **Press the {area_icon} {area} button to add a new area.**",
+                "start_tank": "Don't worry, you won't need to draw a perfect circle. Just draw an area inside the tank that touches its edge.",
+                "tank_edge_click": "**Click or press `{space}` to place a starting node on the edge of the tank.**",
+                "tank_edge_tap": "**{tap_icon} Tap the edge of the tank to place a starting node.**",
+                "continue_tank": "Add a few more nodes around the edge. The circle will be created outside the nodes that you draw.",
+                "finish_tank": "**Finish tracing the tank.**",
                 "search_tank": "**Search for '{preset}'.**",
                 "choose_tank": "**Choose {preset} from the list.**",
-                "rightclick_tank": "**Right-click to select the storage tank you created and show the edit menu.**",
-                "circle_tank": "**Click on the {button} button to make the tank a circle.**",
-                "retry_circle": "You didn't click the Circularize button. Try again.",
-                "play": "Great Job! Practice tracing a few more buildings, and try some of the other commands on the edit menu. **When you are ready to continue to the next chapter, click '{next}'.**"
+                "rightclick_tank": "**{rightclick} Right-click to select the storage tank you created and show the edit menu.**",
+                "edit_menu_tank_touch": "**{longpress_icon} Long-press the storage tank you created to show the edit menu.**",
+                "circle_tank": "**Press the {circularize_icon} {circularize} button to make the tank a circle.**",
+                "retry_circle": "You didn't press the {circularize_icon} {circularize} button. Try again.",
+                "play": "Great Job! Practice tracing a few more buildings, and try some of the other operations in the edit menu. **When you are ready to continue to the next chapter, press '{next}'.**"
             },
             "startediting": {
                 "title": "Start Editing",
-                "help": "You're now ready to edit OpenStreetMap!{br}You can replay this walkthrough anytime or view more documentation by clicking the {button} Help button or pressing the '{key}' key.",
-                "shortcuts": "You can view a list of commands along with their keyboard shortcuts by pressing the '{key}' key.",
+                "help": "You're now ready to edit OpenStreetMap!{br}You can replay this walkthrough anytime or view more documentation by pressing the {help_icon} {help} button or the `{help_key}` key.",
+                "shortcuts": "You can view a list of commands along with their keyboard shortcuts by pressing the `{shortcuts_key}` key.",
                 "save": "Don't forget to regularly save your changes!",
                 "start": "Start mapping!"
             }
         },
         "shortcuts": {
-            "title": "Keyboard shortcuts",
+            "title": "Keyboard Shortcuts",
             "tooltip": "Show the keyboard shortcuts screen.",
             "toggle": {
                 "key": "?"
                 "enter": "Enter",
                 "esc": "Esc",
                 "home": "Home",
+                "menu": "Menu",
                 "option": "Option",
                 "pause": "Pause",
                 "pgdn": "PgDn",
                     "pan": "Pan map",
                     "pan_more": "Pan map by one screenful",
                     "zoom": "Zoom in / Zoom out",
-                    "zoom_more": "Zoom in / Zoom out by a lot"
+                    "zoom_more": "Zoom in / Zoom out by a lot",
+                    "geolocate": "Zoom to my location"
                 },
                 "help": {
                     "title": "Help",
                 },
                 "operations": {
                     "title": "Operations",
-                    "continue_line": "Continue a line at the selected node",
+                    "continue_line": "Continue a line at the selected endpoint",
                     "merge": "Combine (merge) selected features",
-                    "disconnect": "Disconnect features at the selected node",
+                    "disconnect": "Disconnect selected features",
                     "extract": "Extract a point from a feature",
-                    "split": "Split a line into two at the selected node",
+                    "split": "Split features at the selected points",
                     "reverse": "Reverse selected features",
                     "move": "Move selected features",
+                    "nudge": "Nudge selected features",
+                    "nudge_more": "Nudge selected features by a lot",
+                    "scale": "Scale selected features",
+                    "scale_more": "Scale selected features by a lot",
                     "rotate": "Rotate selected features",
                     "orthogonalize": "Square corners of a line or area",
                     "straighten": "Straighten a line or points",
                     "circularize": "Circularize a closed line or area",
-                    "reflect_long": "Reflect features across the longer axis",
-                    "reflect_short": "Reflect features across the shorter axis",
+                    "reflect_long": "Flip features across the longer axis",
+                    "reflect_short": "Flip features across the shorter axis",
                     "delete": "Delete selected features"
                 },
                 "commands": {
             "east": "E",
             "west": "W",
             "coordinate": "{coordinate}{direction}",
-            "coordinate_pair": "{latitude}, {longitude}"
+            "coordinate_pair": "{latitude}, {longitude}",
+            "year_month_day": "YYYY-MM-DD"
         },
         "wikidata": {
             "identifier": "Identifier",
                 "artwork_type": {
                     "label": "Type"
                 },
+                "ascent": {
+                    "label": "Total Ascent",
+                    "terms": "ascent,climb,cumulative elevation gain"
+                },
                 "atm": {
                     "label": "ATM"
                 },
                 "attraction": {
                     "label": "Type"
                 },
+                "automated": {
+                    "label": "Automated"
+                },
                 "baby_feeding": {
                     "label": "Baby Nursing Area",
                     "terms": "baby feeding,breastfeeding,lactation,mothers,nursing",
                     "label": "Sand Bath"
                 },
                 "bath/type": {
-                    "label": "Specialty",
-                    "options": {
-                        "onsen": "Japanese Onsen",
-                        "foot_bath": "Foot Bath",
-                        "hot_spring": "Hot Spring"
-                    }
+                    "label": "Specialty"
                 },
                 "beauty": {
-                    "label": "Beauty Specialty"
+                    "label": "Services"
                 },
                 "bench": {
                     "label": "Bench",
                     "label": "Draft Beers",
                     "terms": "on tap"
                 },
+                "bridge_combo": {
+                    "label": "Type"
+                },
                 "bridge": {
                     "label": "Type",
                     "placeholder": "Default"
                     "label": "Building",
                     "terms": "structure"
                 },
+                "building/flats": {
+                    "label": "Units",
+                    "placeholder": "2, 4, 6, 8..."
+                },
                 "building/levels_building": {
                     "label": "Building Levels",
                     "terms": "",
                         "dome": "Dome"
                     }
                 },
+                "capacity_parking": {
+                    "label": "Total Spaces",
+                    "placeholder": "10, 20, 30..."
+                },
                 "capacity": {
                     "label": "Capacity",
                     "terms": "",
                     "placeholder": "50, 100, 200..."
                 },
+                "capacity/disabled_parking": {
+                    "label": "Accessible Spaces",
+                    "placeholder": "1, 2, 3..."
+                },
                 "cash_in": {
                     "label": "Cash In"
                 },
                     "placeholder": "1 EUR, 5 USD, 10 JPY…"
                 },
                 "check_date": {
-                    "label": "Last Checked Date"
+                    "label": "Last Checked Date",
+                    "placeholder": "YYYY-MM-DD"
+                },
+                "circumference": {
+                    "label": "Circumference",
+                    "terms": "",
+                    "placeholder": "1 m, 20 cm, 30 in…"
                 },
                 "clothes": {
                     "label": "Clothes"
                 "collection_times": {
                     "label": "Collection Times"
                 },
+                "collector": {
+                    "label": "Items"
+                },
                 "colour": {
                     "label": "Color",
                     "terms": ""
                 "date": {
                     "label": "Date"
                 },
+                "defibrillator/location": {
+                    "label": "Location Description"
+                },
                 "delivery": {
                     "label": "Delivery",
                     "terms": ""
                         "no": "None"
                     }
                 },
+                "depth": {
+                    "label": "Depth (Meters)"
+                },
+                "descent": {
+                    "label": "Total Descent",
+                    "terms": "descent,cumulative elevation"
+                },
                 "description": {
                     "label": "Description",
                     "terms": "summary"
                 "destination_oneway": {
                     "label": "Destinations"
                 },
+                "destination_waterway": {
+                    "label": "Destination"
+                },
+                "destination": {
+                    "label": "Destinations"
+                },
                 "destination/ref_oneway": {
                     "label": "Destination Road Numbers"
                 },
+                "destination/ref": {
+                    "label": "Destination Road Numbers"
+                },
                 "destination/symbol_oneway": {
                     "label": "Destination Symbols",
                     "terms": ""
                 },
+                "destination/symbol": {
+                    "label": "Destination Symbols"
+                },
                 "devices": {
                     "label": "Devices",
                     "placeholder": "1, 2, 3..."
                 "diplomatic/services": {
                     "label": "Services"
                 },
-                "direction_cardinal": {
-                    "label": "Direction",
-                    "options": {
-                        "N": "North",
-                        "E": "East",
-                        "S": "South",
-                        "W": "West",
-                        "NE": "Northeast",
-                        "SE": "Southeast",
-                        "SW": "Southwest",
-                        "NW": "Northwest",
-                        "NNE": "North-northeast",
-                        "ENE": "East-northeast",
-                        "ESE": "East-southeast",
-                        "SSE": "South-southeast",
-                        "SSW": "South-southwest",
-                        "WSW": "West-southwest",
-                        "WNW": "West-northwest",
-                        "NNW": "North-northwest"
-                    }
-                },
                 "direction_clock": {
                     "label": "Direction",
                     "options": {
                         "anticlockwise": "Counterclockwise"
                     }
                 },
+                "direction_point": {
+                    "label": "Direction (Degrees Clockwise)",
+                    "placeholder": "45, 90, 180, 270"
+                },
+                "direction_vertex_dual": {
+                    "label": "Direction Affected",
+                    "options": {
+                        "forward": "Forward",
+                        "backward": "Backward"
+                    }
+                },
                 "direction_vertex": {
                     "label": "Direction Affected",
                     "options": {
                 },
                 "direction": {
                     "label": "Direction (Degrees Clockwise)",
+                    "terms": "",
                     "placeholder": "45, 90, 180, 270"
                 },
                 "dispensing": {
                     "label": "Display"
                 },
                 "distance": {
-                    "label": "Distance"
+                    "label": "Distance",
+                    "terms": "length,mileage"
+                },
+                "disused/amenity": {
+                    "label": "Type"
                 },
                 "disused/railway": {
                     "label": "Type"
                 },
+                "disused/shop": {
+                    "label": "Type"
+                },
                 "dock": {
                     "label": "Type"
                 },
                     "terms": "",
                     "placeholder": "00:00"
                 },
+                "ele_node": {
+                    "label": "Elevation",
+                    "terms": "altitude,height"
+                },
+                "ele": {
+                    "label": "Elevation",
+                    "terms": "altitude,height"
+                },
                 "electrified": {
                     "label": "Electrification",
+                    "terms": "contact line,powered,third rail",
                     "placeholder": "Contact Line, Electrified Rail...",
                     "options": {
                         "contact_line": "Contact Line",
                         "no": "No"
                     }
                 },
-                "elevation": {
-                    "label": "Elevation",
-                    "terms": "altitude"
-                },
                 "email": {
                     "label": "Email",
                     "terms": "",
                 "emergency_combo": {
                     "label": "Type"
                 },
+                "emergency_ward_entrance": {
+                    "label": "Type"
+                },
                 "emergency": {
                     "label": "Emergency"
                 },
                 "gambling": {
                     "label": "Games"
                 },
+                "garden/type": {
+                    "label": "Garden Type"
+                },
                 "gauge": {
                     "label": "Gauge"
                 },
                 "government": {
                     "label": "Type"
                 },
+                "grades": {
+                    "label": "Grade Levels"
+                },
                 "grape_variety": {
                     "label": "Grape Varieties"
                 },
                 "healthcare/speciality": {
                     "label": "Specialties"
                 },
+                "heating": {
+                    "label": "Heating"
+                },
                 "height_building": {
                     "label": "Building Height (Meters)",
                     "terms": ""
                 "icao": {
                     "label": "ICAO Airport Code"
                 },
+                "image": {
+                    "label": "Image",
+                    "terms": "icon,image uri,photo,picture",
+                    "placeholder": "https://example.com/photo.jpg"
+                },
                 "incline_steps": {
                     "label": "Incline",
                     "options": {
                     "terms": ""
                 },
                 "internet_access": {
-                    "label": "Internet Access",
+                    "label": "Internet Connection",
                     "terms": "wifi,wlan",
                     "options": {
                         "yes": "Yes",
                     }
                 },
                 "internet_access/fee": {
-                    "label": "Internet Access Fee",
-                    "terms": "wifi fee"
+                    "label": "Internet Access",
+                    "terms": "wifi fee",
+                    "options": {
+                        "no": "Free",
+                        "yes": "Paid",
+                        "customers": "Customers Only"
+                    }
                 },
                 "internet_access/ssid": {
                     "label": "Wifi Network Name",
                 "kerb/height": {
                     "label": "Height"
                 },
+                "kneipp_water_cure_multi": {
+                    "label": "Basin Types"
+                },
                 "label": {
                     "label": "Label"
                 },
+                "lamp_mount": {
+                    "label": "Mount"
+                },
                 "lamp_type": {
                     "label": "Type"
                 },
                 "line_attachment": {
                     "label": "Line Attachment"
                 },
+                "line_management": {
+                    "label": "Line Management",
+                    "terms": "branching,line topology,termination"
+                },
                 "lit": {
                     "label": "Lit",
                     "terms": "lamp,lighting"
                     "label": "Microbrewery",
                     "terms": "brewpub,craft beer"
                 },
+                "mimics": {
+                    "label": "Mimics",
+                    "terms": "camoflauged,disguised,looks like,tree"
+                },
                 "min_age": {
                     "label": "Minimum Age",
                     "terms": "lower age limit"
                     "terms": ""
                 },
                 "network/type": {
-                    "label": "Network Type",
-                    "terms": ""
+                    "label": "Network Type"
                 },
                 "not/name": {
                     "label": "Incorrect Names",
                 },
                 "oneway": {
                     "label": "One Way",
+                    "terms": "bidirectional,oneway,unidirectional",
                     "options": {
                         "undefined": "Assumed to be No",
                         "yes": "Yes",
                     "terms": ""
                 },
                 "opening_date": {
-                    "label": "Expected Opening Date"
+                    "label": "Expected Opening Date",
+                    "placeholder": "YYYY-MM-DD"
                 },
                 "opening_hours": {
                     "label": "Hours",
                     "terms": "",
                     "placeholder": "Unknown"
                 },
+                "opening_hours/covid19": {
+                    "label": "COVID-19 Pandemic Hours",
+                    "terms": "coronavirus,lockdown,opening hours,SARS‑CoV‑2"
+                },
                 "operator": {
                     "label": "Operator",
                     "terms": ""
                 "operator/type": {
                     "label": "Operator Type"
                 },
+                "organic": {
+                    "label": "Organic Products",
+                    "terms": "natural,non-gmo",
+                    "options": {
+                        "no": "None",
+                        "yes": "Some",
+                        "only": "Only"
+                    }
+                },
                 "outdoor_seating": {
                     "label": "Outdoor Seating",
                     "terms": ""
                     "label": "Park and Ride",
                     "terms": ""
                 },
+                "parking_entrance": {
+                    "label": "Type",
+                    "options": {
+                        "underground": "Underground",
+                        "multi-storey": "Multilevel"
+                    }
+                },
+                "parking_space": {
+                    "label": "Type"
+                },
                 "parking": {
                     "label": "Type",
                     "options": {
                         "surface": "Surface",
-                        "multi-storey": "Multilevel",
                         "underground": "Underground",
-                        "sheds": "Sheds",
+                        "multi-storey": "Multilevel",
+                        "lane": "Roadside Lane",
                         "carports": "Carports",
                         "garage_boxes": "Garage Boxes",
-                        "lane": "Roadside Lane"
+                        "rooftop": "Rooftop",
+                        "sheds": "Sheds"
                     }
                 },
                 "payment_multi_fee": {
                 "playground/theme": {
                     "label": "Theme"
                 },
+                "plots": {
+                    "label": "Plots",
+                    "placeholder": "10, 20, 30..."
+                },
                 "polling_station": {
                     "label": "Polling Place",
                     "terms": "voting place"
                 "population": {
                     "label": "Population"
                 },
+                "portable": {
+                    "label": "Portable",
+                    "terms": "detached,mobile,moveable"
+                },
                 "post": {
                     "label": "Delivery Address"
                 },
                         "both": "Both / All"
                     }
                 },
+                "ramp": {
+                    "label": "Embedded Ramp",
+                    "terms": ""
+                },
                 "rating": {
                     "label": "Power Rating"
                 },
                 "rcn_ref": {
                     "label": "Cycling Code"
                 },
+                "real_fire": {
+                    "label": "Real Fire",
+                    "terms": "fire place,fire"
+                },
                 "recycling_accepts": {
                     "label": "Accepts"
                 },
                 "rooms": {
                     "label": "Rooms"
                 },
+                "roundtrip": {
+                    "label": "Forms Loop",
+                    "terms": "circular,closed,looping,roundtrip"
+                },
                 "route_master": {
                     "label": "Type"
                 },
                 "route": {
                     "label": "Type"
                 },
+                "ruins": {
+                    "label": "Type"
+                },
                 "rwn_ref": {
                     "label": "Walking Code"
                 },
                 },
                 "start_date": {
                     "label": "Start Date",
-                    "terms": "inception"
+                    "terms": "inception",
+                    "placeholder": "YYYY-MM-DD"
                 },
                 "step_count": {
                     "label": "Number of Steps",
                     "terms": "guarded,manned"
                 },
                 "support": {
-                    "label": "Support"
+                    "label": "Support",
+                    "terms": ""
                 },
                 "surface": {
                     "label": "Surface",
                 "target": {
                     "label": "Target"
                 },
+                "telecom": {
+                    "label": "Type"
+                },
+                "telecom/medium": {
+                    "label": "Medium"
+                },
                 "tidal": {
                     "label": "Tidal",
                     "terms": ""
                     "label": "Overhead Trolley Wires",
                     "terms": ""
                 },
+                "tunnel_combo": {
+                    "label": "Type"
+                },
                 "tunnel": {
                     "label": "Type",
                     "placeholder": "Default"
                 "valve": {
                     "label": "Type"
                 },
+                "vehicles": {
+                    "label": "Vehicles",
+                    "options": {
+                        "bus": "Bus",
+                        "trolleybus": "Trolleybus",
+                        "tram": "Tram",
+                        "train": "Train",
+                        "subway": "Subway",
+                        "light_rail": "Light Rail",
+                        "monorail": "Monorail",
+                        "ferry": "Ferry"
+                    }
+                },
                 "vending": {
                     "label": "Types of Goods"
                 },
+                "vhf": {
+                    "label": "VHF Channel",
+                    "terms": "call sign,very high frequency"
+                },
                 "video_calls": {
                     "label": "Video Calls",
                     "terms": ""
                 "water_source": {
                     "label": "Water Source"
                 },
+                "water_tank/volume": {
+                    "label": "Volume (Liters)",
+                    "placeholder": "10000, 20000, 30000…"
+                },
                 "water_volume": {
                     "label": "Water Reserve Volume (m³)",
                     "terms": ""
             },
             "presets": {
                 "aerialway": {
-                    "name": "Aerialway"
+                    "name": "Aerialway Feature"
                 },
                 "aeroway": {
-                    "name": "Aeroway"
+                    "name": "Aeroway Feature"
                 },
                 "amenity": {
                     "name": "Amenity"
                 "seamark": {
                     "name": "Seamark"
                 },
+                "telecom": {
+                    "name": "Telecom Feature"
+                },
                 "tourism": {
                     "name": "Tourism Feature"
                 },
                 },
                 "advertising/board": {
                     "name": "Notice Board",
-                    "terms": ""
+                    "terms": "advertising,announcements,blackboard,bulletin board,bulletinboard,cork board,corkboard,fliers,flyers,noticeboard,pin board,pinboard,sign,whiteboard"
                 },
                 "advertising/column": {
                     "name": "Advertising Column",
                     "terms": "skiing,snowboarding,surface cable"
                 },
                 "aerialway/gondola": {
-                    "name": "Gondola",
+                    "name": "Gondola Lift",
                     "terms": "aerial cable,lift,skiing,snowboarding"
                 },
                 "aerialway/goods": {
                     "terms": "aerodrome,aeroway,airplane,airport,jet,plane"
                 },
                 "aeroway/apron": {
-                    "name": "Apron",
-                    "terms": "ramp"
+                    "name": "Airport Apron",
+                    "terms": "aircraft parking,flight line,hardstand,ramp,tarmac,taxiway"
                 },
                 "aeroway/gate": {
                     "name": "Airport Gate",
                     "terms": ""
                 },
                 "aeroway/jet_bridge": {
-                    "name": "Jet Bridge",
-                    "terms": "aerobridge,air jetty,airbridge,finger,gangway,jet way,jetway,passenger boarding bridge,PBB,portal,skybridge,terminal gate connector"
+                    "name": "Jetway",
+                    "terms": "aerobridge,air jetty,airbridge,airtube,finger,gangway,jet bridge,jetbridge,jet way,jetway,passenger boarding bridge,PBB,portal,skybridge,terminal gate connector"
                 },
                 "aeroway/parking_position": {
                     "name": "Aircraft Parking Position",
                     "name": "Embassy"
                 },
                 "amenity/ferry_terminal": {
-                    "name": "Ferry Station / Terminal"
+                    "name": "Ferry Terminal"
                 },
                 "amenity/nursing_home": {
                     "name": "Nursing Home"
                 "amenity/recycling": {
                     "name": "Recycling"
                 },
-                "amenity/register_office": {
-                    "name": "Register Office"
-                },
-                "amenity/scrapyard": {
-                    "name": "Scrap Yard"
-                },
-                "amenity/swimming_pool": {
-                    "name": "Swimming Pool"
-                },
                 "amenity/animal_boarding": {
                     "name": "Animal Boarding Facility",
                     "terms": "boarding,cat,cattery,dog,horse,kennel,kitten,pet,pet boarding,pet care,pet hotel,puppy,reptile"
                     "name": "Biergarten",
                     "terms": "beer,bier,booze"
                 },
+                "amenity/binoculars": {
+                    "name": "Mounted Binoculars",
+                    "terms": "observation viewer,optical ranger,spotting scope,sight,spyglass,telescope,tower viewer,viewfinder,viewing stand"
+                },
                 "amenity/boat_rental": {
                     "name": "Boat Rental",
                     "terms": ""
                 },
+                "amenity/boat_storage": {
+                    "name": "Boat Storage",
+                    "terms": "boathouse,dry dock,marina"
+                },
                 "amenity/bureau_de_change": {
                     "name": "Currency Exchange",
                     "terms": "bureau de change,money changer"
                     "name": "Cafe",
                     "terms": "bistro,coffee,tea"
                 },
+                "amenity/cafe/bubble_tea": {
+                    "name": "Bubble Tea Cafe",
+                    "terms": "boba,bubble milk tea,pearl milk tea,taiwanese tea drink,tapioca,pearl tea,boba drink"
+                },
+                "amenity/cafe/coffee_shop": {
+                    "name": "Coffeehouse",
+                    "terms": "americano,brew,cafe,café,caffe,caffè,cappuccino,cocoa,coffee shop,drip,espresso,hot drinks,latte,macchiato,tea"
+                },
                 "amenity/car_pooling": {
                     "name": "Car Pooling Station",
                     "terms": "car sharing,carpooling,lift sharing,ride sharing"
                     "name": "Events Venue",
                     "terms": "banquet hall,baptism,Bar Mitzvah,Bat Mitzvah,birthdays,celebrations,conferences,confirmation,meetings,parties,party,quinceañera,reunions,weddings"
                 },
+                "amenity/exhibition_centre": {
+                    "name": "Exposition Center",
+                    "terms": "exhibition center,fair,exhibition,exposition,trade fair,trade show,trade exhibition,expo,tradeshow"
+                },
                 "amenity/fast_food": {
                     "name": "Fast Food",
                     "terms": "restaurant,takeaway"
                     "name": "Hot Dog Fast Food",
                     "terms": "ballpark,frankfurter,frank,hotdog stand,sandwich,sausage,wiener"
                 },
+                "amenity/fast_food/juice": {
+                    "name": "Juice Fast Food",
+                    "terms": "cafe,café,beverages,fruit drinks,juice bar,shakes,smoothies"
+                },
                 "amenity/fast_food/kebab": {
                     "name": "Kebab Fast Food",
                     "terms": "bar,breakfast,cafe,café,canteen,dine,dining,dinner,drive-in,eat,grill,lunch,table"
                     "name": "Gambling Hall",
                     "terms": "betting,bingo,blackjack,casino,craps,gamble,gambling,keno,lottery,pachinko,poker,roulette,slot machines,slots"
                 },
+                "amenity/give_box": {
+                    "name": "Free Box",
+                    "terms": "donations,free box,free table,freebox,give box,give shelf,givebox,library,share shelf"
+                },
                 "amenity/grave_yard": {
                     "name": "Graveyard",
                     "terms": "burial ground,cemetary,cemetery,churchyard,columbarium,grave yard,graveyard,mausoleum,tomb"
                 },
                 "amenity/kindergarten": {
                     "name": "Preschool / Kindergarten Grounds",
-                    "terms": "kindergarden,pre-school"
+                    "terms": "kindergarten,kindergarden,pre-school"
+                },
+                "amenity/kneipp_water_cure": {
+                    "name": "Kneipp Water Cure",
+                    "terms": ""
                 },
                 "amenity/language_school": {
                     "name": "Language School",
                     "name": "Loading Dock",
                     "terms": "door,loading bay,shipping,unloading,warehouse"
                 },
+                "amenity/lounger": {
+                    "name": "Lounger",
+                    "terms": "seat,chair,bench"
+                },
                 "amenity/love_hotel": {
                     "name": "Love Hotel",
                     "terms": ""
                     "name": "Money Transfer Station",
                     "terms": "money order,check,bill,currency,finance,wire transfer,cable,person to person,cash to cash,exchange"
                 },
+                "amenity/mortuary": {
+                    "name": "Morgue",
+                    "terms": "crematorium,funeral home,memorial home,morgue,mortuary,undertaker"
+                },
                 "amenity/motorcycle_parking": {
                     "name": "Motorcycle Parking",
                     "terms": ""
                 },
                 "amenity/parking_space": {
                     "name": "Parking Space",
-                    "terms": ""
+                    "terms": "parking spot,parking stall"
+                },
+                "amenity/parking_space/disabled": {
+                    "name": "Accessible Parking Space",
+                    "terms": "disability,disabled parking stall,handicap parking spot,wheelchair"
                 },
                 "amenity/parking": {
                     "name": "Parking Lot",
                     "name": "Pub",
                     "terms": "alcohol,drink,dive,beer,bier,booze"
                 },
+                "amenity/pub/irish": {
+                    "name": "Irish Pub",
+                    "terms": "irish pub,irish bar"
+                },
                 "amenity/pub/lgbtq": {
                     "name": "LGBTQ+ Pub",
                     "terms": "gay pub,lesbian pub,lgbtq pub,lgbt pub,lgb pub"
                     "name": "Green Waste Container",
                     "terms": "biodegradable,biological,compost,decomposable,garbage bin,garden waste,organic,rubbish,food scrap"
                 },
+                "amenity/refugee_site": {
+                    "name": "Refugee Camp",
+                    "terms": "displaced people,evacuees,migrants,ngo,refugee site"
+                },
                 "amenity/research_institute": {
                     "name": "Research Institute Grounds",
                     "terms": "applied research,experimentation,r&d,r & d,r and d,research and development,research institution,research laboratory,research labs"
                     "name": "Pit Latrine",
                     "terms": "head,lavatory,long drop,outhouse,pit toilet,privy"
                 },
+                "amenity/toilets/portable": {
+                    "name": "Portable Toilet",
+                    "terms": "restroom,privy,porta john,porta potty,portapot,chemical toilet"
+                },
                 "amenity/townhall": {
                     "name": "Town Hall",
                     "terms": "village,city,government,courthouse,municipal"
                     "name": "University Grounds",
                     "terms": "college,graduate school,PhD program,master's degree program"
                 },
+                "amenity/vacuum_cleaner": {
+                    "name": "Vacuum Cleaning Station",
+                    "terms": "car vacuum cleaner,car wash,carvac,suction"
+                },
                 "amenity/vehicle_inspection": {
                     "name": "Vehicle Inspection",
                     "terms": "car inspection"
                 },
                 "barrier/border_control": {
                     "name": "Border Control",
-                    "terms": ""
+                    "terms": "checkpoint,customs,international boundary,passport check,port of entry,visa"
                 },
                 "barrier/cattle_grid": {
                     "name": "Cattle Grid",
                 },
                 "barrier/height_restrictor": {
                     "name": "Height Restrictor",
-                    "terms": ""
+                    "terms": "height barrier,height restriction barrier,maxheight,maximum height measurer"
                 },
                 "barrier/kerb": {
                     "name": "Curb",
                 },
                 "barrier/lift_gate": {
                     "name": "Lift Gate",
-                    "terms": ""
+                    "terms": "boom barrier,boom gate,boom lift,hinged bar,pivoted pole"
                 },
                 "barrier/retaining_wall": {
                     "name": "Retaining Wall",
                     "name": "Sally Port",
                     "terms": "Postern,castle side gate"
                 },
+                "barrier/spikes": {
+                    "name": "Spike Strip",
+                    "terms": "one-way traffic treadles,stingers,stop sticks,tire deflation device,tire shredders,traffic spikes"
+                },
                 "barrier/stile": {
                     "name": "Stile",
                     "terms": ""
                     "name": "Building Under Construction",
                     "terms": ""
                 },
+                "building/cowshed": {
+                    "name": "Cowshed",
+                    "terms": "byre,cow barn,cow house,cow shed,cowbarn,cowhouse,dairy barn,milking barn"
+                },
                 "building/detached": {
                     "name": "Detached House",
                     "terms": "home,single,family,residence,dwelling"
                 },
                 "building/farm_auxiliary": {
                     "name": "Farm Building",
-                    "terms": ""
+                    "terms": "agriculture,auxiliary,auxilary,chicken coop,farm auxiliary,pigsty,sty"
                 },
                 "building/farm": {
                     "name": "Farm House",
                 },
                 "building/kindergarten": {
                     "name": "Preschool / Kindergarten Building",
-                    "terms": "kindergarden,pre-school"
+                    "terms": "kindergarten,kindergarden,pre-school"
                 },
                 "building/mosque": {
                     "name": "Mosque Building",
                     "terms": ""
                 },
+                "building/office": {
+                    "name": "Office Building",
+                    "terms": "business center,office block"
+                },
                 "building/pavilion": {
                     "name": "Pavilion Building",
                     "terms": "sports"
                 },
                 "building/retail": {
                     "name": "Retail Building",
-                    "terms": ""
+                    "terms": "shop building,store building"
                 },
                 "building/roof": {
                     "name": "Roof",
                 },
                 "building/static_caravan": {
                     "name": "Static Mobile Home",
-                    "terms": ""
+                    "terms": "house trailer,manufactured home,mobile home,prefabricated home,residential caravan,static caravan,trailer home"
+                },
+                "building/sty": {
+                    "name": "Pigsty",
+                    "terms": "hog parlor,hog pen,pig ark,pig barn,pig parlor,pig pen,pig shed,pig shelter,pig-cote,piggery,pigpen,pigshed,sty"
                 },
                 "building/temple": {
                     "name": "Temple Building",
                     "name": "Tailor"
                 },
                 "craft/agricultural_engines": {
-                    "name": "Argricultural Engines Mechanic",
-                    "terms": ""
+                    "name": "Agricultural Engines Mechanic",
+                    "terms": "combines,farm equipment,harvesters,tractors"
                 },
                 "craft/basket_maker": {
                     "name": "Basket Maker",
                     "terms": "glass,stained-glass,window"
                 },
                 "craft/handicraft": {
-                    "name": "Handicraft",
+                    "name": "Handicraft Workspace",
                     "terms": ""
                 },
                 "craft/hvac": {
-                    "name": "HVAC",
+                    "name": "HVAC Workplace",
                     "terms": "heat*,vent*,air conditioning"
                 },
                 "craft/insulator": {
                     "terms": ""
                 },
                 "craft/metal_construction": {
-                    "name": "Metal Construction",
+                    "name": "Metalworker",
                     "terms": ""
                 },
                 "craft/painter": {
                 "demolished/building": {
                     "name": "Recently Demolished Building"
                 },
+                "disused/amenity": {
+                    "name": "Disused Amenity"
+                },
                 "disused/railway": {
                     "name": "Disused Railway Feature"
                 },
+                "disused/shop": {
+                    "name": "Disused Shop"
+                },
                 "emergency/designated": {
                     "name": "Emergency Access Designated"
                 },
                     "name": "Lifeguard",
                     "terms": "CPR,rescue"
                 },
+                "emergency/mountain_rescue": {
+                    "name": "Mountain Rescue",
+                    "terms": "EMS,EMT,rescue"
+                },
                 "emergency/phone": {
                     "name": "Emergency Phone",
                     "terms": ""
                     "name": "Entrance / Exit",
                     "terms": "entrance,exit,door"
                 },
+                "entrance/emergency_ward_entrance": {
+                    "name": "Emergency Room Entrance",
+                    "terms": "accident & emergency department,casualty department,ed,emergency department,emergency room,emergency ward,er,ew"
+                },
                 "entrance/emergency": {
                     "name": "Emergency Exit",
                     "terms": "fire exit,door"
                     "name": "Golf Cartpath",
                     "terms": ""
                 },
+                "golf/clubhouse": {
+                    "name": "Golf Clubhouse",
+                    "terms": "club house,golf clubhouse,golf house,pro shop"
+                },
                 "golf/driving_range": {
                     "name": "Driving Range",
                     "terms": ""
                     "name": "Counselling Center",
                     "terms": ""
                 },
+                "healthcare/dentist/orthodontics": {
+                    "name": "Orthodontist",
+                    "terms": "braces,dentistry,dentofacial orthopedics,headgear,jaw alignment,teeth,tooth"
+                },
                 "healthcare/hospice": {
                     "name": "Hospice",
                     "terms": "terminal,illness"
                     "terms": ""
                 },
                 "highway/construction": {
-                    "name": "Road Closed",
-                    "terms": "closed,closure,construction"
+                    "name": "Closed Road",
+                    "terms": "closure,construction,road closed,road work,roadwork"
                 },
                 "highway/corridor": {
                     "name": "Indoor Corridor",
                 },
                 "highway/cycleway/bicycle_foot": {
                     "name": "Cycle & Foot Path",
-                    "terms": "bicycle and foot path,bike and pedestrian path,green way,greenway,mixed-use trail,multi-use trail,segregated trail,rail trail"
+                    "terms": "bicycle and foot path,bike and pedestrian path,green way,greenway,mixed-use trail,multi-use trail,segregated trail,shared path,shared use path,rail trail"
+                },
+                "highway/cycleway/crossing/bicycle_foot": {
+                    "name": "Cycle & Foot Crossing",
+                    "terms": "bicycle and foot crosswalk,bike and pedestrian crossing,cycleway,cycling,cyclist"
                 },
                 "highway/cycleway/crossing/marked": {
                     "name": "Marked Cycle Crossing",
                     "name": "Path",
                     "terms": "hike,hiking,trackway,trail,walk"
                 },
+                "highway/path/boardwalk": {
+                    "name": "Boardwalk",
+                    "terms": "pier,plank walkway,wooden raised foot path"
+                },
                 "highway/path/informal": {
                     "name": "Informal Path",
                     "terms": "bootleg trail,cow path,desire line,desire path,desireline,desirepath,elephant path,game trail,goat track,herd path,pig trail,shortcut,social trail,use trail"
                     "name": "Unknown Road",
                     "terms": "road,street"
                 },
+                "highway/road/bridge": {
+                    "name": "Unknown Road Bridge",
+                    "terms": ""
+                },
                 "highway/secondary_link": {
                     "name": "Secondary Link",
                     "terms": "on ramp,off ramp,ramp,road,street"
                     "name": "Tertiary Road",
                     "terms": "road,street"
                 },
+                "highway/toll_gantry": {
+                    "name": "Open Road Toll",
+                    "terms": "license plate camera toll,cashless toll,electronic toll,free-flow toll,toll gantry,transponder toll"
+                },
                 "highway/track": {
                     "name": "Unmaintained Track Road",
                     "terms": "woods road,forest road,logging road,fire road,farm road,agricultural road,ranch road,carriage road,primitive,unmaintained,rut,offroad,4wd,4x4,four wheel drive,atv,quad,jeep,double track,two track"
                     "name": "Monument",
                     "terms": ""
                 },
+                "historic/pillory": {
+                    "name": "Historic Pillory",
+                    "terms": "attraction"
+                },
                 "historic/ruins": {
                     "name": "Ruins",
                     "terms": ""
                     "name": "Reservoir"
                 },
                 "landuse/allotments": {
-                    "name": "Community Garden",
-                    "terms": "allotment,garden"
+                    "name": "Garden Allotments",
+                    "terms": "allotment,community garden,garden"
                 },
                 "landuse/aquaculture": {
                     "name": "Aquaculture",
                     "terms": "base,fight,force,guard,marine,navy,ship,sub,troop,war"
                 },
                 "landuse/military/obstacle_course": {
-                    "name": "Obstacle Course",
+                    "name": "Military Obstacle Course",
                     "terms": "army,base,force,guard,marine,navy,troop,war"
                 },
                 "landuse/military/range": {
                     "terms": "air force,army,base,fight,fire,force,guard,gun,marine,navy,rifle,shoot*,snip*,train,troop,war"
                 },
                 "landuse/military/training_area": {
-                    "name": "Training Area",
+                    "name": "Military Training Area",
                     "terms": "air force,army,base,fight,fire,force,guard,gun,marine,navy,rifle,shoot*,snip*,train,troop,war"
                 },
                 "landuse/orchard": {
                 },
                 "landuse/quarry": {
                     "name": "Quarry",
-                    "terms": ""
+                    "terms": "aggregate quarry,open pit mine,sand mine,sand pit,sand quarry,sandpit"
                 },
                 "landuse/railway": {
                     "name": "Railway Corridor",
                 },
                 "leisure/garden": {
                     "name": "Garden",
-                    "terms": ""
+                    "terms": "flowers,fruits,herbs,plants,vegetables"
+                },
+                "leisure/garden/botanical": {
+                    "name": "Botanical Garden",
+                    "terms": "botanic garden,plant collection,rare plants"
+                },
+                "leisure/garden/community": {
+                    "name": "Community Garden",
+                    "terms": "co-op garden,collective garden,communal garden"
                 },
                 "leisure/golf_course": {
                     "name": "Golf Course",
                 },
                 "leisure/marina": {
                     "name": "Marina",
-                    "terms": "boat"
+                    "terms": "boats,docks,harbor,harbour,moorings,yachts"
                 },
                 "leisure/miniature_golf": {
                     "name": "Miniature Golf",
                     "name": "Swimming Pool Facility",
                     "terms": "dive,water"
                 },
+                "leisure/sports_hall": {
+                    "name": "Gymnasium",
+                    "terms": "athletic courts,gym,sports hall,sports venue"
+                },
                 "leisure/stadium": {
                     "name": "Stadium",
                     "terms": ""
                     "name": "Racetrack (Non-Motorsport)",
                     "terms": "cycle,dog,greyhound,horse,race*,track"
                 },
-                "leisure/track/cycling_point": {
-                    "name": "Cycling Track",
-                    "terms": "bicycle track,bicycling track,cycle racetrack,velodrome"
-                },
                 "leisure/track/cycling": {
                     "name": "Cycling Track",
                     "terms": "bicycle track,bicycling track,cycle racetrack,velodrome"
                 },
-                "leisure/track/horse_racing_point": {
-                    "name": "Horse Racing Track",
-                    "terms": "equestrian race track,horse race betting,horseracing,horsetrack,horse racetrack"
-                },
                 "leisure/track/horse_racing": {
                     "name": "Horse Racing Track",
                     "terms": "equestrian race track,horse race betting,horseracing,horsetrack,horse racetrack"
                 },
-                "leisure/track/running_point": {
-                    "name": "Running Track",
-                    "terms": "athletics track,decathlon,foot race,long distance running,marathon,middle distance running,racetrack,running,sprint,track,walking"
-                },
                 "leisure/track/running": {
                     "name": "Running Track",
                     "terms": "athletics track,decathlon,foot race,long distance running,marathon,middle distance running,racetrack,running,sprint,track,walking"
                 },
+                "leisure/trampoline_park": {
+                    "name": "Trampoline Park",
+                    "terms": "bounce,jump,spring"
+                },
                 "leisure/water_park": {
                     "name": "Water Park",
                     "terms": "swim,pool,dive"
                     "name": "Clearcut Forest",
                     "terms": "cut,forest,lumber,tree,wood"
                 },
+                "man_made/courtyard": {
+                    "name": "Courtyard",
+                    "terms": "court,enclosed open air,quadrangle,yard"
+                },
                 "man_made/crane": {
                     "name": "Crane",
                     "terms": ""
                 },
                 "man_made/cross": {
-                    "name": "Summit Cross",
+                    "name": "Cross",
                     "terms": ""
                 },
                 "man_made/cutline": {
                     "name": "Cut line",
                     "terms": ""
                 },
+                "man_made/dovecote": {
+                    "name": "Dovecote",
+                    "terms": "birds,doocot,dovecot,doves,pigeonholes,pigeons"
+                },
                 "man_made/dyke": {
                     "name": "Levee",
                     "terms": "Dike,Dyke,Floodbank,Stopbank"
                     "name": "Gasometer",
                     "terms": "gas holder"
                 },
+                "man_made/goods_conveyor": {
+                    "name": "Goods Conveyor",
+                    "terms": "belt conveyor,chain conveyor,conveyor belt,roller conveyor"
+                },
                 "man_made/groyne": {
-                    "name": "Groyne",
+                    "name": "Groin",
                     "terms": ""
                 },
                 "man_made/lighthouse": {
                     "name": "Pumping Station",
                     "terms": ""
                 },
+                "man_made/reservoir_covered": {
+                    "name": "Covered Reservoir",
+                    "terms": "underground reservoir,water tank"
+                },
                 "man_made/silo": {
                     "name": "Silo",
                     "terms": "grain,corn,wheat"
                     "name": "Communication Tower",
                     "terms": "antenna,broadcast tower,cell phone tower,cell tower,communication mast,communication tower,guyed tower,mobile phone tower,radio mast,radio tower,television tower,transmission mast,transmission tower,tv tower"
                 },
+                "man_made/tower/cooling": {
+                    "name": "Cooling Tower",
+                    "terms": "power plant"
+                },
                 "man_made/tower/defensive": {
                     "name": "Fortified Tower",
                     "terms": "Defensive Tower,Castle Tower"
                     "name": "Windmill",
                     "terms": "wind,wheel,mill"
                 },
+                "man_made/windpump": {
+                    "name": "Windpump",
+                    "terms": "aerorotor,water pump,windmill,wind pump"
+                },
                 "man_made/works": {
                     "name": "Factory",
                     "terms": "assembly,build,brewery,car,plant,plastic,processing,manufacture,refinery"
                     "terms": "air force,army,base,fight,force,guard,marine,navy,troop,war"
                 },
                 "military/checkpoint": {
-                    "name": "Checkpoint",
+                    "name": "Military Checkpoint",
                     "terms": "air force,army,base,force,guard,marine,navy,troop,war"
                 },
                 "military/nuclear_explosion_site": {
                     "name": "Heath",
                     "terms": ""
                 },
+                "natural/hot_spring": {
+                    "name": "Hot Spring",
+                    "terms": "geothermal spring,thermal pool"
+                },
                 "natural/mud": {
                     "name": "Mud",
                     "terms": "wetland"
                     "name": "Shingle",
                     "terms": "beach,gravel,pebbles,riverbed,rounded rock fragments"
                 },
+                "natural/shrub": {
+                    "name": "Shrub",
+                    "terms": "bush,scrub"
+                },
                 "natural/spring": {
                     "name": "Spring",
                     "terms": "aquifer,hydro,seep,water source"
                 },
                 "office/research": {
                     "name": "Research Office",
-                    "terms": "R and D,research and development,research lab"
+                    "terms": "R and D,research and development,research lab,r&d,rnd"
                 },
                 "office/surveyor": {
                     "name": "Surveyor Office",
                     "terms": ""
                 },
                 "playground/climbing_frame": {
-                    "name": "Climbing Frame",
-                    "terms": ""
+                    "name": "Play Climbing Frame",
+                    "terms": "jungle gym,monkey bars"
                 },
                 "playground/cushion": {
                     "name": "Bouncy Cushion",
                     "terms": "merry-go-round"
                 },
                 "playground/sandpit": {
-                    "name": "Sandpit",
-                    "terms": "sandbox"
+                    "name": "Play Sandbox",
+                    "terms": "sandbox,sandpit"
                 },
                 "playground/seesaw": {
                     "name": "Seesaw",
                     "terms": ""
                 },
                 "playground/zipwire": {
-                    "name": "Zip Wire",
-                    "terms": ""
+                    "name": "Play Zip Line",
+                    "terms": "zipline,zip wire,zipwire"
                 },
                 "point": {
                     "name": "Point",
                     "name": "Temporary Polling Place",
                     "terms": "ballot box,ballot drop,democracy,elections,polling place,vote,voting booth,voting machine"
                 },
+                "power/cable": {
+                    "name": "Power Cable"
+                },
                 "power/cable/underground": {
                     "name": "Underground Power Cable",
                     "terms": ""
                     "name": "Bus Stop",
                     "terms": "bus,platform,public transit,public transportation,transit,transportation"
                 },
+                "public_transport/platform/bus_tram_point": {
+                    "name": "Tram & Bus Stop",
+                    "terms": "bus,light rail,platform,public transit,public transportation,rail,streetcar,track,tram,transit,transportation,trolley"
+                },
                 "public_transport/platform/bus": {
                     "name": "Bus Platform",
                     "terms": "bus,platform,public transit,public transportation,transit,transportation"
                     "terms": "bus,public transit,public transportation,station,terminal,transit,transportation"
                 },
                 "public_transport/station_ferry": {
-                    "name": "Ferry Station / Terminal",
+                    "name": "Ferry Terminal",
                     "terms": "boat,dock,ferry,pier,public transit,public transportation,station,terminal,transit,transportation"
                 },
                 "public_transport/station_light_rail": {
                     "terms": ""
                 },
                 "railway/crossing": {
-                    "name": "Railway Crossing (Path)",
-                    "terms": "crossing,pedestrian crossing,railroad crossing,level crossing,grade crossing,path through railroad,train crossing"
+                    "name": "Railway-Path Crossing",
+                    "terms": "crossing,path railway crossing,pedestrian crossing,level crossing,grade crossing,railroad crossing,railway path crossing,path through railroad,train crossing"
                 },
                 "railway/derail": {
                     "name": "Railway Derailer",
                     "terms": ""
                 },
                 "railway/funicular": {
-                    "name": "Funicular",
+                    "name": "Funicular Track",
                     "terms": "venicular,cliff railway,cable car,cable railway,funicular railway"
                 },
                 "railway/level_crossing": {
-                    "name": "Railway Crossing (Road)",
-                    "terms": "crossing,railroad crossing,level crossing,grade crossing,road through railroad,train crossing"
+                    "name": "Railway-Road Crossing",
+                    "terms": "crossing,level crossing,grade crossing,railroad crossing,railway road crossing,road railway crossing,road through railroad,train crossing"
                 },
                 "railway/light_rail": {
-                    "name": "Light Rail",
+                    "name": "Light Rail Track",
                     "terms": "light rail,streetcar,trolley"
                 },
                 "railway/milestone": {
                     "terms": "milestone,marker"
                 },
                 "railway/miniature": {
-                    "name": "Miniature Railway",
+                    "name": "Miniature Train Track",
                     "terms": "rideable miniature railway,narrow gauge railway,minimum gauge railway"
                 },
                 "railway/monorail": {
-                    "name": "Monorail",
+                    "name": "Monorail Track",
                     "terms": ""
                 },
+                "railway/monorail/hanging": {
+                    "name": "Hanging Monorail Track",
+                    "terms": "suspension railway"
+                },
                 "railway/narrow_gauge": {
-                    "name": "Narrow Gauge Rail",
+                    "name": "Narrow Gauge Track",
                     "terms": "narrow gauge railway,narrow gauge railroad"
                 },
+                "railway/preserved": {
+                    "name": "Heritage Railway Track",
+                    "terms": "historic train,preserved rail,steam train,tourist train"
+                },
                 "railway/rail": {
-                    "name": "Rail",
-                    "terms": "rail line,railroad track,train track"
+                    "name": "Train Track",
+                    "terms": "permanent way,rail line,railroad track,railway track,track,train track"
                 },
                 "railway/rail/highspeed": {
-                    "name": "High-Speed Rail",
+                    "name": "High-Speed Train Track",
                     "terms": "bullet train,fast rail,high speed rail,highspeed rail,HSR"
                 },
+                "railway/railway_crossing": {
+                    "name": "Railway-Railway Crossing",
+                    "terms": "diamond crossing,flat crossing,level junction,railway railway crossing"
+                },
                 "railway/signal": {
                     "name": "Railway Signal",
                     "terms": "signal,lights"
                     "terms": "metro,transit"
                 },
                 "railway/subway": {
-                    "name": "Subway",
-                    "terms": "metro,transit"
+                    "name": "Subway Track",
+                    "terms": "metro,transit,underground railway"
                 },
                 "railway/switch": {
                     "name": "Railway Switch",
                     "name": "Train Wash",
                     "terms": "wash,clean"
                 },
+                "railway/tram_crossing": {
+                    "name": "Tram-Path Crossing",
+                    "terms": "crossing,grade crossing,level crossing,path tram crossing,pedestrian crossing,streetcar crossing,tram path crossing,tramway crossing,trolley crossing"
+                },
+                "railway/tram_level_crossing": {
+                    "name": "Tram-Road Crossing",
+                    "terms": "crossing,grade crossing,level crossing,pedestrian crossing,road tram crossing,streetcar crossing,tram road crossing,tramway crossing,trolley crossing"
+                },
                 "railway/tram": {
-                    "name": "Tram",
-                    "terms": "light rail,streetcar,tram,trolley"
+                    "name": "Tram Track",
+                    "terms": "electric street railway,light rail,streetcar,tramway,trolley"
                 },
                 "railway/yard": {
                     "name": "Rail Yard",
                 "shop/fashion": {
                     "name": "Fashion Store"
                 },
-                "shop/fishmonger": {
-                    "name": "Fishmonger"
-                },
-                "shop/furnace": {
-                    "name": "Furnace Store"
-                },
                 "shop/vacant": {
                     "name": "Vacant Shop"
                 },
                 },
                 "shop/car_repair": {
                     "name": "Car Repair Shop",
-                    "terms": "automobile,automotive,garage,service"
+                    "terms": "auto mechanic,automechanic,automobile,automotive,garage,inspection,oil change,service"
                 },
                 "shop/car": {
                     "name": "Car Dealership",
                     "name": "Coffee Store",
                     "terms": ""
                 },
+                "shop/collector": {
+                    "name": "Collectibles Shop",
+                    "terms": "antiques,coins,collection,collectors,comics,dolls,figurines,numismatics,philately,stamps,thrift"
+                },
                 "shop/computer": {
                     "name": "Computer Store",
                     "terms": "desktop,laptop,hardware,operating system,software"
                 },
                 "shop/craft": {
                     "name": "Arts & Crafts Store",
-                    "terms": "art*,paint*,frame"
+                    "terms": "art*,paint*,frame,hobby"
                 },
                 "shop/curtain": {
                     "name": "Curtain Store",
                 },
                 "shop/doityourself": {
                     "name": "DIY Store",
-                    "terms": ""
+                    "terms": "craft,diy,do it yourself,hardware,home improvement,tools"
                 },
                 "shop/doors": {
                     "name": "Door Shop",
                     "terms": "art*,paint*,photo*,frame"
                 },
                 "shop/frozen_food": {
-                    "name": "Frozen Food",
+                    "name": "Frozen Food Store",
                     "terms": ""
                 },
                 "shop/fuel": {
                 },
                 "shop/hardware": {
                     "name": "Hardware Store",
-                    "terms": ""
+                    "terms": "craft,diy,do it yourself,hardware,home improvement,tools"
                 },
                 "shop/health_food": {
                     "name": "Health Food Shop",
                     "name": "Hobby Shop",
                     "terms": "manga,figurine,model"
                 },
+                "shop/household_linen": {
+                    "name": "Household Linen Shop",
+                    "terms": "bedspreads,blankets,domestic cloths,curtains,handkerchieves,napkins,pillow cases,robes,sheets,towels"
+                },
                 "shop/houseware": {
                     "name": "Houseware Store",
                     "terms": "home,household,kitchenware"
                     "name": "Mobile Phone Store",
                     "terms": ""
                 },
+                "shop/model": {
+                    "name": "Model Shop",
+                    "terms": "hobby,model building,model figures,model kits,model store,scale models"
+                },
                 "shop/money_lender": {
                     "name": "Money Lender",
                     "terms": ""
                 },
                 "shop/music": {
                     "name": "Music Store",
-                    "terms": "tape casettes,CDs,compact discs,vinyl records"
+                    "terms": "tape cassettes,CDs,compact discs,vinyl records,CD store,casette,casette store"
                 },
                 "shop/musical_instrument": {
                     "name": "Musical Instrument Store",
                     "name": "Optician",
                     "terms": "eye,glasses"
                 },
-                "shop/organic": {
-                    "name": "Organic Goods Store",
-                    "terms": ""
-                },
                 "shop/outdoor": {
                     "name": "Outdoors Store",
                     "terms": "camping,climbing,hiking,outfitter,outdoor equipment,outdoor supplies"
                 },
                 "shop/scuba_diving": {
                     "name": "Scuba Diving Shop",
-                    "terms": "diving,scuba"
+                    "terms": "diving,scuba,snorkel"
                 },
                 "shop/seafood": {
                     "name": "Seafood Shop",
                     "name": "Sewing Supply Shop",
                     "terms": "haberdashery"
                 },
+                "shop/shoe_repair": {
+                    "name": "Shoe Repair Shop",
+                    "terms": "cobbler"
+                },
                 "shop/shoes": {
                     "name": "Shoe Store",
                     "terms": "boots,cleats,clogs,heels,loafers,oxfords,sneakers"
                 },
                 "shop/storage_rental": {
                     "name": "Storage Rental",
-                    "terms": "garages"
+                    "terms": "device storage,garages,self storage,self-service storage,storage lockers,storage rental,storage units"
                 },
                 "shop/supermarket": {
                     "name": "Supermarket",
-                    "terms": "grocery,store,shop"
+                    "terms": "grocery,store,shop,grocery store,market,food market"
+                },
+                "shop/supermarket/organic": {
+                    "name": "Organic Supermarket",
+                    "terms": "natural foods"
                 },
                 "shop/swimming_pool": {
                     "name": "Pool Supply Store",
                     "name": "Travel Agency",
                     "terms": "cruises,flights,hotels,tickets,travel packages"
                 },
+                "shop/trophy": {
+                    "name": "Trophy Shop",
+                    "terms": "awards,engravings,medals,plaques,trophy store"
+                },
                 "shop/tyres": {
                     "name": "Tire Store",
                     "terms": ""
                 },
                 "shop/video": {
                     "name": "Video Store",
-                    "terms": "DVD,VHS,video casette"
+                    "terms": "DVD,VHS,video cassette,video casette"
                 },
                 "shop/watches": {
                     "name": "Watches Shop",
                     "name": "Wholesale Store",
                     "terms": "warehouse club,cash and carry"
                 },
+                "shop/wigs": {
+                    "name": "Wig Shop",
+                    "terms": "hair extensions,hair extentions"
+                },
                 "shop/window_blind": {
                     "name": "Window Blind Store",
                     "terms": ""
                     "name": "Data Center",
                     "terms": "computer systems storage,information technology,server farm,the cloud,telecommunications"
                 },
+                "telecom/exchange": {
+                    "name": "Telecom Exchange",
+                    "terms": "telecommunications,telephone exchange,telephone switch"
+                },
                 "tourism/alpine_hut": {
                     "name": "Alpine Hut",
                     "terms": "cabin,climbing hut,lodge,lodging,overnight accommodations,wilderness hut"
                 },
                 "tourism/artwork/graffiti": {
                     "name": "Graffiti",
-                    "terms": "Street Artwork,Guerilla Artwork,Graffiti Artwork"
+                    "terms": "Street Artwork,Guerrilla Artwork,Guerilla Artwork,Graffiti Artwork"
                 },
                 "tourism/artwork/installation": {
                     "name": "Art Installation",
                     "name": "Information Board",
                     "terms": ""
                 },
+                "tourism/information/board/welcome_sign": {
+                    "name": "Welcome Sign",
+                    "terms": "new location"
+                },
                 "tourism/information/guidepost": {
                     "name": "Guidepost",
                     "terms": "signpost"
                     "terms": ""
                 },
                 "tourism/information/office": {
-                    "name": "Tourist Information Office",
-                    "terms": ""
+                    "name": "Visitor Center",
+                    "terms": "information office,tour guide,tourism office,tourist information center,visitors center,visitors information center,welcome center"
                 },
                 "tourism/information/route_marker": {
                     "name": "Trail Marker",
                     "name": "Speed Table",
                     "terms": "flat top,hump,speed,slow"
                 },
-                "traffic_sign_vertex": {
-                    "name": "Traffic Sign",
-                    "terms": "road,highway"
-                },
                 "traffic_sign": {
                     "name": "Traffic Sign",
                     "terms": "road,highway"
                 },
-                "traffic_sign/city_limit_vertex": {
-                    "name": "City Limit Sign",
-                    "terms": "town,village,hamlet,boundary,edge,border,road,highway"
-                },
                 "traffic_sign/city_limit": {
                     "name": "City Limit Sign",
                     "terms": "town,village,hamlet,boundary,edge,border,road,highway"
                 },
-                "traffic_sign/maxspeed_vertex": {
-                    "name": "Speed Limit Sign",
-                    "terms": "max speed,maximum speed,road,highway"
-                },
                 "traffic_sign/maxspeed": {
                     "name": "Speed Limit Sign",
                     "terms": "max speed,maximum speed,road,highway"
                     "name": "Lane Connectivity",
                     "terms": ""
                 },
+                "type/destination_sign": {
+                    "name": "Destination Sign",
+                    "terms": "exit sign"
+                },
                 "type/enforcement": {
                     "name": "Enforcement",
                     "terms": ""
                     "terms": ""
                 },
                 "type/route/foot": {
-                    "name": "Foot Route",
+                    "name": "Walking Route",
                     "terms": ""
                 },
                 "type/route/hiking": {
                     "name": "Tram Route",
                     "terms": ""
                 },
+                "type/route/trolleybus": {
+                    "name": "Trolleybus Route",
+                    "terms": ""
+                },
                 "type/site": {
                     "name": "Site",
                     "terms": ""
             },
             "MAPNIK": {
                 "attribution": {
-                    "text": "© OpenStreetMap contributors, CC-BY-SA"
+                    "text": "© OpenStreetMap contributors, CC-BY-SA 2.0"
                 },
                 "description": "The default OpenStreetMap layer.",
                 "name": "OpenStreetMap (Standard)"
                 "description": "Annotation overlay provided by basemap.at.",
                 "name": "basemap.at Overlay"
             },
-            "basemap.at-surface": {
-                "attribution": {
-                    "text": "basemap.at"
-                },
-                "description": "Surface layer provided by basemap.at.",
-                "name": "basemap.at Surface"
-            },
-            "basemap.at-terrain": {
-                "attribution": {
-                    "text": "basemap.at"
-                },
-                "description": "Terrain layer provided by basemap.at.",
-                "name": "basemap.at Terrain"
-            },
             "eufar-balaton": {
                 "attribution": {
                     "text": "EUFAR Balaton ortofotó 2010"
                 "attribution": {
                     "text": "GSI KIBAN 2500"
                 },
-                "description": "GSI Kiban 2500 via finds.jp. Good for tracing, but a bit older.",
+                "description": "GSI Kiban 2500 via aginfo.cgk.affrc.go.jp. Good for tracing, but a bit older.",
                 "name": "Japan GSI KIBAN 2500"
             },
             "gothenburg-citymap": {
                 "description": "The city map is an overview map that describes Gothenburg. It contains general information about land, communications, hydrography, buildings, address numbers and street names, administrative division and other orientation text.",
                 "name": "Gothenburg City map"
             },
-            "gsi.go.jp": {
+            "gothenburg-ortho": {
                 "attribution": {
-                    "text": "GSI Japan"
+                    "text": "© Gothenburg municipality, CC0"
                 },
-                "description": "Japan GSI ortho Imagery. Usually better than bing, but a bit older.",
-                "name": "Japan GSI ortho Imagery"
+                "description": "Orthophoto for Gothenburg municipality",
+                "name": "Gothenburg Orthophoto"
             },
             "gsi.go.jp_airphoto": {
                 "attribution": {
                 },
                 "name": "OpenPT Map (overlay)"
             },
+            "openrailwaymap": {
+                "attribution": {
+                    "text": "Rendering: OpenRailwayMap, © Map data OpenStreetMap contributors"
+                },
+                "description": "Overlay imagery showing railway infrastructure based on OpenStreetMap data",
+                "name": "OpenRailwayMap"
+            },
+            "openrailwaymap-maxspeeds": {
+                "attribution": {
+                    "text": "Rendering: OpenRailwayMap, © Map data OpenStreetMap contributors"
+                },
+                "description": "Overlay imagery showing railway speed limits based on OpenStreetMap data",
+                "name": "OpenRailwayMap Maxspeeds"
+            },
+            "openrailwaymap-signalling": {
+                "attribution": {
+                    "text": "Rendering: OpenRailwayMap, © Map data OpenStreetMap contributors"
+                },
+                "description": "Overlay imagery showing railway signals based on OpenStreetMap data",
+                "name": "OpenRailwayMap Signalling"
+            },
             "osm-gps": {
                 "attribution": {
                     "text": "© OpenStreetMap contributors"
                 "description": "Orthophotos from the municipality of Stockholm 2016, CC0 license",
                 "name": "Stockholm Orthophoto"
             },
+            "susono_shizuoka_jp_orthophoto": {
+                "attribution": {
+                    "text": "Susono city orthophoto"
+                },
+                "description": "The aerial photos released by Susono City as open data.",
+                "name": "Susono city orthophoto"
+            },
             "tf-cycle": {
                 "attribution": {
                     "text": "Maps © Thunderforest, Data © OpenStreetMap contributors"
                 },
                 "name": "Thunderforest Landscape"
             },
+            "tf-outdoors": {
+                "attribution": {
+                    "text": "Maps © Thunderforest, Data © OpenStreetMap contributors"
+                },
+                "name": "Thunderforest Outdoors"
+            },
             "trafikverket-baninfo": {
                 "attribution": {
                     "text": "© Trafikverket, CC0"
                 },
                 "description": "Swedish NVDB road network with several options for map layers",
                 "name": "Trafikverket Road Network options"
+            },
+            "wroclaw-orto2018": {
+                "attribution": {
+                    "text": "Urząd Miasta Wrocław"
+                },
+                "name": "Wrocław: Orthophotomap 2018 (aerial image)"
+            },
+            "Maxar-Premium": {
+                "name": "Maxar Premium Imagery (Beta)",
+                "attribution": {
+                    "text": "Terms & Feedback"
+                },
+                "description": "Maxar Premium is a mosaic composed of Maxar basemap with select regions filled with +Vivid or custom area of interest imagery, 50cm resolution or better, and refreshed more frequently with ongoing updates."
+            },
+            "Maxar-Standard": {
+                "name": "Maxar Standard Imagery (Beta)",
+                "attribution": {
+                    "text": "Terms & Feedback"
+                },
+                "description": "Maxar Standard is a curated set of imagery covering 86% of the earth’s landmass, with 30-60cm resolution where available, backfilled by Landsat. Average age is 2.31 years, with some areas updated 2x per year."
             }
         },
         "community": {
                 "name": "OpenStreetMap Galicia Twitter",
                 "description": "Follow us on Twitter at {url}"
             },
+            "Galicia-Xeoinquedos-Twitter": {
+                "name": "Geoinquetos on Twitter",
+                "description": "Follow us on Twitter at {url}"
+            },
             "GeoPhilly": {
                 "name": "GeoPhilly",
                 "description": "Meetup for map enthusiasts in the Philadelphia area",
                 "description": "Mappers and OpenStreetMap enthusiasts in the Twin Cities area",
                 "extendedDescription": "Connecting OpenStreetMap enthusiasts in Minnesota and the Twin Cities!"
             },
-            "Mapping-DC-meetup": {
-                "name": "Mapping DC",
+            "MappingDC-meetup": {
+                "name": "MappingDC",
                 "description": "Improve OpenStreetMap in the DC area",
                 "extendedDescription": "We are a group of volunteer mappers who aim to improve the OpenStreetMap in the DC area. We also aim to teach others about the OSM ecosystem, data analytics, cartography, and GIS. We gather every other month at meetups to focus on one area of our city."
             },
                 "name": "OSM Cuba on Telegram",
                 "description": "OpenStreetMap Cuba Telegram chat"
             },
-            "OSM-CZ-telegram": {
-                "name": "OpenStreetMap CZ Telegram",
-                "description": "A Telegram group for the OSM Czech community: {url}"
-            },
             "OSM-Central-Salish-Sea": {
                 "name": "OpenStreetMap Central Salish Sea",
                 "description": "Mappers and OpenStreetMap users around Mount Vernon, WA",
             },
             "OSM-MY-matrix": {
                 "name": "OpenStreetMap Malaysia Riot channel",
-                "description": "All mappers are welcome! Sign up at {signupUrl}"
+                "description": "All mappers are welcome! Sign up at {url}"
             },
             "OSM-Nepal-facebook": {
                 "name": "OpenStreetMap Nepal",
                 "name": "OpenStreetMap Poland Forum",
                 "description": "Forum of Polish OpenStreetMap community"
             },
+            "OSM-PL-github": {
+                "name": "OpenStreetMap Polska on GitHub",
+                "description": "GitHub organization for Polish OpenStreetMap community"
+            },
             "OSM-PY-telegram": {
                 "name": "OSM Paraguay on Telegram",
                 "description": "OpenStreetMap Paraguay Telegram chat"
                 "description": "Mappers and OpenStreetMap users in the Salt Lake City area",
                 "extendedDescription": "Activities may include things like Learn To Map workshops, mapping parties and outdoor data collection. The events will take place in the SLC area, at least initially.  We are looking for seasoned mappers as well as people new to OSM. Join and let's do some mapping!"
             },
-            "OSM-Vancouver-meetup": {
-                "name": "OpenStreetMap Vancouver",
-                "description": "Mappers and OpenStreetMap users in the Vancouver, BC area"
-            },
             "OSM-Wyoming": {
                 "name": "OpenStreetMap Wyoming",
                 "description": "Mappers and OpenStreetMap users in the state of Wyoming",
                 "name": "OpenStreetMap Japan Mailinglist",
                 "description": "Talk-ja is an Official Mailinglist for Japanese Community"
             },
+            "OSM-japan-slack": {
+                "name": "OpenStreetMap Japan Slack",
+                "description": "A Slack workspace for the OSM Japan community {signupUrl}"
+            },
             "OSM-japan-twitter": {
                 "name": "OpenStreetMap Japan Twitter",
                 "description": "Hashtag on Twitter: {url}"
                 "name": "OpenStreetMap Berlin Twitter",
                 "description": "Follow us on Twitter: {url}"
             },
+            "de-berlin-xmpp": {
+                "name": "OpenStreetMap Berlin-Brandenburg XMPP",
+                "description": "Join our XMPP Multi-User Chat: {url}"
+            },
             "de-forum": {
                 "name": "OpenStreetMap DE forum",
                 "description": "OpenStreetMap Germany web forum"
                 "name": "OpenStreetMap Germany IRC",
                 "description": "Join #osm-de on irc.oftc.net (port 6667)"
             },
+            "de-karlsruhe-mailinglist": {
+                "name": "Karlsruhe Mailing List",
+                "description": "This is the mailing list for the OSM community of Karlsruhe area"
+            },
+            "de-karlsruhe-meetup": {
+                "name": "OpenStreetMap Karlsruhe Meetup",
+                "description": "Mappers and OpenStreetMap users in the Karlsruhe area"
+            },
             "de-mailinglist": {
                 "name": "Talk-de Mailing List",
                 "description": "Talk-de is the official mailing list for the German OSM community"
             },
             "de-matrix": {
                 "name": "OpenStreetMap Germany Matrix",
-                "description": "Join #osm-de:matrix.org at https://riot.im/app/#/room/%23osm-de:matrix.org"
+                "description": "Join #osm-de:matrix.org at {url}"
+            },
+            "de-mv-mailinglist": {
+                "name": "Mecklenburg-Vorpommern Mailing List",
+                "description": "This is the mailing list for the OSM community of Mecklenburg-Vorpommern"
+            },
+            "de-mv-twitter": {
+                "name": "OpenStreetMap Mecklenburg-Vorpommern Twitter",
+                "description": "Follow us on Twitter: {url}"
             },
             "de-ostwestfalen-lippe-mailinglist": {
                 "name": "OWL Mailing List",
                 "description": "This is the mailing list for the Ostwestfalen-Lippe OSM community"
             },
+            "de-stuttgart-mailinglist": {
+                "name": "Stuttgart and Baden-Wuerttemberg Mailing List",
+                "description": "This is the mailing list for the OSM community of Stuttgart and whole Baden-Wuerttemberg"
+            },
+            "de-stuttgart-meetup": {
+                "name": "OpenStreetMap Stuttgart Meetup",
+                "description": "Mappers and OpenStreetMap users in the Stuttgart area"
+            },
             "de-telegram": {
                 "name": "OpenStreetMap Germany Telegram",
                 "description": "Join the OpenStreetMap Germany Telegram supergroup at {url}"
             },
+            "de-ulm_neuulm-meetup": {
+                "name": "OpenStreetMap Ulm Neu-Ulm Meetup",
+                "description": "Mappers and OpenStreetMap users in the Ulm and Neu-Ulm area"
+            },
+            "de-ulmeralb-meetup": {
+                "name": "OpenStreetMap Ulmer Alb Meetup",
+                "description": "Mappers and OpenStreetMap users in the Ulmer Alb area"
+            },
             "de-viersen-meetup": {
                 "name": "OpenStreetMap Viersen Meetup",
                 "description": "OSM community and users meetup Kreis Viersen and Mönchengladbach"
                 "name": "Talk-fi Mailing List",
                 "description": "Talk-fi is the official mailing list for the Finnish OSM community"
             },
+            "fr-35-wiki": {
+                "name": "OpenStreetMap Rennes Wiki page",
+                "description": "Wiki page of Rennes OSM local group"
+            },
+            "fr-38-wiki": {
+                "name": "OpenStreetMap Grenoble Wiki page",
+                "description": "Wiki page of Grenoble OSM local group"
+            },
+            "fr-bzh-mailinglist": {
+                "name": "Talk-fr-bzh Mailing List",
+                "description": "Talk-fr-bzh mailing list"
+            },
+            "fr-bzh-twitter": {
+                "name": "OSM-BZH on Twitter",
+                "description": "OpenStreetMap BZH on Twitter: {url}"
+            },
+            "fr-bzh-website": {
+                "name": "OpenStreetMap BZH Website",
+                "description": "The map which speaks Breton"
+            },
             "fr-chapter": {
                 "name": "OpenStreetMap France Local Chapter",
                 "description": "We help grow and improve OpenStreetMap in France."
                 "name": "OpenStreetMap France on Twitter",
                 "description": "OpenStreetMap France on Twitter: {url}"
             },
+            "fr-xmpp": {
+                "name": "OpenStreetMap France on XMPP",
+                "description": "Join osm-fr@chat.jabberfr.org"
+            },
             "galicia-wiki": {
                 "name": "OpenStreetMap Wikiproject Galicia",
                 "description": "Everything you need to know about mapping in Galicia: {url}"
                 "name": "GeoGeeks Perth Meetup",
                 "description": "Perth-based meetup group for people interested in mapping, geospatial data, and open source. We'll be working on anything that involves a sense of place."
             },
+            "gr-forum": {
+                "name": "OpenStreetMap GR forum",
+                "description": "OpenStreetMap Greece web forum"
+            },
+            "gr-mailinglist": {
+                "name": "Talk-gr Mailing List",
+                "description": "Talk-gr is the official mailing list for the Greek OSM community"
+            },
+            "gr-matrix": {
+                "name": "OpenStreetMap Greece Matrix",
+                "description": "Join #osm-gr:matrix.org at {url}"
+            },
             "guatemala-telegram": {
                 "name": "OSM Guatemala on Telegram",
                 "description": "OpenStreetMap Guatemala Telegram chat"
                 "name": "OpenStreetMap Croatia Facebook group",
                 "description": "OpenStreetMap Croatia Facebook group"
             },
+            "hr-forum": {
+                "name": "OSM Croatia Forum",
+                "description": "OpenStreetMap Croatia Forum"
+            },
             "hr-irc": {
                 "name": "OpenStreetMap Croatia on IRC",
                 "description": "Join #osm-hr on irc.freenode.org (port 6667)"
                 "name": "Talk-hr Mailing List",
                 "description": "Talk-hr mailing list"
             },
+            "hr-wiki": {
+                "name": "OpenStreetMap Wikiproject Croatia",
+                "description": "Wikiproject page for Croatia"
+            },
             "hu-facebook": {
                 "name": "OpenStreetMap HU on Facebook",
                 "description": "Mappers and OpenStreetMap Facebook in Hungary"
                 "name": "OpenStreetMap Wikiproject Latin America",
                 "description": "Everything you need to know about mapping in Latin America"
             },
+            "lombardia-telegram": {
+                "name": "OpenStreetMap Lombardia Mappers",
+                "description": "OpenStreetMap Lombardia Telegram chat"
+            },
+            "lu-github": {
+                "name": "OpenStreetMap LU on GitHub",
+                "description": "Everyone is welcome!",
+                "extendedDescription": "OSM Luxembourg on GitHub"
+            },
+            "lu-irc": {
+                "name": "OpenStreetMap LU IRC channel",
+                "description": "Join #osm-lu on irc.oftc.net (port 6667).",
+                "extendedDescription": "Feel free to join our IRC Room, it is bridged with Matrix. Let's bring the community together."
+            },
             "lu-mailinglist": {
                 "name": "Talk-lu Mailing List",
                 "description": "Official mailing list for the Luxembourgish OSM community"
             },
+            "lu-matrix": {
+                "name": "OpenStreetMap LU Matrix channel",
+                "description": "Everyone is welcome!",
+                "extendedDescription": "Feel free to join our Matrix Chat Room! Let's bring the community together."
+            },
             "mailinglist-sk-googlegroups": {
                 "name": "Slovak mailing list on google groups",
                 "description": "Official mailing list for Slovak community"
                 "name": "@OSMMoldova on Telegram",
                 "description": "OpenStreetMap Moldova Telegram chat"
             },
+            "mt-irc": {
+                "name": "OpenStreetMap Malta IRC",
+                "description": "Join #osm-mt on irc.oftc.net (port 6667)",
+                "extendedDescription": "Join #osm-mt on irc.oftc.net (port 6667), please be patient and wait for a few minutes if you ask a question"
+            },
             "ni-facebook": {
                 "name": "OpenStreetMap NI Community",
                 "description": "Mappers and OpenStreetMap on Facebook in Nicaragua"
                 "name": "OpenStreetMap Ghana on Twitter",
                 "description": "Follow us on Twitter: {url}"
             },
+            "osm-hr": {
+                "name": "OpenStreetMap Croatia",
+                "description": "The platform for information on OpenStreetMap in Croatia"
+            },
             "osm-india-forum": {
                 "name": "OpenStreetMap India forum",
                 "description": "OpenStreetMap India web forum"
                 "name": "OpenStreetMap Freemap Slovensko on Twitter",
                 "description": "OpenStreetMap Freemap Slovensko on Twitter: {url}"
             },
+            "talk-africa": {
+                "name": "Talk-africa Mailing List",
+                "description": "Talk-africa is the official mailing list for the African OSM community."
+            },
             "talk-au": {
                 "name": "Talk-au Mailing List",
                 "description": "Place for Aussie mappers to chat"
                 "description": "All are welcome! Sign up at {signupUrl}",
                 "extendedDescription": "Mailinglist for Rome and Lazio area."
             },
+            "talk-it-lombardia_mailinglist": {
+                "name": "OSM Italy regional talk list for Lombardia",
+                "description": "All are welcome! Sign up at {signupUrl}",
+                "extendedDescription": "Mailinglist for Lombardia region."
+            },
             "talk-it-piemonte_mailinglist": {
                 "name": "OSM Italy regional talk list for Piemonte",
                 "description": "All are welcome! Sign up at {signupUrl}",
                 "name": "Talk-nz Mailing List",
                 "description": "New Zealand's OSM community talk"
             },
+            "talk-tz": {
+                "name": "Talk-tz Mailing List",
+                "description": "Talk-tz is the official mailing list for the Tanzanian OSM community."
+            },
             "talk-za": {
                 "name": "Talk-za Mailing List",
                 "description": "Talk-za is the official mailing list for South African OSM community."
                 "description": "YouthMappers chapter at Yarmouk University",
                 "extendedDescription": "YouthMappers chapter at YU is the first mapping group in the Middle East and North Africa region where refugees, drought, and poverty are rising crises and in urgent need for humanitarian mapping  activities to mitigate the consequences of such crises. YU Mappers are encouraged to use open data to address challenges in MENA region to bring relief and development to target areas within the region."
             }
+        },
+        "languageNames": {
+            "aa": "Afar",
+            "ab": "Abkhazian",
+            "ace": "Achinese",
+            "ach": "Acoli",
+            "ada": "Adangme",
+            "ady": "Adyghe",
+            "ae": "Avestan",
+            "aeb": "Tunisian Arabic",
+            "af": "Afrikaans",
+            "afh": "Afrihili",
+            "agq": "Aghem",
+            "ain": "Ainu",
+            "ak": "Akan",
+            "akk": "Akkadian",
+            "akz": "Alabama",
+            "ale": "Aleut",
+            "aln": "Gheg Albanian",
+            "alt": "Southern Altai",
+            "am": "Amharic",
+            "an": "Aragonese",
+            "ang": "Old English",
+            "anp": "Angika",
+            "ar": "Arabic",
+            "ar-001": "Modern Standard Arabic",
+            "arc": "Aramaic",
+            "arn": "Mapuche",
+            "aro": "Araona",
+            "arp": "Arapaho",
+            "arq": "Algerian Arabic",
+            "ars": "Najdi Arabic",
+            "arw": "Arawak",
+            "ary": "Moroccan Arabic",
+            "arz": "Egyptian Arabic",
+            "as": "Assamese",
+            "asa": "Asu",
+            "ase": "American Sign Language",
+            "ast": "Asturian",
+            "av": "Avaric",
+            "avk": "Kotava",
+            "awa": "Awadhi",
+            "ay": "Aymara",
+            "az": "Azerbaijani",
+            "ba": "Bashkir",
+            "bal": "Baluchi",
+            "ban": "Balinese",
+            "bar": "Bavarian",
+            "bas": "Basaa",
+            "bax": "Bamun",
+            "bbc": "Batak Toba",
+            "bbj": "Ghomala",
+            "be": "Belarusian",
+            "bej": "Beja",
+            "bem": "Bemba",
+            "bew": "Betawi",
+            "bez": "Bena",
+            "bfd": "Bafut",
+            "bfq": "Badaga",
+            "bg": "Bulgarian",
+            "bgn": "Western Balochi",
+            "bho": "Bhojpuri",
+            "bi": "Bislama",
+            "bik": "Bikol",
+            "bin": "Bini",
+            "bjn": "Banjar",
+            "bkm": "Kom",
+            "bla": "Siksika",
+            "bm": "Bambara",
+            "bn": "Bangla",
+            "bo": "Tibetan",
+            "bpy": "Bishnupriya",
+            "bqi": "Bakhtiari",
+            "br": "Breton",
+            "bra": "Braj",
+            "brh": "Brahui",
+            "brx": "Bodo",
+            "bs": "Bosnian",
+            "bss": "Akoose",
+            "bua": "Buriat",
+            "bug": "Buginese",
+            "bum": "Bulu",
+            "byn": "Blin",
+            "byv": "Medumba",
+            "ca": "Catalan",
+            "cad": "Caddo",
+            "car": "Carib",
+            "cay": "Cayuga",
+            "cch": "Atsam",
+            "ccp": "Chakma",
+            "ce": "Chechen",
+            "ceb": "Cebuano",
+            "cgg": "Chiga",
+            "ch": "Chamorro",
+            "chb": "Chibcha",
+            "chg": "Chagatai",
+            "chk": "Chuukese",
+            "chm": "Mari",
+            "chn": "Chinook Jargon",
+            "cho": "Choctaw",
+            "chp": "Chipewyan",
+            "chr": "Cherokee",
+            "chy": "Cheyenne",
+            "cic": "Chickasaw",
+            "ckb": "Central Kurdish",
+            "co": "Corsican",
+            "cop": "Coptic",
+            "cps": "Capiznon",
+            "cr": "Cree",
+            "crh": "Crimean Turkish",
+            "crs": "Seselwa Creole French",
+            "cs": "Czech",
+            "csb": "Kashubian",
+            "cu": "Church Slavic",
+            "cv": "Chuvash",
+            "cy": "Welsh",
+            "da": "Danish",
+            "dak": "Dakota",
+            "dar": "Dargwa",
+            "dav": "Taita",
+            "de": "German",
+            "de-AT": "Austrian German",
+            "de-CH": "Swiss High German",
+            "del": "Delaware",
+            "den": "Slave",
+            "dgr": "Dogrib",
+            "din": "Dinka",
+            "dje": "Zarma",
+            "doi": "Dogri",
+            "dsb": "Lower Sorbian",
+            "dtp": "Central Dusun",
+            "dua": "Duala",
+            "dum": "Middle Dutch",
+            "dv": "Divehi",
+            "dyo": "Jola-Fonyi",
+            "dyu": "Dyula",
+            "dz": "Dzongkha",
+            "dzg": "Dazaga",
+            "ebu": "Embu",
+            "ee": "Ewe",
+            "efi": "Efik",
+            "egl": "Emilian",
+            "egy": "Ancient Egyptian",
+            "eka": "Ekajuk",
+            "el": "Greek",
+            "elx": "Elamite",
+            "en": "English",
+            "en-AU": "Australian English",
+            "en-CA": "Canadian English",
+            "en-GB": "British English",
+            "en-US": "American English",
+            "enm": "Middle English",
+            "eo": "Esperanto",
+            "es": "Spanish",
+            "es-419": "Latin American Spanish",
+            "es-ES": "European Spanish",
+            "es-MX": "Mexican Spanish",
+            "esu": "Central Yupik",
+            "et": "Estonian",
+            "eu": "Basque",
+            "ewo": "Ewondo",
+            "ext": "Extremaduran",
+            "fa": "Persian",
+            "fa-AF": "Dari",
+            "fan": "Fang",
+            "fat": "Fanti",
+            "ff": "Fulah",
+            "fi": "Finnish",
+            "fil": "Filipino",
+            "fit": "Tornedalen Finnish",
+            "fj": "Fijian",
+            "fo": "Faroese",
+            "fon": "Fon",
+            "fr": "French",
+            "fr-CA": "Canadian French",
+            "fr-CH": "Swiss French",
+            "frc": "Cajun French",
+            "frm": "Middle French",
+            "fro": "Old French",
+            "frp": "Arpitan",
+            "frr": "Northern Frisian",
+            "frs": "Eastern Frisian",
+            "fur": "Friulian",
+            "fy": "Western Frisian",
+            "ga": "Irish",
+            "gaa": "Ga",
+            "gag": "Gagauz",
+            "gan": "Gan Chinese",
+            "gay": "Gayo",
+            "gba": "Gbaya",
+            "gbz": "Zoroastrian Dari",
+            "gd": "Scottish Gaelic",
+            "gez": "Geez",
+            "gil": "Gilbertese",
+            "gl": "Galician",
+            "glk": "Gilaki",
+            "gmh": "Middle High German",
+            "gn": "Guarani",
+            "goh": "Old High German",
+            "gom": "Goan Konkani",
+            "gon": "Gondi",
+            "gor": "Gorontalo",
+            "got": "Gothic",
+            "grb": "Grebo",
+            "grc": "Ancient Greek",
+            "gsw": "Swiss German",
+            "gu": "Gujarati",
+            "guc": "Wayuu",
+            "gur": "Frafra",
+            "guz": "Gusii",
+            "gv": "Manx",
+            "gwi": "Gwichʼin",
+            "ha": "Hausa",
+            "hai": "Haida",
+            "hak": "Hakka Chinese",
+            "haw": "Hawaiian",
+            "he": "Hebrew",
+            "hi": "Hindi",
+            "hif": "Fiji Hindi",
+            "hil": "Hiligaynon",
+            "hit": "Hittite",
+            "hmn": "Hmong",
+            "ho": "Hiri Motu",
+            "hr": "Croatian",
+            "hsb": "Upper Sorbian",
+            "hsn": "Xiang Chinese",
+            "ht": "Haitian Creole",
+            "hu": "Hungarian",
+            "hup": "Hupa",
+            "hy": "Armenian",
+            "hz": "Herero",
+            "ia": "Interlingua",
+            "iba": "Iban",
+            "ibb": "Ibibio",
+            "id": "Indonesian",
+            "ie": "Interlingue",
+            "ig": "Igbo",
+            "ii": "Sichuan Yi",
+            "ik": "Inupiaq",
+            "ilo": "Iloko",
+            "inh": "Ingush",
+            "io": "Ido",
+            "is": "Icelandic",
+            "it": "Italian",
+            "iu": "Inuktitut",
+            "izh": "Ingrian",
+            "ja": "Japanese",
+            "jam": "Jamaican Creole English",
+            "jbo": "Lojban",
+            "jgo": "Ngomba",
+            "jmc": "Machame",
+            "jpr": "Judeo-Persian",
+            "jrb": "Judeo-Arabic",
+            "jut": "Jutish",
+            "jv": "Javanese",
+            "ka": "Georgian",
+            "kaa": "Kara-Kalpak",
+            "kab": "Kabyle",
+            "kac": "Kachin",
+            "kaj": "Jju",
+            "kam": "Kamba",
+            "kaw": "Kawi",
+            "kbd": "Kabardian",
+            "kbl": "Kanembu",
+            "kcg": "Tyap",
+            "kde": "Makonde",
+            "kea": "Kabuverdianu",
+            "ken": "Kenyang",
+            "kfo": "Koro",
+            "kg": "Kongo",
+            "kgp": "Kaingang",
+            "kha": "Khasi",
+            "kho": "Khotanese",
+            "khq": "Koyra Chiini",
+            "khw": "Khowar",
+            "ki": "Kikuyu",
+            "kiu": "Kirmanjki",
+            "kj": "Kuanyama",
+            "kk": "Kazakh",
+            "kkj": "Kako",
+            "kl": "Kalaallisut",
+            "kln": "Kalenjin",
+            "km": "Khmer",
+            "kmb": "Kimbundu",
+            "kn": "Kannada",
+            "ko": "Korean",
+            "koi": "Komi-Permyak",
+            "kok": "Konkani",
+            "kos": "Kosraean",
+            "kpe": "Kpelle",
+            "kr": "Kanuri",
+            "krc": "Karachay-Balkar",
+            "kri": "Krio",
+            "krj": "Kinaray-a",
+            "krl": "Karelian",
+            "kru": "Kurukh",
+            "ks": "Kashmiri",
+            "ksb": "Shambala",
+            "ksf": "Bafia",
+            "ksh": "Colognian",
+            "ku": "Kurdish",
+            "kum": "Kumyk",
+            "kut": "Kutenai",
+            "kv": "Komi",
+            "kw": "Cornish",
+            "ky": "Kyrgyz",
+            "la": "Latin",
+            "lad": "Ladino",
+            "lag": "Langi",
+            "lah": "Lahnda",
+            "lam": "Lamba",
+            "lb": "Luxembourgish",
+            "lez": "Lezghian",
+            "lfn": "Lingua Franca Nova",
+            "lg": "Ganda",
+            "li": "Limburgish",
+            "lij": "Ligurian",
+            "liv": "Livonian",
+            "lkt": "Lakota",
+            "lmo": "Lombard",
+            "ln": "Lingala",
+            "lo": "Lao",
+            "lol": "Mongo",
+            "lou": "Louisiana Creole",
+            "loz": "Lozi",
+            "lrc": "Northern Luri",
+            "lt": "Lithuanian",
+            "ltg": "Latgalian",
+            "lu": "Luba-Katanga",
+            "lua": "Luba-Lulua",
+            "lui": "Luiseno",
+            "lun": "Lunda",
+            "luo": "Luo",
+            "lus": "Mizo",
+            "luy": "Luyia",
+            "lv": "Latvian",
+            "lzh": "Literary Chinese",
+            "lzz": "Laz",
+            "mad": "Madurese",
+            "maf": "Mafa",
+            "mag": "Magahi",
+            "mai": "Maithili",
+            "mak": "Makasar",
+            "man": "Mandingo",
+            "mas": "Masai",
+            "mde": "Maba",
+            "mdf": "Moksha",
+            "mdr": "Mandar",
+            "men": "Mende",
+            "mer": "Meru",
+            "mfe": "Morisyen",
+            "mg": "Malagasy",
+            "mga": "Middle Irish",
+            "mgh": "Makhuwa-Meetto",
+            "mgo": "Metaʼ",
+            "mh": "Marshallese",
+            "mi": "Maori",
+            "mic": "Mi'kmaq",
+            "min": "Minangkabau",
+            "mk": "Macedonian",
+            "ml": "Malayalam",
+            "mn": "Mongolian",
+            "mnc": "Manchu",
+            "mni": "Manipuri",
+            "moh": "Mohawk",
+            "mos": "Mossi",
+            "mr": "Marathi",
+            "mrj": "Western Mari",
+            "ms": "Malay",
+            "mt": "Maltese",
+            "mua": "Mundang",
+            "mus": "Muscogee",
+            "mwl": "Mirandese",
+            "mwr": "Marwari",
+            "mwv": "Mentawai",
+            "my": "Burmese",
+            "mye": "Myene",
+            "myv": "Erzya",
+            "mzn": "Mazanderani",
+            "na": "Nauru",
+            "nan": "Min Nan Chinese",
+            "nap": "Neapolitan",
+            "naq": "Nama",
+            "nb": "Norwegian Bokmål",
+            "nd": "North Ndebele",
+            "nds": "Low German",
+            "nds-NL": "Low Saxon",
+            "ne": "Nepali",
+            "new": "Newari",
+            "ng": "Ndonga",
+            "nia": "Nias",
+            "niu": "Niuean",
+            "njo": "Ao Naga",
+            "nl": "Dutch",
+            "nl-BE": "Flemish",
+            "nmg": "Kwasio",
+            "nn": "Norwegian Nynorsk",
+            "nnh": "Ngiemboon",
+            "no": "Norwegian",
+            "nog": "Nogai",
+            "non": "Old Norse",
+            "nov": "Novial",
+            "nqo": "N’Ko",
+            "nr": "South Ndebele",
+            "nso": "Northern Sotho",
+            "nus": "Nuer",
+            "nv": "Navajo",
+            "nwc": "Classical Newari",
+            "ny": "Nyanja",
+            "nym": "Nyamwezi",
+            "nyn": "Nyankole",
+            "nyo": "Nyoro",
+            "nzi": "Nzima",
+            "oc": "Occitan",
+            "oj": "Ojibwa",
+            "om": "Oromo",
+            "or": "Odia",
+            "os": "Ossetic",
+            "osa": "Osage",
+            "ota": "Ottoman Turkish",
+            "pa": "Punjabi",
+            "pag": "Pangasinan",
+            "pal": "Pahlavi",
+            "pam": "Pampanga",
+            "pap": "Papiamento",
+            "pau": "Palauan",
+            "pcd": "Picard",
+            "pcm": "Nigerian Pidgin",
+            "pdc": "Pennsylvania German",
+            "pdt": "Plautdietsch",
+            "peo": "Old Persian",
+            "pfl": "Palatine German",
+            "phn": "Phoenician",
+            "pi": "Pali",
+            "pl": "Polish",
+            "pms": "Piedmontese",
+            "pnt": "Pontic",
+            "pon": "Pohnpeian",
+            "prg": "Prussian",
+            "pro": "Old Provençal",
+            "ps": "Pashto",
+            "pt": "Portuguese",
+            "pt-BR": "Brazilian Portuguese",
+            "pt-PT": "European Portuguese",
+            "qu": "Quechua",
+            "quc": "Kʼicheʼ",
+            "qug": "Chimborazo Highland Quichua",
+            "raj": "Rajasthani",
+            "rap": "Rapanui",
+            "rar": "Rarotongan",
+            "rgn": "Romagnol",
+            "rif": "Riffian",
+            "rm": "Romansh",
+            "rn": "Rundi",
+            "ro": "Romanian",
+            "ro-MD": "Moldavian",
+            "rof": "Rombo",
+            "rom": "Romany",
+            "root": "Root",
+            "rtm": "Rotuman",
+            "ru": "Russian",
+            "rue": "Rusyn",
+            "rug": "Roviana",
+            "rup": "Aromanian",
+            "rw": "Kinyarwanda",
+            "rwk": "Rwa",
+            "sa": "Sanskrit",
+            "sad": "Sandawe",
+            "sah": "Sakha",
+            "sam": "Samaritan Aramaic",
+            "saq": "Samburu",
+            "sas": "Sasak",
+            "sat": "Santali",
+            "saz": "Saurashtra",
+            "sba": "Ngambay",
+            "sbp": "Sangu",
+            "sc": "Sardinian",
+            "scn": "Sicilian",
+            "sco": "Scots",
+            "sd": "Sindhi",
+            "sdc": "Sassarese Sardinian",
+            "sdh": "Southern Kurdish",
+            "se": "Northern Sami",
+            "see": "Seneca",
+            "seh": "Sena",
+            "sei": "Seri",
+            "sel": "Selkup",
+            "ses": "Koyraboro Senni",
+            "sg": "Sango",
+            "sga": "Old Irish",
+            "sgs": "Samogitian",
+            "sh": "Serbo-Croatian",
+            "shi": "Tachelhit",
+            "shn": "Shan",
+            "shu": "Chadian Arabic",
+            "si": "Sinhala",
+            "sid": "Sidamo",
+            "sk": "Slovak",
+            "sl": "Slovenian",
+            "sli": "Lower Silesian",
+            "sly": "Selayar",
+            "sm": "Samoan",
+            "sma": "Southern Sami",
+            "smj": "Lule Sami",
+            "smn": "Inari Sami",
+            "sms": "Skolt Sami",
+            "sn": "Shona",
+            "snk": "Soninke",
+            "so": "Somali",
+            "sog": "Sogdien",
+            "sq": "Albanian",
+            "sr": "Serbian",
+            "sr-ME": "Montenegrin",
+            "srn": "Sranan Tongo",
+            "srr": "Serer",
+            "ss": "Swati",
+            "ssy": "Saho",
+            "st": "Southern Sotho",
+            "stq": "Saterland Frisian",
+            "su": "Sundanese",
+            "suk": "Sukuma",
+            "sus": "Susu",
+            "sux": "Sumerian",
+            "sv": "Swedish",
+            "sw": "Swahili",
+            "sw-CD": "Congo Swahili",
+            "swb": "Comorian",
+            "syc": "Classical Syriac",
+            "syr": "Syriac",
+            "szl": "Silesian",
+            "ta": "Tamil",
+            "tcy": "Tulu",
+            "te": "Telugu",
+            "tem": "Timne",
+            "teo": "Teso",
+            "ter": "Tereno",
+            "tet": "Tetum",
+            "tg": "Tajik",
+            "th": "Thai",
+            "ti": "Tigrinya",
+            "tig": "Tigre",
+            "tiv": "Tiv",
+            "tk": "Turkmen",
+            "tkl": "Tokelau",
+            "tkr": "Tsakhur",
+            "tl": "Tagalog",
+            "tlh": "Klingon",
+            "tli": "Tlingit",
+            "tly": "Talysh",
+            "tmh": "Tamashek",
+            "tn": "Tswana",
+            "to": "Tongan",
+            "tog": "Nyasa Tonga",
+            "tpi": "Tok Pisin",
+            "tr": "Turkish",
+            "tru": "Turoyo",
+            "trv": "Taroko",
+            "ts": "Tsonga",
+            "tsd": "Tsakonian",
+            "tsi": "Tsimshian",
+            "tt": "Tatar",
+            "ttt": "Muslim Tat",
+            "tum": "Tumbuka",
+            "tvl": "Tuvalu",
+            "tw": "Twi",
+            "twq": "Tasawaq",
+            "ty": "Tahitian",
+            "tyv": "Tuvinian",
+            "tzm": "Central Atlas Tamazight",
+            "udm": "Udmurt",
+            "ug": "Uyghur",
+            "uga": "Ugaritic",
+            "uk": "Ukrainian",
+            "umb": "Umbundu",
+            "ur": "Urdu",
+            "uz": "Uzbek",
+            "vai": "Vai",
+            "ve": "Venda",
+            "vec": "Venetian",
+            "vep": "Veps",
+            "vi": "Vietnamese",
+            "vls": "West Flemish",
+            "vmf": "Main-Franconian",
+            "vo": "Volapük",
+            "vot": "Votic",
+            "vro": "Võro",
+            "vun": "Vunjo",
+            "wa": "Walloon",
+            "wae": "Walser",
+            "wal": "Wolaytta",
+            "war": "Waray",
+            "was": "Washo",
+            "wbp": "Warlpiri",
+            "wo": "Wolof",
+            "wuu": "Wu Chinese",
+            "xal": "Kalmyk",
+            "xh": "Xhosa",
+            "xmf": "Mingrelian",
+            "xog": "Soga",
+            "yao": "Yao",
+            "yap": "Yapese",
+            "yav": "Yangben",
+            "ybb": "Yemba",
+            "yi": "Yiddish",
+            "yo": "Yoruba",
+            "yrl": "Nheengatu",
+            "yue": "Cantonese",
+            "za": "Zhuang",
+            "zap": "Zapotec",
+            "zbl": "Blissymbols",
+            "zea": "Zeelandic",
+            "zen": "Zenaga",
+            "zgh": "Standard Moroccan Tamazight",
+            "zh": "Mandarin Chinese",
+            "zh-Hans": "Simplified Mandarin Chinese",
+            "zh-Hant": "Traditional Mandarin Chinese",
+            "zu": "Zulu",
+            "zun": "Zuni",
+            "zza": "Zaza"
+        },
+        "scriptNames": {
+            "Cyrl": "Cyrillic",
+            "Latn": "Latin",
+            "Arab": "Arabic",
+            "Guru": "Gurmukhi",
+            "Tfng": "Tifinagh",
+            "Vaii": "Vai",
+            "Hans": "Simplified",
+            "Hant": "Traditional"
         }
     }
 }
\ No newline at end of file