910e62b5创建于 1月15日历史提交
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/ash/file_manager/file_manager_string_util.h"

#include <math.h>

#include "ash/constants/ash_features.h"
#include "ash/system/time/calendar_utils.h"
#include "ash/system/time/date_helper.h"
#include "base/containers/fixed_flat_set.h"
#include "base/feature_list.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
#include "base/values.h"
#include "chrome/browser/ash/bruschetta/bruschetta_util.h"
#include "chrome/browser/ash/crostini/crostini_features.h"
#include "chrome/browser/ash/crostini/crostini_util.h"
#include "chrome/browser/ash/drive/file_system_util.h"
#include "chrome/browser/ash/guest_os/guest_os_share_path.h"
#include "chrome/browser/ash/guest_os/guest_os_share_path_factory.h"
#include "chrome/browser/ash/plugin_vm/plugin_vm_features.h"
#include "chrome/browser/ash/plugin_vm/plugin_vm_util.h"
#include "chrome/browser/ash/policy/core/browser_policy_connector_ash.h"
#include "chrome/browser/ash/profiles/profile_helper.h"
#include "chrome/browser/chromeos/policy/dlp/dlp_policy_constants.h"
#include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h"
#include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager_factory.h"
#include "chrome/browser/policy/profile_policy_connector.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_features.h"
#include "chrome/grit/generated_resources.h"
#include "chromeos/ash/components/demo_mode/utils/demo_session_utils.h"
#include "chromeos/ash/components/install_attributes/install_attributes.h"
#include "chromeos/ash/experiences/arc/arc_features.h"
#include "chromeos/ash/experiences/arc/arc_util.h"
#include "chromeos/constants/chromeos_features.h"
#include "components/strings/grit/components_strings.h"
#include "components/user_manager/user_manager.h"
#include "components/variations/service/variations_service.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/webui/web_ui_util.h"
#include "ui/chromeos/strings/grit/ui_chromeos_strings.h"

