// These are the identifiers for locale specific settings.

// UNUSED                             1000

// The font used in web-style native pages (e.g. History).
#define IDS_WEB_FONT_FAMILY           1001

// The default value for HTTP Accept-Language header.
#define IDS_ACCEPT_LANGUAGES          1002

// Default values for the WebPreference object.
// The default value for |WebPreference::default_encoding|.
#define IDS_DEFAULT_ENCODING          1003
// The default value to determine whether |WebPreference::standard_font_family|
// serif or sans-serif
#define IDS_STANDARD_FONT_IS_SERIF    1004
// The default value for |WebPreference::fixed_font_family|
#define IDS_FIXED_FONT_FAMILY         1005
// The default value for |WebPreference::serif_font_family|
#define IDS_SERIF_FONT_FAMILY         1006
// The default value for |WebPreference::sans_serif_font_family|
#define IDS_SANS_SERIF_FONT_FAMILY    1007
// The default value for |WebPreference::cursive_font_family|
#define IDS_CURSIVE_FONT_FAMILY       1008
// The default value for |WebPreference::fantasy_font_family|
#define IDS_FANTASY_FONT_FAMILY       1009
// The default value for |WebPreference::default_font_size|
#define IDS_DEFAULT_FONT_SIZE         1010
// The default value for |WebPreference::default_fixed_font_size|
#define IDS_DEFAULT_FIXED_FONT_SIZE   1011
// The default value for |WebPreference::minimum_font_size|
#define IDS_MINIMUM_FONT_SIZE         1012
// The default value for |WebPreference::minimum_logical_font_size|.
#define IDS_MINIMUM_LOGICAL_FONT_SIZE 1013
// The default value for |WebPreference::uses_universal_detector|.
#define IDS_USES_UNIVERSAL_DETECTOR   1014


// The file name of the spellchecking dictionary without the extension (case-sensitive).
#define IDS_SPELLCHECK_DICTIONARY     1015

// URL for the "Learn more" link on the malware blocking page.
#define IDS_LEARN_MORE_MALWARE_URL    1016

// URL for the "Learn more" link on the phishing blocking page.
#define IDS_LEARN_MORE_PHISHING_URL   1017

// Removed: #define IDS_REPORT_ERROR_PHISHING_URL 1018

// Removed: #define IDS_PAGE_MENU_REPORT_PHISHING_WEBSITE_URL 1019

// The width of the Options dialog box, in characters (character width =
// average character width for default dialog box font)
#define IDS_OPTIONS_DIALOG_WIDTH_CHARS 1020

// The height of the Options dialog box, in lines (line height = character
// height for default dialog box font)
#define IDS_OPTIONS_DIALOG_HEIGHT_LINES 1021

// The width of the title column of the Options dialog box, in characters (see
// above for defn of character width)
#define IDS_OPTIONS_DIALOG_LEFT_COLUMN_WIDTH_CHARS 1022

// The URL to be loaded to display Help
#define IDS_HELP_CONTENT_URL          1023

// URL to post bug reports to
#define IDS_BUGREPORT_POST_URL        1024

// The width and height of the Bug Reporting dialog box in characters and lines
// (See above).
#define IDS_BUGREPORT_DIALOG_WIDTH_CHARS 1025
#define IDS_BUGREPORT_DIALOG_HEIGHT_LINES 1026

// The width and height of the Clear Browsing Data dialog box in characters and
// lines (See above).
#define IDS_CLEARDATA_DIALOG_WIDTH_CHARS 1027
#define IDS_CLEARDATA_DIALOG_HEIGHT_LINES 1028

// The width and height of the Import dialog box in characters and lines (See
// above).
#define IDS_IMPORT_DIALOG_WIDTH_CHARS 1029
#define IDS_IMPORT_DIALOG_HEIGHT_LINES 1030

// The width and height of the About dialog box in characters and lines (See
// above).
#define IDS_ABOUT_DIALOG_WIDTH_CHARS 1031
#define IDS_ABOUT_DIALOG_MINIMUM_HEIGHT_LINES 1032

// The width and height of the Fonts and Languages dialog box in characters and
// lines (See above).
#define IDS_FONTSLANG_DIALOG_WIDTH_CHARS 1033
#define IDS_FONTSLANG_DIALOG_HEIGHT_LINES 1034

