diff options
author | Jonas Smedegaard <dr@jones.dk> | 2008-04-13 15:48:24 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2008-04-13 15:48:24 +0200 |
commit | b50d4c1f4cd2aa88440f5d01465f73aa987210c2 (patch) | |
tree | 8cd60f696344817ff563c5a9e27094a49a8a381e | |
parent | 4e8adf29ab24fec68a1e5ac8ccb5553a3ff25133 (diff) | |
parent | f2ef77fe6c56e979a64f307ff44b9b575b9d12f2 (diff) |
Merge branch 'master' of debian@coreander:/srv/git/source.jones.dk/ikiwiki
Manually resolved conflicts:
.gitignore
Makefile
ikiwiki.setup
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | Makefile | 184 | ||||
-rw-r--r-- | README | 112 | ||||
-rw-r--r-- | TODO | 11 | ||||
-rw-r--r-- | ikiwiki.setup | 4 | ||||
-rw-r--r-- | perl/Locale/Po4a/Text.pm | 260 | ||||
-rw-r--r-- | po/smiley.da.po | 258 | ||||
-rw-r--r-- | po/smiley.pot | 246 |
8 files changed, 1066 insertions, 15 deletions
@@ -1,2 +1,8 @@ +/basewiki +/basewiki_l10n +/smiley +/smiley_l10n +/templates +/templates_l10n /content /content_dummy @@ -1,13 +1,171 @@ -#underlays = basewiki smiley templates -underlays = templates -#locale = danish -master = master -#master = master-LOCALE - -all: $(underlays) - -$(underlays): - mkdir $@ - cd $@ && git init - cd $@ && git remote add -f -t $(master:LOCALE=$(locale)) -m $(master:LOCALE=$(locale)) origin http://source.jones.dk/sukker_$@.git - cd $@ && git merge origin +SOURCES = ikiwiki + +ikiwiki_ORIGIN = git://source.jones.dk/ikiwiki_MODULE +ikiwiki_MODULES = templates basewiki smiley +ikiwiki_POMODULES = smiley +ikiwiki_BRANCH = master-LOCALE +ikiwiki_LOCALES = da +#ikiwiki_POLOCALES = da + +#dummy_MODULES = content_dummy + +# uncomment this when ikiwiki.setup is configured for the local environment +#CONFIGS = ikiwiki.setup + +# Everything after this is generic + +# FIXME: Not all of these are used within templates +masterdir = $(module) +l10ndir = $(module)_l10n/$(locale) +podir = po + +all: $(SOURCES) + +install:: +ifeq ($(strip $(CONFIGS)),) + $(error Please configure ikiwiki.setup and then uncomment it at the top of the Makefile!) +endif + + + +# 1:source 2:locales +define SOURCE_template +$(1): $$($(1)_MODULES) $(dummy_MODULES) + +.PHONY: $(1) +endef +$(foreach source,$(SOURCES),$(eval $(call SOURCE_template,$(source),$($(source)_LOCALES)))) + + + +# 1:moduledir 2:locale 3:mastermodule 4:source +define MODULE_template +$(4): $(1) + +$(1): origin = $$(subst MODULE,$(3),$$($(4)_ORIGIN)) +$(1): master = $$(subst -LOCALE,$(2:%=-$(2)),$$($(4)_BRANCH)) +$(1): + mkdir -p $$@ + @if [ -d "$$@/.git" ]; then \ + cd $$@ && \ + git pull; \ + else \ + cd $$@ && \ + git init && \ + git remote add -f -t $$(master) -m $$(master) origin $$(origin) && \ + git merge origin && \ + git config remote.origin.push +refs/heads/master:refs/heads/$$(master); \ + fi + + +# WARNING: this may wipe unrelated files too! +ultraclean:: + rm -rf "$(1)" +ifneq ($(2),) + rm -rf "$(dir $(1))" +endif + +.PHONY: $(1) +endef +$(foreach source,$(SOURCES),$(foreach module,$($(source)_MODULES),$(eval $(call MODULE_template,$(masterdir),,$(module),$(source))))) +$(foreach source,$(SOURCES),$(foreach module,$($(source)_MODULES),$(foreach locale,$($(source)_LOCALES),$(eval $(call MODULE_template,$(l10ndir),$(locale),$(module),$(source)))))) + + + +# 1:moduledir 2:locale 3:mastermodule 4:source +define POT_template +fileformat = $(if $(filter templates,$(3)),htmltemplate,text) +filetype = $(if $(filter templates,$(3)),tmpl,mdwn) +ALL_POTFILES += $(podir)/$(3).pot +$(3)_L10NFILES = $$(patsubst $(1)/%,%,$$(shell find $(1) -type f -name '*.$$(filetype)')) +MASTER_L10NFILES += $$(patsubst %,$(1)/%,$$($(3)_L10NFILES)) + +$(podir)/$(3).pot: $(1) + cd "$(1)" && PERL5LIB="$(CURDIR)/perl" po4a-gettextize -M UTF-8 -L UTF-8 -f $$(fileformat) -o markdown $$(patsubst %,-m %,$$($(3)_L10NFILES)) -p $(CURDIR)/$$@ + +.PHONY: $(1) +endef +$(foreach source,$(SOURCES),$(foreach module,$($(source)_POMODULES),$(eval $(call POT_template,$(masterdir),,$(module),$(source))))) + + + +# 1:moduledir 2:locale 3:mastermodule 4:source 5:originmodule +define INITPO_template +fileformat = $(if $(filter templates,$(3)),htmltemplate,text) +filetype = $(if $(filter templates,$(3)),tmpl,mdwn) +ALL_POFILES += $(podir)/$(3).$(2).po +LOCALE_L10NFILES += $$(patsubst %,$(1)/%,$$($(3)_L10NFILES)) + +$(4)_POMODULES := $(filter-out $(3),$$($(4)_POMODULES)) +$(4)_POLOCALES := $(filter-out $(2),$$($(4)_POLOCALES)) + +$(podir)/$(3).$(2).po: $(3) $(5) + cd "$(3)" && PERL5LIB="$(CURDIR)/perl" po4a-gettextize -M UTF-8 -L UTF-8 -f $$(fileformat) -o markdown $$(patsubst %,-m %,$$($(3)_L10NFILES)) $$(patsubst %,-l $$(CURDIR)/$(1)/%,$($(3)_L10NFILES)) -p $(CURDIR)/$$@ + +# TODO: Implement the below for automated tests, after unfuzzing the above like this: +# grep -v '^#, fuzzy$' | sed 's/^#, fuzzy,/#,/' +# +# FIXME: needs to depend also on its masterfile +#$$(patsubst %,$(1)/%,$$($(3)_L10NFILES)): $(podir)/$(3).$(2).po +# mkdir -p $(1) +# cd "$(1)" && PERL5LIB="$(CURDIR)/perl" po4a-translate -M UTF-8 -L UTF-8 -k 0 -f $(fileformat) -o markdown $$(patsubst $(1)/%,-m $(CURDIR)/$(3)/%,$$@) -p $(CURDIR)/$(podir)/$(3).$(locale).po -l $(CURDIR)/$$@ +endef +$(foreach source,$(SOURCES),$(foreach module,$(po-init-modules),$(foreach locale,$(po-init-locales),$(eval $(call INITPO_template,$(l10ndir),$(locale),$(module),$(source),$(if $(po-init-fromlocale),$(module)_l10n/$(po-init-fromlocale),$(module))))))) + + + +# 1:moduledir 2:locale 3:mastermodule 4:source +define PO_template +fileformat = $(if $(filter templates,$(3)),htmltemplate,text) +filetype = $(if $(filter templates,$(3)),tmpl,mdwn) +ALL_POFILES += $(podir)/$(3).$(2).po +LOCALE_L10NFILES += $$(patsubst %,$(1)/%,$$($(3)_L10NFILES)) + +$(podir)/$(3).$(2).po: $(3) + cd "$(3)" && PERL5LIB="$(CURDIR)/perl" po4a-updatepo -M UTF-8 -f $(fileformat) -o markdown $$(patsubst %,-m %,$$($(3)_L10NFILES)) -p $(CURDIR)/$$@ + +$$(patsubst %,$(1)/%,$$($(3)_L10NFILES)): $(podir)/$(3).$(2).po + mkdir -p $(1) + cd "$(1)" && PERL5LIB="$(CURDIR)/perl" po4a-translate -M UTF-8 -L UTF-8 -k 100 -f $(fileformat) -o markdown $$(patsubst $(1)/%,-m $$(CURDIR)/$(3)/%,$$@) -p $(CURDIR)/$(podir)/$(3).$(locale).po -l $(CURDIR)/$$@ +endef +# Only update if not initializing - can't do both at once +ifeq ($(po-init-modules),) +$(foreach source,$(SOURCES),$(foreach module,$($(source)_POMODULES),$(foreach locale,$($(source)_POLOCALES),$(eval $(call PO_template,$(l10ndir),$(locale),$(module),$(source)))))) +endif + + + +# 1:dummydir +define DUMMYMODULE_template +$(1): + mkdir -p $$@ + +# WARNING: this may wipe unrelated files too! +ultraclean:: + rm -rf "$(1)" +endef +$(foreach module,$(dummy_MODULES),$(eval $(call DUMMYMODULE_template,$(masterdir)))) + + + +# 1:configfile +define CONFIG_template +$(1): + mkdir -p $$@ + +# WARNING: this may wipe unrelated files too! +install:: + ikiwiki --setup $(1) --rebuild +endef +$(foreach config,$(CONFIGS),$(eval $(call CONFIG_template,$(config)))) + + + +pot: $(ALL_POTFILES) +po: $(ALL_POFILES) +$(LOCALE_L10NFILES): $(MASTER_L10NFILES) +translations: po $(LOCALE_L10NFILES) + + + +.PHONY: all $(SOURCES) pot po translations install ultraclean @@ -0,0 +1,112 @@ +Ikiwiki w/ translations +======================= + +Ikiwiki[1] is a perl-based wiki compiler. + +This is routines to manage translatable parts of Ikiwiki and translations into +the following locales: + + * danish (da) by Jonas Smedegaard <dr@jones.dk> + + +Getting the source +------------------ + +This README file is available at http://source.jones.dk/ together with a GIT +repository with source of the translation routines. Pull it like this: + + git clone git://source.jones.dk/ikiwiki + + +Installation +------------ + +To pull in all translatable and translated parts, do this: + + make + +If you have write access to one or more GIT repositories, you can override +their locations like this: + + make ikiwiki_ORIGIN=debian@source.jones.dk:/srv/git/source.jones.dk/ikiwiki_MODULE.git + +To remove all translatable and translated parts, and anything else below those +directories without warning, do this: + + make ultraclean + + +Customizing +----------- + +To publish your own forked repository through web, you first need to create a +special public repository that you "push" your changes into from your private +working repository - like this: + + GIT_DIR=public_dir/repository_name.git git --bare init --shared + chmod +x public_dir/repository_name.git/hooks/post-update + +To actually use your newly created public repository created above, you need to +populate it with your current working repository (the --all option is only this +once, not on subsequent pushes) - like this: + + git config remote.origin.url git-reference-to-public-repository + git push --all + +To instead populate your newly created public repository with a multi-branched +local repository, first make a complete clone with all branches setup locally, +and push it all - like this for repository with master and master-da branches: + + git clone git-reference-to-old-public-repository some-temp-dir + cd some-temp-dir + git checkout -b master-da origin/master-da + git config remote.origin.url git-reference-to-public-repository + git push --all + +To resyncronize an older fork of the repository with newer upstream changes, do +like this (skip first command on subsequent updates): + + git remote add ikiwiki git://source.jones.dk/ikiwiki + git pull ikiwiki master + + +Translation +----------- + +Some modules (markdown files - template files are not yet supported by po4a) is +translatable through the gettext system using PO files. + +To update PO templates for all modules marked as supporting gettext, do this: + + make pot + +To update PO files for all supported locales of all supported modules, do this: + + make po + +To update all gettext-supported modules based on newer PO files, do this: + + make translations + +To initialize new locales, do like this (all on one line): + + make po po-init-modules="module1 module2" po-init-locales="da sv no" + +If you want to initialize based on an existing locale rather than the master, +add the origin locale to the above make command similar to this: + + make po [...] po-init-fromlocale=de + +To add new modules and locales as gettext supported, add them to *_POMODULES +and *_POLOCALES. Keep them alse in *_MODULES and *_LOCALES to support pulling +final translations without recreating from PO files. + +Please beware that the automated po4a process is not perfected yet, so check +the result before use. + + +---- + +References: + +[1] http://ikiwiki.info/ @@ -0,0 +1,11 @@ +Stuff that ought to be changed +============================== + +Restructure l10n directories +---------------------------- + +Current l10n directory structure was made to mimic that of the 3rd party lang +plugin. + +Some plugins, notably the smiley plugin, however, expect to find its add-on +underlay beside the core underlay directory, which breaks currently. diff --git a/ikiwiki.setup b/ikiwiki.setup index 379a163..8a9b8ac 100644 --- a/ikiwiki.setup +++ b/ikiwiki.setup @@ -96,9 +96,9 @@ use IkiWiki::Setup::Standard { ], # Default to generating rss feeds for blogs? - rss => 1, + #rss => 1, # Default to generating atom feeds for blogs? - atom => 1, + #atom => 1, # Allow generating feeds even if not generated by default? #allowrss => 1, #allowatom => 1, diff --git a/perl/Locale/Po4a/Text.pm b/perl/Locale/Po4a/Text.pm new file mode 100644 index 0000000..ae62667 --- /dev/null +++ b/perl/Locale/Po4a/Text.pm @@ -0,0 +1,260 @@ +#!/usr/bin/perl -w + +# Po4a::Text.pm +# +# extract and translate translatable strings from a text documents +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# +######################################################################## + +=head1 NAME + +Locale::Po4a::Text - Convert text documents from/to PO files + +=head1 DESCRIPTION + +The po4a (po for anything) project goal is to ease translations (and more +interestingly, the maintenance of translations) using gettext tools on +areas where they were not expected like documentation. + +Locale::Po4a::Text is a module to help the translation of text documents into +other [human] languages. + +Paragraphs are splitted on empty lines (or lines containing only spaces or +tabulations). + +If a paragraph contains a line starting by a space (or tabulation), this +paragraph won't be rewrapped. + +=cut + +package Locale::Po4a::Text; + +use 5.006; +use strict; +use warnings; + +require Exporter; +use vars qw(@ISA @EXPORT); +@ISA = qw(Locale::Po4a::TransTractor); +@EXPORT = qw(); + +use Locale::Po4a::TransTractor; +use Locale::Po4a::Common; + +=head1 OPTIONS ACCEPTED BY THIS MODULE + +These are this module's particular options: + +=over + +=item B<nobullet> + +Deactivate detection of bullets. + +By default, when a bullet is detected, the bullet paragraph is not considered +as a verbatim paragraph (with the no-wrap flag in the PO file), but the module +rewrap this paragraph in the generated PO file and in the translation. + +=cut + +my $bullets = 1; + +=item B<debianchangelog> + +Handle the header and footer of +released versions, which only contain non translatable informations. + +=cut + +my $debianchangelog = 0; + +=item B<markdown> + +Handle some special markup in Markdown-formatted texts. + +=cut + +my $markdown = 0; + +sub initialize { + my $self = shift; + my %options = @_; + + $self->{options}{'nobullets'}=''; + + if (defined $options{'nobullets'}) { + $bullets = 0; + } + + if (defined $options{'debianchangelog'}) { + $debianchangelog=1; + } + + if (defined $options{'markdown'}) { + $markdown=1; + } +} + +sub parse { + my $self = shift; + my ($line,$ref); + my $paragraph=""; + my $wrapped_mode = 1; + my $expect_header = 1; + ($line,$ref)=$self->shiftline(); + while (defined($line)) { + chomp($line); + $self->{ref}="$ref"; + if ($debianchangelog and + $expect_header and + $line =~ /^(\w[-+0-9a-z.]*)\ \(([^\(\) \t]+)\) # src, version + \s+([-+0-9a-z.]+); # distribution + \s*urgency\s*\=\s*(.*\S)\s*$/ix) { # + do_paragraph($self,$paragraph,$wrapped_mode); + $paragraph=""; + $self->pushline("$line\n"); + $expect_header=0; + } elsif ($debianchangelog and + $line =~ m/^ \-\- (.*) <(.*)> ((\w+\,\s*)?\d{1,2}\s+\w+\s+\d{4}\s+\d{1,2}:\d\d:\d\d\s+[-+]\d{4}(\s+\([^\\\(\)]\))?)$/) { + # Found trailer + do_paragraph($self,$paragraph,$wrapped_mode); + $paragraph=""; + $self->pushline("$line\n"); + $expect_header=1; + } elsif ($line =~ /^\s*$/) { + # Break paragraphs on lines containing only spaces + do_paragraph($self,$paragraph,$wrapped_mode); + $self->pushline("\n") unless ( $wrapped_mode == 0 + or $paragraph eq ""); + $paragraph=""; + $wrapped_mode = 1; + $self->pushline($line."\n"); + } elsif ( $line =~ /^=*$/ + or $line =~ /^_*$/ + or $line =~ /^-*$/) { + $wrapped_mode = 0; + $paragraph .= $line."\n"; + do_paragraph($self,$paragraph,$wrapped_mode); + $paragraph=""; + $wrapped_mode = 1; + } elsif ($markdown and + ( $line =~ m/^#/ # headline + or $line =~ m/^>/ # blockquote + or $line =~ m/[<>]/ # maybe html + or $line =~ m/^"""/ # textblock inside macro end + or $line =~ m/"""$/)) { # textblock inside macro begin + # Found headline + $wrapped_mode = 0; + $paragraph .= $line."\n"; + do_paragraph($self,$paragraph,$wrapped_mode); + $paragraph=""; + $wrapped_mode = 1; + } else { + if ($line =~ /^\s/) { + # A line starting by a space indicates a non-wrap + # paragraph + $wrapped_mode = 0; + } + $paragraph .= $line."\n"; + } + # paragraphs starting by a bullet, or numbered + # or paragraphs with a line containing many consecutive spaces + # (more than 3) + # are considered as verbatim paragraphs + $wrapped_mode = 0 if ( $paragraph =~ m/^(\*|[0-9]+[.)] )/s + or $paragraph =~ m/[ \t][ \t][ \t]/s); + ($line,$ref)=$self->shiftline(); + } + if (length $paragraph) { + do_paragraph($self,$paragraph,$wrapped_mode); + } +} + +sub do_paragraph { + my ($self, $paragraph, $wrap) = (shift, shift, shift); + return if ($paragraph eq ""); + + if ($bullets) { + # Detect bullets + # | * blah blah + # |<spaces> blah + # | ^-- aligned + # <empty line> + # + # Other bullets supported: + # - blah o blah + blah + # 1. blah 1) blah (1) blah +TEST_BULLET: + if ($paragraph =~ m/^(\s*)((?:[-*o+]|([0-9]+[.\)])|\([0-9]+\))\s+)([^\n]*\n)(.*)$/s) { + my $para = $5; + my $bullet = $2; + my $indent1 = $1; + my $indent2 = "$1".(' ' x length $bullet); + my $text = $4; + while ($para !~ m/$indent2(?:[-*o+]|([0-9]+[.\)])|\([0-9]+\))\s+/ + and $para =~ s/^$indent2(\S[^\n]*\n)//s) { + $text .= $1; + } + # TODO: detect if a line starts with the same bullet + if ($text !~ m/\S[ \t][ \t][ \t]+\S/s) { + my $bullet_regex = quotemeta($indent1.$bullet); + $bullet_regex =~ s/[0-9]+/\\d\+/; + if ($para eq '' or $para =~ m/^$bullet_regex\S/s) { + my $trans = $self->translate($text, + $self->{ref}, + "Bullet: '$indent1$bullet'", + "wrap" => 1, + "wrapcol" => - (length $indent2)); + $trans =~ s/^/$indent1$bullet/s; + $trans =~ s/\n(.)/\n$indent2$1/sg; + $self->pushline( $trans."\n" ); + if ($para eq '') { + return; + } else { + # Another bullet + $paragraph = $para; + goto TEST_BULLET; + } + } + } + } + } + # TODO: detect indented paragraphs + + $self->pushline( $self->translate($paragraph, + $self->{ref}, + "Plain text", + "wrap" => $wrap) ); +} + +1; + +=head1 STATUS OF THIS MODULE + +Tested successfully on simple text files and NEWS.Debian files. + +=head1 AUTHORS + + Nicolas François <nicolas.francois@centraliens.net> + +=head1 COPYRIGHT AND LICENSE + + Copyright 2005,2007 by Nicolas FRANÇOIS <nicolas.francois@centraliens.net>. + +This program is free software; you may redistribute it and/or modify it +under the terms of GPL (see the COPYING file). diff --git a/po/smiley.da.po b/po/smiley.da.po new file mode 100644 index 0000000..0b21ccc --- /dev/null +++ b/po/smiley.da.po @@ -0,0 +1,258 @@ +# Danish translation of smiley pages for ikiwiki. +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the ikiwiki package. +# Jonas Smedegaard <dr@jones.dk>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: ikiwiki smiley 2.30\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-02-03 14:52-0500\n" +"PO-Revision-Date: 2008-02-11 00:12+0100\n" +"Last-Translator: Jonas Smedegaard <dr@jones.dk>\n" +"Language-Team: Danish <dansk@klid.dk>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Danish\n" +"X-Poedit-Country: DENMARK\n" +"X-Poedit-SourceCharset: utf-8\n" + +# type: Plain text +#: smileys.mdwn:3 +msgid "" +"This page is used to control what smileys are supported by the wiki. Just " +"write the text of a smiley to display it." +msgstr "" +"Denne side bruges til at styre hvilke smileys denne wiki understøtter. " +"Skriv blot smiley-teksten for at vise den." + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:)\t[[smileys/smile.png]]" +msgstr "\\:)\t[[smileys/smile.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-)\t[[smileys/smile.png]]" +msgstr "\\:-)\t[[smileys/smile.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:D\t[[smileys/biggrin.png]]" +msgstr "\\:D\t[[smileys/biggrin.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-D\t[[smileys/biggrin.png]]" +msgstr "\\:-D\t[[smileys/biggrin.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\B)\t[[smileys/smile2.png]]" +msgstr "\\B)\t[[smileys/smile2.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\B-)\t[[smileys/smile2.png]]" +msgstr "\\B-)\t[[smileys/smile2.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:))\t[[smileys/smile3.png]]" +msgstr "\\:))\t[[smileys/smile3.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-))\t[[smileys/smile3.png]]" +msgstr "\\:-))\t[[smileys/smile3.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\;)\t[[smileys/smile4.png]]" +msgstr "\\;)\t[[smileys/smile4.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\;-)\t[[smileys/smile4.png]]" +msgstr "\\;-)\t[[smileys/smile4.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:\\\t[[smileys/ohwell.png]]" +msgstr "\\:\\\t[[smileys/ohwell.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-\\\t[[smileys/ohwell.png]]" +msgstr "\\:-\\\t[[smileys/ohwell.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:/\t[[smileys/ohwell.png]]" +msgstr "\\:/\t[[smileys/ohwell.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-/\t[[smileys/ohwell.png]]" +msgstr "\\:-/\t[[smileys/ohwell.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:|\t[[smileys/neutral.png]]" +msgstr "\\:|\t[[smileys/neutral.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-|\t[[smileys/neutral.png]]" +msgstr "\\:-|\t[[smileys/neutral.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\>:>\t[[smileys/devil.png]]" +msgstr "\\>:>\t[[smileys/devil.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:22 +msgid "\\X-(\t[[smileys/angry.png]]" +msgstr "\\X-(\t[[smileys/angry.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:22 +msgid "\\<:(\t[[smileys/frown.png]]" +msgstr "\\<:(\t[[smileys/frown.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\:(\t[[smileys/sad.png]]" +msgstr "\\:(\t[[smileys/sad.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\:-(\t[[smileys/sad.png]]" +msgstr "\\:-(\t[[smileys/sad.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\:-?\t[[smileys/tongue.png]]" +msgstr "\\:-?\t[[smileys/tongue.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\:-P\t[[smileys/tongue.png]]" +msgstr "\\:-P\t[[smileys/tongue.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\:o\t[[smileys/redface.png]]" +msgstr "\\:o\t[[smileys/redface.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\|)\t[[smileys/tired.png]]" +msgstr "\\|)\t[[smileys/tired.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\|-)\t[[smileys/tired.png]]" +msgstr "\\|-)\t[[smileys/tired.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{OK}\t[[smileys/thumbs-up.png]]" +msgstr "\\{OK}\t[[smileys/thumbs-up.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{X}\t[[smileys/icon-error.png]]" +msgstr "\\{X}\t[[smileys/icon-error.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{i}\t[[smileys/icon-info.png]]" +msgstr "\\{i}\t[[smileys/icon-info.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\(./)\t[[smileys/checkmark.png]]" +msgstr "\\(./)\t[[smileys/checkmark.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\(!)\t[[smileys/idea.png]]" +msgstr "\\(!)\t[[smileys/idea.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\[!]\t[[smileys/attention.png]]" +msgstr "\\[!]\t[[smileys/attention.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\/!\\\t[[smileys/alert.png]]" +msgstr "\\/!\\\t[[smileys/alert.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\(?)\t[[smileys/question.png]]" +msgstr "\\(?)\t[[smileys/question.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{*}\t[[smileys/star_on.png]]" +msgstr "\\{*}\t[[smileys/star_on.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{o}\t[[smileys/star_off.png]]" +msgstr "\\{o}\t[[smileys/star_off.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{1} [[smileys/prio1.png]]" +msgstr "\\{1} [[smileys/prio1.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{2} [[smileys/prio2.png]]" +msgstr "\\{2} [[smileys/prio2.png]]" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{3} [[smileys/prio3.png]]" +msgstr "\\{3} [[smileys/prio3.png]]" + +# type: Plain text +#: smileys.mdwn:45 +msgid "For example: {*} B) {*}" +msgstr "Eksempel: {*} B) {*}" + +# type: Plain text +#: smileys.mdwn:46 +#, no-wrap +msgid "----\n" +msgstr "----\n" + +# type: Plain text +#: smileys.mdwn:52 +msgid "" +"To change the supported smileys, just edit the lists on this page. Note " +"that the format is important; each list item should start with the text that " +"is turned into the smiley, escaped so that users can see what produces it, " +"followed by a [[ikiwiki/WikiLink]] to the image to display." +msgstr "" +"Redigér listen på denne side for at ændre understøttede smileys. Bemærk at " +"formatet er vigtigt: hvert listeemne skal begynde med teksten der skal " +"omdannes til en smiley, omskrevet så brugere kan se hvordan det dannes, " +"efterfulgt af en [[ikiwiki/WikiLink]] til billedet der skal vises." + +# type: Plain text +#: smileys.mdwn:55 +msgid "" +"/!\\ Bear in mind that the link to the image needs to be written in a way " +"that will work if it's copied to other pages on the wiki. So be sure to " +"include the smileys directory in the path to the file." +msgstr "" +"/!\\ Tænk på at det er nødvendigt at skrive henvisningen til billedet på en " +"måde så det virker hvis det kopieres til andre sider på wikien. Sørg derfor " +"for at medtage smileys direkte i stien til filen." diff --git a/po/smiley.pot b/po/smiley.pot new file mode 100644 index 0000000..e4f2c95 --- /dev/null +++ b/po/smiley.pot @@ -0,0 +1,246 @@ +# LOCALE translation of smiley pages for ikiwiki. +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the ikiwiki package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ikiwiki smiley 2.30\n" +"POT-Creation-Date: 2008-02-19 00:42+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: ENCODING" + +# type: Plain text +#: smileys.mdwn:3 +msgid "" +"This page is used to control what smileys are supported by the wiki. Just " +"write the text of a smiley to display it." +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:)\t[[smileys/smile.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-)\t[[smileys/smile.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:D\t[[smileys/biggrin.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-D\t[[smileys/biggrin.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\B)\t[[smileys/smile2.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\B-)\t[[smileys/smile2.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:))\t[[smileys/smile3.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-))\t[[smileys/smile3.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\;)\t[[smileys/smile4.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\;-)\t[[smileys/smile4.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:\\\t[[smileys/ohwell.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-\\\t[[smileys/ohwell.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:/\t[[smileys/ohwell.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-/\t[[smileys/ohwell.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:|\t[[smileys/neutral.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\:-|\t[[smileys/neutral.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:20 +msgid "\\>:>\t[[smileys/devil.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:22 +msgid "\\X-(\t[[smileys/angry.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:22 +msgid "\\<:(\t[[smileys/frown.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\:(\t[[smileys/sad.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\:-(\t[[smileys/sad.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\:-?\t[[smileys/tongue.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\:-P\t[[smileys/tongue.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\:o\t[[smileys/redface.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\|)\t[[smileys/tired.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\|-)\t[[smileys/tired.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{OK}\t[[smileys/thumbs-up.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{X}\t[[smileys/icon-error.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{i}\t[[smileys/icon-info.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\(./)\t[[smileys/checkmark.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\(!)\t[[smileys/idea.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\[!]\t[[smileys/attention.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\/!\\\t[[smileys/alert.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\(?)\t[[smileys/question.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{*}\t[[smileys/star_on.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{o}\t[[smileys/star_off.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{1} [[smileys/prio1.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{2} [[smileys/prio2.png]]" +msgstr "" + +# type: Bullet: '* ' +#: smileys.mdwn:43 +msgid "\\{3} [[smileys/prio3.png]]" +msgstr "" + +# type: Plain text +#: smileys.mdwn:45 +msgid "For example: {*} B) {*}" +msgstr "" + +# type: Plain text +#: smileys.mdwn:46 +#, no-wrap +msgid "----\n" +msgstr "" + +# type: Plain text +#: smileys.mdwn:52 +msgid "" +"To change the supported smileys, just edit the lists on this page. Note " +"that the format is important; each list item should start with the text that " +"is turned into the smiley, escaped so that users can see what produces it, " +"followed by a [[ikiwiki/WikiLink]] to the image to display." +msgstr "" + +# type: Plain text +#: smileys.mdwn:55 +msgid "" +"/!\\ Bear in mind that the link to the image needs to be written in a way " +"that will work if it's copied to other pages on the wiki. So be sure to " +"include the smileys directory in the path to the file." +msgstr "" |