Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/libcinnamon-desktop/gnome-wall-clock.c b/libcinnamon-desktop/gnome-wall-clock.c
- index 5747882..0de206c 100644
- --- a/libcinnamon-desktop/gnome-wall-clock.c
- +++ b/libcinnamon-desktop/gnome-wall-clock.c
- @@ -23,6 +23,7 @@
- */
- #include "config.h"
- +#include "locale.h"
- #include <glib/gi18n-lib.h>
- @@ -60,37 +61,69 @@ enum {
- G_DEFINE_TYPE (GnomeWallClock, gnome_wall_clock, G_TYPE_OBJECT);
- +/*
- + * Translate @str according to the locale defined by LC_TIME; unlike
- + * dcgettext(), the translation is still taken from the LC_MESSAGES
- + * catalogue and not the LC_TIME one.
- + */
- +static const char *
- +translate_time_format_string (const char *str)
- +{
- + const char *locale = g_getenv ("LC_TIME");
- + const char *res;
- + char *sep;
- + locale_t old_loc;
- + locale_t loc = (locale_t)0;
- +
- + if (locale)
- + loc = newlocale (LC_MESSAGES_MASK, locale, (locale_t)0);
- +
- + old_loc = uselocale (loc);
- +
- + sep = strchr (str, '\004');
- + res = g_dpgettext (GETTEXT_PACKAGE, str, sep ? sep - str + 1 : 0);
- +
- + uselocale (old_loc);
- +
- + if (loc != (locale_t)0)
- + freelocale (loc);
- +
- + return res;
- +}
- +
- +#define T_(string) translate_time_format_string (string)
- +
- /* Date/Time format defaults - options are stored in org.cinnamon.desktop.interface keys.
- * The wall clock is used variously in Cinnamon applets and desklets, as well as
- * cinnamon-screensaver's default lock screen. */
- /* Default date format (typically matching date portion of WITH_DATE_* defaults.)
- * Currently used by cinnamon-screensaver default clock */
- -#define DATE_ONLY (_("%A, %B %e"))
- +#define DATE_ONLY (T_(N_("%A, %B %e")))
- /* Defaut date/time format when show-date, show-seconds, use-24h are set */
- -#define WITH_DATE_24H_SECONDS (_("%A %B %e, %R:%S"))
- +#define WITH_DATE_24H_SECONDS (T_(N_("%A %B %e, %R:%S")))
- /* Default date/time format when show-date, show-seconds are set */
- -#define WITH_DATE_12H_SECONDS (_("%A %B %e, %l:%M:%S %p"))
- +#define WITH_DATE_12H_SECONDS (T_(N_("%A %B %e, %l:%M:%S %p")))
- /* Default date/time format when show-date, use-24h are set */
- -#define WITH_DATE_24H (_("%A %B %e, %R"))
- +#define WITH_DATE_24H (T_(N_("%A %B %e, %R")))
- /* Default date/time format when just show-date is set */
- -#define WITH_DATE_12H (_("%A %B %e, %l:%M %p"))
- +#define WITH_DATE_12H (T_(N_("%A %B %e, %l:%M %p")))
- /* Default date/time format when show-seconds, use-24h are set */
- -#define NO_DATE_24H_SECONDS (_("%R:%S"))
- +#define NO_DATE_24H_SECONDS (T_(N_("%R:%S")))
- /* Default date/time format when just show-seconds is set */
- -#define NO_DATE_12H_SECONDS (_("%l:%M:%S %p"))
- +#define NO_DATE_12H_SECONDS (T_(N_("%l:%M:%S %p")))
- /* Default date/time format when just use-24h is set */
- -#define NO_DATE_24H (_("%R"))
- +#define NO_DATE_24H (T_(N_("%R")))
- /* Default date/time format with no options are set */
- -#define NO_DATE_12H (_("%l:%M %p"))
- +#define NO_DATE_12H (T_(N_("%l:%M %p")))
- #define NO_DATE ("")
- @@ -212,6 +245,9 @@ gnome_wall_clock_class_init (GnomeWallClockClass *klass)
- {
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- + bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
- + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- +
- gobject_class->get_property = gnome_wall_clock_get_property;
- gobject_class->set_property = gnome_wall_clock_set_property;
- gobject_class->dispose = gnome_wall_clock_dispose;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement