| 29 | } |
| 30 | |
| 31 | vector<LanguageCode> CountryLanguage::GetLocalLanguageCodes(string_view regionId) const |
| 32 | { |
| 33 | vector<string> regionIdParts; |
| 34 | for (auto const regionIdPart : strings::Tokenize(regionId, "_")) |
| 35 | regionIdParts.push_back(string(regionIdPart)); |
| 36 | |
| 37 | json_t const * jsonData = nullptr; |
| 38 | vector<LanguageCode> languages; |
| 39 | while (languages.empty() && !regionIdParts.empty()) |
| 40 | { |
| 41 | string regionId = strings::JoinStrings(regionIdParts, "_"); |
| 42 | FromJSONObjectOptionalField(m_jsonRoot.get(), regionId, jsonData); |
| 43 | if (jsonData) |
| 44 | FromJSONObjectOptionalField(jsonData, "languages", languages); |
| 45 | regionIdParts.pop_back(); |
| 46 | } |
| 47 | return languages; |
| 48 | } |
| 49 | |
| 50 | vector<LanguageIndex> CountryLanguage::GetLocalLanguageIndexes(string_view regionId) const |
| 51 | { |
no test coverage detected