summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/all.gyp2
-rw-r--r--chrome/app/locales/locales.gyp678
-rw-r--r--chrome/chrome_exe.gypi2
-rw-r--r--chrome/installer/mini_installer.gyp2
-rw-r--r--chrome/installer/mini_installer/chrome.release2
-rw-r--r--chrome/tools/build/win/FILES98
-rw-r--r--chrome/tools/build/win/FILES.cfg98
-rw-r--r--chrome_frame/chrome_frame.gyp2
-rw-r--r--ui/base/l10n/l10n_util.cc7
-rw-r--r--ui/base/resource/resource_bundle.cc88
-rw-r--r--ui/base/resource/resource_bundle.h8
-rw-r--r--ui/base/resource/resource_bundle_dummy.cc3
-rw-r--r--ui/base/resource/resource_bundle_linux.cc14
-rw-r--r--ui/base/resource/resource_bundle_posix.cc69
-rw-r--r--ui/base/resource/resource_bundle_win.cc93
-rw-r--r--views/views.gyp2
16 files changed, 955 insertions, 213 deletions
diff --git a/build/all.gyp b/build/all.gyp
index cc8e292..d93347c 100644
--- a/build/all.gyp
+++ b/build/all.gyp
@@ -115,6 +115,7 @@
'dependencies': [
'../aura/aura.gyp:*',
'../breakpad/breakpad.gyp:*',
+ '../chrome/app/locales/locales.gyp:*',
'../chrome_frame/chrome_frame.gyp:*',
'../cloud_print/virtual_driver/virtual_driver.gyp:*',
'../courgette/courgette.gyp:*',
@@ -524,6 +525,7 @@
'target_name': 'chrome_official_builder',
'type': 'none',
'dependencies': [
+ '../chrome/app/locales/locales.gyp:*',
'../chrome/chrome.gyp:chromedriver',
'../chrome/chrome.gyp:crash_service',
'../chrome/chrome.gyp:crash_service_win64',
diff --git a/chrome/app/locales/locales.gyp b/chrome/app/locales/locales.gyp
new file mode 100644
index 0000000..93948da
--- /dev/null
+++ b/chrome/app/locales/locales.gyp
@@ -0,0 +1,678 @@
+{
+ 'variables': {
+ 'chromium_code': 1,
+ 'chrome_grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome',
+ 'webkit_grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/webkit',
+
+ 'ui_grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/ui',
+ 'ui_strings_out_dir': '<(ui_grit_out_dir)/ui_strings',
+ 'app_locale_out_dir': '<(ui_grit_out_dir)/app_locale_settings',
+
+ # TODO(sgk): eliminate this; see comment in build/common.gypi
+ 'msvs_debug_link_incremental': '1',
+
+ # Decide which .rc file to use for strings based on branding
+ 'conditions': [
+ ['branding=="Chrome"', {
+ 'strings_rc_name': 'strings_google_chrome',
+ }, {
+ 'strings_rc_name': 'strings',
+ }],
+ ],
+ },
+ 'target_defaults': {
+ 'type': 'loadable_module',
+ 'dependencies': [
+ '../../chrome.gyp:chrome_strings',
+ '../../chrome.gyp:platform_locale_settings',
+ '../../../ui/base/strings/ui_strings.gyp:ui_strings',
+ '../../../webkit/support/webkit_support.gyp:webkit_strings',
+ ],
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ 'BaseAddress': '0x3CF00000',
+ 'OutputFile': '$(OutDir)\\locales\\$(ProjectName).dll',
+ 'LinkIncremental': '1', # 1 == No
+ 'LinkTimeCodeGeneration': '0',
+ 'ResourceOnlyDLL': 'true',
+ },
+ },
+ 'defines': [
+ '_USRDLL',
+ 'GENERATED_RESOURCES_DLL_EXPORTS',
+ ],
+ 'include_dirs': [
+ '<(chrome_grit_out_dir)',
+ ],
+ },
+ 'conditions': [
+ ['OS=="win"', {
+ 'targets': [
+ {
+ 'target_name': 'am',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_am.rc',
+ '<(chrome_grit_out_dir)/generated_resources_am.rc',
+ '<(chrome_grit_out_dir)/locale_settings_am.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_am.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_am.rc',
+ '<(ui_strings_out_dir)/ui_strings_am.rc',
+ '<(app_locale_out_dir)/app_locale_settings_am.rc',
+ ],
+ },
+ {
+ 'target_name': 'ar',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_ar.rc',
+ '<(chrome_grit_out_dir)/generated_resources_ar.rc',
+ '<(chrome_grit_out_dir)/locale_settings_ar.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_ar.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_ar.rc',
+ '<(ui_strings_out_dir)/ui_strings_ar.rc',
+ '<(app_locale_out_dir)/app_locale_settings_ar.rc',
+ ],
+ },
+ {
+ 'target_name': 'bg',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_bg.rc',
+ '<(chrome_grit_out_dir)/generated_resources_bg.rc',
+ '<(chrome_grit_out_dir)/locale_settings_bg.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_bg.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_bg.rc',
+ '<(ui_strings_out_dir)/ui_strings_bg.rc',
+ '<(app_locale_out_dir)/app_locale_settings_bg.rc',
+ ],
+ },
+ {
+ 'target_name': 'bn',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_bn.rc',
+ '<(chrome_grit_out_dir)/generated_resources_bn.rc',
+ '<(chrome_grit_out_dir)/locale_settings_bn.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_bn.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_bn.rc',
+ '<(ui_strings_out_dir)/ui_strings_bn.rc',
+ '<(app_locale_out_dir)/app_locale_settings_bn.rc',
+ ],
+ },
+ {
+ 'target_name': 'ca',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_ca.rc',
+ '<(chrome_grit_out_dir)/generated_resources_ca.rc',
+ '<(chrome_grit_out_dir)/locale_settings_ca.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_ca.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_ca.rc',
+ '<(ui_strings_out_dir)/ui_strings_ca.rc',
+ '<(app_locale_out_dir)/app_locale_settings_ca.rc',
+ ],
+ },
+ {
+ 'target_name': 'cs',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_cs.rc',
+ '<(chrome_grit_out_dir)/generated_resources_cs.rc',
+ '<(chrome_grit_out_dir)/locale_settings_cs.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_cs.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_cs.rc',
+ '<(ui_strings_out_dir)/ui_strings_cs.rc',
+ '<(app_locale_out_dir)/app_locale_settings_cs.rc',
+ ],
+ },
+ {
+ 'target_name': 'da',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_da.rc',
+ '<(chrome_grit_out_dir)/generated_resources_da.rc',
+ '<(chrome_grit_out_dir)/locale_settings_da.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_da.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_da.rc',
+ '<(ui_strings_out_dir)/ui_strings_da.rc',
+ '<(app_locale_out_dir)/app_locale_settings_da.rc',
+ ],
+ },
+ {
+ 'target_name': 'de',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_de.rc',
+ '<(chrome_grit_out_dir)/generated_resources_de.rc',
+ '<(chrome_grit_out_dir)/locale_settings_de.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_de.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_de.rc',
+ '<(ui_strings_out_dir)/ui_strings_de.rc',
+ '<(app_locale_out_dir)/app_locale_settings_de.rc',
+ ],
+ },
+ {
+ 'target_name': 'el',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_el.rc',
+ '<(chrome_grit_out_dir)/generated_resources_el.rc',
+ '<(chrome_grit_out_dir)/locale_settings_el.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_el.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_el.rc',
+ '<(ui_strings_out_dir)/ui_strings_el.rc',
+ '<(app_locale_out_dir)/app_locale_settings_el.rc',
+ ],
+ },
+ {
+ 'target_name': 'en-GB',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_en-GB.rc',
+ '<(chrome_grit_out_dir)/generated_resources_en-GB.rc',
+ '<(chrome_grit_out_dir)/locale_settings_en-GB.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_en-GB.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_en-GB.rc',
+ '<(ui_strings_out_dir)/ui_strings_en-GB.rc',
+ '<(app_locale_out_dir)/app_locale_settings_en-GB.rc',
+ ],
+ },
+ {
+ 'target_name': 'en-US',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_en-US.rc',
+ '<(chrome_grit_out_dir)/generated_resources_en-US.rc',
+ '<(chrome_grit_out_dir)/locale_settings_en-US.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_en-US.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_en-US.rc',
+ '<(ui_strings_out_dir)/ui_strings_en-US.rc',
+ '<(app_locale_out_dir)/app_locale_settings_en-US.rc',
+ ],
+ },
+ {
+ 'target_name': 'es-419',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_es-419.rc',
+ '<(chrome_grit_out_dir)/generated_resources_es-419.rc',
+ '<(chrome_grit_out_dir)/locale_settings_es-419.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_es-419.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_es-419.rc',
+ '<(ui_strings_out_dir)/ui_strings_es-419.rc',
+ '<(app_locale_out_dir)/app_locale_settings_es-419.rc',
+ ],
+ },
+ {
+ 'target_name': 'es',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_es.rc',
+ '<(chrome_grit_out_dir)/generated_resources_es.rc',
+ '<(chrome_grit_out_dir)/locale_settings_es.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_es.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_es.rc',
+ '<(ui_strings_out_dir)/ui_strings_es.rc',
+ '<(app_locale_out_dir)/app_locale_settings_es.rc',
+ ],
+ },
+ {
+ 'target_name': 'et',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_et.rc',
+ '<(chrome_grit_out_dir)/generated_resources_et.rc',
+ '<(chrome_grit_out_dir)/locale_settings_et.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_et.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_et.rc',
+ '<(ui_strings_out_dir)/ui_strings_et.rc',
+ '<(app_locale_out_dir)/app_locale_settings_et.rc',
+ ],
+ },
+ {
+ 'target_name': 'fa',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_fa.rc',
+ '<(chrome_grit_out_dir)/generated_resources_fa.rc',
+ '<(chrome_grit_out_dir)/locale_settings_fa.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_fa.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_fa.rc',
+ '<(ui_strings_out_dir)/ui_strings_fa.rc',
+ '<(app_locale_out_dir)/app_locale_settings_fa.rc',
+ ],
+ },
+ {
+ 'target_name': 'fi',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_fi.rc',
+ '<(chrome_grit_out_dir)/generated_resources_fi.rc',
+ '<(chrome_grit_out_dir)/locale_settings_fi.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_fi.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_fi.rc',
+ '<(ui_strings_out_dir)/ui_strings_fi.rc',
+ '<(app_locale_out_dir)/app_locale_settings_fi.rc',
+ ],
+ },
+ {
+ 'target_name': 'fil',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_fil.rc',
+ '<(chrome_grit_out_dir)/generated_resources_fil.rc',
+ '<(chrome_grit_out_dir)/locale_settings_fil.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_fil.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_fil.rc',
+ '<(ui_strings_out_dir)/ui_strings_fil.rc',
+ '<(app_locale_out_dir)/app_locale_settings_fil.rc',
+ ],
+ },
+ {
+ 'target_name': 'fr',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_fr.rc',
+ '<(chrome_grit_out_dir)/generated_resources_fr.rc',
+ '<(chrome_grit_out_dir)/locale_settings_fr.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_fr.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_fr.rc',
+ '<(ui_strings_out_dir)/ui_strings_fr.rc',
+ '<(app_locale_out_dir)/app_locale_settings_fr.rc',
+ ],
+ },
+ {
+ 'target_name': 'gu',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_gu.rc',
+ '<(chrome_grit_out_dir)/generated_resources_gu.rc',
+ '<(chrome_grit_out_dir)/locale_settings_gu.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_gu.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_gu.rc',
+ '<(ui_strings_out_dir)/ui_strings_gu.rc',
+ '<(app_locale_out_dir)/app_locale_settings_gu.rc',
+ ],
+ },
+ {
+ 'target_name': 'he',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_he.rc',
+ '<(chrome_grit_out_dir)/generated_resources_he.rc',
+ '<(chrome_grit_out_dir)/locale_settings_he.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_he.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_he.rc',
+ '<(ui_strings_out_dir)/ui_strings_he.rc',
+ '<(app_locale_out_dir)/app_locale_settings_he.rc',
+ ],
+ },
+ {
+ 'target_name': 'hi',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_hi.rc',
+ '<(chrome_grit_out_dir)/generated_resources_hi.rc',
+ '<(chrome_grit_out_dir)/locale_settings_hi.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_hi.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_hi.rc',
+ '<(ui_strings_out_dir)/ui_strings_hi.rc',
+ '<(app_locale_out_dir)/app_locale_settings_hi.rc',
+ ],
+ },
+ {
+ 'target_name': 'hr',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_hr.rc',
+ '<(chrome_grit_out_dir)/generated_resources_hr.rc',
+ '<(chrome_grit_out_dir)/locale_settings_hr.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_hr.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_hr.rc',
+ '<(ui_strings_out_dir)/ui_strings_hr.rc',
+ '<(app_locale_out_dir)/app_locale_settings_hr.rc',
+ ],
+ },
+ {
+ 'target_name': 'hu',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_hu.rc',
+ '<(chrome_grit_out_dir)/generated_resources_hu.rc',
+ '<(chrome_grit_out_dir)/locale_settings_hu.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_hu.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_hu.rc',
+ '<(ui_strings_out_dir)/ui_strings_hu.rc',
+ '<(app_locale_out_dir)/app_locale_settings_hu.rc',
+ ],
+ },
+ {
+ 'target_name': 'id',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_id.rc',
+ '<(chrome_grit_out_dir)/generated_resources_id.rc',
+ '<(chrome_grit_out_dir)/locale_settings_id.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_id.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_id.rc',
+ '<(ui_strings_out_dir)/ui_strings_id.rc',
+ '<(app_locale_out_dir)/app_locale_settings_id.rc',
+ ],
+ },
+ {
+ 'target_name': 'it',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_it.rc',
+ '<(chrome_grit_out_dir)/generated_resources_it.rc',
+ '<(chrome_grit_out_dir)/locale_settings_it.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_it.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_it.rc',
+ '<(ui_strings_out_dir)/ui_strings_it.rc',
+ '<(app_locale_out_dir)/app_locale_settings_it.rc',
+ ],
+ },
+ {
+ 'target_name': 'ja',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_ja.rc',
+ '<(chrome_grit_out_dir)/generated_resources_ja.rc',
+ '<(chrome_grit_out_dir)/locale_settings_ja.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_ja.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_ja.rc',
+ '<(ui_strings_out_dir)/ui_strings_ja.rc',
+ '<(app_locale_out_dir)/app_locale_settings_ja.rc',
+ ],
+ },
+ {
+ 'target_name': 'kn',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_kn.rc',
+ '<(chrome_grit_out_dir)/generated_resources_kn.rc',
+ '<(chrome_grit_out_dir)/locale_settings_kn.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_kn.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_kn.rc',
+ '<(ui_strings_out_dir)/ui_strings_kn.rc',
+ '<(app_locale_out_dir)/app_locale_settings_kn.rc',
+ ],
+ },
+ {
+ 'target_name': 'ko',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_ko.rc',
+ '<(chrome_grit_out_dir)/generated_resources_ko.rc',
+ '<(chrome_grit_out_dir)/locale_settings_ko.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_ko.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_ko.rc',
+ '<(ui_strings_out_dir)/ui_strings_ko.rc',
+ '<(app_locale_out_dir)/app_locale_settings_ko.rc',
+ ],
+ },
+ {
+ 'target_name': 'lt',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_lt.rc',
+ '<(chrome_grit_out_dir)/generated_resources_lt.rc',
+ '<(chrome_grit_out_dir)/locale_settings_lt.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_lt.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_lt.rc',
+ '<(ui_strings_out_dir)/ui_strings_lt.rc',
+ '<(app_locale_out_dir)/app_locale_settings_lt.rc',
+ ],
+ },
+ {
+ 'target_name': 'lv',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_lv.rc',
+ '<(chrome_grit_out_dir)/generated_resources_lv.rc',
+ '<(chrome_grit_out_dir)/locale_settings_lv.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_lv.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_lv.rc',
+ '<(ui_strings_out_dir)/ui_strings_lv.rc',
+ '<(app_locale_out_dir)/app_locale_settings_lv.rc',
+ ],
+ },
+ {
+ 'target_name': 'ml',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_ml.rc',
+ '<(chrome_grit_out_dir)/generated_resources_ml.rc',
+ '<(chrome_grit_out_dir)/locale_settings_ml.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_ml.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_ml.rc',
+ '<(ui_strings_out_dir)/ui_strings_ml.rc',
+ '<(app_locale_out_dir)/app_locale_settings_ml.rc',
+ ],
+ },
+ {
+ 'target_name': 'mr',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_mr.rc',
+ '<(chrome_grit_out_dir)/generated_resources_mr.rc',
+ '<(chrome_grit_out_dir)/locale_settings_mr.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_mr.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_mr.rc',
+ '<(ui_strings_out_dir)/ui_strings_mr.rc',
+ '<(app_locale_out_dir)/app_locale_settings_mr.rc',
+ ],
+ },
+ {
+ 'target_name': 'nb',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_nb.rc',
+ '<(chrome_grit_out_dir)/generated_resources_nb.rc',
+ '<(chrome_grit_out_dir)/locale_settings_nb.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_nb.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_nb.rc',
+ '<(ui_strings_out_dir)/ui_strings_nb.rc',
+ '<(app_locale_out_dir)/app_locale_settings_nb.rc',
+ ],
+ },
+ {
+ 'target_name': 'nl',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_nl.rc',
+ '<(chrome_grit_out_dir)/generated_resources_nl.rc',
+ '<(chrome_grit_out_dir)/locale_settings_nl.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_nl.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_nl.rc',
+ '<(ui_strings_out_dir)/ui_strings_nl.rc',
+ '<(app_locale_out_dir)/app_locale_settings_nl.rc',
+ ],
+ },
+ {
+ 'target_name': 'pl',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_pl.rc',
+ '<(chrome_grit_out_dir)/generated_resources_pl.rc',
+ '<(chrome_grit_out_dir)/locale_settings_pl.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_pl.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_pl.rc',
+ '<(ui_strings_out_dir)/ui_strings_pl.rc',
+ '<(app_locale_out_dir)/app_locale_settings_pl.rc',
+ ],
+ },
+ {
+ 'target_name': 'pt-BR',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_pt-BR.rc',
+ '<(chrome_grit_out_dir)/generated_resources_pt-BR.rc',
+ '<(chrome_grit_out_dir)/locale_settings_pt-BR.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_pt-BR.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_pt-BR.rc',
+ '<(ui_strings_out_dir)/ui_strings_pt-BR.rc',
+ '<(app_locale_out_dir)/app_locale_settings_pt-BR.rc',
+ ],
+ },
+ {
+ 'target_name': 'pt-PT',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_pt-PT.rc',
+ '<(chrome_grit_out_dir)/generated_resources_pt-PT.rc',
+ '<(chrome_grit_out_dir)/locale_settings_pt-PT.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_pt-PT.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_pt-PT.rc',
+ '<(ui_strings_out_dir)/ui_strings_pt-PT.rc',
+ '<(app_locale_out_dir)/app_locale_settings_pt-PT.rc',
+ ],
+ },
+ {
+ 'target_name': 'ro',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_ro.rc',
+ '<(chrome_grit_out_dir)/generated_resources_ro.rc',
+ '<(chrome_grit_out_dir)/locale_settings_ro.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_ro.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_ro.rc',
+ '<(ui_strings_out_dir)/ui_strings_ro.rc',
+ '<(app_locale_out_dir)/app_locale_settings_ro.rc',
+ ],
+ },
+ {
+ 'target_name': 'ru',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_ru.rc',
+ '<(chrome_grit_out_dir)/generated_resources_ru.rc',
+ '<(chrome_grit_out_dir)/locale_settings_ru.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_ru.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_ru.rc',
+ '<(ui_strings_out_dir)/ui_strings_ru.rc',
+ '<(app_locale_out_dir)/app_locale_settings_ru.rc',
+ ],
+ },
+ {
+ 'target_name': 'sk',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_sk.rc',
+ '<(chrome_grit_out_dir)/generated_resources_sk.rc',
+ '<(chrome_grit_out_dir)/locale_settings_sk.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_sk.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_sk.rc',
+ '<(ui_strings_out_dir)/ui_strings_sk.rc',
+ '<(app_locale_out_dir)/app_locale_settings_sk.rc',
+ ],
+ },
+ {
+ 'target_name': 'sl',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_sl.rc',
+ '<(chrome_grit_out_dir)/generated_resources_sl.rc',
+ '<(chrome_grit_out_dir)/locale_settings_sl.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_sl.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_sl.rc',
+ '<(ui_strings_out_dir)/ui_strings_sl.rc',
+ '<(app_locale_out_dir)/app_locale_settings_sl.rc',
+ ],
+ },
+ {
+ 'target_name': 'sr',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_sr.rc',
+ '<(chrome_grit_out_dir)/generated_resources_sr.rc',
+ '<(chrome_grit_out_dir)/locale_settings_sr.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_sr.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_sr.rc',
+ '<(ui_strings_out_dir)/ui_strings_sr.rc',
+ '<(app_locale_out_dir)/app_locale_settings_sr.rc',
+ ],
+ },
+ {
+ 'target_name': 'sv',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_sv.rc',
+ '<(chrome_grit_out_dir)/generated_resources_sv.rc',
+ '<(chrome_grit_out_dir)/locale_settings_sv.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_sv.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_sv.rc',
+ '<(ui_strings_out_dir)/ui_strings_sv.rc',
+ '<(app_locale_out_dir)/app_locale_settings_sv.rc',
+ ],
+ },
+ {
+ 'target_name': 'sw',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_sw.rc',
+ '<(chrome_grit_out_dir)/generated_resources_sw.rc',
+ '<(chrome_grit_out_dir)/locale_settings_sw.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_sw.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_sw.rc',
+ '<(ui_strings_out_dir)/ui_strings_sw.rc',
+ '<(app_locale_out_dir)/app_locale_settings_sw.rc',
+ ],
+ },
+ {
+ 'target_name': 'ta',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_ta.rc',
+ '<(chrome_grit_out_dir)/generated_resources_ta.rc',
+ '<(chrome_grit_out_dir)/locale_settings_ta.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_ta.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_ta.rc',
+ '<(ui_strings_out_dir)/ui_strings_ta.rc',
+ '<(app_locale_out_dir)/app_locale_settings_ta.rc',
+ ],
+ },
+ {
+ 'target_name': 'te',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_te.rc',
+ '<(chrome_grit_out_dir)/generated_resources_te.rc',
+ '<(chrome_grit_out_dir)/locale_settings_te.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_te.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_te.rc',
+ '<(ui_strings_out_dir)/ui_strings_te.rc',
+ '<(app_locale_out_dir)/app_locale_settings_te.rc',
+ ],
+ },
+ {
+ 'target_name': 'th',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_th.rc',
+ '<(chrome_grit_out_dir)/generated_resources_th.rc',
+ '<(chrome_grit_out_dir)/locale_settings_th.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_th.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_th.rc',
+ '<(ui_strings_out_dir)/ui_strings_th.rc',
+ '<(app_locale_out_dir)/app_locale_settings_th.rc',
+ ],
+ },
+ {
+ 'target_name': 'tr',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_tr.rc',
+ '<(chrome_grit_out_dir)/generated_resources_tr.rc',
+ '<(chrome_grit_out_dir)/locale_settings_tr.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_tr.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_tr.rc',
+ '<(ui_strings_out_dir)/ui_strings_tr.rc',
+ '<(app_locale_out_dir)/app_locale_settings_tr.rc',
+ ],
+ },
+ {
+ 'target_name': 'uk',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_uk.rc',
+ '<(chrome_grit_out_dir)/generated_resources_uk.rc',
+ '<(chrome_grit_out_dir)/locale_settings_uk.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_uk.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_uk.rc',
+ '<(ui_strings_out_dir)/ui_strings_uk.rc',
+ '<(app_locale_out_dir)/app_locale_settings_uk.rc',
+ ],
+ },
+ {
+ 'target_name': 'vi',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_vi.rc',
+ '<(chrome_grit_out_dir)/generated_resources_vi.rc',
+ '<(chrome_grit_out_dir)/locale_settings_vi.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_vi.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_vi.rc',
+ '<(ui_strings_out_dir)/ui_strings_vi.rc',
+ '<(app_locale_out_dir)/app_locale_settings_vi.rc',
+ ],
+ },
+ {
+ 'target_name': 'zh-CN',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_zh-CN.rc',
+ '<(chrome_grit_out_dir)/generated_resources_zh-CN.rc',
+ '<(chrome_grit_out_dir)/locale_settings_zh-CN.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_zh-CN.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_zh-CN.rc',
+ '<(ui_strings_out_dir)/ui_strings_zh-CN.rc',
+ '<(app_locale_out_dir)/app_locale_settings_zh-CN.rc',
+ ],
+ },
+ {
+ 'target_name': 'zh-TW',
+ 'sources': [
+ '<(chrome_grit_out_dir)/platform_locale_settings_zh-TW.rc',
+ '<(chrome_grit_out_dir)/generated_resources_zh-TW.rc',
+ '<(chrome_grit_out_dir)/locale_settings_zh-TW.rc',
+ '<(chrome_grit_out_dir)/<(strings_rc_name)_zh-TW.rc',
+ '<(webkit_grit_out_dir)/webkit_strings_zh-TW.rc',
+ '<(ui_strings_out_dir)/ui_strings_zh-TW.rc',
+ '<(app_locale_out_dir)/app_locale_settings_zh-TW.rc',
+ ],
+ },
+ ],
+ }],
+ ],
+}
diff --git a/chrome/chrome_exe.gypi b/chrome/chrome_exe.gypi
index e6aac7b..83b6e98 100644
--- a/chrome/chrome_exe.gypi
+++ b/chrome/chrome_exe.gypi
@@ -433,11 +433,11 @@
'chrome_version_resources',
'installer_util',
'installer_util_strings',
- 'packed_resources',
'../base/base.gyp:base',
'../breakpad/breakpad.gyp:breakpad_handler',
'../breakpad/breakpad.gyp:breakpad_sender',
'../sandbox/sandbox.gyp:sandbox',
+ 'app/locales/locales.gyp:*',
'app/policy/cloud_policy_codegen.gyp:policy',
],
'sources': [
diff --git a/chrome/installer/mini_installer.gyp b/chrome/installer/mini_installer.gyp
index 4295fb4..f33432a 100644
--- a/chrome/installer/mini_installer.gyp
+++ b/chrome/installer/mini_installer.gyp
@@ -193,7 +193,7 @@
'<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll',
'<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
'<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
- '<(PRODUCT_DIR)/locales/en-US.pak',
+ '<(PRODUCT_DIR)/locales/en-US.dll',
'<(PRODUCT_DIR)/icudt.dll',
],
'outputs': [
diff --git a/chrome/installer/mini_installer/chrome.release b/chrome/installer/mini_installer/chrome.release
index 555c3ee..1457df1 100644
--- a/chrome/installer/mini_installer/chrome.release
+++ b/chrome/installer/mini_installer/chrome.release
@@ -39,7 +39,7 @@ nacl_irt_x86_32.nexe: %(VersionDir)s\
nacl_irt_x86_64.nexe: %(VersionDir)s\
icudt.dll: %(VersionDir)s\
resources.pak: %(VersionDir)s\
-locales\*.pak: %(VersionDir)s\Locales
+locales\*.dll: %(VersionDir)s\Locales
servers\*.dll: %(VersionDir)s\
servers\*.exe: %(VersionDir)s\
chrome_frame_helper.exe: %(VersionDir)s\
diff --git a/chrome/tools/build/win/FILES b/chrome/tools/build/win/FILES
index 338415b..d00e39d 100644
--- a/chrome/tools/build/win/FILES
+++ b/chrome/tools/build/win/FILES
@@ -12,55 +12,55 @@ ppGoogleNaClPluginChrome.dll
nacl_irt_x86_32.nexe
nacl_irt_x86_64.nexe
icudt.dll
-locales/ar.pak
-locales/bg.pak
-locales/bn.pak
-locales/ca.pak
-locales/cs.pak
-locales/da.pak
-locales/de.pak
-locales/el.pak
-locales/en-GB.pak
-locales/en-US.pak
-locales/es-419.pak
-locales/es.pak
-locales/et.pak
-locales/fi.pak
-locales/fil.pak
-locales/fr.pak
-locales/gu.pak
-locales/he.pak
-locales/hi.pak
-locales/hr.pak
-locales/hu.pak
-locales/id.pak
-locales/it.pak
-locales/ja.pak
-locales/kn.pak
-locales/ko.pak
-locales/lt.pak
-locales/lv.pak
-locales/ml.pak
-locales/mr.pak
-locales/nb.pak
-locales/nl.pak
-locales/pl.pak
-locales/pt-BR.pak
-locales/pt-PT.pak
-locales/ro.pak
-locales/ru.pak
-locales/sk.pak
-locales/sl.pak
-locales/sr.pak
-locales/sv.pak
-locales/ta.pak
-locales/te.pak
-locales/th.pak
-locales/tr.pak
-locales/uk.pak
-locales/vi.pak
-locales/zh-CN.pak
-locales/zh-TW.pak
+locales/ar.dll
+locales/bg.dll
+locales/bn.dll
+locales/ca.dll
+locales/cs.dll
+locales/da.dll
+locales/de.dll
+locales/el.dll
+locales/en-GB.dll
+locales/en-US.dll
+locales/es-419.dll
+locales/es.dll
+locales/et.dll
+locales/fi.dll
+locales/fil.dll
+locales/fr.dll
+locales/gu.dll
+locales/he.dll
+locales/hi.dll
+locales/hr.dll
+locales/hu.dll
+locales/id.dll
+locales/it.dll
+locales/ja.dll
+locales/kn.dll
+locales/ko.dll
+locales/lt.dll
+locales/lv.dll
+locales/ml.dll
+locales/mr.dll
+locales/nb.dll
+locales/nl.dll
+locales/pl.dll
+locales/pt-BR.dll
+locales/pt-PT.dll
+locales/ro.dll
+locales/ru.dll
+locales/sk.dll
+locales/sl.dll
+locales/sr.dll
+locales/sv.dll
+locales/ta.dll
+locales/te.dll
+locales/th.dll
+locales/tr.dll
+locales/uk.dll
+locales/vi.dll
+locales/zh-CN.dll
+locales/zh-TW.dll
resources.pak
wow_helper.exe
gcswf32.dll
diff --git a/chrome/tools/build/win/FILES.cfg b/chrome/tools/build/win/FILES.cfg
index 35657a3..4fc4214 100644
--- a/chrome/tools/build/win/FILES.cfg
+++ b/chrome/tools/build/win/FILES.cfg
@@ -71,247 +71,247 @@ FILES = [
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/ar.pak',
+ 'filename': 'locales/ar.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/bg.pak',
+ 'filename': 'locales/bg.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/bn.pak',
+ 'filename': 'locales/bn.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/ca.pak',
+ 'filename': 'locales/ca.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/cs.pak',
+ 'filename': 'locales/cs.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/da.pak',
+ 'filename': 'locales/da.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/de.pak',
+ 'filename': 'locales/de.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/el.pak',
+ 'filename': 'locales/el.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/en-GB.pak',
+ 'filename': 'locales/en-GB.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/en-US.pak',
+ 'filename': 'locales/en-US.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/es-419.pak',
+ 'filename': 'locales/es-419.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/es.pak',
+ 'filename': 'locales/es.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/et.pak',
+ 'filename': 'locales/et.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/fi.pak',
+ 'filename': 'locales/fi.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/fil.pak',
+ 'filename': 'locales/fil.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/fr.pak',
+ 'filename': 'locales/fr.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/gu.pak',
+ 'filename': 'locales/gu.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/he.pak',
+ 'filename': 'locales/he.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/hi.pak',
+ 'filename': 'locales/hi.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/hr.pak',
+ 'filename': 'locales/hr.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/hu.pak',
+ 'filename': 'locales/hu.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/id.pak',
+ 'filename': 'locales/id.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/it.pak',
+ 'filename': 'locales/it.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/ja.pak',
+ 'filename': 'locales/ja.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/kn.pak',
+ 'filename': 'locales/kn.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/ko.pak',
+ 'filename': 'locales/ko.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/lt.pak',
+ 'filename': 'locales/lt.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/lv.pak',
+ 'filename': 'locales/lv.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/ml.pak',
+ 'filename': 'locales/ml.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/mr.pak',
+ 'filename': 'locales/mr.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/nb.pak',
+ 'filename': 'locales/nb.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/nl.pak',
+ 'filename': 'locales/nl.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/pl.pak',
+ 'filename': 'locales/pl.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/pt-BR.pak',
+ 'filename': 'locales/pt-BR.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/pt-PT.pak',
+ 'filename': 'locales/pt-PT.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/ro.pak',
+ 'filename': 'locales/ro.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/ru.pak',
+ 'filename': 'locales/ru.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/sk.pak',
+ 'filename': 'locales/sk.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/sl.pak',
+ 'filename': 'locales/sl.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/sr.pak',
+ 'filename': 'locales/sr.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/sv.pak',
+ 'filename': 'locales/sv.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/ta.pak',
+ 'filename': 'locales/ta.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/te.pak',
+ 'filename': 'locales/te.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/th.pak',
+ 'filename': 'locales/th.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/tr.pak',
+ 'filename': 'locales/tr.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/uk.pak',
+ 'filename': 'locales/uk.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/vi.pak',
+ 'filename': 'locales/vi.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/zh-CN.pak',
+ 'filename': 'locales/zh-CN.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'locales/zh-TW.pak',
+ 'filename': 'locales/zh-TW.dll',
'arch': ['32bit', '64bit'],
'buildtype': ['dev', 'official'],
},
diff --git a/chrome_frame/chrome_frame.gyp b/chrome_frame/chrome_frame.gyp
index 47154cf..2c42b87 100644
--- a/chrome_frame/chrome_frame.gyp
+++ b/chrome_frame/chrome_frame.gyp
@@ -32,9 +32,9 @@
'target_defaults': {
'dependencies': [
# locales need to be built for the chrome frame binaries to be loadable.
+ '../chrome/app/locales/locales.gyp:*',
'../chrome/chrome.gyp:chrome_resources',
'../chrome/chrome.gyp:chrome_strings',
- '../chrome/chrome.gyp:packed_resources',
'../chrome/chrome.gyp:theme_resources',
'../skia/skia.gyp:skia',
],
diff --git a/ui/base/l10n/l10n_util.cc b/ui/base/l10n/l10n_util.cc
index ee4bb7c..cabda81 100644
--- a/ui/base/l10n/l10n_util.cc
+++ b/ui/base/l10n/l10n_util.cc
@@ -36,8 +36,11 @@
namespace {
-static const FilePath::CharType kLocaleFileExtension[] =
- FILE_PATH_LITERAL(".pak");
+#if defined(OS_WIN)
+static const FilePath::CharType kLocaleFileExtension[] = L".dll";
+#elif defined(OS_POSIX)
+static const FilePath::CharType kLocaleFileExtension[] = ".pak";
+#endif
static const char* const kAcceptLanguageList[] = {
"af", // Afrikaans
diff --git a/ui/base/resource/resource_bundle.cc b/ui/base/resource/resource_bundle.cc
index 6a68f20..8322566 100644
--- a/ui/base/resource/resource_bundle.cc
+++ b/ui/base/resource/resource_bundle.cc
@@ -4,19 +4,13 @@
#include "ui/base/resource/resource_bundle.h"
-#include "base/command_line.h"
-#include "base/file_util.h"
#include "base/logging.h"
-#include "base/path_service.h"
#include "base/stl_util.h"
#include "base/string_piece.h"
#include "base/synchronization/lock.h"
#include "build/build_config.h"
#include "third_party/skia/include/core/SkBitmap.h"
-#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/data_pack.h"
-#include "ui/base/ui_base_paths.h"
-#include "ui/base/ui_base_switches.h"
#include "ui/gfx/codec/png_codec.h"
#include "ui/gfx/font.h"
#include "ui/gfx/image/image.h"
@@ -79,17 +73,6 @@ void ResourceBundle::InitSharedInstanceForTest(const FilePath& path) {
}
/* static */
-DataPack* ResourceBundle::LoadResourcesDataPak(const FilePath& path) {
- DataPack* datapack = new DataPack;
- bool success = datapack->Load(path);
- if (!success) {
- delete datapack;
- datapack = NULL;
- }
- return datapack;
-}
-
-/* static */
std::string ResourceBundle::ReloadSharedInstance(
const std::string& pref_locale) {
DCHECK(g_shared_instance_ != NULL) << "ResourceBundle not initialized";
@@ -119,74 +102,6 @@ ResourceBundle& ResourceBundle::GetSharedInstance() {
return *g_shared_instance_;
}
-#if !defined(OS_MACOSX)
-/* static */
-FilePath ResourceBundle::GetLocaleFilePath(const std::string& app_locale) {
- FilePath locale_file_path;
- PathService::Get(ui::DIR_LOCALES, &locale_file_path);
- if (locale_file_path.empty())
- return locale_file_path;
- if (app_locale.empty())
- return FilePath();
- locale_file_path = locale_file_path.AppendASCII(app_locale + ".pak");
- if (!file_util::PathExists(locale_file_path))
- return FilePath();
- return locale_file_path;
-}
-#endif
-
-std::string ResourceBundle::LoadLocaleResources(
- const std::string& pref_locale) {
- DCHECK(!locale_resources_data_.get()) << "locale.pak already loaded";
- std::string app_locale = l10n_util::GetApplicationLocale(pref_locale);
- FilePath locale_file_path;
- CommandLine *command_line = CommandLine::ForCurrentProcess();
- if (command_line->HasSwitch(switches::kLocalePak)) {
- locale_file_path =
- command_line->GetSwitchValuePath(switches::kLocalePak);
- } else {
- locale_file_path = GetLocaleFilePath(app_locale);
- }
- if (locale_file_path.empty()) {
- // It's possible that there is no locale.pak.
- NOTREACHED();
- return std::string();
- }
- locale_resources_data_.reset(LoadResourcesDataPak(locale_file_path));
- CHECK(locale_resources_data_.get()) << "failed to load locale.pak";
- return app_locale;
-}
-
-void ResourceBundle::UnloadLocaleResources() {
- locale_resources_data_.reset();
-}
-
-string16 ResourceBundle::GetLocalizedString(int message_id) {
- // If for some reason we were unable to load a resource pak, return an empty
- // string (better than crashing).
- if (!locale_resources_data_.get()) {
- LOG(WARNING) << "locale resources are not loaded";
- return string16();
- }
-
- base::StringPiece data;
- if (!locale_resources_data_->GetStringPiece(message_id, &data)) {
- // Fall back on the main data pack (shouldn't be any strings here except in
- // unittests).
- data = GetRawDataResource(message_id);
- if (data.empty()) {
- NOTREACHED() << "unable to find resource: " << message_id;
- return string16();
- }
- }
-
- // Data pack encodes strings as UTF16.
- DCHECK_EQ(data.length() % 2, 0U);
- string16 msg(reinterpret_cast<const char16*>(data.data()),
- data.length() / 2);
- return msg;
-}
-
SkBitmap* ResourceBundle::GetBitmapNamed(int resource_id) {
const SkBitmap* bitmap =
static_cast<const SkBitmap*>(GetImageNamed(resource_id));
@@ -279,7 +194,8 @@ void ResourceBundle::ReloadFonts() {
ResourceBundle::ResourceBundle()
: lock_(new base::Lock),
resources_data_(NULL),
- large_icon_resources_data_(NULL) {
+ large_icon_resources_data_(NULL),
+ locale_resources_data_(NULL) {
}
void ResourceBundle::FreeImages() {
diff --git a/ui/base/resource/resource_bundle.h b/ui/base/resource/resource_bundle.h
index 7076a6e..37d3ef1 100644
--- a/ui/base/resource/resource_bundle.h
+++ b/ui/base/resource/resource_bundle.h
@@ -83,10 +83,6 @@ class UI_EXPORT ResourceBundle {
// Initialize the ResourceBundle using given data pack path for testing.
static void InitSharedInstanceForTest(const FilePath& path);
- // Load a .pak file. Returns NULL if we fail to load |path|. The caller
- // is responsible for deleting up this pointer.
- static DataPack* LoadResourcesDataPak(const FilePath& path);
-
// Changes the locale for an already-initialized ResourceBundle. Future
// calls to get strings will return the strings for this new locale. This
// has no effect on existing or future image resources. This has no effect
@@ -275,9 +271,7 @@ class UI_EXPORT ResourceBundle {
// Handles for data sources.
DataHandle resources_data_;
DataHandle large_icon_resources_data_;
-#if !defined(NACL_WIN64)
- scoped_ptr<DataPack> locale_resources_data_;
-#endif
+ DataHandle locale_resources_data_;
// References to extra data packs loaded via AddDataPackToSharedInstance.
std::vector<LoadedDataPack*> data_packs_;
diff --git a/ui/base/resource/resource_bundle_dummy.cc b/ui/base/resource/resource_bundle_dummy.cc
index 529e63a..8a2ad08 100644
--- a/ui/base/resource/resource_bundle_dummy.cc
+++ b/ui/base/resource/resource_bundle_dummy.cc
@@ -45,7 +45,8 @@ ResourceBundle& ResourceBundle::GetSharedInstance() {
ResourceBundle::ResourceBundle()
: lock_(new base::Lock),
- resources_data_(NULL) {
+ resources_data_(NULL),
+ locale_resources_data_(NULL) {
}
ResourceBundle::~ResourceBundle() {
diff --git a/ui/base/resource/resource_bundle_linux.cc b/ui/base/resource/resource_bundle_linux.cc
index 0ea8b0d..d1eb654 100644
--- a/ui/base/resource/resource_bundle_linux.cc
+++ b/ui/base/resource/resource_bundle_linux.cc
@@ -71,6 +71,20 @@ FilePath ResourceBundle::GetLargeIconResourcesFilePath() {
return FilePath();
}
+// static
+FilePath ResourceBundle::GetLocaleFilePath(const std::string& app_locale) {
+ FilePath locale_file_path;
+ PathService::Get(ui::DIR_LOCALES, &locale_file_path);
+ if (locale_file_path.empty())
+ return locale_file_path;
+ if (app_locale.empty())
+ return FilePath();
+ locale_file_path = locale_file_path.AppendASCII(app_locale + ".pak");
+ if (!file_util::PathExists(locale_file_path))
+ return FilePath();
+ return locale_file_path;
+}
+
gfx::Image& ResourceBundle::GetNativeImageNamed(int resource_id) {
return *GetPixbufImpl(resource_id, false);
}
diff --git a/ui/base/resource/resource_bundle_posix.cc b/ui/base/resource/resource_bundle_posix.cc
index 2669b68..d23a5b1 100644
--- a/ui/base/resource/resource_bundle_posix.cc
+++ b/ui/base/resource/resource_bundle_posix.cc
@@ -18,6 +18,20 @@
namespace ui {
+namespace {
+
+DataPack* LoadResourcesDataPak(FilePath resources_pak_path) {
+ DataPack* resources_pak = new DataPack;
+ bool success = resources_pak->Load(resources_pak_path);
+ if (!success) {
+ delete resources_pak;
+ resources_pak = NULL;
+ }
+ return resources_pak;
+}
+
+} // namespace
+
ResourceBundle::~ResourceBundle() {
FreeImages();
UnloadLocaleResources();
@@ -27,6 +41,11 @@ ResourceBundle::~ResourceBundle() {
resources_data_ = NULL;
}
+void ResourceBundle::UnloadLocaleResources() {
+ delete locale_resources_data_;
+ locale_resources_data_ = NULL;
+}
+
// static
RefCountedStaticMemory* ResourceBundle::LoadResourceBytes(
DataHandle module, int resource_id) {
@@ -50,6 +69,32 @@ base::StringPiece ResourceBundle::GetRawDataResource(int resource_id) const {
return data;
}
+string16 ResourceBundle::GetLocalizedString(int message_id) {
+ // If for some reason we were unable to load a resource pak, return an empty
+ // string (better than crashing).
+ if (!locale_resources_data_) {
+ LOG(WARNING) << "locale resources are not loaded";
+ return string16();
+ }
+
+ base::StringPiece data;
+ if (!locale_resources_data_->GetStringPiece(message_id, &data)) {
+ // Fall back on the main data pack (shouldn't be any strings here except in
+ // unittests).
+ data = GetRawDataResource(message_id);
+ if (data.empty()) {
+ NOTREACHED() << "unable to find resource: " << message_id;
+ return string16();
+ }
+ }
+
+ // Data pack encodes strings as UTF16.
+ DCHECK_EQ(data.length() % 2, 0U);
+ string16 msg(reinterpret_cast<const char16*>(data.data()),
+ data.length() / 2);
+ return msg;
+}
+
void ResourceBundle::LoadCommonResources() {
DCHECK(!resources_data_) << "chrome.pak already loaded";
FilePath resources_file_path = GetResourcesFilePath();
@@ -66,12 +111,34 @@ void ResourceBundle::LoadCommonResources() {
}
}
+std::string ResourceBundle::LoadLocaleResources(
+ const std::string& pref_locale) {
+ DCHECK(!locale_resources_data_) << "locale.pak already loaded";
+ std::string app_locale = l10n_util::GetApplicationLocale(pref_locale);
+ FilePath locale_file_path;
+ CommandLine *command_line = CommandLine::ForCurrentProcess();
+ if (command_line->HasSwitch(switches::kLocalePak)) {
+ locale_file_path =
+ command_line->GetSwitchValuePath(switches::kLocalePak);
+ } else {
+ locale_file_path = GetLocaleFilePath(app_locale);
+ }
+ if (locale_file_path.empty()) {
+ // It's possible that there is no locale.pak.
+ NOTREACHED();
+ return std::string();
+ }
+ locale_resources_data_ = LoadResourcesDataPak(locale_file_path);
+ CHECK(locale_resources_data_) << "failed to load locale.pak";
+ return app_locale;
+}
+
void ResourceBundle::LoadTestResources(const FilePath& path) {
DCHECK(!resources_data_) << "resource already loaded";
// Use the given resource pak for both common and localized resources.
resources_data_ = LoadResourcesDataPak(path);
- locale_resources_data_.reset(LoadResourcesDataPak(path));
+ locale_resources_data_ = LoadResourcesDataPak(path);
}
} // namespace ui
diff --git a/ui/base/resource/resource_bundle_win.cc b/ui/base/resource/resource_bundle_win.cc
index 0024f5d..d5cbaad 100644
--- a/ui/base/resource/resource_bundle_win.cc
+++ b/ui/base/resource/resource_bundle_win.cc
@@ -7,13 +7,17 @@
#include <atlbase.h>
#include "base/debug/stack_trace.h"
+#include "base/file_util.h"
#include "base/logging.h"
#include "base/path_service.h"
#include "base/resource_util.h"
#include "base/stl_util.h"
#include "base/string_piece.h"
+#include "base/synchronization/lock.h"
#include "base/win/windows_version.h"
+#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/data_pack.h"
+#include "ui/base/ui_base_paths.h"
#include "ui/gfx/font.h"
namespace ui {
@@ -51,11 +55,50 @@ void ResourceBundle::LoadCommonResources() {
}
}
+std::string ResourceBundle::LoadLocaleResources(
+ const std::string& pref_locale) {
+ DCHECK(NULL == locale_resources_data_) << "locale dll already loaded";
+ const std::string app_locale = l10n_util::GetApplicationLocale(pref_locale);
+ const FilePath& locale_path = GetLocaleFilePath(app_locale);
+ if (locale_path.value().empty()) {
+ // It's possible that there are no locale dlls found, in which case we just
+ // return.
+ NOTREACHED();
+ return std::string();
+ }
+
+ // The dll should only have resources, not executable code.
+ locale_resources_data_ = LoadLibraryEx(locale_path.value().c_str(), NULL,
+ GetDataDllLoadFlags());
+ DCHECK(locale_resources_data_ != NULL) <<
+ "unable to load generated resources";
+ return app_locale;
+}
+
void ResourceBundle::LoadTestResources(const FilePath& path) {
// On Windows, the test resources are normally compiled into the binary
// itself.
}
+void ResourceBundle::UnloadLocaleResources() {
+ if (locale_resources_data_) {
+ BOOL rv = FreeLibrary(locale_resources_data_);
+ DCHECK(rv);
+ locale_resources_data_ = NULL;
+ }
+}
+
+// static
+FilePath ResourceBundle::GetLocaleFilePath(const std::string& app_locale) {
+ FilePath locale_path;
+ PathService::Get(ui::DIR_LOCALES, &locale_path);
+
+ if (app_locale.empty())
+ return FilePath();
+
+ return locale_path.AppendASCII(app_locale + ".dll");
+}
+
// static
RefCountedStaticMemory* ResourceBundle::LoadResourceBytes(
DataHandle module, int resource_id) {
@@ -82,26 +125,20 @@ HICON ResourceBundle::LoadThemeIcon(int icon_id) {
base::StringPiece ResourceBundle::GetRawDataResource(int resource_id) const {
void* data_ptr;
size_t data_size;
- base::StringPiece data;
if (base::GetDataResourceFromModule(resources_data_,
resource_id,
&data_ptr,
&data_size)) {
return base::StringPiece(static_cast<const char*>(data_ptr), data_size);
- } else if (locale_resources_data_.get() &&
- locale_resources_data_->GetStringPiece(resource_id, &data)) {
- return data;
- }
-
- // TODO(tony): Remove this ATL code once we remove the strings in
- // chrome.dll.
- const ATLSTRINGRESOURCEIMAGE* image = AtlGetStringResourceImage(
- resources_data_, resource_id);
- if (image) {
- return base::StringPiece(reinterpret_cast<const char*>(image->achString),
- image->nLength * 2);
+ } else if (locale_resources_data_ &&
+ base::GetDataResourceFromModule(locale_resources_data_,
+ resource_id,
+ &data_ptr,
+ &data_size)) {
+ return base::StringPiece(static_cast<const char*>(data_ptr), data_size);
}
+ base::StringPiece data;
for (size_t i = 0; i < data_packs_.size(); ++i) {
if (data_packs_[i]->GetStringPiece(resource_id, &data))
return data;
@@ -115,6 +152,36 @@ HCURSOR ResourceBundle::LoadCursor(int cursor_id) {
return ::LoadCursor(resources_data_, MAKEINTRESOURCE(cursor_id));
}
+string16 ResourceBundle::GetLocalizedString(int message_id) {
+ // If for some reason we were unable to load a resource dll, return an empty
+ // string (better than crashing).
+ if (!locale_resources_data_) {
+ base::debug::StackTrace().PrintBacktrace(); // See http://crbug.com/21925.
+ LOG(WARNING) << "locale resources are not loaded";
+ return string16();
+ }
+
+ DCHECK(IS_INTRESOURCE(message_id));
+
+ // Get a reference directly to the string resource.
+ HINSTANCE hinstance = locale_resources_data_;
+ const ATLSTRINGRESOURCEIMAGE* image = AtlGetStringResourceImage(hinstance,
+ message_id);
+ if (!image) {
+ // Fall back on the current module (shouldn't be any strings here except
+ // in unittests).
+ image = AtlGetStringResourceImage(resources_data_, message_id);
+ if (!image) {
+ // See http://crbug.com/21925.
+ base::debug::StackTrace().PrintBacktrace();
+ NOTREACHED() << "unable to find resource: " << message_id;
+ return string16();
+ }
+ }
+ // Copy into a string16 and return.
+ return string16(image->achString, image->nLength);
+}
+
// Windows only uses SkBitmap for gfx::Image, so this is the same as
// GetImageNamed.
gfx::Image& ResourceBundle::GetNativeImageNamed(int resource_id) {
diff --git a/views/views.gyp b/views/views.gyp
index 786eac0..7e5ca8a 100644
--- a/views/views.gyp
+++ b/views/views.gyp
@@ -516,7 +516,7 @@
# TODO(jcivelli): ideally the resource needed by views would be
# factored out. (for some reason it pulls in a bunch
# unrelated things like v8, sqlite nss...).
- '../chrome/chrome.gyp:packed_resources',
+ '../chrome/app/locales/locales.gyp:en-US',
],
'link_settings': {
'libraries': [