Cleaning i18n code.
authorBastien Montagne <montagne29@wanadoo.fr>
Thu, 20 Oct 2011 20:38:26 +0000 (20:38 +0000)
committerBastien Montagne <montagne29@wanadoo.fr>
Thu, 20 Oct 2011 20:38:26 +0000 (20:38 +0000)
Previous state:
Right now, there are "memories" of the "old" (less than a month!) translation way:
* A few remaining calls to BLF_gettext() (only UI_translate_do_iface and UI_translate_do_tooltip should be used).
* The _() macro still also calls BLF_gettext()!

New state:
Here are the changes made by the patch:
* Removing the no more needed _() macro.
* Removing most N_() and _() calls, only keeping the few needed ones (i.e. strings that are in no other way findable by xgettext and/or update_msg script).
* Defining in UI_interface.h IFACE_() and TIP_() macros (resp. for UI_translate_do_iface and UI_translate_do_tooltip).
* Replacing all calls to BLF_gettext by relevant IFACE_ or TIP_ one.
* Replacing all calls to UI_translate_do_iface by IFACE_.
* Replacing all calls to UI_translate_do_tooltip by TIP_.

All this somewhat clarifies and simplifies the code.
On the bf-translations scripts side, this only implies adding IFACE_ and TIP_ as detection markers for xgettext.
It also allows to reduce POTFILES.in quite notably (only 20 files remaining in it).

Please also have a look at those pages:
* Coder POV: http://wiki.blender.org/index.php/Dev:2.5/Source/Interface/Internationalization
* Translator POV: http://wiki.blender.org/index.php/Dev:2.5/Doc/How_to/Translate_Blender

25 files changed:
source/blender/blenfont/BLF_translation.h
source/blender/editors/armature/poselib.c
source/blender/editors/include/UI_interface.h
source/blender/editors/interface/interface.c
source/blender/editors/interface/interface_layout.c
source/blender/editors/interface/interface_panel.c
source/blender/editors/interface/interface_regions.c
source/blender/editors/interface/interface_templates.c
source/blender/editors/interface/interface_utils.c
source/blender/editors/screen/area.c
source/blender/editors/space_buttons/buttons_header.c
source/blender/editors/space_file/file_draw.c
source/blender/editors/space_file/file_panels.c
source/blender/editors/space_graph/graph_buttons.c
source/blender/editors/space_info/space_info.c
source/blender/editors/space_nla/nla_buttons.c
source/blender/editors/space_node/node_header.c
source/blender/editors/space_view3d/view3d_header.c
source/blender/editors/space_view3d/view3d_toolbar.c
source/blender/editors/transform/transform_orientations.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/python/intern/bpy_rna.c
source/blender/windowmanager/intern/wm_files.c
source/blender/windowmanager/intern/wm_operators.c
source/blender/windowmanager/intern/wm_window.c

index 1c36f3e..707cd17 100644 (file)
@@ -60,7 +60,8 @@ void BLF_lang_encoding_name(const char *str);
 
 void BLF_lang_encoding(const char *str);
 
-#define _(msgid) BLF_gettext(msgid)
+/*#define _(msgid) BLF_gettext(msgid)*/
+/* The "translation-marker" macro. */
 #define N_(msgid) msgid
 
 #endif /* BLF_TRANSLATION_H */
index e7c7ebf..8e9f5c7 100644 (file)
@@ -409,15 +409,15 @@ static int poselib_add_menu_invoke (bContext *C, wmOperator *op, wmEvent *UNUSED
        uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT);
        
        /* add new (adds to the first unoccupied frame) */
-       uiItemIntO(layout, UI_translate_do_iface(N_("Add New")), ICON_NONE, "POSELIB_OT_pose_add", "frame", poselib_get_free_index(ob->poselib));
+       uiItemIntO(layout, IFACE_("Add New"), ICON_NONE, "POSELIB_OT_pose_add", "frame", poselib_get_free_index(ob->poselib));
        
        /* check if we have any choices to add a new pose in any other way */
        if ((ob->poselib) && (ob->poselib->markers.first)) {
                /* add new (on current frame) */
-               uiItemIntO(layout, UI_translate_do_iface(N_("Add New (Current Frame)")), ICON_NONE, "POSELIB_OT_pose_add", "frame", CFRA);
+               uiItemIntO(layout, IFACE_("Add New (Current Frame)"), ICON_NONE, "POSELIB_OT_pose_add", "frame", CFRA);
                
                /* replace existing - submenu */
-               uiItemMenuF(layout, UI_translate_do_iface(N_("Replace Existing...")), 0, poselib_add_menu_invoke__replacemenu, NULL);
+               uiItemMenuF(layout, IFACE_("Replace Existing..."), 0, poselib_add_menu_invoke__replacemenu, NULL);
        }
        
        uiPupMenuEnd(C, pup);
index a064978..43f6b36 100644 (file)
@@ -813,5 +813,9 @@ int UI_translate_tooltips(void);
 const char *UI_translate_do_iface(const char *msgid);
 const char *UI_translate_do_tooltip(const char *msgid);
 
+/* Those macros should be used everywhere in UI code. */
+#define IFACE_(msgid) UI_translate_do_iface(msgid)
+#define TIP_(msgid) UI_translate_do_tooltip(msgid)
+
 #endif /*  UI_INTERFACE_H */
 
index 16edd0a..a12d297 100644 (file)
@@ -2773,10 +2773,7 @@ static uiBut *ui_def_but_operator(uiBlock *block, int type, const char *opname,
        if ((!tip || tip[0]=='\0') && ot && ot->description) {
                tip= ot->description;
 
-#ifdef WITH_INTERNATIONAL
-               if(UI_translate_tooltips())
-                       tip= BLF_gettext(tip);
-#endif
+               tip = TIP_(tip);
        }
 
        but= ui_def_but(block, type, -1, str, x1, y1, x2, y2, NULL, 0, 0, 0, 0, tip);
index ba612fc..2f423a3 100644 (file)
@@ -637,11 +637,7 @@ PointerRNA uiItemFullO(uiLayout *layout, const char *opname, const char *name, i
        }
 
        if(!name) {
-               name= ot->name;
-
-#ifdef WITH_INTERNATIONAL
-               name= UI_translate_do_iface(name);
-#endif
+               name= IFACE_(ot->name);
        }
 
        if(layout->root->type == UI_LAYOUT_MENU && !icon)
@@ -1430,11 +1426,7 @@ void uiItemM(uiLayout *layout, bContext *UNUSED(C), const char *menuname, const
        }
 
        if(!name) {
-               name= mt->label;
-
-#ifdef WITH_INTERNATIONAL
-               name= UI_translate_do_iface(name);
-#endif
+               name= IFACE_(mt->label);
        }
 
        if(layout->root->type == UI_LAYOUT_MENU && !icon)
@@ -2808,7 +2800,7 @@ void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,in
                empty= uiDefAutoButsRNA(layout, &ptr, check_prop, label_align) == 0;
 
                if(empty && (flag & UI_LAYOUT_OP_SHOW_EMPTY)) {
-                       uiItemL(layout, UI_translate_do_iface(N_("No Properties")), ICON_NONE);
+                       uiItemL(layout, IFACE_("No Properties"), ICON_NONE);
                }
        }
        
index c25e7f2..890a2b4 100644 (file)
@@ -442,11 +442,7 @@ static void ui_draw_aligned_panel_header(uiStyle *style, uiBlock *block, rcti *r
        Panel *panel= block->panel;
        rcti hrect;
        int  pnl_icons;
-       const char *activename= panel->drawname[0]?panel->drawname:panel->panelname;
-
-#ifdef WITH_INTERNATIONAL
-       activename= UI_translate_do_iface(activename);
-#endif
+       const char *activename= IFACE_(panel->drawname[0] ? panel->drawname : panel->panelname);
 
        /* + 0.001f to avoid flirting with float inaccuracy */
        if(panel->control & UI_PNL_CLOSE) pnl_icons=(panel->labelofs+2*PNL_ICON+5)/block->aspect + 0.001f;
index 028ab05..bc4e3cf 100644 (file)
@@ -349,7 +349,6 @@ static void ui_tooltip_region_free_cb(ARegion *ar)
        ar->regiondata= NULL;
 }
 
-#define TIP_(msgid) UI_translate_do_tooltip(msgid)
 ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
 {
        uiStyle *style= UI_GetStyle();
@@ -410,7 +409,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
                prop= (but->opptr)? but->opptr->data: NULL;
 
                if(WM_key_event_operator_string(C, but->optype->idname, but->opcontext, prop, buf, sizeof(buf))) {
-                       BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_(N_("Shortcut: %s")), buf);
+                       BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Shortcut: %s"), buf);
                        data->color[data->totline]= 0x888888;
                        data->totline++;
                }
@@ -420,7 +419,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
                /* full string */
                ui_get_but_string(but, buf, sizeof(buf));
                if(buf[0]) {
-                       BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_(N_("Value: %s")), buf);
+                       BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Value: %s"), buf);
                        data->color[data->totline]= 0x888888;
                        data->totline++;
                }
@@ -432,7 +431,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
                if (unit_type == PROP_UNIT_ROTATION) {
                        if (RNA_property_type(but->rnaprop) == PROP_FLOAT) {
                                float value= RNA_property_array_check(but->rnaprop) ? RNA_property_float_get_index(&but->rnapoin, but->rnaprop, but->rnaindex) : RNA_property_float_get(&but->rnapoin, but->rnaprop);
-                               BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_(N_("Radians: %f")), value);
+                               BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Radians: %f"), value);
                                data->color[data->totline]= 0x888888;
                                data->totline++;
                        }
@@ -441,7 +440,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
                if(but->flag & UI_BUT_DRIVEN) {
                        if(ui_but_anim_expression_get(but, buf, sizeof(buf))) {
                                /* expression */
-                               BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_(N_("Expression: %s")), buf);
+                               BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Expression: %s"), buf);
                                data->color[data->totline]= 0x888888;
                                data->totline++;
                        }
@@ -449,7 +448,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
 
                /* rna info */
                if ((U.flag & USER_TOOLTIPS_PYTHON) == 0) {
-                       BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_(N_("Python: %s.%s")), RNA_struct_identifier(but->rnapoin.type), RNA_property_identifier(but->rnaprop));
+                       BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Python: %s.%s"), RNA_struct_identifier(but->rnapoin.type), RNA_property_identifier(but->rnaprop));
                        data->color[data->totline]= 0x888888;
                        data->totline++;
                }
@@ -457,7 +456,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
                if(but->rnapoin.id.data) {
                        ID *id= but->rnapoin.id.data;
                        if(id->lib && id->lib->name) {
-                               BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_(N_("Library: %s")), id->lib->name);
+                               BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Library: %s"), id->lib->name);
                                data->color[data->totline]= 0x888888;
                                data->totline++;
                        }
@@ -472,7 +471,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
 
                /* operator info */
                if ((U.flag & USER_TOOLTIPS_PYTHON) == 0) {
-                       BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_(N_("Python: %s")), str);
+                       BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Python: %s"), str);
                        data->color[data->totline]= 0x888888;
                        data->totline++;
                }
