aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-itip-control.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-itip-control.c')
-rw-r--r--calendar/gui/e-itip-control.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/calendar/gui/e-itip-control.c b/calendar/gui/e-itip-control.c
index bb935ea396..66abdb89be 100644
--- a/calendar/gui/e-itip-control.c
+++ b/calendar/gui/e-itip-control.c
@@ -489,11 +489,22 @@ write_label_piece (EItipControl *itip, CalComponentDateTime *dt,
/* Output timezone after time, e.g. " America/New_York". */
if (zone) {
+ /* Note that this returns UTF-8, since all iCalendar data is
+ UTF-8. But it probably is not translated. */
display_name = icaltimezone_get_display_name (zone);
- /* These are ASCII strings, so should be OK as UTF-8.*/
- if (display_name) {
+ if (display_name && *display_name) {
strcat (buffer, " ");
- strcat (buffer, display_name);
+
+ /* We check if it is one of our builtin timezone names,
+ in which case we call gettext to translate it, and
+ we need to convert to UTF-8. If it isn't a builtin
+ timezone name, we use it as-is, as it is already
+ UTF-8. */
+ if (icaltimezone_get_builtin_timezone (display_name)) {
+ strcat (buffer, U_(display_name));
+ } else {
+ strcat (buffer, display_name);
+ }
}
}