# Latvian translation of gettext-examples
# Copyright (C) 2009 Yoyodyne, Inc. (msgids)
# This file is distributed under the same license as the gettext package.
# Arvis Lācis <arvis.lacis@inbox.lv>, 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: gettext-examples-0.17\n"
"Report-Msgid-Bugs-To: bug-gettext@gnu.org\n"
"POT-Creation-Date: 2020-04-11 22:35+0200\n"
"PO-Revision-Date: 2009-07-28 21:26+0100\n"
"Last-Translator: Rihards Priedītis <rprieditis@gmail.com>\n"
"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Poedit-Language: Latvian\n"
"X-Poedit-Country: LATVIA\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"

#: hello-c/hello.c:30 hello-c-gnome/hello.c:46
#: hello-c-gnome3/hello.desktop.in.in:5 hello-c++/hello.cc:39
#: hello-c++-qt/hello.cc:45 hello-c++-kde/hellowindow.cc:42
#: hello-c++-gnome/hello.cc:50 hello-c++-wxwidgets/hello.cc:68
#: hello-objc/hello.m:30 hello-objc-gnustep/Hello.m:49
#: hello-objc-gnome/hello.m:47 hello-sh/hello.sh:14 hello-python/hello.py.in:12
#: hello-clisp/hello.lisp.in:11 hello-librep/hello.jl.in:12
#: hello-guile/hello.scm:15 hello-smalltalk/hello.st.in:31
#: hello-java/Hello.java:14 hello-java-awt/Hello.java:23
#: hello-java-swing/Hello.java:20 hello-java-qtjambi/Hello.java:27
#: hello-csharp/hello.cs:14 hello-csharp-forms/hello.cs:29
#: hello-gawk/hello.awk:11 hello-pascal/hello.hello_world
#: hello-ycp/hello.ycp:15 hello-tcl/hello.tcl:11 hello-tcl-tk/hello.tcl:13
#: hello-perl/hello-1.pl.in:17 hello-perl/hello-2.pl.in:12
#: hello-php/hello.php:12
msgid "Hello, world!"
msgstr "Sveika, pasaule!"

#: hello-c/hello.c:31 hello-c-gnome/hello.c:51 hello-c++/hello.cc:40
#: hello-c++-gnome/hello.cc:55 hello-c++-wxwidgets/hello.cc:71
#: hello-objc/hello.m:31 hello-objc-gnustep/Hello.m:58
#: hello-objc-gnome/hello.m:52 hello-librep/hello.jl.in:14
#: hello-gawk/hello.awk:12 hello-pascal/hello.running_as hello-tcl/hello.tcl:12
#: hello-tcl-tk/hello.tcl:16 hello-perl/hello-1.pl.in:19 hello-php/hello.php:14
#, php-format
msgid "This program is running as process number %d."
msgstr "Šī programma darbojas kā process ar numuru %d."

#: hello-c-gnome3/hello.c:79
#, fuzzy, c-format
msgid ""
"<big>Hello world!</big>\n"
"This program is running as process number <b>%d</b>."
msgstr "Šī programma darbojas kā process ar numuru %d."

#: hello-c-gnome3/hello.c:84
msgid "<big><u>This is another text</u></big>"
msgstr ""

#: hello-c-gnome3/hello.c:86
msgid "<big><i>This is yet another text</i></big>"
msgstr ""

#: hello-c-gnome3/hello.desktop.in.in:4
msgid "Hello"
msgstr ""

#: hello-c-gnome3/hello.ui:6
msgid "Example Application"
msgstr ""

#: hello-c-gnome3/hello.ui:34
msgid "Update text"
msgstr ""

#: hello-c-gnome3/hello.gschema.xml:8
msgid "Use XML markup"
msgstr ""

#: hello-c-gnome3/hello.gschema.xml:9
msgid "Whether to use XML markup in the text."
msgstr ""

#: hello-c++-qt/hello.cc:52 hello-c++-kde/hellowindow.cc:49
#: hello-smalltalk/hello.st.in:32 hello-ycp/hello.ycp:19
#, ycp-format
msgid "This program is running as process number %1."
msgstr "Šī programma darbojas kā process ar numuru %1."

#: hello-c++-kde/hello.cc:46
msgid "Hello example"
msgstr "Sveiki paraugs"

#: hello-c++-kde/hello.cc:48
msgid "Hello world example"
msgstr "Sveika pasaule paraugs"

#: hello-sh/hello.sh:17
#, sh-format
msgid "This program is running as process number $pid."
msgstr "Šī programma darbojas kā process ar numuru $pid."

#: hello-python/hello.py.in:13
#, python-format
msgid "This program is running as process number %(pid)d."
msgstr "Šī programma darbojas kā process ar numuru %(pid)d."

#: hello-clisp/hello.lisp.in:13 hello-guile/hello.scm:17
#, scheme-format
msgid "This program is running as process number ~D."
msgstr "Šī programma darbojas kā process ar numuru ~D."

#: hello-java/Hello.java:18 hello-java-awt/Hello.java:28
#: hello-java-swing/Hello.java:25 hello-java-qtjambi/Hello.java:34
#: hello-csharp/hello.cs:17 hello-csharp-forms/hello.cs:36
#, csharp-format
msgid "This program is running as process number {0}."
msgstr "Šī programma darbojas kā process ar numuru {0}."

#: hello-perl/hello-2.pl.in:14
#, perl-brace-format
msgid "This program is running as process number {pid}."
msgstr "Šī programma darbojas kā process ar numuru {pid}."