@@ -486,7 +485,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
                        WM_operator_poll_context(C, but->optype, but->opcontext);
                        poll_msg= CTX_wm_operator_poll_msg_get(C);
                        if(poll_msg) {
-                               BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_(N_("Disabled: %s")), poll_msg);
+                               BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Disabled: %s"), poll_msg);
                                data->color[data->totline]= 0x6666ff; /* alert */
                                data->totline++;                        
                        }
@@ -496,7 +495,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
                if ((U.flag & USER_TOOLTIPS_PYTHON) == 0) {
                        if(but->menu_create_func && WM_menutype_contains((MenuType *)but->poin)) {
                                MenuType *mt= (MenuType *)but->poin;
-                               BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_(N_("Python: %s")), mt->idname);
+                               BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Python: %s"), mt->idname);
                                data->color[data->totline]= 0x888888;
                                data->totline++;
                        }
@@ -615,7 +614,6 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
 
        return ar;
 }
-#undef TIP_
 
 void ui_tooltip_free(bContext *C, ARegion *ar)
 {
index e264146..c6bc0f5 100644 (file)
@@ -357,7 +357,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
        if(flag & UI_ID_PREVIEWS) {
 
                but= uiDefBlockButN(block, id_search_menu, MEM_dupallocN(template), "", 0, 0, UI_UNIT_X*6, UI_UNIT_Y*6,
-                               UI_translate_do_tooltip(template_id_browse_tip(type)));
+                               TIP_(template_id_browse_tip(type)));
                if(type) {
                        but->icon= RNA_struct_ui_icon(type);
                        if (id) but->icon = ui_id_icon_get(C, id, 1);
@@ -370,7 +370,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
        }
        else if(flag & UI_ID_BROWSE) {
                but= uiDefBlockButN(block, id_search_menu, MEM_dupallocN(template), "", 0, 0, UI_UNIT_X*1.6, UI_UNIT_Y,
-                               UI_translate_do_tooltip(template_id_browse_tip(type)));
+                               TIP_(template_id_browse_tip(type)));
                if(type) {
                        but->icon= RNA_struct_ui_icon(type);
                        /* default dragging of icon for id browse buttons */
@@ -396,12 +396,12 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
                if(id->lib) {
                        if(id->flag & LIB_INDIRECT) {
                                but= uiDefIconBut(block, BUT, 0, ICON_LIBRARY_DATA_INDIRECT, 0,0,UI_UNIT_X,UI_UNIT_Y, NULL, 0, 0, 0, 0,
-                                       UI_translate_do_tooltip(N_("Indirect library datablock, cannot change")));
+                                       TIP_("Indirect library datablock, cannot change"));
                                uiButSetFlag(but, UI_BUT_DISABLED);
                        }
                        else {
                                but= uiDefIconBut(block, BUT, 0, ICON_LIBRARY_DATA_DIRECT, 0,0,UI_UNIT_X,UI_UNIT_Y, NULL, 0, 0, 0, 0,
-                                       UI_translate_do_tooltip(N_("Direct linked library datablock, click to make local")));
+                                       TIP_("Direct linked library datablock, click to make local"));
                                if(!id_make_local(id, 1 /* test */) || (idfrom && idfrom->lib))
                                        uiButSetFlag(but, UI_BUT_DISABLED);
                        }
@@ -415,7 +415,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
                        BLI_snprintf(str, sizeof(str), "%d", id->us);
 
                        but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X + ((id->us < 10) ? 0:10), UI_UNIT_Y, NULL, 0, 0, 0, 0,
-                                     UI_translate_do_tooltip(_("Display number of users of this data (click to make a single-user copy)")));
+                                     TIP_("Display number of users of this data (click to make a single-user copy)"));
 
                        uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_ALONE));
                        if(!id_copy(id, NULL, 1 /* test only */) || (idfrom && idfrom->lib) || !editable)
@@ -433,11 +433,11 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
                int w= id?UI_UNIT_X: (flag & UI_ID_OPEN)? UI_UNIT_X*3: UI_UNIT_X*6;
                
                if(newop) {
-                       but= uiDefIconTextButO(block, BUT, newop, WM_OP_INVOKE_DEFAULT, ICON_ZOOMIN, (id)? "": UI_translate_do_iface(N_("New")), 0, 0, w, UI_UNIT_Y, NULL);
+                       but= uiDefIconTextButO(block, BUT, newop, WM_OP_INVOKE_DEFAULT, ICON_ZOOMIN, (id)? "": IFACE_("New"), 0, 0, w, UI_UNIT_Y, NULL);
                        uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_ADD_NEW));
                }
                else {
-                       but= uiDefIconTextBut(block, BUT, 0, ICON_ZOOMIN, (id)? "": _("New"), 0, 0, w, UI_UNIT_Y, NULL, 0, 0, 0, 0, NULL);
+                       but= uiDefIconTextBut(block, BUT, 0, ICON_ZOOMIN, (id)? "": IFACE_("New"), 0, 0, w, UI_UNIT_Y, NULL, 0, 0, 0, 0, NULL);
                        uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_ADD_NEW));
                }
 
@@ -449,11 +449,11 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
                int w= id?UI_UNIT_X: (flag & UI_ID_ADD_NEW)? UI_UNIT_X*3: UI_UNIT_X*6;
                
                if(openop) {
-                       but= uiDefIconTextButO(block, BUT, openop, WM_OP_INVOKE_DEFAULT, ICON_FILESEL, (id)? "": UI_translate_do_iface(N_("Open")), 0, 0, w, UI_UNIT_Y, NULL);
+                       but= uiDefIconTextButO(block, BUT, openop, WM_OP_INVOKE_DEFAULT, ICON_FILESEL, (id)? "": IFACE_("Open"), 0, 0, w, UI_UNIT_Y, NULL);
                        uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_OPEN));
                }
                else {
-                       but= uiDefIconTextBut(block, BUT, 0, ICON_FILESEL, (id)? "": UI_translate_do_iface(N_("Open")), 0, 0, w, UI_UNIT_Y, NULL, 0, 0, 0, 0, NULL);
+                       but= uiDefIconTextBut(block, BUT, 0, ICON_FILESEL, (id)? "": IFACE_("Open"), 0, 0, w, UI_UNIT_Y, NULL, 0, 0, 0, 0, NULL);
                        uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_OPEN));
                }
 
@@ -470,7 +470,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
                }
                else {
                        but= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0, UI_UNIT_X, UI_UNIT_Y, NULL, 0, 0, 0, 0,
-                                       UI_translate_do_tooltip(N_("Unlink datablock. Shift + Click to set users to zero, data will then not be saved")));
+                                       TIP_("Unlink datablock. Shift + Click to set users to zero, data will then not be saved"));
                        uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_DELETE));
 
                        if(RNA_property_flag(template->prop) & PROP_NEVER_NULL)
