diff --git a/data/core.yaml b/data/core.yaml index 4c559e3ce..b1f38a03e 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -1467,11 +1467,21 @@ en: 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." - reverse: "The {reverse_icon} **{reverse}** operation changes the direction of features like one-way roads, traffic signs, streams, and cliffs." - disconnect: "The {disconnect_icon} **{disconnect}** operation separates connected features from each other." - merge: "The {merge_icon} **{merge}** operation combines multiple features into one." - split: "The {split_icon} **{split}** operation divides lines at the selected point. This is useful when you want to set different attributes on different parts of a line." - extract: "The {extract_icon} **{extract}** operation creates a point out of a line or area. This can be used to separate points of interest from buildings." + 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, open the {data_icon} **{map_data}** panel and enable the {osm_notes} layer." diff --git a/modules/ui/intro/helper.js b/modules/ui/intro/helper.js index 5f9b1b570..9e1f72e2b 100644 --- a/modules/ui/intro/helper.js +++ b/modules/ui/intro/helper.js @@ -57,15 +57,6 @@ export function helpHtml(id, replacements) { note_icon: icon('#iD-icon-note', 'inline add-note'), plus: icon('#iD-icon-plus', 'inline'), minus: icon('#iD-icon-minus', 'inline'), - move_icon: icon('#iD-operation-move', 'inline operation'), - merge_icon: icon('#iD-operation-merge', 'inline operation'), - delete_icon: icon('#iD-operation-delete', 'inline operation'), - circularize_icon: icon('#iD-operation-circularize', 'inline operation'), - split_icon: icon('#iD-operation-split', 'inline operation'), - orthogonalize_icon: icon('#iD-operation-orthogonalize', 'inline operation'), - reverse_icon: icon('#iD-operation-reverse', 'inline operation'), - extract_icon: icon('#iD-operation-extract', 'inline operation'), - disconnect_icon: icon('#iD-operation-disconnect', 'inline operation'), layers_icon: icon('#iD-icon-layers', 'inline'), data_icon: icon('#iD-icon-data', 'inline'), inspect: icon('#iD-icon-inspect', 'inline'), @@ -73,6 +64,27 @@ export function helpHtml(id, replacements) { undo_icon: icon(localizer.textDirection() === 'rtl' ? '#iD-icon-redo' : '#iD-icon-undo', 'inline'), redo_icon: icon(localizer.textDirection() === 'rtl' ? '#iD-icon-undo' : '#iD-icon-redo', 'inline'), save_icon: icon('#iD-icon-save', 'inline'), + + // operation icons + circularize_icon: icon('#iD-operation-circularize', 'inline operation'), + continue_icon: icon('#iD-operation-continue', 'inline operation'), + copy_icon: icon('#iD-operation-copy', 'inline operation'), + delete_icon: icon('#iD-operation-delete', 'inline operation'), + disconnect_icon: icon('#iD-operation-disconnect', 'inline operation'), + downgrade_icon: icon('#iD-operation-downgrade', 'inline operation'), + extract_icon: icon('#iD-operation-extract', 'inline operation'), + merge_icon: icon('#iD-operation-merge', 'inline operation'), + move_icon: icon('#iD-operation-move', 'inline operation'), + orthogonalize_icon: icon('#iD-operation-orthogonalize', 'inline operation'), + paste_icon: icon('#iD-operation-paste', 'inline operation'), + reflect_long_icon: icon('#iD-operation-reflect-long', 'inline operation'), + reflect_short_icon: icon('#iD-operation-reflect-short', 'inline operation'), + reverse_icon: icon('#iD-operation-reverse', 'inline operation'), + rotate_icon: icon('#iD-operation-rotate', 'inline operation'), + split_icon: icon('#iD-operation-split', 'inline operation'), + straighten_icon: icon('#iD-operation-straighten', 'inline operation'), + + // interaction icons leftclick: icon('#iD-walkthrough-mouse-left', 'inline operation'), rightclick: icon('#iD-walkthrough-mouse-right', 'inline operation'), mousewheel_icon: icon('#iD-walkthrough-mousewheel', 'inline operation'), @@ -101,15 +113,25 @@ export function helpHtml(id, replacements) { line: t.html('modes.add_line.title'), area: t.html('modes.add_area.title'), note: t.html('modes.add_note.label'), + + circularize: t.html('operations.circularize.title'), + continue: t.html('operations.continue.title'), + copy: t.html('operations.copy.title'), delete: t.html('operations.delete.title'), + disconnect: t.html('operations.disconnect.title'), + downgrade: t.html('operations.downgrade.title'), + extract: t.html('operations.extract.title'), + merge: t.html('operations.merge.title'), move: t.html('operations.move.title'), orthogonalize: t.html('operations.orthogonalize.title'), + paste: t.html('operations.paste.title'), + reflect_long: t.html('operations.reflect.title.long'), + reflect_short: t.html('operations.reflect.title.short'), reverse: t.html('operations.reverse.title'), - extract: t.html('operations.extract.title'), - circularize: t.html('operations.circularize.title'), - merge: t.html('operations.merge.title'), - disconnect: t.html('operations.disconnect.title'), + rotate: t.html('operations.rotate.title'), split: t.html('operations.split.title'), + straighten: t.html('operations.straighten.title'), + map_data: t.html('map_data.title'), osm_notes: t.html('map_data.layers.notes.title'), fields: t.html('inspector.fields'), diff --git a/modules/ui/panes/help.js b/modules/ui/panes/help.js index 13563d413..b0a8649fb 100644 --- a/modules/ui/panes/help.js +++ b/modules/ui/panes/help.js @@ -147,11 +147,21 @@ export function uiPaneHelp(context) { ['operations', [ 'intro', 'intro_2', + 'straighten', + 'orthogonalize', + 'circularize', + 'move', + 'rotate', + 'reflect', + 'continue', 'reverse', 'disconnect', - 'merge', 'split', - 'extract' + 'extract', + 'merge', + 'delete', + 'downgrade', + 'copy_paste' ]], ['notes', [ 'intro',