<?xml version="1.0" encoding="utf-8"?>
<!-- Bookmarks specific strings (included from generated_resources.grd). -->
<grit-part>
  <!-- Begin of Bookmarks Bar strings-->
  <if expr="not is_android">
    <!-- The following two strings are shown when the user has no bookmarks yet. -->
    <message name="IDS_BOOKMARKS_NO_ITEMS" desc="Text shown when the user has no bookmarks">
      For quick access, place your bookmarks here on the bookmarks bar.
    </message>
    <message name="IDS_BOOKMARK_BAR_IMPORT_LINK" desc="text shown for importing ">
      Import bookmarks now...
    </message>

    <!-- The special folders created when importing from other other browsers. -->
    <if expr="is_win">
      <message name="IDS_BOOKMARK_GROUP_FROM_IE" desc="The group name of bookmarks from Internet Explorer">
        Imported From IE
      </message>
      <message name="IDS_BOOKMARK_GROUP_FROM_EDGE" desc="The group name of bookmarks from Edge">
        Imported From Edge
      </message>
    </if>
    <message name="IDS_BOOKMARK_GROUP_FROM_FIREFOX" desc="The group name of bookmarks from Firefox">
      Imported From Firefox
    </message>
    <message name="IDS_BOOKMARK_GROUP_FROM_SAFARI" desc="The group name of bookmarks from Safari">
      Imported From Safari
    </message>
    <message name="IDS_BOOKMARK_GROUP" desc="The group name of bookmarks imported from a file">
      Imported
    </message>
  </if>

  <if expr="not use_titlecase">
    <message name="IDS_BOOKMARK_BAR_SHOW_APPS_SHORTCUT" desc="Name shown in the context menu to hide/show the apps shortcut in the bookmark bar">
      Show apps shortcut
    </message>
    <message name="IDS_BOOKMARK_BAR_SHOW_MANAGED_BOOKMARKS_DEFAULT_NAME" desc="Name shown in the context menu to hide/show the managed bookmarks in the bookmark bar">
      Show managed bookmarks
    </message>
    <message name="IDS_BOOKMARK_BAR_SHOW_MANAGED_BOOKMARKS" desc="Name shown in the context menu to hide/show the managed bookmarks in the bookmark bar">
      Show <ph name="FOLDER_NAME">$1<ex>managed bookmarks</ex></ph>
    </message>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_BOOKMARK_BAR_SHOW_APPS_SHORTCUT" desc="In Title Case: Name shown in the context menu to hide/show the apps shortcut in the bookmark bar">
      Show Apps Shortcut
    </message>
    <message name="IDS_BOOKMARK_BAR_SHOW_MANAGED_BOOKMARKS_DEFAULT_NAME" desc="In Title Case: Name shown in the context menu to hide/show the managed bookmarks in the bookmark bar">
      Show Managed Bookmarks
    </message>
    <message name="IDS_BOOKMARK_BAR_SHOW_MANAGED_BOOKMARKS" desc="In Title Case: Name shown in the context menu to hide/show the managed bookmarks in the bookmark bar">
      Show <ph name="FOLDER_NAME">$1<ex>Managed Bookmarks</ex></ph>
    </message>
  </if>
  <message name="IDS_BOOKMARK_BAR_APPS_SHORTCUT_NAME" desc="Name shown in the bookmark bar for the apps page shortcut">
    Apps
  </message>
  <message name="IDS_BOOKMARK_BAR_APPS_SHORTCUT_TOOLTIP" desc="Text shown in the tooltip of the apps page shortcut in the bookmark bar">
    Show apps
  </message>
  <!-- End of Bookmarks Bar strings. -->

  <!-- Begin of Bookmarks Bar Context Menu strings. -->
  <if expr="not use_titlecase">
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL" desc="Menu title for opening all urls in a bookmark folder">
      &amp;Open all bookmarks
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW" desc="Menu title for opening all urls in a bookmark folder in a new window">
      Open all bookmarks in &amp;new window
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL_INCOGNITO" desc="Menu description for opening all urls in a bookmark folder in an incognito window">
        Open all bookmarks in &amp;incognito window
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL_COUNT" desc="Menu title for opening all urls in a bookmark folder">
        {COUNT, plural,
          =0 {&amp;Open all}
          =1 {&amp;Open bookmark}
          other {&amp;Open all (#)}}
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL_COUNT_NEW_WINDOW" desc="Menu title for opening all urls in a bookmark folder in a new window">
        {COUNT, plural,
          =0 {Open all in &amp;new window}
          =1 {Open in &amp;new window}
          other {Open all (#) in &amp;new window}}
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL_COUNT_INCOGNITO" desc="Menu description for opening all urls in a bookmark folder in an incognito window">
        {COUNT, plural,
          =0 {Open all in &amp;incognito window}
          =1 {Open in &amp;incognito window}
          other {Open all (#) in &amp;incognito window}}
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_IN_NEW_TAB" desc="Menu description for loading bookmark in a new tab">
      &amp;Open in new tab
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_IN_NEW_WINDOW" desc="Menu description for loading bookmark in a new window">
      Open in &amp;new window
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_INCOGNITO" desc="Menu description for opening bookmark in incognito window">
      Open in &amp;incognito window
    </message>
    <message name="IDS_BOOKMARK_BAR_EDIT" desc="Title of the bookmark context menu item that brings up the bookmark editor">
      &amp;Edit...
    </message>
    <message name="IDS_BOOKMARK_BAR_RENAME_FOLDER" desc="Title of the bookmark context menu item that brings up a dialog to rename a folder">
      &amp;Rename...
    </message>
    <message name="IDS_BOOKMARK_BAR_REMOVE" desc="Menu title for removing/unstarring a bookmark">
      &amp;Delete
    </message>
    <message name="IDS_BOOKMARK_BAR_ADD_NEW_BOOKMARK" desc="Menu title for adding a new bookmark entry">
      Add pa&amp;ge...
    </message>
    <message name="IDS_BOOKMARK_BAR_NEW_FOLDER" desc="Menu title for adding a new folder">
      Add &amp;folder...
    </message>
    <if expr="not is_android">
      <message name="IDS_SHOW_BOOKMARK_BAR" desc="The toggle to show the bookmark bar">
        &amp;Show bookmarks bar
      </message>
    </if>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL" desc="In Title Case: Menu title for opening all urls in a bookmark folder">
        &amp;Open All Bookmarks
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW" desc="In Title Case: Menu title for opening all urls in a bookmark folder in a new window">
        Open All Bookmarks in &amp;New Window
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL_INCOGNITO" desc="In Title Case: Menu description for opening all urls in a bookmark folder in an incognito window">
        Open All Bookmarks in &amp;Incognito Window
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL_COUNT" desc="In Title Case: Menu title for opening all urls in a bookmark folder">
        {COUNT, plural,
          =0 {&amp;Open All}
          =1 {&amp;Open Bookmark}
          other {&amp;Open All (#)}}
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL_COUNT_NEW_WINDOW" desc="In Title Case: Menu title for opening all urls in a bookmark folder in a new window">
        {COUNT, plural,
          =0 {Open All in &amp;New Window}
          =1 {Open in &amp;New Window}
          other {Open All (#) in &amp;New Window}}
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_ALL_COUNT_INCOGNITO" desc="In Title Case: Menu description for opening all urls in a bookmark folder in an incognito window">
        {COUNT, plural,
          =0 {Open All in &amp;Incognito Window}
          =1 {Open in &amp;Incognito Window}
          other {Open All (#) in &amp;Incognito Window}}
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_IN_NEW_TAB" desc="In Title Case: Menu description for loading bookmark in a new tab">
      &amp;Open in New Tab
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_IN_NEW_WINDOW" desc="In Title Case: Menu description for loading bookmark in a new window">
      Open in &amp;New Window
    </message>
    <message name="IDS_BOOKMARK_BAR_OPEN_INCOGNITO" desc="In Title Case: Menu description for opening bookmark in incognito window">
      Open in &amp;Incognito Window
    </message>
    <message name="IDS_BOOKMARK_BAR_EDIT" desc="In Title Case: Title of the bookmark context menu item that brings up the bookmark editor">
      &amp;Edit...
    </message>
    <message name="IDS_BOOKMARK_BAR_RENAME_FOLDER" desc="In Title Case: Title of the bookmark context menu item that brings up a dialog to rename a folder">
      &amp;Rename...
    </message>
    <message name="IDS_BOOKMARK_BAR_REMOVE" desc="In Title Case: Menu title for removing/unstarring a bookmark">
      &amp;Delete
    </message>
    <message name="IDS_BOOKMARK_BAR_ADD_NEW_BOOKMARK" desc="In Title Case: Menu title for adding a new bookmark entry">
      Add Pa&amp;ge...
    </message>
    <message name="IDS_BOOKMARK_BAR_NEW_FOLDER" desc="In Title Case: Menu title for adding a new folder">
      Add &amp;Folder...
    </message>
    <if expr="not is_android">
      <message name="IDS_SHOW_BOOKMARK_BAR" desc="In Title Case: The toggle to show the bookmark bar">
        &amp;Show Bookmarks Bar
      </message>
    </if>
  </if>
  <message name="IDS_BOOKMARK_BAR_SHOULD_OPEN_ALL" desc="Message in the message box shown if user asks to open a lot of bookmarks in a folder. The number will always be 15 or more.">
    Are you sure you want to open <ph name="TAB_COUNT">$1<ex>20</ex></ph> tabs?
  </message>
  <!-- End of Bookmarks Bar Context Menu strings. -->

  <!-- Begin of Bookmarks Bubble strings. -->
  <message name="IDS_BOOKMARK_BUBBLE_PAGE_BOOKMARKED" desc="Title of the bubble after bookmarking a page.">
    Bookmark added
  </message>
  <message name="IDS_BOOKMARK_BUBBLE_PAGE_BOOKMARK" desc="Title of the bubble when re-clicking on a bookmark">
    Edit bookmark
  </message>
  <message name="IDS_BOOKMARK_BUBBLE_NAME_LABEL" desc="Text preceding the title of the page that was bookmarked">
    Name
  </message>
  <message name="IDS_BOOKMARK_AX_BUBBLE_NAME_LABEL" desc="Text preceding the title of the page that was bookmarked, read by spoken feedback">
    Bookmark name
  </message>
  <message name="IDS_BOOKMARK_BUBBLE_FOLDER_LABEL" desc="Text preceding the folder selector">
    Folder
  </message>
  <message name="IDS_BOOKMARK_AX_BUBBLE_FOLDER_LABEL" desc="Text preceding the folder selector">
    Bookmark folder
  </message>
  <if expr="not use_titlecase">
    <message name="IDS_BOOKMARK_BUBBLE_OPTIONS" desc="Title of the button the user can click to go to a more advanced bookmark editor">
      More...
    </message>
    <message name="IDS_BOOKMARK_BUBBLE_CHOOSER_ANOTHER_FOLDER" desc="Text in the combobox allowing the user to choose another folder (by bringing up the editor).">
      Choose another folder...
    </message>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_BOOKMARK_BUBBLE_OPTIONS" desc="In Title Case: Title of the button the user can click to go to a more advanced bookmark editor">
      More...
    </message>
    <message name="IDS_BOOKMARK_BUBBLE_CHOOSER_ANOTHER_FOLDER" desc="In Title Case: Text in the combobox allowing the user to choose another folder (by bringing up the editor).">
      Choose Another Folder...
    </message>
  </if>
  <!-- End of Bookmarks Bubble strings. -->

  <!-- Begin of Bookmarks Sync Promo strings. -->
  <message name="IDS_BOOKMARK_SYNC_PROMO_MESSAGE" desc="Text of the sync promo displayed at the bottom of the bookmark bubble.">
    To get your bookmarks on all your devices, <ph name="SIGN_IN_LINK">$1<ex>sign in</ex></ph>.
  </message>
  <!-- End of Bookmarks Sync Promo strings. -->

  <!-- Begin of Bookmarks Sync Promo strings for Desktop Identity Consistency. -->
  <message name="IDS_BOOKMARK_DICE_PROMO_SIGNIN_MESSAGE" desc="Text of the sync promo displayed at the bottom of the bookmark bubble asking the user to sign in and enable sync.">
    To get your bookmarks on all your devices, sign in and turn on sync.
  </message>
  <message name="IDS_BOOKMARK_DICE_PROMO_SYNC_MESSAGE" desc="Text of the sync promo displayed at the bottom of the bookmark bubble asking the user to enable sync.">
    To get your bookmarks on all your devices, turn on sync.
  </message>
  <!-- End of Bookmarks Sync Promo strings for Desktop Identity Consistency. -->

  <!-- Begin of Desktop to iOS Promo strings. -->
  <if expr="is_win">
    <message name="IDS_BOOKMARK_BUBBLE_DESKTOP_TO_IOS_PROMO_TITLE" desc="Title for Chrome iOS promotion appearing in the bookmark bubble after a bookmark is saved.">
      Sync this bookmark to your iPhone
    </message>
    <message name="IDS_BOOKMARK_BUBBLE_DESKTOP_TO_IOS_PROMO_TITLE_V2" desc="Title for Chrome iOS promotion appearing in the bookmark bubble after a bookmark is saved.">
      Get this bookmark on your iPhone
    </message>
    <message name="IDS_BOOKMARK_BUBBLE_DESKTOP_TO_IOS_PROMO_TITLE_V3" desc="Title for Chrome iOS promotion appearing in the bookmark bubble after a bookmark is saved.">
      Share this bookmark with your iPhone
    </message>
    <message name="IDS_BOOKMARK_FOOTNOTE_DESKTOP_TO_IOS_PROMO_MESSAGE" desc="Text of the Chrome iOS promotion displayed at the bottom of the bookmark bubble.">
      To get your bookmarks on your mobile device, <ph name="GET_IOS_APP_LINK">$1<ex>get the application on your iPhone</ex></ph>.
    </message>
  </if>
  <!-- End of Desktop to iOS Promo strings. -->

  <!-- Begin of Bookmark Editor strings. -->
  <message name="IDS_BOOKMARK_EDITOR_NAME_LABEL" desc="Label shown before the title/name of the URL.">
    Name
  </message>
  <message name="IDS_BOOKMARK_AX_EDITOR_NAME_LABEL" desc="Spoken text for bookmark name text field in edit folder dialog">
    Bookmark name
  </message>
  <if expr="is_macosx">
    <message name="IDS_BOOKMARK_BAR_EDIT_FOLDER_LABEL" desc="Title of label before text field in edit folder dialog">
      Name:
    </message>
  </if>
  <message name="IDS_BOOKMARK_AX_EDITOR_URL_LABEL" desc="Spoken text for bookmark URL text field in edit folder dialog.">
    Bookmark URL
  </message>
  <message name="IDS_BOOKMARK_EDITOR_URL_LABEL" desc="Label shown before the URL.">
    URL
  </message>
  <message name="IDS_BOOKMARK_EDITOR_CONFIRM_DELETE" desc="The message shown in the dialog asking the user to confirm deleting a folder. [ICU Syntax]">
    {NUM_BOOKMARKS, plural,
     =1 {This folder contains a bookmark. Are you sure you want to delete it?}
     other {This folder contains # bookmarks. Are you sure you want to delete it?}}
  </message>
  <if expr="not use_titlecase">
    <message name="IDS_BOOKMARK_EDITOR_NEW_FOLDER_BUTTON" desc="Text on the new folder button.">
      New folder
    </message>
    <message name="IDS_BOOKMARK_EDITOR_NEW_FOLDER_MENU_ITEM" desc="Text on the new folder context menu item.">
      &amp;New folder
    </message>
    <message name="IDS_BOOKMARK_FOLDER_EDITOR_WINDOW_TITLE" desc="Window title of editor for bookmark folders">
      Edit folder name
    </message>
    <message name="IDS_BOOKMARK_FOLDER_EDITOR_WINDOW_TITLE_NEW" desc="Window title of editor for new bookmark folders">
      New folder
    </message>
    <message name="IDS_BOOKMARK_ALL_TABS_DIALOG_TITLE" desc="The title of the Bookmark All Tabs dialog.">
      Bookmark all tabs
    </message>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_BOOKMARK_EDITOR_NEW_FOLDER_BUTTON" desc="In Title Case: Text on the new folder button.">
      New Folder
    </message>
    <message name="IDS_BOOKMARK_EDITOR_NEW_FOLDER_MENU_ITEM" desc="In Title Case: Text on the new folder context menu item.">
      &amp;New Folder
    </message>
    <message name="IDS_BOOKMARK_FOLDER_EDITOR_WINDOW_TITLE" desc="In Title Case: Window title of editor for bookmark folders">
      Edit Folder Name
    </message>
    <message name="IDS_BOOKMARK_FOLDER_EDITOR_WINDOW_TITLE_NEW" desc="In Title Case: Window title of editor for new bookmark folders">
      New Folder
    </message>
    <message name="IDS_BOOKMARK_ALL_TABS_DIALOG_TITLE" desc="In Title Case: The title of the Bookmark All Tabs dialog.">
      Bookmark All Tabs
    </message>
  </if>
  <!-- End of Bookmarks Editor strings. -->

  <!-- Begin of Bookmarks Manager strings. -->
  <message name="IDS_BOOKMARK_MANAGER_TITLE" desc="Title of the bookmark manager window.">
    Bookmark Manager
  </message>
  <message name="IDS_BOOKMARK_MANAGER_SEARCH_BUTTON" desc="Title of the button in the bookmark manager that triggers a search">
    Search bookmarks
  </message>
  <if expr="not use_titlecase">
    <message name="IDS_BOOKMARK_MANAGER" desc="The label of the menu item that shows the bookmark manager">
      &amp;Bookmark manager
    </message>
    <message name="IDS_BOOKMARK_MANAGER_FOLDERS_MENU" desc="Title of the folders menu in the bookmark manager.">
      Folders
    </message>
    <message name="IDS_BOOKMARK_MANAGER_ORGANIZE_MENU" desc="Title of the organize menu in the bookmark manager.">
      Organize
    </message>
    <message name="IDS_BOOKMARK_MANAGER_SHOW_IN_FOLDER" desc="The label of the menu item in the bookmark manager context menu that changes the selection in the tree to match the folder of the selected item in the table.">
      Show in folder
    </message>
    <message name="IDS_BOOKMARK_MANAGER_SORT" desc="The label of the menu item in the bookmark manager organize menu that alphabetizes the bookmarks/folders by title.">
      Reorder by title
    </message>
    <message name="IDS_BOOKMARK_MANAGER_IMPORT_MENU" desc="Title of the import menu item in the bookmark manager.">
      Import bookmarks from HTML file...
    </message>
    <message name="IDS_BOOKMARK_MANAGER_EXPORT_MENU" desc="Title of the export menu item in the bookmark manager.">
      Export bookmarks to HTML file...
    </message>
    <message name="IDS_BOOKMARK_MANAGER_INVALID_URL" desc="Error message to display when the user tries to edit or create a bookmark with an invalid URL.">
      Invalid URL
    </message>
    <message name="IDS_BOOKMARK_MANAGER_RECENT" desc="The label for the tree item that shows the recently added bookmarks.">
      Recent
    </message>
    <message name="IDS_BOOKMARK_MANAGER_SEARCH" desc="The label for the tree item that shows the search results for the bookmarks.">
      Search
    </message>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_BOOKMARK_MANAGER" desc="In Title Case: The label of the menu item that shows the bookmark manager">
      &amp;Bookmark Manager
    </message>
    <message name="IDS_BOOKMARK_MANAGER_FOLDERS_MENU" desc="In Title Case: Title of the folders menu in the bookmark manager.">
      Folders
    </message>
    <message name="IDS_BOOKMARK_MANAGER_ORGANIZE_MENU" desc="In Title Case: Title of the organize menu in the bookmark manager.">
      Organize
    </message>
    <message name="IDS_BOOKMARK_MANAGER_SHOW_IN_FOLDER" desc="In Title Case: The label of the menu item in the bookmark manager context menu that changes the selection in the tree to match the folder of the selected item in the table.">
      Show in Folder
    </message>
    <message name="IDS_BOOKMARK_MANAGER_SORT" desc="In Title Case: The label of the menu item in the bookmark manager organize menu that alphabetizes the bookmarks/folders by title.">
      Reorder by Title
    </message>
    <message name="IDS_BOOKMARK_MANAGER_IMPORT_MENU" desc="In Title Case: Title of the import menu item in the bookmark manager.">
      Import Bookmarks from HTML File...
    </message>
    <message name="IDS_BOOKMARK_MANAGER_EXPORT_MENU" desc="In Title Case: Title of the export menu item in the bookmark manager.">
      Export Bookmarks to HTML File...
    </message>
    <message name="IDS_BOOKMARK_MANAGER_INVALID_URL" desc="In Title Case: Error message to display when the user tries to edit or create a bookmark with an invalid URL.">
      Invalid URL.
    </message>
    <message name="IDS_BOOKMARK_MANAGER_RECENT" desc="In Title Case: The label for the tree item that shows the recently added bookmarks.">
      Recent
    </message>
    <message name="IDS_BOOKMARK_MANAGER_SEARCH" desc="In Title Case: The label for the tree item that shows the search results for the bookmarks.">
      Search
    </message>
  </if>
  <message name="IDS_EXPORT_BOOKMARKS_DEFAULT_FILENAME" desc="Filename that pre-populates the filename field when user attempts to export their bookmarks from Bookmark Manager.">
    bookmarks_<ph name="DATESTAMP">$1<ex>02_11_11</ex></ph>.html
  </message>
  <!-- End of Bookmarks Manager strings. -->

  <!-- Begin of material design Bookmarks Manager strings. -->
  <message name="IDS_MD_BOOKMARK_MANAGER_ADD_BOOKMARK_TITLE" desc="Title of the dialog in the bookmark manager that creates a new bookmark.">
    Add bookmark
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_ADD_FOLDER_TITLE" desc="Title of the dialog in the bookmark manager that creates a new bookmark folder.">
    Add folder
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_CLEAR_SEARCH" desc="Title of the button in the bookmark manager that stops a search.">
    Clear search
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_EMPTY_LIST" desc="The message shown when the user has no bookmarks added. 'Star' refers to the icon in the omnibox for adding to bookmarks.">
    To bookmark pages, click the star in the address bar
  </message>
   <message name="IDS_MD_BOOKMARK_MANAGER_EMPTY_UNMODIFIABLE_LIST" desc="The message shown when an unmodifiable bookmark folder is empty.">
    This folder is empty
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_FOLDER_LABEL" desc="Label for a folder of bookmarks which is used to label folders for screen reader users.">
    Folder
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_FOLDER_RENAME_TITLE" desc="Title of the bookmark editor window when editing folders.">
    Rename folder
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_FOLDER_LIST_CHANGED" desc="Message announced by screenreaders when the bookmark list changes.">
    {COUNT, plural,
      =1 {1 item in bookmark list}
      other {# items in bookmark list}}
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_LIST_AX_LABEL" desc="Spoken feedback for focusing the bookmark list.">
    Bookmark list
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_ADD_BOOKMARK" desc="Title of the bookmark toolbar dropdown menu item that adds a new bookmark.">
    Add new bookmark
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_ADD_FOLDER" desc="Title of the bookmark toolbar dropdown menu item that adds a new folder.">
    Add new folder
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_COPY_URL" desc="Title of the bookmark dropdown menu item that copies the url of the bookmark.">
    Copy URL
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_EXPORT" desc="Title of the bookmark toolbar dropdown menu item that exports bookmarks.">
    Export bookmarks
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_HELP_CENTER" desc="Title of the bookmark toolbar dropdown menu item that opens the help center.">
    Help center
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_IMPORT" desc="Title of the bookmark toolbar dropdown menu item that imports bookmarks.">
    Import bookmarks
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_OPEN_ALL" desc="Menu title for opening all urls in a bookmark folder">
    Open all bookmarks
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_OPEN_ALL_NEW_WINDOW" desc="Menu title for opening all urls in a bookmark folder in a new window">
    Open all in new window
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_OPEN_ALL_INCOGNITO" desc="Menu description for opening all urls in a bookmark folder in an incognito window">
    Open all in incognito window
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_OPEN_IN_NEW_TAB" desc="Menu description for opening a bookmark in a new tab">
    Open in new tab
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_OPEN_IN_NEW_WINDOW" desc="Menu description for opening a bookmark in a new window">
    Open in new window
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_OPEN_INCOGNITO" desc="Menu description for opening a bookmark in incognito window">
    Open in incognito window
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_RENAME" desc="Title of the bookmark list dropdown menu item that renames folders.">
    Rename
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_SHOW_IN_FOLDER" desc="The label of the menu item in the bookmark manager context menu that changes the selection in the tree to match the folder of the selected item in the list.">
    Show in folder
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MENU_SORT" desc="Title of the bookmark toolbar dropdown menu item that sorts bookmarks by title.">
    Sort by name
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MORE_ACTIONS" desc="Tooltip of the button in the bookmark manager which shows an action menu for a bookmark, with actions like 'Edit' or 'Delete'">
    More actions
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_MORE_ACTIONS_AX_LABEL" desc="Spoken text for the button in the bookmark manager which shows an action menu for a bookmark, with actions like 'Edit' or 'Delete'">
    More actions for <ph name="BOOKMARK_NAME">$1<ex>Bookmark X</ex></ph>
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_OPEN_DIALOG_TITLE" desc="Title of the dialog confirming whether a large number of bookmarks should be opened.">
    Open selected items
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_OPEN_DIALOG_CONFIRM" desc="Label for the button to confirm opening a large number of bookmarks.">
    Open
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_ITEMS_SELECTED" desc="Label displayed in bookmark manager toolbar telling the user how many items they have selected.">
    <ph name="NUMBER_OF_ITEMS_SELECTED">$1</ph> selected
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_SIDEBAR_AX_LABEL" desc="Message announced by screenreaders for the bookmark manager sidebar.">
    Bookmark folder tree
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_SIDEBAR_NODE_COLLAPSE_AX_LABEL" desc="Message announced by screenreaders for button to collapse a folder in the bookmark manager sidebar.">
    Collapse <ph name="FOLDER_NAME">$1<ex>Recipes</ex></ph>
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_SIDEBAR_NODE_EXPAND_AX_LABEL" desc="Message announced by screenreaders for button to expand a folder in the bookmark manager sidebar.">
    Expand <ph name="FOLDER_NAME">$1<ex>Recipes</ex></ph>
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_TITLE" desc="Title of the bookmark manager window.">
    Bookmarks
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_TOAST_FOLDER_SORTED" desc="Label displayed in toast popup message when a folder's children are sorted.">
    Folder sorted
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_TOAST_ITEM_DELETED" desc="Label displayed in toast popup message when a single item is deleted.">
    '<ph name="DELETED_ITEM_NAME">$1<ex>Bookmark X</ex></ph>' deleted
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_TOAST_ITEMS_DELETED" desc="Label displayed in toast popup message when two or more items are deleted.">
    {COUNT, plural,
      =1 {1 bookmark deleted}
      other {# bookmarks deleted}}
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_TOAST_URL_COPIED" desc="Label displayed in toast popup message when a URL is copied.">
    URL copied
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_TOAST_ITEM_COPIED" desc="Label displayed in toast popup message when a single item is copied.">
    '<ph name="COPIED_ITEM_NAME">$1<ex>Bookmark X</ex></ph>' copied
  </message>
  <message name="IDS_MD_BOOKMARK_MANAGER_TOAST_ITEMS_COPIED" desc="Label displayed in a toast popup message when two or more bookmark items are copied">
    {COUNT, plural,
      =1 {1 item copied}
      other {# items copied}}
  </message>
  <!-- End of material design Bookmarks Manager strings. -->

  <!-- Begin of Bookmarks Menu (in the Main Menu) strings. -->
  <message name="IDS_BOOKMARKS_MENU" desc="The title of the Bookmarks menu in the Main menu and in the Mac menu bar.">
    &amp;Bookmarks
  </message>
  <if expr="not use_titlecase">
    <message name="IDS_BOOKMARK_THIS_PAGE" desc="Title of the menu item that bookmarks the current page.">
      Bookmark this page...
    </message>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_BOOKMARK_THIS_PAGE" desc="In Title Case: Title of the menu item that bookmarks the current page.">
      Bookmark This Page...
    </message>
  </if>
  <if expr="not use_titlecase">
    <message name="IDS_BOOKMARK_OPEN_PAGES" desc="Title of the menu item that bookmarks all the pages opened in this window.">
      Bookmark open pages...
    </message>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_BOOKMARK_OPEN_PAGES" desc="In Title Case: Title of the menu item that bookmarks all the pages opened in this window.">
      Bookmark Open Pages...
    </message>
  </if>
  <!-- End of Bookmarks Menu (in the Main Menu) strings. -->

  <!-- Begin of Bookmark Star button strings. -->
  <message name="IDS_TOOLTIP_STARRED" desc="The tooltip shown when you hover the star button in the right side of the location bar and the current page is bookmarked.">
    Edit bookmark for this page
  </message>
  <!-- End of Bookmark Star button strings. -->

</grit-part>