@@ -727,8 +727,8 @@ static uiLayout *draw_modifier(uiLayout *layout, Scene *scene, Object *ob, Modif
                BLI_snprintf(str, sizeof(str), "%s parent deform", md->name);
                uiDefBut(block, LABEL, 0, str, 0, 0, 185, UI_UNIT_Y, NULL, 0.0, 0.0, 0.0, 0.0, "Modifier name"); 
                
-               but = uiDefBut(block, BUT, 0, UI_translate_do_iface(N_("Make Real")), 0, 0, 80, 16, NULL, 0.0, 0.0, 0.0, 0.0,
-                                       UI_translate_do_tooltip(N_("Convert virtual modifier to a real modifier")));
+               but = uiDefBut(block, BUT, 0, IFACE_("Make Real"), 0, 0, 80, 16, NULL, 0.0, 0.0, 0.0, 0.0,
+                                       TIP_("Convert virtual modifier to a real modifier"));
                uiButSetFunc(but, modifiers_convertToReal, ob, md);
        }
        else {
@@ -765,7 +765,7 @@ static uiLayout *draw_modifier(uiLayout *layout, Scene *scene, Object *ob, Modif
                        {
                                /* -- convert to rna ? */
                                but = uiDefIconButBitI(block, TOG, eModifierMode_OnCage, 0, ICON_MESH_DATA, 0, 0, UI_UNIT_X-2, UI_UNIT_Y, &md->mode, 0.0, 0.0, 0.0, 0.0,
-                                               UI_translate_do_tooltip(N_("Apply modifier to editing cage during Editmode")));
+                                               TIP_("Apply modifier to editing cage during Editmode"));
                                if (index < cageIndex)
                                        uiButSetFlag(but, UI_BUT_DISABLED);
                                uiButSetFunc(but, modifiers_setOnCage, ob, md);
@@ -786,7 +786,7 @@ static uiLayout *draw_modifier(uiLayout *layout, Scene *scene, Object *ob, Modif
                                /* add disabled pre-tesselated button, so users could have
                                   message for this modifiers */
                                but = uiDefIconButBitI(block, TOG, eModifierMode_ApplyOnSpline, 0, ICON_SURFACE_DATA, 0, 0, UI_UNIT_X-2, UI_UNIT_Y, &md->mode, 0.0, 0.0, 0.0, 0.0,
-                                               UI_translate_do_tooltip(N_("This modifier could be applied on splines' points only")));
+                                               TIP_("This modifier could be applied on splines' points only"));
                                uiButSetFlag(but, UI_BUT_DISABLED);
                        } else if (mti->type != eModifierTypeType_Constructive) {
                                /* constructive modifiers tesselates curve before applying */
@@ -836,17 +836,17 @@ static uiLayout *draw_modifier(uiLayout *layout, Scene *scene, Object *ob, Modif
                        }
                        else {
                                uiLayoutSetOperatorContext(row, WM_OP_INVOKE_DEFAULT);
-                               uiItemEnumO(row, "OBJECT_OT_modifier_apply", UI_translate_do_iface(N_("Apply")), 0, "apply_as", MODIFIER_APPLY_DATA);
+                               uiItemEnumO(row, "OBJECT_OT_modifier_apply", IFACE_("Apply"), 0, "apply_as", MODIFIER_APPLY_DATA);
                                
                                if (modifier_sameTopology(md))
-                                       uiItemEnumO(row, "OBJECT_OT_modifier_apply", UI_translate_do_iface(N_("Apply as Shape")), 0, "apply_as", MODIFIER_APPLY_SHAPE);
+                                       uiItemEnumO(row, "OBJECT_OT_modifier_apply", IFACE_("Apply as Shape"), 0, "apply_as", MODIFIER_APPLY_SHAPE);
                        }
                        
                        uiBlockClearButLock(block);
                        uiBlockSetButLock(block, ob && ob->id.lib, ERROR_LIBDATA_MESSAGE);
                        
                        if (!ELEM5(md->type, eModifierType_Fluidsim, eModifierType_Softbody, eModifierType_ParticleSystem, eModifierType_Cloth, eModifierType_Smoke))
-                               uiItemO(row, UI_translate_do_tooltip(N_("Copy")), ICON_NONE, "OBJECT_OT_modifier_copy");
+                               uiItemO(row, TIP_("Copy"), ICON_NONE, "OBJECT_OT_modifier_copy");
                }
                
                /* result is the layout block inside the box, that we return so that modifier settings can be drawn */
@@ -1020,8 +1020,8 @@ static uiLayout *draw_constraint(uiLayout *layout, Object *ob, bConstraint *con)
                uiBlockSetEmboss(block, UI_EMBOSSN);
                
                /* draw a ghost icon (for proxy) and also a lock beside it, to show that constraint is "proxy locked" */
-               uiDefIconBut(block, BUT, B_CONSTRAINT_TEST, ICON_GHOST, xco+244, yco, 19, 19, NULL, 0.0, 0.0, 0.0, 0.0, UI_translate_do_tooltip(N_("Proxy Protected")));
-               uiDefIconBut(block, BUT, B_CONSTRAINT_TEST, ICON_LOCKED, xco+262, yco, 19, 19, NULL, 0.0, 0.0, 0.0, 0.0, UI_translate_do_tooltip(N_("Proxy Protected")));
+               uiDefIconBut(block, BUT, B_CONSTRAINT_TEST, ICON_GHOST, xco+244, yco, 19, 19, NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Proxy Protected"));
+               uiDefIconBut(block, BUT, B_CONSTRAINT_TEST, ICON_LOCKED, xco+262, yco, 19, 19, NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Proxy Protected"));
                
                uiBlockSetEmboss(block, UI_EMBOSS);
        }
@@ -1207,14 +1207,14 @@ void uiTemplatePreview(uiLayout *layout, ID *id, int show_buttons, ID *parent, M
                        RNA_pointer_create(id, &RNA_Texture, tex, &texture_ptr);
                        
                        uiLayoutRow(layout, 1);
-                       uiDefButS(block, ROW, B_MATPRV, UI_translate_do_iface(N_("Texture")),  0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_TEXTURE, 0, 0, "");
+                       uiDefButS(block, ROW, B_MATPRV, IFACE_("Texture"),  0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_TEXTURE, 0, 0, "");
                        if(GS(parent->name) == ID_MA)
-                               uiDefButS(block, ROW, B_MATPRV, UI_translate_do_iface(N_("Material")),  0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_OTHER, 0, 0, "");
+                               uiDefButS(block, ROW, B_MATPRV, IFACE_("Material"),  0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_OTHER, 0, 0, "");
                        else if(GS(parent->name) == ID_LA)
-                               uiDefButS(block, ROW, B_MATPRV, UI_translate_do_iface(N_("Lamp")),  0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_OTHER, 0, 0, "");
+                               uiDefButS(block, ROW, B_MATPRV, IFACE_("Lamp"),  0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_OTHER, 0, 0, "");
                        else if(GS(parent->name) == ID_WO)
-                               uiDefButS(block, ROW, B_MATPRV, UI_translate_do_iface(N_("World")),  0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_OTHER, 0, 0, "");
-                       uiDefButS(block, ROW, B_MATPRV, UI_translate_do_iface(N_("Both")),  0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_BOTH, 0, 0, "");
+                               uiDefButS(block, ROW, B_MATPRV, IFACE_("World"),  0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_OTHER, 0, 0, "");
+                       uiDefButS(block, ROW, B_MATPRV, IFACE_("Both"),  0, 0,UI_UNIT_X*10,UI_UNIT_Y, pr_texture, 10, TEX_PR_BOTH, 0, 0, "");
                        
                        /* Alpha buton for texture preview */
                        if(*pr_texture!=TEX_PR_OTHER) {
@@ -1305,23 +1305,23 @@ static void colorband_buttons_large(uiLayout *layout, uiBlock *block, ColorBand
 
        if(coba==NULL) return;
 
-       bt= uiDefBut(block, BUT, 0,     UI_translate_do_iface(N_("Add")), 0+xoffs,line1_y,40,UI_UNIT_Y, NULL, 0, 0, 0, 0,
-                       UI_translate_do_tooltip(N_("Add a new color stop to the colorband")));
+       bt= uiDefBut(block, BUT, 0,     IFACE_("Add"), 0+xoffs,line1_y,40,UI_UNIT_Y, NULL, 0, 0, 0, 0,
+                       TIP_("Add a new color stop to the colorband"));
        uiButSetNFunc(bt, colorband_add_cb, MEM_dupallocN(cb), coba);
 
-       bt= uiDefBut(block, BUT, 0,     UI_translate_do_iface(N_("Delete")), 45+xoffs,line1_y,45,UI_UNIT_Y, NULL, 0, 0, 0, 0,
-                       UI_translate_do_tooltip(N_("Delete the active position")));
+       bt= uiDefBut(block, BUT, 0,     IFACE_("Delete"), 45+xoffs,line1_y,45,UI_UNIT_Y, NULL, 0, 0, 0, 0,
+                       TIP_("Delete the active position"));
        uiButSetNFunc(bt, colorband_del_cb, MEM_dupallocN(cb), coba);
 
 
        /* XXX, todo for later - convert to operator - campbell */
-       bt= uiDefBut(block, BUT, 0,     "F",            95+xoffs,line1_y,20,UI_UNIT_Y, NULL, 0, 0, 0, 0, UI_translate_do_tooltip(N_("Flip colorband")));
+       bt= uiDefBut(block, BUT, 0,     "F",            95+xoffs,line1_y,20,UI_UNIT_Y, NULL, 0, 0, 0, 0, TIP_("Flip colorband"));
        uiButSetNFunc(bt, colorband_flip_cb, MEM_dupallocN(cb), coba);
 
-       uiDefButS(block, NUM, 0,                "",                             120+xoffs,line1_y,80, UI_UNIT_Y, &coba->cur, 0.0, (float)(MAX2(0, coba->tot-1)), 0, 0, UI_translate_do_tooltip(N_("Choose active color stop")));
+       uiDefButS(block, NUM, 0,                "",                             120+xoffs,line1_y,80, UI_UNIT_Y, &coba->cur, 0.0, (float)(MAX2(0, coba->tot-1)), 0, 0, TIP_("Choose active color stop"));
 
-       bt= uiDefButS(block, MENU, 0,           UI_translate_do_iface(N_("Interpolation %t|Ease %x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4")),
-                       210+xoffs, line1_y, 90, UI_UNIT_Y,              &coba->ipotype, 0.0, 0.0, 0, 0, UI_translate_do_tooltip(N_("Set interpolation between color stops")));
+       bt= uiDefButS(block, MENU, 0,           IFACE_("Interpolation %t|Ease %x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4"),
+                       210+xoffs, line1_y, 90, UI_UNIT_Y,              &coba->ipotype, 0.0, 0.0, 0, 0, TIP_("Set interpolation between color stops"));
        uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
        uiBlockEndAlign(block);
 
@@ -1350,13 +1350,13 @@ static void colorband_buttons_small(uiLayout *layout, uiBlock *block, ColorBand
        float xs= butr->xmin;
 
        uiBlockBeginAlign(block);
-       bt= uiDefBut(block, BUT, 0,     UI_translate_do_iface(N_("Add")), xs,butr->ymin+UI_UNIT_Y,2.0f*unit,UI_UNIT_Y,  NULL, 0, 0, 0, 0,
-                       UI_translate_do_tooltip(N_("Add a new color stop to the colorband")));
+       bt= uiDefBut(block, BUT, 0,     IFACE_("Add"), xs,butr->ymin+UI_UNIT_Y,2.0f*unit,UI_UNIT_Y,     NULL, 0, 0, 0, 0,
+                       TIP_("Add a new color stop to the colorband"));
        uiButSetNFunc(bt, colorband_add_cb, MEM_dupallocN(cb), coba);
-       bt= uiDefBut(block, BUT, 0,     UI_translate_do_iface(N_("Delete")), xs+2.0f*unit,butr->ymin+UI_UNIT_Y,1.5f*unit,UI_UNIT_Y,     NULL, 0, 0, 0, 0,
-                    UI_translate_do_tooltip(N_("Delete the active position")));
+       bt= uiDefBut(block, BUT, 0,     IFACE_("Delete"), xs+2.0f*unit,butr->ymin+UI_UNIT_Y,1.5f*unit,UI_UNIT_Y,        NULL, 0, 0, 0, 0,
+                    TIP_("Delete the active position"));
        uiButSetNFunc(bt, colorband_del_cb, MEM_dupallocN(cb), coba);
-       bt= uiDefBut(block, BUT, 0,     "F",            xs+3.5f*unit,butr->ymin+UI_UNIT_Y,0.5f*unit,UI_UNIT_Y,  NULL, 0, 0, 0, 0, UI_translate_do_tooltip(N_("Flip the color ramp")));
+       bt= uiDefBut(block, BUT, 0,     "F",            xs+3.5f*unit,butr->ymin+UI_UNIT_Y,0.5f*unit,UI_UNIT_Y,  NULL, 0, 0, 0, 0, TIP_("Flip the color ramp"));
        uiButSetNFunc(bt, colorband_flip_cb, MEM_dupallocN(cb), coba);
        uiBlockEndAlign(block);
 
@@ -1367,9 +1367,9 @@ static void colorband_buttons_small(uiLayout *layout, uiBlock *block, ColorBand
                uiItemR(layout, &ptr, "color", 0, "", ICON_NONE);
        }
 
-       bt= uiDefButS(block, MENU, 0, UI_translate_do_tooltip(N_("Interpolation %t|Ease %x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4")),
+       bt= uiDefButS(block, MENU, 0, TIP_("Interpolation %t|Ease %x1|Cardinal %x3|Linear %x0|B-Spline %x2|Constant %x4"),
                        xs+10.0f*unit, butr->ymin+UI_UNIT_Y, unit*4, UI_UNIT_Y,         &coba->ipotype, 0.0, 0.0, 0, 0,
-                       UI_translate_do_tooltip(N_("Set interpolation between color stops")));
+                       TIP_("Set interpolation between color stops"));
        uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
 
        bt= uiDefBut(block, BUT_COLORBAND, 0, "",               xs,butr->ymin,butr->xmax-butr->xmin,UI_UNIT_Y, coba, 0, 0, 0, 0, "");
@@ -1620,10 +1620,10 @@ static uiBlock *curvemap_clipping_func(bContext *C, struct ARegion *ar, void *cu
        uiButSetFunc(bt, curvemap_buttons_setclip, cumap, NULL);
 
        uiBlockBeginAlign(block);
-       uiDefButF(block, NUM, 0, UI_translate_do_iface(N_("Min X ")),    0,4*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.xmin, -100.0, cumap->clipr.xmax, 10, 0, "");
-       uiDefButF(block, NUM, 0, UI_translate_do_iface(N_("Min Y ")),    0,3*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.ymin, -100.0, cumap->clipr.ymax, 10, 0, "");
-       uiDefButF(block, NUM, 0, UI_translate_do_iface(N_("Max X ")),    0,2*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.xmax, cumap->clipr.xmin, 100.0, 10, 0, "");
-       uiDefButF(block, NUM, 0, UI_translate_do_iface(N_("Max Y ")),    0,UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.ymax, cumap->clipr.ymin, 100.0, 10, 0, "");
+       uiDefButF(block, NUM, 0, IFACE_("Min X "),       0,4*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.xmin, -100.0, cumap->clipr.xmax, 10, 0, "");
+       uiDefButF(block, NUM, 0, IFACE_("Min Y "),       0,3*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.ymin, -100.0, cumap->clipr.ymax, 10, 0, "");
+       uiDefButF(block, NUM, 0, IFACE_("Max X "),       0,2*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.xmax, cumap->clipr.xmin, 100.0, 10, 0, "");
+       uiDefButF(block, NUM, 0, IFACE_("Max Y "),       0,UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.ymax, cumap->clipr.ymin, 100.0, 10, 0, "");
 
        uiBlockSetDirection(block, UI_RIGHT);
 
@@ -1672,12 +1672,12 @@ static uiBlock *curvemap_tools_func(bContext *C, struct ARegion *ar, void *cumap
        block= uiBeginBlock(C, ar, "curvemap_tools_func", UI_EMBOSS);
        uiBlockSetButmFunc(block, curvemap_tools_dofunc, cumap_v);
 
-       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, UI_translate_do_iface(N_("Reset View")),                  0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 1, "");
-       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, UI_translate_do_iface(N_("Vector Handle")),               0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 2, "");
-       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, UI_translate_do_iface(N_("Auto Handle")),                 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 3, "");
-       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, UI_translate_do_iface(N_("Extend Horizontal")),   0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 4, "");
-       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, UI_translate_do_iface(N_("Extend Extrapolated")), 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 5, "");
-       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, UI_translate_do_iface(N_("Reset Curve")),                 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
+       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, IFACE_("Reset View"),                     0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 1, "");
+       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, IFACE_("Vector Handle"),          0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 2, "");
+       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, IFACE_("Auto Handle"),                    0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 3, "");
+       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, IFACE_("Extend Horizontal"),      0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 4, "");
+       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, IFACE_("Extend Extrapolated"),    0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 5, "");
+       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, IFACE_("Reset Curve"),                    0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
 
        uiBlockSetDirection(block, UI_RIGHT);
        uiTextBoundsBlock(block, 50);
