After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 520533 - Strings marked for translation but never shown translated
Strings marked for translation but never shown translated
Status: RESOLVED FIXED
Product: accerciser
Classification: Applications
Component: general
unspecified
Other All
: Normal major
: ---
Assigned To: Accerciser Developers
Accerciser Developers
Depends on:
Blocks:
 
 
Reported: 2008-03-05 16:06 UTC by Wouter Bolsterlee (uws)
Modified: 2008-03-15 13:40 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Wouter Bolsterlee (uws) 2008-03-05 16:06:23 UTC
Some strings in the Accerciser source code are marked for translation using the N_ function. However, these strings never show up in translated form since they're never passed through gettext() afterwards, meaning the original English strings show up to users.

Example:

  plugin_name = N_('AT-SPI Validator')
  plugin_description = N_('Validates application accessibility')
Comment 1 Wouter Bolsterlee (uws) 2008-03-05 16:23:32 UTC
I don't understand why the code doesn't just use _() instead. What's the point of having the original string around? It's not used anywhere it seems.
Comment 2 Eitan Isaacson 2008-03-05 18:18:49 UTC
Thanks Wouter for this report.
the N_() function's non-functionality is not a bug :)

It allows developers to mark strings for translation, while not having the string translated inline. For example, in Accerciser we use the non-localized plugin name as part of the gconf key, we don't want to translate it, so the gconf settings don't change when the user switches languages.

Of course we want the plugin name to be localized for the actual UI, so the actual translation happens later in the code path on the variable, and not on a constant string (for example plugin_manager.py:464). This works because we marked the actual constant string earlier for translation with the dummy function N_().

If this answers your concerns, please close this bug with NOTABUG, otherwise please explain further what the issue might be.
Comment 3 Wouter Bolsterlee (uws) 2008-03-05 23:39:22 UTC
Okay, it seems the use of N_ in Accerciser is on purpose. But the actual translation calls for some strings is definitely not right: the particular string I mentioned before, "AT-SPI Validator", *never shows up translated in the interface*, even though it is translated in the PO file.

Try for yourself:

  $ LANG=nl_NL.UTF-8 accerciser

Choose "Bewerken" -> "Voorkeuren" ("Edit" -> "Preferences") and check the listing: "AT-SPI Validator" is shown, while the Dutch translation is "AT-SPI-validator".

(Don't make fun of my language based on this case please, other strings are totally unlike English ;)
Comment 4 Wouter Bolsterlee (uws) 2008-03-11 11:20:48 UTC
2008-03-10  Eitan Isaacson  <eitan@ascender.com>

	* NEWS: 
	* README: 
	* configure.in: New 1.2.0 version.

	* plugins/validate.py: Add localized plugin name field (bug #520533).
Comment 5 Wouter Bolsterlee (uws) 2008-03-11 11:21:48 UTC
Oops, seems this is not in trunk/ yet. Eitan, please commit there as well and close this bug afterwards! Thanks.
Comment 6 Eitan Isaacson 2008-03-15 05:07:58 UTC
It looks like it is in trunk:
http://svn.gnome.org/viewvc/accerciser/trunk/plugins/validate.py?view=diff&r1=517&r2=518

Wouter, could I close this?
Comment 7 Wouter Bolsterlee (uws) 2008-03-15 13:40:21 UTC
Yep, thanks for your good cooperation!