<?xml version="1.0" encoding="utf-8"?>
<grit-part>
  <!-- Title -->
  <message name="IDS_KSV_TITLE" desc="The tooltip text of the keyboard shortcut viewer shelf icon.">
    Shortcuts
  </message>

  <!-- Accessibility -->
  <message name="IDS_KSV_SEARCH_BOX_ACCESSIBILITY_NAME" desc="Accessibility name for the search box.">
    Search for keyboard shortcuts
  </message>
  <message name="IDS_KSV_BACK_ACCESSIBILITY_NAME" desc="Accessibility name for the button that exits search mode.">
    Exit search mode
  </message>
  <message name="IDS_KSV_CLEAR_SEARCHBOX_ACCESSIBILITY_NAME" desc="Accessibility name for the button that clears all text from the search box.">
    Clear searchbox text
  </message>
  <message name="IDS_KSV_SEARCH_BOX_ACCESSIBILITY_VALUE_WITH_RESULTS" desc="Accessibility value for the search box with searched results.">
    Displaying <ph name="n">$1<ex>1</ex></ph> search results for <ph name="query">$2<ex>a</ex></ph>
  </message>
  <message name="IDS_KSV_SEARCH_BOX_ACCESSIBILITY_VALUE_WITHOUT_RESULTS" desc="Accessibility value for the search box without searched results.">
    No search result for <ph name="query">$1<ex>a</ex></ph>
  </message>

  <!-- Search illustration -->
  <message name="IDS_KSV_SEARCH_NO_RESULT" desc="No search results.">
    No matching results found
  </message>

  <!-- Categories -->
  <message name="IDS_KSV_CATEGORY_POPULAR" desc="Category of the keyboard shortcut.">
    Popular Shortcuts
  </message>
  <message name="IDS_KSV_CATEGORY_TAB_WINDOW" desc="Category of the keyboard shortcut.">
    Tabs &amp; Windows
  </message>
  <message name="IDS_KSV_CATEGORY_PAGE_BROWSER" desc="Category of the keyboard shortcut.">
    Page &amp; Web Browser
  </message>
  <message name="IDS_KSV_CATEGORY_SYSTEM_DISPLAY" desc="Category of the keyboard shortcut.">
    System &amp; Display Settings
  </message>
  <message name="IDS_KSV_CATEGORY_TEXT_EDITING" desc="Category of the keyboard shortcut.">
    Text Editing
  </message>
  <message name="IDS_KSV_CATEGORY_ACCESSIBILITY" desc="Category of the keyboard shortcut.">
    Accessibility
  </message>

  <!-- Modifiers -->
  <message name="IDS_KSV_MODIFIER_CONTROL" desc="Name of [Ctrl] key. Shouldn't be translated in many languages.">
    Ctrl
  </message>
  <message name="IDS_KSV_MODIFIER_ALT" desc="Name of [Alt] key. Shouldn't be translated in many languages.">
    Alt
  </message>
  <message name="IDS_KSV_MODIFIER_SHIFT" desc="Name of [Shift] key. Shouldn't be translated in many languages.">
    Shift
  </message>
  <message name="IDS_KSV_MODIFIER_SEARCH" desc="Name of [Search] key.">
    Search
  </message>
  <message name="IDS_KSV_MODIFIER_LAUNCHER" desc="Name of [Launcher] key.">
    Launcher
  </message>

  <!-- Keys with special label -->
  <message name="IDS_KSV_KEY_ESCAPE" desc="Name of [Esc] key. Shouldn't be translated in many languages.">
    Esc
  </message>
  <message name="IDS_KSV_KEY_SPACE" desc="Name of [Space] key.">
    Space
  </message>
  <message name="IDS_KSV_KEY_OVERVIEW" desc="Name of the key on a Chromebook keyboard that triggers the overview mode.">
    Overview mode key
  </message>
  <message name="IDS_KSV_KEY_FULLSCREEN" desc="Name of the key on a Chromebook keyboard that triggers the fullscreen.">
    Fullscreen key
  </message>
  <message name="IDS_KSV_KEY_NO_MAPPING" desc="Alternative string to display if no meaning found for the key.">
    Not supported with current keyboard layout
  </message>

  <!-- Generic shortcut strings -->
  <message name="IDS_KSV_SHORTCUT_ONE_KEY" desc="Human readable version of the keyboard shortcut. This is for all single key shortcuts.">
    <ph name="key">$1<ex>Overview Mode Key</ex></ph>
  </message>
  <message name="IDS_KSV_SHORTCUT_ONE_MODIFIER_ONE_KEY" desc="Human readable version of the keyboard shortcut. This is for all single modifier shortcuts.">
    <ph name="modifier">$1<ex>Ctrl</ex></ph><ph name="separator">$2<ex>+</ex></ph><ph name="key">$3<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_SHORTCUT_TWO_MODIFIERS_ONE_KEY" desc="Human readable version of the keyboard shortcut. This is for all two modifiers shortcuts.">
    <ph name="modifier1">$1<ex>Ctrl</ex></ph><ph name="separator1">$2<ex>+</ex></ph><ph name="modifier2">$3<ex>Alt</ex></ph><ph name="separator2">$4<ex>+</ex></ph><ph name="key">$5<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_SHORTCUT_THREE_MODIFIERS_ONE_KEY" desc="Human readable version of the keyboard shortcut. This is for all two modifiers shortcuts.">
    <ph name="modifier1">$1<ex>Ctrl</ex></ph><ph name="separator1">$2<ex>+</ex></ph><ph name="modifier2">$3<ex>Alt</ex></ph><ph name="separator2">$4<ex>+</ex></ph><ph name="modifier3">$5<ex>Shift</ex></ph><ph name="separator3">$6<ex>+</ex></ph><ph name="key">$7<ex>v</ex></ph>
  </message>

  <!-- Shortcuts descriptions -->
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_DOCKED_MAGNIFIER" desc="Description of the command in keyboard shortcut viewer.">
    Turn the docked magnifier on or off
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_FULLSCREEN_MAGNIFIER" desc="Description of the command in keyboard shortcut viewer.">
    Turn the fullscreen magnifier on or off
  </message>
  <message name="IDS_KSV_DESCRIPTION_LOCK_SCREEN" desc="Description of the command in keyboard shortcut viewer.">
    Lock screen
  </message>
  <message name="IDS_KSV_DESCRIPTION_DISPLAY_ZOOM_OUT" desc="Description of the command in keyboard shortcut viewer.">
    Display Zoom out
  </message>
  <message name="IDS_KSV_DESCRIPTION_DISPLAY_ZOOM_IN" desc="Description of the command in keyboard shortcut viewer.">
    Display Zoom in
  </message>
  <message name="IDS_KSV_DESCRIPTION_DRAG_LINK_IN_SAME_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Open the link in the tab
  </message>
  <message name="IDS_KSV_SHORTCUT_DRAG_LINK_IN_SAME_TAB" desc="Human readable version of the keyboard shortcut.">
    Drag the link to the tab's address bar
  </message>
  <message name="IDS_KSV_DESCRIPTION_HIGHLIGHT_NEXT_ITEM_ON_SHELF" desc="Description of the command in keyboard shortcut viewer.">
    Highlight the next item on your shelf
  </message>
  <message name="IDS_KSV_SHORTCUT_HIGHLIGHT_NEXT_ITEM_ON_SHELF" desc="Human readable version of the keyboard shortcut.">
    <ph name="shift">$1<ex>Shift</ex></ph><ph name="separator1">$2<ex>+</ex></ph><ph name="alt">$3<ex>Alt</ex></ph><ph name="separator2">$4<ex>+</ex></ph><ph name="l">$5<ex>v</ex></ph>, then <ph name="tab">$6<ex>v</ex></ph> or <ph name="right">$7<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_SWITCH_TO_LAST_USED_IME" desc="Description of the command in keyboard shortcut viewer.">
    Switch to the last used input method
  </message>
  <message name="IDS_KSV_DESCRIPTION_CYCLE_FORWARD_MRU" desc="Description of the command in keyboard shortcut viewer.">
    Switch quickly between windows
  </message>
  <message name="IDS_KSV_SHORTCUT_CYCLE_FORWARD_MRU" desc="Human readable version of the keyboard shortcut.">
    Press and hold <ph name="alt">$1<ex>Alt</ex></ph>, tap <ph name="tab">$2<ex>v</ex></ph> until you get to the window you want to open, then release.
  </message>
  <message name="IDS_KSV_DESCRIPTION_CYCLE_BACKWARD_MRU" desc="Description of the command in keyboard shortcut viewer.">
    Open the window that has been unused for the longest time
  </message>
  <message name="IDS_KSV_SHORTCUT_CYCLE_BACKWARD_MRU" desc="Human readable version of the keyboard shortcut.">
    Press and hold <ph name="alt">$1<ex>Alt</ex></ph><ph name="separator">$2<ex>+</ex></ph><ph name="shift">$3<ex>Shift</ex></ph>, tap <ph name="tab">$4<ex>v</ex></ph> until you get to the window you want to open, then release.
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_OVERVIEW" desc="Description of the command in keyboard shortcut viewer.">
    Overview mode
  </message>
  <message name="IDS_KSV_DESCRIPTION_KEYBOARD_BRIGHTNESS_DOWN" desc="Description of the command in keyboard shortcut viewer.">
    Dim keyboard (for backlit keyboards only)
  </message>
  <message name="IDS_KSV_DESCRIPTION_KEYBOARD_BRIGHTNESS_UP" desc="Description of the command in keyboard shortcut viewer.">
    Make keyboard brighter (for backlit keyboards only)
  </message>
  <message name="IDS_KSV_DESCRIPTION_TAKE_SCREENSHOT" desc="Description of the command in keyboard shortcut viewer.">
    Take screenshot
  </message>
  <message name="IDS_KSV_DESCRIPTION_TAKE_PARTIAL_SCREENSHOT" desc="Description of the command in keyboard shortcut viewer.">
    Take partial screenshot
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_FILE_MANAGER" desc="Description of the command in keyboard shortcut viewer.">
    Open the Files app
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_HIGH_CONTRAST" desc="Description of the command in keyboard shortcut viewer.">
    Turn on high contrast mode
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_SPOKEN_FEEDBACK" desc="Description of the command in keyboard shortcut viewer.">
    Turn ChromeVox (spoken feedback) on or off
  </message>
  <message name="IDS_KSV_DESCRIPTION_SWITCH_TO_PREVIOUS_USER" desc="Description of the command in keyboard shortcut viewer.">
    Switch to the previous user
  </message>
  <message name="IDS_KSV_DESCRIPTION_SWITCH_TO_NEXT_USER" desc="Description of the command in keyboard shortcut viewer.">
    Switch to the next user
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_CAPS_LOCK" desc="Description of the command in keyboard shortcut viewer.">
    Turn Caps Lock on and off
  </message>
  <message name="IDS_KSV_DESCRIPTION_SWITCH_TO_NEXT_IME" desc="Description of the command in keyboard shortcut viewer.">
    Switch to the next available input method
  </message>
  <message name="IDS_KSV_DESCRIPTION_NEW_WINDOW" desc="Description of the command in keyboard shortcut viewer.">
    Open new window
  </message>
  <message name="IDS_KSV_DESCRIPTION_NEW_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Open new tab
  </message>
  <message name="IDS_KSV_DESCRIPTION_SCALE_UI_RESET" desc="Description of the command in keyboard shortcut viewer.">
    Reset display zoom level
  </message>
  <message name="IDS_KSV_DESCRIPTION_ROTATE_SCREEN" desc="Description of the command in keyboard shortcut viewer.">
    Rotate screen 90 degrees
  </message>
  <message name="IDS_KSV_DESCRIPTION_FOCUS_SHELF" desc="Description of the command in keyboard shortcut viewer.">
    Highlight the launcher button on your shelf
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_MESSAGE_CENTER_BUBBLE" desc="Description of the command in keyboard shortcut viewer.">
    See your notifications
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_SYSTEM_TRAY_BUBBLE" desc="Description of the command in keyboard shortcut viewer.">
    Open the status area (where your account picture appears)
  </message>
  <message name="IDS_KSV_DESCRIPTION_LAUNCH_LAST_APP" desc="Description of the command in keyboard shortcut viewer.">
    Click the last icon on your shelf
  </message>
  <message name="IDS_KSV_DESCRIPTION_WINDOW_CYCLE_SNAP_LEFT" desc="Description of the command in keyboard shortcut viewer.">
    Dock a window on the left
  </message>
  <message name="IDS_KSV_DESCRIPTION_WINDOW_CYCLE_SNAP_RIGHT" desc="Description of the command in keyboard shortcut viewer.">
    Dock a window on the right
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_BOOKMARK_PAGE" desc="Description of the command in keyboard shortcut viewer.">
    Save your current webpage as a bookmark
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_BOOKMARK_ALL_TABS" desc="Description of the command in keyboard shortcut viewer.">
    Save all open pages in your current window as bookmarks in a new folder
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_CLOSE_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Close the current tab
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_CLOSE_WINDOW" desc="Description of the command in keyboard shortcut viewer.">
    Close the current window
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_FIND" desc="Description of the command in keyboard shortcut viewer.">
    Search the current page
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_FIND_NEXT" desc="Description of the command in keyboard shortcut viewer.">
    Go to the next match for your search
  </message>
  <message name="IDS_KSV_SHORTCUT_IDC_FIND_NEXT" desc="Human readable version of the keyboard shortcut.">
    <ph name="ctrl">$1<ex>Ctrl</ex></ph><ph name="separator">$2<ex>+</ex></ph><ph name="g">$3<ex>v</ex></ph> or <ph name="enter">$4<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_FIND_PREVIOUS" desc="Description of the command in keyboard shortcut viewer.">
    Go to the previous match for your search
  </message>
  <message name="IDS_KSV_SHORTCUT_IDC_FIND_PREVIOUS" desc="Human readable version of the keyboard shortcut.">
    <ph name="ctrl">$1<ex>Ctrl</ex></ph><ph name="separator1">$2<ex>+</ex></ph><ph name="shift1">$3<ex>Shift</ex></ph><ph name="separator2">$4<ex>+</ex></ph><ph name="g">$5<ex>v</ex></ph> or <ph name="shift2">$6<ex>Shift</ex></ph><ph name="separator3">$7<ex>+</ex></ph><ph name="enter">$8<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_FOCUS_LOCATION" desc="Description of the command in keyboard shortcut viewer.">
    Focus address bar
  </message>
  <message name="IDS_KSV_SHORTCUT_IDC_FOCUS_LOCATION" desc="Description of the command in keyboard shortcut viewer.">
    <ph name="ctrl">$1<ex>Ctrl</ex></ph><ph name="separator1">$2<ex>+</ex></ph><ph name="l">$3<ex>v</ex></ph> or <ph name="alt">$4<ex>Alt</ex></ph><ph name="separator2">$5<ex>+</ex></ph><ph name="d">$6<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_OPEN_FILE" desc="Description of the command in keyboard shortcut viewer.">
    Open a file in the browser
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_PRINT" desc="Description of the command in keyboard shortcut viewer.">
    Print your current page
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_RELOAD" desc="Description of the command in keyboard shortcut viewer.">
    Reload your current page
  </message>
  <message name="IDS_KSV_SHORTCUT_IDC_RELOAD" desc="Description of the command in keyboard shortcut viewer.">
    <ph name="refresh">$1<ex>Refresh</ex></ph> or <ph name="ctrl">$2<ex>Ctrl</ex></ph><ph name="separator">$3<ex>+</ex></ph><ph name="r">$4<ex>r</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_RELOAD_BYPASSING_CACHE" desc="Description of the command in keyboard shortcut viewer.">
    Reload your current page without using cached content
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_SAVE_PAGE" desc="Description of the command in keyboard shortcut viewer.">
    Save your current page
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_SELECT_LAST_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Go to the last tab in the window
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_SELECT_NEXT_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Go to next tab
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_SELECT_PREVIOUS_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Go to previous tab
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_SHOW_BOOKMARK_BAR" desc="Description of the command in keyboard shortcut viewer.">
    Show or hide the bookmarks bar
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_STOP" desc="Description of the command in keyboard shortcut viewer.">
    Stop the loading of your current page
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_ZOOM_MINUS" desc="Description of the command in keyboard shortcut viewer.">
    Zoom out on the page
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_ZOOM_NORMAL" desc="Description of the command in keyboard shortcut viewer.">
    Reset zoom level on the page
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_ZOOM_PLUS" desc="Description of the command in keyboard shortcut viewer.">
    Zoom in on the page
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_NEW_INCOGNITO_WINDOW" desc="Description of the command in keyboard shortcut viewer.">
    Open a new window in incognito mode
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_RESTORE_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Reopen the last tab or window you closed
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_BACK" desc="Description of the command in keyboard shortcut viewer.">
    Go back to previous page
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_FORWARD" desc="Description of the command in keyboard shortcut viewer.">
    Go forward to next page
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_DEV_TOOLS" desc="Description of the command in keyboard shortcut viewer.">
    Show or hide the Developer Tools panel
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_DEV_TOOLS_CONSOLE" desc="Description of the command in keyboard shortcut viewer.">
    Show or hide the Developer Tools console
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_FOCUS_BOOKMARKS" desc="Description of the command in keyboard shortcut viewer.">
    Focus on or Highlight the bookmarks bar (if shown)
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_FOCUS_SEARCH" desc="Description of the command in keyboard shortcut viewer.">
    Place focus in search address bar
  </message>
  <message name="IDS_KSV_SHORTCUT_IDC_FOCUS_SEARCH" desc="Description of the command in keyboard shortcut viewer.">
    <ph name="ctrl">$1<ex>Ctrl</ex></ph><ph name="separator">$2<ex>+</ex></ph><ph name="k">$3<ex>v</ex></ph> or <ph name="e">$4<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_FOCUS_TOOLBAR" desc="Description of the command in keyboard shortcut viewer.">
    Highlight the row with the address bar
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_SHOW_HISTORY" desc="Description of the command in keyboard shortcut viewer.">
    Open the History page
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_VIEW_SOURCE" desc="Description of the command in keyboard shortcut viewer.">
    View page source
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_CONTENT_CONTEXT_SELECTALL" desc="Description of the command in keyboard shortcut viewer.">
    Select everything on the page
  </message>
  <message name="IDS_KSV_DESCRIPTION_COPY" desc="Description of the command in keyboard shortcut viewer.">
    Copy selected content to the clipboard
  </message>
  <message name="IDS_KSV_DESCRIPTION_PASTE" desc="Description of the command in keyboard shortcut viewer.">
    Paste content from the clipboard
  </message>
  <message name="IDS_KSV_DESCRIPTION_SELECT_NUMBERED_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Go to tabs 1 through 8
  </message>
  <message name="IDS_KSV_SHORTCUT_SELECT_NUMBERED_TAB" desc="Human readable version of the keyboard shortcut.">
    <ph name="ctrl">$1<ex>Ctrl</ex></ph><ph name="separator">$2<ex>+</ex></ph> 1 through 8
  </message>
  <message name="IDS_KSV_DESCRIPTION_KEYBOARD_SHORTCUT_HELPER" desc="Description of the command in keyboard shortcut viewer.">
    See Keyboard Shortcut Helper
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_LINK_IN_TAB_BACKGROUND" desc="Description of the command in keyboard shortcut viewer.">
    Open the link in a new tab in the background
  </message>
  <message name="IDS_KSV_SHORTCUT_OPEN_LINK_IN_TAB_BACKGROUND" desc="Human readable version of the keyboard shortcut.">
    Press <ph name="ctrl">$1<ex>Ctrl</ex></ph> and click a link
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_LINK_IN_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Open the link in a new tab and switch to the new tab
  </message>
  <message name="IDS_KSV_SHORTCUT_OPEN_LINK_IN_TAB" desc="Human readable version of the keyboard shortcut.">
    Press <ph name="ctrl">$1<ex>Ctrl</ex></ph><ph name="separator">$2<ex>+</ex></ph><ph name="shift">$3<ex>Shift</ex></ph> and click a link
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_LINK_IN_WINDOW" desc="Description of the command in keyboard shortcut viewer.">
    Open the link in a new window
  </message>
  <message name="IDS_KSV_SHORTCUT_OPEN_LINK_IN_WINDOW" desc="Human readable version of the keyboard shortcut.">
    Press <ph name="shift">$1<ex>Shift</ex></ph> and click a link
  </message>
  <message name="IDS_KSV_DESCRIPTION_DRAG_LINK_IN_NEW_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Open the link in a new tab
  </message>
  <message name="IDS_KSV_SHORTCUT_DRAG_LINK_IN_NEW_TAB" desc="Human readable version of the keyboard shortcut.">
    Drag the link to a blank area on the tab strip
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_PAGE_IN_NEW_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Open the webpage in a new tab
  </message>
  <message name="IDS_KSV_SHORTCUT_OPEN_PAGE_IN_NEW_TAB" desc="Human readable version of the keyboard shortcut.">
    Type a web address in the address bar, then press <ph name="alt">$1<ex>Alt</ex></ph><ph name="separator">$2<ex>+</ex></ph><ph name="enter">$3<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_STOP_DRAG_TAB" desc="Description of the command in keyboard shortcut viewer.">
    Return the tab to its original position
  </message>
  <message name="IDS_KSV_SHORTCUT_STOP_DRAG_TAB" desc="Human readable version of the keyboard shortcut.">
    While dragging the tab, press <ph name="esc">$1<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_PAGE_UP" desc="Description of the command in keyboard shortcut viewer.">
    Page up
  </message>
  <message name="IDS_KSV_SHORTCUT_PAGE_UP" desc="Human readable version of the keyboard shortcut.">
    <ph name="alt">$1<ex>Alt</ex></ph> or <ph name="search">$2<ex>Search</ex></ph><ph name="separator">$3<ex>+</ex></ph><ph name="up">$4<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_PAGE_DOWN" desc="Description of the command in keyboard shortcut viewer.">
    Page down
  </message>
  <message name="IDS_KSV_SHORTCUT_PAGE_DOWN" desc="Human readable version of the keyboard shortcut.">
    <ph name="alt">$1<ex>Alt</ex></ph> or <ph name="search">$2<ex>Search</ex></ph><ph name="separator">$3<ex>+</ex></ph><ph name="down">$4<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_SCROLL_DOWN_PAGE" desc="Description of the command in keyboard shortcut viewer.">
    Scroll down the web page
  </message>
  <message name="IDS_KSV_DESCRIPTION_GO_TO_TOP" desc="Description of the command in keyboard shortcut viewer.">
    Go to top of page
  </message>
  <message name="IDS_KSV_DESCRIPTION_GO_TO_BOTTOM" desc="Description of the command in keyboard shortcut viewer.">
    Go to bottom of page
  </message>
  <message name="IDS_KSV_DESCRIPTION_RIGHT_CLICK" desc="Description of the command in keyboard shortcut viewer.">
    Right-click a link
  </message>
  <message name="IDS_KSV_SHORTCUT_RIGHT_CLICK" desc="Human readable version of the keyboard shortcut.">
    Press <ph name="alt">$1<ex>Alt</ex></ph> and click a link
  </message>
  <message name="IDS_KSV_DESCRIPTION_SAVE_LINK_AS_BOOKMARK" desc="Description of the command in keyboard shortcut viewer.">
    Save the link as a bookmark
  </message>
  <message name="IDS_KSV_SHORTCUT_SAVE_LINK_AS_BOOKMARK" desc="Human readable version of the keyboard shortcut.">
    Drag link to bookmarks bar
  </message>
  <message name="IDS_KSV_DESCRIPTION_AUTO_COMPLETE" desc="Description of the command in keyboard shortcut viewer.">
    Add www. and .com to your input in the address bar, then open the page
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_DOWNLOADS_PAGE" desc="Description of the command in keyboard shortcut viewer.">
    Open the Downloads page
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_FILE" desc="Description of the command in keyboard shortcut viewer.">
    Preview a file in the Files app
  </message>
  <message name="IDS_KSV_SHORTCUT_OPEN_FILE" desc="Human readable version of the keyboard shortcut.">
    Select the file, then press <ph name="space">$1<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_DISPLAY_HIDDEN_FILES" desc="Description of the command in keyboard shortcut viewer.">
    Display hidden files in the Files app
  </message>
  <message name="IDS_KSV_DESCRIPTION_LAUNCH_NUMBERED_APP" desc="Description of the command in keyboard shortcut viewer.">
    Click icons 1-8 on your shelf
  </message>
  <message name="IDS_KSV_SHORTCUT_LAUNCH_NUMBERED_APP" desc="Human readable version of the keyboard shortcut.">
    <ph name="alt">$1<ex>Alt</ex></ph><ph name="separator">$2<ex>+</ex></ph> 1 through 8
  </message>
  <message name="IDS_KSV_DESCRIPTION_USE_F_KEYS" desc="Description of the command in keyboard shortcut viewer.">
    Use F keys (F1 to F12)
  </message>
  <message name="IDS_KSV_SHORTCUT_USE_F_KEYS" desc="Human readable version of the keyboard shortcut.">
    <ph name="search">$1<ex>Search</ex></ph><ph name="separator">$2<ex>+</ex></ph> 1 through =
  </message>
  <message name="IDS_KSV_DESCRIPTION_SELECT_ADDRESS_BAR" desc="Description of the command in keyboard shortcut viewer.">
    Select the content in the address bar
  </message>
  <message name="IDS_KSV_SHORTCUT_SELECT_ADDRESS_BAR" desc="Human readable version of the keyboard shortcut.">
    <ph name="ctrl">$1<ex>Ctrl</ex></ph><ph name="separator1">$2<ex>+</ex></ph><ph name="l">$3<ex>v</ex></ph> or <ph name="alt">$4<ex>Alt</ex></ph><ph name="separator2">$5<ex>+</ex></ph><ph name="d">$6<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_SELECT_NEXT_WORD" desc="Description of the command in keyboard shortcut viewer.">
    Select the next word or letter
  </message>
  <message name="IDS_KSV_DESCRIPTION_SELECT_TEXT_TO_END_OF_LINE" desc="Description of the command in keyboard shortcut viewer.">
    Select text to the end of the line
  </message>
  <message name="IDS_KSV_DESCRIPTION_SELECT_TEXT_TO_BEGINNING" desc="Description of the command in keyboard shortcut viewer.">
    Select text to the beginning of the line
  </message>
  <message name="IDS_KSV_DESCRIPTION_SELECT_PREVIOUS_WORD" desc="Description of the command in keyboard shortcut viewer.">
    Select previous word or letter
  </message>
  <message name="IDS_KSV_DESCRIPTION_MOVE_TO_END_OF_WORD" desc="Description of the command in keyboard shortcut viewer.">
    Move to the end of the next word
  </message>
  <message name="IDS_KSV_DESCRIPTION_MOVE_TO_START_OF_PREVIOUS_WORD" desc="Description of the command in keyboard shortcut viewer.">
    Move to the start of the previous word
  </message>
  <message name="IDS_KSV_DESCRIPTION_GO_TO_END_OF_DOCUMENT" desc="Description of the command in keyboard shortcut viewer.">
    Go to end of document
  </message>
  <message name="IDS_KSV_DESCRIPTION_GO_TO_BEGINNING_OF_DOCUMENT" desc="Description of the command in keyboard shortcut viewer.">
    Go to beginning of document
  </message>
  <message name="IDS_KSV_DESCRIPTION_GO_TO_END_OF_LINE" desc="Description of the command in keyboard shortcut viewer.">
    Go to end of line
  </message>
  <message name="IDS_KSV_DESCRIPTION_GO_TO_BEGINNING_OF_LINE" desc="Description of the command in keyboard shortcut viewer.">
    Go to beginning of line
  </message>
  <message name="IDS_KSV_DESCRIPTION_PASTE_CONTENT_AS_TEXT" desc="Description of the command in keyboard shortcut viewer.">
    Paste content from the clipboard as plain text
  </message>
  <message name="IDS_KSV_DESCRIPTION_CUT" desc="Description of the command in keyboard shortcut viewer.">
    Cut
  </message>
  <message name="IDS_KSV_DESCRIPTION_DELETE_PREVIOUS_WORD" desc="Description of the command in keyboard shortcut viewer.">
    Delete the previous word
  </message>
  <message name="IDS_KSV_DESCRIPTION_DELETE_NEXT_WORD" desc="Description of the command in keyboard shortcut viewer.">
    Delete the next letter (forward delete)
  </message>
  <message name="IDS_KSV_DESCRIPTION_UNDO" desc="Description of the command in keyboard shortcut viewer.">
    Undo your last action
  </message>
  <message name="IDS_KSV_DESCRIPTION_REDO" desc="Description of the command in keyboard shortcut viewer.">
    Redo your last action
  </message>
  <message name="IDS_KSV_DESCRIPTION_HIGHLIGHT_PREVIOUS_ITEM_ON_SHELF" desc="Description of the command in keyboard shortcut viewer.">
    Highlight the previous item on your shelf
  </message>
  <message name="IDS_KSV_SHORTCUT_HIGHLIGHT_PREVIOUS_ITEM_ON_SHELF" desc="Human readable version of the keyboard shortcut.">
    <ph name="shift1">$1<ex>Shift</ex></ph><ph name="separator1">$2<ex>+</ex></ph><ph name="alt">$3<ex>Alt</ex></ph><ph name="separator2">$4<ex>+</ex></ph><ph name="l">$5<ex>v</ex></ph>, then <ph name="shift2">$6<ex>Shift</ex></ph><ph name="separator3">$7<ex>+</ex></ph><ph name="tab">$8<ex>v</ex></ph> or <ph name="left">$9<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_HIGHLIGHTED_ITEM_ON_SHELF" desc="Description of the command in keyboard shortcut viewer.">
    Open the highlighted item on your shelf
  </message>
  <message name="IDS_KSV_SHORTCUT_OPEN_HIGHLIGHTED_ITEM_ON_SHELF" desc="Human readable version of the keyboard shortcut.">
    <ph name="shift">$1<ex>Shift</ex></ph><ph name="separator1">$2<ex>+</ex></ph><ph name="alt">$3<ex>Alt</ex></ph><ph name="separator2">$4<ex>+</ex></ph><ph name="l">$5<ex>v</ex></ph>, then <ph name="space">$6<ex>v</ex></ph> or <ph name="enter">$7<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_REMOVE_HIGHLIGHT_ON_SHELF" desc="Description of the command in keyboard shortcut viewer.">
    Remove the highlight from an item on your shelf
  </message>
  <message name="IDS_KSV_SHORTCUT_REMOVE_HIGHLIGHT_ON_SHELF" desc="Human readable version of the keyboard shortcut.">
    <ph name="shift">$1<ex>Shift</ex></ph><ph name="separator1">$2<ex>+</ex></ph><ph name="alt">$3<ex>Alt</ex></ph><ph name="separator2">$4<ex>+</ex></ph><ph name="l">$5<ex>v</ex></ph>, then <ph name="esc">$6<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_SWITCH_FOCUS" desc="Description of the command in keyboard shortcut viewer.">
    Switch focus between: Status area (where your account picture appears), Launcher, Address bar, Bookmarks bar (if visible), The webpage that's open, and Downloads bar (if visible).
  </message>
  <message name="IDS_KSV_SHORTCUT_SWITCH_FOCUS" desc="Human readable version of the keyboard shortcut.">
    <ph name="ctrl1">$1<ex>Ctrl</ex></ph><ph name="separator1">$2<ex>+</ex></ph><ph name="left">$3<ex>v</ex></ph> or <ph name="ctrl2">$4<ex>Ctrl</ex></ph><ph name="separator2">$5<ex>+</ex></ph><ph name="right">$6<ex>v</ex></ph>
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_RIGHT_CLICK_MENU_FOR_HIGHLIGHTED_ITEM" desc="Description of the command in keyboard shortcut viewer.">
    Open right-click menu for highlighted item
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_MIRROR_MODE" desc="Description of the command in keyboard shortcut viewer.">
    Mirror monitors
  </message>
  <message name="IDS_KSV_DESCRIPTION_SWAP_PRIMARY_DISPLAY" desc="Description of the command in keyboard shortcut viewer.">
    Swap primary monitor
  </message>
  <message name="IDS_KSV_DESCRIPTION_BRIGHTNESS_DOWN" desc="Description of the command in keyboard shortcut viewer.">
    Turn brightness down
  </message>
  <message name="IDS_KSV_DESCRIPTION_BRIGHTNESS_UP" desc="Description of the command in keyboard shortcut viewer.">
    Turn brightness up
  </message>
  <message name="IDS_KSV_DESCRIPTION_MAGNIFY_SCREEN_ZOOM_OUT" desc="Description of the command in keyboard shortcut viewer.">
    Zoom out (when docked OR fullscreen magnifiers enabled)
  </message>
  <message name="IDS_KSV_DESCRIPTION_MAGNIFY_SCREEN_ZOOM_IN" desc="Description of the command in keyboard shortcut viewer.">
    Zoom in (when docked OR fullscreen magnifiers enabled)
  </message>
  <message name="IDS_KSV_DESCRIPTION_VOLUME_MUTE" desc="Description of the command in keyboard shortcut viewer.">
    Mute sound
  </message>
  <message name="IDS_KSV_DESCRIPTION_VOLUME_DOWN" desc="Description of the command in keyboard shortcut viewer.">
    Volume down
  </message>
  <message name="IDS_KSV_DESCRIPTION_VOLUME_UP" desc="Description of the command in keyboard shortcut viewer.">
    Volume up
  </message>
  <message name="IDS_KSV_DESCRIPTION_SHOW_TASK_MANAGER" desc="Description of the command in keyboard shortcut viewer.">
    Bring up task manager
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_FULLSCREEN" desc="Description of the command in keyboard shortcut viewer.">
    Toggle fullscreen
  </message>
  <message name="IDS_KSV_DESCRIPTION_WINDOW_MINIMIZE" desc="Description of the command in keyboard shortcut viewer.">
    Minimize window
  </message>
  <message name="IDS_KSV_DESCRIPTION_FOCUS_NEXT_PANE" desc="Description of the command in keyboard shortcut viewer.">
    Next pane
  </message>
  <message name="IDS_KSV_DESCRIPTION_FOCUS_PREVIOUS_PANE" desc="Description of the command in keyboard shortcut viewer.">
    Previous pane
  </message>
  <message name="IDS_KSV_DESCRIPTION_MOVE_ACTIVE_WINDOW_BETWEEN_DISPLAYS" desc="Description of the command in keyboard shortcut viewer.">
    Move active window between displays
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_APP_LIST" desc="Description of the command in keyboard shortcut viewer.">
    Open/close the launcher
  </message>
  <message name="IDS_KSV_DESCRIPTION_TAKE_WINDOW_SCREENSHOT" desc="Description of the command in keyboard shortcut viewer.">
    Take window screenshot
  </message>
  <message name="IDS_KSV_DESCRIPTION_SUSPEND" desc="Description of the command in keyboard shortcut viewer.">
    Put device in sleep mode (suspend)
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_GET_HELP" desc="Description of the command in keyboard shortcut viewer.">
    Open Help Center
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_FEEDBACK_PAGE" desc="Description of the command in keyboard shortcut viewer.">
    Submit feedback
  </message>
  <message name="IDS_KSV_DESCRIPTION_ROTATE_WINDOW" desc="Description of the command in keyboard shortcut viewer.">
    Rotate window
  </message>
  <message name="IDS_KSV_DESCRIPTION_SHOW_STYLUS_TOOLS" desc="Description of the command in keyboard shortcut viewer.">
    Show stylus tools
  </message>
  <message name="IDS_KSV_DESCRIPTION_TOGGLE_MAXIMIZED" desc="Description of the command in keyboard shortcut viewer.">
    Maximize window
  </message>
  <message name="IDS_KSV_DESCRIPTION_WINDOW_POSITION_CENTER" desc="Description of the command in keyboard shortcut viewer.">
    Move window to center
  </message>
  <message name="IDS_KSV_DESCRIPTION_OPEN_CROSH" desc="Description of the command in keyboard shortcut viewer.">
    Open Crosh window
  </message>
  <message name="IDS_KSV_DESCRIPTION_EXIT" desc="Description of the command in keyboard shortcut viewer.">
    Sign out
  </message>
  <message name="IDS_KSV_DESCRIPTION_UNPIN" desc="Description of the command in keyboard shortcut viewer.">
    Unpin an app
  </message>
  <message name="IDS_KSV_DESCRIPTION_SHOW_IME_MENU_BUBBLE" desc="Description of the command in keyboard shortcut viewer.">
    Show the menu displaying a list of available IMEs
  </message>
  <message name="IDS_KSV_DESCRIPTION_SHOW_IDC_FOCUS_MENU_BAR" desc="Description of the command in keyboard shortcut viewer.">
    Place focus on menu bar
  </message>
  <message name="IDS_KSV_DESCRIPTION_SHOW_IDC_HOME" desc="Description of the command in keyboard shortcut viewer.">
    Open home page
  </message>
  <message name="IDS_KSV_DESCRIPTION_SHOW_IDC_CLEAR_BROWSING_DATA" desc="Description of the command in keyboard shortcut viewer.">
    Clear browsing data
  </message>
  <message name="IDS_KSV_DESCRIPTION_SHOW_IDC_SHOW_BOOKMARK_MANAGER" desc="Description of the command in keyboard shortcut viewer.">
    Show bookmark manager
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_DEV_TOOLS_INSPECT" desc="Description of the command in keyboard shortcut viewer.">
    Show or hide the Developer Tools inspector
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_FOCUS_INACTIVE_POPUP_FOR_ACCESSIBILITY" desc="Description of the command in keyboard shortcut viewer.">
    Move focus to popups and dialogs
  </message>
  <message name="IDS_KSV_DESCRIPTION_IDC_SHOW_APP_MENU" desc="Description of the command in keyboard shortcut viewer.">
    Show Chrome menu
  </message>
  <message name="IDS_KSV_SHORTCUT_IDC_SHOW_APP_MENU" desc="Description of the command in keyboard shortcut viewer.">
    <ph name="alt">$1<ex>Alt</ex></ph><ph name="separator">$2<ex>+</ex></ph><ph name="e">$3<ex>e</ex></ph> or <ph name="f">$4<ex>f</ex></ph>
  </message>
</grit-part>