@@ -1694,10 +1694,10 @@ static uiBlock *curvemap_brush_tools_func(bContext *C, struct ARegion *ar, void
        block= uiBeginBlock(C, ar, "curvemap_tools_func", UI_EMBOSS);
        uiBlockSetButmFunc(block, curvemap_tools_dofunc, cumap_v);
 
-       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, UI_translate_do_iface(N_("Reset View")),          0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 1, "");
-       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, UI_translate_do_iface(N_("Vector Handle")),       0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 2, "");
-       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, UI_translate_do_iface(N_("Auto Handle")),         0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 3, "");
-       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, UI_translate_do_iface(N_("Reset Curve")),         0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
+       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, IFACE_("Reset View"),             0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 1, "");
+       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, IFACE_("Vector Handle"),  0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 2, "");
+       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, IFACE_("Auto Handle"),            0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 3, "");
+       uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, IFACE_("Reset Curve"),            0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
 
        uiBlockSetDirection(block, UI_RIGHT);
        uiTextBoundsBlock(block, 50);
@@ -1814,24 +1814,24 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
 
        uiBlockSetEmboss(block, UI_EMBOSSN);
 
-       bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMIN, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, UI_translate_do_tooltip(N_("Zoom in")));
+       bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMIN, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Zoom in"));
        uiButSetFunc(bt, curvemap_buttons_zoom_in, cumap, NULL);
 
-       bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMOUT, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, UI_translate_do_tooltip(N_("Zoom out")));
+       bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMOUT, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Zoom out"));
        uiButSetFunc(bt, curvemap_buttons_zoom_out, cumap, NULL);
 
        if(brush)
-               bt= uiDefIconBlockBut(block, curvemap_brush_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, dx, UI_translate_do_tooltip(N_("Tools")));
+               bt= uiDefIconBlockBut(block, curvemap_brush_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, dx, TIP_("Tools"));
        else
-               bt= uiDefIconBlockBut(block, curvemap_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, dx, UI_translate_do_tooltip(N_("Tools")));
+               bt= uiDefIconBlockBut(block, curvemap_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, dx, TIP_("Tools"));
 
        uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
 
        if(cumap->flag & CUMA_DO_CLIP) icon= ICON_CLIPUV_HLT; else icon= ICON_CLIPUV_DEHLT;
-       bt= uiDefIconBlockBut(block, curvemap_clipping_func, cumap, 0, icon, 0, 0, dx, dx, UI_translate_do_tooltip(N_("Clipping Options")));
+       bt= uiDefIconBlockBut(block, curvemap_clipping_func, cumap, 0, icon, 0, 0, dx, dx, TIP_("Clipping Options"));
        uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
 
-       bt= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, UI_translate_do_tooltip(N_("Delete points")));
+       bt= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Delete points"));
        uiButSetNFunc(bt, curvemap_buttons_delete, MEM_dupallocN(cb), cumap);
 
        uiBlockSetEmboss(block, UI_EMBOSS);
@@ -1850,8 +1850,8 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
                uiItemR(uiLayoutColumn(split, 0), ptr, "white_level", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
 
                uiLayoutRow(layout, 0);
-               bt=uiDefBut(block, BUT, 0, UI_translate_do_iface(N_("Reset")),  0, 0, UI_UNIT_X*10, UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0,
-                               UI_translate_do_tooltip(N_("Reset Black/White point and curves")));
+               bt=uiDefBut(block, BUT, 0, IFACE_("Reset"),     0, 0, UI_UNIT_X*10, UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0,
+                               TIP_("Reset Black/White point and curves"));
                uiButSetNFunc(bt, curvemap_buttons_reset, MEM_dupallocN(cb), cumap);
        }
 
@@ -2470,18 +2470,18 @@ void uiTemplateRunningJobs(uiLayout *layout, bContext *C)
                (void)ui_abs; // UNUSED
                
                uiDefIconBut(block, BUT, handle_event, ICON_PANEL_CLOSE, 
-                               0, UI_UNIT_Y*0.1, UI_UNIT_X*0.8, UI_UNIT_Y*0.8, NULL, 0.0f, 0.0f, 0, 0, UI_translate_do_tooltip(N_("Stop this job")));
+                               0, UI_UNIT_Y*0.1, UI_UNIT_X*0.8, UI_UNIT_Y*0.8, NULL, 0.0f, 0.0f, 0, 0, TIP_("Stop this job"));
                uiDefBut(block, PROGRESSBAR, 0, WM_jobs_name(wm, owner), 
-                               UI_UNIT_X, 0, 100, UI_UNIT_Y, NULL, 0.0f, 0.0f, WM_jobs_progress(wm, owner), 0, UI_translate_do_tooltip(N_("Progress")));
+                               UI_UNIT_X, 0, 100, UI_UNIT_Y, NULL, 0.0f, 0.0f, WM_jobs_progress(wm, owner), 0, TIP_("Progress"));
                
                uiLayoutRow(layout, 0);
        }
        if(WM_jobs_test(wm, screen))
-               uiDefIconTextBut(block, BUT, B_STOPCAST, ICON_CANCEL, UI_translate_do_iface(N_("Capture")), 0,0,85,UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0,
-                               UI_translate_do_tooltip(N_("Stop screencast")));
+               uiDefIconTextBut(block, BUT, B_STOPCAST, ICON_CANCEL, IFACE_("Capture"), 0,0,85,UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0,
+                               TIP_("Stop screencast"));
        if(screen->animtimer)
-               uiDefIconTextBut(block, BUT, B_STOPANIM, ICON_CANCEL, UI_translate_do_tooltip(N_("Anim Player")), 0,0,100,UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0,
-                               UI_translate_do_tooltip(N_("Stop animation playback")));
+               uiDefIconTextBut(block, BUT, B_STOPANIM, ICON_CANCEL, TIP_("Anim Player"), 0,0,100,UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0,
+                               TIP_("Stop animation playback"));
 }
 
 /************************* Reports for Last Operator Template **************************/
@@ -2543,7 +2543,7 @@ void uiTemplateReportsBanner(uiLayout *layout, bContext *C)
        uiBlockSetEmboss(block, UI_EMBOSSN);
 
        if (reports->list.first != reports->list.last)
-               uiDefIconButO(block, BUT, "UI_OT_reports_to_textblock", WM_OP_INVOKE_REGION_WIN, icon, 2, 0, UI_UNIT_X, UI_UNIT_Y, UI_translate_do_tooltip(N_("Click to see rest of reports in textblock: 'Recent Reports'")));
+               uiDefIconButO(block, BUT, "UI_OT_reports_to_textblock", WM_OP_INVOKE_REGION_WIN, icon, 2, 0, UI_UNIT_X, UI_UNIT_Y, TIP_("Click to see rest of reports in textblock: 'Recent Reports'"));
        else
                uiDefIconBut(block, LABEL, 0, icon, 2, 0, UI_UNIT_X, UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0, "");
 
index 206ecba..23d5e77 100644 (file)
@@ -117,7 +117,7 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
                }
                case PROP_COLLECTION: {
                        char text[256];
-                       BLI_snprintf(text, sizeof(text), UI_translate_do_iface(N_("%d items")), RNA_property_collection_length(ptr, prop));
+                       BLI_snprintf(text, sizeof(text), IFACE_("%d items"), RNA_property_collection_length(ptr, prop));
                        but= uiDefBut(block, LABEL, 0, text, x1, y1, x2, y2, NULL, 0, 0, 0, 0, NULL);
                        uiButSetFlag(but, UI_BUT_DISABLED);
                        break;
index 28f4861..2b007f5 100644 (file)
@@ -1388,7 +1388,7 @@ static const char *editortype_pup(void)
                   "|Python Console %x18"
                   );
 
-       return UI_translate_do_iface(types);
+       return IFACE_(types);
 }
 
 static void spacefunc(struct bContext *C, void *UNUSED(arg1), void *UNUSED(arg2))
@@ -1410,7 +1410,7 @@ int ED_area_header_switchbutton(const bContext *C, uiBlock *block, int yco)
        but= uiDefIconTextButC(block, ICONTEXTROW, 0, ICON_VIEW3D, 
                                                   editortype_pup(), xco, yco, UI_UNIT_X+10, UI_UNIT_Y, 
                                                   &(sa->butspacetype), 1.0, SPACEICONMAX, 0, 0, 
-                                                  UI_translate_do_tooltip(N_("Displays current editor type. Click for menu of available types")));
+                                                  TIP_("Displays current editor type. Click for menu of available types"));
        uiButSetFunc(but, spacefunc, NULL, NULL);
        uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
        
index b18b537..dfbb2a5 100644 (file)
@@ -125,7 +125,7 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
 
 #define BUTTON_HEADER_CTX(_ctx, _icon, _tip) \
        if(sbuts->pathflag & (1<<_ctx)) { \
-               but= uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, _icon, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)_ctx, 0, 0, UI_translate_do_tooltip(_tip)); \
+               but= uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, _icon, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)_ctx, 0, 0, TIP_(_tip)); \
                uiButClearFlag(but, UI_BUT_UNDO); \
        } \
 
index 85edcce..6fbfa11 100644 (file)
@@ -182,7 +182,7 @@ void file_draw_buttons(const bContext *C, ARegion *ar)
                but = uiDefButTextO(block, TEX, "FILE_OT_directory", 0, "",
                                 min_x, line1_y, line1_w-chan_offs, btn_h, 
                                 params->dir, 0.0, (float)FILE_MAX, 0, 0,
-                                UI_translate_do_tooltip(N_("File path")));
+                                TIP_("File path"));
                uiButSetCompleteFunc(but, autocomplete_directory, NULL);
                uiButSetFlag(but, UI_BUT_NO_UTF8);
 
