[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52517] trunk/blender/source/blender: Basic work to solve "New" translation mismatch (this is an adjective, which often takes several forms depending on its related noun's gender, in non-english languages).

Bastien Montagne montagne29 at wanadoo.fr
Fri Nov 23 16:33:44 CET 2012


Revision: 52517
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52517
Author:   mont29
Date:     2012-11-23 15:33:44 +0000 (Fri, 23 Nov 2012)
Log Message:
-----------
Basic work to solve "New" translation mismatch (this is an adjective, which often takes several forms depending on its related noun's gender, in non-english languages). Note though this does not completly solve the problem (python "New" is still uncontextual).

Moved AUDIO context to ID_SOUND (let's try to keep this as simple as possible!).

Also done some cleanup. Relevant i18n tools edits will follow.

Modified Paths:
--------------
    trunk/blender/source/blender/blenfont/BLF_translation.h
    trunk/blender/source/blender/blenkernel/intern/idcode.c
    trunk/blender/source/blender/editors/interface/interface_templates.c
    trunk/blender/source/blender/makesrna/intern/rna_actuator.c
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/blender/makesrna/intern/rna_sequencer.c
    trunk/blender/source/blender/makesrna/intern/rna_speaker.c

Modified: trunk/blender/source/blender/blenfont/BLF_translation.h
===================================================================
--- trunk/blender/source/blender/blenfont/BLF_translation.h	2012-11-23 15:12:13 UTC (rev 52516)
+++ trunk/blender/source/blender/blenfont/BLF_translation.h	2012-11-23 15:33:44 UTC (rev 52517)
@@ -73,6 +73,7 @@
 /* The "translation-marker" macro. */
 #define N_(msgid) msgid
 #define CTX_N_(context, msgid) msgid
+
 /* Those macros should be used everywhere in UI code. */
 #ifdef WITH_INTERNATIONAL
 /*	#define _(msgid) BLF_gettext(msgid) */
@@ -88,6 +89,13 @@
 	#define CTX_TIP_(context, msgid) msgid
 #endif
 
+/* Helper macro, when we want to define a same msgid for multiple msgctxt...
+ * Does nothing in C, but is "parsed" by our i18n py tools.
+ * XXX Currently limited to at most 16 contexts at most
+ *     (but you can call it several times with the same msgid, should you need more contexts!).
+ */
+#define BLF_I18N_MSGID_MULTI_CTXT(msgid, ...)
+
 /******************************************************************************
  * All i18n contexts must be defined here.
  * This is a nice way to be sure not to use a context twice for different
@@ -100,8 +108,39 @@
 /* Default context for operator names/labels. */
 #define BLF_I18NCONTEXT_OPERATOR_DEFAULT "Operator"
 
-/* Audio disambiguation context. */
-#define BLF_I18NCONTEXT_AUDIO "Audio"
+/* ID-types contexts. */
+/* WARNING! Keep it in sync with idtypes in blenkernel/intern/idcode.c */
+#define BLF_I18NCONTEXT_ID_ACTION               "Action"
+#define BLF_I18NCONTEXT_ID_ARMATURE             "Armature"
+#define BLF_I18NCONTEXT_ID_BRUSH                "Brush"
+#define BLF_I18NCONTEXT_ID_CAMERA               "Camera"
+#define BLF_I18NCONTEXT_ID_CURVE                "Curve"
+#define BLF_I18NCONTEXT_ID_GPENCIL              "GPencil"
+#define BLF_I18NCONTEXT_ID_GROUP                "Group"
+#define BLF_I18NCONTEXT_ID_ID                   "ID"
+#define BLF_I18NCONTEXT_ID_IMAGE                "Image"
+/*#define BLF_I18NCONTEXT_ID_IPO                  "Ipo"*/ /* Deprecated */
+#define BLF_I18NCONTEXT_ID_SHAPEKEY             "Key"
+#define BLF_I18NCONTEXT_ID_LAMP                 "Lamp"
+#define BLF_I18NCONTEXT_ID_LIBRARY              "Library"
+#define BLF_I18NCONTEXT_ID_LATTICE              "Lattice"
+#define BLF_I18NCONTEXT_ID_MATERIAL             "Material"
+#define BLF_I18NCONTEXT_ID_METABALL             "Metaball"
+#define BLF_I18NCONTEXT_ID_MESH                 "Mesh"
+#define BLF_I18NCONTEXT_ID_NODETREE             "NodeTree"
+#define BLF_I18NCONTEXT_ID_OBJECT               "Object"
+#define BLF_I18NCONTEXT_ID_PARTICLESETTINGS     "ParticleSettings"
+#define BLF_I18NCONTEXT_ID_SCENE                "Scene"
+#define BLF_I18NCONTEXT_ID_SCREEN               "Screen"
+#define BLF_I18NCONTEXT_ID_SEQUENCE             "Sequence"
+#define BLF_I18NCONTEXT_ID_SPEAKER              "Speaker"
+#define BLF_I18NCONTEXT_ID_SOUND                "Sound"
+#define BLF_I18NCONTEXT_ID_TEXTURE              "Texture"
+#define BLF_I18NCONTEXT_ID_TEXT                 "Text"
+#define BLF_I18NCONTEXT_ID_VFONT                "VFont"
+#define BLF_I18NCONTEXT_ID_WORLD                "World"
+#define BLF_I18NCONTEXT_ID_WINDOWMANAGER        "WindowManager"
+#define BLF_I18NCONTEXT_ID_MOVIECLIP            "MovieClip"
+#define BLF_I18NCONTEXT_ID_MASK                 "Mask"
 
-
 #endif /* __BLF_TRANSLATION_H__ */

Modified: trunk/blender/source/blender/blenkernel/intern/idcode.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/idcode.c	2012-11-23 15:12:13 UTC (rev 52516)
+++ trunk/blender/source/blender/blenkernel/intern/idcode.c	2012-11-23 15:33:44 UTC (rev 52517)
@@ -47,39 +47,40 @@
 } IDType;
 
 /* plural need to match rna_main.c's MainCollectionDef */
+/* WARNING! Keep it in sync with i18n contexts in BLF_translation.h */
 static IDType idtypes[] = {
-	{ ID_AC,        "Action",   "actions",      IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_AR,        "Armature", "armatures",    IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_BR,        "Brush",    "brushes",      IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_CA,        "Camera",   "cameras",      IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_CU,        "Curve",    "curves",       IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_GD,        "GPencil",  "grease_pencil", IDTYPE_FLAGS_ISLINKABLE},  /* rename gpencil */
-	{ ID_GR,        "Group",    "groups",       IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_ID,        "ID",       "ids",          0}, /* plural is fake */
-	{ ID_IM,        "Image",    "images",       IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_IP,        "Ipo",      "ipos",         IDTYPE_FLAGS_ISLINKABLE},  /* deprecated */
-	{ ID_KE,        "Key",      "shape_keys",   0},
-	{ ID_LA,        "Lamp",     "lamps",        IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_LI,        "Library",  "libraries",    0},
-	{ ID_LT,        "Lattice",  "lattices",     IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_MA,        "Material", "materials",    IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_MB,        "Metaball", "metaballs",    IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_ME,        "Mesh",     "meshes",       IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_NT,        "NodeTree", "node_groups",  IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_OB,        "Object",   "objects",      IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_PA,        "ParticleSettings", "particles", 0},
-	{ ID_SCE,       "Scene",    "scenes",       IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_SCR,       "Screen",   "screens",      0},
-	{ ID_SEQ,       "Sequence", "sequences",    0}, /* not actually ID data */
-	{ ID_SPK,       "Speaker",  "speakers",     IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_SO,        "Sound",    "sounds",       IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_TE,        "Texture",  "textures",     IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_TXT,       "Text",     "texts",        IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_VF,        "VFont",    "fonts",        IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_WO,        "World",    "worlds",       IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_WM,        "WindowManager", "window_managers", 0},
-	{ ID_MC,        "MovieClip", "movieclips",  IDTYPE_FLAGS_ISLINKABLE},
-	{ ID_MSK,        "Mask",     "masks",       IDTYPE_FLAGS_ISLINKABLE},
+	{ ID_AC,     "Action",           "actions",         IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_AR,     "Armature",         "armatures",       IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_BR,     "Brush",            "brushes",         IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_CA,     "Camera",           "cameras",         IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_CU,     "Curve",            "curves",          IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_GD,     "GPencil",          "grease_pencil",   IDTYPE_FLAGS_ISLINKABLE }, /* rename gpencil */
+	{ ID_GR,     "Group",            "groups",          IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_ID,     "ID",               "ids",             0                       }, /* plural is fake */
+	{ ID_IM,     "Image",            "images",          IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_IP,     "Ipo",              "ipos",            IDTYPE_FLAGS_ISLINKABLE }, /* deprecated */
+	{ ID_KE,     "Key",              "shape_keys",      0                       },
+	{ ID_LA,     "Lamp",             "lamps",           IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_LI,     "Library",          "libraries",       0                       },
+	{ ID_LT,     "Lattice",          "lattices",        IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_MA,     "Material",         "materials",       IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_MB,     "Metaball",         "metaballs",       IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_MC,     "MovieClip",        "movieclips",      IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_ME,     "Mesh",             "meshes",          IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_MSK,    "Mask",             "masks",           IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_NT,     "NodeTree",         "node_groups",     IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_OB,     "Object",           "objects",         IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_PA,     "ParticleSettings", "particles",       0                       },
+	{ ID_SCE,    "Scene",            "scenes",          IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_SCR,    "Screen",           "screens",         0                       },
+	{ ID_SEQ,    "Sequence",         "sequences",       0                       }, /* not actually ID data */
+	{ ID_SPK,    "Speaker",          "speakers",        IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_SO,     "Sound",            "sounds",          IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_TE,     "Texture",          "textures",        IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_TXT,    "Text",             "texts",           IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_VF,     "VFont",            "fonts",           IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_WO,     "World",            "worlds",          IDTYPE_FLAGS_ISLINKABLE },
+	{ ID_WM,     "WindowManager",    "window_managers", 0                       },
 };
 static int nidtypes = sizeof(idtypes) / sizeof(idtypes[0]);
 

Modified: trunk/blender/source/blender/editors/interface/interface_templates.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_templates.c	2012-11-23 15:12:13 UTC (rev 52516)
+++ trunk/blender/source/blender/editors/interface/interface_templates.c	2012-11-23 15:33:44 UTC (rev 52517)
@@ -185,7 +185,8 @@
 		/* fake button, it holds space for search items */
 		uiDefBut(block, LABEL, 0, "", 10, 15, w, h, NULL, 0, 0, 0, 0, NULL);
 		
-		but = uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 10, 0, w, 19, template.prv_rows, template.prv_cols, "");
+		but = uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 10, 0, w, 19,
+		                     template.prv_rows, template.prv_cols, "");
 		uiButSetSearchFunc(but, id_search_cb, &template, id_search_call_cb, idptr.data);
 	}
 	/* list view */
@@ -315,40 +316,76 @@
 	if (type) {
 		switch (RNA_type_to_ID_code(type)) {
 			case ID_SCE: return N_("Browse Scene to be linked");
-			case ID_OB: return N_("Browse Object to be linked");
-			case ID_ME: return N_("Browse Mesh Data to be linked");
-			case ID_CU: return N_("Browse Curve Data to be linked");
-			case ID_MB: return N_("Browse Metaball Data to be linked");
-			case ID_MA: return N_("Browse Material to be linked");
-			case ID_TE: return N_("Browse Texture to be linked");
-			case ID_IM: return N_("Browse Image to be linked");

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list