[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: i18n errors in koffice
From:       Burkhard =?iso-8859-1?q?L=FCck?= <lueck () hube-lueck ! de>
Date:       2007-11-01 13:40:42
Message-ID: 200711011440.47466.lueck () hube-lueck ! de
[Download RAW message or body]

On Thursday 01 November 2007 09:30:46 Boudewijn Rempt wrote:
> On Thu, 1 Nov 2007, Boudewijn Rempt wrote:
> > On Thu, 1 Nov 2007, Thomas Zander wrote:
> > > Yes, I start to understand this process a big better now. I hope lots
> > > of KOffice devs read this thread with as much interrest as I have, and
> > > will spent 10 minutes checking if their stuff is actually translatable.
> > > :)
> >
> > I really would like a translation workshop for developers or something
> > like that at the next KOffice sprint. Seeing how the translation process
> > works would help me a lot. 

An outline:

- using x-test language and its pitfalls (fuzzy, missing entry in desktop 
files)

- which catalogs are used automatically by every kde app or koffice app

- how to include additional message catalogs

- naming convention for catalog names

- how does scripty work for gui translations, where lives scripty, 
(translators entries, rc.cpp, extractrc, extractattr etc)

- i18nc comments

- desktop files (x-test entry, DocPath etc)

- splitting an existing catalog into several catalogs (eg recent kplato), 
combining several catalogs to one big catalog and the effects for translators
 
- rules that allow breaking a (gui) string freeze

- when to avoid reverting commits not allowed during message freeze

- merging menus in rc files + possible errors 
(eg kword menu item "Insert" is untranslatable: 
kword/part/kword.rc:48: <Menu name="insert"><text context="Insert 
menu">&amp;Insert</text>
plugins/scan/scan-kword.rc:4: <Menu name="insert"><text>&amp;Insert</text>
<text context="Insert menu">!=<text> -> no translation!)

- documentation + translation
the BIG difference to gui translation, manual template generation + scripty, 
breaking the docbook generation for a whole application with one changed char 
in the englisch docbook, why is it impossible to loose an existing translated 
documentation, "DocPath" in desktop files and khelpcenter!

- communication with translators (kde-i18n-doc@kde.org)