@@ -190,7 +190,7 @@ void file_draw_buttons(const bContext *C, ARegion *ar)
                        but = uiDefBut(block, TEX, B_FS_FILENAME, "",
                                         min_x, line2_y, line2_w-chan_offs, btn_h,
                                         params->file, 0.0, (float)FILE_MAXFILE, 0, 0,
-                                        UI_translate_do_tooltip(overwrite_alert ?N_("File name, overwrite existing") : N_("File name")));
+                                        TIP_(overwrite_alert ?N_("File name, overwrite existing") : N_("File name")));
                        uiButSetCompleteFunc(but, autocomplete_file, NULL);
                        uiButSetFlag(but, UI_BUT_NO_UTF8);
 
@@ -208,15 +208,15 @@ void file_draw_buttons(const bContext *C, ARegion *ar)
        if (fnumbuttons && (params->flag & FILE_DIRSEL_ONLY) == 0) {
                uiBlockBeginAlign(block);
                but = uiDefIconButO(block, BUT, "FILE_OT_filenum", 0, ICON_ZOOMOUT,
-                               min_x + line2_w + separator - chan_offs, line2_y, 
-                               btn_fn_w, btn_h, 
-                               UI_translate_do_tooltip(N_("Decrement the filename number")));    
+                               min_x + line2_w + separator - chan_offs, line2_y,
+                               btn_fn_w, btn_h,
+                               TIP_("Decrement the filename number"));
                RNA_int_set(uiButGetOperatorPtrRNA(but), "increment", -1); 
        
-               but = uiDefIconButO(block, BUT, "FILE_OT_filenum", 0, ICON_ZOOMIN, 
-                               min_x + line2_w + separator + btn_fn_w - chan_offs, line2_y, 
-                               btn_fn_w, btn_h, 
-                               UI_translate_do_tooltip(N_("Increment the filename number")));    
+               but = uiDefIconButO(block, BUT, "FILE_OT_filenum", 0, ICON_ZOOMIN,
+                               min_x + line2_w + separator + btn_fn_w - chan_offs, line2_y,
+                               btn_fn_w, btn_h,
+                               TIP_("Increment the filename number"));
                RNA_int_set(uiButGetOperatorPtrRNA(but), "increment", 1); 
                uiBlockEndAlign(block);
        }
@@ -227,9 +227,9 @@ void file_draw_buttons(const bContext *C, ARegion *ar)
                uiDefButO(block, BUT, "FILE_OT_execute", WM_OP_EXEC_REGION_WIN, params->title,
                        max_x - loadbutton, line1_y, loadbutton, btn_h, 
                        params->title);
-               uiDefButO(block, BUT, "FILE_OT_cancel", WM_OP_EXEC_REGION_WIN, UI_translate_do_iface(N_("Cancel")),
+               uiDefButO(block, BUT, "FILE_OT_cancel", WM_OP_EXEC_REGION_WIN, IFACE_("Cancel"),
                        max_x - loadbutton, line2_y, loadbutton, btn_h, 
-                       UI_translate_do_tooltip(N_("Cancel")));
+                       TIP_("Cancel"));
        }
        
        uiEndBlock(C, block);
index 37dce29..fae10c0 100644 (file)
@@ -146,7 +146,7 @@ static void file_panel_bookmarks(const bContext *C, Panel *pa)
 
        if(sfile) {
                row= uiLayoutRow(pa->layout, 0);
-               uiItemO(row, UI_translate_do_iface(N_("Add")), ICON_ZOOMIN, "file.bookmark_add");
+               uiItemO(row, IFACE_("Add"), ICON_ZOOMIN, "file.bookmark_add");
                uiItemL(row, NULL, ICON_NONE);
 
                file_panel_category(C, pa, FS_CATEGORY_BOOKMARKS, &sfile->bookmarknr, ICON_BOOKMARKS, 1, 0);
index f159310..51a2404 100644 (file)
@@ -754,8 +754,8 @@ static void graph_panel_modifiers(const bContext *C, Panel *pa)
                block= uiLayoutGetBlock(row);
                
                // XXX for now, this will be a operator button which calls a 'add modifier' operator
-               uiDefButO(block, BUT, "GRAPH_OT_fmodifier_add", WM_OP_INVOKE_REGION_WIN, UI_translate_do_iface(N_("Add Modifier")), 10, 0, 150, 20,
-                               UI_translate_do_tooltip(N_("Adds a new F-Curve Modifier for the active F-Curve")));
+               uiDefButO(block, BUT, "GRAPH_OT_fmodifier_add", WM_OP_INVOKE_REGION_WIN, IFACE_("Add Modifier"), 10, 0, 150, 20,
+                               TIP_("Adds a new F-Curve Modifier for the active F-Curve"));
                
                /* copy/paste (as sub-row)*/
                row= uiLayoutRow(row, 1);
index 9157df6..bafcf36 100644 (file)
@@ -280,7 +280,7 @@ static void recent_files_menu_draw(const bContext *UNUSED(C), Menu *menu)
                        uiItemStringO(layout, BLI_path_basename(recent->filepath), ICON_FILE_BLEND, "WM_OT_open_mainfile", "filepath", recent->filepath);
                }
        } else {
-               uiItemL(layout, UI_translate_do_iface(N_("No Recent Files")), ICON_NONE);
+               uiItemL(layout, IFACE_("No Recent Files"), ICON_NONE);
        }
 }
 
@@ -290,7 +290,7 @@ static void recent_files_menu_register(void)
 
        mt= MEM_callocN(sizeof(MenuType), "spacetype info menu recent files");
        strcpy(mt->idname, "INFO_MT_file_open_recent");
-       strcpy(mt->label, _("Open Recent..."));
+       strcpy(mt->label, N_("Open Recent..."));
        mt->draw= recent_files_menu_draw;
        WM_menutype_add(mt);
 }
index 5e1f274..7ba33e7 100644 (file)
@@ -448,8 +448,8 @@ static void nla_panel_modifiers(const bContext *C, Panel *pa)
                
                // XXX for now, this will be a operator button which calls a temporary 'add modifier' operator
                // FIXME: we need to set the only-active property so that this will only add modifiers for the active strip (not all selected)
-               uiDefButO(block, BUT, "NLA_OT_fmodifier_add", WM_OP_INVOKE_REGION_WIN, UI_translate_do_iface(N_("Add Modifier")), 10, 0, 150, 20,
-                               UI_translate_do_tooltip(N_("Adds a new F-Modifier for the active NLA Strip")));
+               uiDefButO(block, BUT, "NLA_OT_fmodifier_add", WM_OP_INVOKE_REGION_WIN, IFACE_("Add Modifier"), 10, 0, 150, 20,
+                               TIP_("Adds a new F-Modifier for the active NLA Strip"));
                
                /* copy/paste (as sub-row)*/
                row= uiLayoutRow(row, 1);
index 205dd6b..b64685e 100644 (file)
@@ -218,7 +218,6 @@ static void node_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass)
        }
 }
 
