<?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 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.">
    Bookmarks
  </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>
  <message name="IDS_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_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_BOOKMARK_MANAGER_CLEAR_SEARCH" desc="Title of the button in the bookmark manager that stops a search.">
    Clear search
  </message>
  <message name="IDS_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_BOOKMARK_MANAGER_EMPTY_UNMODIFIABLE_LIST" desc="The message shown when an unmodifiable bookmark folder is empty.">
    This folder is empty
  </message>
  <message name="IDS_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_BOOKMARK_MANAGER_FOLDER_RENAME_TITLE" desc="Title of the bookmark editor window when editing folders.">
    Rename folder
  </message>
  <message name="IDS_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_BOOKMARK_MANAGER_LIST_AX_LABEL" desc="Spoken feedback for focusing the bookmark list.">
    Bookmark list
  </message>
  <message name="IDS_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_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_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_BOOKMARK_MANAGER_MENU_EXPORT" desc="Title of the bookmark toolbar dropdown menu item that exports bookmarks.">
    Export bookmarks
  </message>
  <message name="IDS_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_BOOKMARK_MANAGER_MENU_IMPORT" desc="Title of the bookmark toolbar dropdown menu item that imports bookmarks.">
    Import bookmarks
  </message>
  <message name="IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL" desc="Menu title for opening all urls in a bookmark folder">
    Open all bookmarks
  </message>
  <message name="IDS_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_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_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_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_BOOKMARK_MANAGER_MENU_OPEN_INCOGNITO" desc="Menu description for opening a bookmark in incognito window">
    Open in incognito window
  </message>
  <message name="IDS_BOOKMARK_MANAGER_MENU_RENAME" desc="Title of the bookmark list dropdown menu item that renames folders.">
    Rename
  </message>
  <message name="IDS_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_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_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_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_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_BOOKMARK_MANAGER_OPEN_DIALOG_CONFIRM" desc="Label for the button to confirm opening a large number of bookmarks.">
    Open
  </message>
  <message name="IDS_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_BOOKMARK_MANAGER_SIDEBAR_AX_LABEL" desc="Message announced by screenreaders for the bookmark manager sidebar.">
    Bookmark folder tree
  </message>
  <message name="IDS_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_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_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_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_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_BOOKMARK_MANAGER_TOAST_URL_COPIED" desc="Label displayed in toast popup message when a URL is copied.">
    URL copied
  </message>
  <message name="IDS_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_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 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>