> > Anyway, I'm off checking checking the Krita 
> > plugins now.
>
> Hm, all our plugins are exported as "krita", frex
>
>
> ./filters/imageenhancement/imageenhancement.cpp:K_EXPORT_COMPONENT_FACTORY(
> kritaimageenhancement, KritaImageEnhancementFactory( "krita" ) )
>
> I guess that's ok unless we'd want to release our plugins separately?
> (Which in the case of Krita I don't want to do)
>
At the first glance the krita translation seems to be in a good state.

Untranslatable or translation not visible:
entries in Filter dropdown box of open/save dialog ("krita 
document" "OpenRaster document" etc) - same fo all other koffice apps
Entries in Custom Document->Model ("Red Green Blue" ...) and Depth("8 
bits" ...)
Statusbar "s RGB built-in - (lcms internal)"
"Tools" title on the left of the main window
In menu Filter for all items except the first one and "Gaussian Noise 
Reduction" "Wavelet Noise Reducer" the translations are not shown. 

Attached a list with i18n calls in krita related files, where the strings are 
not in the l10n-kde4/templates/messages.
Some of these strings are i18n calls of debug messages, no need to translate 
them, some of the files could be unused or outdated, please check.

Burkhard Lück


["krita-i18ncalls" (text/plain)]

krita/colorspaces/rgb_float_hdr/tests/kis_rgb_float_hdr_colorspace_test.cpp ['Red', \
'Green', 'Blue', 'Alpha'] krita/image/kis_base_node.cpp ['Visible', 'Locked']
krita/image/kis_clone_layer.cpp ['Copy From']
krita/image/kis_painterly_overlay_colorspace.cpp ['Painterly Overlay', 'Painterly \
Overlay (32 bit float/channel)', 'Adsorbency', 'Gravity', 'Mixability', 'Height', \
'Pigment Concentration', 'Viscosity', 'Volume', 'Wetness'] \
krita/image/kis_transformation_mask.cpp ['Transformation Mask Settings'] \
krita/plugins/filters/imageenhancement/kis_simple_noise_reducer.cpp ['&Gaussian Noise \
Reduction', 'Threshold', 'Window size'] \
krita/plugins/filters/imageenhancement/kis_wavelet_noise_reduction.cpp ['&Wavelet \
Noise Reducer', 'Threshold', 'Fast wavelet transformation', 'Thresholding', 'Fast \
wavelet untransformation'] krita/plugins/painterlyframework/kis_ks_colorspace.cpp \
['Absorption', 'Scattering', 'Alpha'] \
krita/plugins/painterlyframework/kis_painterlymixerdocker.cpp ['Painterly Color \
Mixer'] krita/plugins/painterlyframework/kis_rgbks_colorspace.cpp ['Absorption', \
'Scattering', 'Alpha'] \
krita/plugins/viewplugins/compose/.kis_layer_compose_plugin.cpp.swp ['Compose Layer', \
'Separate Image...'] krita/plugins/viewplugins/compose/dlg_compose.cpp ['compose \
Layer'] krita/plugins/viewplugins/compose/kis_layer_compose_plugin.cpp ['Separate \
Image...', 'Compose Layer'] \
krita/plugins/viewplugins/scripting/kritacore/krs_filter.cpp ['An error has occurred \
in %1'] krita/plugins/viewplugins/scripting/kritacore/krs_module.cpp ['Unknown \
pattern \\"%1\\"', 'Unknown brush \\"%1\\"', 'Invalid image size', 'Colorspace %1 is \
not available, please check your installation.'] \
krita/plugins/viewplugins/scripting/kritacore/krs_painter.cpp ['An error has occurred \
in %1'] krita/plugins/viewplugins/scripting/kritacore/krs_wavelet.cpp ['An error has \
occurred in %1', 'Index out of bound'] krita/shape/KritaShape.cpp ['Converted from \
KoImageData'] krita/shape/KritaShapeFactory.cpp ['KritaShape Shape', 'A color \
managed, multi-layer raster image'] krita/shape/KritaShapeTool.cpp ['Convert Color \
Managed Image to unmanaged Image', 'Remove color management from this image and \
convert to RGB.', 'Import image', 'Open'] krita/shape/KritaShapeToolFactory.cpp \
['KritaShape Tool', 'KritaShape editing tool'] krita/ui/kis_grid_manager.cpp ['Show \
Grid', 'Hide Grid', 'Snap To Grid', '1x1', '2x2', '5x5', '10x10', '20x20', '40x40'] \
krita/ui/kis_layer_box.cpp ['Layers', 'Minimal View', 'Detailed View', 'Thumbnail \
View', 'View mode', 'Create new layer', 'Remove current layer', 'Raise current \
layer', 'Lower current layer', 'Properties for layer', '&New Layer', 'New &Group \
Layer', 'New &Clone Layer', 'New &Shape Layer', 'New &Adjustment Layer...', \
'&Transparency Mask', '&Effect Mask...', '&Transformation Mask...', '&Properties...', \
'&Remove Layer', '&New', '&Paint Layer', '&Group Layer', '&Clone Layer', '&Shape \
Layer', '&Adjustment Layer...'] krita/ui/kis_perspective_grid_manager.cpp ['Show \
Perspective Grid', 'Hide Perspective Grid', 'Clear Perspective Grid', 'Before \
displaying the perspective grid, you need to initialize it with the perspective grid \
tool', 'No Perspective Grid to Display'] krita/ui/kis_png_converter.cpp ['Cannot \
export images in %1.\\n'] krita/ui/kis_shape_controller.cpp ['Flake shapes %1']
krita/ui/kis_view2.cpp ['Insert as New Layer', 'Insert as New Layers', 'Open in New \
Document', 'Open in New Documents', 'Cancel', 'Edit Palette...', 'Edit Palette'] \
krita/ui/kobirdeyepanel.cpp ['Zoom In', 'Zoom Out']

libs/pigment/KoBasicHistogramProducers.h ['Generic RGB Histogram', 'Generic L*a*b* \
Histogram'] libs/pigment/colorspaces/KoRgbU16ColorSpace.h ['RGB (16-bit \
integer/channel)'] libs/pigment/colorspaces/KoRgbU8ColorSpace.h ['RGB (8-bit \
integer/channel)']


plugins/colorspaces/cmyk_u16/cmyk_u16_plugin.cc ['CMYK16 Histogram']
plugins/colorspaces/cmyk_u16/kis_cmyk_u16_colorspace.cc ['CMYK (16-bit \
integer/channel)', 'Cyan', 'Magenta', 'Yellow', 'Black', 'Alpha'] \
plugins/colorspaces/cmyk_u16/kis_cmyk_u16_colorspace.h ['CMYK (16-bit \
integer/channel)'] plugins/colorspaces/cmyk_u8/cmyk_plugin.cc ['CMYK8 Histogram']
plugins/colorspaces/cmyk_u8/kis_cmyk_colorspace.cc ['CMYK (8-bit integer/channel)', \
'Cyan', 'Magenta', 'Yellow', 'Black', 'Alpha'] \
plugins/colorspaces/cmyk_u8/kis_cmyk_colorspace.h ['CMYK (8-bit integer/channel)']



_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic