OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome_frame/simple_resource_loader.h" | 5 #include "chrome_frame/simple_resource_loader.h" |
6 | 6 |
7 #include <atlbase.h> | 7 #include <atlbase.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 // The full set of preferred languages and their fallbacks are given priority. | 125 // The full set of preferred languages and their fallbacks are given priority. |
126 std::vector<std::wstring> languages; | 126 std::vector<std::wstring> languages; |
127 if (base::win::i18n::GetThreadPreferredUILanguageList(&languages)) { | 127 if (base::win::i18n::GetThreadPreferredUILanguageList(&languages)) { |
128 for (std::vector<std::wstring>::const_iterator scan = languages.begin(), | 128 for (std::vector<std::wstring>::const_iterator scan = languages.begin(), |
129 end = languages.end(); scan != end; ++scan) { | 129 end = languages.end(); scan != end; ++scan) { |
130 PushBackIfAbsent(*scan, language_tags); | 130 PushBackIfAbsent(*scan, language_tags); |
131 } | 131 } |
132 } | 132 } |
133 // Use the base i18n routines (i.e., ICU) as a last, best hope for something | 133 // Use the base i18n routines (i.e., ICU) as a last, best hope for something |
134 // meaningful for the user. | 134 // meaningful for the user. |
135 PushBackWithFallbackIfAbsent(ASCIIToWide(base::i18n::GetConfiguredLocale()), | 135 PushBackWithFallbackIfAbsent(base::ASCIIToWide( |
| 136 base::i18n::GetConfiguredLocale()), |
136 language_tags); | 137 language_tags); |
137 } | 138 } |
138 | 139 |
139 // static | 140 // static |
140 void SimpleResourceLoader::DetermineLocalesDirectory( | 141 void SimpleResourceLoader::DetermineLocalesDirectory( |
141 base::FilePath* locales_path) { | 142 base::FilePath* locales_path) { |
142 DCHECK(locales_path); | 143 DCHECK(locales_path); |
143 | 144 |
144 base::FilePath module_path; | 145 base::FilePath module_path; |
145 PathService::Get(base::DIR_MODULE, &module_path); | 146 PathService::Get(base::DIR_MODULE, &module_path); |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 DLOG(ERROR) << "Unable to find string for resource id:" << message_id; | 244 DLOG(ERROR) << "Unable to find string for resource id:" << message_id; |
244 return std::wstring(); | 245 return std::wstring(); |
245 } | 246 } |
246 | 247 |
247 // Data pack encodes strings as either UTF8 or UTF16. | 248 // Data pack encodes strings as either UTF8 or UTF16. |
248 base::string16 msg; | 249 base::string16 msg; |
249 if (data_pack_->GetTextEncodingType() == ui::DataPack::UTF16) { | 250 if (data_pack_->GetTextEncodingType() == ui::DataPack::UTF16) { |
250 msg = base::string16(reinterpret_cast<const char16*>(data.data()), | 251 msg = base::string16(reinterpret_cast<const char16*>(data.data()), |
251 data.length() / 2); | 252 data.length() / 2); |
252 } else if (data_pack_->GetTextEncodingType() == ui::DataPack::UTF8) { | 253 } else if (data_pack_->GetTextEncodingType() == ui::DataPack::UTF8) { |
253 msg = UTF8ToUTF16(data); | 254 msg = base::UTF8ToUTF16(data); |
254 } | 255 } |
255 return msg; | 256 return msg; |
256 } | 257 } |
257 | 258 |
258 // static | 259 // static |
259 std::wstring SimpleResourceLoader::GetLanguage() { | 260 std::wstring SimpleResourceLoader::GetLanguage() { |
260 return SimpleResourceLoader::GetInstance()->language_; | 261 return SimpleResourceLoader::GetInstance()->language_; |
261 } | 262 } |
262 | 263 |
263 // static | 264 // static |
264 std::wstring SimpleResourceLoader::Get(int message_id) { | 265 std::wstring SimpleResourceLoader::Get(int message_id) { |
265 SimpleResourceLoader* loader = SimpleResourceLoader::GetInstance(); | 266 SimpleResourceLoader* loader = SimpleResourceLoader::GetInstance(); |
266 return loader->GetLocalizedResource(message_id); | 267 return loader->GetLocalizedResource(message_id); |
267 } | 268 } |
268 | 269 |
269 HMODULE SimpleResourceLoader::GetResourceModuleHandle() { | 270 HMODULE SimpleResourceLoader::GetResourceModuleHandle() { |
270 return locale_dll_handle_; | 271 return locale_dll_handle_; |
271 } | 272 } |
OLD | NEW |