I18n: disambiguate a few translations
- Keying (keyframe insertion) - Roughness (particle children) - New image, collection, text (in menus) - Parents (particles) - Wrap (text) - Light (add menu) - Empty (volume add menu) - Empty (empty add menu) - Cycles (f-curve modifier) - Drag (workspace tool type) - Power (light intensity) - Power (math nodes) This last change also moves all math operations in nodes to the ID_nodetree context. It's needed only for some operations, but we can't be more granular here. Also... - Fix context extraction for interpolation mode headers in F-Curves and GPencil interpolation operator - Enable new translation: "Slot %d" in image editor - Fix an English message in the node editor: "Replace the input image's alpha channels by..." -> channel Ref. T43295 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15694
This commit is contained in:
parent
c973d333da
commit
ee985fa925
@ -1654,6 +1654,7 @@ class PARTICLE_PT_children_clumping_noise(ParticleButtonsPanel, Panel):
|
||||
|
||||
class PARTICLE_PT_children_roughness(ParticleButtonsPanel, Panel):
|
||||
bl_label = "Roughness"
|
||||
bl_translation_context = i18n_contexts.id_particlesettings
|
||||
bl_parent_id = "PARTICLE_PT_children"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'}
|
||||
@ -1676,7 +1677,7 @@ class PARTICLE_PT_children_roughness(ParticleButtonsPanel, Panel):
|
||||
if part.use_roughness_curve:
|
||||
sub = col.column()
|
||||
sub.template_curve_mapping(part, "roughness_curve")
|
||||
sub.prop(part, "roughness_1", text="Roughness")
|
||||
sub.prop(part, "roughness_1", text=iface_("Roughness", i18n_contexts.id_particlesettings))
|
||||
sub.prop(part, "roughness_1_size", text="Size")
|
||||
else:
|
||||
sub = col.column(align=True)
|
||||
|
@ -29,8 +29,10 @@ from bl_ui.space_toolsystem_common import (
|
||||
ToolActivePanelHelper,
|
||||
)
|
||||
|
||||
from bpy.app.translations import pgettext_iface as iface_
|
||||
|
||||
from bpy.app.translations import (
|
||||
contexts as i18n_contexts,
|
||||
pgettext_iface as iface_,
|
||||
)
|
||||
|
||||
class ImagePaintPanel:
|
||||
bl_space_type = 'IMAGE_EDITOR'
|
||||
@ -187,7 +189,8 @@ class IMAGE_MT_image(Menu):
|
||||
ima = sima.image
|
||||
show_render = sima.show_render
|
||||
|
||||
layout.operator("image.new", text="New")
|
||||
layout.operator("image.new", text="New",
|
||||
text_ctxt=i18n_contexts.id_image)
|
||||
layout.operator("image.open", text="Open...", icon='FILE_FOLDER')
|
||||
|
||||
layout.operator("image.read_viewlayers")
|
||||
|
@ -2,6 +2,10 @@
|
||||
import bpy
|
||||
from bpy.types import Header, Menu, Panel
|
||||
|
||||
from bpy.app.translations import (
|
||||
contexts as i18n_contexts,
|
||||
pgettext_iface as iface_,
|
||||
)
|
||||
|
||||
class OUTLINER_HT_header(Header):
|
||||
bl_space_type = 'OUTLINER'
|
||||
@ -211,7 +215,8 @@ class OUTLINER_MT_collection(Menu):
|
||||
|
||||
space = context.space_data
|
||||
|
||||
layout.operator("outliner.collection_new", text="New").nested = True
|
||||
layout.operator("outliner.collection_new", text="New",
|
||||
text_ctxt=i18n_contexts.id_collection).nested = True
|
||||
layout.operator("outliner.collection_duplicate", text="Duplicate Collection")
|
||||
layout.operator("outliner.collection_duplicate_linked", text="Duplicate Linked")
|
||||
layout.operator("outliner.id_copy", text="Copy", icon='COPYDOWN')
|
||||
|
@ -1,7 +1,10 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
import bpy
|
||||
from bpy.types import Header, Menu, Panel
|
||||
from bpy.app.translations import pgettext_iface as iface_
|
||||
from bpy.app.translations import (
|
||||
contexts as i18n_contexts,
|
||||
pgettext_iface as iface_,
|
||||
)
|
||||
|
||||
|
||||
class TEXT_HT_header(Header):
|
||||
@ -168,7 +171,8 @@ class TEXT_PT_find(Panel):
|
||||
if not st.text:
|
||||
row.active = False
|
||||
row.prop(st, "use_match_case", text="Case", toggle=True)
|
||||
row.prop(st, "use_find_wrap", text="Wrap", toggle=True)
|
||||
row.prop(st, "use_find_wrap", text="Wrap",
|
||||
text_ctxt=i18n_contexts.id_text, toggle=True)
|
||||
row.prop(st, "use_find_all", text="All", toggle=True)
|
||||
|
||||
|
||||
@ -234,7 +238,8 @@ class TEXT_MT_text(Menu):
|
||||
st = context.space_data
|
||||
text = st.text
|
||||
|
||||
layout.operator("text.new", text="New", icon='FILE_NEW')
|
||||
layout.operator("text.new", text="New",
|
||||
text_ctxt=i18n_contexts.id_text, icon='FILE_NEW')
|
||||
layout.operator("text.open", text="Open...", icon='FILE_FOLDER')
|
||||
|
||||
if text:
|
||||
|
@ -1,6 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
import bpy
|
||||
from bpy.types import Menu, Panel
|
||||
from bpy.app.translations import contexts as i18n_contexts
|
||||
|
||||
|
||||
# Header buttons for timeline header (play, etc.)
|
||||
@ -87,6 +88,7 @@ class TIME_MT_editor_menus(Menu):
|
||||
sub.popover(
|
||||
panel="TIME_PT_keyframing_settings",
|
||||
text="Keying",
|
||||
text_ctxt=i18n_contexts.id_windowmanager,
|
||||
)
|
||||
|
||||
# Add a separator to keep the popover button from aligning with the menu button.
|
||||
|
@ -2212,6 +2212,7 @@ class VIEW3D_MT_armature_add(Menu):
|
||||
|
||||
class VIEW3D_MT_light_add(Menu):
|
||||
bl_idname = "VIEW3D_MT_light_add"
|
||||
bl_context = i18n_contexts.id_light
|
||||
bl_label = "Light"
|
||||
|
||||
def draw(self, _context):
|
||||
@ -2249,7 +2250,9 @@ class VIEW3D_MT_volume_add(Menu):
|
||||
def draw(self, _context):
|
||||
layout = self.layout
|
||||
layout.operator("object.volume_import", text="Import OpenVDB...", icon='OUTLINER_DATA_VOLUME')
|
||||
layout.operator("object.volume_add", text="Empty", icon='OUTLINER_DATA_VOLUME')
|
||||
layout.operator("object.volume_add", text="Empty",
|
||||
text_ctxt=i18n_contexts.id_volume,
|
||||
icon='OUTLINER_DATA_VOLUME')
|
||||
|
||||
|
||||
class VIEW3D_MT_add(Menu):
|
||||
@ -2290,7 +2293,9 @@ class VIEW3D_MT_add(Menu):
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator_menu_enum("object.empty_add", "type", text="Empty", icon='OUTLINER_OB_EMPTY')
|
||||
layout.operator_menu_enum("object.empty_add", "type", text="Empty",
|
||||
text_ctxt=i18n_contexts.id_id,
|
||||
icon='OUTLINER_OB_EMPTY')
|
||||
layout.menu("VIEW3D_MT_image_add", text="Image", icon='OUTLINER_OB_IMAGE')
|
||||
|
||||
layout.separator()
|
||||
|
@ -768,19 +768,19 @@ static void fcm_cycles_evaluate(FCurve *UNUSED(fcu),
|
||||
}
|
||||
|
||||
static FModifierTypeInfo FMI_CYCLES = {
|
||||
FMODIFIER_TYPE_CYCLES, /* type */
|
||||
sizeof(FMod_Cycles), /* size */
|
||||
FMI_TYPE_EXTRAPOLATION, /* action type */
|
||||
FMI_REQUIRES_ORIGINAL_DATA, /* requirements */
|
||||
N_("Cycles"), /* name */
|
||||
"FMod_Cycles", /* struct name */
|
||||
sizeof(tFCMED_Cycles), /* storage size */
|
||||
NULL, /* free data */
|
||||
NULL, /* copy data */
|
||||
fcm_cycles_new_data, /* new data */
|
||||
NULL /*fcm_cycles_verify*/, /* verify */
|
||||
fcm_cycles_time, /* evaluate time */
|
||||
fcm_cycles_evaluate, /* evaluate */
|
||||
FMODIFIER_TYPE_CYCLES, /* type */
|
||||
sizeof(FMod_Cycles), /* size */
|
||||
FMI_TYPE_EXTRAPOLATION, /* action type */
|
||||
FMI_REQUIRES_ORIGINAL_DATA, /* requirements */
|
||||
CTX_N_(BLT_I18NCONTEXT_ID_ACTION, "Cycles"), /* name */
|
||||
"FMod_Cycles", /* struct name */
|
||||
sizeof(tFCMED_Cycles), /* storage size */
|
||||
NULL, /* free data */
|
||||
NULL, /* copy data */
|
||||
fcm_cycles_new_data, /* new data */
|
||||
NULL /*fcm_cycles_verify*/, /* verify */
|
||||
fcm_cycles_time, /* evaluate time */
|
||||
fcm_cycles_evaluate, /* evaluate */
|
||||
};
|
||||
|
||||
/* Noise F-Curve Modifier --------------------------- */
|
||||
|
@ -5428,7 +5428,7 @@ RenderSlot *BKE_image_add_renderslot(Image *ima, const char *name)
|
||||
}
|
||||
else {
|
||||
int n = BLI_listbase_count(&ima->renderslots) + 1;
|
||||
BLI_snprintf(slot->name, sizeof(slot->name), "Slot %d", n);
|
||||
BLI_snprintf(slot->name, sizeof(slot->name), DATA_("Slot %d"), n);
|
||||
}
|
||||
BLI_addtail(&ima->renderslots, slot);
|
||||
return slot;
|
||||
|
@ -1483,7 +1483,8 @@ void GPENCIL_OT_interpolate_sequence(wmOperatorType *ot)
|
||||
*/
|
||||
static const EnumPropertyItem gpencil_interpolation_type_items[] = {
|
||||
/* Interpolation. */
|
||||
RNA_ENUM_ITEM_HEADING(N_("Interpolation"), "Standard transitions between keyframes"),
|
||||
RNA_ENUM_ITEM_HEADING(CTX_N_(BLT_I18NCONTEXT_ID_GPENCIL, "Interpolation"),
|
||||
"Standard transitions between keyframes"),
|
||||
{GP_IPO_LINEAR,
|
||||
"LINEAR",
|
||||
ICON_IPO_LINEAR,
|
||||
@ -1496,7 +1497,8 @@ void GPENCIL_OT_interpolate_sequence(wmOperatorType *ot)
|
||||
"Custom interpolation defined using a curve map"},
|
||||
|
||||
/* Easing. */
|
||||
RNA_ENUM_ITEM_HEADING(N_("Easing (by strength)"),
|
||||
RNA_ENUM_ITEM_HEADING(CTX_N_(BLT_I18NCONTEXT_ID_GPENCIL,
|
||||
"Easing (by strength)"),
|
||||
"Predefined inertial transitions, useful for motion graphics "
|
||||
"(from least to most \"dramatic\")"),
|
||||
{GP_IPO_SINE,
|
||||
@ -1515,7 +1517,8 @@ void GPENCIL_OT_interpolate_sequence(wmOperatorType *ot)
|
||||
"Circular",
|
||||
"Circular easing (strongest and most dynamic)"},
|
||||
|
||||
RNA_ENUM_ITEM_HEADING(N_("Dynamic Effects"), "Simple physics-inspired easing effects"),
|
||||
RNA_ENUM_ITEM_HEADING(CTX_N_(BLT_I18NCONTEXT_ID_GPENCIL, "Dynamic Effects"),
|
||||
"Simple physics-inspired easing effects"),
|
||||
{GP_IPO_BACK, "BACK", ICON_IPO_BACK, "Back", "Cubic easing with overshoot and settle"},
|
||||
{GP_IPO_BOUNCE,
|
||||
"BOUNCE",
|
||||
|
@ -12,6 +12,8 @@
|
||||
#include "BLI_listbase.h"
|
||||
#include "BLI_math.h"
|
||||
|
||||
#include "BLT_translation.h"
|
||||
|
||||
#include "BKE_context.h"
|
||||
#include "BKE_customdata.h"
|
||||
#include "BKE_deform.h"
|
||||
|
@ -67,7 +67,8 @@ const EnumPropertyItem rna_enum_keyframe_handle_type_items[] = {
|
||||
*/
|
||||
const EnumPropertyItem rna_enum_beztriple_interpolation_mode_items[] = {
|
||||
/* Interpolation. */
|
||||
RNA_ENUM_ITEM_HEADING(N_("Interpolation"), "Standard transitions between keyframes"),
|
||||
RNA_ENUM_ITEM_HEADING(CTX_N_(BLT_I18NCONTEXT_ID_ACTION, "Interpolation"),
|
||||
"Standard transitions between keyframes"),
|
||||
{BEZT_IPO_CONST,
|
||||
"CONSTANT",
|
||||
ICON_IPO_CONSTANT,
|
||||
@ -85,7 +86,8 @@ const EnumPropertyItem rna_enum_beztriple_interpolation_mode_items[] = {
|
||||
"Smooth interpolation between A and B, with some control over curve shape"},
|
||||
|
||||
/* Easing. */
|
||||
RNA_ENUM_ITEM_HEADING(N_("Easing (by strength)"),
|
||||
RNA_ENUM_ITEM_HEADING(CTX_N_(BLT_I18NCONTEXT_ID_ACTION,
|
||||
"Easing (by strength)"),
|
||||
"Predefined inertial transitions, useful for motion graphics "
|
||||
"(from least to most \"dramatic\")"),
|
||||
{BEZT_IPO_SINE,
|
||||
@ -104,7 +106,8 @@ const EnumPropertyItem rna_enum_beztriple_interpolation_mode_items[] = {
|
||||
"Circular",
|
||||
"Circular easing (strongest and most dynamic)"},
|
||||
|
||||
RNA_ENUM_ITEM_HEADING(N_("Dynamic Effects"), "Simple physics-inspired easing effects"),
|
||||
RNA_ENUM_ITEM_HEADING(CTX_N_(BLT_I18NCONTEXT_ID_ACTION, "Dynamic Effects"),
|
||||
"Simple physics-inspired easing effects"),
|
||||
{BEZT_IPO_BACK, "BACK", ICON_IPO_BACK, "Back", "Cubic easing with overshoot and settle"},
|
||||
{BEZT_IPO_BOUNCE,
|
||||
"BOUNCE",
|
||||
|
@ -212,6 +212,7 @@ static void rna_def_light_energy(StructRNA *srna, const short light_type)
|
||||
"Power",
|
||||
"The energy this light would emit over its entire area "
|
||||
"if it wasn't limited by the spot angle");
|
||||
RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_LIGHT);
|
||||
RNA_def_property_update(prop, 0, "rna_Light_draw_update");
|
||||
break;
|
||||
}
|
||||
@ -224,6 +225,7 @@ static void rna_def_light_energy(StructRNA *srna, const short light_type)
|
||||
prop,
|
||||
"Power",
|
||||
"Light energy emitted over the entire area of the light in all directions");
|
||||
RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_LIGHT);
|
||||
RNA_def_property_update(prop, 0, "rna_Light_draw_update");
|
||||
break;
|
||||
}
|
||||
|
@ -4840,6 +4840,7 @@ static void def_math(StructRNA *srna)
|
||||
RNA_def_property_enum_sdna(prop, NULL, "custom1");
|
||||
RNA_def_property_enum_items(prop, rna_enum_node_math_items);
|
||||
RNA_def_property_ui_text(prop, "Operation", "");
|
||||
RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_NODETREE);
|
||||
RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_ShaderNode_socket_update");
|
||||
|
||||
prop = RNA_def_property(srna, "use_clamp", PROP_BOOLEAN, PROP_NONE);
|
||||
@ -6737,7 +6738,7 @@ static void def_cmp_set_alpha(StructRNA *srna)
|
||||
"REPLACE_ALPHA",
|
||||
0,
|
||||
"Replace Alpha",
|
||||
"Replace the input image's alpha channels by the alpha input value"},
|
||||
"Replace the input image's alpha channel by the alpha input value"},
|
||||
{0, NULL, 0, NULL, NULL},
|
||||
};
|
||||
|
||||
|
@ -2686,6 +2686,7 @@ static void rna_def_particle_settings(BlenderRNA *brna)
|
||||
prop = RNA_def_property(srna, "use_parent_particles", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "draw", PART_DRAW_PARENT);
|
||||
RNA_def_property_ui_text(prop, "Parents", "Render parent particles");
|
||||
RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_PARTICLESETTINGS);
|
||||
RNA_def_property_update(prop, 0, "rna_Particle_redo");
|
||||
|
||||
prop = RNA_def_property(srna, "show_number", PROP_BOOLEAN, PROP_NONE);
|
||||
|
@ -3138,6 +3138,7 @@ static void rna_def_tool_settings(BlenderRNA *brna)
|
||||
prop = RNA_def_property(srna, "workspace_tool_type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "workspace_tool_type");
|
||||
RNA_def_property_enum_items(prop, workspace_tool_items);
|
||||
RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_EDITOR_VIEW3D);
|
||||
RNA_def_property_ui_text(prop, "Drag", "Action when dragging in the viewport");
|
||||
|
||||
/* Transform */
|
||||
|
@ -200,7 +200,7 @@ void node_math_label(const bNodeTree *UNUSED(ntree), const bNode *node, char *la
|
||||
if (!enum_label) {
|
||||
name = "Unknown";
|
||||
}
|
||||
BLI_strncpy(label, IFACE_(name), maxlen);
|
||||
BLI_strncpy(label, CTX_IFACE_(BLT_I18NCONTEXT_ID_NODETREE, name), maxlen);
|
||||
}
|
||||
|
||||
void node_vector_math_label(const bNodeTree *UNUSED(ntree),
|
||||
|
@ -62,7 +62,7 @@ static void sh_node_math_gather_link_searches(GatherLinkSearchOpParams ¶ms)
|
||||
-1 :
|
||||
weight;
|
||||
params.add_item(
|
||||
IFACE_(item->name), SocketSearchOp{"Value", (NodeMathOperation)item->value}, gn_weight);
|
||||
CTX_IFACE_(BLT_I18NCONTEXT_ID_NODETREE, item->name), SocketSearchOp{"Value", (NodeMathOperation)item->value}, gn_weight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user