From dd32dac60f46076fae56fe4f9c905b422bb0e888 Mon Sep 17 00:00:00 2001 From: Damien Picard Date: Sun, 7 May 2023 15:37:03 +0200 Subject: [PATCH] I18n: disambiguate Mix node A and B inputs In some languages, the A and B sockets need to be disambiguated because because they can have different letters depending on context. In Spanish, A is used for B (Blue -> Azul), while the greek letter alpha is used for A, to disambiguate Azul / alpha. Pull Request: https://projects.blender.org/blender/blender/pulls/107706 --- .../nodes/shader/nodes/node_shader_mix.cc | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/source/blender/nodes/shader/nodes/node_shader_mix.cc b/source/blender/nodes/shader/nodes/node_shader_mix.cc index b6e9a0c9972..7d63f9f9e14 100644 --- a/source/blender/nodes/shader/nodes/node_shader_mix.cc +++ b/source/blender/nodes/shader/nodes/node_shader_mix.cc @@ -38,19 +38,29 @@ static void sh_node_mix_declare(NodeDeclarationBuilder &b) .default_value(float3(0.5f)) .subtype(PROP_FACTOR); - b.add_input(N_("A"), "A_Float") + b.add_input(CTX_N_(BLT_I18NCONTEXT_ID_NODETREE, "A"), "A_Float") .min(-10000.0f) .max(10000.0f) - .is_default_link_socket(); - b.add_input(N_("B"), "B_Float").min(-10000.0f).max(10000.0f); + .is_default_link_socket() + .translation_context(BLT_I18NCONTEXT_ID_NODETREE); + b.add_input(CTX_N_(BLT_I18NCONTEXT_ID_NODETREE, "B"), "B_Float") + .min(-10000.0f) + .max(10000.0f) + .translation_context(BLT_I18NCONTEXT_ID_NODETREE); - b.add_input(N_("A"), "A_Vector").is_default_link_socket(); - b.add_input(N_("B"), "B_Vector"); + b.add_input(CTX_N_(BLT_I18NCONTEXT_ID_NODETREE, "A"), "A_Vector") + .is_default_link_socket() + .translation_context(BLT_I18NCONTEXT_ID_NODETREE); + b.add_input(CTX_N_(BLT_I18NCONTEXT_ID_NODETREE, "B"), "B_Vector") + .translation_context(BLT_I18NCONTEXT_ID_NODETREE); - b.add_input(N_("A"), "A_Color") + b.add_input(CTX_N_(BLT_I18NCONTEXT_ID_NODETREE, "A"), "A_Color") .default_value({0.5f, 0.5f, 0.5f, 1.0f}) - .is_default_link_socket(); - b.add_input(N_("B"), "B_Color").default_value({0.5f, 0.5f, 0.5f, 1.0f}); + .is_default_link_socket() + .translation_context(BLT_I18NCONTEXT_ID_NODETREE); + b.add_input(CTX_N_(BLT_I18NCONTEXT_ID_NODETREE, "B"), "B_Color") + .default_value({0.5f, 0.5f, 0.5f, 1.0f}) + .translation_context(BLT_I18NCONTEXT_ID_NODETREE); b.add_output(N_("Result"), "Result_Float"); b.add_output(N_("Result"), "Result_Vector"); @@ -171,7 +181,7 @@ static void node_mix_gather_link_searches(GatherLinkSearchOpParams ¶ms) } else { params.add_item( - IFACE_("A"), + CTX_IFACE_(BLT_I18NCONTEXT_ID_NODETREE, "A"), [type](LinkSearchOpParams ¶ms) { bNode &node = params.add_node("ShaderNodeMix"); node_storage(node).data_type = type; @@ -180,7 +190,7 @@ static void node_mix_gather_link_searches(GatherLinkSearchOpParams ¶ms) weight); weight--; params.add_item( - IFACE_("B"), + CTX_IFACE_(BLT_I18NCONTEXT_ID_NODETREE, "B"), [type](LinkSearchOpParams ¶ms) { bNode &node = params.add_node("ShaderNodeMix"); node_storage(node).data_type = type;