namespace {

// Location of the page to buy more storage for Google Drive.
const char kGoogleDriveBuyStorageUrl[] =
    "https://www.google.com/settings/storage";

// Location of the page to manage Google Drive storage.
const char kGoogleDriveManageStorageUrl[] =
    "https://drive.google.com/drive/u/0/quota";

// Location of the page to manage enterprise Google Drive storage.
const char kGoogleDriveEnterpriseManageStorageUrl[] =
    "https://drive.google.com/corp/drive/quota";

// Location of the overview page about Google Drive.
const char kGoogleDriveOverviewUrl[] =
    "https://support.google.com/chromebook/?p=filemanager_drive";

// Location of Google Drive specific help.
const char kGoogleDriveHelpUrl[] =
    "https://support.google.com/chromebook/?p=filemanager_drivehelp";

// Location of the help page about making Google Drive files available offline.
const char kGoogleDriveOfflineHelpUrl[] =
    "http://support.google.com/chromebook/?p=offline_files";

// Location of Google Drive root.
const char kGoogleDriveRootUrl[] = "https://drive.google.com";

// Printf format
const char kHelpURLFormat[] = "https://support.google.com/chromebook/answer/%d";

// Location of the help page for low space warning in the downloads directory.
const int kDownloadsLowSpaceWarningHelpNumber = 1061547;

// Location of Files App specific help.
const int kFilesAppHelpNumber = 1056323;

// Location of the help page about connecting to Google Drive.
const int kGoogleDriveErrorHelpNumber = 2649458;

// Location of the help page about no-action-available files.
const int kNoActionForFileHelpNumber = 1700055;

// Supported locales of Google One offer banner.
constexpr auto kGoogleOneOfferBannerSupportedLocales =
    base::MakeFixedFlatSet<std::string>({"en-US", "en-GB", "en-AU", "en-CA"});

// Supported countries of Google One offer banner.
constexpr auto kGoogleOneOfferBannerSupportedCountries =
    base::MakeFixedFlatSet<std::string>({"us", "gb", "au", "ca"});

#define SET_STRING(id, idr) dict->Set(id, l10n_util::GetStringUTF16(idr))

#define SET_STRING_PLURAL(id, idr, n) \
  dict->Set(id, l10n_util::GetPluralStringFUTF16(idr, n))

void AddStringsForFileTypes(base::Value::Dict* dict) {
  // TODO(crbug.com/41146170): Rename string IDs to something like
  // FILE_TYPE_WHATEVER.
  SET_STRING("ARCHIVE_FILE_TYPE", IDS_FILE_BROWSER_ARCHIVE_FILE_TYPE);
  SET_STRING("AUDIO_FILE_TYPE", IDS_FILE_BROWSER_AUDIO_FILE_TYPE);
  SET_STRING("CSV_TEXT_FILE_TYPE", IDS_FILE_BROWSER_CSV_TEXT_FILE_TYPE);
  SET_STRING("EXCEL_FILE_TYPE", IDS_FILE_BROWSER_EXCEL_FILE_TYPE);
  SET_STRING("FOLDER", IDS_FILE_BROWSER_FOLDER);
  SET_STRING("GDOC_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_GDOC_DOCUMENT_FILE_TYPE);
  SET_STRING("GDRAW_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_GDRAW_DOCUMENT_FILE_TYPE);
  SET_STRING("GENERIC_FILE_TYPE", IDS_FILE_BROWSER_GENERIC_FILE_TYPE);
  SET_STRING("GFORM_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_GFORM_DOCUMENT_FILE_TYPE);
  SET_STRING("GLINK_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_GLINK_DOCUMENT_FILE_TYPE);
  SET_STRING("GMAP_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_GMAP_DOCUMENT_FILE_TYPE);
  SET_STRING("GSHEET_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_GSHEET_DOCUMENT_FILE_TYPE);
  SET_STRING("GSITE_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_GSITE_DOCUMENT_FILE_TYPE);
  SET_STRING("EMAIL_LAYOUTS_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_EMAIL_LAYOUTS_DOCUMENT_FILE_TYPE);
  SET_STRING("GSLIDES_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_GSLIDES_DOCUMENT_FILE_TYPE);
  SET_STRING("GTABLE_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_GTABLE_DOCUMENT_FILE_TYPE);
  SET_STRING("HTML_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_HTML_DOCUMENT_FILE_TYPE);
  SET_STRING("IMAGE_FILE_TYPE", IDS_FILE_BROWSER_IMAGE_FILE_TYPE);
  SET_STRING("NO_EXTENSION_FILE_TYPE", IDS_FILE_BROWSER_NO_EXTENSION_FILE_TYPE);
  SET_STRING("PDF_DOCUMENT_FILE_TYPE", IDS_FILE_BROWSER_PDF_DOCUMENT_FILE_TYPE);
  SET_STRING("PLAIN_TEXT_FILE_TYPE", IDS_FILE_BROWSER_PLAIN_TEXT_FILE_TYPE);
  SET_STRING("POWERPOINT_PRESENTATION_FILE_TYPE",
             IDS_FILE_BROWSER_POWERPOINT_PRESENTATION_FILE_TYPE);
  SET_STRING("VIDEO_FILE_TYPE", IDS_FILE_BROWSER_VIDEO_FILE_TYPE);
  SET_STRING("WORD_DOCUMENT_FILE_TYPE",
             IDS_FILE_BROWSER_WORD_DOCUMENT_FILE_TYPE);
  SET_STRING("TINI_FILE_TYPE", IDS_FILE_BROWSER_TINI_FILE_TYPE);
}

void AddStringsForDrive(base::Value::Dict* dict) {
  SET_STRING("BULK_PINNING_BUTTON_LABEL_ISSUE",
             IDS_FILE_BROWSER_BULK_PINNING_BUTTON_LABEL_ISSUE);
  SET_STRING("BULK_PINNING_BUTTON_LABEL_OFFLINE",
             IDS_FILE_BROWSER_BULK_PINNING_BUTTON_LABEL_OFFLINE);
  SET_STRING("BULK_PINNING_FILE_SYNC_ON",
             IDS_FILE_BROWSER_BULK_PINNING_FILE_SYNC_ON);
  SET_STRING("BULK_PINNING_BUTTON_LABEL_PAUSED",
             IDS_FILE_BROWSER_BULK_PINNING_BUTTON_LABEL_PAUSED);
  SET_STRING("BULK_PINNING_BUTTON_LABEL_SYNCING",
             IDS_FILE_BROWSER_BULK_PINNING_BUTTON_LABEL_SYNCING);
  SET_STRING("DRIVE_BUY_MORE_SPACE", IDS_FILE_BROWSER_DRIVE_BUY_MORE_SPACE);
  SET_STRING("DRIVE_BUY_MORE_SPACE_LINK",
             IDS_FILE_BROWSER_DRIVE_BUY_MORE_SPACE_LINK);
  SET_STRING("DRIVE_CANNOT_REACH", IDS_FILE_BROWSER_DRIVE_CANNOT_REACH);
  SET_STRING("DRIVE_DIRECTORY_LABEL", IDS_FILE_BROWSER_DRIVE_DIRECTORY_LABEL);
  SET_STRING("DRIVE_CONFIRM_COPY_TO_SHARED_DRIVE",
             IDS_FILE_BROWSER_DRIVE_CONFIRM_COPY_TO_SHARED_DRIVE);
  SET_STRING("DRIVE_CONFIRM_MOVE_TO_SHARED_DRIVE",
             IDS_FILE_BROWSER_DRIVE_CONFIRM_MOVE_TO_SHARED_DRIVE);
  SET_STRING("DRIVE_CONFIRM_TD_MEMBERS_LOSE_ACCESS",
             IDS_FILE_BROWSER_DRIVE_CONFIRM_TD_MEMBERS_LOSE_ACCESS);
  SET_STRING("DRIVE_CONFIRM_CANNOT_MOVE_BACK_TO_TEAM_DRIVE",
             IDS_FILE_BROWSER_DRIVE_CONFIRM_CANNOT_MOVE_BACK_TO_TEAM_DRIVE);
  SET_STRING("DRIVE_CONFIRM_TD_MEMBERS_GAIN_ACCESS_TO_COPY",
             IDS_FILE_BROWSER_DRIVE_CONFIRM_TD_MEMBERS_GAIN_ACCESS_TO_COPY);
  SET_STRING("DRIVE_CONFIRM_TD_MEMBERS_GAIN_ACCESS",
             IDS_FILE_BROWSER_DRIVE_CONFIRM_TD_MEMBERS_GAIN_ACCESS);
  SET_STRING("DRIVE_CONFIRM_OWNERSHIP_TRANSFER",
             IDS_FILE_BROWSER_DRIVE_CONFIRM_OWNERSHIP_TRANSFER);
  SET_STRING("CONFIRM_MOVE_BUTTON_LABEL",
             IDS_FILE_BROWSER_CONFIRM_MOVE_BUTTON_LABEL);
  SET_STRING("CONFIRM_COPY_BUTTON_LABEL",
             IDS_FILE_BROWSER_CONFIRM_COPY_BUTTON_LABEL);
  SET_STRING("DRIVE_LEARN_MORE", IDS_LEARN_MORE);
  SET_STRING("DRIVE_MENU_HELP", IDS_FILE_BROWSER_DRIVE_MENU_HELP);
  SET_STRING("DRIVE_METERED_CONNECTION_OPTION",
             IDS_FILE_BROWSER_DRIVE_METERED_CONNECTION_OPTION);
  SET_STRING("DRIVE_MY_DRIVE_LABEL", IDS_FILE_BROWSER_DRIVE_MY_DRIVE_LABEL);
  SET_STRING("DRIVE_SHARED_DRIVES_LABEL",
             IDS_FILE_BROWSER_DRIVE_SHARED_DRIVES_LABEL);
  SET_STRING("DRIVE_COMPUTERS_LABEL", IDS_FILE_BROWSER_DRIVE_COMPUTERS_LABEL);
  SET_STRING("DRIVE_NOT_REACHED", IDS_FILE_BROWSER_DRIVE_NOT_REACHED);
  SET_STRING("DRIVE_OFFLINE_COLLECTION_LABEL",
             IDS_FILE_BROWSER_DRIVE_OFFLINE_COLLECTION_LABEL);
  SET_STRING("DRIVE_OUT_OF_SPACE_HEADER",
             IDS_FILE_BROWSER_DRIVE_OUT_OF_SPACE_HEADER);
  SET_STRING("SYNC_ERROR_SHARED_DRIVE_OUT_OF_SPACE",
             IDS_FILE_BROWSER_SYNC_ERROR_SHARED_DRIVE_OUT_OF_SPACE);
  SET_STRING("DRIVE_OUT_OF_SPACE_MESSAGE",
             IDS_FILE_BROWSER_DRIVE_OUT_OF_SPACE_MESSAGE);
  SET_STRING("DRIVE_RECENT_COLLECTION_LABEL",
             IDS_FILE_BROWSER_DRIVE_RECENT_COLLECTION_LABEL);
  SET_STRING("DRIVE_SHARED_WITH_ME_COLLECTION_LABEL",
             IDS_FILE_BROWSER_DRIVE_SHARED_WITH_ME_COLLECTION_LABEL);
  SET_STRING("DRIVE_INDIVIDUAL_QUOTA_LOW",
             IDS_FILE_BROWSER_DRIVE_INDIVIDUAL_QUOTA_LOW);
  SET_STRING("DRIVE_SHARED_DRIVE_QUOTA_LOW",
             IDS_FILE_BROWSER_DRIVE_SHARED_DRIVE_QUOTA_LOW);
  SET_STRING("DRIVE_WARNING_QUOTA_OVER",
             IDS_FILE_BROWSER_DRIVE_WARNING_QUOTA_OVER);
  SET_STRING("DRIVE_INDIVIDUAL_QUOTA_OVER",
             IDS_FILE_BROWSER_DRIVE_INDIVIDUAL_QUOTA_OVER);
  SET_STRING("DRIVE_SHARED_DRIVE_QUOTA_OVER",
             IDS_FILE_BROWSER_DRIVE_SHARED_DRIVE_QUOTA_OVER);
  SET_STRING("DRIVE_ORGANIZATION_QUOTA_OVER",
             IDS_FILE_BROWSER_DRIVE_ORGANIZATION_QUOTA_OVER);
  SET_STRING("DRIVE_VISIT_DRIVE_GOOGLE_COM",
             IDS_FILE_BROWSER_DRIVE_VISIT_DRIVE_GOOGLE_COM);
  SET_STRING("DRIVE_WELCOME_DISMISS", IDS_FILE_BROWSER_DRIVE_WELCOME_DISMISS);
  SET_STRING("DRIVE_WELCOME_TEXT_LONG",
             IDS_FILE_BROWSER_DRIVE_WELCOME_TEXT_LONG);
  SET_STRING("DRIVE_WELCOME_TEXT_SHORT",
             IDS_FILE_BROWSER_DRIVE_WELCOME_TEXT_SHORT);
  SET_STRING("DRIVE_WELCOME_TEXT_SHORT_FILESNG",
             IDS_FILE_BROWSER_DRIVE_WELCOME_TEXT_SHORT_FILESNG);
  SET_STRING("DRIVE_WELCOME_TITLE", IDS_FILE_BROWSER_DRIVE_WELCOME_TITLE);
  SET_STRING("SYNC_DELETE_WITHOUT_PERMISSION_ERROR",
             IDS_FILE_BROWSER_SYNC_DELETE_WITHOUT_PERMISSION_ERROR);
  SET_STRING("SYNC_MISC_ERROR", IDS_FILE_BROWSER_SYNC_MISC_ERROR);
  SET_STRING("SYNC_NO_SERVER_SPACE", IDS_FILE_BROWSER_SYNC_NO_SERVER_SPACE);
  SET_STRING("SYNC_NO_SERVER_SPACE_ORGANIZATION",
             IDS_FILE_BROWSER_SYNC_NO_SERVER_SPACE_ORGANIZATION);
  SET_STRING("DRIVE_ORGANIZATION_STORAGE_FULL",
             IDS_FILE_BROWSER_DRIVE_ORGANIZATION_STORAGE_FULL);
  SET_STRING("SYNC_SERVICE_UNAVAILABLE_ERROR",
             IDS_FILE_BROWSER_SYNC_SERVICE_UNAVAILABLE_ERROR);
  SET_STRING("DRIVE_MANAGE_MIRRORSYNC",
             IDS_FILE_BROWSER_DRIVE_MANAGE_MIRRORSYNC_LABEL);
  SET_STRING("GOOGLE_DRIVE_SETTINGS_LINK",
             IDS_FILE_BROWSER_GOOGLE_DRIVE_SETTINGS_LINK_LABEL);
  SET_STRING("DRIVE_MULTIPLE_FILES_SYNCING",
             IDS_FILE_BROWSER_GOOGLE_DRIVE_MULTIPLE_FILES_SYNCING_LABEL);
  SET_STRING("DRIVE_SINGLE_FILE_SYNCING",
             IDS_FILE_BROWSER_GOOGLE_DRIVE_SINGLE_FILE_SYNCING_LABEL);
  SET_STRING("DRIVE_BULK_PINNING_BATTERY_SAVER",
             IDS_FILE_BROWSER_BULK_PINNING_BATTERY_SAVER_LABEL);
  SET_STRING("DRIVE_BULK_PINNING_OFFLINE",
             IDS_FILE_BROWSER_BULK_PINNING_OFFLINE_LABEL);
  SET_STRING("DRIVE_BULK_PINNING_NOT_ENOUGH_SPACE",
             IDS_FILE_BROWSER_BULK_PINNING_NOT_ENOUGH_SPACE_LABEL);
  SET_STRING("DRIVE_PREPARING_TO_SYNC",
             IDS_FILE_BROWSER_BULK_PINNING_PREPARING_TO_SYNC);
  SET_STRING(
      "DRIVE_ITEM_UNAVAILABLE_OFFLINE",
      IDS_FILE_BROWSER_BULK_PINNING_ITEM_TEMPORARILY_UNAVAILABLE_OFFLINE);
  SET_STRING("DRIVE_BULK_PINNING_CALCULATING",
             IDS_FILE_BROWSER_BULK_PINNING_CALCULATING);
  SET_STRING("DRIVE_BULK_PINNING_METERED_NETWORK",
             IDS_FILE_BROWSER_BULK_PINNING_METERED_NETWORK_LABEL);
}

void AddStringsForMediaView(base::Value::Dict* dict) {
  SET_STRING("MEDIA_VIEW_ALL_ROOT_LABEL",
             IDS_FILE_BROWSER_MEDIA_VIEW_ALL_ROOT_LABEL);
  SET_STRING("MEDIA_VIEW_AUDIO_ROOT_LABEL",
             IDS_FILE_BROWSER_MEDIA_VIEW_AUDIO_ROOT_LABEL);
  SET_STRING("MEDIA_VIEW_IMAGES_ROOT_LABEL",
             IDS_FILE_BROWSER_MEDIA_VIEW_IMAGES_ROOT_LABEL);
  SET_STRING("MEDIA_VIEW_VIDEOS_ROOT_LABEL",
             IDS_FILE_BROWSER_MEDIA_VIEW_VIDEOS_ROOT_LABEL);
  SET_STRING("MEDIA_VIEW_DOCUMENTS_ROOT_LABEL",
             IDS_FILE_BROWSER_MEDIA_VIEW_DOCUMENTS_ROOT_LABEL);
  SET_STRING("RECENT_VIEW_FILTER_ON", IDS_FILE_BROWSER_RECENT_VIEW_FILTER_ON);
  SET_STRING("RECENT_VIEW_FILTER_OFF", IDS_FILE_BROWSER_RECENT_VIEW_FILTER_OFF);
  SET_STRING("RECENT_VIEW_FILTER_RESET",
             IDS_FILE_BROWSER_RECENT_VIEW_FILTER_RESET);
  SET_STRING("RECENT_TIME_HEADING_TODAY",
             IDS_FILE_BROWSER_RECENT_TIME_HEADING_TODAY);
  SET_STRING("RECENT_TIME_HEADING_YESTERDAY",
             IDS_FILE_BROWSER_RECENT_TIME_HEADING_YESTERDAY);
  SET_STRING("RECENT_TIME_HEADING_THIS_WEEK",
             IDS_FILE_BROWSER_RECENT_TIME_HEADING_THIS_WEEK);
  SET_STRING("RECENT_TIME_HEADING_THIS_MONTH",
             IDS_FILE_BROWSER_RECENT_TIME_HEADING_THIS_MONTH);
  SET_STRING("RECENT_TIME_HEADING_THIS_YEAR",
             IDS_FILE_BROWSER_RECENT_TIME_HEADING_THIS_YEAR);
  SET_STRING("RECENT_TIME_HEADING_OLDER",
             IDS_FILE_BROWSER_RECENT_TIME_HEADING_OLDER);
  SET_STRING("RECENT_EMPTY_FOLDER", IDS_FILE_BROWSER_RECENT_EMPTY_FOLDER);
  SET_STRING("RECENT_EMPTY_IMAGES_FOLDER",
             IDS_FILE_BROWSER_RECENT_EMPTY_IMAGES_FOLDER);
  SET_STRING("RECENT_EMPTY_AUDIO_FOLDER",
             IDS_FILE_BROWSER_RECENT_EMPTY_AUDIO_FOLDER);
  SET_STRING("RECENT_EMPTY_VIDEOS_FOLDER",
             IDS_FILE_BROWSER_RECENT_EMPTY_VIDEOS_FOLDER);
  SET_STRING("RECENT_EMPTY_DOCUMENTS_FOLDER",
             IDS_FILE_BROWSER_RECENT_EMPTY_DOCUMENTS_FOLDER);
}

void AddStringsForMediaPlayer(base::Value::Dict* dict) {
  SET_STRING("MEDIA_PLAYER_PLAY_BUTTON_LABEL",
             IDS_MEDIA_PLAYER_PLAY_BUTTON_LABEL);
  SET_STRING("MEDIA_PLAYER_PAUSE_BUTTON_LABEL",
             IDS_MEDIA_PLAYER_PAUSE_BUTTON_LABEL);
  SET_STRING("MEDIA_PLAYER_MUTE_BUTTON_LABEL",
             IDS_MEDIA_PLAYER_MUTE_BUTTON_LABEL);
  SET_STRING("MEDIA_PLAYER_UNMUTE_BUTTON_LABEL",
             IDS_MEDIA_PLAYER_UNMUTE_BUTTON_LABEL);
  SET_STRING("MEDIA_PLAYER_PREVIOUS_BUTTON_LABEL",
             IDS_MEDIA_PLAYER_PREVIOUS_BUTTON_LABEL);
  SET_STRING("MEDIA_PLAYER_NEXT_BUTTON_LABEL",
             IDS_MEDIA_PLAYER_NEXT_BUTTON_LABEL);
  SET_STRING("MEDIA_PLAYER_SEEK_SLIDER_LABEL",
             IDS_MEDIA_PLAYER_SEEK_SLIDER_LABEL);
  SET_STRING("MEDIA_PLAYER_VOLUME_SLIDER_LABEL",
             IDS_MEDIA_PLAYER_VOLUME_SLIDER_LABEL);
}

void AddStringsForCrUiMenuItemShortcuts(base::Value::Dict* dict) {
  // Shortcut key names: used from cr.ui.MenuItem.updateShortcut_.
  SET_STRING("SHORTCUT_ALT", IDS_FILE_BROWSER_SHORTCUT_ALT);
  SET_STRING("SHORTCUT_BACKSPACE", IDS_FILE_BROWSER_SHORTCUT_BACKSPACE);
  SET_STRING("SHORTCUT_CTRL", IDS_FILE_BROWSER_SHORTCUT_CTRL);
  SET_STRING("SHORTCUT_ENTER", IDS_FILE_BROWSER_SHORTCUT_ENTER);
  SET_STRING("SHORTCUT_META", IDS_FILE_BROWSER_SHORTCUT_META);
  SET_STRING("SHORTCUT_SHIFT", IDS_FILE_BROWSER_SHORTCUT_SHIFT);
  SET_STRING("SHORTCUT_SPACE", IDS_FILE_BROWSER_SHORTCUT_SPACE);
}

void AddStringsForFileErrors(base::Value::Dict* dict) {
  SET_STRING("FILE_ERROR_GENERIC", IDS_FILE_BROWSER_FILE_ERROR_GENERIC);
  SET_STRING("FILE_ERROR_INVALID_MODIFICATION",
             IDS_FILE_BROWSER_FILE_ERROR_INVALID_MODIFICATION);
  SET_STRING("FILE_ERROR_INVALID_STATE",
             IDS_FILE_BROWSER_FILE_ERROR_INVALID_STATE);
  SET_STRING("FILE_ERROR_NOT_FOUND", IDS_FILE_BROWSER_FILE_ERROR_NOT_FOUND);
  SET_STRING("FILE_ERROR_NOT_READABLE",
             IDS_FILE_BROWSER_FILE_ERROR_NOT_READABLE);
  SET_STRING("FILE_ERROR_NO_MODIFICATION_ALLOWED",
             IDS_FILE_BROWSER_FILE_ERROR_NO_MODIFICATION_ALLOWED);
  SET_STRING("FILE_ERROR_PATH_EXISTS", IDS_FILE_BROWSER_FILE_ERROR_PATH_EXISTS);
  SET_STRING("FILE_ERROR_QUOTA_EXCEEDED",
             IDS_FILE_BROWSER_FILE_ERROR_QUOTA_EXCEEDED);
  SET_STRING("FILE_ERROR_SECURITY", IDS_FILE_BROWSER_FILE_ERROR_SECURITY);
}

void AddStringsForSharesheet(base::Value::Dict* dict) {
  SET_STRING("SHARESHEET_BUTTON_LABEL", IDS_SHARESHEET_TITLE_LABEL);
}

void AddStringsForHoldingSpace(base::Value::Dict* dict) {
  const std::u16string pin_command = l10n_util::GetStringUTF16(
      IDS_FILE_BROWSER_HOLDING_SPACE_PIN_TO_SHELF_COMMAND_LABEL);
  dict->Set("HOLDING_SPACE_PIN_COMMAND_LABEL", pin_command);
  SET_STRING("HOLDING_SPACE_UNPIN_COMMAND_LABEL",
             IDS_FILE_BROWSER_HOLDING_SPACE_UNPIN_FROM_SHELF_COMMAND_LABEL);
  SET_STRING("HOLDING_SPACE_WELCOME_DISMISS",
             IDS_FILE_BROWSER_HOLDING_SPACE_WELCOME_DISMISS);
  dict->Set("HOLDING_SPACE_WELCOME_TEXT",
            l10n_util::GetStringFUTF16(
                IDS_FILE_BROWSER_HOLDING_SPACE_WELCOME_TEXT, pin_command));
  dict->Set("HOLDING_SPACE_WELCOME_TEXT_IN_TABLET_MODE_HTML",
            l10n_util::GetStringFUTF16(
                IDS_FILE_BROWSER_HOLDING_SPACE_WELCOME_TEXT_IN_TABLET_MODE_HTML,
                pin_command));
  SET_STRING("HOLDING_SPACE_WELCOME_TITLE",
             IDS_FILE_BROWSER_HOLDING_SPACE_WELCOME_TITLE);
}

void AddStringsForPhotos(base::Value::Dict* dict) {
  SET_STRING("PHOTOS_WELCOME_DISMISS", IDS_FILE_BROWSER_PHOTOS_WELCOME_DISMISS);
  SET_STRING("PHOTOS_WELCOME_TEXT", IDS_FILE_BROWSER_PHOTOS_WELCOME_TEXT);
  SET_STRING("PHOTOS_WELCOME_TITLE", IDS_FILE_BROWSER_PHOTOS_WELCOME_TITLE);
}

void AddStringsGeneric(base::Value::Dict* dict) {
  SET_STRING("ALL_FILES_FILTER", IDS_FILE_BROWSER_ALL_FILES_FILTER);
  SET_STRING("ARCHIVE_MOUNT_FAILED", IDS_FILE_BROWSER_ARCHIVE_MOUNT_FAILED);
  SET_STRING("ARCHIVE_MOUNT_MESSAGE", IDS_FILE_BROWSER_ARCHIVE_MOUNT_MESSAGE);
  SET_STRING("BULK_PINNING_BATTERY_SAVER",
             IDS_FILE_BROWSER_BULK_PINNING_BATTERY_SAVER);
  SET_STRING("BULK_PINNING_ERROR", IDS_FILE_BROWSER_BULK_PINNING_ERROR);
  SET_STRING("BULK_PINNING_EXPLANATION",
             IDS_FILE_BROWSER_BULK_PINNING_EXPLANATION);
  SET_STRING("BULK_PINNING_GET_STARTED",
             IDS_FILE_BROWSER_BULK_PINNING_GET_STARTED);
  SET_STRING("BULK_PINNING_LISTING", IDS_FILE_BROWSER_BULK_PINNING_LISTING);
  SET_STRING("BULK_PINNING_LISTING_WITH_MULTIPLE_ITEMS",
             IDS_FILE_BROWSER_BULK_PINNING_LISTING_WITH_MULTIPLE_ITEMS);
  SET_STRING("BULK_PINNING_LISTING_WITH_SINGLE_ITEM",
             IDS_FILE_BROWSER_BULK_PINNING_LISTING_WITH_SINGLE_ITEM);
  SET_STRING("BULK_PINNING_NOT_ENOUGH_SPACE",
             IDS_FILE_BROWSER_BULK_PINNING_NOT_ENOUGH_SPACE);
  SET_STRING("BULK_PINNING_OFFLINE", IDS_FILE_BROWSER_BULK_PINNING_OFFLINE);
  SET_STRING("BULK_PINNING_POINT_1", IDS_FILE_BROWSER_BULK_PINNING_POINT_1);
  SET_STRING("BULK_PINNING_SPACE", IDS_FILE_BROWSER_BULK_PINNING_SPACE);
  SET_STRING("BULK_PINNING_TITLE", IDS_FILE_BROWSER_BULK_PINNING_TITLE);
  SET_STRING("BULK_PINNING_TURN_ON", IDS_FILE_BROWSER_BULK_PINNING_TURN_ON);
  SET_STRING("BULK_PINNING_VIEW_STORAGE",
             IDS_FILE_BROWSER_BULK_PINNING_VIEW_STORAGE);
  SET_STRING("CALCULATING_SIZE", IDS_FILE_BROWSER_CALCULATING_SIZE);
  SET_STRING("CAMERA_DIRECTORY_LABEL", IDS_FILE_BROWSER_CAMERA_DIRECTORY_LABEL);
  SET_STRING("CANCEL_ACTIVITY_LABEL", IDS_FILE_BROWSER_CANCEL_ACTIVITY_LABEL);
  SET_STRING("CANCEL_LABEL", IDS_FILE_BROWSER_CANCEL_LABEL);
  SET_STRING("CHANGE_DEFAULT_CAPTION", IDS_FILE_BROWSER_CHANGE_DEFAULT_CAPTION);
  SET_STRING("CHANGE_DEFAULT_MENU_ITEM",
             IDS_FILE_BROWSER_CHANGE_DEFAULT_MENU_ITEM);
  SET_STRING("CLOSE_LABEL", IDS_FILE_BROWSER_CLOSE_LABEL);
  SET_STRING("CLOSE_VOLUME_BUTTON_LABEL",
             IDS_FILE_BROWSER_CLOSE_VOLUME_BUTTON_LABEL);
  SET_STRING("FEEDBACK_COLLAPSE_LABEL",
             IDS_FILE_BROWSER_FEEDBACK_COLLAPSE_LABEL);
  SET_STRING("FILES_FEEDBACK_WINDOW", IDS_FILE_BROWSER_FILES_FEEDBACK_WINDOW);
  SET_STRING("COMPLETE_LABEL", IDS_FILE_BROWSER_COMPLETE_LABEL);
  SET_STRING("QUEUED_LABEL", IDS_FILE_BROWSER_QUEUED_LABEL);
  SET_STRING("IN_PROGRESS_LABEL", IDS_FILE_BROWSER_IN_PROGRESS_LABEL);
  SET_STRING("IN_PROGRESS_PERCENTAGE_LABEL",
             IDS_FILE_BROWSER_IN_PROGRESS_PERCENTAGE_LABEL);
  SET_STRING("CONFIGURE_VOLUME_BUTTON_LABEL",
             IDS_FILE_BROWSER_CONFIGURE_VOLUME_BUTTON_LABEL);
  SET_STRING("CONFIRM_MOBILE_DATA_USE",
             IDS_FILE_BROWSER_CONFIRM_MOBILE_DATA_USE);
  SET_STRING("CONFIRM_MOBILE_DATA_USE_PLURAL",
             IDS_FILE_BROWSER_CONFIRM_MOBILE_DATA_USE_PLURAL);
  SET_STRING("CONFIRM_OVERWRITE_FILE", IDS_FILE_BROWSER_CONFIRM_OVERWRITE_FILE);
  SET_STRING("CONFIRM_EMPTY_TRASH_TITLE",
             IDS_FILE_BROWSER_CONFIRM_EMPTY_TRASH_TITLE);
  SET_STRING("CONFIRM_EMPTY_TRASH_DESC",
             IDS_FILE_BROWSER_CONFIRM_EMPTY_TRASH_DESC);
  SET_STRING("EMPTY_TRASH_DELETE_FOREVER",
             IDS_FILE_BROWSER_EMPTY_TRASH_DELETE_FOREVER);
  SET_STRING("TRASH_NUDGE_LABEL", IDS_FILE_BROWSER_TRASH_NUDGE_LABEL);
  SET_STRING("CONFIRM_DELETE_ONE", IDS_FILE_BROWSER_CONFIRM_DELETE_ONE);
  SET_STRING("CONFIRM_DELETE_SOME", IDS_FILE_BROWSER_CONFIRM_DELETE_SOME);
  SET_STRING("CONFIRM_PERMANENTLY_DELETE_ONE_TITLE",
             IDS_FILE_BROWSER_CONFIRM_PERMANENTLY_DELETE_ONE_TITLE);
  SET_STRING("CONFIRM_PERMANENTLY_DELETE_SOME_TITLE",
             IDS_FILE_BROWSER_CONFIRM_PERMANENTLY_DELETE_SOME_TITLE);
  SET_STRING("CONFIRM_PERMANENTLY_DELETE_ONE_DESC",
             IDS_FILE_BROWSER_CONFIRM_PERMANENTLY_DELETE_ONE_DESC);
  SET_STRING("CONFIRM_PERMANENTLY_DELETE_SOME_DESC",
             IDS_FILE_BROWSER_CONFIRM_PERMANENTLY_DELETE_SOME_DESC);
  SET_STRING("PERMANENTLY_DELETE_FOREVER",
             IDS_FILE_BROWSER_PERMANENTLY_DELETE_FOREVER);
  SET_STRING("CANT_RESTORE_SINGLE_ITEM",
             IDS_FILE_BROWSER_CANT_RESTORE_TRASHED_SINGLE_ITEM);
  SET_STRING("CANT_RESTORE_MULTIPLE_ITEMS_SAME_PARENTS",
             IDS_FILE_BROWSER_CANT_RESTORE_TRASHED_MULTIPLE_ITEMS_SAME_PARENTS);
  SET_STRING(
      "CANT_RESTORE_MULTIPLE_ITEMS_DIFFERENT_PARENTS",
      IDS_FILE_BROWSER_CANT_RESTORE_TRASHED_MULTIPLE_ITEMS_DIFFERENT_PARENTS);
  SET_STRING("CANT_RESTORE_SOME_ITEMS",
             IDS_FILE_BROWSER_CANT_RESTORE_TRASHED_SOME_ITEMS);
  SET_STRING("CONFLICT_DIALOG_MESSAGE",
             IDS_FILE_BROWSER_CONFLICT_DIALOG_MESSAGE);
  SET_STRING("CONFLICT_DIALOG_FOLDER_MESSAGE",
             IDS_FILE_BROWSER_CONFLICT_DIALOG_FOLDER_MESSAGE);
  SET_STRING("CONFLICT_DIALOG_APPLY_TO_ALL",
             IDS_FILE_BROWSER_CONFLICT_DIALOG_APPLY_TO_ALL);
  SET_STRING("CONFLICT_DIALOG_KEEP_BOTH",
             IDS_FILE_BROWSER_CONFLICT_DIALOG_KEEP_BOTH);
  SET_STRING("CONFLICT_DIALOG_REPLACE",
             IDS_FILE_BROWSER_CONFLICT_DIALOG_REPLACE);
  SET_STRING("CONFLICT_DIALOG_KEEP_ALL",
             IDS_FILE_BROWSER_CONFLICT_DIALOG_KEEP_ALL);
  SET_STRING("CONFLICT_DIALOG_REPLACE_ALL",
             IDS_FILE_BROWSER_CONFLICT_DIALOG_REPLACE_ALL);

  SET_STRING("COPY_BUTTON_LABEL", IDS_FILE_BROWSER_COPY_BUTTON_LABEL);
  SET_STRING("COPY_FILESYSTEM_ERROR", IDS_FILE_BROWSER_COPY_FILESYSTEM_ERROR);
  SET_STRING("COPY_SKIPPED_ENCRYPTED_SINGLE_FILE",
             IDS_FILE_BROWSER_COPY_SKIPPED_ENCRYPTED_SINGLE_FILE);
  SET_STRING("MOVE_SKIPPED_ENCRYPTED_SINGLE_FILE",
             IDS_FILE_BROWSER_MOVE_SKIPPED_ENCRYPTED_SINGLE_FILE);
  SET_STRING("COPY_SKIPPED_ENCRYPTED_FILES",
             IDS_FILE_BROWSER_COPY_SKIPPED_ENCRYPTED_FILES);
  SET_STRING("MOVE_SKIPPED_ENCRYPTED_FILES",
             IDS_FILE_BROWSER_MOVE_SKIPPED_ENCRYPTED_FILES);
  SET_STRING("ENCRYPTED_DETAILS", IDS_FILE_BROWSER_ENCRYPTED_DETAILS);
  SET_STRING("EMPTY_TRASH_UNEXPECTED_ERROR",
             IDS_FILE_BROWSER_EMPTY_TRASH_UNEXPECTED_ERROR);
  SET_STRING("TRASH_UNEXPECTED_ERROR", IDS_FILE_BROWSER_TRASH_UNEXPECTED_ERROR);
  SET_STRING("EMPTY_TRASH_FOLDER_TITLE",
             IDS_FILE_BROWSER_EMPTY_TRASH_FOLDER_TITLE);
  SET_STRING("EMPTY_TRASH_FOLDER_DESC",
             IDS_FILE_BROWSER_EMPTY_TRASH_FOLDER_DESC);
  SET_STRING("COPY_FILE_NAME", IDS_FILE_BROWSER_COPY_FILE_NAME);
  SET_STRING("COPY_ITEMS_REMAINING", IDS_FILE_BROWSER_COPY_ITEMS_REMAINING);
  SET_STRING("COPY_FILE_NAME_LONG", IDS_FILE_BROWSER_COPY_FILE_NAME_LONG);
  SET_STRING("COPY_ITEMS_REMAINING_LONG",
             IDS_FILE_BROWSER_COPY_ITEMS_REMAINING_LONG);
  SET_STRING("PREPARING_FILE_NAME_MY_DRIVE",
             IDS_FILE_BROWSER_PREPARING_FILE_NAME_MY_DRIVE);
  SET_STRING("PREPARING_ITEMS_MY_DRIVE",
             IDS_FILE_BROWSER_PREPARING_ITEMS_MY_DRIVE);
  SET_STRING("READY_TO_SYNC_MY_DRIVE", IDS_FILE_BROWSER_READY_TO_SYNC_MY_DRIVE);
  SET_STRING("COPY_SOURCE_NOT_FOUND_ERROR",
             IDS_FILE_BROWSER_COPY_SOURCE_NOT_FOUND_ERROR);
  SET_STRING("COPY_TARGET_EXISTS_ERROR",
             IDS_FILE_BROWSER_COPY_TARGET_EXISTS_ERROR);
  SET_STRING("PIN_FOLDER_BUTTON_LABEL",
             IDS_FILE_BROWSER_PIN_FOLDER_BUTTON_LABEL);
  SET_STRING("CUT_BUTTON_LABEL", IDS_FILE_BROWSER_CUT_BUTTON_LABEL);
  SET_STRING("DATE_COLUMN_LABEL", IDS_FILE_BROWSER_DATE_COLUMN_LABEL);
  SET_STRING("DEFAULT_NEW_FOLDER_NAME",
             IDS_FILE_BROWSER_DEFAULT_NEW_FOLDER_NAME);
  SET_STRING("DEFAULT_TASK_LABEL", IDS_FILE_BROWSER_DEFAULT_TASK_LABEL);
  SET_STRING("DELETE_BUTTON_LABEL", IDS_FILE_BROWSER_DELETE_BUTTON_LABEL);
  SET_STRING("DELETE_ERROR", IDS_FILE_BROWSER_DELETE_ERROR);
  SET_STRING("DELETE_IN_USE_ERROR", IDS_FILE_BROWSER_DELETE_IN_USE_ERROR);
  SET_STRING("DELETE_FILE_NAME", IDS_FILE_BROWSER_DELETE_FILE_NAME);
  SET_STRING("DELETE_ITEMS_REMAINING", IDS_FILE_BROWSER_DELETE_ITEMS_REMAINING);
  SET_STRING("DEVICE_HARD_UNPLUGGED_MESSAGE",
             IDS_DEVICE_HARD_UNPLUGGED_MESSAGE);
  SET_STRING("DEVICE_HARD_UNPLUGGED_TITLE", IDS_DEVICE_HARD_UNPLUGGED_TITLE);
  SET_STRING("DEVICE_UNKNOWN_BUTTON_LABEL", IDS_DEVICE_UNKNOWN_BUTTON_LABEL);
  SET_STRING("DEVICE_UNKNOWN_DEFAULT_MESSAGE",
             IDS_DEVICE_UNKNOWN_DEFAULT_MESSAGE);
  SET_STRING("DEVICE_UNKNOWN_MESSAGE", IDS_DEVICE_UNKNOWN_MESSAGE);
  SET_STRING("DEVICE_UNSUPPORTED_DEFAULT_MESSAGE",
             IDS_DEVICE_UNSUPPORTED_DEFAULT_MESSAGE);
  SET_STRING("DEVICE_UNSUPPORTED_MESSAGE", IDS_DEVICE_UNSUPPORTED_MESSAGE);
  SET_STRING("DIRECTORY_ALREADY_EXISTS",
             IDS_FILE_BROWSER_DIRECTORY_ALREADY_EXISTS);
  SET_STRING("DISABLED_MOBILE_SYNC_NOTIFICATION_ENABLE_BUTTON",
             IDS_FILE_BROWSER_DISABLED_MOBILE_SYNC_NOTIFICATION_ENABLE_BUTTON);
  SET_STRING("DISABLED_MOBILE_SYNC_NOTIFICATION_MESSAGE",
             IDS_FILE_BROWSER_DISABLED_MOBILE_SYNC_NOTIFICATION_MESSAGE);
  SET_STRING("DISMISS_LABEL", IDS_FILE_BROWSER_DISMISS_LABEL);
  SET_STRING("DOWNLOADS_DIRECTORY_LABEL",
             IDS_FILE_BROWSER_DOWNLOADS_DIRECTORY_LABEL);
  SET_STRING("LEARN_MORE_LABEL", IDS_FILE_BROWSER_LEARN_MORE_LABEL);
  SET_STRING("DOWNLOADS_DIRECTORY_WARNING",
             IDS_FILE_BROWSER_DOWNLOADS_DIRECTORY_WARNING);
  SET_STRING("DOWNLOADS_DIRECTORY_WARNING_FILESNG",
             IDS_FILE_BROWSER_DOWNLOADS_DIRECTORY_WARNING_FILESNG);
  SET_STRING("DRAGGING_MULTIPLE_ITEMS",
             IDS_FILE_BROWSER_DRAGGING_MULTIPLE_ITEMS);
  SET_STRING("EMPTY_TRASH_BUTTON_LABEL",
             IDS_FILE_BROWSER_EMPTY_TRASH_BUTTON_LABEL);
  SET_STRING("ERROR_CREATING_FOLDER", IDS_FILE_BROWSER_ERROR_CREATING_FOLDER);
  SET_STRING("ERROR_HIDDEN_NAME", IDS_FILE_BROWSER_ERROR_HIDDEN_NAME);
  SET_STRING("ERROR_INVALID_CHARACTER",
             IDS_FILE_BROWSER_ERROR_INVALID_CHARACTER);
  SET_STRING("ERROR_EXTERNAL_DRIVE_INVALID_CHARACTER",
             IDS_FILE_BROWSER_ERROR_EXTERNAL_DRIVE_INVALID_CHARACTER);
  SET_STRING("ERROR_INVALID_WALLPAPER",
             IDS_WALLPAPER_MANAGER_INVALID_WALLPAPER);
  SET_STRING("ERROR_LINUX_FILES_CONNECTION",
             IDS_FILE_BROWSER_ERROR_LINUX_FILES_CONNECTION);
  SET_STRING("ERROR_LONG_NAME", IDS_FILE_BROWSER_ERROR_LONG_NAME);
  SET_STRING("ERROR_EXTERNAL_DRIVE_LONG_NAME",
             IDS_FILE_BROWSER_ERROR_EXTERNAL_DRIVE_LONG_NAME);
  SET_STRING("ERROR_RENAMING", IDS_FILE_BROWSER_ERROR_RENAMING);
  SET_STRING("ERROR_RESERVED_NAME", IDS_FILE_BROWSER_ERROR_RESERVED_NAME);
  SET_STRING("ERROR_WHITESPACE_NAME", IDS_FILE_BROWSER_ERROR_WHITESPACE_NAME);
  SET_STRING("FEEDBACK_EXPAND_LABEL", IDS_FILE_BROWSER_FEEDBACK_EXPAND_LABEL);
  SET_STRING("EXTERNAL_STORAGE_DISABLED_MESSAGE",
             IDS_EXTERNAL_STORAGE_DISABLED_MESSAGE);
  SET_STRING("FAILED_SPACE_INFO", IDS_FILE_BROWSER_FAILED_SPACE_INFO);
  SET_STRING("FILENAME_LABEL", IDS_FILE_BROWSER_FILENAME_LABEL);
  SET_STRING("FILE_ALREADY_EXISTS", IDS_FILE_BROWSER_FILE_ALREADY_EXISTS);
  SET_STRING("FILE_COPIED", IDS_FILE_BROWSER_FILE_COPIED);
  SET_STRING("FILE_EXTRACTED", IDS_FILE_BROWSER_FILE_EXTRACTED);
  SET_STRING("FILE_ITEMS", IDS_FILE_BROWSER_FILE_ITEMS);
  SET_STRING("FILE_ITEMS_COPIED", IDS_FILE_BROWSER_FILE_ITEMS_COPIED);
  SET_STRING("FILE_ITEMS_EXTRACTED", IDS_FILE_BROWSER_FILE_ITEMS_EXTRACTED);
  SET_STRING("FILE_ITEMS_MOVED", IDS_FILE_BROWSER_FILE_ITEMS_MOVED);
  SET_STRING("FILE_MOVED", IDS_FILE_BROWSER_FILE_MOVED);
  SET_STRING("FILES_SETTINGS_LABEL", IDS_FILE_BROWSER_FILES_SETTINGS_LABEL);
  SET_STRING("FOLDER_SHARED_WITH_CROSTINI",
             IDS_FILE_BROWSER_FOLDER_SHARED_WITH_CROSTINI);
  SET_STRING("FOLDER_SHARED_WITH_CROSTINI_PLURAL",
             IDS_FILE_BROWSER_FOLDER_SHARED_WITH_CROSTINI_PLURAL);
  SET_STRING("FOLDER_SHARED_WITH_PLUGIN_VM",
             IDS_FILE_BROWSER_FOLDER_SHARED_WITH_PLUGIN_VM);
  SET_STRING("FOLDER_SHARED_WITH_PLUGIN_VM_PLURAL",
             IDS_FILE_BROWSER_FOLDER_SHARED_WITH_PLUGIN_VM_PLURAL);
  SET_STRING("FORMATTING_FINISHED_FAILURE_MESSAGE",
             IDS_FORMATTING_FINISHED_FAILURE_MESSAGE);
  SET_STRING("FORMATTING_FINISHED_SUCCESS_MESSAGE",
             IDS_FORMATTING_FINISHED_SUCCESS_MESSAGE);
  SET_STRING("FORMATTING_OF_DEVICE_FAILED_TITLE",
             IDS_FORMATTING_OF_DEVICE_FAILED_TITLE);
  SET_STRING("FORMATTING_OF_DEVICE_FINISHED_TITLE",
             IDS_FORMATTING_OF_DEVICE_FINISHED_TITLE);
  SET_STRING("FORMATTING_OF_DEVICE_PENDING_MESSAGE",
             IDS_FORMATTING_OF_DEVICE_PENDING_MESSAGE);
  SET_STRING("FORMATTING_OF_DEVICE_PENDING_TITLE",
             IDS_FORMATTING_OF_DEVICE_PENDING_TITLE);
  SET_STRING("FORMATTING_WARNING", IDS_FILE_BROWSER_FORMATTING_WARNING);
  SET_STRING("PAUSE_LABEL", IDS_FILE_BROWSER_PAUSE_LABEL);
  SET_STRING("PERCENT_COMPLETE", IDS_FILE_BROWSER_PERCENT_COMPLETE);
  SET_STRING("RENAMING_OF_DEVICE_FINISHED_FAILURE_MESSAGE",
             IDS_RENAMING_OF_DEVICE_FINISHED_FAILURE_MESSAGE);
  SET_STRING("RENAMING_OF_DEVICE_FAILED_TITLE",
             IDS_RENAMING_OF_DEVICE_FAILED_TITLE);
  SET_STRING("FORMAT_DEVICE_BUTTON_LABEL",
             IDS_FILE_BROWSER_FORMAT_DEVICE_BUTTON_LABEL);
  SET_STRING("FORMAT_DIALOG_TITLE", IDS_FILE_BROWSER_FORMAT_DIALOG_TITLE);
  SET_STRING("FORMAT_DIALOG_MESSAGE", IDS_FILE_BROWSER_FORMAT_DIALOG_MESSAGE);
  SET_STRING("FORMAT_PARTITION_DIALOG_MESSAGE",
             IDS_FILE_BROWSER_FORMAT_PARTITION_DIALOG_MESSAGE);
  SET_STRING("FORMAT_DIALOG_DELETE_WARNING",
             IDS_FILE_BROWSER_FORMAT_DIALOG_DELETE_WARNING);
  SET_STRING("FORMAT_DIALOG_DRIVE_NAME_LABEL",
             IDS_FILE_BROWSER_FORMAT_DIALOG_DRIVE_NAME_LABEL);
  SET_STRING("FORMAT_DIALOG_FORMAT_LABEL",
             IDS_FILE_BROWSER_FORMAT_DIALOG_FORMAT_LABEL);
  SET_STRING("FORMAT_DIALOG_CONFIRM_LABEL",
             IDS_FILE_BROWSER_FORMAT_DIALOG_CONFIRM_LABEL);
  SET_STRING("FORMAT_DIALOG_CONFIRM_SHORT_LABEL",
             IDS_FILE_BROWSER_FORMAT_DIALOG_CONFIRM_SHORT_LABEL);
  SET_STRING("FORMAT_PROGRESS_MESSAGE",
             IDS_FILE_BROWSER_FORMAT_PROGRESS_MESSAGE);
  SET_STRING("FORMAT_SUCCESS_MESSAGE", IDS_FILE_BROWSER_FORMAT_SUCCESS_MESSAGE);
  SET_STRING("FORMAT_FAILURE_MESSAGE", IDS_FILE_BROWSER_FORMAT_FAILURE_MESSAGE);
  SET_STRING("PASSWORD_DIALOG_TITLE", IDS_FILE_BROWSER_PASSWORD_DIALOG_TITLE);
  SET_STRING("PASSWORD_DIALOG_CONFIRM_LABEL",
             IDS_FILE_BROWSER_PASSWORD_DIALOG_CONFIRM_LABEL);
  SET_STRING("PASSWORD_DIALOG_INVALID",
             IDS_FILE_BROWSER_PASSWORD_DIALOG_INVALID);
  SET_STRING("SORT_BUTTON_TOOLTIP", IDS_FILE_BROWSER_SORT_BUTTON_TOOLTIP);
  SET_STRING("GEAR_BUTTON_TOOLTIP", IDS_FILE_BROWSER_GEAR_BUTTON_TOOLTIP);
  SET_STRING("SELECTION_MENU_BUTTON_TOOLTIP",
             IDS_FILE_BROWSER_SELECTION_MENU_BUTTON_TOOLTIP);
  SET_STRING("READONLY_INDICATOR_TOOLTIP",
             IDS_FILE_BROWSER_READONLY_INDICATOR_TOOLTIP);
  SET_STRING("CONTEXT_MENU_LABEL", IDS_FILE_BROWSER_CONTEXT_MENU_LABEL);
  SET_STRING("GET_INFO_BUTTON_LABEL", IDS_FILE_BROWSER_GET_INFO_BUTTON_LABEL);
  SET_STRING("HOSTED_OFFLINE_MESSAGE", IDS_FILE_BROWSER_HOSTED_OFFLINE_MESSAGE);
  SET_STRING("HOSTED_OFFLINE_MESSAGE_PLURAL",
             IDS_FILE_BROWSER_HOSTED_OFFLINE_MESSAGE_PLURAL);
  SET_STRING("INSTALL_LINUX_PACKAGE_TITLE",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_TITLE);
  SET_STRING("INSTALL_LINUX_PACKAGE_DESCRIPTION",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_DESCRIPTION);
  SET_STRING("INSTALL_LINUX_PACKAGE_DETAILS_LABEL",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_DETAILS_LABEL);
  SET_STRING("INSTALL_LINUX_PACKAGE_DETAILS_APPLICATION_LABEL",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_DETAILS_APPLICATION_LABEL);
  SET_STRING("INSTALL_LINUX_PACKAGE_DETAILS_VERSION_LABEL",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_DETAILS_VERSION_LABEL);
  SET_STRING("INSTALL_LINUX_PACKAGE_DETAILS_DESCRIPTION_LABEL",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_DETAILS_DESCRIPTION_LABEL);
  SET_STRING("INSTALL_LINUX_PACKAGE_DETAILS_LOADING",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_DETAILS_LOADING);
  SET_STRING("INSTALL_LINUX_PACKAGE_DETAILS_NOT_AVAILABLE",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_DETAILS_NOT_AVAILABLE);
  SET_STRING("INSTALL_LINUX_PACKAGE_INSTALL_BUTTON",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_INSTALL_BUTTON);
  SET_STRING("INSTALL_LINUX_PACKAGE_INSTALLATION_STARTED",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_INSTALLATION_STARTED);
  SET_STRING("INSTALL_LINUX_PACKAGE_ERROR_TITLE",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_ERROR_TITLE);
  SET_STRING("INSTALL_LINUX_PACKAGE_ERROR_DESCRIPTION",
             IDS_FILE_BROWSER_INSTALL_LINUX_PACKAGE_ERROR_DESCRIPTION);
  SET_STRING("IMPORT_CROSTINI_IMAGE_DIALOG_TITLE",
             IDS_SETTINGS_CROSTINI_CONFIRM_IMPORT_DIALOG_WINDOW_TITLE);
  SET_STRING("IMPORT_CROSTINI_IMAGE_DIALOG_DESCRIPTION",
             IDS_SETTINGS_CROSTINI_CONFIRM_IMPORT_DIALOG_WINDOW_MESSAGE);
  SET_STRING("IMPORT_CROSTINI_IMAGE_DIALOG_OK_LABEL",
             IDS_SETTINGS_CROSTINI_IMPORT);
  SET_STRING("MANY_DIRECTORIES_SELECTED",
             IDS_FILE_BROWSER_MANY_DIRECTORIES_SELECTED);
  SET_STRING("MANY_ENTRIES_SELECTED", IDS_FILE_BROWSER_MANY_ENTRIES_SELECTED);
  SET_STRING("MANY_FILES_SELECTED", IDS_FILE_BROWSER_MANY_FILES_SELECTED);
  SET_STRING("MESSAGE_FOLDER_SHARED_WITH_CROSTINI",
             IDS_FILE_BROWSER_MESSAGE_FOLDER_SHARED_WITH_CROSTINI);
  SET_STRING(
      "MESSAGE_FOLDER_SHARED_WITH_CROSTINI_AND_PLUGIN_VM",
      IDS_FILE_BROWSER_MESSAGE_FOLDER_SHARED_WITH_CROSTINI_AND_PLUGIN_VM);
  SET_STRING("MESSAGE_FOLDER_SHARED_WITH_PLUGIN_VM",
             IDS_FILE_BROWSER_MESSAGE_FOLDER_SHARED_WITH_PLUGIN_VM);
  SET_STRING("METADATA_BOX_ALBUM_TITLE",
             IDS_FILE_BROWSER_METADATA_BOX_ALBUM_TITLE);
  SET_STRING("METADATA_BOX_AUDIO_INFO",
             IDS_FILE_BROWSER_METADATA_BOX_AUDIO_INFO);
  SET_STRING("METADATA_BOX_CODEC", IDS_FILE_BROWSER_METADATA_BOX_CODEC);
  SET_STRING("METADATA_BOX_CREATED_BY",
             IDS_FILE_BROWSER_METADATA_BOX_CREATED_BY);
  SET_STRING("METADATA_BOX_CREATION_TIME",
             IDS_FILE_BROWSER_METADATA_BOX_CREATION_TIME);
  SET_STRING("METADATA_BOX_DIMENSION", IDS_FILE_BROWSER_METADATA_BOX_DIMENSION);
  SET_STRING("METADATA_BOX_DURATION", IDS_FILE_BROWSER_METADATA_BOX_DURATION);
  SET_STRING("METADATA_BOX_ENCRYPTED", IDS_FILE_BROWSER_METADATA_BOX_ENCRYPTED);
  SET_STRING("METADATA_BOX_EXIF_DEVICE_MODEL",
             IDS_FILE_BROWSER_METADATA_BOX_EXIF_DEVICE_MODEL);
  SET_STRING("METADATA_BOX_EXIF_DEVICE_SETTINGS",
             IDS_FILE_BROWSER_METADATA_BOX_EXIF_DEVICE_SETTINGS);
  SET_STRING("METADATA_BOX_EXIF_GEOGRAPHY",
             IDS_FILE_BROWSER_METADATA_BOX_EXIF_GEOGRAPHY);
  SET_STRING("METADATA_BOX_FILE_LOCATION",
             IDS_FILE_BROWSER_METADATA_BOX_FILE_LOCATION);
  SET_STRING("METADATA_BOX_ORIGINAL_LOCATION",
             IDS_FILE_BROWSER_METADATA_BOX_ORIGINAL_LOCATION);
  SET_STRING("METADATA_BOX_FILE_PATH", IDS_FILE_BROWSER_METADATA_BOX_FILE_PATH);
  SET_STRING("METADATA_BOX_FILE_SIZE", IDS_FILE_BROWSER_METADATA_BOX_FILE_SIZE);
  SET_STRING("METADATA_BOX_FRAME_RATE",
             IDS_FILE_BROWSER_METADATA_BOX_FRAME_RATE);
  SET_STRING("METADATA_BOX_GENERAL_INFO",
             IDS_FILE_BROWSER_METADATA_BOX_GENERAL_INFO);
  SET_STRING("METADATA_BOX_GENRE", IDS_FILE_BROWSER_METADATA_BOX_GENRE);
  SET_STRING("METADATA_BOX_IMAGE_INFO",
             IDS_FILE_BROWSER_METADATA_BOX_IMAGE_INFO);
  SET_STRING("METADATA_BOX_MEDIA_ARTIST",
             IDS_FILE_BROWSER_METADATA_BOX_MEDIA_ARTIST);
  SET_STRING("METADATA_BOX_MEDIA_MIME_TYPE",
             IDS_FILE_BROWSER_METADATA_BOX_MEDIA_MIME_TYPE);
  SET_STRING("METADATA_BOX_MEDIA_TITLE",
             IDS_FILE_BROWSER_METADATA_BOX_MEDIA_TITLE);
  SET_STRING("METADATA_BOX_MODIFICATION_TIME",
             IDS_FILE_BROWSER_METADATA_BOX_MODIFICATION_TIME);
  SET_STRING("METADATA_BOX_MODIFIED_BY",
             IDS_FILE_BROWSER_METADATA_BOX_MODIFIED_BY);
  SET_STRING("METADATA_BOX_DATE_TAKEN",
             IDS_FILE_BROWSER_METADATA_BOX_DATE_TAKEN);
  SET_STRING("METADATA_BOX_PAGE_COUNT",
             IDS_FILE_BROWSER_METADATA_BOX_PAGE_COUNT);
  SET_STRING("METADATA_BOX_SOURCE", IDS_FILE_BROWSER_METADATA_BOX_SOURCE);
  SET_STRING("METADATA_BOX_TRACK", IDS_FILE_BROWSER_METADATA_BOX_TRACK);
  SET_STRING("METADATA_BOX_VIDEO_INFO",
             IDS_FILE_BROWSER_METADATA_BOX_VIDEO_INFO);
  SET_STRING("METADATA_BOX_YEAR_RECORDED",
             IDS_FILE_BROWSER_METADATA_BOX_YEAR_RECORDED);
  SET_STRING("MOUNT_ARCHIVE", IDS_FILE_BROWSER_MOUNT_ARCHIVE);
  SET_STRING("MOVE_FILESYSTEM_ERROR", IDS_FILE_BROWSER_MOVE_FILESYSTEM_ERROR);
  SET_STRING("MOVE_FILE_NAME", IDS_FILE_BROWSER_MOVE_FILE_NAME);
  SET_STRING("MOVE_IN_USE_ERROR", IDS_FILE_BROWSER_MOVE_IN_USE_ERROR);
  SET_STRING("MOVE_ITEMS_REMAINING", IDS_FILE_BROWSER_MOVE_ITEMS_REMAINING);
  SET_STRING("MOVE_FILE_NAME_LONG", IDS_FILE_BROWSER_MOVE_FILE_NAME_LONG);
  SET_STRING("MOVE_ITEMS_REMAINING_LONG",
             IDS_FILE_BROWSER_MOVE_ITEMS_REMAINING_LONG);
  SET_STRING("MOVE_SOURCE_NOT_FOUND_ERROR",
             IDS_FILE_BROWSER_MOVE_SOURCE_NOT_FOUND_ERROR);
  SET_STRING("MOVE_TARGET_EXISTS_ERROR",
             IDS_FILE_BROWSER_MOVE_TARGET_EXISTS_ERROR);
  SET_STRING("MOVE_TO_TRASH_BUTTON_LABEL",
             IDS_FILE_BROWSER_MOVE_TO_TRASH_BUTTON_LABEL);
  SET_STRING("MULTIPART_DEVICE_UNSUPPORTED_DEFAULT_MESSAGE",
             IDS_MULTIPART_DEVICE_UNSUPPORTED_DEFAULT_MESSAGE);
  SET_STRING("MULTIPART_DEVICE_UNSUPPORTED_MESSAGE",
             IDS_MULTIPART_DEVICE_UNSUPPORTED_MESSAGE);
  SET_STRING("NAME_COLUMN_LABEL", IDS_FILE_BROWSER_NAME_COLUMN_LABEL);
  SET_STRING("NEW_FOLDER_BUTTON_LABEL",
             IDS_FILE_BROWSER_NEW_FOLDER_BUTTON_LABEL);
  SET_STRING("NEW_WINDOW_BUTTON_LABEL",
             IDS_FILE_BROWSER_NEW_WINDOW_BUTTON_LABEL);
  SET_STRING("NO_TASK_FOR_CRX", IDS_FILE_BROWSER_NO_TASK_FOR_CRX);
  SET_STRING("NO_TASK_FOR_CRX_TITLE", IDS_FILE_BROWSER_NO_TASK_FOR_CRX_TITLE);
  SET_STRING("NO_TASK_FOR_DMG", IDS_FILE_BROWSER_NO_TASK_FOR_DMG);
  SET_STRING("NO_TASK_FOR_EXECUTABLE", IDS_FILE_BROWSER_NO_TASK_FOR_EXECUTABLE);
  SET_STRING("NO_TASK_FOR_FILE", IDS_FILE_BROWSER_NO_TASK_FOR_FILE);
  SET_STRING("OFFLINE_COLUMN_LABEL", IDS_FILE_BROWSER_OFFLINE_COLUMN_LABEL);
  SET_STRING("OFFLINE_ENABLE_MESSAGE", IDS_FILE_BROWSER_OFFLINE_ENABLE_MESSAGE);
  SET_STRING("OFFLINE_ENABLE_ACCEPT", IDS_FILE_BROWSER_OFFLINE_ENABLE_ACCEPT);
  SET_STRING("OFFLINE_ENABLE_REJECT", IDS_FILE_BROWSER_OFFLINE_ENABLE_REJECT);
  SET_STRING("OFFLINE_HEADER", IDS_FILE_BROWSER_OFFLINE_HEADER);
  SET_STRING("OFFLINE_MESSAGE", IDS_FILE_BROWSER_OFFLINE_MESSAGE);
  SET_STRING("OFFLINE_MESSAGE_PLURAL", IDS_FILE_BROWSER_OFFLINE_MESSAGE_PLURAL);
  SET_STRING("OFFLINE_BANNER_MESSAGE", IDS_FILE_BROWSER_OFFLINE_BANNER_MESSAGE);
  SET_STRING("DRIVE_OFFLINE_BANNER_TITLE",
             IDS_FILE_BROWSER_DRIVE_OFFLINE_BANNER_TITLE);
  SET_STRING("DRIVE_OFFLINE_BANNER_SUBTITLE",
             IDS_FILE_BROWSER_DRIVE_OFFLINE_BANNER_SUBTITLE);
  SET_STRING("OFFLINE_FAILURE_MESSAGE",
             IDS_FILE_BROWSER_OFFLINE_FAILURE_MESSAGE);
  SET_STRING("OK_LABEL", IDS_FILE_BROWSER_OK_LABEL);
  SET_STRING("ONE_DIRECTORY_SELECTED", IDS_FILE_BROWSER_ONE_DIRECTORY_SELECTED);
  SET_STRING("ONE_FILE_SELECTED", IDS_FILE_BROWSER_ONE_FILE_SELECTED);
  SET_STRING("OPEN_IN_OTHER_DESKTOP_MESSAGE",
             IDS_FILE_BROWSER_OPEN_IN_OTHER_DESKTOP_MESSAGE);
  SET_STRING("OPEN_IN_OTHER_DESKTOP_MESSAGE_PLURAL",
             IDS_FILE_BROWSER_OPEN_IN_OTHER_DESKTOP_MESSAGE_PLURAL);
  SET_STRING("OPEN_LABEL", IDS_FILE_BROWSER_OPEN_LABEL);
  SET_STRING("OPEN_WITH_BUTTON_LABEL", IDS_FILE_BROWSER_OPEN_WITH_BUTTON_LABEL);
  SET_STRING("GO_TO_FILE_LOCATION_BUTTON_LABEL",
             IDS_FILE_BROWSER_GO_TO_FILE_LOCATION_BUTTON_LABEL);
  SET_STRING("SEND_FEEDBACK", IDS_FILE_BROWSER_SEND_FEEDBACK_BUTTON_LABEL);
  SET_STRING("PASTE_BUTTON_LABEL", IDS_FILE_BROWSER_PASTE_BUTTON_LABEL);
  SET_STRING("PASTE_INTO_FOLDER_BUTTON_LABEL",
             IDS_FILE_BROWSER_PASTE_INTO_FOLDER_BUTTON_LABEL);
  SET_STRING("PENDING_LABEL", IDS_FILE_BROWSER_PENDING_LABEL);
  SET_STRING("PLUGIN_VM_DIRECTORY_LABEL",
             IDS_FILE_BROWSER_PLUGIN_VM_DIRECTORY_LABEL);
  SET_STRING("PREPARING_LABEL", IDS_FILE_BROWSER_PREPARING_LABEL);
  SET_STRING("QUICK_VIEW_CLOSE_BUTTON_LABEL",
             IDS_FILE_BROWSER_QUICK_VIEW_CLOSE_BUTTON_LABEL);
  SET_STRING("QUICK_VIEW_NO_PLAYBACK_AVAILABLE",
             IDS_FILE_BROWSER_QUICK_VIEW_NO_PLAYBACK_AVAILABLE);
  SET_STRING("QUICK_VIEW_NO_PREVIEW_AVAILABLE",
             IDS_FILE_BROWSER_QUICK_VIEW_NO_PREVIEW_AVAILABLE);
  SET_STRING("QUICK_VIEW_OPEN_IN_NEW_BUTTON_LABEL",
             IDS_FILE_BROWSER_QUICK_VIEW_OPEN_IN_NEW_BUTTON_LABEL);
  SET_STRING("QUICK_VIEW_DELETE_BUTTON_LABEL",
             IDS_FILE_BROWSER_QUICK_VIEW_DELETE_BUTTON_LABEL);
  SET_STRING("QUICK_VIEW_TOGGLE_METADATA_BOX_BUTTON_LABEL",
             IDS_FILE_BROWSER_QUICK_VIEW_TOGGLE_METADATA_BOX_BUTTON_LABEL);
  SET_STRING("READ_ONLY_LABEL", IDS_FILE_BROWSER_READ_ONLY_LABEL);
  SET_STRING("REFRESH_BUTTON_LABEL", IDS_FILE_BROWSER_REFRESH_BUTTON_LABEL);
  SET_STRING("REMOVABLE_DEVICE_DETECTION_TITLE",
             IDS_REMOVABLE_DEVICE_DETECTION_TITLE);
  SET_STRING("REMOVABLE_DEVICE_ALLOW_PLAY_STORE_ACCESS_MESSAGE",
             IDS_REMOVABLE_DEVICE_ALLOW_PLAY_STORE_ACCESS_MESSAGE);
  SET_STRING("REMOVABLE_DEVICE_PLAY_STORE_APPS_HAVE_ACCESS_MESSAGE",
             IDS_REMOVABLE_DEVICE_PLAY_STORE_APPS_HAVE_ACCESS_MESSAGE);
  SET_STRING("REMOVABLE_DEVICE_IMPORT_BUTTON_LABEL",
             IDS_REMOVABLE_DEVICE_IMPORT_BUTTON_LABEL);
  SET_STRING("REMOVABLE_DEVICE_IMPORT_MESSAGE",
             IDS_REMOVABLE_DEVICE_IMPORT_MESSAGE);
  SET_STRING("REMOVABLE_DEVICE_NAVIGATION_BUTTON_LABEL",
             IDS_REMOVABLE_DEVICE_NAVIGATION_BUTTON_LABEL);
  SET_STRING("REMOVABLE_DEVICE_OPEN_SETTTINGS_BUTTON_LABEL",
             IDS_REMOVABLE_DEVICE_OPEN_SETTTINGS_BUTTON_LABEL);
  SET_STRING("REMOVABLE_DEVICE_NAVIGATION_MESSAGE",
             IDS_REMOVABLE_DEVICE_NAVIGATION_MESSAGE);
  SET_STRING("REMOVABLE_DEVICE_NAVIGATION_MESSAGE_READONLY_POLICY",
             IDS_REMOVABLE_DEVICE_NAVIGATION_MESSAGE_READONLY_POLICY);
  SET_STRING("REPARTITION_DEVICE_BUTTON_LABEL",
             IDS_FILE_BROWSER_REPARTITION_DEVICE_BUTTON_LABEL);
  SET_STRING("REPARTITION_DIALOG_CONFIRM_LABEL",
             IDS_FILE_BROWSER_REPARTITION_DIALOG_CONFIRM_LABEL);
  SET_STRING("REPARTITION_DIALOG_MESSAGE",
             IDS_FILE_BROWSER_REPARTITION_DIALOG_MESSAGE);
  SET_STRING("RESTORE_FROM_TRASH_BUTTON_LABEL",
             IDS_FILE_BROWSER_RESTORE_FROM_TRASH_BUTTON_LABEL);
  SET_STRING("RESTORE_FROM_TRASH_ERROR",
             IDS_FILE_BROWSER_RESTORE_FROM_TRASH_ERROR);
  SET_STRING("OPEN_TRASHED_FILE_ERROR_TITLE",
             IDS_FILE_BROWSER_OPEN_TRASHED_FILE_ERROR_TITLE);
  SET_STRING("OPEN_TRASHED_FILE_ERROR_DESC",
             IDS_FILE_BROWSER_OPEN_TRASHED_FILE_ERROR_DESC);
  SET_STRING("OPEN_TRASHED_FILES_ERROR_TITLE",
             IDS_FILE_BROWSER_OPEN_TRASHED_FILES_ERROR_TITLE);
  SET_STRING("OPEN_TRASHED_FILES_ERROR_DESC",
             IDS_FILE_BROWSER_OPEN_TRASHED_FILES_ERROR_DESC);
  SET_STRING("RESTORING_FROM_TRASH_FILE_NAME",
             IDS_FILE_BROWSER_RESTORING_FROM_TRASH_FILE_NAME);
  SET_STRING("RESTORING_FROM_TRASH_ITEMS_REMAINING",
             IDS_FILE_BROWSER_RESTORING_FROM_TRASH_ITEMS_REMAINING);
  SET_STRING("RESTORE_TRASH_FILE_NAME",
             IDS_FILE_BROWSER_RESTORE_TRASH_FILE_NAME);
  SET_STRING("RESTORE_TRASH_MANY_ITEMS",
             IDS_FILE_BROWSER_RESTORE_TRASH_MANY_ITEMS);
  SET_STRING("UNPIN_FOLDER_BUTTON_LABEL",
             IDS_FILE_BROWSER_UNPIN_FOLDER_BUTTON_LABEL);
  SET_STRING("RENAME_BUTTON_LABEL", IDS_FILE_BROWSER_RENAME_BUTTON_LABEL);
  SET_STRING("SAVE_LABEL", IDS_FILE_BROWSER_SAVE_LABEL);
  SET_STRING("SCANNING_LABEL", IDS_FILE_BROWSER_SCANNING_LABEL);
  SET_STRING("SCANNING_LABEL_PLURAL", IDS_FILE_BROWSER_SCANNING_LABEL_PLURAL);
  SET_STRING("SEARCH_DRIVE_HTML", IDS_FILE_BROWSER_SEARCH_DRIVE_HTML);
  SET_STRING("SEARCH_NO_MATCHING_FILES_HTML",
             IDS_FILE_BROWSER_SEARCH_NO_MATCHING_FILES_HTML);
  SET_STRING("SEARCH_TEXT_LABEL", IDS_FILE_BROWSER_SEARCH_TEXT_LABEL);
  SET_STRING("SEARCH_CLEAR_LABEL", IDS_FILE_BROWSER_SEARCH_CLEAR_LABEL);
  SET_STRING("SEARCH_A11Y_NO_RESULT", IDS_FILE_BROWSER_SEARCH_A11Y_NO_RESULT);
  SET_STRING("SEARCH_A11Y_RESULT", IDS_FILE_BROWSER_SEARCH_A11Y_RESULT);
  SET_STRING("SEARCH_A11Y_CLEAR_SEARCH",
             IDS_FILE_BROWSER_SEARCH_A11Y_CLEAR_SEARCH);
  SET_STRING("SEARCH_OPTIONS_LOCATION_EVERYWHERE",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_LOCATION_EVERYWHERE);
  SET_STRING("SEARCH_OPTIONS_LOCATION_THIS_VOLUME",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_LOCATION_THIS_VOLUME);
  SET_STRING("SEARCH_OPTIONS_LOCATION_THIS_FOLDER",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_LOCATION_THIS_FOLDER);
  SET_STRING("SEARCH_OPTIONS_RECENCY_ALL_TIME",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_RECENCY_ALL_TIME);
  SET_STRING("SEARCH_OPTIONS_RECENCY_TODAY",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_RECENCY_TODAY);
  SET_STRING("SEARCH_OPTIONS_RECENCY_YESTERDAY",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_RECENCY_YESTERDAY);
  SET_STRING("SEARCH_OPTIONS_RECENCY_LAST_WEEK",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_RECENCY_LAST_WEEK);
  SET_STRING("SEARCH_OPTIONS_RECENCY_LAST_MONTH",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_RECENCY_LAST_MONTH);
  SET_STRING("SEARCH_OPTIONS_RECENCY_LAST_YEAR",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_RECENCY_LAST_YEAR);
  SET_STRING("SEARCH_OPTIONS_TYPES_ALL_TYPES",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_TYPES_ALL_TYPES);
  SET_STRING("SEARCH_OPTIONS_TYPES_AUDIO",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_TYPES_AUDIO);
  SET_STRING("SEARCH_OPTIONS_TYPES_DOCUMENTS",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_TYPES_DOCUMENTS);
  SET_STRING("SEARCH_OPTIONS_TYPES_IMAGES",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_TYPES_IMAGES);
  SET_STRING("SEARCH_OPTIONS_TYPES_VIDEOS",
             IDS_FILE_BROWSER_SEARCH_OPTIONS_TYPES_VIDEOS);
  SET_STRING("SEARCH_NO_MATCHING_RESULTS_TITLE",
             IDS_FILE_BROWSER_SEARCH_NO_MATCHING_RESULTS_TITLE);
  SET_STRING("SEARCH_NO_MATCHING_RESULTS_DESC",
             IDS_FILE_BROWSER_SEARCH_NO_MATCHING_RESULTS_DESC);
  SET_STRING("SEARCH_RESULTS_LABEL", IDS_FILE_BROWSER_SEARCH_RESULTS_LABEL);
  SET_STRING("SEARCH_V2_EDUCATION_NUDGE",
             IDS_FILE_BROWSER_SEARCH_V2_EDUCATION_NUDGE);
  SET_STRING("SEARCH_RESULTS_MULTIPLE_SELECTION",
             IDS_FILE_BROWSER_SEARCH_RESULTS_MULTIPLE_SELECTION);

  SET_STRING("SELECT_ALL_COMMAND_LABEL",
             IDS_FILE_BROWSER_SELECT_ALL_COMMAND_LABEL);
  SET_STRING("SHOW_PROVIDERS_BUTTON_LABEL",
             IDS_FILE_BROWSER_SHOW_PROVIDERS_BUTTON_LABEL);
  SET_STRING("TASKS_BUTTON_LABEL", IDS_FILE_BROWSER_TASKS_BUTTON_LABEL);
  SET_STRING("TOGGLE_HIDDEN_FILES_COMMAND_LABEL",
             IDS_FILE_BROWSER_TOGGLE_HIDDEN_FILES_COMMAND_LABEL);
  SET_STRING("MANAGE_TOAST_BUTTON_LABEL",
             IDS_FILE_BROWSER_MANAGE_TOAST_BUTTON_LABEL);
  SET_STRING("MANAGE_IN_DRIVE_BUTTON_LABEL",
             IDS_FILE_BROWSER_MANAGE_IN_DRIVE_BUTTON_LABEL);
  SET_STRING("SHARE_WITH_LINUX_BUTTON_LABEL",
             IDS_FILE_BROWSER_SHARE_WITH_LINUX_BUTTON_LABEL);
  SET_STRING("MANAGE_LINUX_SHARING_BUTTON_LABEL",
             IDS_FILE_BROWSER_MANAGE_LINUX_SHARING_BUTTON_LABEL);
  SET_STRING("SHARE_WITH_PLUGIN_VM_BUTTON_LABEL",
             IDS_FILE_BROWSER_SHARE_WITH_PLUGIN_VM_BUTTON_LABEL);
  SET_STRING("MANAGE_PLUGIN_VM_SHARING_BUTTON_LABEL",
             IDS_FILE_BROWSER_MANAGE_PLUGIN_VM_SHARING_BUTTON_LABEL);
  SET_STRING(
      "UNABLE_TO_DROP_IN_PLUGIN_VM_DIRECTORY_NOT_SHARED_MESSAGE",
      IDS_FILE_BROWSER_UNABLE_TO_DROP_IN_PLUGIN_VM_DIRECTORY_NOT_SHARED_MESSAGE);
  SET_STRING(
      "UNABLE_TO_DROP_IN_PLUGIN_VM_EXTERNAL_DRIVE_MESSAGE",
      IDS_FILE_BROWSER_UNABLE_TO_DROP_IN_PLUGIN_VM_EXTERNAL_DRIVE_MESSAGE);
  SET_STRING(
      "UNABLE_TO_OPEN_WITH_PLUGIN_VM_DIRECTORY_NOT_SHARED_MESSAGE",
      IDS_FILE_BROWSER_UNABLE_TO_OPEN_WITH_PLUGIN_VM_DIRECTORY_NOT_SHARED_MESSAGE);
  SET_STRING(
      "UNABLE_TO_OPEN_WITH_PLUGIN_VM_EXTERNAL_DRIVE_MESSAGE",
      IDS_FILE_BROWSER_UNABLE_TO_OPEN_WITH_PLUGIN_VM_EXTERNAL_DRIVE_MESSAGE);
  SET_STRING("CHANGE_TO_LISTVIEW_BUTTON_LABEL",
             IDS_FILE_BROWSER_CHANGE_TO_LISTVIEW_BUTTON_LABEL);
  SET_STRING("CHANGE_TO_THUMBNAILVIEW_BUTTON_LABEL",
             IDS_FILE_BROWSER_CHANGE_TO_THUMBNAILVIEW_BUTTON_LABEL);
  SET_STRING("FILE_LIST_CHANGED_TO_LIST_VIEW",
             IDS_FILE_BROWSER_FILE_LIST_CHANGED_TO_LIST_VIEW);
  SET_STRING("FILE_LIST_CHANGED_TO_LIST_THUMBNAIL_VIEW",
             IDS_FILE_BROWSER_FILE_LIST_CHANGED_TO_THUMBNAIL_VIEW);
  SET_STRING("CANCEL_SELECTION_BUTTON_LABEL",
             IDS_FILE_BROWSER_CANCEL_SELECTION_BUTTON_LABEL);
  SET_STRING("SET_WALLPAPER_BUTTON_LABEL",
             IDS_FILE_BROWSER_SET_WALLPAPER_BUTTON_LABEL);
  SET_STRING("SHARE_ERROR", IDS_FILE_BROWSER_SHARE_ERROR);
  SET_STRING("SHARE_ROOT_FOLDER_WITH_CROSTINI_TITLE",
             IDS_FILE_BROWSER_SHARE_ROOT_FOLDER_WITH_CROSTINI_TITLE);
  SET_STRING("SHARE_ROOT_FOLDER_WITH_CROSTINI",
             IDS_FILE_BROWSER_SHARE_ROOT_FOLDER_WITH_CROSTINI);
  SET_STRING("SHARE_ROOT_FOLDER_WITH_CROSTINI_DRIVE",
             IDS_FILE_BROWSER_SHARE_ROOT_FOLDER_WITH_CROSTINI_DRIVE);
  SET_STRING("SHARE_ROOT_FOLDER_WITH_PLUGIN_VM_TITLE",
             IDS_FILE_BROWSER_SHARE_ROOT_FOLDER_WITH_PLUGIN_VM_TITLE);
  SET_STRING("SHARE_ROOT_FOLDER_WITH_PLUGIN_VM",
             IDS_FILE_BROWSER_SHARE_ROOT_FOLDER_WITH_PLUGIN_VM);
  SET_STRING("SHARE_ROOT_FOLDER_WITH_PLUGIN_VM_DRIVE",
             IDS_FILE_BROWSER_SHARE_ROOT_FOLDER_WITH_PLUGIN_VM_DRIVE);
  SET_STRING("SIZE_BYTES", IDS_FILE_BROWSER_SIZE_BYTES);
  SET_STRING("SIZE_COLUMN_LABEL", IDS_FILE_BROWSER_SIZE_COLUMN_LABEL);
  SET_STRING("COLUMN_ASC_SORT_MESSAGE",
             IDS_FILE_BROWSER_COLUMN_ASC_SORT_MESSAGE);
  SET_STRING("COLUMN_DESC_SORT_MESSAGE",
             IDS_FILE_BROWSER_COLUMN_DESC_SORT_MESSAGE);
  SET_STRING("COLUMN_SORTED_ASC", IDS_FILE_BROWSER_COLUMN_SORTED_ASC_MESSAGE);
  SET_STRING("COLUMN_SORTED_DESC", IDS_FILE_BROWSER_COLUMN_SORTED_DESC_MESSAGE);
  SET_STRING("EXTERNAL_LINK_MESSAGE", IDS_FILE_BROWSER_EXTERNAL_LINK_MESSAGE);
  SET_STRING("EXTRACT_ALL_BUTTON_LABEL",
             IDS_FILE_BROWSER_EXTRACT_ALL_BUTTON_LABEL);
  SET_STRING("EXTRACT_FILESYSTEM_ERROR",
             IDS_FILE_BROWSER_EXTRACT_FILESYSTEM_ERROR);
  SET_STRING("EXTRACT_FILE_NAME", IDS_FILE_BROWSER_EXTRACT_FILE_NAME);
  SET_STRING("EXTRACT_FILE_NAME_LONG", IDS_FILE_BROWSER_EXTRACT_FILE_NAME_LONG);
  SET_STRING("EXTRACT_ITEMS_REMAINING",
             IDS_FILE_BROWSER_EXTRACT_ITEMS_REMAINING);
  SET_STRING("SELECTION_ADD_SINGLE_ENTRY",
             IDS_FILE_BROWSER_SELECTION_ADD_SINGLE_ENTRY);
  SET_STRING("SELECTION_REMOVE_SINGLE_ENTRY",
             IDS_FILE_BROWSER_SELECTION_REMOVE_SINGLE_ENTRY);
  SET_STRING("SELECTION_SINGLE_ENTRY", IDS_FILE_BROWSER_SELECTION_SINGLE_ENTRY);
  SET_STRING("SELECTION_ADD_RANGE", IDS_FILE_BROWSER_SELECTION_ADD_RANGE);
  SET_STRING("SELECTION_CANCELLATION", IDS_FILE_BROWSER_SELECTION_CANCELLATION);
  SET_STRING("SELECTION_ALL_ENTRIES", IDS_FILE_BROWSER_SELECTION_ALL_ENTRIES);
  SET_STRING("CURRENT_DIRECTORY_LABEL",
             IDS_FILE_BROWSER_CURRENT_DIRECTORY_LABEL);
  SET_STRING("SIZE_GB", IDS_FILE_BROWSER_SIZE_GB);
  SET_STRING("SIZE_KB", IDS_FILE_BROWSER_SIZE_KB);
  SET_STRING("SIZE_MB", IDS_FILE_BROWSER_SIZE_MB);
  SET_STRING("SIZE_PB", IDS_FILE_BROWSER_SIZE_PB);
  SET_STRING("SIZE_TB", IDS_FILE_BROWSER_SIZE_TB);
  SET_STRING("SPACE_AVAILABLE", IDS_FILE_BROWSER_SPACE_AVAILABLE);
  SET_STRING("SPACE_USED", IDS_FILE_BROWSER_SPACE_USED);
  SET_STRING("STATUS_COLUMN_LABEL", IDS_FILE_BROWSER_STATUS_COLUMN_LABEL);
  SET_STRING("TOTAL_FILE_SIZE", IDS_FILE_BROWSER_TOTAL_FILE_SIZE_LABEL);
  SET_STRING("TOTAL_FILE_COUNT", IDS_FILE_BROWSER_TOTAL_FILE_COUNT_LABEL);
  SET_STRING("IMAGE_RESOLUTION_COLUMN_LABEL",
             IDS_FILE_BROWSER_IMAGE_RESOLUTION_COLUMN_LABEL);
  SET_STRING("ANDROID_FILES_ROOT_LABEL",
             IDS_FILE_BROWSER_ANDROID_FILES_ROOT_LABEL);
  SET_STRING("SHOW_ALL_ANDROID_FOLDERS_OPTION",
             IDS_FILE_BROWSER_SHOW_ALL_ANDROID_FOLDERS_OPTION);
  SET_STRING("LINUX_FILES_ROOT_LABEL", IDS_FILE_BROWSER_LINUX_FILES_ROOT_LABEL);
  SET_STRING("MY_FILES_ROOT_LABEL", IDS_FILE_BROWSER_MY_FILES_ROOT_LABEL);
  SET_STRING("MEDIA_ARTIST_COLUMN_LABEL",
             IDS_FILE_BROWSER_MEDIA_ARTIST_COLUMN_LABEL);
  SET_STRING("MEDIA_TITLE_COLUMN_LABEL",
             IDS_FILE_BROWSER_MEDIA_TITLE_COLUMN_LABEL);
  SET_STRING("RECENT_ROOT_LABEL", IDS_FILE_BROWSER_RECENT_ROOT_LABEL);
  SET_STRING("TRASH_ROOT_LABEL", IDS_FILE_BROWSER_TRASH_ROOT_LABEL);
  SET_STRING("SUGGEST_DIALOG_INSTALLATION_FAILED",
             IDS_FILE_BROWSER_SUGGEST_DIALOG_INSTALLATION_FAILED);
  SET_STRING("SUGGEST_DIALOG_LINK_TO_WEBSTORE",
             IDS_FILE_BROWSER_SUGGEST_DIALOG_LINK_TO_WEBSTORE);
  SET_STRING("SUGGEST_DIALOG_TITLE", IDS_FILE_BROWSER_SUGGEST_DIALOG_TITLE);
  SET_STRING("SUGGEST_DIALOG_FOR_PROVIDERS_TITLE",
             IDS_FILE_BROWSER_SUGGEST_DIALOG_FOR_PROVIDERS_TITLE);
  SET_STRING("SUGGEST_DIALOG_LOADING_SPINNER_ALT",
             IDS_WEBSTORE_WIDGET_LOADING_SPINNER_ALT);
  SET_STRING("SUGGEST_DIALOG_INSTALLING_SPINNER_ALT",
             IDS_WEBSTORE_WIDGET_INSTALLING_SPINNER_ALT);
  SET_STRING("TASK_INSTALL_LINUX_PACKAGE",
             IDS_FILE_BROWSER_TASK_INSTALL_LINUX_PACKAGE);
  SET_STRING("TASK_IMPORT_CROSTINI_IMAGE", IDS_SETTINGS_CROSTINI_IMPORT_LABEL);
  SET_STRING("TASK_LISTEN", IDS_FILE_BROWSER_TASK_LISTEN);
  SET_STRING("TASK_OPEN", IDS_FILE_BROWSER_TASK_OPEN);
  SET_STRING("TASK_OPEN_GDRIVE", IDS_FILE_BROWSER_TASK_OPEN_GDRIVE);
  SET_STRING("TASK_OPEN_GDOC", IDS_FILE_BROWSER_TASK_OPEN_GDOC);
  SET_STRING("TASK_OPEN_GSHEET", IDS_FILE_BROWSER_TASK_OPEN_GSHEET);
  SET_STRING("TASK_OPEN_GSLIDES", IDS_FILE_BROWSER_TASK_OPEN_GSLIDES);
  SET_STRING("TASK_VIEW", IDS_FILE_BROWSER_TASK_VIEW);
  SET_STRING("THUMBNAIL_VIEW_TOOLTIP", IDS_FILE_BROWSER_THUMBNAIL_VIEW_TOOLTIP);
  SET_STRING("TIME_REMAINING_ESTIMATE",
             IDS_FILE_BROWSER_TIME_REMAINING_ESTIMATE);
  SET_STRING("TIME_REMAINING_ESTIMATE_2",
             IDS_FILE_BROWSER_TIME_REMAINING_ESTIMATE_2);
  SET_STRING("TIME_TODAY", IDS_FILE_BROWSER_TIME_TODAY);
  SET_STRING("TIME_YESTERDAY", IDS_FILE_BROWSER_TIME_YESTERDAY);
  SET_STRING("TRASH_DELETED_FOREVER", IDS_FILE_BROWSER_TRASH_DELETED_FOREVER);
  SET_STRING("TYPE_COLUMN_LABEL", IDS_FILE_BROWSER_TYPE_COLUMN_LABEL);
  SET_STRING("UNDO_DELETE_ACTION_LABEL",
             IDS_FILE_BROWSER_UNDO_DELETE_ACTION_LABEL);
  SET_STRING("RESTORE_ACTION_LABEL", IDS_FILE_BROWSER_RESTORE_ACTION_LABEL);
  SET_STRING("UNDO_DELETE_ONE", IDS_FILE_BROWSER_UNDO_DELETE_ONE);
  SET_STRING("UNDO_DELETE_SOME", IDS_FILE_BROWSER_UNDO_DELETE_SOME);
  SET_STRING("MOVE_TO_TRASH_FILE_NAME",
             IDS_FILE_BROWSER_MOVE_TO_TRASH_FILE_NAME);
  SET_STRING("MOVE_TO_TRASH_ITEMS_REMAINING",
             IDS_FILE_BROWSER_MOVE_TO_TRASH_ITEMS_REMAINING);
  SET_STRING("UNKNOWN_FILESYSTEM_WARNING",
             IDS_FILE_BROWSER_UNKNOWN_FILESYSTEM_WARNING);
  SET_STRING("UNMOUNT_BUTTON_LABEL", IDS_FILE_BROWSER_UNMOUNT_BUTTON_LABEL);
  SET_STRING("UNMOUNT_DEVICE_BUTTON_LABEL",
             IDS_FILE_BROWSER_UNMOUNT_DEVICE_BUTTON_LABEL);
  SET_STRING("UNMOUNT_FAILED", IDS_FILE_BROWSER_UNMOUNT_FAILED);
  SET_STRING("UNMOUNT_PROVIDED_FAILED",
             IDS_FILE_BROWSER_UNMOUNT_PROVIDED_FAILED);
  SET_STRING("UNSUPPORTED_FILESYSTEM_WARNING",
             IDS_FILE_BROWSER_UNSUPPORTED_FILESYSTEM_WARNING);
  SET_STRING("UPLOAD_LABEL", IDS_FILE_BROWSER_UPLOAD_LABEL);
  SET_STRING("WAITING_FOR_SPACE_INFO", IDS_FILE_BROWSER_WAITING_FOR_SPACE_INFO);
  SET_STRING("ZIP_FILESYSTEM_ERROR", IDS_FILE_BROWSER_ZIP_FILESYSTEM_ERROR);
  SET_STRING("ZIP_FILE_NAME", IDS_FILE_BROWSER_ZIP_FILE_NAME);
  SET_STRING("ZIP_ITEMS_REMAINING", IDS_FILE_BROWSER_ZIP_ITEMS_REMAINING);
  SET_STRING("ZIP_SELECTION_BUTTON_LABEL",
             IDS_FILE_BROWSER_ZIP_SELECTION_BUTTON_LABEL);
  SET_STRING("ZIP_TARGET_EXISTS_ERROR",
             IDS_FILE_BROWSER_ZIP_TARGET_EXISTS_ERROR);
  SET_STRING("SEE_MENU_FOR_ACTIONS", IDS_FILE_BROWSER_SEE_MENU_FOR_ACTIONS);
  SET_STRING("OPEN_A11Y", IDS_FILE_BROWSER_OPEN_A11Y);
  SET_STRING("OPEN_A11Y_PLURAL", IDS_FILE_BROWSER_OPEN_A11Y_PLURAL);
  SET_STRING("A11Y_VOLUME_EJECT", IDS_FILE_BROWSER_A11Y_VOLUME_EJECT);
  SET_STRING("FILEMANAGER_APP_NAME", IDS_FILEMANAGER_APP_NAME);
  SET_STRING("GRID_VIEW_FOLDERS_TITLE",
             IDS_FILE_BROWSER_GRID_VIEW_FOLDERS_TITLE);
  SET_STRING("GRID_VIEW_FILES_TITLE", IDS_FILE_BROWSER_GRID_VIEW_FILES_TITLE);
  SET_STRING("LOCATION_BREADCRUMB_ELIDER_BUTTON_LABEL",
             IDS_FILE_BROWSER_LOCATION_BREADCRUMB_ELIDER_BUTTON_LABEL);
  SET_STRING("DLP_BLOCK_COPY_TOAST", IDS_FILE_BROWSER_DLP_BLOCK_COPY_TOAST);
  SET_STRING("DLP_BLOCK_COPY_TOAST_PLURAL",
             IDS_FILE_BROWSER_DLP_BLOCK_COPY_TOAST_PLURAL);
  SET_STRING("DLP_BLOCK_MOVE_TOAST", IDS_FILE_BROWSER_DLP_BLOCK_MOVE_TOAST);
  SET_STRING("DLP_BLOCK_MOVE_TOAST_PLURAL",
             IDS_FILE_BROWSER_DLP_BLOCK_MOVE_TOAST_PLURAL);
  SET_STRING("DLP_TOAST_BUTTON_LABEL", IDS_FILE_BROWSER_DLP_TOAST_BUTTON_LABEL);
  SET_STRING("DLP_RESTRICTION_DETAILS",
             IDS_FILE_BROWSER_DLP_RESTRICTION_DETAILS);
  SET_STRING("DLP_MANAGED_ICON_TOOLTIP",
             IDS_FILE_BROWSER_DLP_MANAGED_ICON_TOOLTIP);
  SET_STRING("DLP_MANAGED_ICON_TOOLTIP_LINK",
             IDS_FILE_BROWSER_DLP_MANAGED_ICON_TOOLTIP_LINK);
  SET_STRING("DLP_MANAGED_ICON_TOOLTIP_DESC",
             IDS_FILE_BROWSER_DLP_MANAGED_ICON_TOOLTIP_DESC);
  SET_STRING("DLP_FILE_PICKER_BANNER", IDS_FILE_BROWSER_DLP_FILE_PICKER_BANNER);
  SET_STRING("DLP_FILE_SAVER_BANNER", IDS_FILE_BROWSER_DLP_FILE_SAVER_BANNER);
  SET_STRING("DLP_RESTRICTION_DETAILS_TITLE",
             IDS_FILE_BROWSER_DLP_RESTRICTION_DETAILS_TITLE);
  SET_STRING("DLP_RESTRICTION_DETAILS_MESSAGE",
             IDS_FILE_BROWSER_DLP_RESTRICTION_DETAILS_MESSAGE);
  SET_STRING("DLP_RESTRICTION_DETAILS_BLOCK",
             IDS_FILE_BROWSER_DLP_RESTRICTION_DETAILS_BLOCK);
  SET_STRING("DLP_RESTRICTION_DETAILS_WARN",
             IDS_FILE_BROWSER_DLP_RESTRICTION_DETAILS_WARN);
  SET_STRING("DLP_RESTRICTION_DETAILS_REPORT",
             IDS_FILE_BROWSER_DLP_RESTRICTION_DETAILS_REPORT);
  SET_STRING("DLP_RESTRICTION_DETAILS_FILE_ACCESS",
             IDS_FILE_BROWSER_DLP_RESTRICTION_DETAILS_FILE_ACCESS);
  SET_STRING("DLP_RESTRICTION_DETAILS_FILE_ACCESS_ALL",
             IDS_FILE_BROWSER_DLP_RESTRICTION_DETAILS_FILE_ACCESS_ALL);
  SET_STRING("DLP_RESTRICTION_DETAILS_FILE_ACCESS_ALL_EXCEPT",
             IDS_FILE_BROWSER_DLP_RESTRICTION_DETAILS_FILE_ACCESS_ALL_EXCEPT);
  SET_STRING("DLP_RESTRICTION_DETAILS_FILE_TRANSFER",
             IDS_FILE_BROWSER_DLP_RESTRICTION_DETAILS_FILE_TRANSFER);
  SET_STRING("DLP_COMPONENT_REMOVABLE",
             IDS_FILE_BROWSER_DLP_COMPONENT_REMOVABLE);
  SET_STRING("DLP_COMPONENT_PLAY", IDS_FILE_BROWSER_DLP_COMPONENT_PLAY);
  SET_STRING("DLP_COMPONENT_LINUX", IDS_FILE_BROWSER_DLP_COMPONENT_LINUX);
  SET_STRING("DLP_COMPONENT_VM", IDS_FILE_BROWSER_DLP_COMPONENT_VM);
  SET_STRING("DLP_COMPONENT_MICROSOFT_ONEDRIVE",
             IDS_FILE_BROWSER_DLP_COMPONENT_MICROSOFT_ONEDRIVE);
  SET_STRING("DLP_FILES_MOVE_REVIEW_TITLE",
             IDS_POLICY_DLP_FILES_MOVE_REVIEW_TITLE);
  SET_STRING("DLP_FILES_COPY_REVIEW_TITLE",
             IDS_POLICY_DLP_FILES_COPY_REVIEW_TITLE);
  SET_STRING("DLP_FILES_MOVE_WARN_CONTINUE_BUTTON",
             IDS_POLICY_DLP_FILES_MOVE_WARN_CONTINUE_BUTTON);
  SET_STRING("DLP_FILES_COPY_WARN_CONTINUE_BUTTON",
             IDS_POLICY_DLP_FILES_COPY_WARN_CONTINUE_BUTTON);
  SET_STRING_PLURAL("DLP_FILES_WARN_MESSAGE_SINGLE",
                    IDS_POLICY_DLP_FILES_WARN_MESSAGE, 1);
  SET_STRING_PLURAL("DLP_FILES_WARN_MESSAGE_MULTIPLE",
                    IDS_POLICY_DLP_FILES_WARN_MESSAGE, 2);
  SET_STRING_PLURAL("DLP_FILES_MOVE_BLOCKED_TITLE_SINGLE",
                    IDS_POLICY_DLP_FILES_MOVE_BLOCKED_TITLE, 1);
  SET_STRING_PLURAL("DLP_FILES_MOVE_BLOCKED_TITLE_MULTIPLE",
                    IDS_POLICY_DLP_FILES_MOVE_BLOCKED_TITLE, 2);
  SET_STRING_PLURAL("DLP_FILES_COPY_BLOCKED_TITLE_SINGLE",
                    IDS_POLICY_DLP_FILES_COPY_BLOCKED_TITLE, 1);
  SET_STRING_PLURAL("DLP_FILES_COPY_BLOCKED_TITLE_MULTIPLE",
                    IDS_POLICY_DLP_FILES_COPY_BLOCKED_TITLE, 2);
  SET_STRING_PLURAL("DLP_FILES_BLOCKED_MESSAGE_POLICY_SINGLE",
                    IDS_POLICY_DLP_FILES_POLICY_BLOCK_MESSAGE, 1);
  SET_STRING_PLURAL("DLP_FILES_BLOCKED_MESSAGE_CONTENT_SINGLE",
                    IDS_POLICY_DLP_FILES_CONTENT_BLOCK_MESSAGE, 1);
  SET_STRING("DLP_FILES_BLOCKED_MESSAGE_MULTIPLE",
             IDS_POLICY_DLP_FILES_BLOCK_MESSAGE);
  SET_STRING("DLP_FILES_REVIEW_BUTTON", IDS_POLICY_DLP_FILES_REVIEW_BUTTON);
  SET_STRING("DLP_FILES_MOVE_TIMEOUT_TITLE",
             IDS_POLICY_DLP_FILES_MOVE_TIMEOUT_TITLE);
  SET_STRING("DLP_FILES_MOVE_TIMEOUT_MESSAGE",
             IDS_POLICY_DLP_FILES_MOVE_TIMEOUT_MESSAGE);
  SET_STRING("DLP_FILES_COPY_TIMEOUT_TITLE",
             IDS_POLICY_DLP_FILES_COPY_TIMEOUT_TITLE);
  SET_STRING("DLP_FILES_COPY_TIMEOUT_MESSAGE",
             IDS_POLICY_DLP_FILES_COPY_TIMEOUT_MESSAGE);
  SET_STRING("ONE_DRIVE_MOVED_FILE_NUDGE",
             IDS_FILE_BROWSER_ONE_DRIVE_MOVED_FILE_NUDGE);
  SET_STRING("DRIVE_MOVED_FILE_NUDGE", IDS_FILE_BROWSER_DRIVE_MOVED_FILE_NUDGE);
  SET_STRING("ENCRYPTED_ICON_TOOLTIP", IDS_FILE_BROWSER_ENCRYPTED_ICON_TOOLTIP);
  SET_STRING("ONEDRIVE_LOGGED_OUT_TITLE",
             IDS_FILE_BROWSER_ONEDRIVE_LOGGED_OUT_TITLE);
  SET_STRING("ONEDRIVE_SIGN_IN_SUBTITLE",
             IDS_FILE_BROWSER_ONEDRIVE_SIGN_IN_SUBTITLE);
  SET_STRING("ONEDRIVE_SIGN_IN_LINK", IDS_FILE_BROWSER_ONEDRIVE_SIGN_IN_LINK);
  SET_STRING("ONEDRIVE_FROZEN_ACCOUNT_TITLE",
             IDS_FILE_BROWSER_ONEDRIVE_FROZEN_ACCOUNT_TITLE);
  SET_STRING("ONEDRIVE_FROZEN_ACCOUNT_SUBTITLE",
             IDS_FILE_BROWSER_ONEDRIVE_FROZEN_ACCOUNT_SUBTITLE);
  SET_STRING("ONEDRIVE_OFFLINE_TITLE", IDS_FILE_BROWSER_ONEDRIVE_OFFLINE_TITLE);
  SET_STRING("ONEDRIVE", IDS_OFFICE_CLOUD_PROVIDER_ONEDRIVE);
}  // NOLINT(readability/fn_size): Structure of AddStringsGeneric function
   // should be easy to manage.

#undef SET_STRING

// Attempts to get the current user profile, may return nullptr.
Profile* GetProfile() {
  if (!user_manager::UserManager::IsInitialized()) {
    return nullptr;
  }

  user_manager::UserManager* user_manager = user_manager::UserManager::Get();
  if (!user_manager) {
    return nullptr;
  }

  user_manager::User* user = user_manager->GetActiveUser();
  if (!user) {
    return nullptr;
  }

  return ash::ProfileHelper::Get()->GetProfileByUser(user);
}

bool IsEligibleAndEnabledGoogleOneOfferFilesBanner(
    const std::string& application_locale,
    const variations::VariationsService& variations_service) {
  // Google One offer is for a device, not for an account. Do not show a banner
  // if a device is enrolled.
  if (ash::InstallAttributes::Get()->IsEnterpriseManaged()) {
    return false;
  }

  Profile* profile = GetProfile();
  if (!profile) {
    return false;
  }

  if (profile->IsGuestSession()) {
    return false;
  }

  if (profile->IsChild()) {
    return false;
  }

  if (profile->GetProfilePolicyConnector()->IsManaged()) {
    return false;
  }

  if (!ash::ProfileHelper::IsOwnerProfile(profile)) {
    return false;
  }

  if (!kGoogleOneOfferBannerSupportedLocales.contains(application_locale)) {
    return false;
  }

  if (!kGoogleOneOfferBannerSupportedCountries.contains(
          variations_service.GetStoredPermanentCountry())) {
    return false;
  }

  return base::FeatureList::IsEnabled(
             ash::features::kGoogleOneOfferFilesBanner) &&
         !base::FeatureList::IsEnabled(
             ash::features::kDisableGoogleOneOfferFilesBanner);
}

void AddStringsForVms(base::Value::Dict* dict) {
  auto* profile = GetProfile();
  std::u16string overall_name = bruschetta::GetOverallVmName(profile);

  dict->Set("FOLDER_SHARED_WITH_BRUSCHETTA",
            l10n_util::GetStringFUTF16(
                IDS_FILE_BROWSER_FOLDER_SHARED_WITH_BRUSCHETTA, overall_name));
  // ui/file_manager/file_manager/foreground/js/crostini_controller.js expects
  // a string with "$1" in it, and the JavaScript code will fill in the number
  // of folders shared.
  dict->Set("FOLDER_SHARED_WITH_BRUSCHETTA_PLURAL",
            l10n_util::GetStringFUTF16(
                IDS_FILE_BROWSER_FOLDER_SHARED_WITH_BRUSCHETTA_PLURAL, u"$1",
                overall_name));
  dict->Set(
      "SHARE_WITH_BRUSCHETTA_BUTTON_LABEL",
      l10n_util::GetStringFUTF16(
          IDS_FILE_BROWSER_SHARE_WITH_BRUSCHETTA_BUTTON_LABEL, overall_name));
  dict->Set("MANAGE_BRUSCHETTA_SHARING_BUTTON_LABEL",
            l10n_util::GetStringFUTF16(
                IDS_FILE_BROWSER_MANAGE_BRUSCHETTA_SHARING_BUTTON_LABEL,
                overall_name));
  dict->Set("SHARE_ROOT_FOLDER_WITH_BRUSCHETTA_TITLE",
            l10n_util::GetStringFUTF16(
                IDS_FILE_BROWSER_SHARE_ROOT_FOLDER_WITH_BRUSCHETTA_TITLE,
                overall_name));
  // As above, the JavaScript code will replace the "$1".
  dict->Set("SHARE_ROOT_FOLDER_WITH_BRUSCHETTA",
            l10n_util::GetStringFUTF16(
                IDS_FILE_BROWSER_SHARE_ROOT_FOLDER_WITH_BRUSCHETTA,
                overall_name, u"$1"));
  dict->Set("SHARE_ROOT_FOLDER_WITH_BRUSCHETTA_DRIVE",
            l10n_util::GetStringFUTF16(
                IDS_FILE_BROWSER_SHARE_ROOT_FOLDER_WITH_BRUSCHETTA_DRIVE,
                overall_name));
}

void AddStringsForSkyVault(base::Value::Dict* dict) {
  dict->Set(
      "SKYVAULT_MIGRATION_BANNER_GOOGLE_DRIVE",
      base::ReplaceStringPlaceholders(
          l10n_util::GetStringUTF16(IDS_POLICY_SKYVAULT_MIGRATION_BANNER),
          l10n_util::GetStringUTF16(IDS_OFFICE_CLOUD_PROVIDER_GOOGLE_DRIVE),
          /*offset=*/nullptr));
  dict->Set("SKYVAULT_MIGRATION_BANNER_ONEDRIVE",
            base::ReplaceStringPlaceholders(
                l10n_util::GetStringUTF16(IDS_POLICY_SKYVAULT_MIGRATION_BANNER),
                l10n_util::GetStringUTF16(IDS_OFFICE_CLOUD_PROVIDER_ONEDRIVE),
                /*offset=*/nullptr));
  dict->Set("SKYVAULT_DELETION_BANNER",
            l10n_util::GetStringUTF16(IDS_POLICY_SKYVAULT_DELETION_BANNER));
  dict->Set("SKYVAULT_MISCONFIGURED_POLICY_MESSAGE",
            l10n_util::GetStringUTF16(
                IDS_POLICY_SKYVAULT_MISCONFIGURED_POLICY_MESSAGE));
}

}  // namespace

base::Value::Dict GetFileManagerStrings(const std::string& application_locale) {
  base::Value::Dict dict;

  AddStringsForDrive(&dict);
  AddStringsForMediaView(&dict);
  AddStringsForFileTypes(&dict);
  AddStringsForMediaPlayer(&dict);
  AddStringsForCrUiMenuItemShortcuts(&dict);
  AddStringsForFileErrors(&dict);
  AddStringsForSharesheet(&dict);
  AddStringsForHoldingSpace(&dict);
  AddStringsForPhotos(&dict);
  AddStringsGeneric(&dict);
  AddStringsForVms(&dict);
  AddStringsForSkyVault(&dict);

  dict.Set(
      "DOWNLOADS_LOW_SPACE_WARNING_HELP_URL",
      base::StringPrintf(kHelpURLFormat, kDownloadsLowSpaceWarningHelpNumber));
  dict.Set("FILES_APP_HELP_URL",
           base::StringPrintf(kHelpURLFormat, kFilesAppHelpNumber));

  dict.Set("GOOGLE_DRIVE_BUY_STORAGE_URL", kGoogleDriveBuyStorageUrl);
  dict.Set("GOOGLE_DRIVE_MANAGE_STORAGE_URL", kGoogleDriveManageStorageUrl);
  dict.Set("GOOGLE_DRIVE_ENTERPRISE_MANAGE_STORAGE_URL",
           kGoogleDriveEnterpriseManageStorageUrl);
  dict.Set("GOOGLE_DRIVE_ERROR_HELP_URL",
           base::StringPrintf(kHelpURLFormat, kGoogleDriveErrorHelpNumber));
  dict.Set("GOOGLE_DRIVE_HELP_URL", kGoogleDriveHelpUrl);
  dict.Set("GOOGLE_DRIVE_OFFLINE_HELP_URL", kGoogleDriveOfflineHelpUrl);
  dict.Set("GOOGLE_DRIVE_OVERVIEW_URL", kGoogleDriveOverviewUrl);
  dict.Set("GOOGLE_DRIVE_ROOT_URL", kGoogleDriveRootUrl);
  dict.Set("NO_TASK_FOR_FILE_URL",
           base::StringPrintf(kHelpURLFormat, kNoActionForFileHelpNumber));
  dict.Set("DLP_HELP_URL", policy::dlp::kDlpLearnMoreUrl);

  webui::SetLoadTimeDataDefaults(application_locale, &dict);

  return dict;
}

base::Value::Dict GetFileManagerPluralStrings() {
  base::Value::Dict dict;

  dict.Set("ERROR_PROGRESS_SUMMARY", IDS_FILE_BROWSER_ERROR_PROGRESS_SUMMARY);
  dict.Set("WARNING_PROGRESS_SUMMARY",
           IDS_FILE_BROWSER_WARNING_PROGRESS_SUMMARY);

  return dict;
}

int GetLocaleBasedWeekStart() {
  // To avoid the DST difference, use a certain date here to calculate the week
  // start, since there are no daylight saving starts/ends in June worldwide.
  base::Time fixed_date;
  bool result = base::Time::FromString("15 Jun 2021 12:00 GMT", &fixed_date);
  DCHECK(result);
  int local_day_of_week = 2;  // 15 Jun 2021 is Tuesday.
  // Adjust local_day_of_week according to the current timezone. We are using
  // 12:00pm UTC above, so only need to check if the local time difference is
  // larger than +12 or not, all other differences fall into the same day.
  // Note: timezone difference will never be lower than -12.
  base::TimeDelta time_difference =
      ash::DateHelper::GetInstance()->GetTimeDifference(fixed_date);
  if (time_difference.InHours() >= 12) {
    // Local time is one day after, e.g. it's Wednesday.
    local_day_of_week += 1;
  }

  const int day_of_week = ash::calendar_utils::GetDayOfWeekInt(fixed_date);
  // We know the fixed date is Thursday, day_of_week is between 1 and 7.
  // * if day_of_week is 4, then Monday is the start of the week, so return 1;
  // * if day_of_week is 5, then Sunday is the start of the week, so return 0;
  // * if day_of_week is 6, then Saturday is the start of the week, so return 6;
  return fmod(local_day_of_week - (day_of_week - 1) + 7, 7);
}

void AddFileManagerFeatureStrings(
    const std::string& ui_locale,
    const std::string& application_locale,
    const variations::VariationsService& variations_service,
    Profile* profile,
    base::Value::Dict* dict) {
  DCHECK(profile);

  dict->Set("HIDE_SPACE_INFO", ash::demo_mode::IsDeviceInDemoMode());
  dict->Set("ARC_VM_ENABLED", arc::IsArcVmEnabled());
  dict->Set("FILES_LOCAL_IMAGE_SEARCH",
            ash::features::IsFilesLocalImageSearchEnabled());
  dict->Set("FILES_TRASH_DRIVE_ENABLED",
            base::FeatureList::IsEnabled(ash::features::kFilesTrashDrive));
  dict->Set(
      "FILES_SINGLE_PARTITION_FORMAT_ENABLED",
      base::FeatureList::IsEnabled(ash::features::kFilesSinglePartitionFormat));

  dict->Set("FUSEBOX_DEBUG",
            base::FeatureList::IsEnabled(ash::features::kFuseBoxDebug));

  dict->Set("DRIVEFS_MIRRORING", ash::features::IsDriveFsMirroringEnabled());

  dict->Set("GUEST_OS", true);

  dict->Set("DRIVE_FS_BULK_PINNING",
            drive::util::IsDriveFsBulkPinningAvailable(profile));

  dict->Set("CROS_COMPONENTS", chromeos::features::IsCrosComponentsEnabled());

  if (base::FeatureList::IsEnabled(
          features::kDataLeakPreventionFilesRestriction)) {
    policy::DlpRulesManager* rules_manager =
        policy::DlpRulesManagerFactory::GetForPrimaryProfile();
    dict->Set("DLP_ENABLED",
              (rules_manager && rules_manager->IsFilesPolicyEnabled()));
  } else {
    dict->Set("DLP_ENABLED", false);
  }

  dict->Set("SKYVAULT_V2_ENABLED",
            base::FeatureList::IsEnabled(features::kSkyVaultV2));

  base::Value::List vms;
  auto* share_path = guest_os::GuestOsSharePathFactory::GetForProfile(profile);
  if (share_path) {
    for (const auto& guest : share_path->ListGuests()) {
      base::Value::Dict d;
      d.Set("vmName", guest.vm_name);
      d.Set("containerName", guest.container_name);
      vms.Append(std::move(d));
    }
  }
  dict->Set("VMS_FOR_SHARING", std::move(vms));

  // Lastly, set UI_LOCALE and locale-dependent settings.
  dict->Set("UI_LOCALE", ui_locale);
  dict->Set("WEEK_START_FROM", GetLocaleBasedWeekStart());

  // ELIGIBLE_AND_ENABLED_GOOGLE_ONE_OFFER_FILES_BANNER does additional checks
  // in addition to a feature flag check.
  dict->Set("ELIGIBLE_AND_ENABLED_GOOGLE_ONE_OFFER_FILES_BANNER",
            IsEligibleAndEnabledGoogleOneOfferFilesBanner(application_locale,
                                                          variations_service));
}