diff options
author | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-18 22:34:36 +0000 |
---|---|---|
committer | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-18 22:34:36 +0000 |
commit | e4feed08884b1b1bd3af3986e56ca60c3d62a7da (patch) | |
tree | bbfa158eb296bb9e5b329efac64e3b8e36a7b3eb /chrome/common | |
parent | 70b45efc15674aa7241bbb95dc81b3019eac294b (diff) | |
download | chromium_src-e4feed08884b1b1bd3af3986e56ca60c3d62a7da.zip chromium_src-e4feed08884b1b1bd3af3986e56ca60c3d62a7da.tar.gz chromium_src-e4feed08884b1b1bd3af3986e56ca60c3d62a7da.tar.bz2 |
Try to land strings on linux again (r9972). This time, enable
the resource bundle on linux unittests and make the unit_tests
executable require the various .pak files.
Review URL: http://codereview.chromium.org/20471
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9984 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common')
-rw-r--r-- | chrome/common/l10n_util.cc | 8 | ||||
-rw-r--r-- | chrome/common/resource_bundle_linux.cc | 17 |
2 files changed, 19 insertions, 6 deletions
diff --git a/chrome/common/l10n_util.cc b/chrome/common/l10n_util.cc index dbe34c7..a8749c8 100644 --- a/chrome/common/l10n_util.cc +++ b/chrome/common/l10n_util.cc @@ -17,9 +17,11 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/gfx/chrome_canvas.h" -#if defined(OS_WIN) +#if defined(OS_WIN) || defined(OS_LINUX) // TODO(port): re-enable. #include "chrome/common/resource_bundle.h" +#endif +#if defined(OS_WIN) #include "chrome/views/view.h" #endif // defined(OS_WIN) #include "unicode/coll.h" @@ -325,7 +327,7 @@ std::wstring GetLocalName(const std::wstring& locale_code_wstr, } std::wstring GetString(int message_id) { -#if defined(OS_WIN) +#if defined(OS_WIN) || defined(OS_LINUX) ResourceBundle &rb = ResourceBundle::GetSharedInstance(); return rb.GetLocalizedString(message_id); #else @@ -341,7 +343,7 @@ static std::wstring GetStringF(int message_id, const std::wstring& c, const std::wstring& d, std::vector<size_t>* offsets) { -#if defined(OS_WIN) +#if defined(OS_WIN) || defined(OS_LINUX) // TODO(port): re-enable. const std::wstring& format_string = GetString(message_id); std::wstring formatted = ReplaceStringPlaceholders(format_string, a, b, c, diff --git a/chrome/common/resource_bundle_linux.cc b/chrome/common/resource_bundle_linux.cc index 1cb8307..12b0858 100644 --- a/chrome/common/resource_bundle_linux.cc +++ b/chrome/common/resource_bundle_linux.cc @@ -37,7 +37,15 @@ void ResourceBundle::LoadResources(const std::wstring& pref_locale) { bool success = resources_data_->Load(resources_data_path); DCHECK(success) << "failed to load chrome.pak"; - // TODO(tc): Load the .pak file for locale_resources_data_. + FilePath locale_path; + PathService::Get(chrome::DIR_LOCALES, &locale_path); + // TODO(tc): Handle other locales properly. + NOTIMPLEMENTED() << " loading en-US strings only"; + locale_path = locale_path.Append(FILE_PATH_LITERAL("en-US.pak")); + DCHECK(locale_resources_data_ == NULL) << "locale data already loaded!"; + locale_resources_data_ = new base::DataPack; + success = locale_resources_data_->Load(locale_path); + DCHECK(success) << "failed to load locale pak file"; } FilePath ResourceBundle::GetLocaleFilePath(const std::wstring& pref_locale) { @@ -100,6 +108,9 @@ std::wstring ResourceBundle::GetLocalizedString(int message_id) { return std::wstring(); } } - // Copy into a wstring and return. - return UTF8ToWide(data.as_string()); + + // Data pack encodes strings as UTF16. + string16 msg(reinterpret_cast<const char16*>(data.data()), + data.length() / 2); + return UTF16ToWide(msg); } |