Re: [evolution-patches] Patch for translation-issues in save-calendar plugin (#73099)



On Wed, 2005-03-02 at 19:42 +0100, Philip Van Hoof wrote:
> Hi there gnome-i18n team,
> 
> This patch fixes translation issues #73099 and #73098 but need
> approval 
> 
> You'll need to use -R for this patch

Since it's more convenient for reading, I've converted this into a non
inverted patch. So you wont need -R for this version of the same patch.

I'll also attach this version of the patch to the bugs in bugzilla as
final bug-solver proposal.

	http://bugzilla.ximian.com/show_bug.cgi?id=73099

The Evolution-team can also hold this bugfix for after the gnome-i18n
string-freeze. But since it where translators who reported it, you guys
might want to approve it. It's up to you.

Note that it can't be fixed by only removing translatable strings (which
wouldn't affect the string-freeze).

Keep me informed (also please reput me in CC, I can't join every
gnome-related mailinglist. This E-mail account is already overloaded
with mailinglist subscriptions).



-- 
Philip Van Hoof, Software Developer @ Cronos
home: me at freax dot org
gnome: pvanhoof at gnome dot org
work: philip dot vanhoof at cronos dot be
junk: philip dot vanhoof at gmail dot com
http://www.freax.be, http://www.freax.eu.org
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/plugins/save-calendar/ChangeLog,v
retrieving revision 1.17
diff -u -r1.17 ChangeLog
--- ChangeLog	2 Mar 2005 18:24:54 -0000	1.17
+++ ChangeLog	2 Mar 2005 21:15:36 -0000
@@ -1,3 +1,12 @@
+2005-03-02  Philip Van Hoof  <pvanhoof gnome org>
+
+        * rdf-format.c: Fixes for Bug #73099 and Bug #73098
+	* csv-format.c: Changed malloc to g_malloc and char to gchar
+	
+2005-03-02  Philip Van Hoof  <pvanhoof gnome org>
+
+	* csv-format.c: Fixes for Bug #73099 and Bug #73098
+	
 2005-02-24  Bj�Torkelsson  <torkel acc umu se>
 
 	* org-gnome-save-calendar.eplug.in: Fixed description and added
Index: csv-format.c
===================================================================
RCS file: /cvs/gnome/evolution/plugins/save-calendar/csv-format.c,v
retrieving revision 1.9
diff -u -r1.9 csv-format.c
--- csv-format.c	2 Mar 2005 18:24:54 -0000	1.9
+++ csv-format.c	2 Mar 2005 21:15:37 -0000
@@ -34,6 +34,8 @@
 #include <gtk/gtkstock.h>
 #include <gtk/gtk.h>
 #include <libedataserver/e-source.h>
+#include <libecal/e-cal-time-util.h>
+#include <libedataserver/e-util.h>
 #include <libedataserverui/e-source-selector.h>
 #include <libecal/e-cal.h>
 #include <calendar/gui/e-cal-popup.h>
@@ -155,25 +157,34 @@
 static GString *
 add_time_to_csv (GString *line, icaltimetype *time, CsvConfig *config)
 {
-	/*
-	 * Perhaps we should check for quotes, delimiter and newlines in the
-	 * resulting string: The translators can put it there!
-	 *
-	 * Or perhaps we shouldn't make this translatable?
-	 * Or perhaps there is a library-function to do this?
-	 */
 
 	if (time) {
-		g_string_append_printf (line, _("%s%d/%s%d/%s%d %s%d:%s%d:%s%d"), 
-					(time->month < 10)?"0":"", time->month, 
-					(time->day < 10)?"0":"", time->day, 
-					(time->year < 10)?"0":"", time->year, 
-					(time->hour < 10)?"0":"", time->hour, 
-					(time->minute < 10)?"0":"", time->minute, 
-					(time->second < 10)?"0":"", time->second);
+		gboolean needquotes = FALSE;
+		struct tm mytm =  icaltimetype_to_tm (time);
+		gchar *str = (gchar*) g_malloc (sizeof (gchar) * 200);
+		
+		/* 
+		 * Translator: the %F %T is the thirth argument for a strftime function.
+		 * It lets you define the formatting of the date in the csv-file.
+		 * */
+		e_utf8_strftime (str, 200, _("%F %T"), &mytm);
+		
+		needquotes = string_needsquotes (str, config);
+		
+		if (needquotes)
+			line = g_string_append (line, config->quote);	
+		
+		line = g_string_append (line, str);
+		
+		if (needquotes)
+			line = g_string_append (line, config->quote);
+	
+		g_free (str);
+		
 	}
 
 	line = g_string_append (line, config->delimiter);
+
 	return line;
 }
 
@@ -352,7 +363,7 @@
 
 	result = gnome_vfs_open_uri (&handle, uri, GNOME_VFS_OPEN_READ);
 	if (result == GNOME_VFS_OK)
-		doit = e_error_run(gtk_widget_get_toplevel (GTK_WIDGET (target->selector)),
+		doit = e_error_run(GTK_WINDOW(gtk_widget_get_toplevel (GTK_WIDGET (target->selector))),
 			 E_ERROR_ASK_FILE_EXISTS_OVERWRITE, dest_uri, NULL) == GTK_RESPONSE_OK;
 
 	if (doit) {
@@ -366,16 +377,37 @@
 	if (result == GNOME_VFS_OK && doit && e_cal_get_object_list_as_comp (source_client, "#t", &objects, NULL)) {
 
 		if (config->header) {
+			
+			gint i=0;
+			
+			static gchar *labels[] = {
+				 N_("Uid"),
+				 N_("Summary"),
+				 N_("Description List"),
+				 N_("Categories List"),
+				 N_("Comment List"),
+				 N_("Completed"),
+				 N_("Created"),
+				 N_("Contact List"),
+				 N_("Start"),
+				 N_("End"),
+				 N_("Due"),
+				 N_("percent Done"),
+				 N_("Priority"),
+				 N_("Url"),
+				 N_("Attendees List"),
+				 N_("Location"),
+				 N_("Modified"),
+			};
+
 			line = g_string_new ("");
-			g_string_append_printf (line, _("Uid%sSummary%sDescription List%sCategories List%s"
-							"Comment List%sCompleted%sCreated%sContact List%s"
-							"Start%sEnd%sDue%sPercent Done%sPriority%sUrl%s"
-							"Attendees List%sLocation%sModified%s"),
-						config->delimiter, config->delimiter, config->delimiter, config->delimiter, 
-						config->delimiter, config->delimiter, config->delimiter, config->delimiter, 
-						config->delimiter, config->delimiter, config->delimiter, config->delimiter, 
-						config->delimiter, config->delimiter, config->delimiter, config->delimiter, 
-						config->newline);
+			for (i=0;i<G_N_ELEMENTS(labels);i++) {
+				if (i>0)
+					line = g_string_append(line, config->delimiter);
+				line = g_string_append(line, _(labels[i]));
+			}
+			
+			line = g_string_append (line, config->newline);
 
 			gnome_vfs_write (handle, line->str, line->len, NULL);
 			g_string_free (line, TRUE);
Index: rdf-format.c
===================================================================
RCS file: /cvs/gnome/evolution/plugins/save-calendar/rdf-format.c,v
retrieving revision 1.7
diff -u -r1.7 rdf-format.c
--- rdf-format.c	2 Mar 2005 18:23:20 -0000	1.7
+++ rdf-format.c	2 Mar 2005 21:15:37 -0000
@@ -38,6 +38,8 @@
 #include <libecal/e-cal.h>
 #include <calendar/gui/e-cal-popup.h>
 #include <libgnomevfs/gnome-vfs.h>
+#include <libecal/e-cal-time-util.h>
+#include <libedataserver/e-util.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/parser.h>
 #include <libxml/tree.h>
@@ -61,18 +63,18 @@
 #define CALENDAR_CONFIG_PREFIX "/apps/evolution/calendar"
 #define CALENDAR_CONFIG_TIMEZONE CALENDAR_CONFIG_PREFIX "/display/timezone"
 
-GConfClient *config = NULL;
+static GConfClient *config = NULL;
 
 static gchar *
 calendar_config_get_timezone (void)
 {
+
 	gchar *retval = NULL;
 
 	if (!config)
 		config = gconf_client_get_default ();
 
 	retval = gconf_client_get_string (config, CALENDAR_CONFIG_TIMEZONE, NULL);
-
 	if (!retval) 
 		retval = g_strdup ("UTC");
 
@@ -143,14 +145,17 @@
 {
 	if (time) {
 		xmlNodePtr cur_node = NULL;
+		struct tm mytm =  icaltimetype_to_tm (time);
+		gchar *str = (gchar*) g_malloc (sizeof (gchar) * 200);
 		gchar *tmp = NULL;
-		gchar *str = g_strdup_printf ("%s%d-%s%d-%s%dT%s%d:%s%d:%s%d", 
-					(time->year < 10)?"0":"", time->year, 
-					(time->month < 10)?"0":"", time->month, 
-					(time->day < 10)?"0":"", time->day, 
-					(time->hour < 10)?"0":"", time->hour, 
-					(time->minute < 10)?"0":"", time->minute, 
-					(time->second < 10)?"0":"", time->second);
+
+		/*
+		 * Translator: the %FT%T is the thirth argument for a strftime function.
+		 * It lets you define the formatting of the date in the rdf-file.
+		 * Also check out http://www.w3.org/2002/12/cal/tzd 
+		 * */
+		e_utf8_strftime (str, 200, _("%FT%T"), &mytm);
+
 		cur_node = xmlNewChild (node, NULL, tag, str);
 
 		/* Not sure about this property */
@@ -217,7 +222,7 @@
 
 	result = gnome_vfs_open_uri (&handle, uri, GNOME_VFS_OPEN_READ);
 	if (result == GNOME_VFS_OK) 
-		doit = e_error_run(gtk_widget_get_toplevel (GTK_WIDGET (target->selector)),
+		doit = e_error_run(GTK_WINDOW(gtk_widget_get_toplevel (GTK_WIDGET (target->selector))),
 			 E_ERROR_ASK_FILE_EXISTS_OVERWRITE, dest_uri, NULL) == GTK_RESPONSE_OK;
 
 	if (doit) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]