Browse Source

Allow scripts to specify translation domain

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@40727 15284696-431f-4ddb-bdfa-cd5b030d7da7
Glynn Clements 15 years ago
parent
commit
c1d48e1e4b
1 changed files with 13 additions and 1 deletions
  1. 13 1
      general/g.parser/main.c

+ 13 - 1
general/g.parser/main.c

@@ -51,12 +51,24 @@ int translate_output = 0;
    If global variable to output strings for translation is set it spits them out */
 char *translate(const char *arg)
 {
+    static const char *domain;
+
     if (*arg && translate_output) {
 	fputs(arg, stdout);
 	fputs("\n", stdout);
     }
 
-    return _(arg);
+#if defined(HAVE_LIBINTL_H) && defined(USE_NLS)
+    if (!domain) {
+	domain = getenv("GRASS_TRANSLATION_DOMAIN");
+	if (!domain)
+	    domain = PACKAGE;
+    }
+
+    return G_gettext(domain, arg);
+#else
+    return arg;
+#endif
 }
 
 static void parse_toplevel(struct context *ctx, const char *cmd)