Mainly affecting older Windows (such as XP), which do not have a more
fully featured unicode fonts installed, such as Arial Unicode MS.
With this patch we do a runtime check of the OS version in a couple of
places and if the OS is old, we use the asterix character and spaces instead
of the unicode star characters.
Linux and OSX should be unaffected by this change unless
subsurface_os_feature_available() returns FALSE for UTF8_FONT_WITH_STARS
at some point.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
linux.c, macos.c, windows.c now contain
subsurface_os_feature_available() that can accept an enum type
os_feature_t defined in dive.h.
The function can be useful to check if a specific global feature
is available on a certain OS version.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
It turns out that we need aliases for all the languages. And more fiddling
when creating the dmg. And a specialized MacPorts build with the install
path as prefix. What this basically means is that our app will be
correctly localized iff run as /Applications/Subsurface.app
Otherwise the gtk default texts (on buttons for example) may or may not be
translated.
One remaining issue is that apparently Gtk's Mac integration triggers on
the untranslated name Help the Menu tree in order to work. Yet we can't
easily tell the app not to translate that word as the translations are
done internally in gtk - we'd basicall have to build special subsurface.mo
files for Mac that don't contain a translation of the word "Help" for this
to work.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Translated newly localised units, backplate weight and fixed dive list
time format.
Signed-off-by: Tommi Saviranta <wnd@iki.fi>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Translate air in the German locales and remove a fuzzy comment next to a
correct translation in the Finnish one
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Translate the "air" text in the divelist.
Suggested-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
- we translate "backplate weight" as "on the back" or
"back weight".
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The update-po-files target creates backup files. Let's add them
to the "clean" target.
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The buttons didn't actually do anything when clicked, but this still
was inconsistent behavior.
Reported-by: Pierre-Yves Chibon <pingou@pingoured.fr>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Originally I used the colloquial term "bar" for the weight bar that you
can attach to a backplate (usually when diving twins in a tec
environment). This of course causes an odditity for translations as this
word "bar" is a homonym for the weight system and the pressure unit -
which throws off translations.
Instead of switching to a context-based translation I instead went with a
better term: "backplate weight". This of course now needs to be
translated, so I updated the .po files (and added German translations for
the two flavors of German).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Based on feedback by German divers (Flasche instead of Tank) and Wikipedia for
the official abbreviations of the various units.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This is a bit of a hack to make my life easier.
make update-po-files
will extract the translation strings and merge them with the existing
translations - for all existing translations.
For good measure this commit includes the latest update of the po files
(but no new translations should be needed).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
So far we only looked in the a local subdirectory, but once Subsurface has
been installed, we don't need to change the search path for translation
files anymore.
Fixes#2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
there is a missing % in one of the lines i think:
po/fr_FR.po:62: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason:
The string refers to argument number 4 but ignores argument number 3.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
After Lubomir submitted the last set of localization fixes (ec1e1bf30c4f
"info.c: set units for translation in the depth box" and 5e463168d2bb
"dive.c: set some of units for localization") I apparently forgot to
update all the .po files. This should NOT require any extra translation
work unless in your target language the units are indeed replaced with
something else. Otherwise the empty string "" simply triggers gettext to
go with the original text.
But after reading through the diff (boy do I know how to have fun) it
appears that this caught and (I think) correctly fixed a mistake in the
Finnish translation where an incorrect msgid had been used.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This update contains the required fixes for the croatian translation
file. It also contains improved translation strings, after seeing the
localized version in action.
Signed-off-by: Ivan Habunek <ivan.habunek@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
- Added the new date / time format strings
- Added the missing translation for units in dive.c
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
info.c:show_dive_info() uses buffers of 80 char, which might not be enough
for all unicode strings to fit. The function snprintf() can be used to
truncate a string to the maximum buffer length, however this should
not be used with unicode strings, since it can split the bytes of a
wide char, causing some corruption.
Instead of a fixed buffer we now allocate/free memory for the title text and
attempt to more safely truncate user entered text by using g_utf8_strlen()
and g_utf8_strncpy(). Long unicode filenames still remain a responsibility
of the user, but they should be now safe as well. On the other hand the string
formed by the function divename() and the variable maxlen should be
monitored by developers to accommodate all translations.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Example:
For some strings such as the "Trip title" the buffer of 60 bytes was not
enought for certain languages.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
get_pressure_units() and get_volume_units() should
return localized strings.
[Dirk Hohndel: updated to use the correct macro]
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Updated the Finnish translation to include the latest changes
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This updates the Swedish translation for the new message strings, and
the date ordering in particular. It also fixes an incorrect
translation (it incorrectly had translated dive-time as if it was the
starting time of the dive, not the duration of the dive).
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Update with new date formats and lowercase temperatures.
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This looks like a massive commit mainly because of the line number changes
in the .po files. That sadly hides what really happened here:
- the places where we manually build dates have now been localized
- the one place where we did the English "calculated plural" has been
modified so that it now can be correctly translated (in English this
just adds an 's' to the noun if the number is != 1 - in other languages
this tends to be much more complicated)
I then updated the two German translations to take advantage of the new
constructs. And while I was at it, I changed the translation Trip->Gruppe
to Trip->Reise as that seemed much more appropriate.
I also fixed another error in the German translation where I translated
"dive time" as "Startzeit" - but in the context it was "Dauer".
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Linux didn't have a locale install target, and Windows didn't install
aliased locale files.
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
[the macos/macosx typo was also found and a patch submitted by
Henrik Brautaset Aronsen <subsurface@henrik.synth.no>]
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
With the right tools in place you can now create a bundle from the
Makefile by calling "make create-macos-bundle"
In the process of this I also moved the locale directory where we stage
our .mo files to share/locale (which is much more logical).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
gtk-mac-bundler uses Contents/Resources/share/locale, and
the install-macosx target should do the same.
Also quiet down the make process a bit
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This doesn't really improve any of the horrible Swedish texts, but
updates it for the message text fuzziness due to the text changes
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The best translations are those maintained by people that don't speak the
language. As I don't speak Dutch I make no promises on the correctness of
this.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Update of the french translation file.
Fuzzy mark update with single line.
[Dirk Hohndel: removed Jacco and myself - we didn't do French]
Signed-off-by: Jean-Noël Rouchon <jnoel@sissiou.net>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Maximum and minimum degrees in the yearly statistics were displayed
as -273.1°C if no temperature info was present.
H
From 7d9aad01133bc03980f66a2d109c9ef909e518ad Mon Sep 17 00:00:00 2001
From: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Date: Tue, 16 Oct 2012 18:13:16 +0200
Subject: [PATCH] Avoid zero degrees Kelvin in yearly statistics
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Maximum and minimum degrees in the yearly statistics were displayed
as -273.1°C if no temperature info was present.
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>