// Locale-dependent static encodings string
#define IDS_STATIC_ENCODING_LIST 1035

// The width and height of the Page Info dialog box in characters and lines
// (See above).
#define IDS_PAGEINFO_DIALOG_WIDTH_CHARS 1036
#define IDS_PAGEINFO_DIALOG_HEIGHT_LINES 1037

// The width and height of the Search Engines dialog box in characters and
// lines (See above).
#define IDS_SEARCHENGINES_DIALOG_WIDTH_CHARS 1038
#define IDS_SEARCHENGINES_DIALOG_HEIGHT_LINES 1039

// The width and height of the Shelf Item dialog box in characters and
// lines (See above).
#define IDS_SHELFITEM_DIALOG_WIDTH_CHARS 1040
#define IDS_SHELFITEM_DIALOG_HEIGHT_LINES 1041

// The width and height of the Edit Bookmark dialog box in characters and lines
// (See above).
#define IDS_EDITBOOKMARK_DIALOG_WIDTH_CHARS 1042
#define IDS_EDITBOOKMARK_DIALOG_HEIGHT_LINES 1043

// The width and height of the First Run dialog box in characters and lines
// (See above).
#define IDS_FIRSTRUN_DIALOG_WIDTH_CHARS 1044
#define IDS_FIRSTRUN_DIALOG_HEIGHT_LINES 1045

// The width and height of the First Run Customize dialog box in characters and
// lines (See above).
#define IDS_FIRSTRUNCUSTOMIZE_DIALOG_WIDTH_CHARS 1046
#define IDS_FIRSTRUNCUSTOMIZE_DIALOG_HEIGHT_LINES 1047

// The width and height of the Cookies dialog box in characters and lines
// (See above).
#define IDS_COOKIES_DIALOG_WIDTH_CHARS 1048
#define IDS_COOKIES_DIALOG_HEIGHT_LINES 1049

// The width and height of the Import Progress dialog box in characters and
// lines (See above).
#define IDS_IMPORTPROGRESS_DIALOG_WIDTH_CHARS 1050
#define IDS_IMPORTPROGRESS_DIALOG_HEIGHT_LINES 1051

// The width and height of the "Mozilla Firefox is locked" dialog box in
// characters and lines (See above).
#define IDS_IMPORTLOCK_DIALOG_WIDTH_CHARS 1052
#define IDS_IMPORTLOCK_DIALOG_HEIGHT_LINES 1053

// The width and height of the First Run Search Information bubble in
// characters and lines (See above).
#define IDS_FIRSTRUNBUBBLE_DIALOG_WIDTH_CHARS 1054
#define IDS_FIRSTRUNBUBBLE_DIALOG_HEIGHT_LINES 1055

// The width of the font style column in the Fonts and Languages dialog box,
// in character widths.
#define IDS_FONTSLANG_LABEL_WIDTH 1056

// The URL for the the Welcome to Chrome page shown on first run.
#define IDS_WELCOME_PAGE_URL 1057

// The URL for the the Learn More page shown on incognito new tab.
#define IDS_LEARN_MORE_INCOGNITO_URL 1058

// The URL for the "Learn more" page for the Privacy section under Options.
#define IDS_LEARN_MORE_PRIVACY_URL 1059

// The URL for more info on how we are affected by 3rd party licenses.
#define IDS_ABOUT_VERSION_LICENSE_URL 1060

// The HTML for the about:terms page
#define IDR_TERMS_HTML 1061

// The width and height of the bookmark manager in characters and lines
// (See above).
#define IDS_BOOKMARK_MANAGER_DIALOG_WIDTH_CHARS 1062
#define IDS_BOOKMARK_MANAGER_DIALOG_HEIGHT_LINES 1063

// The language dependent download view size.
#define IDS_DOWNLOAD_BIG_PROGRESS_SIZE 1064

// The width and height of the Select Profile dialog in characters and lines
// (See above).
#define IDS_SELECT_PROFILE_DIALOG_WIDTH_CHARS 1065
#define IDS_SELECT_PROFILE_DIALOG_HEIGHT_LINES 1066

// The width of the New Profile dialog in characters (See above).
#define IDS_NEW_PROFILE_DIALOG_WIDTH_CHARS 1067
