Alexandre Julliard : wrc: Only add translations for specific fields in version blocks.

Alexandre Julliard julliard at winehq.org
Fri Apr 7 15:17:03 CDT 2017


Module: wine
Branch: master
Commit: 8f08aee04d101834336120f1fd480f2400d21f7b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8f08aee04d101834336120f1fd480f2400d21f7b

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Apr  7 11:19:08 2017 +0200

wrc: Only add translations for specific fields in version blocks.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/wine/wine_common_ver.rc | 12 ++++++------
 tools/wrc/po.c                  | 18 +++++++++++++++++-
 2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/include/wine/wine_common_ver.rc b/include/wine/wine_common_ver.rc
index b1b054d..39a17d6 100644
--- a/include/wine/wine_common_ver.rc
+++ b/include/wine/wine_common_ver.rc
@@ -125,14 +125,14 @@ FILESUBTYPE    WINE_FILESUBTYPE
         /* LANG_ENGLISH/SUBLANG_DEFAULT, WINE_CODEPAGE */
 	BLOCK "0409" WINE_CODEPAGE_STR
 	{
-	    VALUE "CompanyName", "#msgctxt#do not translate#Microsoft Corporation" /* GameGuard depends on this */
+	    VALUE "CompanyName", "Microsoft Corporation" /* GameGuard depends on this */
 	    VALUE "FileDescription", WINE_FILEDESCRIPTION_STR
-	    VALUE "FileVersion", "#msgctxt#do not translate#" WINE_FILEVERSION_STR
-	    VALUE "InternalName", "#msgctxt#do not translate#" WINE_FILENAME
-	    VALUE "LegalCopyright", "#msgctxt#do not translate#" WINE_LEGALCOPYRIGHT
-	    VALUE "OriginalFilename", "#msgctxt#do not translate#" WINE_FILENAME_STR
+	    VALUE "FileVersion", WINE_FILEVERSION_STR
+	    VALUE "InternalName", WINE_FILENAME
+	    VALUE "LegalCopyright", WINE_LEGALCOPYRIGHT
+	    VALUE "OriginalFilename", WINE_FILENAME_STR
 	    VALUE "ProductName", WINE_PRODUCTNAME_STR
-	    VALUE "ProductVersion", "#msgctxt#do not translate#" WINE_PRODUCTVERSION_STR
+	    VALUE "ProductVersion", WINE_PRODUCTVERSION_STR
 	    WINE_EXTRAVALUES
 	}
     }
diff --git a/tools/wrc/po.c b/tools/wrc/po.c
index c28c7d8..7b09f10 100644
--- a/tools/wrc/po.c
+++ b/tools/wrc/po.c
@@ -917,6 +917,21 @@ static ver_block_t *get_version_langcharset_block( ver_block_t *block )
     return NULL;
 }
 
+static int version_value_needs_translation( const ver_value_t *val )
+{
+    int ret;
+    char *key;
+
+    if (val->type != val_str) return 0;
+    if (!(key = convert_msgid_ascii( val->key, 0 ))) return 0;
+
+    /* most values contain version numbers or file names, only translate a few specific ones */
+    ret = (!strcasecmp( key, "FileDescription" ) || !strcasecmp( key, "ProductName" ));
+
+    free( key );
+    return ret;
+}
+
 static void add_pot_versioninfo( po_file_t po, const resource_t *res )
 {
     ver_value_t *val;
@@ -924,7 +939,8 @@ static void add_pot_versioninfo( po_file_t po, const resource_t *res )
 
     if (!langcharset) return;
     for (val = langcharset->values; val; val = val->next)
-        add_po_string( po, val->value.str, NULL, NULL );
+        if (version_value_needs_translation( val ))
+            add_po_string( po, val->value.str, NULL, NULL );
 }
 
 static void add_po_versioninfo( const resource_t *english, const resource_t *res )




More information about the wine-cvs mailing list