Bug 441101

Summary: LightnessStength in Brush HUD configuration dialogue cannot be translated
Product: [Applications] krita Reporter: Tyson Tan <tysontanx>
Component: TranslationAssignee: amyspark <amy>
Status: RESOLVED FIXED    
Severity: normal CC: amy, tomtomtomreportingin
Priority: NOR    
Version First Reported In: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: All   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: LightnessStength in Brush HUD configuration dialogue cannot be translated

Description Tyson Tan 2021-08-17 22:24:03 UTC
Created attachment 140804 [details]
LightnessStength in Brush HUD configuration dialogue cannot be translated

LightnessStength in Brush HUD configuration dialogue cannot be translated.

Context:
#. i18n: ectx: property (windowTitle), widget (QDialog, KisDlgConfigureBrushHud)
#: libs/ui/brushhud/kis_dlg_brush_hud_config.ui:24
#, kde-format

Tested: krita-5.0.0-beta1-80175b4-x86_64.appimage
Comment 1 amyspark 2021-08-18 00:12:18 UTC
The name parameter of KisCurveOption is being used as the item value, by default it is not being translated. Other examples include SmudgeRadius, SmudgeRate and PaintThickness.
Comment 2 Tyson Tan 2021-09-05 06:58:59 UTC
Is it possible to give these parameters their strings? I don't know the whereabouts of those parameters, can you point me to their files? Is it possible to just turn them into something like:

i18n("STRING")
i18nc("COMMENT", "STRING")

