diff --git a/src/common/util/nrmessage.c b/src/common/util/nrmessage.c
index 9e2407e9a..c5e13cfe0 100644
--- a/src/common/util/nrmessage.c
+++ b/src/common/util/nrmessage.c
@@ -131,7 +131,6 @@ nrt_register(const struct message_type * mtype, const struct locale * lang, cons
c+= strlen(strcpy(c, mtype->pnames[i]));
}
nrt->vars = strdup(zNames);
- /* TODO: really necessary to strdup them all? here? better to extend the caller? hash? */
}
}
diff --git a/src/common/util/translation.c b/src/common/util/translation.c
index 51ca8f925..2ee2b38b0 100644
--- a/src/common/util/translation.c
+++ b/src/common/util/translation.c
@@ -383,10 +383,17 @@ translate(const char* format, const void * userdata, const char* vars, variant a
}
}
- if (parse(&stack, format, userdata)==NULL) return NULL;
- rv = (const char*)opop(&stack).v;
- free(stack->begin);
- free(stack);
+ if (format[0]=='"') {
+ rv = parse(&stack, format, userdata);
+ }
+ else {
+ rv = parse_string(&stack, format, userdata);
+ }
+ if (rv!=NULL) {
+ rv = (const char*)opop(&stack).v;
+ free(stack->begin);
+ free(stack);
+ }
return rv;
}
diff --git a/src/res/messages.xml b/src/res/messages.xml
index 48c11a878..dce3168e1 100644
--- a/src/res/messages.xml
+++ b/src/res/messages.xml
@@ -1967,9 +1967,8 @@
- "$if($isnull($mage),"Ein unentdeckter Magier",$unit($mage)) erschuf einen heiligen Hain von $int($amount) Schößlingen."
- $if($isnull($mage),"An unknown magician ",$unit($mage)) created a holy forest of $int($amount) young trees."
- $if($isnull($mage),"An unknown magician ",$unit($mage)) created a holy forest of $int($amount) young trees."
+ $if($isnull($mage),"Ein unentdeckter Magier",$unit($mage)) erschuf einen heiligen Hain von $int($amount) Schößlingen.
+ $if($isnull($mage),"An unknown magician ",$unit($mage)) created a holy forest of $int($amount) young trees.