| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 // This file declares extension specific l10n utils. | 5 // This file declares extension specific l10n utils. |
| 6 | 6 |
| 7 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_L10N_UTIL_H_ | 7 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_L10N_UTIL_H_ |
| 8 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_L10N_UTIL_H_ | 8 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_L10N_UTIL_H_ |
| 9 | 9 |
| 10 #include <set> | 10 #include <set> |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 std::string GetDefaultLocaleFromManifest(const DictionaryValue& manifest, | 22 std::string GetDefaultLocaleFromManifest(const DictionaryValue& manifest, |
| 23 std::string* error); | 23 std::string* error); |
| 24 | 24 |
| 25 // Adds locale_name to the extension if it's in chrome_locales, and | 25 // Adds locale_name to the extension if it's in chrome_locales, and |
| 26 // if messages file is present (we don't check content of messages file here). | 26 // if messages file is present (we don't check content of messages file here). |
| 27 // Returns false if locale_name was not found in chrome_locales, and sets | 27 // Returns false if locale_name was not found in chrome_locales, and sets |
| 28 // error with locale_name. | 28 // error with locale_name. |
| 29 // If file name starts with . return true (helps testing extensions under svn). | 29 // If file name starts with . return true (helps testing extensions under svn). |
| 30 bool AddLocale(const std::set<std::string>& chrome_locales, | 30 bool AddLocale(const std::set<std::string>& chrome_locales, |
| 31 const FilePath& locale_folder, | 31 const FilePath& locale_folder, |
| 32 const std::string& locale_name, |
| 32 std::set<std::string>* valid_locales, | 33 std::set<std::string>* valid_locales, |
| 33 std::string* locale_name, | |
| 34 std::string* error); | 34 std::string* error); |
| 35 | 35 |
| 36 // Adds valid locales to the extension. | 36 // Adds valid locales to the extension. |
| 37 // 1. Do nothing if _locales directory is missing (not an error). | 37 // 1. Do nothing if _locales directory is missing (not an error). |
| 38 // 2. Get list of Chrome locales. | 38 // 2. Get list of Chrome locales. |
| 39 // 3. Enumerate all subdirectories of _locales directory. | 39 // 3. Enumerate all subdirectories of _locales directory. |
| 40 // 4. Intersect both lists, and add intersection to the extension. | 40 // 4. Intersect both lists, and add intersection to the extension. |
| 41 // Returns false if any of supplied locales don't match chrome list of locales. | 41 // Returns false if any of supplied locales don't match chrome list of locales. |
| 42 // Fills out error with offending locale name. | 42 // Fills out error with offending locale name. |
| 43 bool GetValidLocales(const FilePath& locale_path, | 43 bool GetValidLocales(const FilePath& locale_path, |
| 44 std::set<std::string>* locales, | 44 std::set<std::string>* locales, |
| 45 std::string* error); | 45 std::string* error); |
| 46 | 46 |
| 47 // Loads messages file for default locale, and application locale (application | 47 // Loads messages file for default locale, and application locales (application |
| 48 // locale doesn't have to exist). | 48 // locales doesn't have to exist). Application locale is current locale and its |
| 49 // It creates simplified in-memory representation of name-value pairs, where | 49 // parents. |
| 50 // value part is actual message with placeholders resolved. | |
| 51 // Returns message bundle if it can load default locale messages file, and all | 50 // Returns message bundle if it can load default locale messages file, and all |
| 52 // messages are valid, else returns NULL and sets error. | 51 // messages are valid, else returns NULL and sets error. |
| 53 ExtensionMessageBundle* LoadMessageCatalogs(const FilePath& locale_path, | 52 ExtensionMessageBundle* LoadMessageCatalogs( |
| 54 const std::string& default_locale, | 53 const FilePath& locale_path, |
| 55 const std::string& app_locale, | 54 const std::string& default_locale, |
| 56 std::string* error); | 55 const std::string& app_locale, |
| 56 const std::set<std::string>& valid_locales, |
| 57 std::string* error); |
| 57 | 58 |
| 58 // Returns relative l10n path to the resource. | 59 // Returns relative l10n path to the resource. |
| 59 FilePath GetL10nRelativePath(const FilePath& relative_resource_path); | 60 FilePath GetL10nRelativePath(const FilePath& relative_resource_path); |
| 60 | 61 |
| 61 } // namespace extension_l10n_util | 62 } // namespace extension_l10n_util |
| 62 | 63 |
| 63 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_L10N_UTIL_H_ | 64 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_L10N_UTIL_H_ |
| OLD | NEW |