-#define IFACE_(msgid) UI_translate_do_iface(msgid)
 static void node_menu_add(const bContext *C, Menu *menu)
 {
        SpaceNode *snode= CTX_wm_space_node(C);
@@ -228,40 +227,39 @@ static void node_menu_add(const bContext *C, Menu *menu)
                uiLayoutSetActive(layout, 0);
 
        if(snode->treetype==NTREE_SHADER) {
-               uiItemMenuF(layout, IFACE_(N_("Input")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
-               uiItemMenuF(layout, IFACE_(N_("Output")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
-               uiItemMenuF(layout, IFACE_(N_("Color")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
-               uiItemMenuF(layout, IFACE_(N_("Vector")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
-               uiItemMenuF(layout, IFACE_(N_("Convertor")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
-               uiItemMenuF(layout, IFACE_(N_("Group")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
-               uiItemMenuF(layout, IFACE_(N_("Dynamic")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_DYNAMIC));
-               uiItemMenuF(layout, IFACE_(N_("Layout")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_LAYOUT));
+               uiItemMenuF(layout, IFACE_("Input"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
+               uiItemMenuF(layout, IFACE_("Output"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
+               uiItemMenuF(layout, IFACE_("Color"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
+               uiItemMenuF(layout, IFACE_("Vector"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
+               uiItemMenuF(layout, IFACE_("Convertor"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
+               uiItemMenuF(layout, IFACE_("Group"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
+               uiItemMenuF(layout, IFACE_("Dynamic"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_DYNAMIC));
+               uiItemMenuF(layout, IFACE_("Layout"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_LAYOUT));
        }
        else if(snode->treetype==NTREE_COMPOSIT) {
-               uiItemMenuF(layout, IFACE_(N_("Input")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
-               uiItemMenuF(layout, IFACE_(N_("Output")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
-               uiItemMenuF(layout, IFACE_(N_("Color")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
-               uiItemMenuF(layout, IFACE_(N_("Vector")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
-               uiItemMenuF(layout, IFACE_(N_("Filter")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_FILTER));
-               uiItemMenuF(layout, IFACE_(N_("Convertor")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
-               uiItemMenuF(layout, IFACE_(N_("Matte")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_MATTE));
-               uiItemMenuF(layout, IFACE_(N_("Distort")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
-               uiItemMenuF(layout, IFACE_(N_("Group")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
-               uiItemMenuF(layout, IFACE_(N_("Layout")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_LAYOUT));
+               uiItemMenuF(layout, IFACE_("Input"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
+               uiItemMenuF(layout, IFACE_("Output"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
+               uiItemMenuF(layout, IFACE_("Color"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
+               uiItemMenuF(layout, IFACE_("Vector"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
+               uiItemMenuF(layout, IFACE_("Filter"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_FILTER));
+               uiItemMenuF(layout, IFACE_("Convertor"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
+               uiItemMenuF(layout, IFACE_("Matte"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_MATTE));
+               uiItemMenuF(layout, IFACE_("Distort"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
+               uiItemMenuF(layout, IFACE_("Group"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
+               uiItemMenuF(layout, IFACE_("Layout"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_LAYOUT));
        }
        else if(snode->treetype==NTREE_TEXTURE) {
-               uiItemMenuF(layout, IFACE_(N_("Input")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
-               uiItemMenuF(layout, IFACE_(N_("Output")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
-               uiItemMenuF(layout, IFACE_(N_("Color")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
-               uiItemMenuF(layout, IFACE_(N_("Patterns")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_PATTERN));
-               uiItemMenuF(layout, IFACE_(N_("Textures")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE));
-               uiItemMenuF(layout, IFACE_(N_("Convertor")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
-               uiItemMenuF(layout, IFACE_(N_("Distort")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
-               uiItemMenuF(layout, IFACE_(N_("Group")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
-               uiItemMenuF(layout, IFACE_(N_("Layout")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_LAYOUT));
+               uiItemMenuF(layout, IFACE_("Input"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
+               uiItemMenuF(layout, IFACE_("Output"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
+               uiItemMenuF(layout, IFACE_("Color"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
+               uiItemMenuF(layout, IFACE_("Patterns"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_PATTERN));
+               uiItemMenuF(layout, IFACE_("Textures"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE));
+               uiItemMenuF(layout, IFACE_("Convertor"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
+               uiItemMenuF(layout, IFACE_("Distort"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
+               uiItemMenuF(layout, IFACE_("Group"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
+               uiItemMenuF(layout, IFACE_("Layout"), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_LAYOUT));
        }
 }
-#undef IFACE_
 
 void node_menus_register(void)
 {
index fd27dc6..55f4965 100644 (file)
@@ -275,22 +275,16 @@ static int modeselect_addmode(char *str, const char *title, int id, int icon)
 {
        static char formatstr[] = "|%s %%x%d %%i%d";
 
-       if(UI_translate_iface())
-               return sprintf(str, formatstr, BLF_gettext(title), id, icon);
-       else
-               return sprintf(str, formatstr, title, id, icon);
+       return sprintf(str, formatstr, IFACE_(title), id, icon);
 }
 
 static char *view3d_modeselect_pup(Scene *scene)
 {
        Object *ob= OBACT;
        static char string[256];
-       const char *title= N_("Mode: %t");
+       const char *title= IFACE_("Mode: %t");
        char *str = string;
 
-       if(U.transopts&USER_TR_IFACE)
-               title= BLF_gettext(title);
-
        BLI_strncpy(str, title, sizeof(string));
 
        str += modeselect_addmode(str, N_("Object Mode"), OB_MODE_OBJECT, ICON_OBJECT_DATA);
@@ -470,7 +464,6 @@ void uiTemplateEditModeSelection(uiLayout *layout, struct bContext *C)
        }
 }
 
-#define TIP_(msgid) UI_translate_do_tooltip(msgid)
 void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
 {
        bScreen *screen= CTX_wm_screen(C);
@@ -504,7 +497,7 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
 
        uiBlockBeginAlign(block);
        uiDefIconTextButS(block, MENU, B_MODESELECT, object_mode_icon(v3d->modeselect), view3d_modeselect_pup(scene) , 
-                         0,0,126 * dpi_fac, UI_UNIT_Y, &(v3d->modeselect), 0, 0, 0, 0, TIP_(N_("Mode")));
+                         0,0,126 * dpi_fac, UI_UNIT_Y, &(v3d->modeselect), 0, 0, 0, 0, TIP_("Mode"));
        uiBlockEndAlign(block);
        
        /* Draw type */
@@ -543,11 +536,11 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
                block= uiLayoutGetBlock(row);
                
                if(v3d->twflag & V3D_USE_MANIPULATOR) {
-                       but= uiDefIconButBitC(block, TOG, V3D_MANIP_TRANSLATE, B_MAN_TRANS, ICON_MAN_TRANS, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_(N_("Translate manipulator mode")));
+                       but= uiDefIconButBitC(block, TOG, V3D_MANIP_TRANSLATE, B_MAN_TRANS, ICON_MAN_TRANS, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_("Translate manipulator mode"));
                        uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
-                       but= uiDefIconButBitC(block, TOG, V3D_MANIP_ROTATE, B_MAN_ROT, ICON_MAN_ROT, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_(N_("Rotate manipulator mode")));
+                       but= uiDefIconButBitC(block, TOG, V3D_MANIP_ROTATE, B_MAN_ROT, ICON_MAN_ROT, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_("Rotate manipulator mode"));
                        uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
-                       but= uiDefIconButBitC(block, TOG, V3D_MANIP_SCALE, B_MAN_SCALE, ICON_MAN_SCALE, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_(N_("Scale manipulator mode")));
+                       but= uiDefIconButBitC(block, TOG, V3D_MANIP_SCALE, B_MAN_SCALE, ICON_MAN_SCALE, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, TIP_("Scale manipulator mode"));
                        uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
                }
                        
@@ -555,8 +548,8 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
                        v3d->twmode = 0;
                }
                        
-               str_menu = BIF_menustringTransformOrientation(C, N_("Orientation"));
-               but= uiDefButC(block, MENU, B_MAN_MODE, str_menu,0,0,70 * dpi_fac, UI_UNIT_Y, &v3d->twmode, 0, 0, 0, 0, TIP_(N_("Transform Orientation")));
+               str_menu = BIF_menustringTransformOrientation(C, "Orientation");
+               but= uiDefButC(block, MENU, B_MAN_MODE, str_menu,0,0,70 * dpi_fac, UI_UNIT_Y, &v3d->twmode, 0, 0, 0, 0, TIP_("Transform Orientation"));
                uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
                MEM_freeN((void *)str_menu);
        }
@@ -576,4 +569,3 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
        
        uiTemplateEditModeSelection(layout, C);
 }
-#undef TIP_
index ddea89e..5805872 100644 (file)
@@ -82,7 +82,7 @@ static void view3d_panel_operator_redo_header(const bContext *C, Panel *pa)
        wmOperator *op= WM_operator_last_redo(C);
 
        if(op) BLI_strncpy(pa->drawname, op->type->name, sizeof(pa->drawname));
-       else BLI_strncpy(pa->drawname, N_("Operator"), sizeof(pa->drawname));
+       else BLI_strncpy(pa->drawname, IFACE_("Operator"), sizeof(pa->drawname));
 }
 
 static void view3d_panel_operator_redo_operator(const bContext *C, Panel *pa, wmOperator *op)
index cd4cbc7..3a7fad2 100644 (file)
@@ -410,18 +410,15 @@ EnumPropertyItem *BIF_enumTransformOrientation(bContext *C)
 }
 
 const char * BIF_menustringTransformOrientation(const bContext *C, const char *title) {
-       const char* menu = N_("%t|Global%x0|Local%x1|Gimbal%x4|Normal%x2|View%x3");
+       const char* menu = IFACE_("%t|Global%x0|Local%x1|Gimbal%x4|Normal%x2|View%x3");
        ListBase *transform_spaces = &CTX_data_scene(C)->transform_spaces;
        TransformOrientation *ts;
        int i = V3D_MANIP_CUSTOM;
        char *str_menu, *p;
 
-       if(UI_translate_iface()) {
-               title= BLF_gettext(title);
-               menu= BLF_gettext(menu);
-       }
-       
-       str_menu = MEM_callocN(strlen(menu) + strlen(title) + 1 + 40 * BIF_countTransformOrientation(C), UI_translate_do_tooltip(N_("UserTransSpace from matrix")));
+       title = IFACE_(title);
+
+       str_menu = MEM_callocN(strlen(menu) + strlen(title) + 1 + 40 * BIF_countTransformOrientation(C), TIP_("UserTransSpace from matrix"));
        p = str_menu;
        
        p += sprintf(str_menu, "%s", title);
index 0c3ff10..d579d00 100644 (file)
@@ -2512,36 +2512,36 @@ static void rna_def_userdef_system(BlenderRNA *brna)
        /* if you edit here, please also edit the source/blender/blenfont/intern/blf_lang.c 's locales */
        static EnumPropertyItem language_items[] = {
                {0, "", 0, "Nearly done", ""},
-               {0, "DEFAULT", 0, N_("Default (Default)"), ""},
-               {1, "ENGLISH", 0, N_("English (English)"), "en_US"},
-               {8, "FRENCH", 0, N_("French (Français)"), "fr_FR"},
-               {9, "SPANISH", 0, N_("Spanish (Español)"), "es_ES"},
-               {13, "SIMPLIFIED_CHINESE", 0, N_("Simplified Chinese (简体中文)"), "zh_CN"},
+               {0, "DEFAULT", 0, "Default (Default)", ""},
+               {1, "ENGLISH", 0, "English (English)", "en_US"},
+               {8, "FRENCH", 0, "French (Français)", "fr_FR"},
+               {9, "SPANISH", 0, "Spanish (Español)", "es_ES"},
+               {13, "SIMPLIFIED_CHINESE", 0, "Simplified Chinese (简体中文)", "zh_CN"},
                {0, "", 0, "In progress", ""},
-               {2, "JAPANESE", 0, N_("Japanese (日本語)"), "ja_JP"},
-               {3, "DUTCH", 0, N_("Dutch (Nederlandse taal)"), "nl_NL"},
-               {4, "ITALIAN", 0, N_("Italian (Italiano)"), "it_IT"},
-               {5, "GERMAN", 0, N_("German (Deutsch)"), "de_DE"},
-               {6, "FINNISH", 0, N_("Finnish (Suomi)"), "fi_FI"},
-               {7, "SWEDISH", 0, N_("Swedish (Svenska)"), "sv_SE"},
-               {10, "CATALAN", 0, N_("Catalan (Català)"), "ca_AD"},
-               {11, "CZECH", 0, N_("Czech (Český)"), "cs_CZ"},
-               {12, "BRAZILIAN_PORTUGUESE", 0, N_("Brazilian Portuguese (Português do Brasil)"), "pt_BR"},
-               {14, "TRADITIONAL_CHINESE", 0, N_("Traditional Chinese (繁體中文)"), "zh_TW"},
-               {15, "RUSSIAN", 0, N_("Russian (Русский)"), "ru_RU"},
-               {16, "CROATIAN", 0, N_("Croatian (Hrvatski)"), "hr_HR"},
-               {17, "SERBIAN", 0, N_("Serbian (Српском језику)"), "sr_RS"},
-               {18, "UKRAINIAN", 0, N_("Ukrainian (Український)"), "uk_UA"},
-               {19, "POLISH", 0, N_("Polish (Polski)"), "pl_PL"},
-               {20, "ROMANIAN", 0, N_("Romanian (Român)"), "ro_RO"},
+               {2, "JAPANESE", 0, "Japanese (日本語)", "ja_JP"},
+               {3, "DUTCH", 0, "Dutch (Nederlandse taal)", "nl_NL"},
+               {4, "ITALIAN", 0, "Italian (Italiano)", "it_IT"},
+               {5, "GERMAN", 0, "German (Deutsch)", "de_DE"},
+               {6, "FINNISH", 0, "Finnish (Suomi)", "fi_FI"},
+               {7, "SWEDISH", 0, "Swedish (Svenska)", "sv_SE"},
+               {10, "CATALAN", 0, "Catalan (Català)", "ca_AD"},
+               {11, "CZECH", 0, "Czech (Český)", "cs_CZ"},
+               {12, "BRAZILIAN_PORTUGUESE", 0, "Brazilian Portuguese (Português do Brasil)", "pt_BR"},
+               {14, "TRADITIONAL_CHINESE", 0, "Traditional Chinese (繁體中文)", "zh_TW"},
+               {15, "RUSSIAN", 0, "Russian (Русский)", "ru_RU"},
+               {16, "CROATIAN", 0, "Croatian (Hrvatski)", "hr_HR"},
+               {17, "SERBIAN", 0, "Serbian (Српском језику)", "sr_RS"},
+               {18, "UKRAINIAN", 0, "Ukrainian (Український)", "uk_UA"},
+               {19, "POLISH", 0, "Polish (Polski)", "pl_PL"},
+               {20, "ROMANIAN", 0, "Romanian (Român)", "ro_RO"},
                /* using the utf8 flipped form of Arabic (العربية) */
-               {21, "ARABIC", 0, N_("Arabic (ﺔﻴﺑﺮﻌﻟﺍ)"), "ar_EG"},
-               {22, "BULGARIAN", 0, N_("Bulgarian (Български)"), "bg_BG"},
-               {23, "GREEK", 0, N_("Greek (Ελληνικά)"), "el_GR"},
-               {24, "KOREAN", 0, N_("Korean (한국 언어)"), "ko_KR"},
-               /*{25, "NEPALI", 0, N_("Nepali (नेपाली)"), "ne_NP"},*/
+               {21, "ARABIC", 0, "Arabic (ﺔﻴﺑﺮﻌﻟﺍ)", "ar_EG"},
+               {22, "BULGARIAN", 0, "Bulgarian (Български)", "bg_BG"},
+               {23, "GREEK", 0, "Greek (Ελληνικά)", "el_GR"},
+               {24, "KOREAN", 0, "Korean (한국 언어)", "ko_KR"},
+               /*{25, "NEPALI", 0, "Nepali (नेपाली)", "ne_NP"},*/
                /* using the utf8 flipped form of Persian (فارسی) */
-               {26, "PERSIAN", 0, N_("Persian (ﯽﺳﺭﺎﻓ)"), "fa_PE"},
+               {26, "PERSIAN", 0, "Persian (ﯽﺳﺭﺎﻓ)", "fa_PE"},
                {0, NULL, 0, NULL, NULL}};
 
        srna= RNA_def_struct(brna, "UserPreferencesSystem", NULL);
index e52df8f..a630690 100644 (file)
@@ -1534,7 +1534,7 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb
                                param= _PyUnicode_AsString(value);
 #ifdef WITH_INTERNATIONAL
                                if (subtype == PROP_TRANSLATE) {
-                                       param= UI_translate_do_iface(param);
+                                       param= IFACE_(param);
                                }
 #endif // WITH_INTERNATIONAL
 
index bf5b60d..9b2d702 100644 (file)
@@ -437,17 +437,17 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports)
        else if(retval == BKE_READ_EXOTIC_OK_OTHER)
                BKE_write_undo(C, "Import file");
        else if(retval == BKE_READ_EXOTIC_FAIL_OPEN) {
-               BKE_reportf(reports, RPT_ERROR, UI_translate_do_iface(N_("Can't read file: \"%s\", %s.")), filepath,
-                               errno ? strerror(errno) : UI_translate_do_iface(N_("Unable to open the file")));
+               BKE_reportf(reports, RPT_ERROR, IFACE_("Can't read file: \"%s\", %s."), filepath,
+                               errno ? strerror(errno) : IFACE_("Unable to open the file"));
        }
        else if(retval == BKE_READ_EXOTIC_FAIL_FORMAT) {
-               BKE_reportf(reports, RPT_ERROR, UI_translate_do_iface(N_("File format is not supported in file: \"%s\".")), filepath);
+               BKE_reportf(reports, RPT_ERROR, IFACE_("File format is not supported in file: \"%s\"."), filepath);
        }
        else if(retval == BKE_READ_EXOTIC_FAIL_PATH) {
-               BKE_reportf(reports, RPT_ERROR, UI_translate_do_iface(N_("File path invalid: \"%s\".")), filepath);
+               BKE_reportf(reports, RPT_ERROR, IFACE_("File path invalid: \"%s\"."), filepath);
        }
        else {
-               BKE_reportf(reports, RPT_ERROR, UI_translate_do_iface(N_("Unknown error loading: \"%s\".")), filepath);
+               BKE_reportf(reports, RPT_ERROR, IFACE_("Unknown error loading: \"%s\"."), filepath);
                BLI_assert(!"invalid 'retval'");
        }
 
index 1face06..7a8d69e 100644 (file)
@@ -156,10 +156,10 @@ void WM_operatortype_append(void (*opfunc)(wmOperatorType*))
 
        if(ot->name==NULL) {
                fprintf(stderr, "ERROR: Operator %s has no name property!\n", ot->idname);
-               ot->name= UI_translate_do_iface(N_("Dummy Name"));
+               ot->name= IFACE_("Dummy Name");
        }
 
-       RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:UI_translate_do_iface(N_("(undocumented operator)"))); // XXX All ops should have a description but for now allow them not to.
+       RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:IFACE_("(undocumented operator)")); // XXX All ops should have a description but for now allow them not to.
        RNA_def_struct_identifier(ot->srna, ot->idname);
 
        BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
@@ -172,7 +172,7 @@ void WM_operatortype_append_ptr(void (*opfunc)(wmOperatorType*, void*), void *us
        ot= MEM_callocN(sizeof(wmOperatorType), "operatortype");
        ot->srna= RNA_def_struct(&BLENDER_RNA, "", "OperatorProperties");
        opfunc(ot, userdata);
-       RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:UI_translate_do_iface(N_("(undocumented operator)")));
+       RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:IFACE_("(undocumented operator)"));
        RNA_def_struct_identifier(ot->srna, ot->idname);
 
        BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
@@ -366,7 +366,7 @@ wmOperatorType *WM_operatortype_append_macro(const char *idname, const char *nam
        ot->poll= NULL;
 
        if(!ot->description)
-               ot->description= UI_translate_do_iface(N_("(undocumented operator)"));
+               ot->description= IFACE_("(undocumented operator)");
        
        RNA_def_struct_ui_text(ot->srna, ot->name, ot->description); // XXX All ops should have a description but for now allow them not to.
        RNA_def_struct_identifier(ot->srna, ot->idname);
@@ -391,7 +391,7 @@ void WM_operatortype_append_macro_ptr(void (*opfunc)(wmOperatorType*, void*), vo
        ot->poll= NULL;
 
        if(!ot->description)
-               ot->description= UI_translate_do_iface(N_("(undocumented operator)"));
+               ot->description= IFACE_("(undocumented operator)");
 
        opfunc(ot, userdata);
 
@@ -788,7 +788,7 @@ int WM_operator_confirm_message(bContext *C, wmOperator *op, const char *message
        else
                properties= NULL;
 
-       pup= uiPupMenuBegin(C, UI_translate_do_iface(N_("OK?")), ICON_QUESTION);
+       pup= uiPupMenuBegin(C, IFACE_("OK?"), ICON_QUESTION);
        layout= uiPupMenuLayout(pup);
        uiItemFullO(layout, op->type->idname, message, ICON_NONE, properties, WM_OP_EXEC_REGION_WIN, 0);
        uiPupMenuEnd(C, pup);
@@ -870,10 +870,10 @@ void WM_operator_properties_filesel(wmOperatorType *ot, int filter, short type,
 void WM_operator_properties_select_all(wmOperatorType *ot)
 {
        static EnumPropertyItem select_all_actions[] = {
-                       {SEL_TOGGLE, "TOGGLE", 0, N_("Toggle"), "Toggle selection for all elements"},
-                       {SEL_SELECT, "SELECT", 0, N_("Select"), "Select all elements"},
-                       {SEL_DESELECT, "DESELECT", 0, N_("Deselect"), "Deselect all elements"},
-                       {SEL_INVERT, "INVERT", 0, N_("Invert"), "Invert selection of all elements"},
+                       {SEL_TOGGLE, "TOGGLE", 0, "Toggle", "Toggle selection for all elements"},
+                       {SEL_SELECT, "SELECT", 0, "Select", "Select all elements"},
+                       {SEL_DESELECT, "DESELECT", 0, "Deselect", "Deselect all elements"},
+                       {SEL_INVERT, "INVERT", 0, "Invert", "Invert selection of all elements"},
                        {0, NULL, 0, NULL, NULL}
        };
 
@@ -882,25 +882,25 @@ void WM_operator_properties_select_all(wmOperatorType *ot)
 
 void WM_operator_properties_gesture_border(wmOperatorType *ot, int extend)
 {
-       RNA_def_int(ot->srna, "gesture_mode", 0, INT_MIN, INT_MAX, N_("Gesture Mode"), "", INT_MIN, INT_MAX);
-       RNA_def_int(ot->srna, "xmin", 0, INT_MIN, INT_MAX, N_("X Min"), "", INT_MIN, INT_MAX);
-       RNA_def_int(ot->srna, "xmax", 0, INT_MIN, INT_MAX, N_("X Max"), "", INT_MIN, INT_MAX);
-       RNA_def_int(ot->srna, "ymin", 0, INT_MIN, INT_MAX, N_("Y Min"), "", INT_MIN, INT_MAX);
-       RNA_def_int(ot->srna, "ymax", 0, INT_MIN, INT_MAX, N_("Y Max"), "", INT_MIN, INT_MAX);
+       RNA_def_int(ot->srna, "gesture_mode", 0, INT_MIN, INT_MAX, "Gesture Mode", "", INT_MIN, INT_MAX);
+       RNA_def_int(ot->srna, "xmin", 0, INT_MIN, INT_MAX, "X Min", "", INT_MIN, INT_MAX);
+       RNA_def_int(ot->srna, "xmax", 0, INT_MIN, INT_MAX, "X Max", "", INT_MIN, INT_MAX);
+       RNA_def_int(ot->srna, "ymin", 0, INT_MIN, INT_MAX, "Y Min", "", INT_MIN, INT_MAX);
+       RNA_def_int(ot->srna, "ymax", 0, INT_MIN, INT_MAX, "Y Max", "", INT_MIN, INT_MAX);
 
        if(extend)
-               RNA_def_boolean(ot->srna, "extend", 1, _("Extend"), _("Extend selection instead of deselecting everything first"));
+               RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first");
 }
 
 void WM_operator_properties_gesture_straightline(wmOperatorType *ot, int cursor)
 {
-       RNA_def_int(ot->srna, "xstart", 0, INT_MIN, INT_MAX, N_("X Start"), "", INT_MIN, INT_MAX);
-       RNA_def_int(ot->srna, "xend", 0, INT_MIN, INT_MAX, N_("X End"), "", INT_MIN, INT_MAX);
-       RNA_def_int(ot->srna, "ystart", 0, INT_MIN, INT_MAX, N_("Y Start"), "", INT_MIN, INT_MAX);
-       RNA_def_int(ot->srna, "yend", 0, INT_MIN, INT_MAX, N_("Y End"), "", INT_MIN, INT_MAX);
+       RNA_def_int(ot->srna, "xstart", 0, INT_MIN, INT_MAX, "X Start", "", INT_MIN, INT_MAX);
+       RNA_def_int(ot->srna, "xend", 0, INT_MIN, INT_MAX, "X End", "", INT_MIN, INT_MAX);
+       RNA_def_int(ot->srna, "ystart", 0, INT_MIN, INT_MAX, "Y Start", "", INT_MIN, INT_MAX);
+       RNA_def_int(ot->srna, "yend", 0, INT_MIN, INT_MAX, "Y End", "", INT_MIN, INT_MAX);
        
        if(cursor)
-               RNA_def_int(ot->srna, "cursor", cursor, 0, INT_MAX, N_("Cursor"), N_("Mouse cursor style to use during the modal operator"), 0, INT_MAX);
+               RNA_def_int(ot->srna, "cursor", cursor, 0, INT_MAX, "Cursor", "Mouse cursor style to use during the modal operator", 0, INT_MAX);
 }
 
 
@@ -1031,7 +1031,7 @@ static uiBlock *wm_block_dialog_create(bContext *C, ARegion *ar, void *userData)
                col= uiLayoutColumn(layout, FALSE);
                col_block= uiLayoutGetBlock(col);
                /* Create OK button, the callback of which will execute op */
-               btn= uiDefBut(col_block, BUT, 0, UI_translate_do_iface(N_("OK")), 0, -30, 0, UI_UNIT_Y, NULL, 0, 0, 0, 0, "");
+               btn= uiDefBut(col_block, BUT, 0, IFACE_("OK"), 0, -30, 0, UI_UNIT_Y, NULL, 0, 0, 0, 0, "");
                uiButSetFunc(btn, dialog_exec_cb, data, col_block);
        }
 
@@ -1282,19 +1282,19 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
        split = uiLayoutSplit(layout, 0, 0);
        col = uiLayoutColumn(split, 0);
        uiItemL(col, "Links", ICON_NONE);
-       uiItemStringO(col, UI_translate_do_iface(N_("Donations")), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/blenderorg/blender-foundation/donation-payment");
-       uiItemStringO(col, UI_translate_do_iface(N_("Credits")), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/credits");
-       uiItemStringO(col, UI_translate_do_iface(N_("Release Log")), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-260");
-       uiItemStringO(col, UI_translate_do_iface(N_("Manual")), ICON_URL, "WM_OT_url_open", "url", "http://wiki.blender.org/index.php/Doc:2.5/Manual");
-       uiItemStringO(col, UI_translate_do_iface(N_("Blender Website")), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org");
-       uiItemStringO(col, UI_translate_do_iface(N_("User Community")), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/community/user-community");
+       uiItemStringO(col, IFACE_("Donations"), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/blenderorg/blender-foundation/donation-payment");
+       uiItemStringO(col, IFACE_("Credits"), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/credits");
+       uiItemStringO(col, IFACE_("Release Log"), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-260");
+       uiItemStringO(col, IFACE_("Manual"), ICON_URL, "WM_OT_url_open", "url", "http://wiki.blender.org/index.php/Doc:2.5/Manual");
+       uiItemStringO(col, IFACE_("Blender Website"), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org");
+       uiItemStringO(col, IFACE_("User Community"), ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/community/user-community");
        if(strcmp(STRINGIFY(BLENDER_VERSION_CYCLE), "release")==0) {
                BLI_snprintf(url, sizeof(url), "http://www.blender.org/documentation/blender_python_api_%d_%d" STRINGIFY(BLENDER_VERSION_CHAR) "_release", BLENDER_VERSION/100, BLENDER_VERSION%100);
        }
        else {
                BLI_snprintf(url, sizeof(url), "http://www.blender.org/documentation/blender_python_api_%d_%d_%d", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION);
        }
-       uiItemStringO(col, UI_translate_do_iface(N_("Python API Reference")), ICON_URL, "WM_OT_url_open", "url", url);
+       uiItemStringO(col, IFACE_("Python API Reference"), ICON_URL, "WM_OT_url_open", "url", url);
        uiItemL(col, "", ICON_NONE);
 
        col = uiLayoutColumn(split, 0);
@@ -1304,7 +1304,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
                uiItemS(col);
        }
 
-       uiItemL(col, UI_translate_do_iface(N_("Recent")), ICON_NONE);
+       uiItemL(col, IFACE_("Recent"), ICON_NONE);
        for(recent = G.recent_files.first, i=0; (i<5) && (recent); recent = recent->next, i++) {
                uiItemStringO(col, BLI_path_basename(recent->filepath), ICON_FILE_BLEND, "WM_OT_open_mainfile", "filepath", recent->filepath);
        }
@@ -3319,13 +3319,13 @@ static void redraw_timer_window_swap(bContext *C)
 }
 
 static EnumPropertyItem redraw_timer_type_items[] = {
-       {0, "DRAW", 0, N_("Draw Region"), N_("Draw Region")},
-       {1, "DRAW_SWAP", 0, N_("Draw Region + Swap"), N_("Draw Region and Swap")},
-       {2, "DRAW_WIN", 0, N_("Draw Window"), N_("Draw Window")},
-       {3, "DRAW_WIN_SWAP", 0, N_("Draw Window + Swap"), N_("Draw Window and Swap")},
-       {4, "ANIM_STEP", 0, N_("Anim Step"), N_("Animation Steps")},
-       {5, "ANIM_PLAY", 0, N_("Anim Play"), N_("Animation Playback")},
-       {6, "UNDO", 0, N_("Undo/Redo"), N_("Undo/Redo")},
+       {0, "DRAW", 0, "Draw Region", "Draw Region"},
+       {1, "DRAW_SWAP", 0, "Draw Region + Swap", "Draw Region and Swap"},
+       {2, "DRAW_WIN", 0, "Draw Window", "Draw Window"},
+       {3, "DRAW_WIN_SWAP", 0, "Draw Window + Swap", "Draw Window and Swap"},
+       {4, "ANIM_STEP", 0, "Anim Step", "Animation Steps"},
+       {5, "ANIM_PLAY", 0, "Anim Play", "Animation Playback"},
+       {6, "UNDO", 0, "Undo/Redo", "Undo/Redo"},
        {0, NULL, 0, NULL, NULL}};
 
 static int redraw_timer_exec(bContext *C, wmOperator *op)
@@ -3635,14 +3635,14 @@ void wm_operatortype_init(void)
 static void gesture_circle_modal_keymap(wmKeyConfig *keyconf)
 {
        static EnumPropertyItem modal_items[] = {
-       {GESTURE_MODAL_CANCEL,  "CANCEL", 0, N_("Cancel"), ""},
-       {GESTURE_MODAL_CONFIRM, "CONFIRM", 0, N_("Confirm"), ""},
-       {GESTURE_MODAL_CIRCLE_ADD, "ADD", 0, N_("Add"), ""},
-       {GESTURE_MODAL_CIRCLE_SUB, "SUBTRACT", 0, N_("Subtract"), ""},
+       {GESTURE_MODAL_CANCEL,  "CANCEL", 0, "Cancel", ""},
+       {GESTURE_MODAL_CONFIRM, "CONFIRM", 0, "Confirm", ""},
+       {GESTURE_MODAL_CIRCLE_ADD, "ADD", 0, "Add", ""},
+       {GESTURE_MODAL_CIRCLE_SUB, "SUBTRACT", 0, "Subtract", ""},
 
-       {GESTURE_MODAL_SELECT,  "SELECT", 0, N_("Select"), ""},
-       {GESTURE_MODAL_DESELECT,"DESELECT", 0, N_("DeSelect"), ""},
-       {GESTURE_MODAL_NOP,"NOP", 0, N_("No Operation"), ""},
+       {GESTURE_MODAL_SELECT,  "SELECT", 0, "Select", ""},
+       {GESTURE_MODAL_DESELECT,"DESELECT", 0, "DeSelect", ""},
+       {GESTURE_MODAL_NOP,"NOP", 0, "No Operation", ""},
 
 
        {0, NULL, 0, NULL, NULL}};
@@ -3688,9 +3688,9 @@ static void gesture_circle_modal_keymap(wmKeyConfig *keyconf)
 static void gesture_straightline_modal_keymap(wmKeyConfig *keyconf)
 {
        static EnumPropertyItem modal_items[] = {
-               {GESTURE_MODAL_CANCEL,  "CANCEL", 0, N_("Cancel"), ""},
-               {GESTURE_MODAL_SELECT,  "SELECT", 0, N_("Select"), ""},
-               {GESTURE_MODAL_BEGIN,   "BEGIN", 0, N_("Begin"), ""},
+               {GESTURE_MODAL_CANCEL,  "CANCEL", 0, "Cancel", ""},
+               {GESTURE_MODAL_SELECT,  "SELECT", 0, "Select", ""},
+               {GESTURE_MODAL_BEGIN,   "BEGIN", 0, "Begin", ""},
                {0, NULL, 0, NULL, NULL}};
        
        wmKeyMap *keymap= WM_modalkeymap_get(keyconf, "Gesture Straight Line");
@@ -3716,10 +3716,10 @@ static void gesture_straightline_modal_keymap(wmKeyConfig *keyconf)
 static void gesture_border_modal_keymap(wmKeyConfig *keyconf)
 {
        static EnumPropertyItem modal_items[] = {
-       {GESTURE_MODAL_CANCEL,  "CANCEL", 0, N_("Cancel"), ""},
-       {GESTURE_MODAL_SELECT,  "SELECT", 0, N_("Select"), ""},
-       {GESTURE_MODAL_DESELECT,"DESELECT", 0, N_("DeSelect"), ""},
-       {GESTURE_MODAL_BEGIN,   "BEGIN", 0, N_("Begin"), ""},
+       {GESTURE_MODAL_CANCEL,  "CANCEL", 0, "Cancel", ""},
+       {GESTURE_MODAL_SELECT,  "SELECT", 0, "Select", ""},
+       {GESTURE_MODAL_DESELECT,"DESELECT", 0, "DeSelect", ""},
+       {GESTURE_MODAL_BEGIN,   "BEGIN", 0, "Begin", ""},
        {0, NULL, 0, NULL, NULL}};
 
        wmKeyMap *keymap= WM_modalkeymap_get(keyconf, "Gesture Border");
@@ -3771,10 +3771,10 @@ static void gesture_border_modal_keymap(wmKeyConfig *keyconf)
 static void gesture_zoom_border_modal_keymap(wmKeyConfig *keyconf)
 {
        static EnumPropertyItem modal_items[] = {
-       {GESTURE_MODAL_CANCEL, "CANCEL", 0, N_("Cancel"), ""},
-       {GESTURE_MODAL_IN,      "IN", 0, N_("In"), ""},
-       {GESTURE_MODAL_OUT, "OUT", 0, N_("Out"), ""},
-       {GESTURE_MODAL_BEGIN, "BEGIN", 0, N_("Begin"), ""},
+       {GESTURE_MODAL_CANCEL, "CANCEL", 0, "Cancel", ""},
+       {GESTURE_MODAL_IN,      "IN", 0, "In", ""},
+       {GESTURE_MODAL_OUT, "OUT", 0, "Out", ""},
+       {GESTURE_MODAL_BEGIN, "BEGIN", 0, "Begin", ""},
        {0, NULL, 0, NULL, NULL}};
 
        wmKeyMap *keymap= WM_modalkeymap_get(keyconf, "Gesture Zoom Border");
index 405960d..38ff02b 100644 (file)
@@ -506,11 +506,11 @@ void WM_window_open_temp(bContext *C, rcti *position, int type)
        ED_screen_set(C, win->screen);
        
        if(sa->spacetype==SPACE_IMAGE)
-               GHOST_SetTitle(win->ghostwin, UI_translate_do_iface(N_("Blender Render")));
+               GHOST_SetTitle(win->ghostwin, IFACE_("Blender Render"));
        else if(ELEM(sa->spacetype, SPACE_OUTLINER, SPACE_USERPREF))
-               GHOST_SetTitle(win->ghostwin, UI_translate_do_iface(N_("Blender User Preferences")));
+               GHOST_SetTitle(win->ghostwin, IFACE_("Blender User Preferences"));
        else if(sa->spacetype==SPACE_FILE)
-               GHOST_SetTitle(win->ghostwin, UI_translate_do_iface(N_("Blender File View")));
+               GHOST_SetTitle(win->ghostwin, IFACE_("Blender File View"));
        else
                GHOST_SetTitle(win->ghostwin, "Blender");
 }