summaryrefslogtreecommitdiff
path: root/src/base_media_func.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-10-17 20:34:09 +0000
committerrubidium <rubidium@openttd.org>2009-10-17 20:34:09 +0000
commitd5d23542960c5c090c4b7593d156a008b3d84914 (patch)
tree6f9b9dea08f72511637e41f43acf6ff6d55ccc73 /src/base_media_func.h
parentf7944f555441182dc07f30725c9ec8962582418b (diff)
downloadopenttd-d5d23542960c5c090c4b7593d156a008b3d84914.tar.xz
(svn r17790) -Feature: translatable base sound/graphics set descriptions
Diffstat (limited to 'src/base_media_func.h')
-rw-r--r--src/base_media_func.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/base_media_func.h b/src/base_media_func.h
index 40d154d65..df49f0b1b 100644
--- a/src/base_media_func.h
+++ b/src/base_media_func.h
@@ -40,7 +40,14 @@ bool BaseSet<T, Tnum_files>::FillSetDetails(IniFile *ini, const char *path)
this->name = strdup(item->value);
fetch_metadata("description");
- this->description = strdup(item->value);
+ this->description[strdup("")] = strdup(item->value);
+
+ /* Add the translations of the descriptions too. */
+ for (const IniItem *item = metadata->item; item != NULL; item = item->next) {
+ if (strncmp("description.", item->name, 12) != 0) continue;
+
+ this->description[strdup(item->name + 12)] = strdup(item->value);
+ }
fetch_metadata("shortname");
for (uint i = 0; item->value[i] != '\0' && i < 4; i++) {
@@ -213,7 +220,7 @@ template <class Tbase_set>
{
p += seprintf(p, last, "List of " SET_TYPE " sets:\n");
for (const Tbase_set *s = BaseMedia<Tbase_set>::available_sets; s != NULL; s = s->next) {
- p += seprintf(p, last, "%18s: %s", s->name, s->description);
+ p += seprintf(p, last, "%18s: %s", s->name, s->GetDescription());
int invalid = s->GetNumInvalid();
if (invalid != 0) {
int missing = s->GetNumMissing();