summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPierre Rossi <pierre.rossi@digia.com>2013-12-02 18:23:45 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-12-03 11:57:52 +0100
commit3e635f23d06a622db23c7d3e99cae574735534d9 (patch)
treea057592ee2170d096620e6f3ccf37a37bba4c531 /src
parent430f202718f7311c541a7243870719e2df456f2f (diff)
Get localized strings in the render process
Building on top of the repacking of .pak files, we now ship the whole array of repacked locales and pick the appropriate one at runtime. Change-Id: I0096e3eac6a1fc83885fd11e0fa55a746f8e45d8 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/content_client_qt.cpp6
-rw-r--r--src/core/content_client_qt.h1
-rw-r--r--src/core/core.pro4
-rw-r--r--src/core/resources/repack_locales.gypi27
-rw-r--r--src/core/resources/resources.gyp16
5 files changed, 53 insertions, 1 deletions
diff --git a/src/core/content_client_qt.cpp b/src/core/content_client_qt.cpp
index 46a3e9870..6a52cb5d4 100644
--- a/src/core/content_client_qt.cpp
+++ b/src/core/content_client_qt.cpp
@@ -43,8 +43,14 @@
#include "base/strings/string_piece.h"
#include "ui/base/layout.h"
+#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
base::StringPiece ContentClientQt::GetDataResource(int resource_id, ui::ScaleFactor scale_factor) const {
return ResourceBundle::GetSharedInstance().GetRawDataResourceForScale(resource_id, scale_factor);
}
+
+base::string16 ContentClientQt::GetLocalizedString(int message_id) const
+{
+ return l10n_util::GetStringUTF16(message_id);
+}
diff --git a/src/core/content_client_qt.h b/src/core/content_client_qt.h
index 059e9423b..66f302825 100644
--- a/src/core/content_client_qt.h
+++ b/src/core/content_client_qt.h
@@ -50,6 +50,7 @@
class ContentClientQt : public content::ContentClient {
public:
virtual base::StringPiece GetDataResource(int, ui::ScaleFactor) const Q_DECL_OVERRIDE;
+ virtual base::string16 GetLocalizedString(int message_id) const Q_DECL_OVERRIDE;
};
#endif // CONTENT_CLIENT_QT_H
diff --git a/src/core/core.pro b/src/core/core.pro
index 3c3110257..273f2b7e7 100644
--- a/src/core/core.pro
+++ b/src/core/core.pro
@@ -21,8 +21,10 @@ SUBDIRS += core_gyp_generator \
gyp_run
REPACK_DIR = $$getOutDir()/$$getConfigDir()/gen/repack
+locales.files = $$REPACK_DIR/qtwebengine_locales
+locales.path = $$[QT_INSTALL_TRANSLATIONS]
resources.files = $$REPACK_DIR/qtwebengine_resources.pak
resources.path = $$[QT_INSTALL_DATA]
-INSTALLS += resources
+INSTALLS += locales resources
diff --git a/src/core/resources/repack_locales.gypi b/src/core/resources/repack_locales.gypi
new file mode 100644
index 000000000..e906d2178
--- /dev/null
+++ b/src/core/resources/repack_locales.gypi
@@ -0,0 +1,27 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'action_name': 'repack_locales',
+ 'variables': {
+ 'repack_extra_flags%': [],
+ 'repack_output_dir%': '<(SHARED_INTERMEDIATE_DIR)',
+ 'repack_locales_script%': ['python', '<(qtwebengine_root)/tools/buildscripts/repack_locales.py'],
+ },
+ 'inputs': [
+ '<(qtwebengine_root)/tools/buildscripts/repack_locales.py',
+ '<!@pymod_do_main(repack_locales -i -p <(OS) -s <(SHARED_INTERMEDIATE_DIR) -x <(repack_output_dir) <(repack_extra_flags) <(locales))'
+ ],
+ 'outputs': [
+ '<!@pymod_do_main(repack_locales -o -p <(OS) -s <(SHARED_INTERMEDIATE_DIR) -x <(repack_output_dir) <(locales))'
+ ],
+ 'action': [
+ '<@(repack_locales_script)',
+ '-p', '<(OS)',
+ '-s', '<(SHARED_INTERMEDIATE_DIR)',
+ '-x', '<(repack_output_dir)/.',
+ '<@(repack_extra_flags)',
+ '<@(locales)',
+ ],
+}
diff --git a/src/core/resources/resources.gyp b/src/core/resources/resources.gyp
index 4747829ae..44ffcd703 100644
--- a/src/core/resources/resources.gyp
+++ b/src/core/resources/resources.gyp
@@ -1,5 +1,17 @@
{
+ 'variables': {
+ # Used in repack_locales
+ 'locales': [
+ 'am', 'ar', 'bg', 'bn', 'ca', 'cs', 'da', 'de', 'el', 'en-GB',
+ 'en-US', 'es-419', 'es', 'et', 'fa', 'fi', 'fil', 'fr', 'gu', 'he',
+ 'hi', 'hr', 'hu', 'id', 'it', 'ja', 'kn', 'ko', 'lt', 'lv',
+ 'ml', 'mr', 'ms', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru',
+ 'sk', 'sl', 'sr', 'sv', 'sw', 'ta', 'te', 'th', 'tr', 'uk',
+ 'vi', 'zh-CN', 'zh-TW',
+ ],
+ },
'dependencies': [
+ '<(chromium_src_dir)/webkit/webkit_resources.gyp:webkit_strings',
'<(chromium_src_dir)/webkit/webkit_resources.gyp:webkit_resources',
'<(chromium_src_dir)/content/browser/devtools/devtools_resources.gyp:devtools_resources',
],
@@ -12,6 +24,10 @@
'action_name': 'repack_resources',
'includes': [ 'repack_resources.gypi' ],
},
+ {
+ 'action_name': 'repack_locales',
+ 'includes': [ 'repack_locales.gypi' ],
+ },
]
}
]