(Sorry I'm not familiar with programming and have only a vague understanding of i18n).
Comment 3 tomtomtomreportingin 2021-09-05 08:06:26 UTC
It looks like you want plugins/paintops/libpaintop/kis_pressure_lightness_strength_option.cpp , line 9
Comment 4 Tyson Tan 2021-09-05 08:41:58 UTC
Thanks! I'll fix them today!
Comment 6 Tyson Tan 2021-09-05 12:22:35 UTC
So according to Dmitry:
https://invent.kde.org/graphics/krita/-/merge_requests/1035#note_299642

"This string must not be translated, it is used when saving real settings into XML. The actual translated name comes in KisBrushOpSettingsWidget"

Changes reverted.
Comment 7 Tyson Tan 2021-09-05 12:28:12 UTC
So the string has been translated in "kis_brushop_settings_widget.cpp" but it was somehow unused in Brush HUD configuration dialogue. Instead the program's real parameter was used. I suppose this should be fixed by whom wrote the dialogue? I have no idea of how things work at this level.

Unassigning myself from assignee.
Comment 8 amyspark 2021-12-03 02:06:59 UTC
I've debugged and fixed this locally; however, because of the way some of the paintop options are constructed, I will have to be very careful of the changes involved.

For instance, the option for "smudge_length" uses actually two IDs. One of them is the ID provided to the KisCurveOptionUniformProperty (so far so good). The other, which is supposed to be its internationalizable name (like the callback-based ops) is not localized because it is also (incorrectly, semantics wise) used as the option's own ID to retrieve its settings.
Comment 9 Bug Janitor Service 2021-12-04 00:38:04 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1197
Comment 10 amyspark 2021-12-14 23:32:01 UTC
Git commit b5f818ee3be2016a740d3c8739877b4a7f211a3e by L. E. Segovia.
Committed on 14/12/2021 at 23:30.
Pushed by lsegovia into branch 'master'.

Make paintops translatable

M  +3    -11   libs/image/brushengine/kis_callback_based_paintop_property.h
M  +9    -14   libs/image/brushengine/kis_callback_based_paintop_property_impl.h
M  +9    -21   libs/image/brushengine/kis_combo_based_paintop_property.cpp
M  +3    -15   libs/image/brushengine/kis_combo_based_paintop_property.h
M  +33   -42   libs/image/brushengine/kis_slider_based_paintop_property.cpp
M  +4    -17   libs/image/brushengine/kis_slider_based_paintop_property.h
M  +3    -17   libs/image/brushengine/kis_standard_uniform_properties_factory.cpp
M  +22   -38   libs/image/brushengine/kis_uniform_paintop_property.cpp
M  +4    -15   libs/image/brushengine/kis_uniform_paintop_property.h
M  +6    -3    libs/ui/kis_paintop_option.cpp
M  +3    -1    libs/ui/kis_paintop_option.h
M  +6    -6    libs/ui/kis_paintop_settings_widget.cpp
M  +3    -3    libs/ui/kis_paintop_settings_widget.h
M  +2    -2    plugins/paintops/colorsmudge/kis_colorsmudgeop.cpp
M  +7    -18   plugins/paintops/colorsmudge/kis_colorsmudgeop_settings.cpp
M  +29   -23   plugins/paintops/colorsmudge/kis_colorsmudgeop_settings_widget.cpp
M  +3    -2    plugins/paintops/colorsmudge/kis_overlay_mode_option.h
M  +2    -2    plugins/paintops/colorsmudge/kis_rate_option.cpp
M  +1    -1    plugins/paintops/colorsmudge/kis_rate_option.h
M  +10   -10   plugins/paintops/colorsmudge/kis_smudge_option.cpp
M  +4    -4    plugins/paintops/colorsmudge/kis_smudge_radius_option.cpp
M  +1    -1    plugins/paintops/curvebrush/kis_curve_line_option.cpp
M  +16   -23   plugins/paintops/curvebrush/kis_curve_paintop_settings.cpp
M  +6    -7    plugins/paintops/curvebrush/kis_curve_paintop_settings_widget.cpp
M  +0    -3    plugins/paintops/curvebrush/kis_curve_paintop_settings_widget.h
M  +1    -1    plugins/paintops/curvebrush/kis_curves_opacity_option.cpp
M  +1    -1    plugins/paintops/curvebrush/kis_linewidth_option.cpp
M  +46   -59   plugins/paintops/defaultpaintops/brush/kis_brushop_settings_widget.cpp
M  +1    -2    plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_option.cpp
M  +2    -10   plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_settings.cpp
M  +8    -9    plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_settings_widget.cpp
M  +1    -2    plugins/paintops/deform/kis_brush_size_option.cpp
M  +1    -1    plugins/paintops/deform/kis_deform_option.cpp
M  +10   -16   plugins/paintops/deform/kis_deform_paintop_settings.cpp
M  +9    -10   plugins/paintops/deform/kis_deform_paintop_settings_widget.cpp
M  +0    -4    plugins/paintops/deform/kis_deform_paintop_settings_widget.h
M  +8    -26   plugins/paintops/experiment/kis_experiment_paintop_settings.cpp
M  +2    -2    plugins/paintops/experiment/kis_experiment_paintop_settings_widget.cpp
M  +1    -1    plugins/paintops/experiment/kis_experimentop_option.cpp
M  +7    -8    plugins/paintops/filterop/kis_filterop_settings_widget.cpp
M  +0    -3    plugins/paintops/filterop/kis_filterop_settings_widget.h
M  +4    -6    plugins/paintops/gridbrush/kis_grid_paintop_settings.cpp
M  +5    -9    plugins/paintops/gridbrush/kis_grid_paintop_settings_widget.cpp
M  +0    -5    plugins/paintops/gridbrush/kis_grid_paintop_settings_widget.h
M  +1    -1    plugins/paintops/gridbrush/kis_grid_shape_option.cpp
M  +1    -1    plugins/paintops/gridbrush/kis_gridop_option.cpp
M  +1    -1    plugins/paintops/hairy/kis_hairy_bristle_option.cpp
M  +1    -1    plugins/paintops/hairy/kis_hairy_ink_option.cpp
M  +7    -8    plugins/paintops/hairy/kis_hairy_paintop_settings_widget.cpp
M  +1    -1    plugins/paintops/hatching/kis_hatching_options.cpp
M  +13   -16   plugins/paintops/hatching/kis_hatching_paintop_settings.cpp
M  +15   -15   plugins/paintops/hatching/kis_hatching_paintop_settings_widget.cpp
M  +1    -1    plugins/paintops/hatching/kis_hatching_preferences.cpp
M  +1    -2    plugins/paintops/hatching/kis_hatching_pressure_angle_option.cpp
M  +1    -2    plugins/paintops/hatching/kis_hatching_pressure_crosshatching_option.cpp
M  +1    -2    plugins/paintops/hatching/kis_hatching_pressure_separation_option.cpp
M  +1    -2    plugins/paintops/hatching/kis_hatching_pressure_thickness_option.cpp
M  +2    -2    plugins/paintops/libpaintop/KisMaskingBrushOption.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_airbrush_option_widget.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_brush_based_paintop_options_widget.cpp
M  +10   -16   plugins/paintops/libpaintop/kis_brush_based_paintop_settings.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_brush_option_widget.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_color_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_color_source_option_widget.cpp
M  +4    -4    plugins/paintops/libpaintop/kis_compositeop_option.cpp
M  +20   -28   plugins/paintops/libpaintop/kis_curve_option.cpp
M  +6    -8    plugins/paintops/libpaintop/kis_curve_option.h
M  +11   -7    plugins/paintops/libpaintop/kis_curve_option_uniform_property.cpp
M  +8    -4    plugins/paintops/libpaintop/kis_curve_option_uniform_property.h
M  +2    -2    plugins/paintops/libpaintop/kis_curve_option_widget.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_filter_option.cpp
M  +1    -2    plugins/paintops/libpaintop/kis_paint_action_type_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_darken_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_flow_opacity_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_flow_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_gradient_option.cpp
M  +10   -12   plugins/paintops/libpaintop/kis_pressure_hsv_option.cpp
M  +1    -2    plugins/paintops/libpaintop/kis_pressure_hsv_option.h
M  +2    -2    plugins/paintops/libpaintop/kis_pressure_lightness_strength_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_mirror_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_mix_option.cpp
M  +1    -2    plugins/paintops/libpaintop/kis_pressure_opacity_option.cpp
M  +3    -3    plugins/paintops/libpaintop/kis_pressure_paint_thickness_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_rate_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_ratio_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_rotation_option.cpp
M  +1    -2    plugins/paintops/libpaintop/kis_pressure_scatter_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_sharpness_option.cpp
M  +1    -2    plugins/paintops/libpaintop/kis_pressure_size_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_softness_option.cpp
M  +3    -3    plugins/paintops/libpaintop/kis_pressure_spacing_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_pressure_texture_strength_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_texture_option.cpp
M  +73   -75   plugins/paintops/mypaint/MyPaintCurveOption.cpp
M  +1    -6    plugins/paintops/mypaint/MyPaintCurveOption.h
M  +6    -6    plugins/paintops/mypaint/MyPaintCurveOptionWidget.cpp
M  +1    -1    plugins/paintops/mypaint/MyPaintPaintOpOption.cpp
M  +174  -42   plugins/paintops/mypaint/MyPaintPaintOpSettingsWidget.cpp
M  +24   -32   plugins/paintops/particle/kis_particle_paintop_settings.cpp
M  +5    -9    plugins/paintops/particle/kis_particle_paintop_settings_widget.cpp
M  +0    -5    plugins/paintops/particle/kis_particle_paintop_settings_widget.h
M  +1    -1    plugins/paintops/particle/kis_particleop_option.cpp
M  +1    -1    plugins/paintops/roundmarker/kis_roundmarker_option.cpp
M  +4    -4    plugins/paintops/roundmarker/kis_roundmarkerop_settings_widget.cpp
M  +1    -1    plugins/paintops/sketch/kis_density_option.cpp
M  +1    -1    plugins/paintops/sketch/kis_linewidth_option.cpp
M  +1    -1    plugins/paintops/sketch/kis_offset_scale_option.cpp
M  +12   -14   plugins/paintops/sketch/kis_sketch_paintop_settings_widget.cpp
M  +0    -4    plugins/paintops/sketch/kis_sketch_paintop_settings_widget.h
M  +1    -1    plugins/paintops/sketch/kis_sketchop_option.cpp
M  +12   -16   plugins/paintops/spray/kis_spray_paintop_settings.cpp
M  +14   -15   plugins/paintops/spray/kis_spray_paintop_settings_widget.cpp
M  +0    -3    plugins/paintops/spray/kis_spray_paintop_settings_widget.h
M  +1    -1    plugins/paintops/spray/kis_spray_shape_dynamics.cpp
M  +2    -2    plugins/paintops/spray/kis_spray_shape_option.cpp
M  +1    -1    plugins/paintops/spray/kis_sprayop_option.cpp
M  +16   -16   plugins/paintops/tangentnormal/kis_tangent_normal_paintop_settings_widget.cpp
M  +1    -1    plugins/paintops/tangentnormal/kis_tangent_tilt_option.cpp

https://invent.kde.org/graphics/krita/commit/b5f818ee3be2016a740d3c8739877b4a7f211a3e
Comment 11 Tyson Tan 2021-12-15 01:26:44 UTC
So many changes needed for seemingly a small thing. Thank you Amy!