Commit f9576e58 authored by Kenneth Christiansen's avatar Kenneth Christiansen

i18n stuff

parent bd918769
# Files from the Gtk ditribution which have already been
# marked to allow runtime translation of messages
gdk-pixbuf/io-gif.c
gtk/gtkcolorsel.c
gtk/gtkcolorseldialog.c
gtk/gtkfilesel.c
......
The po/ directory includes two perlscripts, which is done to help
making the translations fully uptodate.
The first script is called update.pl and is supposed to be run like this:
./update.pl [OPTIONS] ...LANGCODE
This will updates the pot file (the po template, generated from the source code)
and merge them with the translations po files.
For instance to do this for Danish, type the following
./update.pl da
The update.pl script also supports other options, they are:
-V, --version shows the version
-H, --help shows this help page
-P, --pot only generates the potfile
-M, --maintain search for missing files in POTFILES.in
Especially the --maintain option is very handy for package maintainer, to check
if you included all the files that have marked strings in the POTFILES.in, so
they will be in the generated po template, the socalled pot file.
There is though one thing to take notice of with this option, please check the
configure.in file to make sure that the files you add to POTFILES.in are being
build, otherwise this can leed to "make dist" throuble.
The other utility is the desk.pl script, which will check the cvs module for
missing translation in files like *.desktop, *.directory, *.soundlist and so on.
Run the script like this:
./desk.pl [OPTIONS] ...LANGCODE ENTRY
An example use could be.
./desk.pl da
which will check all the files for missing Name[da] entries, or
./desk.pl no Comment
which will check all the files for missing Comment[no] entries. "Comment" can
here be replaced with whatever you like
All scripts support the --help option for further help, though it's not very
extensive for the moment.
Kenneth Christiansen
kenneth@gnu.org
kenneth@gnome.org
Both scripts are copyright 2000 The Free Software Foundation and me.
# GTK+ fordansket.
# Copyright (C) 1999 Free Software Foundation, Inc.
# Birger Langkjer <birger.langkjer@image.dk>, 1999.
# Kenneth Christiansen, 1999-2000
#
msgid ""
msgstr ""
"Project-Id-Version: gtk+ 1.3.0\n"
"POT-Creation-Date: 2000-07-14 16:26-0400\n"
"POT-Creation-Date: 2000-07-27 14:03+0200\n"
"PO-Revision-Date: 1999-12-08 17:14+01:00\n"
"Last-Translator: Birger Langkjer <birger.langkjer@image.dk>\n"
"Language-Team: Danish <sslug-locale@sslug.dk>\n"
......@@ -13,52 +14,51 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
#: gtk/gtkcolorsel.c:1415
#: gtk/gtkcolorsel.c:1418
msgid "Hue:"
msgstr "Gld:"
#: gtk/gtkcolorsel.c:1416
#: gtk/gtkcolorsel.c:1419
msgid "Saturation:"
msgstr "Mtning:"
#: gtk/gtkcolorsel.c:1417
#: gtk/gtkcolorsel.c:1420
msgid "Value:"
msgstr "Vrdi:"
#: gtk/gtkcolorsel.c:1418
#: gtk/gtkcolorsel.c:1421
msgid "Red:"
msgstr "Rd:"
#: gtk/gtkcolorsel.c:1419
#: gtk/gtkcolorsel.c:1422
msgid "Green:"
msgstr "Grn:"
#: gtk/gtkcolorsel.c:1420
#: gtk/gtkcolorsel.c:1423
msgid "Blue:"
msgstr "Bl:"
#: gtk/gtkcolorsel.c:1423
#: gtk/gtkcolorsel.c:1426
msgid "Opacity:"
msgstr "Gennemsigtighed:"
#: gtk/gtkcolorsel.c:1438
#, fuzzy
#: gtk/gtkcolorsel.c:1441
msgid "Hex Value:"
msgstr "Vrdi:"
msgstr "Hexvrdi:"
#: gtk/gtkcolorsel.c:1459
#: gtk/gtkcolorsel.c:1462
msgid "Custom Palette"
msgstr ""
msgstr "Personlig palette"
#: gtk/gtkcolorsel.c:1464
#: gtk/gtkcolorsel.c:1467
msgid "Set Color"
msgstr ""
msgstr "St farve"
#. The OK button
#: gtk/gtkcolorseldialog.c:105 gtk/gtkfilesel.c:567 gtk/gtkfontsel.c:952
#: gtk/gtkgamma.c:415
msgid "OK"
msgstr "OK"
msgstr "Ok"
#. The Cancel button
#: gtk/gtkcolorseldialog.c:111 gtk/gtkfilesel.c:574 gtk/gtkfilesel.c:963
......@@ -144,9 +144,8 @@ msgid "Family:"
msgstr "Familie:"
#: gtk/gtkfontsel.c:194
#, fuzzy
msgid "Style:"
msgstr "Tilfj stil:"
msgstr "Stil:"
#: gtk/gtkfontsel.c:199
msgid "Size:"
......@@ -176,11 +175,11 @@ msgstr "Gamma-v
#. shell and main vbox
#: gtk/gtkinputdialog.c:185
msgid "Input"
msgstr "Input"
msgstr "Indstrm"
#: gtk/gtkinputdialog.c:193
msgid "No input devices"
msgstr "Ingen inputenheder"
msgstr "Ingen indenheder"
#: gtk/gtkinputdialog.c:222
msgid "Device:"
......@@ -240,7 +239,7 @@ msgstr "Y-h
#: gtk/gtkinputdialog.c:476
msgid "Wheel"
msgstr ""
msgstr "Hjul"
#: gtk/gtkinputdialog.c:516
msgid "none"
......@@ -248,7 +247,7 @@ msgstr "ingen"
#: gtk/gtkinputdialog.c:550 gtk/gtkinputdialog.c:586
msgid "(disabled)"
msgstr "(slet fra)"
msgstr "(deaktiveret)"
#: gtk/gtkinputdialog.c:579
msgid "(unknown)"
......@@ -264,17 +263,17 @@ msgstr "ryd"
msgid "Page %u"
msgstr "Side %u"
#: gtk/gtkrc.c:1875
#: gtk/gtkrc.c:1872
#, c-format
msgid "Unable to locate image file in pixmap_path: \"%s\" line %d"
msgstr "Kunne ikke finde billedfil i pixmap_path: \"%s\" linje %d"
#: gtk/gtkrc.c:1878
#: gtk/gtkrc.c:1875
#, c-format
msgid "Unable to locate image file in pixmap_path: \"%s\""
msgstr "Kunne ikke finde billedfil i pixmap_path: \"%s\""
#: gtk/gtkthemes.c:103
#: gtk/gtkthemes.c:117
#, c-format
msgid "Unable to locate loadable module in module_path: \"%s\","
msgstr "Kunne ikke finde modul i module_path: \"%s\","
......@@ -282,177 +281,3 @@ msgstr "Kunne ikke finde modul i module_path: \"%s\","
#: gtk/gtktipsquery.c:180
msgid "--- No Tip ---"
msgstr "--- Ingen hjlp ---"
#~ msgid "Foundry:"
#~ msgstr "Skaber:"
#~ msgid "Weight:"
#~ msgstr "Vgt:"
#~ msgid "Slant:"
#~ msgstr "Hldning:"
#~ msgid "Set Width:"
#~ msgstr "St bredde:"
#~ msgid "Pixel Size:"
#~ msgstr "Pixelstrrelse:"
#~ msgid "Point Size:"
#~ msgstr "Punktstrrelse:"
#~ msgid "Resolution X:"
#~ msgstr "Oplsning X:"
#~ msgid "Resolution Y:"
#~ msgstr "Oplsning Y:"
#~ msgid "Spacing:"
#~ msgstr "Breddetype:"
#~ msgid "Average Width:"
#~ msgstr "Gennemsnitsbredde:"
#~ msgid "Charset:"
#~ msgstr "Tegnst:"
#~ msgid "Font Property"
#~ msgstr "Skrifttypeegenskab"
#~ msgid "Requested Value"
#~ msgstr "nsket vrdi"
#~ msgid "Actual Value"
#~ msgstr "Egentlig vrdi"
#~ msgid "Font"
#~ msgstr "Skrifttype"
#~ msgid "Font:"
#~ msgstr "Skrifttype:"
#~ msgid "Font Style:"
#~ msgstr "Skrifttypestil:"
#~ msgid "Reset Filter"
#~ msgstr "Nulstil filter"
#~ msgid "Metric:"
#~ msgstr "Metrisk:"
#~ msgid "Points"
#~ msgstr "Punkter"
#~ msgid "Pixels"
#~ msgstr "Pixler"
#~ msgid "Font Information"
#~ msgstr "Skrifttypeinformation"
#~ msgid "Requested Font Name:"
#~ msgstr "nsket skrifttypenavn:"
#~ msgid "Actual Font Name:"
#~ msgstr "Rigtigt skrifttypenavn:"
#~ msgid "%i fonts available with a total of %i styles."
#~ msgstr "%i skrifttyper tilstede med ialt %i stilvarianter."
#~ msgid "Filter"
#~ msgstr "Filter"
#~ msgid "Font Types:"
#~ msgstr "Skrifttype-typer:"
#~ msgid "Bitmap"
#~ msgstr "Bitmap"
#~ msgid "Scalable"
#~ msgstr "Skalrbar"
#~ msgid "Scaled Bitmap"
#~ msgstr "Skaleret bitmap"
#~ msgid "*"
#~ msgstr "*"
#~ msgid "(nil)"
#~ msgstr "(nul)"
#~ msgid "regular"
#~ msgstr "regulr"
#~ msgid "italic"
#~ msgstr "kursiv"
#~ msgid "oblique"
#~ msgstr "skv"
#~ msgid "reverse italic"
#~ msgstr "omvendt kursiv"
#~ msgid "reverse oblique"
#~ msgstr "omvendt skv"
#~ msgid "other"
#~ msgstr "andre"
#~ msgid "[M]"
#~ msgstr "[M]"
#~ msgid "[C]"
#~ msgstr "[C]"
#~ msgid "The selected font is not available."
#~ msgstr "Den valgte skrifttype er ikke tilstede."
#~ msgid "The selected font is not a valid font."
#~ msgstr "Du har valgt en ugyldig skrifttype."
#~ msgid "This is a 2-byte font and may not be displayed correctly."
#~ msgstr "Dette er en 2-byte skrifttype, muligvis ser den ikke sdan ud."
#~ msgid "roman"
#~ msgstr "romansk"
#~ msgid "proportional"
#~ msgstr "proportionel"
#~ msgid "monospaced"
#~ msgstr "fast bredde"
#~ msgid "char cell"
#~ msgstr "konsolskrifttype"
#~ msgid "Font: (Filter Applied)"
#~ msgstr "Skrifttype: (Filtreret)"
#~ msgid "heavy"
#~ msgstr "tung"
#~ msgid "extrabold"
#~ msgstr "ekstrafed"
#~ msgid "bold"
#~ msgstr "fed"
#~ msgid "demibold"
#~ msgstr "halvfed"
#~ msgid "medium"
#~ msgstr "medium"
#~ msgid "normal"
#~ msgstr "normal"
#~ msgid "light"
#~ msgstr "let"
#~ msgid "extralight"
#~ msgstr "ekstralet"
#~ msgid "thin"
#~ msgstr "tynd"
#~ msgid "MAX_FONTS exceeded. Some fonts may be missing."
#~ msgstr "MAX_FONTS er overskredet. Nogle skrifttyper mangler mske."
#!/usr/bin/perl -w
# GNOME entry finder utility.
# (C) 2000 The Free Software Foundation
#
# Author(s): Kenneth Christiansen
$VERSION = "1.0.0 beta 5";
$LANG = $ARGV[0];
$OPTION2 = $ARGV[1];
$SEARCH = "Name";
if (! $LANG){
print "desk.pl: missing file arguments\n";
print "Try `desk.pl --help' for more information.\n";
exit;
}
if ($OPTION2){
$SEARCH=$OPTION2;
}
if ($LANG){
if ($LANG=~/^-(.)*/){
if ("$LANG" eq "--version" || "$LANG" eq "-V"){
print "GNOME Entry finder $VERSION\n";
print "Written by Kenneth Christiansen <kenneth\@gnome.org>, 2000.\n\n";
print "Copyright (C) 2000 Free Software Foundation, Inc.\n";
print "This is free software; see the source for copying conditions. There is NO\n";
print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n";
exit;
}
elsif ($LANG eq "--help" || "$LANG" eq "-H"){
print "Usage: ./desk.pl [OPTIONS] ...LANGCODE ENTRY\n";
print "Checks .desktop and alike files for missing translations.\n\n";
print " -V, --version shows the version\n";
print " -H, --help shows this help page\n";
print "\nReport bugs to <kenneth\@gnome.org>.\n";
exit;
}
else{
print "desk.pl: invalid option -- $LANG\n";
print "Try `desk.pl --help' for more information.\n";
exit;
}
}
else{
$a="find ../ -print | egrep '.*\\.(desktop|soundlist"
."|directory)' ";
$b="find ../ -print | egrep '.*\\.(desktop|soundlist"
."|directory)' ";
print "Searching for missing $SEARCH\[$LANG\] entries...\n";
open(BUF1, "$a|");
open(BUF2, "$b|");
@buf1 = <BUF1>;
foreach my $file (@buf1){
open FILE, "<$file";
while (<FILE>) {
if ($_=~/$SEARCH\[$LANG\]\=/o){
$file = unpack("x2 A*",$file) . "\n";
push @buff1, $file;
last;
}
}
}
@buf2 = <BUF2>;
foreach my $file (@buf2){
open FILE, "<$file";
while (<FILE>) {
if ($_=~/$SEARCH\=/o){
$file = unpack("x2 A*",$file) . "\n";
push @buff2, $file;
last;
}
}
}
@bufff1 = sort (@buff1);
@bufff2 = sort (@buff2);
my %in2;
foreach (@bufff1) {
$in2{$_} = 1;
}
foreach (@bufff2){
if (!exists($in2{$_})){
push @result, $_ }
}
}
open(OUT1, ">MISSING.$LANG.$SEARCH");
print OUT1 @result ;
close OUT1;
stat("MISSING.$LANG.$SEARCH");
print "\nWell, you need to fix these:\n\n" if -s _;
print @result if -s _;
print "\nThe list is saved in MISSING.$LANG.$SEARCH\n" if -s _;
print "\nWell, it's all perfect! Congratulation!\n" if -z _;
unlink "MISSING.$LANG.$SEARCH" if -z _;
exit;
}
#!/usr/bin/perl -w
# GNOME po update utility.
# (C) 2000 The Free Software Foundation
#
# Author(s): Kenneth Christiansen
$VERSION = "1.2.5 beta 2";
$LANG = $ARGV[0];
$PACKAGE = "gnumeric";
if (! $LANG){
print "update.pl: missing file arguments\n";
print "Try `update.pl --help' for more information.\n";
exit;
}
if ($LANG=~/^-(.)*/){
if ("$LANG" eq "--version" || "$LANG" eq "-V"){
print "GNOME PO Updater $VERSION\n";
print "Written by Kenneth Christiansen <kenneth\@gnome.org>, 2000.\n\n";
print "Copyright (C) 2000 Free Software Foundation, Inc.\n";
print "This is free software; see the source for copying conditions. There is NO\n";
print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n";
exit;
}
elsif ($LANG eq "--help" || "$LANG" eq "-H"){
print "Usage: ./update.pl [OPTIONS] ...LANGCODE\n";
print "Updates pot files and merge them with the translations.\n\n";
print " -V, --version shows the version\n";
print " -H, --help shows this help page\n";
print " -P, --pot only generates the potfile\n";
print " -M, --maintain search for missing files in POTFILES.in\n";
print "\nExamples of use:\n";
print "update.sh --pot just creates a new pot file from the source\n";
print "update.sh da created new pot file and updated the da.po file\n\n";
print "Report bugs to <kenneth\@gnome.org>.\n";
exit;
}
elsif($LANG eq "--pot" || "$LANG" eq "-P"){
print "Building the $PACKAGE.pot ...";
$b="xgettext --default-domain\=$PACKAGE --directory\=\.\."
." --add-comments --keyword\=\_ --keyword\=N\_"
." --files-from\=\.\/POTFILES\.in ";
$b1="test \! -f $PACKAGE\.po \|\| \( rm -f \.\/$PACKAGE\.pot "
."&& mv $PACKAGE\.po \.\/$PACKAGE\.pot \)";
`$b`;
`$b1`;
print "...done\n";
exit;
}
elsif ($LANG eq "--maintain" || "$LANG" eq "-M"){
$a="find ../ -print | egrep '.*\\.(c|y|cc|c++|h|gob)' ";
open(BUF2, "POTFILES.in") || die "update.pl: there's not POTFILES.in!!!\n";
print "Searching for missing _(\" \") entries...\n";
open(BUF1, "$a|");
@buf2 = <BUF2>;
@buf1 = <BUF1>;
if (-s "POTFILES.ignore"){
open FILE, "POTFILES.ignore";
while (<FILE>) {
if ($_=~/^[^#]/o){
push @bup, $_;
}
}
print "POTFILES.ignore found! Ignoring files...\n";
@buf2 = (@bup, @buf2);
}
foreach my $file (@buf1){
open FILE, "<$file";
while (<FILE>) {
if ($_=~/_\(\"/o){
$file = unpack("x3 A*",$file) . "\n";
push @buff1, $file;
last;
}
}
}
@bufff1 = sort (@buff1);
@bufff2 = sort (@buf2);
my %in2;
foreach (@bufff2) {
$in2{$_} = 1;
}
foreach (@bufff1){
if (!exists($in2{$_})){
push @result, $_ }
}
if(@result){
open OUT, ">POTFILES.in.missing";
print OUT @result;
print "\nHere are the results:\n\n", @result, "\n";
print "File POTFILES.in.missing is being placed in directory...\n";
print "Please add the files that should be ignored in POTFILES.ignore\n";
}
else{
print "\nWell, it's all perfect! Congratulation!\n";
}
}
else{
print "update.pl: invalid option -- $LANG\n";
print "Try `update.pl --help' for more information.\n";
}
exit;
}
elsif(-s "$LANG.po"){
print "Building the $PACKAGE.pot ...";
$c="xgettext --default-domain\=$PACKAGE --directory\=\.\."
." --add-comments --keyword\=\_ --keyword\=N\_"
." --files-from\=\.\/POTFILES\.in ";
$c1="test \! -f $PACKAGE\.po \|\| \( rm -f \.\/$PACKAGE\.pot "
."&& mv $PACKAGE\.po \.\/$PACKAGE\.pot \)";
`$c`;
`$c1`;
print "...done";
print "\nNow merging $LANG.po with $PACKAGE.pot, and creating an updated $LANG.po ...\n";
$d="mv $LANG.po $LANG.po.old && msgmerge $LANG.po.old $PACKAGE.pot -o $LANG.po";
$f="msgfmt --statistics $LANG.po";
`$d`;
`$f`;
unlink "messages";
unlink "$LANG.po.old";
exit;
}
else{
print "update.pl: sorry $LANG.po does not exist!\n";
print "Try `update.pl --help' for more information.\n";
exit;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment