Mercurial > minori
comparison src/gui/translate/anime.cc @ 185:62e336597bb7
anime list: add support for different score formats
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Tue, 05 Dec 2023 13:45:23 -0500 |
| parents | 9b10175be389 |
| children | 9613d72b097e |
comparison
equal
deleted
inserted
replaced
| 184:09492158bcc5 | 185:62e336597bb7 |
|---|---|
| 69 default: | 69 default: |
| 70 case Anime::TitleLanguage::ROMAJI: return "Romaji"; | 70 case Anime::TitleLanguage::ROMAJI: return "Romaji"; |
| 71 } | 71 } |
| 72 } | 72 } |
| 73 | 73 |
| 74 std::string ToString(const Anime::ScoreFormat format) { | |
| 75 switch (format) { | |
| 76 case Anime::ScoreFormat::POINT_3: return "POINT_3"; | |
| 77 case Anime::ScoreFormat::POINT_5: return "POINT_5"; | |
| 78 case Anime::ScoreFormat::POINT_10: return "POINT_10"; | |
| 79 case Anime::ScoreFormat::POINT_10_DECIMAL: return "POINT_10_DECIMAL"; | |
| 80 default: | |
| 81 case Anime::ScoreFormat::POINT_100: return "POINT_100"; | |
| 82 } | |
| 83 } | |
| 84 | |
| 74 Anime::ListStatus ToListStatus(const std::string& str) { | 85 Anime::ListStatus ToListStatus(const std::string& str) { |
| 75 const std::unordered_map<std::string, Anime::ListStatus> map = { | 86 const std::unordered_map<std::string, Anime::ListStatus> map = { |
| 76 {"Currently watching", Anime::ListStatus::CURRENT}, | 87 {"Currently watching", Anime::ListStatus::CURRENT}, |
| 77 {"Plan to watch", Anime::ListStatus::PLANNING}, | 88 {"Plan to watch", Anime::ListStatus::PLANNING}, |
| 78 {"Completed", Anime::ListStatus::COMPLETED}, | 89 {"Completed", Anime::ListStatus::COMPLETED}, |
| 148 if (map.find(str) == map.end()) | 159 if (map.find(str) == map.end()) |
| 149 return Anime::TitleLanguage::ROMAJI; | 160 return Anime::TitleLanguage::ROMAJI; |
| 150 return map.at(str); | 161 return map.at(str); |
| 151 } | 162 } |
| 152 | 163 |
| 164 Anime::ScoreFormat ToScoreFormat(const std::string& str) { | |
| 165 const std::unordered_map<std::string, Anime::ScoreFormat> map = { | |
| 166 {"POINT_3", Anime::ScoreFormat::POINT_3}, | |
| 167 {"POINT_5", Anime::ScoreFormat::POINT_5}, | |
| 168 {"POINT_10", Anime::ScoreFormat::POINT_10}, | |
| 169 {"POINT_10_DECIMAL", Anime::ScoreFormat::POINT_10_DECIMAL}, | |
| 170 {"POINT_100", Anime::ScoreFormat::POINT_100} | |
| 171 }; | |
| 172 | |
| 173 if (map.find(str) == map.end()) | |
| 174 return Anime::ScoreFormat::POINT_100; | |
| 175 return map.at(str); | |
| 176 } | |
| 177 | |
| 153 /* Localized versions of ToString() functions */ | 178 /* Localized versions of ToString() functions */ |
| 154 | 179 |
| 155 std::string ToLocalString(const Anime::ListStatus status) { | 180 std::string ToLocalString(const Anime::ListStatus status) { |
| 156 switch (status) { | 181 switch (status) { |
| 157 case Anime::ListStatus::CURRENT: return Strings::ToUtf8String(QCoreApplication::tr("Currently watching")); | 182 case Anime::ListStatus::CURRENT: return Strings::ToUtf8String(QCoreApplication::tr("Currently watching")); |
