Add plural forms support to dirty plugin messages

This commit is contained in:
Oliver Hamlet
2016-11-24 17:58:40 +00:00
parent 5b7e74c02e
commit c88bf590db
3 changed files with 45 additions and 33 deletions
+24 -18
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LOOT 0.10.1\n"
"Report-Msgid-Bugs-To: https://github.com/loot/loot/issues\n"
"POT-Creation-Date: 2016-11-22 19:11+0000\n"
"POT-Creation-Date: 2016-11-22 19:39+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,6 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: src/gui/html/js/events.js:18
msgid "Identifying conflicting plugins..."
@@ -792,37 +793,42 @@ msgid ""
"Failed to parse condition \"%1%\": only partially matched expected syntax."
msgstr ""
#: src/backend/metadata/plugin_cleaning_data.cpp:88
msgid ""
"%1% found %2% ITM records, %3% deleted references and %4% deleted navmeshes."
msgstr ""
#: src/backend/metadata/plugin_cleaning_data.cpp:89
msgid "%1% ITM record"
msgid_plural "%1% ITM records"
msgstr[0] ""
msgstr[1] ""
#: src/backend/metadata/plugin_cleaning_data.cpp:90
msgid "%1% found dirty edits."
msgstr ""
msgid "%1% deleted reference"
msgid_plural "%1% deleted references"
msgstr[0] ""
msgstr[1] ""
#: src/backend/metadata/plugin_cleaning_data.cpp:93
msgid "%1% found %2% deleted references and %3% deleted navmeshes."
msgstr ""
#: src/backend/metadata/plugin_cleaning_data.cpp:91
msgid "%1% deleted navmesh"
msgid_plural "%1% deleted navmeshes"
msgstr[0] ""
msgstr[1] ""
#: src/backend/metadata/plugin_cleaning_data.cpp:95
msgid "%1% found %2% deleted navmeshes."
msgid "%1% found %2%, %3% and %4%."
msgstr ""
#: src/backend/metadata/plugin_cleaning_data.cpp:97
msgid "%1% found %2% deleted references."
msgid "%1% found dirty edits."
msgstr ""
#: src/backend/metadata/plugin_cleaning_data.cpp:100
msgid "%1% found %2% ITM records and %3% deleted navmeshes."
msgstr ""
#: src/backend/metadata/plugin_cleaning_data.cpp:102
msgid "%1% found %2% ITM records."
#: src/backend/metadata/plugin_cleaning_data.cpp:104
msgid "%1% found %2% and %3%."
msgstr ""
#: src/backend/metadata/plugin_cleaning_data.cpp:105
msgid "%1% found %2% ITM records and %3% deleted references."
#: src/backend/metadata/plugin_cleaning_data.cpp:107
#: src/backend/metadata/plugin_cleaning_data.cpp:109
#: src/backend/metadata/plugin_cleaning_data.cpp:111
msgid "%1% found %2%."
msgstr ""
#: src/backend/plugin/plugin.cpp:115
+1 -1
View File
@@ -5,7 +5,7 @@
# commit if more than one line in it has changed, otherwise discard any changes
# to it.
xgettext -k"translate:1,1t" -k"translateFormatted:1" --add-location=full --from-code=utf-8 --package-name=LOOT --package-version=0.10.1 --copyright-holder="WrinklyNinja" --msgid-bugs-address="https://github.com/loot/loot/issues" -o resources/l10n/template.pot src/gui/html/js/*.* src/gui/*.cpp src/gui/query/*.h src/backend/*/*.* src/backend/*.*
xgettext --keyword="translate:1,1t" --keyword="translate:1,2,3t" --keyword="translateFormatted:1" --add-location=full --from-code=utf-8 --package-name=LOOT --package-version=0.10.1 --copyright-holder="WrinklyNinja" --msgid-bugs-address="https://github.com/loot/loot/issues" -o resources/l10n/template.pot src/gui/html/js/*.* src/gui/*.cpp src/gui/query/*.h src/backend/*/*.* src/backend/*.*
sed -i 's|charset=CHARSET|charset=UTF-8|' resources/l10n/template.pot
+20 -14
View File
@@ -83,26 +83,32 @@ MessageContent PluginCleaningData::ChooseInfo(const LanguageCode language) const
}
Message PluginCleaningData::AsMessage() const {
boost::format f;
using boost::format;
using boost::locale::translate;
const std::string itmRecords = (format(translate("%1% ITM record", "%1% ITM records", itm_)) % itm_).str();
const std::string deletedReferences = (format(translate("%1% deleted reference", "%1% deleted references", ref_)) % ref_).str();
const std::string deletedNavmeshes = (format(translate("%1% deleted navmesh", "%1% deleted navmeshes", nav_)) % nav_).str();
format f;
if (itm_ > 0 && ref_ > 0 && nav_ > 0)
f = boost::format(boost::locale::translate("%1% found %2% ITM records, %3% deleted references and %4% deleted navmeshes.")) % utility_ % itm_ % ref_ % nav_;
f = format(translate("%1% found %2%, %3% and %4%.")) % utility_ % itmRecords % deletedReferences % deletedNavmeshes;
else if (itm_ == 0 && ref_ == 0 && nav_ == 0)
f = boost::format(boost::locale::translate("%1% found dirty edits.")) % utility_;
f = format(translate("%1% found dirty edits.")) % utility_;
else if (itm_ == 0 && ref_ > 0 && nav_ > 0)
f = boost::format(boost::locale::translate("%1% found %2% deleted references and %3% deleted navmeshes.")) % utility_ % ref_ % nav_;
else if (itm_ == 0 && ref_ == 0 && nav_ > 0)
f = boost::format(boost::locale::translate("%1% found %2% deleted navmeshes.")) % utility_ % nav_;
else if (itm_ == 0 && ref_ > 0 && nav_ == 0)
f = boost::format(boost::locale::translate("%1% found %2% deleted references.")) % utility_ % ref_;
f = format(translate("%1% found %2% and %3%.")) % utility_ % deletedReferences % deletedNavmeshes;
else if (itm_ > 0 && ref_ == 0 && nav_ > 0)
f = boost::format(boost::locale::translate("%1% found %2% ITM records and %3% deleted navmeshes.")) % utility_ % itm_ % nav_;
else if (itm_ > 0 && ref_ == 0 && nav_ == 0)
f = boost::format(boost::locale::translate("%1% found %2% ITM records.")) % utility_ % itm_;
f = format(translate("%1% found %2% and %3%.")) % utility_ % itmRecords % deletedNavmeshes;
else if (itm_ > 0 && ref_ > 0 && nav_ == 0)
f = boost::format(boost::locale::translate("%1% found %2% ITM records and %3% deleted references.")) % utility_ % itm_ % ref_;
f = format(translate("%1% found %2% and %3%.")) % utility_ % itmRecords % deletedReferences;
else if (itm_ > 0)
f = format(translate("%1% found %2%.")) % utility_ % itmRecords;
else if (ref_ > 0)
f = format(translate("%1% found %2%.")) % utility_ % deletedReferences;
else if (nav_ > 0)
f = format(translate("%1% found %2%.")) % utility_ % deletedNavmeshes;
std::string message = f.str();
auto info = info_;