diff --git a/scripts/startup/bl_ui/space_time.py b/scripts/startup/bl_ui/space_time.py index 49e1db71665..23e3f2e8918 100644 --- a/scripts/startup/bl_ui/space_time.py +++ b/scripts/startup/bl_ui/space_time.py @@ -301,7 +301,7 @@ class TIME_PT_keyframing_settings(TimelinePanelButtons, Panel): self.bl_label = scene.keying_sets_all.active.bl_label if scene.keying_sets_all.active.bl_label in scene.keying_sets: # Do not translate, this keying set is user-defined. - self.bl_translation_context = "Do not translate" + self.bl_translation_context = i18n_contexts.no_translation else: # Use the keying set's translation context (default). self.bl_translation_context = scene.keying_sets_all.active.bl_rna.translation_context diff --git a/source/blender/blentranslation/BLT_translation.hh b/source/blender/blentranslation/BLT_translation.hh index db936d78467..2e23d4bd8c7 100644 --- a/source/blender/blentranslation/BLT_translation.hh +++ b/source/blender/blentranslation/BLT_translation.hh @@ -90,6 +90,13 @@ blender::StringRef BLT_translate_do_new_dataname(blender::StringRef msgctxt, * (needed in some cases, as English adjectives have no plural mark :( ). */ #define BLT_I18NCONTEXT_PLURAL "Plural" +/* Special cases when translation cannot be avoided, for example in an interface where some props + * are built-in (translatable) and others are user-defined (non-translatable), but we don't know + * which ones in advance. + * It allows specifying explicitly that translation should not occur for user data when building + * the UI. */ +#define BLT_I18NCONTEXT_NO_TRANSLATION "Do not translate" + /* ID-types contexts. */ /* WARNING! Keep it in sync with ID-types in `blenkernel/intern/idtype.cc`. */ #define BLT_I18NCONTEXT_ID_ACTION "Action" @@ -173,6 +180,7 @@ struct BLT_i18n_contexts_descriptor { BLT_I18NCONTEXTS_ITEM(BLT_I18NCONTEXT_PLURAL, "plural"), \ BLT_I18NCONTEXTS_ITEM(BLT_I18NCONTEXT_ID_ACTION, "id_action"), \ BLT_I18NCONTEXTS_ITEM(BLT_I18NCONTEXT_ID_ARMATURE, "id_armature"), \ + BLT_I18NCONTEXTS_ITEM(BLT_I18NCONTEXT_NO_TRANSLATION, "no_translation"), \ BLT_I18NCONTEXTS_ITEM(BLT_I18NCONTEXT_ID_BRUSH, "id_brush"), \ BLT_I18NCONTEXTS_ITEM(BLT_I18NCONTEXT_ID_CACHEFILE, "id_cachefile"), \ BLT_I18NCONTEXTS_ITEM(BLT_I18NCONTEXT_ID_CAMERA, "id_camera"), \