Hi,
the name of the status codes aren't translated in the dropdown field under 'update options'. In signup_status_codes(), simply wrapped the name field with t().

CommentFileSizeAuthor
signup_status.patch419 bytesolio

Comments

dww’s picture

@jrbeeman: Note, I've gone through something similar with signup.module. Even though putting variables inside t() is almost always wrong, there are rare cases (and this might be one of them) where it's ok. See #181272-2: can't translate labels on the signup form? for more info.

dww’s picture

Category: bug » support
Status: Needs review » Closed (works as designed)

Hrm, nope. Sorry, olio. I just scanned through the signup_status code, and in this case, the names of the signup status codes are entirely user-generated input. They never appear in code, are never wrapped in t(), and therefore, don't qualify for using t() around them. You've run into one of the main limitations in the Drupal translation layer -- user-generated input. See http://api.drupal.org/api/function/t/6 for more:

However tempting it is, custom data from user input or other non-code sources should not be passed through t(). Doing so leads to the following problems and errors:

  • The t() system doesn't support updates to existing strings. When user data is updated, the next time it's passed through t() a new record is created instead of an update. The database bloats over time and any existing translations are orphaned with each update.
  • The t() system assumes any data it receives is in English. User data may be in another language, producing translation errors.
  • The "Built-in interface" text group in the locale system is used to produce translations for storage in .po files. When non-code strings are passed through t(), they are added to this text group, which is rendered inaccurate since it is a mix of actual interface strings and various user input strings of uncertain origin.

...