From 3a2ef50f91eecdd4a7a656965ef18fcb54f1a0a3 Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 6 Jul 2018 02:42:25 +0300 Subject: [PATCH] Save only one copy of a key in a language pack. GitOrigin-RevId: dc6446d597b90be974d7b18cadd2a79a0f0bd4ae --- td/telegram/LanguagePackManager.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/td/telegram/LanguagePackManager.cpp b/td/telegram/LanguagePackManager.cpp index 024ba14de..ece5be945 100644 --- a/td/telegram/LanguagePackManager.cpp +++ b/td/telegram/LanguagePackManager.cpp @@ -265,6 +265,8 @@ void LanguagePackManager::on_get_language_pack_strings( case telegram_api::langPackString::ID: { auto str = static_cast(result.get()); language->ordinary_strings_[str->key_] = std::move(str->value_); + language->pluralized_strings_.erase(str->key_); + language->deleted_strings_.erase(str->key_); break; } case telegram_api::langPackStringPluralized::ID: { @@ -272,10 +274,14 @@ void LanguagePackManager::on_get_language_pack_strings( language->pluralized_strings_[str->key_] = PluralizedString{ std::move(str->zero_value_), std::move(str->one_value_), std::move(str->two_value_), std::move(str->few_value_), std::move(str->many_value_), std::move(str->other_value_)}; + language->ordinary_strings_.erase(str->key_); + language->deleted_strings_.erase(str->key_); break; } case telegram_api::langPackStringDeleted::ID: { auto str = static_cast(result.get()); + language->ordinary_strings_.erase(str->key_); + language->pluralized_strings_.erase(str->key_); language->deleted_strings_.insert(std::move(str->key_)); break; }