<?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_READING_LIST" desc="Name shown in the context menu to hide/show the reading list in the bookmark bar">
      Show reading list
    </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_READING_LIST" desc="In Title Case: Name shown in the context menu to hide/show the reading list in the bookmark bar">
      Show Reading List
    </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>
  <message name="IDS_BOOKMARK_BAR_OVERFLOW_BUTTON_TOOLTIP" desc="Text shown on the overflow chevron, if visible">
    Hidden bookmarks
  </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_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 ({COUNT})}}
    </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 ({COUNT}) 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 ({COUNT}) 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_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 ({COUNT})}}
    </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 ({COUNT}) 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 ({COUNT}) 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 for Desktop Identity Consistency. -->
  <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_ORGANIZE_MENU" desc="Title of the organize menu in the bookmark manager.">
      Organize
    </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>
  </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_ORGANIZE_MENU" desc="In Title Case: Title of the organize menu in the bookmark manager.">
      Organize
    </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>
  </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 {{COUNT} 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_CUT" desc="Title of the bookmark dropdown menu item that cuts one or more bookmarks.">
    Cut
  </message>
  <message name="IDS_BOOKMARK_MANAGER_MENU_COPY" desc="Title of the bookmark dropdown menu item that copies one or more bookmarks.">
    Copy
  </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_PASTE" desc="Title of the bookmark dropdown menu item that pastes one or more bookmarks.">
    Paste
  </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
  </message>
  <message name="IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_WITH_COUNT" desc="Menu title for opening all urls in a bookmark folder, which includes a count of urls">
    Open all (<ph name="URL_COUNT">$1<ex>5</ex></ph>)
  </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_NEW_WINDOW_WITH_COUNT" desc="Menu title for opening all urls in a bookmark folder in a new window, which includes a count of urls">
    Open all (<ph name="URL_COUNT">$1<ex>5</ex></ph>) 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_ALL_INCOGNITO_WITH_COUNT" desc="Menu description for opening all urls in a bookmark folder in an Incognito window, which includes a count of urls">
    Open all (<ph name="URL_COUNT">$1<ex>5</ex></ph>) 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_MORE_ACTIONS_MULTI_AX_LABEL" desc="Spoken text for the button in the bookmark manager which shows an action menu for multiple selected bookmarks, with actions like 'Cut' or 'Delete'">
    More actions for selected items
  </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_ITEMS_UNSELECTED" desc="Message screen readers read out when unselecting all bookmarks and folders.">
    All items unselected, selection mode exited.
  </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_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 {{COUNT} 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 {{COUNT} 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_TAB" desc="Title of the menu item that bookmarks the current tab.">
      Bookmark this tab...
    </message>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_BOOKMARK_THIS_TAB" desc="In Title Case: Title of the menu item that bookmarks the current tab.">
      Bookmark This Tab...
    </message>
  </if>
  <if expr="not use_titlecase">
    <message name="IDS_BOOKMARK_ALL_TABS" desc="Title of the menu item that bookmarks all the tabs opened in this window.">
      Bookmark all tabs...
    </message>
  </if>
  <if expr="use_titlecase">
    <message name="IDS_BOOKMARK_ALL_TABS" desc="In Title Case: Title of the menu item that bookmarks all the tabs opened in this window.">
      Bookmark All Tabs...
    </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 tab is bookmarked.">
    Edit bookmark for this tab
  </message>
  <!-- End of Bookmark Star button strings. -->

</grit-part>
