summaryrefslogtreecommitdiff
path: root/src/pl
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2017-08-07 13:55:34 -0400
committerPeter Eisentraut <peter_e@gmx.net>2017-08-07 13:55:34 -0400
commitf7668b2b3532b627ec951e1f0a28944f30cc4a1b (patch)
treec5c1133ed687d6ebe23c90bde40cd2f869e5128d /src/pl
parenta8b37ebe407f1916c5df22452cdbb1d00e2a409d (diff)
Translation updates
Source-Git-URL: git://git.postgresql.org/git/pgtranslation/messages.git Source-Git-Hash: 1a0b5e655d7871506c2b1c7ba562c2de6b6a55de
Diffstat (limited to 'src/pl')
-rw-r--r--src/pl/plperl/po/es.po4
-rw-r--r--src/pl/plperl/po/sv.po160
-rw-r--r--src/pl/plpgsql/src/nls.mk2
-rw-r--r--src/pl/plpgsql/src/po/es.po4
-rw-r--r--src/pl/plpgsql/src/po/sv.po820
-rw-r--r--src/pl/plpython/nls.mk2
-rw-r--r--src/pl/plpython/po/de.po117
-rw-r--r--src/pl/plpython/po/es.po4
-rw-r--r--src/pl/plpython/po/sv.po464
-rw-r--r--src/pl/tcl/nls.mk2
-rw-r--r--src/pl/tcl/po/es.po4
-rw-r--r--src/pl/tcl/po/sv.po105
12 files changed, 1553 insertions, 135 deletions
diff --git a/src/pl/plperl/po/es.po b/src/pl/plperl/po/es.po
index d40ba65e963..3027478b091 100644
--- a/src/pl/plperl/po/es.po
+++ b/src/pl/plperl/po/es.po
@@ -8,10 +8,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: plperl (PostgreSQL 9.6)\n"
+"Project-Id-Version: plperl (PostgreSQL) 10\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2017-05-22 07:37+0000\n"
-"PO-Revision-Date: 2016-05-25 11:29-0500\n"
+"PO-Revision-Date: 2017-07-10 12:14-0400\n"
"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
"Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@postgresql.org>\n"
"Language: es\n"
diff --git a/src/pl/plperl/po/sv.po b/src/pl/plperl/po/sv.po
index 8963dd02602..f1ea160533d 100644
--- a/src/pl/plperl/po/sv.po
+++ b/src/pl/plperl/po/sv.po
@@ -1,190 +1,224 @@
-# LANGUAGE message translation file for plperl
+# Swedish message translation file for plperl
# Copyright (C) 2014 PostgreSQL Global Development Group
# This file is distributed under the same license as the PostgreSQL package.
# Mats Erik Andersson <bsd@gisladisker.se>, 2014.
+# Dennis Björklund <db@zigo.dhs.org> 2017.
#
msgid ""
msgstr ""
-"Project-Id-Version: plperl (PostgreSQL) 9.4\n"
+"Project-Id-Version: plperl (PostgreSQL) 10\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2014-11-25 16:07+0000\n"
-"PO-Revision-Date: 2014-11-30 23:36+0100\n"
-"Last-Translator: Mats Erik Andersson <bsd@gisladisker.se>\n"
+"POT-Creation-Date: 2017-07-20 20:37+0000\n"
+"PO-Revision-Date: 2017-08-05 08:26+0200\n"
+"Last-Translator: Dennis Björklund <db@zigo.dhs.org>\n"
"Language-Team: Swedish <sv@li.org>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: plperl.c:401
+#: plperl.c:390
msgid "If true, trusted and untrusted Perl code will be compiled in strict mode."
-msgstr "Med sant värde kommer tillförlitlig och otillförl. Perl-kod att kompileras i strikt form."
+msgstr "Om sant, tillförlitlig och otillförlitlig Perl-kod kommer kompileras i strikt läge."
-#: plperl.c:415
+#: plperl.c:404
msgid "Perl initialization code to execute when a Perl interpreter is initialized."
msgstr "Perl-kod för initialisering, utföres när perl-tolken förbereds."
-#: plperl.c:437
+#: plperl.c:426
msgid "Perl initialization code to execute once when plperl is first used."
msgstr "Perl-kod för engångs-initialisering då plperl används första gången."
-#: plperl.c:445
+#: plperl.c:434
msgid "Perl initialization code to execute once when plperlu is first used."
msgstr "Perl-kod för engångs-initialisering då plperlu används första gången."
-#: plperl.c:662 plperl.c:836 plperl.c:841 plperl.c:954 plperl.c:965
-#: plperl.c:1006 plperl.c:1027 plperl.c:2045 plperl.c:2140 plperl.c:2202
-#: plperl.c:2259
+#: plperl.c:631
+#, c-format
+msgid "cannot allocate multiple Perl interpreters on this platform"
+msgstr "kan inte utnyttja flera Perl-interpretorer på denna plattform"
+
+#: plperl.c:651 plperl.c:826 plperl.c:832 plperl.c:946 plperl.c:958
+#: plperl.c:1001 plperl.c:1022 plperl.c:2074 plperl.c:2183 plperl.c:2250
+#: plperl.c:2312
#, c-format
msgid "%s"
msgstr "%s"
-#: plperl.c:663
+#: plperl.c:652
#, c-format
msgid "while executing PostgreSQL::InServer::SPI::bootstrap"
-msgstr "Vid utförande av PostgreSQL::InServer::SPI::bootstrap"
+msgstr "vid utförande av PostgreSQL::InServer::SPI::bootstrap"
-#: plperl.c:837
+#: plperl.c:827
#, c-format
msgid "while parsing Perl initialization"
-msgstr "Vid tolkning av perls initieringssteg"
+msgstr "vid tolkning av perls initieringssteg"
-#: plperl.c:842
+#: plperl.c:833
#, c-format
msgid "while running Perl initialization"
-msgstr "Vid utförande av perls initieringssteg"
+msgstr "vid utförande av perls initieringssteg"
-#: plperl.c:955
+#: plperl.c:947
#, c-format
msgid "while executing PLC_TRUSTED"
-msgstr "Vid utförande av PLC_TRUSTED"
+msgstr "vid utförande av PLC_TRUSTED"
-#: plperl.c:966
+#: plperl.c:959
#, c-format
msgid "while executing utf8fix"
-msgstr "Vid utförande av utf8fix"
+msgstr "vid utförande av utf8fix"
-#: plperl.c:1007
+#: plperl.c:1002
#, c-format
msgid "while executing plperl.on_plperl_init"
-msgstr "Vid utförande av plperl.on_plperl_init"
+msgstr "vid utförande av plperl.on_plperl_init"
-#: plperl.c:1028
+#: plperl.c:1023
#, c-format
msgid "while executing plperl.on_plperlu_init"
-msgstr "Vid utförande av plperl.on_plperlu_init"
+msgstr "vid utförande av plperl.on_plperlu_init"
-#: plperl.c:1072 plperl.c:1689
+#: plperl.c:1067 plperl.c:1719
#, c-format
msgid "Perl hash contains nonexistent column \"%s\""
-msgstr "Perlhash nämner en okänd spalt \"%s\"."
+msgstr "Perlhash innehåller en okänd kolumn \"%s\"."
+
+#: plperl.c:1072 plperl.c:1724
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "kan inte sätta systemattribut \"%s\""
#: plperl.c:1157
#, c-format
msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
-msgstr "Antalet array-dimensioner (%d) överskrider det maximalt tillåtna (%d)."
+msgstr "antalet array-dimensioner (%d) överskrider det maximalt tillåtna (%d)"
#: plperl.c:1169 plperl.c:1186
#, c-format
msgid "multidimensional arrays must have array expressions with matching dimensions"
-msgstr "Flerdimensionella vektorer måste ha array-uttryck av passande dimension."
+msgstr "flerdimensionella vektorer måste ha array-uttryck av passande dimensioner"
-#: plperl.c:1223
+#: plperl.c:1221
#, c-format
msgid "cannot convert Perl array to non-array type %s"
-msgstr "Kan inte omvandla perlvektor till icke-array av typ \"%s\"."
+msgstr "kan inte omvandla perlvektor till icke-array av typ \"%s\"."
-#: plperl.c:1319
+#: plperl.c:1323
#, c-format
msgid "cannot convert Perl hash to non-composite type %s"
-msgstr "Kan inte omvandla en perlhash till osammansatt typ \"%s\"."
+msgstr "kan inte omvandla en perlhash till icke-composite-typ \"%s\"."
-#: plperl.c:1330
+#: plperl.c:1334
#, c-format
msgid "function returning record called in context that cannot accept type record"
-msgstr "En funktion med post som värde anropades i sammanhang där poster inte kan godtagas."
+msgstr "en funktion med post som värde anropades i sammanhang där poster inte kan godtagas."
-#: plperl.c:1345
+#: plperl.c:1349
#, c-format
msgid "PL/Perl function must return reference to hash or array"
msgstr "Funktioner i PL/Perl måste svara med referens till hash eller array."
-#: plperl.c:1666
+#: plperl.c:1386
+#, c-format
+msgid "lookup failed for type %s"
+msgstr "uppslag misslyckades för typen \"%s\""
+
+#: plperl.c:1695
#, c-format
msgid "$_TD->{new} does not exist"
msgstr "$_TD->{new} finns inte."
-#: plperl.c:1670
+#: plperl.c:1699
#, c-format
msgid "$_TD->{new} is not a hash reference"
msgstr "$_TD->{new} är inte en hash-referens."
-#: plperl.c:1921 plperl.c:2718
+#: plperl.c:1950 plperl.c:2785
#, c-format
msgid "PL/Perl functions cannot return type %s"
msgstr "Funktioner i PL/Perl kan inte svara med typ \"%s\"."
-#: plperl.c:1934 plperl.c:2763
+#: plperl.c:1963 plperl.c:2827
#, c-format
msgid "PL/Perl functions cannot accept type %s"
msgstr "Funktioner i PL/Perl kan inte hantera typ \"%s\"."
-#: plperl.c:2049
+#: plperl.c:2079
#, c-format
msgid "didn't get a CODE reference from compiling function \"%s\""
-msgstr "Fick inte en CODE-referens vid kompilering av funktionen \"%s\"."
+msgstr "fick inte en CODE-referens vid kompilering av funktionen \"%s\"."
+
+#: plperl.c:2171
+#, c-format
+msgid "didn't get a return item from function"
+msgstr "fick inget returnvärde från funktion"
+
+#: plperl.c:2214 plperl.c:2280
+#, c-format
+msgid "couldn't fetch $_TD"
+msgstr "kunde inte hämta $_TD"
-#: plperl.c:2304
+#: plperl.c:2238 plperl.c:2300
+#, c-format
+msgid "didn't get a return item from trigger function"
+msgstr "fick inget returvärde från utlösarfunktion"
+
+#: plperl.c:2357
#, c-format
msgid "set-valued function called in context that cannot accept a set"
-msgstr "En funktion som returnerar en mängd anropades i sammanhang som inte godtar en mängd."
+msgstr "en funktion som returnerar en mängd anropades i kontext som inte godtar en mängd"
-#: plperl.c:2348
+#: plperl.c:2401
#, c-format
msgid "set-returning PL/Perl function must return reference to array or use return_next"
msgstr "En mängd-returnerande funktion i PL/Perl måste göra det som referens eller med return_next."
-#: plperl.c:2462
+#: plperl.c:2522
#, c-format
msgid "ignoring modified row in DELETE trigger"
msgstr "Lämnar ändrad rad orörd i en DELETE-triggning"
-#: plperl.c:2470
+#: plperl.c:2530
#, c-format
msgid "result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\""
-msgstr "Resultat av en triggningsfunktion i PL/Perl måste vara undef, \"SKIP\" eller \"MODIFY\"."
+msgstr "resultat av en triggningsfunktion i PL/Perl måste vara undef, \"SKIP\" eller \"MODIFY\"."
-#: plperl.c:2647 plperl.c:2657
-#, c-format
-msgid "out of memory"
-msgstr "slut på minne"
-
-#: plperl.c:2710
+#: plperl.c:2780
#, c-format
msgid "trigger functions can only be called as triggers"
msgstr "Triggningsfunktioner kan bara anropas vid triggning."
-#: plperl.c:3083
+#: plperl.c:3120
+#, c-format
+msgid "query result has too many rows to fit in a Perl array"
+msgstr "frågeresultatet har för många rader för att få plats i en Perl-array"
+
+#: plperl.c:3165
#, c-format
msgid "cannot use return_next in a non-SETOF function"
-msgstr "Får inte nyttja return_next i funktion som ej är SETOF"
+msgstr "får inte nyttja return_next i funktion som ej är SETOF"
-#: plperl.c:3139
+#: plperl.c:3219
#, c-format
msgid "SETOF-composite-returning PL/Perl function must call return_next with reference to hash"
msgstr "En funktion i PL/Perl med värderetur som SETOF måste anropa return_next med en hashreferens"
-#: plperl.c:3873
+#: plperl.c:3882
#, c-format
msgid "PL/Perl function \"%s\""
msgstr "PL/Perl-funktion \"%s\"."
-#: plperl.c:3885
+#: plperl.c:3894
#, c-format
msgid "compilation of PL/Perl function \"%s\""
-msgstr "Kompilering av PL/Perl-funktion \"%s\"."
+msgstr "kompilering av PL/Perl-funktion \"%s\""
-#: plperl.c:3894
+#: plperl.c:3903
#, c-format
msgid "PL/Perl anonymous code block"
msgstr "Anonymt kodblock i PL/Perl."
+
+#~ msgid "out of memory"
+#~ msgstr "slut på minne"
diff --git a/src/pl/plpgsql/src/nls.mk b/src/pl/plpgsql/src/nls.mk
index de091d98d85..1133668fc71 100644
--- a/src/pl/plpgsql/src/nls.mk
+++ b/src/pl/plpgsql/src/nls.mk
@@ -1,6 +1,6 @@
# src/pl/plpgsql/src/nls.mk
CATALOG_NAME = plpgsql
-AVAIL_LANGUAGES = cs de es fr it ja ko pl pt_BR ro ru zh_CN zh_TW
+AVAIL_LANGUAGES = cs de es fr it ja ko pl pt_BR ro ru sv zh_CN zh_TW
GETTEXT_FILES = pl_comp.c pl_exec.c pl_gram.c pl_funcs.c pl_handler.c pl_scanner.c
GETTEXT_TRIGGERS = $(BACKEND_COMMON_GETTEXT_TRIGGERS) yyerror plpgsql_yyerror
GETTEXT_FLAGS = $(BACKEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/pl/plpgsql/src/po/es.po b/src/pl/plpgsql/src/po/es.po
index 7406a3eed56..265ab4cb049 100644
--- a/src/pl/plpgsql/src/po/es.po
+++ b/src/pl/plpgsql/src/po/es.po
@@ -10,10 +10,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: plpgsql (PostgreSQL 9.6)\n"
+"Project-Id-Version: plpgsql (PostgreSQL) 10\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2017-05-22 07:38+0000\n"
-"PO-Revision-Date: 2016-05-25 11:54-0500\n"
+"PO-Revision-Date: 2017-07-10 12:14-0400\n"
"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
"Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@postgresql.org>\n"
"Language: es\n"
diff --git a/src/pl/plpgsql/src/po/sv.po b/src/pl/plpgsql/src/po/sv.po
new file mode 100644
index 00000000000..780d220aa38
--- /dev/null
+++ b/src/pl/plpgsql/src/po/sv.po
@@ -0,0 +1,820 @@
+# Swedish message translation file for plpgsql
+# Copyright (C) 2017 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Dennis Björklund <db@zigo.dhs.org>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: plpgsql (PostgreSQL) 10\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2017-08-02 18:08+0000\n"
+"PO-Revision-Date: 2017-08-05 15:50+0200\n"
+"Last-Translator: Dennis Björklund <db@zigo.dhs.org>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: pl_comp.c:433 pl_handler.c:451
+#, c-format
+msgid "PL/pgSQL functions cannot accept type %s"
+msgstr "PL/pgSQL-funktioner kan inte acceptera typ %s"
+
+#: pl_comp.c:514
+#, c-format
+msgid "could not determine actual return type for polymorphic function \"%s\""
+msgstr "kunde inte bestämma aktuell returtyp för polymorfisk funktion \"%s\""
+
+#: pl_comp.c:544
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "utlösarfunktioner kan bara anropas som utlösare"
+
+#: pl_comp.c:548 pl_handler.c:436
+#, c-format
+msgid "PL/pgSQL functions cannot return type %s"
+msgstr "PL/pgSQL-funktioner kan inte returnera typ %s"
+
+#: pl_comp.c:589
+#, c-format
+msgid "trigger functions cannot have declared arguments"
+msgstr "utlösarfunktioner kan inte ha deklarerade argument"
+
+#: pl_comp.c:590
+#, c-format
+msgid "The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV instead."
+msgstr "Argumenten till utlösaren kan accessas via TG_NARGS och TG_ARGV istället."
+
+#: pl_comp.c:692
+#, c-format
+msgid "event trigger functions cannot have declared arguments"
+msgstr "händelseutlösarfunktioner kan inte ha deklarerade argument"
+
+#: pl_comp.c:943
+#, c-format
+msgid "compilation of PL/pgSQL function \"%s\" near line %d"
+msgstr "kompilering av PL/pgSQL-funktion \"%s\" nära rad %d"
+
+#: pl_comp.c:966
+#, c-format
+msgid "parameter name \"%s\" used more than once"
+msgstr "parameternamn \"%s\" angivet mer än en gång"
+
+#: pl_comp.c:1076
+#, c-format
+msgid "column reference \"%s\" is ambiguous"
+msgstr "kolumnreferens \"%s\" är tvetydig"
+
+#: pl_comp.c:1078
+#, c-format
+msgid "It could refer to either a PL/pgSQL variable or a table column."
+msgstr "Det kan referera till antingen en PL/pgSQL-variabel eller en tabellkolumn."
+
+#: pl_comp.c:1258 pl_comp.c:1286 pl_exec.c:4584 pl_exec.c:4913 pl_exec.c:4998
+#: pl_exec.c:5089
+#, c-format
+msgid "record \"%s\" has no field \"%s\""
+msgstr "post \"%s\" saknar fält \"%s\""
+
+#: pl_comp.c:1818
+#, c-format
+msgid "relation \"%s\" does not exist"
+msgstr "relationen \"%s\" existerar inte"
+
+#: pl_comp.c:1927
+#, c-format
+msgid "variable \"%s\" has pseudo-type %s"
+msgstr "variabel \"%s\" har pseudotyp %s"
+
+#: pl_comp.c:1995
+#, c-format
+msgid "relation \"%s\" is not a table"
+msgstr "relation \"%s\" är inte en tabell"
+
+#: pl_comp.c:2155
+#, c-format
+msgid "type \"%s\" is only a shell"
+msgstr "typ \"%s\" är bara ett skal"
+
+#: pl_comp.c:2249 pl_comp.c:2302
+#, c-format
+msgid "unrecognized exception condition \"%s\""
+msgstr "okänt avbrottsvillkor \"%s\""
+
+#: pl_comp.c:2510
+#, c-format
+msgid "could not determine actual argument type for polymorphic function \"%s\""
+msgstr "kunde inte bestämma argumenttyp för polymorfisk funktion function \"%s\""
+
+#: pl_exec.c:355 pl_exec.c:644 pl_exec.c:914
+msgid "during initialization of execution state"
+msgstr "unde initiering av körtillstånd"
+
+#: pl_exec.c:362
+msgid "while storing call arguments into local variables"
+msgstr "under sparande av anropsargument till lokala variabler"
+
+#: pl_exec.c:447 pl_exec.c:796
+msgid "during function entry"
+msgstr "under funktionsingången"
+
+#: pl_exec.c:472
+#, c-format
+msgid "control reached end of function without RETURN"
+msgstr "kontrollen nådde slutet av funktionen utan RETURN"
+
+#: pl_exec.c:479
+msgid "while casting return value to function's return type"
+msgstr "under typomvandling av returvärde till funktionens returtyp"
+
+#: pl_exec.c:492 pl_exec.c:3101
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "en funktion som returnerar en mängd anropades i kontext som inte godtar en mängd"
+
+#: pl_exec.c:530 pl_exec.c:2948
+msgid "returned record type does not match expected record type"
+msgstr "returnerad posttyp matchar inte förväntad posttyp"
+
+#: pl_exec.c:585 pl_exec.c:825 pl_exec.c:949
+msgid "during function exit"
+msgstr "under funktionsavslutning"
+
+#: pl_exec.c:821 pl_exec.c:945
+#, c-format
+msgid "control reached end of trigger procedure without RETURN"
+msgstr "kontroll nådde slutet på utlösarprocedur utan RETURN"
+
+#: pl_exec.c:830
+#, c-format
+msgid "trigger procedure cannot return a set"
+msgstr "utlösarprocedur kan inte returnera en mängd"
+
+#: pl_exec.c:852
+msgid "returned row structure does not match the structure of the triggering table"
+msgstr "returnerad radstruktur matchar inte strukturen på utlösande tabell"
+
+#. translator: last %s is a phrase such as "during statement block
+#. local variable initialization"
+#.
+#: pl_exec.c:997
+#, c-format
+msgid "PL/pgSQL function %s line %d %s"
+msgstr "PL/pgSQL-funktion %s rad %d %s"
+
+#. translator: last %s is a phrase such as "while storing call
+#. arguments into local variables"
+#.
+#: pl_exec.c:1008
+#, c-format
+msgid "PL/pgSQL function %s %s"
+msgstr "PL/pgSQL-funktion %s %s"
+
+#. translator: last %s is a plpgsql statement type name
+#: pl_exec.c:1016
+#, c-format
+msgid "PL/pgSQL function %s line %d at %s"
+msgstr "PL/pgSQL-funktion %s rad %d vid %s"
+
+#: pl_exec.c:1022
+#, c-format
+msgid "PL/pgSQL function %s"
+msgstr "PL/pgSQL-funktion %s"
+
+#: pl_exec.c:1187
+msgid "during statement block local variable initialization"
+msgstr "under initiering av lokala variabler i satsblock"
+
+#: pl_exec.c:1226
+#, c-format
+msgid "variable \"%s\" declared NOT NULL cannot default to NULL"
+msgstr "variabel \"%s\" deklarerad NOT NULL kan inte default:a till NULL"
+
+#: pl_exec.c:1277
+msgid "during statement block entry"
+msgstr "under ingång till satsblock"
+
+#: pl_exec.c:1309
+msgid "during statement block exit"
+msgstr "under satsblockavslutning"
+
+#: pl_exec.c:1351
+msgid "during exception cleanup"
+msgstr "under avbrottsuppstädning"
+
+#: pl_exec.c:1717
+#, c-format
+msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler"
+msgstr "GET STACKED DIAGNOSTICS kan inte användas utanför en avbrottshanterare"
+
+#: pl_exec.c:1922
+#, c-format
+msgid "case not found"
+msgstr "hittade inte alternativ"
+
+#: pl_exec.c:1923
+#, c-format
+msgid "CASE statement is missing ELSE part."
+msgstr "CASE-sats saknar ELSE-del."
+
+#: pl_exec.c:2077
+#, c-format
+msgid "lower bound of FOR loop cannot be null"
+msgstr "lägre gräns i FOR-loop kan inte vara null"
+
+#: pl_exec.c:2093
+#, c-format
+msgid "upper bound of FOR loop cannot be null"
+msgstr "övre gräns i FOR-loop kan inte vara null"
+
+#: pl_exec.c:2111
+#, c-format
+msgid "BY value of FOR loop cannot be null"
+msgstr "BY-värde i FOR-loop kan inte vara null"
+
+#: pl_exec.c:2117
+#, c-format
+msgid "BY value of FOR loop must be greater than zero"
+msgstr "BY-värde i FOR-loop måste vara större än noll"
+
+#: pl_exec.c:2294 pl_exec.c:4085
+#, c-format
+msgid "cursor \"%s\" already in use"
+msgstr "markören \"%s\" används redan"
+
+#: pl_exec.c:2317 pl_exec.c:4150
+#, c-format
+msgid "arguments given for cursor without arguments"
+msgstr "argument angivna till markör utan argumnet"
+
+#: pl_exec.c:2336 pl_exec.c:4169
+#, c-format
+msgid "arguments required for cursor"
+msgstr "argument krävs för markör"
+
+#: pl_exec.c:2423
+#, c-format
+msgid "FOREACH expression must not be null"
+msgstr "FOREACH-uttryck får inte vara null"
+
+#: pl_exec.c:2438
+#, c-format
+msgid "FOREACH expression must yield an array, not type %s"
+msgstr "FOREACH-uttryck måste ge en array, inte typ %s"
+
+#: pl_exec.c:2455
+#, c-format
+msgid "slice dimension (%d) is out of the valid range 0..%d"
+msgstr "slice-storlek (%d) är utanför giltigt intervall 0..%d"
+
+#: pl_exec.c:2482
+#, c-format
+msgid "FOREACH ... SLICE loop variable must be of an array type"
+msgstr "FOREACH ... SLICE-loop-variabel måste ha typen array"
+
+#: pl_exec.c:2486
+#, c-format
+msgid "FOREACH loop variable must not be of an array type"
+msgstr "FOREACH-loop-variable får inte ha typen array"
+
+#: pl_exec.c:2689 pl_exec.c:2771 pl_exec.c:2941
+#, c-format
+msgid "cannot return non-composite value from function returning composite type"
+msgstr "kan inte returnera icke-composit-värde från funktion med returtyp composit"
+
+#: pl_exec.c:2815 pl_gram.y:3199
+#, c-format
+msgid "cannot use RETURN NEXT in a non-SETOF function"
+msgstr "kan inte använda RETURN NEXT i en icke-SETOF-funktion"
+
+#: pl_exec.c:2849 pl_exec.c:2976
+#, c-format
+msgid "wrong result type supplied in RETURN NEXT"
+msgstr "fel resultattyp given i RETURN NEXT"
+
+#: pl_exec.c:2878 pl_exec.c:4572 pl_exec.c:4880 pl_exec.c:4906 pl_exec.c:4972
+#: pl_exec.c:4991 pl_exec.c:5059 pl_exec.c:5082
+#, c-format
+msgid "record \"%s\" is not assigned yet"
+msgstr "posten \"%s\" är inte tilldelad än"
+
+#: pl_exec.c:2880 pl_exec.c:4574 pl_exec.c:4882 pl_exec.c:4908 pl_exec.c:4974
+#: pl_exec.c:4993 pl_exec.c:5061 pl_exec.c:5084
+#, c-format
+msgid "The tuple structure of a not-yet-assigned record is indeterminate."
+msgstr "Tuple-strukturen av en ej-ännu-tilldelad post är obestämd."
+
+#: pl_exec.c:2887 pl_exec.c:2906
+#, c-format
+msgid "wrong record type supplied in RETURN NEXT"
+msgstr "fel posttyp given i RETURN NEXT"
+
+#: pl_exec.c:2995
+#, c-format
+msgid "RETURN NEXT must have a parameter"
+msgstr "RETURN NEXT måste ha en parameter"
+
+#: pl_exec.c:3021 pl_gram.y:3261
+#, c-format
+msgid "cannot use RETURN QUERY in a non-SETOF function"
+msgstr "kan inte använda RETURN QUERY i en icke-SETOF-funktion"
+
+#: pl_exec.c:3045
+msgid "structure of query does not match function result type"
+msgstr "strukturen på frågan matchar inte funktionens resultattyp"
+
+#: pl_exec.c:3129 pl_exec.c:3267
+#, c-format
+msgid "RAISE option already specified: %s"
+msgstr "RAISE-flagga redan angiven: %s"
+
+#: pl_exec.c:3163
+#, c-format
+msgid "RAISE without parameters cannot be used outside an exception handler"
+msgstr "RAISE utan parametrar kan inte användas utanför en avbrottshanterare"
+
+#: pl_exec.c:3257
+#, c-format
+msgid "RAISE statement option cannot be null"
+msgstr "RAISE-satsens flagga får inte vare null"
+
+#: pl_exec.c:3327
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pl_exec.c:3382
+#, c-format
+msgid "assertion failed"
+msgstr "assert misslyckades"
+
+#: pl_exec.c:3583 pl_exec.c:3729 pl_exec.c:3919
+#, c-format
+msgid "cannot COPY to/from client in PL/pgSQL"
+msgstr "kan inte COPY till/från klient i PL/pgSQL"
+
+#: pl_exec.c:3587 pl_exec.c:3733 pl_exec.c:3923
+#, c-format
+msgid "cannot begin/end transactions in PL/pgSQL"
+msgstr "kan inte starta/avsluta transaktioner i PL/pgSQL"
+
+#: pl_exec.c:3588 pl_exec.c:3734 pl_exec.c:3924
+#, c-format
+msgid "Use a BEGIN block with an EXCEPTION clause instead."
+msgstr "Använd ett BEGIN-block men en EXCEPTION-klausul istället."
+
+#: pl_exec.c:3757 pl_exec.c:3948
+#, c-format
+msgid "INTO used with a command that cannot return data"
+msgstr "INTO använd med ett kommando som inte returnerar data"
+
+#: pl_exec.c:3785 pl_exec.c:3976
+#, c-format
+msgid "query returned no rows"
+msgstr "frågan returnerade inga rader"
+
+#: pl_exec.c:3804 pl_exec.c:3995
+#, c-format
+msgid "query returned more than one row"
+msgstr "frågan returnerade mer än en rad"
+
+#: pl_exec.c:3821
+#, c-format
+msgid "query has no destination for result data"
+msgstr "frågan har ingen destination för resultatdatan"
+
+#: pl_exec.c:3822
+#, c-format
+msgid "If you want to discard the results of a SELECT, use PERFORM instead."
+msgstr "Om du vill slänga resultatet av en SELECT, använd PERFORM istället."
+
+#: pl_exec.c:3855 pl_exec.c:7292
+#, c-format
+msgid "query string argument of EXECUTE is null"
+msgstr "frågesträngargumentet till EXECUTE är null"
+
+#: pl_exec.c:3911
+#, c-format
+msgid "EXECUTE of SELECT ... INTO is not implemented"
+msgstr "EXECUTE för SELECT ... INTO är inte implementerad"
+
+#: pl_exec.c:3912
+#, c-format
+msgid "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS instead."
+msgstr "Du vill nog använda EXECUTE ... INTO eller EXECUTE CREATE TABLE ... AS istället."
+
+#: pl_exec.c:4233 pl_exec.c:4329
+#, c-format
+msgid "cursor variable \"%s\" is null"
+msgstr "markörvariabel \"%s\" är null"
+
+#: pl_exec.c:4244 pl_exec.c:4340
+#, c-format
+msgid "cursor \"%s\" does not exist"
+msgstr "markör \"%s\" existerar inte"
+
+#: pl_exec.c:4257
+#, c-format
+msgid "relative or absolute cursor position is null"
+msgstr "relativ eller absolut markörposition är null"
+
+#: pl_exec.c:4448
+#, c-format
+msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL"
+msgstr "null-value kan inte tilldelas till variabel \"%s\" som deklarerats NOT NULL"
+
+#: pl_exec.c:4517
+#, c-format
+msgid "cannot assign non-composite value to a row variable"
+msgstr "kan inte tilldela icke-composite-värde till radvariabel"
+
+#: pl_exec.c:4541
+#, c-format
+msgid "cannot assign non-composite value to a record variable"
+msgstr "kan inte tilldela icke-composite-värde till en post-variabel"
+
+#: pl_exec.c:4661
+#, c-format
+msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
+msgstr "antalet array-dimensioner (%d) överskrider det maximalt tillåtna (%d)"
+
+#: pl_exec.c:4693
+#, c-format
+msgid "subscripted object is not an array"
+msgstr "arrayindexobjekt är inte en array"
+
+#: pl_exec.c:4731
+#, c-format
+msgid "array subscript in assignment must not be null"
+msgstr "arrayindex i tilldelning kan inte vara null"
+
+#: pl_exec.c:5198
+#, c-format
+msgid "query \"%s\" did not return data"
+msgstr "frågan \"%s\" returnerade ingen data"
+
+#: pl_exec.c:5206
+#, c-format
+msgid "query \"%s\" returned %d column"
+msgid_plural "query \"%s\" returned %d columns"
+msgstr[0] "frågan \"%s\" returnerade %d kolumn"
+msgstr[1] "frågan \"%s\" returnerade %d kolumner"
+
+#: pl_exec.c:5233
+#, c-format
+msgid "query \"%s\" returned more than one row"
+msgstr "frågan \"%s\" returnerade mer än en rad"
+
+#: pl_exec.c:5301
+#, c-format
+msgid "query \"%s\" is not a SELECT"
+msgstr "frågan \"%s\" är inte en SELECT"
+
+#: pl_funcs.c:239
+msgid "statement block"
+msgstr "satsblock"
+
+#: pl_funcs.c:241
+msgid "assignment"
+msgstr "tilldelning"
+
+#: pl_funcs.c:251
+msgid "FOR with integer loop variable"
+msgstr "FOR med helatalsloopvariabel"
+
+#: pl_funcs.c:253
+msgid "FOR over SELECT rows"
+msgstr "FOR över SELECT-rader"
+
+#: pl_funcs.c:255
+msgid "FOR over cursor"
+msgstr "FOR över markör"
+
+#: pl_funcs.c:257
+msgid "FOREACH over array"
+msgstr "FOREACH över array"
+
+#: pl_funcs.c:271
+msgid "SQL statement"
+msgstr "SQL-sats"
+
+#: pl_funcs.c:275
+msgid "FOR over EXECUTE statement"
+msgstr "FOR över EXECUTE-sats"
+
+#: pl_gram.y:478
+#, c-format
+msgid "block label must be placed before DECLARE, not after"
+msgstr "blocketikett måste anges före DECLARE, inte efter"
+
+#: pl_gram.y:498
+#, c-format
+msgid "collations are not supported by type %s"
+msgstr "sorteringar stöds inte för typ %s"
+
+#: pl_gram.y:513
+#, c-format
+msgid "row or record variable cannot be CONSTANT"
+msgstr "rad- eller post-variabel får inte vara CONSTANT"
+
+#: pl_gram.y:523
+#, c-format
+msgid "row or record variable cannot be NOT NULL"
+msgstr "rad- eller post-variabel får inte vara NOT NULL"
+
+#: pl_gram.y:534
+#, c-format
+msgid "default value for row or record variable is not supported"
+msgstr "standardvärde för rad- eller post-variabel stöds inte"
+
+#: pl_gram.y:679 pl_gram.y:694 pl_gram.y:720
+#, c-format
+msgid "variable \"%s\" does not exist"
+msgstr "variabel \"%s\" finns inte"
+
+#: pl_gram.y:738 pl_gram.y:766
+msgid "duplicate declaration"
+msgstr "duplicerad deklaration"
+
+#: pl_gram.y:749 pl_gram.y:777
+#, c-format
+msgid "variable \"%s\" shadows a previously defined variable"
+msgstr "variabeln \"%s\" döljer en tidigare definierad variabel"
+
+#: pl_gram.y:956
+#, c-format
+msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS"
+msgstr "diagnostikdel %s tillåts inte i GET STACKED DIAGNOSTICS"
+
+#: pl_gram.y:974
+#, c-format
+msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS"
+msgstr "diagnostikdel %s tillåts inte i GET CURRENT DIAGNOSTICS"
+
+#: pl_gram.y:1072
+msgid "unrecognized GET DIAGNOSTICS item"
+msgstr "okänd GET DIAGNOSTICS-del"
+
+#: pl_gram.y:1082 pl_gram.y:3448
+#, c-format
+msgid "\"%s\" is not a scalar variable"
+msgstr "\"%s\" är inte ett skalärt värde"
+
+#: pl_gram.y:1334 pl_gram.y:1528
+#, c-format
+msgid "loop variable of loop over rows must be a record or row variable or list of scalar variables"
+msgstr "loop-variabeln för loop över rader måste vara en post- eller rad-variabel alternativt en lista av skalärvariabler"
+
+#: pl_gram.y:1368
+#, c-format
+msgid "cursor FOR loop must have only one target variable"
+msgstr "markör-FOR-loop måste ha exakt en målvariabel"
+
+#: pl_gram.y:1375
+#, c-format
+msgid "cursor FOR loop must use a bound cursor variable"
+msgstr "markör-FOR-loop måste använda en bunden markörvariabel"
+
+#: pl_gram.y:1459
+#, c-format
+msgid "integer FOR loop must have only one target variable"
+msgstr "heltals-FOR-loop måste ha exakt en målvariabel"
+
+#: pl_gram.y:1495
+#, c-format
+msgid "cannot specify REVERSE in query FOR loop"
+msgstr "kan inte ange REVERSE i fråge-FOR-loop"
+
+#: pl_gram.y:1642
+#, c-format
+msgid "loop variable of FOREACH must be a known variable or list of variables"
+msgstr "loop-variabel för FOREACH måste vara en känd variabel eller lista av variabler"
+
+#: pl_gram.y:1683
+#, c-format
+msgid "there is no label \"%s\" attached to any block or loop enclosing this statement"
+msgstr "det finns ingen etikett \"%s\" kopplad till något block eller loop-omslutning i denna sats"
+
+#: pl_gram.y:1691
+#, c-format
+msgid "block label \"%s\" cannot be used in CONTINUE"
+msgstr "blocketikett \"%s\" kan inte användas i CONTINUE"
+
+#: pl_gram.y:1706
+#, c-format
+msgid "EXIT cannot be used outside a loop, unless it has a label"
+msgstr "EXIT kan inte användas utanför en loop, om den inte har en etikett"
+
+#: pl_gram.y:1707
+#, c-format
+msgid "CONTINUE cannot be used outside a loop"
+msgstr "CONTINUE kan inte användas utanför en loop"
+
+#: pl_gram.y:1731 pl_gram.y:1768 pl_gram.y:1816 pl_gram.y:2898 pl_gram.y:2983
+#: pl_gram.y:3094 pl_gram.y:3850
+msgid "unexpected end of function definition"
+msgstr "oväntat slut på funktionsdefinitionen"
+
+#: pl_gram.y:1836 pl_gram.y:1860 pl_gram.y:1876 pl_gram.y:1882 pl_gram.y:2000
+#: pl_gram.y:2008 pl_gram.y:2022 pl_gram.y:2117 pl_gram.y:2304 pl_gram.y:2398
+#: pl_gram.y:2550 pl_gram.y:3691 pl_gram.y:3752 pl_gram.y:3831
+msgid "syntax error"
+msgstr "syntaxfel"
+
+#: pl_gram.y:1864 pl_gram.y:1866 pl_gram.y:2308 pl_gram.y:2310
+msgid "invalid SQLSTATE code"
+msgstr "ogiltig SQLSTATE-kod"
+
+#: pl_gram.y:2064
+msgid "syntax error, expected \"FOR\""
+msgstr "syntaxfel, förväntade \"FOR\""
+
+#: pl_gram.y:2126
+#, c-format
+msgid "FETCH statement cannot return multiple rows"
+msgstr "FETCH-sats kan inte returnera multipla rader"
+
+#: pl_gram.y:2188
+#, c-format
+msgid "cursor variable must be a simple variable"
+msgstr "markörvariabel måste vara en enkel variabel"
+
+#: pl_gram.y:2194
+#, c-format
+msgid "variable \"%s\" must be of type cursor or refcursor"
+msgstr "variabel \"%s\" måste ha typen cursor eller refcursor"
+
+#: pl_gram.y:2521 pl_gram.y:2532
+#, c-format
+msgid "\"%s\" is not a known variable"
+msgstr "\"%s\" är inte en känd variabel"
+
+#: pl_gram.y:2636 pl_gram.y:2646 pl_gram.y:2802
+msgid "mismatched parentheses"
+msgstr "missmatchade parenteser"
+
+#: pl_gram.y:2650
+#, c-format
+msgid "missing \"%s\" at end of SQL expression"
+msgstr "saknar \"%s\" vid slutet av SQL-uttryck"
+
+#: pl_gram.y:2656
+#, c-format
+msgid "missing \"%s\" at end of SQL statement"
+msgstr "saknar \"%s\" vid slutet av SQL-sats"
+
+#: pl_gram.y:2673
+msgid "missing expression"
+msgstr "saknar uttryck"
+
+#: pl_gram.y:2675
+msgid "missing SQL statement"
+msgstr "saknars SQL-sats"
+
+#: pl_gram.y:2804
+msgid "incomplete data type declaration"
+msgstr "inkomplett datatypdeklaration"
+
+#: pl_gram.y:2827
+msgid "missing data type declaration"
+msgstr "saknar datatypdeklaration"
+
+#: pl_gram.y:2906
+msgid "INTO specified more than once"
+msgstr "INTO angiven mer än en gång"
+
+#: pl_gram.y:3075
+msgid "expected FROM or IN"
+msgstr "förväntade FROM eller IN"
+
+#: pl_gram.y:3135
+#, c-format
+msgid "RETURN cannot have a parameter in function returning set"
+msgstr "RETURN kan inte ha en parameter i funktion som returnerar en mängd"
+
+#: pl_gram.y:3136
+#, c-format
+msgid "Use RETURN NEXT or RETURN QUERY."
+msgstr "Använd RETURN NEXT eller RETURN QUERY."
+
+#: pl_gram.y:3144
+#, c-format
+msgid "RETURN cannot have a parameter in function with OUT parameters"
+msgstr "RETURN kan inte ha en parameter i en funktion med OUT-parameterar"
+
+#: pl_gram.y:3153
+#, c-format
+msgid "RETURN cannot have a parameter in function returning void"
+msgstr "RETURN kan inte ha en parameter i funktion som returnerar void"
+
+#: pl_gram.y:3213
+#, c-format
+msgid "RETURN NEXT cannot have a parameter in function with OUT parameters"
+msgstr "RETURN NEXT kan inte ha en parameter i funktion med OUT-parametrar"
+
+#: pl_gram.y:3317
+#, c-format
+msgid "\"%s\" is declared CONSTANT"
+msgstr "\"%s\" är deklarerad CONSTANT"
+
+#: pl_gram.y:3379 pl_gram.y:3391
+#, c-format
+msgid "record or row variable cannot be part of multiple-item INTO list"
+msgstr "post- eller rad-variabel kan inte vara del av en multipel-INTO-lista"
+
+#: pl_gram.y:3436
+#, c-format
+msgid "too many INTO variables specified"
+msgstr "för många INTO-variabler angivna"
+
+#: pl_gram.y:3644
+#, c-format
+msgid "end label \"%s\" specified for unlabelled block"
+msgstr "slutetikett \"%s\" angiven för block utan etikett"
+
+#: pl_gram.y:3651
+#, c-format
+msgid "end label \"%s\" differs from block's label \"%s\""
+msgstr "slutetikett \"%s\" stämmer inte med blockets etikett \"%s\""
+
+#: pl_gram.y:3686
+#, c-format
+msgid "cursor \"%s\" has no arguments"
+msgstr "markör \"%s\" har inga argument"
+
+#: pl_gram.y:3700
+#, c-format
+msgid "cursor \"%s\" has arguments"
+msgstr "markör \"%s\" har argument"
+
+#: pl_gram.y:3742
+#, c-format
+msgid "cursor \"%s\" has no argument named \"%s\""
+msgstr "markör \"%s\" har inga argument med namn \"%s\""
+
+#: pl_gram.y:3762
+#, c-format
+msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once"
+msgstr "värdet för parameter \"%s\" i markör \"%s\" är angivet mer än en gång"
+
+#: pl_gram.y:3787
+#, c-format
+msgid "not enough arguments for cursor \"%s\""
+msgstr "ej tillräckligt med argument för markör \"%s\""
+
+#: pl_gram.y:3794
+#, c-format
+msgid "too many arguments for cursor \"%s\""
+msgstr "fär många argument för markör \"%s\""
+
+#: pl_gram.y:3882
+msgid "unrecognized RAISE statement option"
+msgstr "okänd RAISE-sats-flagga"
+
+#: pl_gram.y:3886
+msgid "syntax error, expected \"=\""
+msgstr "syntaxfel, förväntade \"=\""
+
+#: pl_gram.y:3927
+#, c-format
+msgid "too many parameters specified for RAISE"
+msgstr "för många parametrar angivna för RAISE"
+
+#: pl_gram.y:3931
+#, c-format
+msgid "too few parameters specified for RAISE"
+msgstr "för få parametrar angivna för RAISE"
+
+#: pl_handler.c:154
+msgid "Sets handling of conflicts between PL/pgSQL variable names and table column names."
+msgstr "Sätter hantering av konflikter mellan PL/pgSQL-variabelnamn och tabellkolumnnamn."
+
+#: pl_handler.c:163
+msgid "Print information about parameters in the DETAIL part of the error messages generated on INTO ... STRICT failures."
+msgstr "Skriv information om parametrar i DETAIL-delen av felmeddelanden vid INTO ... STRICT-fel."
+
+#: pl_handler.c:171
+msgid "Perform checks given in ASSERT statements."
+msgstr "Utför kontroller angivna i ASSERT-satser."
+
+#: pl_handler.c:179
+msgid "List of programming constructs that should produce a warning."
+msgstr "Lista av programmeringskonstruktioner som skall ge en varning."
+
+#: pl_handler.c:189
+msgid "List of programming constructs that should produce an error."
+msgstr "Lista av programmeringskonstruktioner som skall ge ett fel"
+
+#. translator: %s is typically the translation of "syntax error"
+#: pl_scanner.c:624
+#, c-format
+msgid "%s at end of input"
+msgstr "%s vid slutet av indatan"
+
+#. translator: first %s is typically the translation of "syntax error"
+#: pl_scanner.c:640
+#, c-format
+msgid "%s at or near \"%s\""
+msgstr "%s vid eller nära \"%s\""
diff --git a/src/pl/plpython/nls.mk b/src/pl/plpython/nls.mk
index 98a23c9721d..6c7359c1a2e 100644
--- a/src/pl/plpython/nls.mk
+++ b/src/pl/plpython/nls.mk
@@ -1,6 +1,6 @@
# src/pl/plpython/nls.mk
CATALOG_NAME = plpython
-AVAIL_LANGUAGES = cs de es fr it ja ko pl pt_BR ru zh_CN
+AVAIL_LANGUAGES = cs de es fr it ja ko pl pt_BR ru sv zh_CN
GETTEXT_FILES = plpy_cursorobject.c plpy_elog.c plpy_exec.c plpy_main.c plpy_planobject.c plpy_plpymodule.c \
plpy_procedure.c plpy_resultobject.c plpy_spi.c plpy_subxactobject.c plpy_typeio.c plpy_util.c
GETTEXT_TRIGGERS = $(BACKEND_COMMON_GETTEXT_TRIGGERS) PLy_elog:2 PLy_exception_set:2 PLy_exception_set_plural:2,3
diff --git a/src/pl/plpython/po/de.po b/src/pl/plpython/po/de.po
index bdd75d07e40..4dae50327c9 100644
--- a/src/pl/plpython/po/de.po
+++ b/src/pl/plpython/po/de.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PostgreSQL 10\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2017-03-13 22:07+0000\n"
-"PO-Revision-Date: 2017-03-13 23:08-0400\n"
+"POT-Creation-Date: 2017-08-04 15:37+0000\n"
+"PO-Revision-Date: 2017-08-04 13:01-0400\n"
"Last-Translator: Peter Eisentraut <peter_e@gmx.net>\n"
"Language-Team: German <peter_e@gmx.net>\n"
"Language: de\n"
@@ -19,49 +19,49 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: plpy_cursorobject.c:101
+#: plpy_cursorobject.c:100
#, c-format
msgid "plpy.cursor expected a query or a plan"
msgstr "plpy.cursor hat eine Anfrage oder einen Plan erwartet"
-#: plpy_cursorobject.c:177
+#: plpy_cursorobject.c:176
#, c-format
msgid "plpy.cursor takes a sequence as its second argument"
msgstr "plpy.cursor nimmt eine Sequenz als zweites Argument"
-#: plpy_cursorobject.c:193 plpy_spi.c:227
+#: plpy_cursorobject.c:192 plpy_spi.c:226
#, c-format
msgid "could not execute plan"
msgstr "konnte Plan nicht ausführen"
-#: plpy_cursorobject.c:196 plpy_spi.c:230
+#: plpy_cursorobject.c:195 plpy_spi.c:229
#, c-format
msgid "Expected sequence of %d argument, got %d: %s"
msgid_plural "Expected sequence of %d arguments, got %d: %s"
msgstr[0] "Sequenz aus %d Argument erwartet, aber %d erhalten: %s"
msgstr[1] "Sequenz aus %d Argumenten erwartet, aber %d erhalten: %s"
-#: plpy_cursorobject.c:351
+#: plpy_cursorobject.c:350
#, c-format
msgid "iterating a closed cursor"
msgstr "Iteration mit einem geschlossenen Cursor"
-#: plpy_cursorobject.c:359 plpy_cursorobject.c:424
+#: plpy_cursorobject.c:358 plpy_cursorobject.c:423
#, c-format
msgid "iterating a cursor in an aborted subtransaction"
msgstr "Iteration mit einem Cursor in einer abgebrochenen Transaktionen"
-#: plpy_cursorobject.c:416
+#: plpy_cursorobject.c:415
#, c-format
msgid "fetch from a closed cursor"
msgstr "Lesen aus einem geschlossenen Cursor"
-#: plpy_cursorobject.c:464 plpy_spi.c:435
+#: plpy_cursorobject.c:463 plpy_spi.c:434
#, c-format
msgid "query result has too many rows to fit in a Python list"
msgstr "Anfrageergebnis hat zu viele Zeilen, um in eine Python-Liste zu passen"
-#: plpy_cursorobject.c:505
+#: plpy_cursorobject.c:504
#, c-format
msgid "closing a cursor in an aborted subtransaction"
msgstr "Schließen eines Cursors in einer abgebrochenen Subtransaktion"
@@ -101,82 +101,82 @@ msgstr "Fehler beim Auslesen des nächsten Elements vom Iterator"
msgid "PL/Python function with return type \"void\" did not return None"
msgstr "PL/Python-Funktion mit Rückgabetyp »void« hat nicht None zurückgegeben"
-#: plpy_exec.c:374 plpy_exec.c:400
+#: plpy_exec.c:379 plpy_exec.c:405
#, c-format
msgid "unexpected return value from trigger procedure"
msgstr "unerwarteter Rückgabewert von Triggerprozedur"
-#: plpy_exec.c:375
+#: plpy_exec.c:380
#, c-format
msgid "Expected None or a string."
msgstr "Erwartete None oder eine Zeichenkette."
-#: plpy_exec.c:390
+#: plpy_exec.c:395
#, c-format
msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
msgstr "PL/Python-Funktion gab in einem DELETE-Trigger \"MODIFY\" zurück -- ignoriert"
-#: plpy_exec.c:401
+#: plpy_exec.c:406
#, c-format
msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
msgstr "Erwartete None, \"OK\", \"SKIP\" oder \"MODIFY\"."
-#: plpy_exec.c:482
+#: plpy_exec.c:487
#, c-format
msgid "PyList_SetItem() failed, while setting up arguments"
msgstr "PyList_SetItem() fehlgeschlagen, beim Einrichten der Argumente"
-#: plpy_exec.c:486
+#: plpy_exec.c:491
#, c-format
msgid "PyDict_SetItemString() failed, while setting up arguments"
msgstr "PyDict_SetItemString() fehlgeschlagen, beim Einrichten der Argumente"
-#: plpy_exec.c:498
+#: plpy_exec.c:503
#, c-format
msgid "function returning record called in context that cannot accept type record"
msgstr "Funktion, die einen Record zurückgibt, in einem Zusammenhang aufgerufen, der Typ record nicht verarbeiten kann"
-#: plpy_exec.c:714
+#: plpy_exec.c:719
#, c-format
msgid "while creating return value"
msgstr "beim Erzeugen des Rückgabewerts"
-#: plpy_exec.c:738
+#: plpy_exec.c:743
#, c-format
msgid "could not create new dictionary while building trigger arguments"
msgstr "konnte neues Dictionary nicht erzeugen, beim Aufbauen der Triggerargumente"
-#: plpy_exec.c:926
+#: plpy_exec.c:931
#, c-format
msgid "TD[\"new\"] deleted, cannot modify row"
msgstr "TD[\"new\"] wurde gelöscht, kann Zeile nicht ändern"
-#: plpy_exec.c:931
+#: plpy_exec.c:936
#, c-format
msgid "TD[\"new\"] is not a dictionary"
msgstr "TD[\"new\"] ist kein Dictionary"
-#: plpy_exec.c:958
+#: plpy_exec.c:963
#, c-format
msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
msgstr "Dictionary-Schlüssel auf Position %d in TD[\"new\"] ist keine Zeichenkette"
-#: plpy_exec.c:965
+#: plpy_exec.c:970
#, c-format
msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row"
msgstr "in TD[\"new\"] gefundener Schlüssel »%s« existiert nicht als Spalte in der den Trigger auslösenden Zeile"
-#: plpy_exec.c:970
+#: plpy_exec.c:975
#, c-format
msgid "cannot set system attribute \"%s\""
msgstr "Systemattribut »%s« kann nicht gesetzt werden"
-#: plpy_exec.c:1041
+#: plpy_exec.c:1046
#, c-format
msgid "while modifying trigger row"
msgstr "beim Ändern der Triggerzeile"
-#: plpy_exec.c:1102
+#: plpy_exec.c:1107
#, c-format
msgid "forcibly aborting a subtransaction that has not been exited"
msgstr "Abbruch einer Subtransaktion, die nicht beendet wurde, wird erzwungen"
@@ -257,7 +257,7 @@ msgstr "konnte Fehlermeldung in plpy.elog nicht parsen"
#: plpy_plpymodule.c:469
#, c-format
-msgid "Argument 'message' given by name and position"
+msgid "argument 'message' given by name and position"
msgstr "Argument »message« wurde durch Namen und Position angegeben"
#: plpy_plpymodule.c:496
@@ -300,32 +300,32 @@ msgstr "konnte anonymen PL/Python-Codeblock nicht kompilieren"
msgid "command did not produce a result set"
msgstr "Befehl hat keine Ergebnismenge erzeugt"
-#: plpy_spi.c:60
+#: plpy_spi.c:59
#, c-format
msgid "second argument of plpy.prepare must be a sequence"
msgstr "zweites Argument von plpy.prepare muss eine Sequenz sein"
-#: plpy_spi.c:116
+#: plpy_spi.c:115
#, c-format
msgid "plpy.prepare: type name at ordinal position %d is not a string"
msgstr "plpy.prepare: Typname auf Position %d ist keine Zeichenkette"
-#: plpy_spi.c:192
+#: plpy_spi.c:191
#, c-format
msgid "plpy.execute expected a query or a plan"
msgstr "plpy.execute hat eine Anfrage oder einen Plan erwartet"
-#: plpy_spi.c:211
+#: plpy_spi.c:210
#, c-format
msgid "plpy.execute takes a sequence as its second argument"
msgstr "plpy.execute nimmt eine Sequenz als zweites Argument"
-#: plpy_spi.c:336
+#: plpy_spi.c:335
#, c-format
msgid "SPI_execute_plan failed: %s"
msgstr "SPI_execute_plan fehlgeschlagen: %s"
-#: plpy_spi.c:378
+#: plpy_spi.c:377
#, c-format
msgid "SPI_execute failed: %s"
msgstr "SPI_execute fehlgeschlagen: %s"
@@ -370,85 +370,83 @@ msgstr "kein Attribut »Decimal« im Modul"
msgid "conversion from numeric to Decimal failed"
msgstr "Umwandlung von numeric in Decimal fehlgeschlagen"
-#: plpy_typeio.c:772
+#: plpy_typeio.c:773
#, c-format
msgid "could not create bytes representation of Python object"
msgstr "konnte Bytes-Darstellung eines Python-Objektes nicht erzeugen"
-#: plpy_typeio.c:881
+#: plpy_typeio.c:882
#, c-format
msgid "could not create string representation of Python object"
msgstr "konnte Zeichenkettendarstellung eines Python-Objektes nicht erzeugen"
-#: plpy_typeio.c:892
+#: plpy_typeio.c:893
#, c-format
msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes"
msgstr "konnte Python-Objekt nicht in cstring umwandeln: Python-Zeichenkettendarstellung enthält anscheinend Null-Bytes"
-#: plpy_typeio.c:949
+#: plpy_typeio.c:950
#, c-format
msgid "malformed record literal: \"%s\""
msgstr "fehlerhafte Record-Konstante: »%s«"
-#: plpy_typeio.c:950
+#: plpy_typeio.c:951
#, c-format
msgid "Missing left parenthesis."
msgstr "Linke Klammer fehlt."
-#: plpy_typeio.c:951 plpy_typeio.c:1389
+#: plpy_typeio.c:952 plpy_typeio.c:1390
#, c-format
-msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g. \"[('foo')]\""
-msgstr ""
+msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\"."
+msgstr "Um einen zusammengesetzten Typ in einem Array zurückzugeben, geben Sie den zusammengesetzten Typ als ein Python-Tupel zurück, z.B. »[('foo',)]«."
-#: plpy_typeio.c:1000
+#: plpy_typeio.c:1001
#, c-format
msgid "number of array dimensions exceeds the maximum allowed (%d)"
msgstr "Anzahl der Arraydimensionen überschreitet erlaubtes Maximum (%d)"
-#: plpy_typeio.c:1004
-#, fuzzy, c-format
-#| msgid "cannot determine OID of function lo_truncate\n"
+#: plpy_typeio.c:1005
+#, c-format
msgid "cannot determine sequence length for function return value"
-msgstr "kann OID der Funktion lo_truncate nicht ermitteln\n"
+msgstr "kann Sequenzlänge für Funktionsrückgabewert nicht ermitteln"
-#: plpy_typeio.c:1007 plpy_typeio.c:1011
-#, fuzzy, c-format
-#| msgid "array size exceeds the maximum allowed (%d)"
+#: plpy_typeio.c:1008 plpy_typeio.c:1012
+#, c-format
msgid "array size exceeds the maximum allowed"
-msgstr "Arraygröße überschreitet erlaubtes Maximum (%d)"
+msgstr "Arraygröße überschreitet erlaubtes Maximum"
-#: plpy_typeio.c:1037
+#: plpy_typeio.c:1038
#, c-format
msgid "return value of function with array return type is not a Python sequence"
msgstr "Rückgabewert von Funktion mit Array-Rückgabetyp ist keine Python-Sequenz"
-#: plpy_typeio.c:1090
+#: plpy_typeio.c:1091
#, fuzzy, c-format
#| msgid "multidimensional arrays must have array expressions with matching dimensions"
msgid "multidimensional arrays must have array expressions with matching dimensions. PL/Python function return value has sequence length %d while expected %d"
msgstr "mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dimensionen haben"
-#: plpy_typeio.c:1212
+#: plpy_typeio.c:1213
#, c-format
msgid "key \"%s\" not found in mapping"
msgstr "Schlüssel »%s« nicht in Mapping gefunden"
-#: plpy_typeio.c:1213
+#: plpy_typeio.c:1214
#, c-format
msgid "To return null in a column, add the value None to the mapping with the key named after the column."
msgstr "Um einen NULL-Wert in einer Spalte zurückzugeben, muss der Wert None mit einem nach der Spalte benannten Schlüssel in das Mapping eingefügt werden."
-#: plpy_typeio.c:1264
+#: plpy_typeio.c:1265
#, c-format
msgid "length of returned sequence did not match number of columns in row"
msgstr "Länge der zurückgegebenen Sequenz hat nicht mit der Anzahl der Spalten in der Zeile übereingestimmt"
-#: plpy_typeio.c:1387
+#: plpy_typeio.c:1388
#, c-format
msgid "attribute \"%s\" does not exist in Python object"
msgstr "Attribut »%s« existiert nicht in Python-Objekt"
-#: plpy_typeio.c:1390
+#: plpy_typeio.c:1391
#, c-format
msgid "To return null in a column, let the returned object have an attribute named after column with value None."
msgstr "Um einen NULL-Wert in einer Spalte zurückzugeben, muss das zurückzugebende Objekt ein nach der Spalte benanntes Attribut mit dem Wert None haben."
@@ -462,6 +460,3 @@ msgstr "konnte Python-Unicode-Objekt nicht in Bytes umwandeln"
#, c-format
msgid "could not extract bytes from encoded string"
msgstr "konnte kodierte Zeichenkette nicht in Bytes umwandeln"
-
-#~ msgid "could not create new Python list"
-#~ msgstr "konnte neue Python-Liste nicht erzeugen"
diff --git a/src/pl/plpython/po/es.po b/src/pl/plpython/po/es.po
index c8d03981e27..a942e5e8737 100644
--- a/src/pl/plpython/po/es.po
+++ b/src/pl/plpython/po/es.po
@@ -8,10 +8,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: plpython (PostgreSQL 9.6)\n"
+"Project-Id-Version: plpython (PostgreSQL) 10\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2017-07-05 15:07+0000\n"
-"PO-Revision-Date: 2017-07-07 20:13-0500\n"
+"PO-Revision-Date: 2017-07-10 12:14-0400\n"
"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
"Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@postgresql.org>\n"
"Language: es\n"
diff --git a/src/pl/plpython/po/sv.po b/src/pl/plpython/po/sv.po
new file mode 100644
index 00000000000..d178b46503f
--- /dev/null
+++ b/src/pl/plpython/po/sv.po
@@ -0,0 +1,464 @@
+# Swedish message translation file for plpython
+# Copyright (C) 2017 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Dennis Björklund <db@zigo.dhs.org>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: plpython (PostgreSQL) 10\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2017-08-05 14:07+0000\n"
+"PO-Revision-Date: 2017-08-06 08:32+0200\n"
+"Last-Translator: Dennis Björklund <db@zigo.dhs.org>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: plpy_cursorobject.c:100
+#, c-format
+msgid "plpy.cursor expected a query or a plan"
+msgstr "plpy.cursor förväntade sig en fråga eller en plan"
+
+#: plpy_cursorobject.c:176
+#, c-format
+msgid "plpy.cursor takes a sequence as its second argument"
+msgstr "plpy.cursor tar en sekvens som sitt andra argument"
+
+#: plpy_cursorobject.c:192 plpy_spi.c:226
+#, c-format
+msgid "could not execute plan"
+msgstr "kunde inte exekvera plan"
+
+#: plpy_cursorobject.c:195 plpy_spi.c:229
+#, c-format
+msgid "Expected sequence of %d argument, got %d: %s"
+msgid_plural "Expected sequence of %d arguments, got %d: %s"
+msgstr[0] "Förväntade sekvens med %d argument, fick %d: %s"
+msgstr[1] "Förväntade sekvens med %d argument, fick %d: %s"
+
+#: plpy_cursorobject.c:350
+#, c-format
+msgid "iterating a closed cursor"
+msgstr "itererar med en stängd markör"
+
+#: plpy_cursorobject.c:358 plpy_cursorobject.c:423
+#, c-format
+msgid "iterating a cursor in an aborted subtransaction"
+msgstr "itererar med en markör i en avbruten subtransaktion"
+
+#: plpy_cursorobject.c:415
+#, c-format
+msgid "fetch from a closed cursor"
+msgstr "hämta från en stängd markör"
+
+#: plpy_cursorobject.c:463 plpy_spi.c:434
+#, c-format
+msgid "query result has too many rows to fit in a Python list"
+msgstr "frågeresultet har för många rader för att få plats i en Python-lista"
+
+#: plpy_cursorobject.c:504
+#, c-format
+msgid "closing a cursor in an aborted subtransaction"
+msgstr "stänger en markör i en avbruten subtransaktion"
+
+#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:548
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: plpy_exec.c:140
+#, c-format
+msgid "unsupported set function return mode"
+msgstr "ej supportat returläge för mängdfunktion"
+
+#: plpy_exec.c:141
+#, c-format
+msgid "PL/Python set-returning functions only support returning one value per call."
+msgstr "PL/Python mängdreturnerande funktioner stöder bara ett värde per anrop."
+
+#: plpy_exec.c:154
+#, c-format
+msgid "returned object cannot be iterated"
+msgstr "returnerat objekt kan inte itereras"
+
+#: plpy_exec.c:155
+#, c-format
+msgid "PL/Python set-returning functions must return an iterable object."
+msgstr "PL/Python mängdreturnerande funktioner måste returnera ett itererbart objekt."
+
+#: plpy_exec.c:169
+#, c-format
+msgid "error fetching next item from iterator"
+msgstr "fel vid hämtning av nästa del från iteratorn"
+
+#: plpy_exec.c:210
+#, c-format
+msgid "PL/Python function with return type \"void\" did not return None"
+msgstr "PL/Python-funktion med returtyp \"void\" returnerade inte None"
+
+#: plpy_exec.c:379 plpy_exec.c:405
+#, c-format
+msgid "unexpected return value from trigger procedure"
+msgstr "oväntat returvärde från utlösarprocedur"
+
+#: plpy_exec.c:380
+#, c-format
+msgid "Expected None or a string."
+msgstr "Förväntade None eller en sträng."
+
+#: plpy_exec.c:395
+#, c-format
+msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
+msgstr "PL/Python-utlösarfunktion returnerade \"MODIFY\" i en DELETE-utlösare -- ignorerad"
+
+#: plpy_exec.c:406
+#, c-format
+msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
+msgstr "Förväntade None, \"OK\", \"SKIP\" eller \"MODIFY\"."
+
+#: plpy_exec.c:487
+#, c-format
+msgid "PyList_SetItem() failed, while setting up arguments"
+msgstr "PyList_SetItem() misslyckades vid uppsättning av argument"
+
+#: plpy_exec.c:491
+#, c-format
+msgid "PyDict_SetItemString() failed, while setting up arguments"
+msgstr "PyDict_SetItemString() misslyckades vid uppsättning av argument"
+
+#: plpy_exec.c:503
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "en funktion med post som värde anropades i sammanhang där poster inte kan godtagas."
+
+#: plpy_exec.c:719
+#, c-format
+msgid "while creating return value"
+msgstr "vid skapande av returvärde"
+
+#: plpy_exec.c:743
+#, c-format
+msgid "could not create new dictionary while building trigger arguments"
+msgstr "kunde inte skapa ny katalog vid byggande av utlösarargument"
+
+#: plpy_exec.c:931
+#, c-format
+msgid "TD[\"new\"] deleted, cannot modify row"
+msgstr "TD[\"new\"] raderad, kan inte modifiera rad"
+
+#: plpy_exec.c:936
+#, c-format
+msgid "TD[\"new\"] is not a dictionary"
+msgstr "TD[\"new\"] är inte en dictionary"
+
+#: plpy_exec.c:963
+#, c-format
+msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
+msgstr "TD[\"new\"] dictionary-nyckel vid numerisk position %d är inte en sträng"
+
+#: plpy_exec.c:970
+#, c-format
+msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row"
+msgstr "nyckel \"%s\" hittad i TD[\"new\"] finns inte som en kolumn i den utlösande raden"
+
+#: plpy_exec.c:975
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "kan inte sätta systemattribut \"%s\""
+
+#: plpy_exec.c:1046
+#, c-format
+msgid "while modifying trigger row"
+msgstr "vid modifiering av utlösande rad"
+
+#: plpy_exec.c:1107
+#, c-format
+msgid "forcibly aborting a subtransaction that has not been exited"
+msgstr "tvingar avbrytande av subtransaktion som inte har avslutats"
+
+#: plpy_main.c:125
+#, c-format
+msgid "multiple Python libraries are present in session"
+msgstr "multipla Python-bibliotek är aktiva i sessionen"
+
+#: plpy_main.c:126
+#, c-format
+msgid "Only one Python major version can be used in one session."
+msgstr "Bara en major-version av Python kan användas i en session."
+
+#: plpy_main.c:142
+#, c-format
+msgid "untrapped error in initialization"
+msgstr "ej fångar fel i initiering"
+
+#: plpy_main.c:165
+#, c-format
+msgid "could not import \"__main__\" module"
+msgstr "kunde inte importera \"__main__\"-modul"
+
+#: plpy_main.c:170
+#, c-format
+msgid "could not create globals"
+msgstr "kundew inte skapa globaler"
+
+#: plpy_main.c:174
+#, c-format
+msgid "could not initialize globals"
+msgstr "kunde inte initierar globaler"
+
+#: plpy_main.c:387
+#, c-format
+msgid "PL/Python function \"%s\""
+msgstr "PL/Python-funktion \"%s\""
+
+#: plpy_main.c:394
+#, c-format
+msgid "PL/Python anonymous code block"
+msgstr "PL/Python anonymt kodblock"
+
+#: plpy_plpymodule.c:181 plpy_plpymodule.c:184
+#, c-format
+msgid "could not import \"plpy\" module"
+msgstr "kunde inte importera \"plpy\"-modul"
+
+#: plpy_plpymodule.c:199
+#, c-format
+msgid "could not create the spiexceptions module"
+msgstr "kunde inte skapa modulen spiexceptions"
+
+#: plpy_plpymodule.c:207
+#, c-format
+msgid "could not add the spiexceptions module"
+msgstr "kunde inte lägga till modulen spiexceptions"
+
+#: plpy_plpymodule.c:236
+#, c-format
+msgid "could not create exception \"%s\""
+msgstr "kunde inte skapa undantag \"%s\""
+
+#: plpy_plpymodule.c:271 plpy_plpymodule.c:275
+#, c-format
+msgid "could not generate SPI exceptions"
+msgstr "kunde inte skapa SPI-undantag"
+
+#: plpy_plpymodule.c:443
+#, c-format
+msgid "could not unpack arguments in plpy.elog"
+msgstr "kunde inte packa upp argument i plpy.elog"
+
+#: plpy_plpymodule.c:452
+msgid "could not parse error message in plpy.elog"
+msgstr "kunde inte parsa felmeddelande i plpy.elog"
+
+#: plpy_plpymodule.c:469
+#, c-format
+msgid "argument 'message' given by name and position"
+msgstr "argumentet 'message' angivet med namn och position"
+
+#: plpy_plpymodule.c:496
+#, c-format
+msgid "'%s' is an invalid keyword argument for this function"
+msgstr "'%s' är ett ogiltigt nyckelordsargument för denna funktion"
+
+#: plpy_plpymodule.c:507 plpy_plpymodule.c:513
+#, c-format
+msgid "invalid SQLSTATE code"
+msgstr "ogiltig SQLSTATE-kod"
+
+#: plpy_procedure.c:230
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "Triggningsfunktioner kan bara anropas vid triggning."
+
+#: plpy_procedure.c:235
+#, c-format
+msgid "PL/Python functions cannot return type %s"
+msgstr "PL/Python-funktioner kan inte returnera typ %s"
+
+#: plpy_procedure.c:316
+#, c-format
+msgid "PL/Python functions cannot accept type %s"
+msgstr "PL/Python-funktioner kan inte ta emot typ %s"
+
+#: plpy_procedure.c:412
+#, c-format
+msgid "could not compile PL/Python function \"%s\""
+msgstr "kunde inte kompilera PL/Python-funktion \"%s\""
+
+#: plpy_procedure.c:415
+#, c-format
+msgid "could not compile anonymous PL/Python code block"
+msgstr "kunde inte kompilera anonymt PL/Python-kodblock"
+
+#: plpy_resultobject.c:145 plpy_resultobject.c:165 plpy_resultobject.c:185
+#, c-format
+msgid "command did not produce a result set"
+msgstr "kommandot producerade inte en resultatmängd"
+
+#: plpy_spi.c:59
+#, c-format
+msgid "second argument of plpy.prepare must be a sequence"
+msgstr "andra argumentet till plpy.prepare måste vara en sekvens"
+
+#: plpy_spi.c:115
+#, c-format
+msgid "plpy.prepare: type name at ordinal position %d is not a string"
+msgstr "plpy.prepare: typnamn vid numerisk position %d är inte en sträng"
+
+#: plpy_spi.c:191
+#, c-format
+msgid "plpy.execute expected a query or a plan"
+msgstr "plpy.execute förväntade en fråga eller en plan"
+
+#: plpy_spi.c:210
+#, c-format
+msgid "plpy.execute takes a sequence as its second argument"
+msgstr "plpy.execute tar en sekvens som sitt andra argument"
+
+#: plpy_spi.c:335
+#, c-format
+msgid "SPI_execute_plan failed: %s"
+msgstr "SPI_execute_plan misslyckades: %s"
+
+#: plpy_spi.c:377
+#, c-format
+msgid "SPI_execute failed: %s"
+msgstr "SPI_execute misslyckades: %s"
+
+#: plpy_subxactobject.c:122
+#, c-format
+msgid "this subtransaction has already been entered"
+msgstr "denna subtransaktion har redan gåtts in i"
+
+#: plpy_subxactobject.c:128 plpy_subxactobject.c:186
+#, c-format
+msgid "this subtransaction has already been exited"
+msgstr "denna subtransaktion har redan avslutat"
+
+#: plpy_subxactobject.c:180
+#, c-format
+msgid "this subtransaction has not been entered"
+msgstr "denna subtransaktion har inte gåtts in i"
+
+#: plpy_subxactobject.c:192
+#, c-format
+msgid "there is no subtransaction to exit from"
+msgstr "det finns ingen subtransaktion att avsluta från"
+
+#: plpy_typeio.c:292
+#, c-format
+msgid "could not create new dictionary"
+msgstr "kunde inte skapa ny katalog"
+
+#: plpy_typeio.c:560
+#, c-format
+msgid "could not import a module for Decimal constructor"
+msgstr "kunde inte importera en modul för Decimal-konstruktorn"
+
+#: plpy_typeio.c:564
+#, c-format
+msgid "no Decimal attribute in module"
+msgstr "inga Decimal-attribut i modulen"
+
+#: plpy_typeio.c:570
+#, c-format
+msgid "conversion from numeric to Decimal failed"
+msgstr "konvertering från numeric till Decimal misslyckades"
+
+#: plpy_typeio.c:773
+#, c-format
+msgid "could not create bytes representation of Python object"
+msgstr "kunde inte skapa byte-representation av Python-objekt"
+
+#: plpy_typeio.c:882
+#, c-format
+msgid "could not create string representation of Python object"
+msgstr "kunde inte skapa strängrepresentation av Python-objekt"
+
+#: plpy_typeio.c:893
+#, c-format
+msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes"
+msgstr "kunde inte konvertera Python-objekt till cstring: Python-strängrepresentationen verkar innehålla noll-bytes"
+
+#: plpy_typeio.c:950
+#, c-format
+msgid "malformed record literal: \"%s\""
+msgstr "felaktig postliteral: \"%s\""
+
+#: plpy_typeio.c:951
+#, c-format
+msgid "Missing left parenthesis."
+msgstr "Saknar vänster parentes"
+
+#: plpy_typeio.c:952 plpy_typeio.c:1390
+#, c-format
+msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\"."
+msgstr "För att returnera en composite-typ i en array, returnera composite-typen som en Python-tupel, t.ex. \"[('foo',)]\"."
+
+#: plpy_typeio.c:1001
+#, c-format
+msgid "number of array dimensions exceeds the maximum allowed (%d)"
+msgstr "antal array-dimensioner överskriver maximalt tillåtna (%d)"
+
+#: plpy_typeio.c:1005
+#, c-format
+msgid "could not determine sequence length for function return value"
+msgstr "kunde inte bestämma sekvenslängd för funktionens returvärde"
+
+#: plpy_typeio.c:1008 plpy_typeio.c:1012
+#, c-format
+msgid "array size exceeds the maximum allowed"
+msgstr "array-storlek överskrider maximalt tillåtna"
+
+#: plpy_typeio.c:1038
+#, c-format
+msgid "return value of function with array return type is not a Python sequence"
+msgstr "returvärde för funktion med array-returtyp är inte en Python-sekvens"
+
+#: plpy_typeio.c:1091
+#, c-format
+msgid "wrong length of inner sequence: has length %d, but %d was expected"
+msgstr "fel längd på inre sekvens: har längd %d, men %d förväntades"
+
+#: plpy_typeio.c:1093
+#, c-format
+msgid "To construct a multidimensional array, the inner sequences must all have the same length."
+msgstr "För att skapa en multidimensionell array så skall alla de inre sekvenserna ha samma längd."
+
+#: plpy_typeio.c:1213
+#, c-format
+msgid "key \"%s\" not found in mapping"
+msgstr "nyckeln \"%s\" hittades inte i mapping"
+
+#: plpy_typeio.c:1214
+#, c-format
+msgid "To return null in a column, add the value None to the mapping with the key named after the column."
+msgstr "För att returnera null i en kolumn så lägg till värdet None till mappningen med nyckelnamn taget från kolumnen."
+
+#: plpy_typeio.c:1265
+#, c-format
+msgid "length of returned sequence did not match number of columns in row"
+msgstr "längden på den returnerade sekvensen matchade inte antal kolumner i raden"
+
+#: plpy_typeio.c:1388
+#, c-format
+msgid "attribute \"%s\" does not exist in Python object"
+msgstr "attributet \"%s\" finns inte i Python-objektet"
+
+#: plpy_typeio.c:1391
+#, c-format
+msgid "To return null in a column, let the returned object have an attribute named after column with value None."
+msgstr "För att returnera null i en kolumn så låt det returnerade objektet ha ett attribut med namn efter kolumnen och med värdet None."
+
+#: plpy_util.c:36
+#, c-format
+msgid "could not convert Python Unicode object to bytes"
+msgstr "kunde inte konvertera Python-unicode-objekt till bytes"
+
+#: plpy_util.c:42
+#, c-format
+msgid "could not extract bytes from encoded string"
+msgstr "kunde inte extrahera bytes från kodad sträng"
diff --git a/src/pl/tcl/nls.mk b/src/pl/tcl/nls.mk
index 84892368669..f896dcbfa43 100644
--- a/src/pl/tcl/nls.mk
+++ b/src/pl/tcl/nls.mk
@@ -1,6 +1,6 @@
# src/pl/tcl/nls.mk
CATALOG_NAME = pltcl
-AVAIL_LANGUAGES = cs de es fr it ja ko pl pt_BR ro ru tr zh_CN zh_TW
+AVAIL_LANGUAGES = cs de es fr it ja ko pl pt_BR ro ru sv tr zh_CN zh_TW
GETTEXT_FILES = pltcl.c
GETTEXT_TRIGGERS = $(BACKEND_COMMON_GETTEXT_TRIGGERS)
GETTEXT_FLAGS = $(BACKEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/pl/tcl/po/es.po b/src/pl/tcl/po/es.po
index f9a480195f7..f79b3a4c251 100644
--- a/src/pl/tcl/po/es.po
+++ b/src/pl/tcl/po/es.po
@@ -8,10 +8,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: pltcl (PostgreSQL 9.6)\n"
+"Project-Id-Version: pltcl (PostgreSQL) 10\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2017-07-05 15:07+0000\n"
-"PO-Revision-Date: 2017-07-07 20:01-0500\n"
+"PO-Revision-Date: 2017-07-10 12:14-0400\n"
"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
"Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@postgresql.org>\n"
"Language: es\n"
diff --git a/src/pl/tcl/po/sv.po b/src/pl/tcl/po/sv.po
new file mode 100644
index 00000000000..cb6d8ae07da
--- /dev/null
+++ b/src/pl/tcl/po/sv.po
@@ -0,0 +1,105 @@
+# Swedish message translation file for pltcl
+# Copyright (C) 2017 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Dennis Björklund <db@zigo.dhs.org>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL) 10\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2017-07-20 21:07+0000\n"
+"PO-Revision-Date: 2017-07-21 06:04+0200\n"
+"Last-Translator: Dennis Björklund <db@zigo.dhs.org>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: pltcl.c:459
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "PL/Tcl-funktion att anropa en gång när pltcl först används."
+
+#: pltcl.c:466
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "PL/TclU-funktion att anrop en gång när pltclu först används."
+
+#: pltcl.c:629
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "funktionen \"%s\" är skriven i fel språk"
+
+#: pltcl.c:640
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "funktionen \"%s\" får ej vara SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:674
+#, c-format
+msgid "processing %s parameter"
+msgstr "processar parameter %s"
+
+#: pltcl.c:830
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "en funktion som returnerar en mängd anropades i kontext som inte godtar en mängd"
+
+#: pltcl.c:994
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "en funktion med post som värde anropades i sammanhang där poster inte kan godtagas."
+
+#: pltcl.c:1263
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "kunde inte dela på returvärde och utlösare: %s"
+
+#: pltcl.c:1343 pltcl.c:1771
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1344
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"i PL/Tcl-funktion \"%s\""
+
+#: pltcl.c:1509
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "Triggningsfunktioner kan bara anropas vid triggning."
+
+#: pltcl.c:1513
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "PL/Tcl-funktioner kan inte returnera typ %s"
+
+#: pltcl.c:1549
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "PL/Tcl-funktioner kan inte ta emot typ %s"
+
+#: pltcl.c:1663
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "kunde inte skapa en intern procedur \"%s\": %s"
+
+#: pltcl.c:3100
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "kolumn-namn/-värde måste ha ett jämt antal element"
+
+#: pltcl.c:3118
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "listan med kolumn-namn/-värde innehåller det icke existerande kolumnnamnet \"%s\""
+
+#: pltcl.c:3125
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "kan inte sätta systemattribut \"%s\""