mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Conversion to gettext to allow localization
This is just the first step - convert the string literals, try to catch all the places where this isn't possible and the program needs to convert string constants at runtime (those are the N_ macros). Add a very rough first German localization so I can at least test what I have done. Seriously, I have never used a localized OS, so I am certain that I have many of the 'standard' translations wrong. Someone please take over :-) Major issues with this: - right now it hardcodes the search path for the message catalog to be ./locale - that's of course bogus, but it works well while doing initial testing. Once the tooling support is there we just should use the OS default. - even though de_DE defaults to ISO-8859-15 (or ISO-8859-1 - the internets can't seem to agree) I went with UTF-8 as that is what Gtk appears to want to use internally. ISO-8859-15 encoded .mo files create funny looking artefacts instead of Umlaute. - no support at all in the Makefile - I was hoping someone with more experience in how to best set this up would contribute a good set of Makefile rules - likely this will help fix the first issue in that it will also install the .mo file(s) in the correct place(s) For now simply run msgfmt -c -o subsurface.mo deutsch.po to create the subsurface.mo file and then move it to ./locale/de_DE.UTF-8/LC_MESSAGES/subsurface.mo If you make changes to the sources and need to add new strings to be translated, this is what seems to work (again, should be tooled through the Makefile): xgettext -o subsurface-new.pot -s -k_ -kN_ --add-comments="++GETTEXT" *.c msgmerge -s -U po/deutsch.po subsurface-new.pot If you do this PLEASE do one commit that just has the new msgid as changes in line numbers create a TON of diff-noise. Do changes to translations in a SEPARATE commit. - no testing at all on Windows or Mac It builds on Windows :-) Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									a2afe41280
								
							
						
					
					
						commit
						99846da77f
					
				
					 16 changed files with 1255 additions and 250 deletions
				
			
		|  | @ -11,6 +11,7 @@ | |||
| #ifdef XSLT | ||||
| #include <libxslt/transform.h> | ||||
| #endif | ||||
| #include <glib/gi18n.h> | ||||
| 
 | ||||
| #include "dive.h" | ||||
| #include "uemis.h" | ||||
|  | @ -1462,12 +1463,12 @@ void parse_xml_buffer(const char *url, const char *buffer, int size, GError **er | |||
| 
 | ||||
| 	doc = xmlReadMemory(buffer, size, url, NULL, 0); | ||||
| 	if (!doc) { | ||||
| 		fprintf(stderr, "Failed to parse '%s'.\n", url); | ||||
| 		fprintf(stderr, _("Failed to parse '%s'.\n"), url); | ||||
| 		if (error != NULL) | ||||
| 		{ | ||||
| 			*error = g_error_new(g_quark_from_string("subsurface"), | ||||
| 					     DIVE_ERROR_PARSE, | ||||
| 					     "Failed to parse '%s'", | ||||
| 					     _("Failed to parse '%s'"), | ||||
| 					     url); | ||||
| 		} | ||||
| 		return; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue