From d5d23542960c5c090c4b7593d156a008b3d84914 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 17 Oct 2009 20:34:09 +0000 Subject: (svn r17790) -Feature: translatable base sound/graphics set descriptions --- src/base_media_func.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/base_media_func.h') 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::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 { p += seprintf(p, last, "List of " SET_TYPE " sets:\n"); for (const Tbase_set *s = BaseMedia::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(); -- cgit v1.2.3-54-g00ecf