summaryrefslogtreecommitdiff
path: root/src/pl/plpython
diff options
context:
space:
mode:
authorPeter Eisentraut2020-05-11 11:14:32 +0000
committerPeter Eisentraut2020-05-11 11:14:32 +0000
commit7a9c9ce6411720c2bbeaf6e64855d4263c47ea80 (patch)
tree68df3ee22255c6a176d4e410750c6006aeb1c25d /src/pl/plpython
parent336aa51b70e9cf7da3969a3f102ff4913717083d (diff)
Translation updates
Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git Source-Git-Hash: 80d8f54b3c5533ec036404bd3c3b24ff4825d037
Diffstat (limited to 'src/pl/plpython')
-rw-r--r--src/pl/plpython/nls.mk2
-rw-r--r--src/pl/plpython/po/cs.po274
-rw-r--r--src/pl/plpython/po/es.po2
-rw-r--r--src/pl/plpython/po/ja.po252
-rw-r--r--src/pl/plpython/po/ko.po208
-rw-r--r--src/pl/plpython/po/ru.po141
-rw-r--r--src/pl/plpython/po/sv.po196
-rw-r--r--src/pl/plpython/po/uk.po456
-rw-r--r--src/pl/plpython/po/zh_CN.po15
9 files changed, 1020 insertions, 526 deletions
diff --git a/src/pl/plpython/nls.mk b/src/pl/plpython/nls.mk
index b3e10d035c..09778271b7 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 sv tr vi zh_CN
+AVAIL_LANGUAGES = cs de es fr it ja ko pl pt_BR ru sv tr uk vi 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/cs.po b/src/pl/plpython/po/cs.po
index ff67ead25f..61576aca0f 100644
--- a/src/pl/plpython/po/cs.po
+++ b/src/pl/plpython/po/cs.po
@@ -6,9 +6,9 @@
msgid ""
msgstr ""
"Project-Id-Version: plpython-cs (PostgreSQL 9.3)\n"
-"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2018-07-13 19:37+0000\n"
-"PO-Revision-Date: 2018-07-13 23:53+0200\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2019-09-27 08:08+0000\n"
+"PO-Revision-Date: 2019-09-27 21:01+0200\n"
"Last-Translator: Tomas Vondra <tv@fuzzy.cz>\n"
"Language-Team: Czech <info@cspug.cx>\n"
"Language: cs\n"
@@ -16,24 +16,24 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Poedit 2.0.7\n"
+"X-Generator: Poedit 2.2.3\n"
-#: plpy_cursorobject.c:101
+#: plpy_cursorobject.c:78
#, c-format
msgid "plpy.cursor expected a query or a plan"
msgstr "plpy.cursor očekával dotaz nebo plán"
-#: plpy_cursorobject.c:184
+#: plpy_cursorobject.c:161
#, c-format
msgid "plpy.cursor takes a sequence as its second argument"
msgstr "plpy.cursor jako druhý argument očekává sekvenci"
-#: plpy_cursorobject.c:200 plpy_spi.c:211
+#: plpy_cursorobject.c:177 plpy_spi.c:211
#, c-format
msgid "could not execute plan"
msgstr "nelze spustit plán"
-#: plpy_cursorobject.c:203 plpy_spi.c:214
+#: plpy_cursorobject.c:180 plpy_spi.c:214
#, c-format
msgid "Expected sequence of %d argument, got %d: %s"
msgid_plural "Expected sequence of %d arguments, got %d: %s"
@@ -41,153 +41,147 @@ msgstr[0] "Očekávána posloupnost %d argument, předáno %d: %s"
msgstr[1] "Očekávána posloupnost %d argumentů, předáno %d: %s"
msgstr[2] "Očekávána posloupnost %d argumentů, předáno %d: %s"
-#: plpy_cursorobject.c:352
+#: plpy_cursorobject.c:329
#, c-format
msgid "iterating a closed cursor"
msgstr "iterování uzavřeného kurzoru"
-#: plpy_cursorobject.c:360 plpy_cursorobject.c:426
+#: plpy_cursorobject.c:337 plpy_cursorobject.c:403
#, c-format
msgid "iterating a cursor in an aborted subtransaction"
msgstr "iterování kurzoru ve zrušené subtransakci"
-#: plpy_cursorobject.c:418
+#: plpy_cursorobject.c:395
#, c-format
msgid "fetch from a closed cursor"
msgstr "fetch ze zavřeného kurzoru"
-#: plpy_cursorobject.c:461 plpy_spi.c:409
+#: plpy_cursorobject.c:438 plpy_spi.c:409
#, c-format
msgid "query result has too many rows to fit in a Python list"
msgstr "výsledek dotazu má příliš mnoho řádek a nevejde se to Python seznamu"
-#: plpy_cursorobject.c:512
+#: plpy_cursorobject.c:490
#, c-format
msgid "closing a cursor in an aborted subtransaction"
msgstr "uzavření kurzoru ve zrušené subtransakci"
-#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:559
+#: plpy_elog.c:129 plpy_elog.c:130 plpy_plpymodule.c:553
#, c-format
msgid "%s"
msgstr "%s"
-#: plpy_exec.c:142
+#: plpy_exec.c:143
#, c-format
msgid "unsupported set function return mode"
msgstr "nepodporovaný návratový mód funkce vracející tabulku"
-#: plpy_exec.c:143
+#: plpy_exec.c:144
#, c-format
-msgid ""
-"PL/Python set-returning functions only support returning one value per call."
-msgstr ""
-"PL/Python funkce vracející tabulku podporují pouze vracení jedné hodnoty pro "
-"každé volání."
+msgid "PL/Python set-returning functions only support returning one value per call."
+msgstr "PL/Python funkce vracející tabulku podporují pouze vracení jedné hodnoty pro každé volání."
-#: plpy_exec.c:156
+#: plpy_exec.c:157
#, c-format
msgid "returned object cannot be iterated"
msgstr "přes vrácený objekt nelze iterovat"
-#: plpy_exec.c:157
+#: plpy_exec.c:158
#, c-format
msgid "PL/Python set-returning functions must return an iterable object."
msgstr "PL/Python funkce vracející tabulku musí vracet iterovatelný objekt."
-#: plpy_exec.c:171
+#: plpy_exec.c:172
#, c-format
msgid "error fetching next item from iterator"
msgstr "chyba při načítání další položky z iterátoru"
-#: plpy_exec.c:214
+#: plpy_exec.c:215
#, c-format
msgid "PL/Python procedure did not return None"
msgstr "PL/Python procedura nevrátila hodnotu None"
-#: plpy_exec.c:218
+#: plpy_exec.c:219
#, c-format
msgid "PL/Python function with return type \"void\" did not return None"
msgstr "PL/Python funkce s návratovým typem \"void\" nevrátila hodnotu None"
-#: plpy_exec.c:374 plpy_exec.c:400
+#: plpy_exec.c:375 plpy_exec.c:401
#, c-format
msgid "unexpected return value from trigger procedure"
msgstr "neočekávaná návratová hodnota z trigger procedury"
-#: plpy_exec.c:375
+#: plpy_exec.c:376
#, c-format
msgid "Expected None or a string."
msgstr "Očekáváno None nebo řetězec."
-#: plpy_exec.c:390
+#: plpy_exec.c:391
#, c-format
-msgid ""
-"PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
-msgstr ""
-"PL/Python trigger funkce vrátila \"MODIFY\" v DELETE triggeru -- ignorováno"
+msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
+msgstr "PL/Python trigger funkce vrátila \"MODIFY\" v DELETE triggeru -- ignorováno"
-#: plpy_exec.c:401
+#: plpy_exec.c:402
#, c-format
msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
msgstr "Očekáváno None, \"OK\", \"SKIP\", nebo \"MODIFY\"."
-#: plpy_exec.c:451
+#: plpy_exec.c:452
#, c-format
msgid "PyList_SetItem() failed, while setting up arguments"
msgstr "volání PyList_SetItem() selhalo během vytváření argumentů"
-#: plpy_exec.c:455
+#: plpy_exec.c:456
#, c-format
msgid "PyDict_SetItemString() failed, while setting up arguments"
msgstr "volání PyDict_SetItemString() selhalo během přípravy argumentů"
-#: plpy_exec.c:467
+#: plpy_exec.c:468
#, c-format
-msgid ""
-"function returning record called in context that cannot accept type record"
-msgstr ""
-"funkce vracející záznam byla zavolána z kontextu, který neumožňuje přijetí "
-"záznamu"
+msgid "function returning record called in context that cannot accept type record"
+msgstr "funkce vracející záznam byla zavolána z kontextu, který neumožňuje přijetí záznamu"
-#: plpy_exec.c:684
+#: plpy_exec.c:685
#, c-format
msgid "while creating return value"
msgstr "během vytváření návratové hodnoty"
-#: plpy_exec.c:909
+#: plpy_exec.c:919
#, c-format
msgid "TD[\"new\"] deleted, cannot modify row"
msgstr "TD[\"new\"] smazáno, nelze modifikovat řádek"
-#: plpy_exec.c:914
+#: plpy_exec.c:924
#, c-format
msgid "TD[\"new\"] is not a dictionary"
msgstr "TD[\"new\"] není slovník"
-#: plpy_exec.c:941
+#: plpy_exec.c:951
#, c-format
msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
msgstr "TD[\"new\"] klíč slovníku na pozici %d není řetězec"
-#: plpy_exec.c:948
+#: plpy_exec.c:958
#, c-format
-msgid ""
-"key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering "
-"row"
-msgstr ""
-"klíč \"%s\" nalezený v TD[\"new\"] neexistuje jako sloupec v triggering řádku"
+msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row"
+msgstr "klíč \"%s\" nalezený v TD[\"new\"] neexistuje jako sloupec v triggering řádku"
-#: plpy_exec.c:953
+#: plpy_exec.c:963
#, c-format
msgid "cannot set system attribute \"%s\""
msgstr "nelze nastavit systémový atribut \"%s\""
-#: plpy_exec.c:1011
+#: plpy_exec.c:968
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "nelze přiřazovat do generovaného sloupce \"%s\""
+
+#: plpy_exec.c:1026
#, c-format
msgid "while modifying trigger row"
msgstr "během modifikace řádku triggeru"
-#: plpy_exec.c:1072
+#: plpy_exec.c:1087
#, c-format
msgid "forcibly aborting a subtransaction that has not been exited"
msgstr "vynucené ukončení subtransakce která nebyla dokončena"
@@ -232,46 +226,46 @@ msgstr "PL/Python funkce \"%s\""
msgid "PL/Python anonymous code block"
msgstr "PL/Python anonymní blok kódu"
-#: plpy_plpymodule.c:192 plpy_plpymodule.c:195
+#: plpy_plpymodule.c:186 plpy_plpymodule.c:189
#, c-format
msgid "could not import \"plpy\" module"
msgstr "nepodařilo se naimportovat \"plpy\" modul"
-#: plpy_plpymodule.c:210
+#: plpy_plpymodule.c:204
#, c-format
msgid "could not create the spiexceptions module"
msgstr "nepodařilo se vytvořit spiexceptions modul"
-#: plpy_plpymodule.c:218
+#: plpy_plpymodule.c:212
#, c-format
msgid "could not add the spiexceptions module"
msgstr "nepodařilo se naimportovat \"__main__\" modul"
-#: plpy_plpymodule.c:286
+#: plpy_plpymodule.c:280
#, c-format
msgid "could not generate SPI exceptions"
msgstr "nepodařilo se vygenerovat SPI výjimky"
-#: plpy_plpymodule.c:454
+#: plpy_plpymodule.c:448
#, c-format
msgid "could not unpack arguments in plpy.elog"
msgstr "nepodařilo se rozbalit argumenty v plpy.elog"
-#: plpy_plpymodule.c:463
+#: plpy_plpymodule.c:457
msgid "could not parse error message in plpy.elog"
msgstr "nepodařilo se naparsovat chybovou hlášku v plpy.elog"
-#: plpy_plpymodule.c:480
+#: plpy_plpymodule.c:474
#, c-format
msgid "argument 'message' given by name and position"
msgstr "argument 'message' zadán jménem a pozicí"
-#: plpy_plpymodule.c:507
+#: plpy_plpymodule.c:501
#, c-format
msgid "'%s' is an invalid keyword argument for this function"
msgstr "'%s' je neplatný keyword argument pro tuto funkci"
-#: plpy_plpymodule.c:518 plpy_plpymodule.c:524
+#: plpy_plpymodule.c:512 plpy_plpymodule.c:518
#, c-format
msgid "invalid SQLSTATE code"
msgstr "chybný SQLSTATE kód"
@@ -279,8 +273,7 @@ msgstr "chybný SQLSTATE kód"
#: plpy_procedure.c:230
#, c-format
msgid "trigger functions can only be called as triggers"
-msgstr ""
-"funkce pro obsluhu triggerů mohou být volané pouze prostřednictvím triggerů"
+msgstr "funkce pro obsluhu triggerů mohou být volané pouze prostřednictvím triggerů"
#: plpy_procedure.c:234
#, c-format
@@ -302,7 +295,7 @@ msgstr "nelze zkompiloval PL/Python funkci \"%s\""
msgid "could not compile anonymous PL/Python code block"
msgstr "nelze zkompiloval anonymní PL/Python blok"
-#: plpy_resultobject.c:150 plpy_resultobject.c:176 plpy_resultobject.c:202
+#: plpy_resultobject.c:121 plpy_resultobject.c:147 plpy_resultobject.c:173
#, c-format
msgid "command did not produce a result set"
msgstr "příkaz nevrátil žádný výsledek"
@@ -337,22 +330,22 @@ msgstr "volání SPI_execute_plan selhalo: %s"
msgid "SPI_execute failed: %s"
msgstr "volání SPI_execute selhalo: %s"
-#: plpy_subxactobject.c:122
+#: plpy_subxactobject.c:97
#, c-format
msgid "this subtransaction has already been entered"
msgstr "tato subtransakce již byla zahájena"
-#: plpy_subxactobject.c:128 plpy_subxactobject.c:186
+#: plpy_subxactobject.c:103 plpy_subxactobject.c:161
#, c-format
msgid "this subtransaction has already been exited"
msgstr "tato subtransakce již byla dokončena"
-#: plpy_subxactobject.c:180
+#: plpy_subxactobject.c:155
#, c-format
msgid "this subtransaction has not been entered"
msgstr "tato subtransakce nebyla zahájena"
-#: plpy_subxactobject.c:192
+#: plpy_subxactobject.c:167
#, c-format
msgid "there is no subtransaction to exit from"
msgstr "nenalezena subtransakce k ukončení"
@@ -372,113 +365,90 @@ msgstr "modul nemá žádný Decimal atribut"
msgid "conversion from numeric to Decimal failed"
msgstr "konverze z numeric na Decimal selhala"
-#: plpy_typeio.c:908
+#: plpy_typeio.c:915
#, c-format
msgid "could not create bytes representation of Python object"
msgstr "nepodařilo se vytvořit bytovou reprezentaci Python objektu"
-#: plpy_typeio.c:1056
+#: plpy_typeio.c:1063
#, c-format
msgid "could not create string representation of Python object"
msgstr "nepodařilo se vytvořit řetězcovou reprezentaci Python objektu"
-#: plpy_typeio.c:1067
+#: plpy_typeio.c:1074
#, c-format
-msgid ""
-"could not convert Python object into cstring: Python string representation "
-"appears to contain null bytes"
-msgstr ""
-"nepodařilo se převést Python objekt na cstring: zdá se že řetězcová "
-"reprezentace Python objektu obsahuje null byty"
+msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes"
+msgstr "nepodařilo se převést Python objekt na cstring: zdá se že řetězcová reprezentace Python objektu obsahuje null byty"
-#: plpy_typeio.c:1176
+#: plpy_typeio.c:1183
#, c-format
msgid "number of array dimensions exceeds the maximum allowed (%d)"
msgstr "počet dimenzí pole překračuje povolené maximum (%d)"
-#: plpy_typeio.c:1180
+#: plpy_typeio.c:1187
#, c-format
msgid "could not determine sequence length for function return value"
msgstr "nelze určit délku posloupnosti pro návratovou hodnotu funkce"
-#: plpy_typeio.c:1183 plpy_typeio.c:1187
+#: plpy_typeio.c:1190 plpy_typeio.c:1194
#, c-format
msgid "array size exceeds the maximum allowed"
msgstr "velikost pole překračuje povolené maximum"
-#: plpy_typeio.c:1213
+#: plpy_typeio.c:1220
#, c-format
-msgid ""
-"return value of function with array return type is not a Python sequence"
-msgstr ""
-"návratová hodnota funkce s návratovým typem pole není Python posloupnost "
-"(sequence)"
+msgid "return value of function with array return type is not a Python sequence"
+msgstr "návratová hodnota funkce s návratovým typem pole není Python posloupnost (sequence)"
-#: plpy_typeio.c:1259
+#: plpy_typeio.c:1266
#, c-format
msgid "wrong length of inner sequence: has length %d, but %d was expected"
msgstr "chybná délka vnitční sekvence: má délku %d, ale očekáváno bylo %d"
-#: plpy_typeio.c:1261
+#: plpy_typeio.c:1268
#, c-format
-msgid ""
-"To construct a multidimensional array, the inner sequences must all have the "
-"same length."
-msgstr ""
-"Pro vytvoření vícerozměrného pole musí mít včechny vnitřní sekvence stejnou "
-"délku."
+msgid "To construct a multidimensional array, the inner sequences must all have the same length."
+msgstr "Pro vytvoření vícerozměrného pole musí mít včechny vnitřní sekvence stejnou délku."
-#: plpy_typeio.c:1340
+#: plpy_typeio.c:1347
#, c-format
msgid "malformed record literal: \"%s\""
msgstr "chybný literál záznamu: \"%s\""
-#: plpy_typeio.c:1341
+#: plpy_typeio.c:1348
#, c-format
msgid "Missing left parenthesis."
msgstr "Chybějící levá závorka."
-#: plpy_typeio.c:1342 plpy_typeio.c:1543
+#: plpy_typeio.c:1349 plpy_typeio.c:1550
#, c-format
-msgid ""
-"To return a composite type in an array, return the composite type as a "
-"Python tuple, e.g., \"[('foo',)]\"."
-msgstr ""
-"Pro vrácení kompozitního typu v poli, vracejte kompozitní typ jako Python "
-"tuple, e.g., \"[('foo',)]\"."
+msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\"."
+msgstr "Pro vrácení kompozitního typu v poli, vracejte kompozitní typ jako Python tuple, e.g., \"[('foo',)]\"."
-#: plpy_typeio.c:1389
+#: plpy_typeio.c:1396
#, c-format
msgid "key \"%s\" not found in mapping"
msgstr "klíč \"%s\" nenalezen v mapování"
-#: plpy_typeio.c:1390
+#: plpy_typeio.c:1397
#, c-format
-msgid ""
-"To return null in a column, add the value None to the mapping with the key "
-"named after the column."
-msgstr ""
-"Pro vrácení hodnoty null ve sloupci, přidejte do mapování hodnotu None s "
-"klíčem pojmenovaným jako sloupec."
+msgid "To return null in a column, add the value None to the mapping with the key named after the column."
+msgstr "Pro vrácení hodnoty null ve sloupci, přidejte do mapování hodnotu None s klíčem pojmenovaným jako sloupec."
-#: plpy_typeio.c:1443
+#: plpy_typeio.c:1450
#, c-format
msgid "length of returned sequence did not match number of columns in row"
msgstr "délka vrácené posloupnosti neodpovídala počtu sloupců v řádku"
-#: plpy_typeio.c:1541
+#: plpy_typeio.c:1548
#, c-format
msgid "attribute \"%s\" does not exist in Python object"
msgstr "atribut \"%s\" v Python objektu neexistuje"
-#: plpy_typeio.c:1544
+#: plpy_typeio.c:1551
#, c-format
-msgid ""
-"To return null in a column, let the returned object have an attribute named "
-"after column with value None."
-msgstr ""
-"Pro vrácení null ve sloupci, nechť vracený objekt má atribut pojmenovaný po "
-"sloupcis hodnotou None."
+msgid "To return null in a column, let the returned object have an attribute named after column with value None."
+msgstr "Pro vrácení null ve sloupci, nechť vracený objekt má atribut pojmenovaný po sloupcis hodnotou None."
#: plpy_util.c:35
#, c-format
@@ -490,48 +460,44 @@ msgstr "nelze převést Python Unicode objekt na byty"
msgid "could not extract bytes from encoded string"
msgstr "nepodařilo se získat byty z kódovaného řetězce"
-#~ msgid "could not create new dictionary while building trigger arguments"
-#~ msgstr "během vytváření argumentů triggeru nelze vytvářet nový slovník"
-
-#~ msgid ""
-#~ "This session has previously used Python major version %d, and it is now "
-#~ "attempting to use Python major version %d."
-#~ msgstr ""
-#~ "Tato session již dříve používala Python s hlavní verzí %d, a nyní se "
-#~ "pokouší použít Python s hlavní verzí %d."
+#~ msgid "could not initialize plpy"
+#~ msgstr "nepodařilo se inicializovat plpy"
-#~ msgid "Start a new session to use a different Python major version."
-#~ msgstr "Spouští se nová session pro použití jiné hlavní verze Pythonu."
+#~ msgid "could not create new Python list"
+#~ msgstr "nelze vytvořit nový Python seznam"
-#~ msgid "could not create globals"
-#~ msgstr "nepodařilo se vytvořit globals"
+#~ msgid "PL/Python only supports one-dimensional arrays."
+#~ msgstr "PL/Python podporuje pouze jednorozměrná pole."
-#~ msgid "plan.status takes no arguments"
-#~ msgstr "plan.status nepřijímá žádné argumenty"
+#~ msgid "cannot convert multidimensional array to Python list"
+#~ msgstr "vícerozměrné pole nelze převést na Python seznam (list)"
-#~ msgid "could not create the base SPI exceptions"
-#~ msgstr "nepodařilo se vygenerovat základní SPI výjimky"
+#~ msgid "PL/Python does not support conversion to arrays of row types."
+#~ msgstr "PL/Python nepodporuje konverzi na pole řádkových typů."
-#~ msgid "plpy.prepare does not support composite types"
-#~ msgstr "plpy.prepare nepodporuje složené typy"
+#~ msgid "could not create new dictionary"
+#~ msgstr "nepodařilo se vytvořit nový slovník"
#~ msgid "unrecognized error in PLy_spi_execute_fetch_result"
#~ msgstr "nerozpoznaná chyba v PLy_spi_execute_fetch_result"
-#~ msgid "could not create new dictionary"
-#~ msgstr "nepodařilo se vytvořit nový slovník"
+#~ msgid "plpy.prepare does not support composite types"
+#~ msgstr "plpy.prepare nepodporuje složené typy"
-#~ msgid "PL/Python does not support conversion to arrays of row types."
-#~ msgstr "PL/Python nepodporuje konverzi na pole řádkových typů."
+#~ msgid "could not create the base SPI exceptions"
+#~ msgstr "nepodařilo se vygenerovat základní SPI výjimky"
-#~ msgid "cannot convert multidimensional array to Python list"
-#~ msgstr "vícerozměrné pole nelze převést na Python seznam (list)"
+#~ msgid "plan.status takes no arguments"
+#~ msgstr "plan.status nepřijímá žádné argumenty"
-#~ msgid "PL/Python only supports one-dimensional arrays."
-#~ msgstr "PL/Python podporuje pouze jednorozměrná pole."
+#~ msgid "could not create globals"
+#~ msgstr "nepodařilo se vytvořit globals"
-#~ msgid "could not create new Python list"
-#~ msgstr "nelze vytvořit nový Python seznam"
+#~ msgid "Start a new session to use a different Python major version."
+#~ msgstr "Spouští se nová session pro použití jiné hlavní verze Pythonu."
-#~ msgid "could not initialize plpy"
-#~ msgstr "nepodařilo se inicializovat plpy"
+#~ msgid "This session has previously used Python major version %d, and it is now attempting to use Python major version %d."
+#~ msgstr "Tato session již dříve používala Python s hlavní verzí %d, a nyní se pokouší použít Python s hlavní verzí %d."
+
+#~ msgid "could not create new dictionary while building trigger arguments"
+#~ msgstr "během vytváření argumentů triggeru nelze vytvářet nový slovník"
diff --git a/src/pl/plpython/po/es.po b/src/pl/plpython/po/es.po
index 9f1369c8ec..130ce18f44 100644
--- a/src/pl/plpython/po/es.po
+++ b/src/pl/plpython/po/es.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: plpython (PostgreSQL) 12\n"
"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2019-06-06 17:08+0000\n"
+"POT-Creation-Date: 2019-09-29 23:38+0000\n"
"PO-Revision-Date: 2019-06-06 17:26-0400\n"
"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
"Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
diff --git a/src/pl/plpython/po/ja.po b/src/pl/plpython/po/ja.po
index a663498d5f..42b1ec821d 100644
--- a/src/pl/plpython/po/ja.po
+++ b/src/pl/plpython/po/ja.po
@@ -1,15 +1,15 @@
-# LANGUAGE message translation file for plpython
-# Copyright (C) 2018 PostgreSQL Global Development Group
-# This file is distributed under the same license as the PostgreSQL package.
+# Japanese message translation file for plpython
+# Copyright (C) 2019 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package.
# Honda Shigehiro <honda@postgresql.jp>, 2012.
#
msgid ""
msgstr ""
-"Project-Id-Version: plpython (PostgreSQL) 10\n"
-"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2018-08-31 16:22+0900\n"
-"PO-Revision-Date: 2018-08-21 20:45+0900\n"
-"Last-Translator: Kyotaro Horiguchi <horiguchi.kyotaro@lab.ntt.co.jp>\n"
+"Project-Id-Version: plpython (PostgreSQL 12 beta 1)\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2019-06-11 11:34+0900\n"
+"PO-Revision-Date: 2019-06-11 13:46+0900\n"
+"Last-Translator: Kyotaro Horiguchi <horikyota.ntt@gmail.com>\n"
"Language-Team: Japan PostgreSQL Users Group <jpug-doc@ml.postgresql.jp>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
@@ -18,163 +18,186 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.5.4\n"
-#: plpy_cursorobject.c:101
+#: plpy_cursorobject.c:78
#, c-format
msgid "plpy.cursor expected a query or a plan"
msgstr "plpy.cursor は問い合わせもしくは実行計画を期待していました"
-#: plpy_cursorobject.c:184
+#: plpy_cursorobject.c:161
#, c-format
msgid "plpy.cursor takes a sequence as its second argument"
msgstr "plpy.cursor は第二引数としてシーケンスを取ります"
-#: plpy_cursorobject.c:200 plpy_spi.c:211
+#: plpy_cursorobject.c:177 plpy_spi.c:211
#, c-format
msgid "could not execute plan"
msgstr "実行計画を実行できませんでした"
-#: plpy_cursorobject.c:203 plpy_spi.c:214
+#: plpy_cursorobject.c:180 plpy_spi.c:214
#, c-format
msgid "Expected sequence of %d argument, got %d: %s"
msgid_plural "Expected sequence of %d arguments, got %d: %s"
msgstr[0] "%d 個の引数のシーケンスを期待していましたが、個数は %d でした:%s"
-#: plpy_cursorobject.c:352
+#: plpy_cursorobject.c:329
#, c-format
msgid "iterating a closed cursor"
msgstr "反復利用しようとしているカーソルは、すでにクローズされています"
-#: plpy_cursorobject.c:360 plpy_cursorobject.c:426
+#: plpy_cursorobject.c:337 plpy_cursorobject.c:403
#, c-format
msgid "iterating a cursor in an aborted subtransaction"
-msgstr "中断されたサブトランザクションの中でカーソルを反復利用しようとしています"
+msgstr ""
+"中断されたサブトランザクションの中でカーソルを反復利用しようとしています"
-#: plpy_cursorobject.c:418
+#: plpy_cursorobject.c:395
#, c-format
msgid "fetch from a closed cursor"
msgstr "クローズされたカーソルからのフェッチ"
-#: plpy_cursorobject.c:461 plpy_spi.c:409
+#: plpy_cursorobject.c:438 plpy_spi.c:409
#, c-format
msgid "query result has too many rows to fit in a Python list"
msgstr "問い合わせの結果に含まれる行数が、Python のリストに対して多すぎます"
-#: plpy_cursorobject.c:512
+#: plpy_cursorobject.c:490
#, c-format
msgid "closing a cursor in an aborted subtransaction"
-msgstr "中断されたサブトランザクションの中でカーソルをクローズしようとしています"
+msgstr ""
+"中断されたサブトランザクションの中でカーソルをクローズしようとしています"
-#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:559
+#: plpy_elog.c:129 plpy_elog.c:130 plpy_plpymodule.c:553
#, c-format
msgid "%s"
msgstr "%s"
-#: plpy_exec.c:142
+#: plpy_exec.c:143
#, c-format
msgid "unsupported set function return mode"
-msgstr "未サポートの集合関数リターンモードです。"
+msgstr "非サポートの集合関数リターンモードです。"
-#: plpy_exec.c:143
+#: plpy_exec.c:144
#, c-format
-msgid "PL/Python set-returning functions only support returning one value per call."
-msgstr "PL/Python の集合を返す関数では、1回の呼び出しに対して1つの値を返すことのみがサポートされています。"
+msgid ""
+"PL/Python set-returning functions only support returning one value per call."
+msgstr ""
+"PL/Python の集合を返す関数では、1回の呼び出しに対して1つの値を返すことのみ"
+"がサポートされています。"
-#: plpy_exec.c:156
+#: plpy_exec.c:157
#, c-format
msgid "returned object cannot be iterated"
msgstr "返されたオブジェクトは反復利用できません"
-#: plpy_exec.c:157
+#: plpy_exec.c:158
#, c-format
msgid "PL/Python set-returning functions must return an iterable object."
-msgstr "PL/Python の集合を返す関数は、イテレータ(反復利用可能)オブジェクトを返さなければなりません。"
+msgstr ""
+"PL/Python の集合を返す関数は、イテレータ(反復利用可能)オブジェクトを返さな"
+"ければなりません。"
-#: plpy_exec.c:171
+#: plpy_exec.c:172
#, c-format
msgid "error fetching next item from iterator"
msgstr "イテレータ(反復子)から次の項目をフェッチ(取り出し)できません"
-#: plpy_exec.c:214
+#: plpy_exec.c:215
#, c-format
msgid "PL/Python procedure did not return None"
msgstr "PL/Python プロシージャが None を返しませんでした"
-#: plpy_exec.c:218
+#: plpy_exec.c:219
#, c-format
msgid "PL/Python function with return type \"void\" did not return None"
msgstr "戻り値が \"void\" 型である PL/Python 関数が None を返しませんでした"
-#: plpy_exec.c:374 plpy_exec.c:400
+#: plpy_exec.c:375 plpy_exec.c:401
#, c-format
msgid "unexpected return value from trigger procedure"
msgstr "トリガプロシージャから期待しない戻り値が返されました"
-#: plpy_exec.c:375
+#: plpy_exec.c:376
#, c-format
msgid "Expected None or a string."
msgstr "None もしくは文字列を期待していました。"
-#: plpy_exec.c:390
+#: plpy_exec.c:391
#, c-format
-msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
-msgstr "PL/Python トリガ関数が、DELETE トリガで \"MODIFY\" を返しました-- 無視されました"
+msgid ""
+"PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
+msgstr ""
+"PL/Python トリガ関数が、DELETE トリガで \"MODIFY\" を返しました-- 無視されま"
+"した"
-#: plpy_exec.c:401
+#: plpy_exec.c:402
#, c-format
msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
msgstr "None, \"OK\", \"SKIP\", \"MODIFY\" のいずれかを期待していました。"
-#: plpy_exec.c:451
+#: plpy_exec.c:452
#, c-format
msgid "PyList_SetItem() failed, while setting up arguments"
msgstr "引数を設定する際に、PyList_SetItem() に失敗しました"
-#: plpy_exec.c:455
+#: plpy_exec.c:456
#, c-format
msgid "PyDict_SetItemString() failed, while setting up arguments"
msgstr "引数を設定する際に、PyDict_SetItemString() に失敗しました"
-#: plpy_exec.c:467
+#: plpy_exec.c:468
#, c-format
-msgid "function returning record called in context that cannot accept type record"
-msgstr "レコード型を受け付けられないコンテキストでレコードを返す関数が呼び出されました"
+msgid ""
+"function returning record called in context that cannot accept type record"
+msgstr ""
+"レコード型を受け付けられないコンテキストでレコードを返す関数が呼び出されまし"
+"た"
-#: plpy_exec.c:684
+#: plpy_exec.c:685
#, c-format
msgid "while creating return value"
msgstr "戻り値を生成する際に"
-#: plpy_exec.c:909
+#: plpy_exec.c:919
#, c-format
msgid "TD[\"new\"] deleted, cannot modify row"
msgstr "TD[\"new\"] は削除されました。行を変更できません。"
-#: plpy_exec.c:914
+#: plpy_exec.c:924
#, c-format
msgid "TD[\"new\"] is not a dictionary"
msgstr "TD[\"new\"] は辞書ではありません"
-#: plpy_exec.c:941
+#: plpy_exec.c:951
#, c-format
msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
msgstr "TD[\"new\"] 辞書の%d番目のキーが文字列ではありません"
-#: plpy_exec.c:948
+#: plpy_exec.c:958
#, c-format
-msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row"
-msgstr "TD[\"new\"] で見つかったキー \"%s\" は、行レベルトリガにおけるカラムとしては存在しません"
+msgid ""
+"key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering "
+"row"
+msgstr ""
+"TD[\"new\"] で見つかったキー \"%s\" は、行レベルトリガにおけるカラムとしては"
+"存在しません"
-#: plpy_exec.c:953
+#: plpy_exec.c:963
#, c-format
msgid "cannot set system attribute \"%s\""
msgstr "システム属性 \"%s\" を設定できません"
-#: plpy_exec.c:1011
+#: plpy_exec.c:968
+#, c-format
+#| msgid "cannot alter inherited column \"%s\""
+msgid "cannot set generated column \"%s\""
+msgstr "生成列\"%s\"は変更できません"
+
+#: plpy_exec.c:1026
#, c-format
msgid "while modifying trigger row"
msgstr "トリガ行を変更する際に"
-#: plpy_exec.c:1072
+#: plpy_exec.c:1087
#, c-format
msgid "forcibly aborting a subtransaction that has not been exited"
msgstr "終了していないサブトランザクションを強制的にアボートしています"
@@ -187,7 +210,8 @@ msgstr "セッションに複数の Python ライブラリが存在します"
#: plpy_main.c:126
#, c-format
msgid "Only one Python major version can be used in one session."
-msgstr "1個のセッション中で使える Python のメジャーバージョンは1種類だけです。"
+msgstr ""
+"1個のセッション中で使える Python のメジャーバージョンは1種類だけです。"
#: plpy_main.c:142
#, c-format
@@ -219,46 +243,46 @@ msgstr "PL/Python 関数 \"%s\""
msgid "PL/Python anonymous code block"
msgstr "PL/Python の無名コードブロック"
-#: plpy_plpymodule.c:192 plpy_plpymodule.c:195
+#: plpy_plpymodule.c:186 plpy_plpymodule.c:189
#, c-format
msgid "could not import \"plpy\" module"
msgstr "\"plpy\" モジュールをインポートできませんでした"
-#: plpy_plpymodule.c:210
+#: plpy_plpymodule.c:204
#, c-format
msgid "could not create the spiexceptions module"
msgstr "spiexceptions モジュールを生成できませんでした"
-#: plpy_plpymodule.c:218
+#: plpy_plpymodule.c:212
#, c-format
msgid "could not add the spiexceptions module"
msgstr "spiexceptions モジュールを追加できませんでした"
-#: plpy_plpymodule.c:286
+#: plpy_plpymodule.c:280
#, c-format
msgid "could not generate SPI exceptions"
msgstr "SPI 例外を生成できませんでした"
-#: plpy_plpymodule.c:454
+#: plpy_plpymodule.c:448
#, c-format
msgid "could not unpack arguments in plpy.elog"
msgstr "plpy.elog で引数を展開できませんでした"
-#: plpy_plpymodule.c:463
+#: plpy_plpymodule.c:457
msgid "could not parse error message in plpy.elog"
msgstr "plpy.elog でエラーメッセージをパースできませんでした"
-#: plpy_plpymodule.c:480
+#: plpy_plpymodule.c:474
#, c-format
msgid "argument 'message' given by name and position"
msgstr "名前と位置で 'message' 引数が渡されました"
-#: plpy_plpymodule.c:507
+#: plpy_plpymodule.c:501
#, c-format
msgid "'%s' is an invalid keyword argument for this function"
msgstr "この関数に対して '%s' は無効なキーワード引数です"
-#: plpy_plpymodule.c:518 plpy_plpymodule.c:524
+#: plpy_plpymodule.c:512 plpy_plpymodule.c:518
#, c-format
msgid "invalid SQLSTATE code"
msgstr "無効な SQLSTATE コードです"
@@ -288,7 +312,7 @@ msgstr "PL/Python 関数 \"%s\" をコンパイルできませんでした"
msgid "could not compile anonymous PL/Python code block"
msgstr "匿名の PL/Python コードブロックをコンパイルできませんでした"
-#: plpy_resultobject.c:150 plpy_resultobject.c:176 plpy_resultobject.c:202
+#: plpy_resultobject.c:121 plpy_resultobject.c:147 plpy_resultobject.c:173
#, c-format
msgid "command did not produce a result set"
msgstr "コマンドは結果セットを生成しませんでした"
@@ -323,22 +347,22 @@ msgstr "SPI_execute_plan が失敗しました:%s"
msgid "SPI_execute failed: %s"
msgstr "SPI_execute が失敗しました:%s"
-#: plpy_subxactobject.c:122
+#: plpy_subxactobject.c:97
#, c-format
msgid "this subtransaction has already been entered"
msgstr "すでにこのサブトランザクションの中に入っています"
-#: plpy_subxactobject.c:128 plpy_subxactobject.c:186
+#: plpy_subxactobject.c:103 plpy_subxactobject.c:161
#, c-format
msgid "this subtransaction has already been exited"
msgstr "このサブトランザクションからすでに抜けています"
-#: plpy_subxactobject.c:180
+#: plpy_subxactobject.c:155
#, c-format
msgid "this subtransaction has not been entered"
msgstr "このサブトランザクションには入っていません"
-#: plpy_subxactobject.c:192
+#: plpy_subxactobject.c:167
#, c-format
msgid "there is no subtransaction to exit from"
msgstr "抜けるべきサブトランザクションがありません"
@@ -358,90 +382,112 @@ msgstr "モジュールの中に Decimal 属性が含まれていません"
msgid "conversion from numeric to Decimal failed"
msgstr "numeric から Decimal への変換に失敗しました"
-#: plpy_typeio.c:908
+#: plpy_typeio.c:915
#, c-format
msgid "could not create bytes representation of Python object"
msgstr "バイト表現の Python オブジェクトを生成できませんでした"
-#: plpy_typeio.c:1056
+#: plpy_typeio.c:1063
#, c-format
msgid "could not create string representation of Python object"
msgstr "文字列表現の Python オブジェクトを生成できませんでした"
-#: plpy_typeio.c:1067
+#: plpy_typeio.c:1074
#, c-format
-msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes"
-msgstr "Python オブジェクトを cstring に変換できませんでした:Python の文字列表現に null バイトが含まれているようです"
+msgid ""
+"could not convert Python object into cstring: Python string representation "
+"appears to contain null bytes"
+msgstr ""
+"Python オブジェクトを cstring に変換できませんでした:Python の文字列表現に "
+"null バイトが含まれているようです"
-#: plpy_typeio.c:1176
+#: plpy_typeio.c:1183
#, c-format
msgid "number of array dimensions exceeds the maximum allowed (%d)"
msgstr "配列の次元数が制限値(%d)を超えています"
-#: plpy_typeio.c:1180
+#: plpy_typeio.c:1187
#, c-format
msgid "could not determine sequence length for function return value"
msgstr "関数の戻り値について、シーケンスの長さを決定できませんでした"
-#: plpy_typeio.c:1183 plpy_typeio.c:1187
+#: plpy_typeio.c:1190 plpy_typeio.c:1194
#, c-format
msgid "array size exceeds the maximum allowed"
msgstr "配列のサイズが制限値を超えています"
-#: plpy_typeio.c:1213
+#: plpy_typeio.c:1220
#, c-format
-msgid "return value of function with array return type is not a Python sequence"
+msgid ""
+"return value of function with array return type is not a Python sequence"
msgstr "配列型を返す関数の戻り値が Python のシーケンスではありません"
-#: plpy_typeio.c:1259
+#: plpy_typeio.c:1266
#, c-format
msgid "wrong length of inner sequence: has length %d, but %d was expected"
-msgstr "内部シーケンスで長さが異常です:長さは %d ですが、期待する値は %d でした"
+msgstr ""
+"内部シーケンスで長さが異常です:長さは %d ですが、期待する値は %d でした"
-#: plpy_typeio.c:1261
+#: plpy_typeio.c:1268
#, c-format
-msgid "To construct a multidimensional array, the inner sequences must all have the same length."
-msgstr "多次元配列を生成する場合、内部シーケンスはすべて同じ長さでなければなりません。"
+msgid ""
+"To construct a multidimensional array, the inner sequences must all have the "
+"same length."
+msgstr ""
+"多次元配列を生成する場合、内部シーケンスはすべて同じ長さでなければなりませ"
+"ん。"
-#: plpy_typeio.c:1340
+#: plpy_typeio.c:1347
#, c-format
msgid "malformed record literal: \"%s\""
msgstr "不正な形式のレコードリテラルです: \"%s\""
-#: plpy_typeio.c:1341
+#: plpy_typeio.c:1348
#, c-format
msgid "Missing left parenthesis."
msgstr "左括弧がありません。"
-#: plpy_typeio.c:1342 plpy_typeio.c:1543
+#: plpy_typeio.c:1349 plpy_typeio.c:1550
#, c-format
-msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\"."
-msgstr "複合型を配列に入れて返したい場合、 \"[('foo',)]\" のように複合型を Pythonのタプルとして返すようにしてください。"
+msgid ""
+"To return a composite type in an array, return the composite type as a "
+"Python tuple, e.g., \"[('foo',)]\"."
+msgstr ""
+"複合型を配列に入れて返したい場合、 \"[('foo',)]\" のように複合型を Pythonのタ"
+"プルとして返すようにしてください。"
-#: plpy_typeio.c:1389
+#: plpy_typeio.c:1396
#, c-format
msgid "key \"%s\" not found in mapping"
msgstr "マッピング上にキー \"%s\" が見つかりません"
-#: plpy_typeio.c:1390
+#: plpy_typeio.c:1397
#, c-format
-msgid "To return null in a column, add the value None to the mapping with the key named after the column."
-msgstr "カラムに null を入れて返す場合、カラム名をキーとして値が None のエントリをマッピングに追加してください"
+msgid ""
+"To return null in a column, add the value None to the mapping with the key "
+"named after the column."
+msgstr ""
+"カラムに null を入れて返す場合、カラム名をキーとして値が None のエントリを"
+"マッピングに追加してください"
-#: plpy_typeio.c:1443
+#: plpy_typeio.c:1450
#, c-format
msgid "length of returned sequence did not match number of columns in row"
msgstr "返されたシーケンスの長さが行のカラム数とマッチしませんでした"
-#: plpy_typeio.c:1541
+#: plpy_typeio.c:1548
#, c-format
msgid "attribute \"%s\" does not exist in Python object"
msgstr "属性 \"%s\" が Python オブジェクト中に存在しません"
-#: plpy_typeio.c:1544
+#: plpy_typeio.c:1551
#, c-format
-msgid "To return null in a column, let the returned object have an attribute named after column with value None."
-msgstr "カラムに null を入れて返す場合、カラム名をキーとして値が None である属性を持つオブジェクトを返すようにしてください。"
+msgid ""
+"To return null in a column, let the returned object have an attribute named "
+"after column with value None."
+msgstr ""
+"カラムに null を入れて返す場合、カラム名をキーとして値が None である属性を持"
+"つオブジェクトを返すようにしてください。"
#: plpy_util.c:35
#, c-format
@@ -453,14 +499,14 @@ msgstr "Python の Unicode オブジェクトをバイト列に変換できま
msgid "could not extract bytes from encoded string"
msgstr "エンコードされた文字列からバイト列を抽出できませんでした"
-#~ msgid "could not create new dictionary"
-#~ msgstr "新しい辞書を作れませんでした"
-
-#~ msgid "could not create exception \"%s\""
-#~ msgstr "例外 \"%s \"を作成できませんでした"
+#~ msgid "could not create new dictionary while building trigger arguments"
+#~ msgstr "トリガの引数を構成中、新しい辞書を生成できませんでした"
#~ msgid "could not create globals"
#~ msgstr "グローバル変数(globals)を作成できませんでした"
-#~ msgid "could not create new dictionary while building trigger arguments"
-#~ msgstr "トリガの引数を構成中、新しい辞書を生成できませんでした"
+#~ msgid "could not create exception \"%s\""
+#~ msgstr "例外 \"%s \"を作成できませんでした"
+
+#~ msgid "could not create new dictionary"
+#~ msgstr "新しい辞書を作れませんでした"
diff --git a/src/pl/plpython/po/ko.po b/src/pl/plpython/po/ko.po
index 8c068a016e..e4d7a58a1b 100644
--- a/src/pl/plpython/po/ko.po
+++ b/src/pl/plpython/po/ko.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: plpython (PostgreSQL) 11\n"
-"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2018-09-04 15:55+0900\n"
-"PO-Revision-Date: 2018-09-07 17:06+0900\n"
+"Project-Id-Version: plpython (PostgreSQL) 12\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2020-02-09 20:08+0000\n"
+"PO-Revision-Date: 2019-11-01 12:53+0900\n"
"Last-Translator: Ioseph Kim <ioseph@uri.sarang.net>\n"
"Language-Team: Korean <pgsql-kr@postgresql.kr>\n"
"Language: ko\n"
@@ -17,163 +17,180 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: plpy_cursorobject.c:101
+#: plpy_cursorobject.c:78
#, c-format
msgid "plpy.cursor expected a query or a plan"
msgstr "plpy.cursor 객체는 쿼리나 plpy.prepare 객체를 인자로 사용합니다"
-#: plpy_cursorobject.c:184
+#: plpy_cursorobject.c:161
#, c-format
msgid "plpy.cursor takes a sequence as its second argument"
-msgstr "plpy.cursor 객체의 인자로 plpy.prepare 객체를 사용한 경우 두번째 인자는 prepare 객체의 매개변수가 있어야 합니다."
+msgstr ""
+"plpy.cursor 객체의 인자로 plpy.prepare 객체를 사용한 경우 두번째 인자는 "
+"prepare 객체의 매개변수가 있어야 합니다."
-#: plpy_cursorobject.c:200 plpy_spi.c:211
+#: plpy_cursorobject.c:177 plpy_spi.c:211
#, c-format
msgid "could not execute plan"
msgstr "plpy.prepare 객체를 실행할 수 없음"
-#: plpy_cursorobject.c:203 plpy_spi.c:214
+#: plpy_cursorobject.c:180 plpy_spi.c:214
#, c-format
msgid "Expected sequence of %d argument, got %d: %s"
msgid_plural "Expected sequence of %d arguments, got %d: %s"
msgstr[0] "%d 개의 인자가 필요한데, %d개의 인자를 지정했음: %s"
-#: plpy_cursorobject.c:352
+#: plpy_cursorobject.c:329
#, c-format
msgid "iterating a closed cursor"
msgstr "이미 닫긴 커서에서 다음 자료를 요구하고 있음"
-#: plpy_cursorobject.c:360 plpy_cursorobject.c:426
+#: plpy_cursorobject.c:337 plpy_cursorobject.c:403
#, c-format
msgid "iterating a cursor in an aborted subtransaction"
msgstr "중지된 서브 트랜잭션에 있는 커서에서 다음 자료를 요구하고 있음"
-#: plpy_cursorobject.c:418
+#: plpy_cursorobject.c:395
#, c-format
msgid "fetch from a closed cursor"
msgstr "닫긴 커서에서 fetch"
-#: plpy_cursorobject.c:461 plpy_spi.c:409
+#: plpy_cursorobject.c:438 plpy_spi.c:409
#, c-format
msgid "query result has too many rows to fit in a Python list"
msgstr "쿼리 결과가 Python 리스트로 담기에는 너무 많습니다"
-#: plpy_cursorobject.c:512
+#: plpy_cursorobject.c:490
#, c-format
msgid "closing a cursor in an aborted subtransaction"
msgstr "중지된 서브트랜잭션에서 커서를 닫고 있음"
-#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:559
+#: plpy_elog.c:129 plpy_elog.c:130 plpy_plpymodule.c:553
#, c-format
msgid "%s"
msgstr "%s"
-#: plpy_exec.c:142
+#: plpy_exec.c:143
#, c-format
msgid "unsupported set function return mode"
msgstr "지원하지 않는 집합 함수 리턴 모드"
-#: plpy_exec.c:143
+#: plpy_exec.c:144
#, c-format
-msgid "PL/Python set-returning functions only support returning one value per call."
-msgstr "PL/Python 집합-반환 함수는 한번의 호출에 대해서 하나의 값만 반환할 수 있습니다."
+msgid ""
+"PL/Python set-returning functions only support returning one value per call."
+msgstr ""
+"PL/Python 집합-반환 함수는 한번의 호출에 대해서 하나의 값만 반환할 수 있습니"
+"다."
-#: plpy_exec.c:156
+#: plpy_exec.c:157
#, c-format
msgid "returned object cannot be iterated"
msgstr "반환하는 객체가 iterable 형이 아님"
-#: plpy_exec.c:157
+#: plpy_exec.c:158
#, c-format
msgid "PL/Python set-returning functions must return an iterable object."
msgstr "PL/Python 집합-반환 함수는 iterable 객체를 반환해야 합니다."
-#: plpy_exec.c:171
+#: plpy_exec.c:172
#, c-format
msgid "error fetching next item from iterator"
msgstr "iterator에서 다음 아이템을 가져올 수 없음"
-#: plpy_exec.c:214
+#: plpy_exec.c:215
#, c-format
msgid "PL/Python procedure did not return None"
msgstr "PL/Python 프로시져가 None을 반환하지 않았음"
-#: plpy_exec.c:218
+#: plpy_exec.c:219
#, c-format
msgid "PL/Python function with return type \"void\" did not return None"
-msgstr "반환 자료형이 \"void\"인 PL/Python 함수가 return None으로 끝나지 않았음"
+msgstr ""
+"반환 자료형이 \"void\"인 PL/Python 함수가 return None으로 끝나지 않았음"
-#: plpy_exec.c:374 plpy_exec.c:400
+#: plpy_exec.c:375 plpy_exec.c:401
#, c-format
msgid "unexpected return value from trigger procedure"
msgstr "트리거 프로시져가 예상치 못한 값을 반환했습니다"
-#: plpy_exec.c:375
+#: plpy_exec.c:376
#, c-format
msgid "Expected None or a string."
msgstr "None 이나 문자열이 있어야합니다."
-#: plpy_exec.c:390
+#: plpy_exec.c:391
#, c-format
-msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
-msgstr "PL/Python 트리거 함수가 DELETE 트리거에서 \"MODIFY\"를 반환했음 -- 무시함"
+msgid ""
+"PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
+msgstr ""
+"PL/Python 트리거 함수가 DELETE 트리거에서 \"MODIFY\"를 반환했음 -- 무시함"
-#: plpy_exec.c:401
+#: plpy_exec.c:402
#, c-format
msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
msgstr "None, \"OK\", \"SKIP\", 또는 \"MODIFY\"를 사용해야 함."
-#: plpy_exec.c:451
+#: plpy_exec.c:452
#, c-format
msgid "PyList_SetItem() failed, while setting up arguments"
msgstr "PyList_SetItem() 함수가 인자 설정하는 중 실패"
-#: plpy_exec.c:455
+#: plpy_exec.c:456
#, c-format
msgid "PyDict_SetItemString() failed, while setting up arguments"
msgstr "PyDict_SetItemString() 함수가 인자 설정하는 중 실패"
-#: plpy_exec.c:467
+#: plpy_exec.c:468
#, c-format
-msgid "function returning record called in context that cannot accept type record"
+msgid ""
+"function returning record called in context that cannot accept type record"
msgstr "반환 자료형이 record인데 함수가 그 자료형으로 반환하지 않음"
-#: plpy_exec.c:684
+#: plpy_exec.c:685
#, c-format
msgid "while creating return value"
msgstr "반환값을 만들고 있은 중"
-#: plpy_exec.c:909
+#: plpy_exec.c:919
#, c-format
msgid "TD[\"new\"] deleted, cannot modify row"
msgstr "TD[\"new\"] 변수가 삭제되었음, 로우를 수정할 수 없음"
-#: plpy_exec.c:914
+#: plpy_exec.c:924
#, c-format
msgid "TD[\"new\"] is not a dictionary"
msgstr "TD[\"new\"] 변수가 딕션너리 형태가 아님"
-#: plpy_exec.c:941
+#: plpy_exec.c:951
#, c-format
msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
msgstr "%d 번째 TD[\"new\"] 딕션너리 키가 문자열이 아님"
-#: plpy_exec.c:948
+#: plpy_exec.c:958
#, c-format
-msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row"
-msgstr "로우 트리거 작업에서 칼럼으로 사용되는 \"%s\" 키가 TD[\"new\"] 변수에 없음."
+msgid ""
+"key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering "
+"row"
+msgstr ""
+"로우 트리거 작업에서 칼럼으로 사용되는 \"%s\" 키가 TD[\"new\"] 변수에 없음."
-#: plpy_exec.c:953
+#: plpy_exec.c:963
#, c-format
msgid "cannot set system attribute \"%s\""
msgstr "\"%s\" 시스템 속성을 지정할 수 없음"
-#: plpy_exec.c:1011
+#: plpy_exec.c:968
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "\"%s\" 계산된 칼럼을 지정할 수 없음"
+
+#: plpy_exec.c:1026
#, c-format
msgid "while modifying trigger row"
msgstr "로우 변경 트리거 작업 도중"
-#: plpy_exec.c:1072
+#: plpy_exec.c:1087
#, c-format
msgid "forcibly aborting a subtransaction that has not been exited"
msgstr "서브트랜잭션이 중지됨으로 강제로 중지됨"
@@ -218,46 +235,46 @@ msgstr "\"%s\" PL/Python 함수"
msgid "PL/Python anonymous code block"
msgstr "PL/Python 익명 코드 블럭"
-#: plpy_plpymodule.c:192 plpy_plpymodule.c:195
+#: plpy_plpymodule.c:186 plpy_plpymodule.c:189
#, c-format
msgid "could not import \"plpy\" module"
msgstr "\"plpy\" 모듈을 임포트 할 수 없음"
-#: plpy_plpymodule.c:210
+#: plpy_plpymodule.c:204
#, c-format
msgid "could not create the spiexceptions module"
msgstr "spiexceptions 모듈을 만들 수 없음"
-#: plpy_plpymodule.c:218
+#: plpy_plpymodule.c:212
#, c-format
msgid "could not add the spiexceptions module"
msgstr "spiexceptions 모듈을 추가할 수 없음"
-#: plpy_plpymodule.c:286
+#: plpy_plpymodule.c:280
#, c-format
msgid "could not generate SPI exceptions"
msgstr "SPI 예외처리를 생성할 수 없음"
-#: plpy_plpymodule.c:454
+#: plpy_plpymodule.c:448
#, c-format
msgid "could not unpack arguments in plpy.elog"
msgstr "잘못된 인자로 구성된 plpy.elog"
-#: plpy_plpymodule.c:463
+#: plpy_plpymodule.c:457
msgid "could not parse error message in plpy.elog"
msgstr "plpy.elog 에서 오류 메시지를 분석할 수 없음"
-#: plpy_plpymodule.c:480
+#: plpy_plpymodule.c:474
#, c-format
msgid "argument 'message' given by name and position"
msgstr "'message' 인자는 이름과 위치가 있어야 함"
-#: plpy_plpymodule.c:507
+#: plpy_plpymodule.c:501
#, c-format
msgid "'%s' is an invalid keyword argument for this function"
msgstr "'%s' 값은 이 함수에서 잘못된 예약어 인자입니다"
-#: plpy_plpymodule.c:518 plpy_plpymodule.c:524
+#: plpy_plpymodule.c:512 plpy_plpymodule.c:518
#, c-format
msgid "invalid SQLSTATE code"
msgstr "잘못된 SQLSTATE 코드"
@@ -287,7 +304,7 @@ msgstr "\"%s\" PL/Python 함수를 컴파일 할 수 없음"
msgid "could not compile anonymous PL/Python code block"
msgstr "anonymous PL/Python 코드 블록을 컴파일 할 수 없음"
-#: plpy_resultobject.c:150 plpy_resultobject.c:176 plpy_resultobject.c:202
+#: plpy_resultobject.c:121 plpy_resultobject.c:147 plpy_resultobject.c:173
#, c-format
msgid "command did not produce a result set"
msgstr "명령의 결과값이 없음"
@@ -322,22 +339,22 @@ msgstr "SPI_execute_plan 실패: %s"
msgid "SPI_execute failed: %s"
msgstr "SPI_execute 실패: %s"
-#: plpy_subxactobject.c:122
+#: plpy_subxactobject.c:97
#, c-format
msgid "this subtransaction has already been entered"
msgstr "이 서브트랜잭션은 이미 시작되었음"
-#: plpy_subxactobject.c:128 plpy_subxactobject.c:186
+#: plpy_subxactobject.c:103 plpy_subxactobject.c:161
#, c-format
msgid "this subtransaction has already been exited"
msgstr "이 서브트랜잭션은 이미 끝났음"
-#: plpy_subxactobject.c:180
+#: plpy_subxactobject.c:155
#, c-format
msgid "this subtransaction has not been entered"
msgstr "이 서브트랜잭션이 시작되지 않았음"
-#: plpy_subxactobject.c:192
+#: plpy_subxactobject.c:167
#, c-format
msgid "there is no subtransaction to exit from"
msgstr "종료할 서브트랜잭션이 없음, 위치:"
@@ -357,90 +374,109 @@ msgstr "모듈안에 Decimal 속성이 없음"
msgid "conversion from numeric to Decimal failed"
msgstr "numeric 형을 Decimal 형으로 변환할 수 없음"
-#: plpy_typeio.c:908
+#: plpy_typeio.c:915
#, c-format
msgid "could not create bytes representation of Python object"
msgstr "Python 객체를 bytea 자료형으로 변환할 수 없음"
-#: plpy_typeio.c:1056
+#: plpy_typeio.c:1063
#, c-format
msgid "could not create string representation of Python object"
msgstr "Python 객체를 문자열 자료형으로 변환할 수 없음"
-#: plpy_typeio.c:1067
+#: plpy_typeio.c:1074
#, c-format
-msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes"
-msgstr "Python 객체를 cstring 형으로 변환할 수 없음: Python string 변수에 null문자열이 포함되어 있음"
+msgid ""
+"could not convert Python object into cstring: Python string representation "
+"appears to contain null bytes"
+msgstr ""
+"Python 객체를 cstring 형으로 변환할 수 없음: Python string 변수에 null문자열"
+"이 포함되어 있음"
-#: plpy_typeio.c:1176
+#: plpy_typeio.c:1183
#, c-format
msgid "number of array dimensions exceeds the maximum allowed (%d)"
msgstr "배열 차원이 최대치 (%d)를 초과 했습니다."
-#: plpy_typeio.c:1180
+#: plpy_typeio.c:1187
#, c-format
msgid "could not determine sequence length for function return value"
msgstr "함수 반환 값으로 시퀀스 길이를 결정할 수 없음"
-#: plpy_typeio.c:1183 plpy_typeio.c:1187
+#: plpy_typeio.c:1190 plpy_typeio.c:1194
#, c-format
msgid "array size exceeds the maximum allowed"
msgstr "배열 최대 크기를 초과함"
-#: plpy_typeio.c:1213
+#: plpy_typeio.c:1220
#, c-format
-msgid "return value of function with array return type is not a Python sequence"
+msgid ""
+"return value of function with array return type is not a Python sequence"
msgstr "배열형으로 넘길 자료형이 Python 시퀀스형이 아님"
-#: plpy_typeio.c:1259
+#: plpy_typeio.c:1266
#, c-format
msgid "wrong length of inner sequence: has length %d, but %d was expected"
msgstr "잘못된 내부 시퀀스 길이, 길이 %d, %d 초과했음"
-#: plpy_typeio.c:1261
+#: plpy_typeio.c:1268
#, c-format
-msgid "To construct a multidimensional array, the inner sequences must all have the same length."
+msgid ""
+"To construct a multidimensional array, the inner sequences must all have the "
+"same length."
msgstr "다차원 배열을 사용하려면, 그 하위 배열의 차원이 모두 같아야합니다."
-#: plpy_typeio.c:1340
+#: plpy_typeio.c:1347
#, c-format
msgid "malformed record literal: \"%s\""
msgstr "잘못된 레코드 표현: \"%s\""
-#: plpy_typeio.c:1341
+#: plpy_typeio.c:1348
#, c-format
msgid "Missing left parenthesis."
msgstr "왼쪽 괄호가 없음."
-#: plpy_typeio.c:1342 plpy_typeio.c:1543
+#: plpy_typeio.c:1349 plpy_typeio.c:1550
#, c-format
-msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\"."
-msgstr "배열에서 복합 자료형을 반환하려면, Python 튜플 형을 사용하세요. 예: \"[('foo',)]\"."
+msgid ""
+"To return a composite type in an array, return the composite type as a "
+"Python tuple, e.g., \"[('foo',)]\"."
+msgstr ""
+"배열에서 복합 자료형을 반환하려면, Python 튜플 형을 사용하세요. 예: "
+"\"[('foo',)]\"."
-#: plpy_typeio.c:1389
+#: plpy_typeio.c:1396
#, c-format
msgid "key \"%s\" not found in mapping"
msgstr "맵 안에 \"%s\" 키가 없음"
-#: plpy_typeio.c:1390
+#: plpy_typeio.c:1397
#, c-format
-msgid "To return null in a column, add the value None to the mapping with the key named after the column."
-msgstr "칼럼값으로 null을 반환하려면, 칼럼 다음에 해당 키 이름과 맵핑 되는 None값을 지정하세요"
+msgid ""
+"To return null in a column, add the value None to the mapping with the key "
+"named after the column."
+msgstr ""
+"칼럼값으로 null을 반환하려면, 칼럼 다음에 해당 키 이름과 맵핑 되는 None값을 "
+"지정하세요"
-#: plpy_typeio.c:1443
+#: plpy_typeio.c:1450
#, c-format
msgid "length of returned sequence did not match number of columns in row"
msgstr "반환되는 시퀀스형 변수의 길이가 로우의 칼럼수와 일치하지 않음"
-#: plpy_typeio.c:1541
+#: plpy_typeio.c:1548
#, c-format
msgid "attribute \"%s\" does not exist in Python object"
msgstr "Python 객체 가운데 \"%s\" 속성이 없음"
-#: plpy_typeio.c:1544
+#: plpy_typeio.c:1551
#, c-format
-msgid "To return null in a column, let the returned object have an attribute named after column with value None."
-msgstr "칼럼 값으로 null 을 반환하려면, 값으로 None 값을 가지는 칼럼 뒤에, 속성 이름이 있는 객체를 반환하세요"
+msgid ""
+"To return null in a column, let the returned object have an attribute named "
+"after column with value None."
+msgstr ""
+"칼럼 값으로 null 을 반환하려면, 값으로 None 값을 가지는 칼럼 뒤에, 속성 이름"
+"이 있는 객체를 반환하세요"
#: plpy_util.c:35
#, c-format
diff --git a/src/pl/plpython/po/ru.po b/src/pl/plpython/po/ru.po
index 5ab94749e8..6978a651d9 100644
--- a/src/pl/plpython/po/ru.po
+++ b/src/pl/plpython/po/ru.po
@@ -1,13 +1,13 @@
# Russian message translation file for plpython
# Copyright (C) 2012-2016 PostgreSQL Global Development Group
# This file is distributed under the same license as the PostgreSQL package.
-# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018.
+# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019.
msgid ""
msgstr ""
"Project-Id-Version: plpython (PostgreSQL current)\n"
-"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2018-10-05 21:51+0300\n"
-"PO-Revision-Date: 2018-10-02 16:46+0300\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2019-09-09 12:21+0300\n"
+"PO-Revision-Date: 2019-08-29 15:42+0300\n"
"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
"Language: ru\n"
@@ -17,22 +17,22 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-#: plpy_cursorobject.c:101
+#: plpy_cursorobject.c:78
#, c-format
msgid "plpy.cursor expected a query or a plan"
msgstr "plpy.cursor ожидает запрос или план"
-#: plpy_cursorobject.c:184
+#: plpy_cursorobject.c:161
#, c-format
msgid "plpy.cursor takes a sequence as its second argument"
msgstr "plpy.cursor принимает в качестве второго аргумента последовательность"
-#: plpy_cursorobject.c:200 plpy_spi.c:211
+#: plpy_cursorobject.c:177 plpy_spi.c:211
#, c-format
msgid "could not execute plan"
msgstr "нельзя выполнить план"
-#: plpy_cursorobject.c:203 plpy_spi.c:214
+#: plpy_cursorobject.c:180 plpy_spi.c:214
#, c-format
msgid "Expected sequence of %d argument, got %d: %s"
msgid_plural "Expected sequence of %d arguments, got %d: %s"
@@ -40,43 +40,43 @@ msgstr[0] "Ожидалась последовательность из %d ар
msgstr[1] "Ожидалась последовательность из %d аргументов, получено %d: %s"
msgstr[2] "Ожидалась последовательность из %d аргументов, получено %d: %s"
-#: plpy_cursorobject.c:352
+#: plpy_cursorobject.c:329
#, c-format
msgid "iterating a closed cursor"
msgstr "перемещение закрытого курсора"
-#: plpy_cursorobject.c:360 plpy_cursorobject.c:426
+#: plpy_cursorobject.c:337 plpy_cursorobject.c:403
#, c-format
msgid "iterating a cursor in an aborted subtransaction"
msgstr "перемещение курсора в прерванной подтранзакции"
-#: plpy_cursorobject.c:418
+#: plpy_cursorobject.c:395
#, c-format
msgid "fetch from a closed cursor"
msgstr "выборка из закрытого курсора"
-#: plpy_cursorobject.c:461 plpy_spi.c:409
+#: plpy_cursorobject.c:438 plpy_spi.c:409
#, c-format
msgid "query result has too many rows to fit in a Python list"
msgstr ""
"результат запроса содержит слишком много строк для передачи в списке Python"
-#: plpy_cursorobject.c:512
+#: plpy_cursorobject.c:490
#, c-format
msgid "closing a cursor in an aborted subtransaction"
msgstr "закрытие курсора в прерванной подтранзакции"
-#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:559
+#: plpy_elog.c:129 plpy_elog.c:130 plpy_plpymodule.c:553
#, c-format
msgid "%s"
msgstr "%s"
-#: plpy_exec.c:142
+#: plpy_exec.c:143
#, c-format
msgid "unsupported set function return mode"
msgstr "неподдерживаемый режим возврата для функции с результатом-множеством"
-#: plpy_exec.c:143
+#: plpy_exec.c:144
#, c-format
msgid ""
"PL/Python set-returning functions only support returning one value per call."
@@ -84,44 +84,44 @@ msgstr ""
"Функции PL/Python с результатом-множеством могут возвращать только одно "
"значение за вызов."
-#: plpy_exec.c:156
+#: plpy_exec.c:157
#, c-format
msgid "returned object cannot be iterated"
msgstr "возвращаемый объект не поддерживает итерации"
-#: plpy_exec.c:157
+#: plpy_exec.c:158
#, c-format
msgid "PL/Python set-returning functions must return an iterable object."
msgstr ""
"Функции PL/Python с результатом-множеством должны возвращать объекты с "
"возможностью итерации."
-#: plpy_exec.c:171
+#: plpy_exec.c:172
#, c-format
msgid "error fetching next item from iterator"
msgstr "ошибка получения следующего элемента из итератора"
-#: plpy_exec.c:214
+#: plpy_exec.c:215
#, c-format
msgid "PL/Python procedure did not return None"
msgstr "процедура PL/Python вернула не None"
-#: plpy_exec.c:218
+#: plpy_exec.c:219
#, c-format
msgid "PL/Python function with return type \"void\" did not return None"
msgstr "функция PL/Python с типом результата \"void\" вернула не None"
-#: plpy_exec.c:374 plpy_exec.c:400
+#: plpy_exec.c:375 plpy_exec.c:401
#, c-format
msgid "unexpected return value from trigger procedure"
msgstr "триггерная процедура вернула недопустимое значение"
-#: plpy_exec.c:375
+#: plpy_exec.c:376
#, c-format
msgid "Expected None or a string."
msgstr "Ожидалось None или строка."
-#: plpy_exec.c:390
+#: plpy_exec.c:391
#, c-format
msgid ""
"PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
@@ -129,49 +129,49 @@ msgstr ""
"триггерная функция PL/Python вернула \"MODIFY\" в триггере DELETE -- "
"игнорируется"
-#: plpy_exec.c:401
+#: plpy_exec.c:402
#, c-format
msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
msgstr "Ожидалось None, \"OK\", \"SKIP\" или \"MODIFY\"."
-#: plpy_exec.c:451
+#: plpy_exec.c:452
#, c-format
msgid "PyList_SetItem() failed, while setting up arguments"
msgstr "ошибка в PyList_SetItem() при настройке аргументов"
-#: plpy_exec.c:455
+#: plpy_exec.c:456
#, c-format
msgid "PyDict_SetItemString() failed, while setting up arguments"
msgstr "ошибка в PyDict_SetItemString() при настройке аргументов"
-#: plpy_exec.c:467
+#: plpy_exec.c:468
#, c-format
msgid ""
"function returning record called in context that cannot accept type record"
msgstr ""
"функция, возвращающая запись, вызвана в контексте, не допускающем этот тип"
-#: plpy_exec.c:684
+#: plpy_exec.c:685
#, c-format
msgid "while creating return value"
msgstr "при создании возвращаемого значения"
-#: plpy_exec.c:909
+#: plpy_exec.c:919
#, c-format
msgid "TD[\"new\"] deleted, cannot modify row"
msgstr "элемент TD[\"new\"] удалён -- изменить строку нельзя"
-#: plpy_exec.c:914
+#: plpy_exec.c:924
#, c-format
msgid "TD[\"new\"] is not a dictionary"
msgstr "TD[\"new\"] - не словарь"
-#: plpy_exec.c:941
+#: plpy_exec.c:951
#, c-format
msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
msgstr "ключ словаря TD[\"new\"] с порядковым номером %d не является строкой"
-#: plpy_exec.c:948
+#: plpy_exec.c:958
#, c-format
msgid ""
"key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering "
@@ -180,17 +180,22 @@ msgstr ""
"ключу \"%s\", найденному в TD[\"new\"], не соответствует столбец в строке, "
"обрабатываемой триггером"
-#: plpy_exec.c:953
+#: plpy_exec.c:963
#, c-format
msgid "cannot set system attribute \"%s\""
-msgstr "установить системный атрибут \"%s\" нельзя"
+msgstr "присвоить значение системному атрибуту \"%s\" нельзя"
+
+#: plpy_exec.c:968
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "присвоить значение генерируемому столбцу \"%s\" нельзя"
-#: plpy_exec.c:1011
+#: plpy_exec.c:1026
#, c-format
msgid "while modifying trigger row"
msgstr "при изменении строки в триггере"
-#: plpy_exec.c:1072
+#: plpy_exec.c:1087
#, c-format
msgid "forcibly aborting a subtransaction that has not been exited"
msgstr "принудительное прерывание незавершённой подтранзакции"
@@ -235,46 +240,46 @@ msgstr "функция PL/Python \"%s\""
msgid "PL/Python anonymous code block"
msgstr "анонимный блок кода PL/Python"
-#: plpy_plpymodule.c:192 plpy_plpymodule.c:195
+#: plpy_plpymodule.c:186 plpy_plpymodule.c:189
#, c-format
msgid "could not import \"plpy\" module"
msgstr "не удалось импортировать модуль \"plpy\""
-#: plpy_plpymodule.c:210
+#: plpy_plpymodule.c:204
#, c-format
msgid "could not create the spiexceptions module"
msgstr "не удалось создать модуль spiexceptions"
-#: plpy_plpymodule.c:218
+#: plpy_plpymodule.c:212
#, c-format
msgid "could not add the spiexceptions module"
msgstr "не удалось добавить модуль spiexceptions"
-#: plpy_plpymodule.c:286
+#: plpy_plpymodule.c:280
#, c-format
msgid "could not generate SPI exceptions"
msgstr "не удалось сгенерировать исключения SPI"
-#: plpy_plpymodule.c:454
+#: plpy_plpymodule.c:448
#, c-format
msgid "could not unpack arguments in plpy.elog"
msgstr "не удалось распаковать аргументы в plpy.elog"
-#: plpy_plpymodule.c:463
+#: plpy_plpymodule.c:457
msgid "could not parse error message in plpy.elog"
msgstr "не удалось разобрать сообщение об ошибке в plpy.elog"
-#: plpy_plpymodule.c:480
+#: plpy_plpymodule.c:474
#, c-format
msgid "argument 'message' given by name and position"
msgstr "аргумент 'message' задан и по имени, и по позиции"
-#: plpy_plpymodule.c:507
+#: plpy_plpymodule.c:501
#, c-format
msgid "'%s' is an invalid keyword argument for this function"
msgstr "'%s' - недопустимое ключевое слово (аргумент) для этой функции"
-#: plpy_plpymodule.c:518 plpy_plpymodule.c:524
+#: plpy_plpymodule.c:512 plpy_plpymodule.c:518
#, c-format
msgid "invalid SQLSTATE code"
msgstr "неверный код SQLSTATE"
@@ -304,7 +309,7 @@ msgstr "не удалось скомпилировать функцию PL/Pytho
msgid "could not compile anonymous PL/Python code block"
msgstr "не удалось скомпилировать анонимный блок кода PL/Python"
-#: plpy_resultobject.c:150 plpy_resultobject.c:176 plpy_resultobject.c:202
+#: plpy_resultobject.c:121 plpy_resultobject.c:147 plpy_resultobject.c:173
#, c-format
msgid "command did not produce a result set"
msgstr "команда не выдала результирующий набор"
@@ -339,22 +344,22 @@ msgstr "ошибка в SPI_execute_plan: %s"
msgid "SPI_execute failed: %s"
msgstr "ошибка в SPI_execute: %s"
-#: plpy_subxactobject.c:122
+#: plpy_subxactobject.c:97
#, c-format
msgid "this subtransaction has already been entered"
msgstr "эта подтранзакция уже начата"
-#: plpy_subxactobject.c:128 plpy_subxactobject.c:186
+#: plpy_subxactobject.c:103 plpy_subxactobject.c:161
#, c-format
msgid "this subtransaction has already been exited"
msgstr "эта подтранзакция уже закончена"
-#: plpy_subxactobject.c:180
+#: plpy_subxactobject.c:155
#, c-format
msgid "this subtransaction has not been entered"
msgstr "эта подтранзакция ещё не начата"
-#: plpy_subxactobject.c:192
+#: plpy_subxactobject.c:167
#, c-format
msgid "there is no subtransaction to exit from"
msgstr "нет подтранзакции, которую нужно закончить"
@@ -374,17 +379,17 @@ msgstr "в модуле нет атрибута Decimal"
msgid "conversion from numeric to Decimal failed"
msgstr "не удалось преобразовать numeric в Decimal"
-#: plpy_typeio.c:908
+#: plpy_typeio.c:915
#, c-format
msgid "could not create bytes representation of Python object"
msgstr "не удалось создать байтовое представление объекта Python"
-#: plpy_typeio.c:1056
+#: plpy_typeio.c:1063
#, c-format
msgid "could not create string representation of Python object"
msgstr "не удалось создать строковое представление объекта Python"
-#: plpy_typeio.c:1067
+#: plpy_typeio.c:1074
#, c-format
msgid ""
"could not convert Python object into cstring: Python string representation "
@@ -393,24 +398,24 @@ msgstr ""
"не удалось преобразовать объект Python в cstring: похоже, представление "
"строки Python содержит нулевые байты"
-#: plpy_typeio.c:1176
+#: plpy_typeio.c:1183
#, c-format
msgid "number of array dimensions exceeds the maximum allowed (%d)"
msgstr "число размерностей массива превышает предел (%d)"
-#: plpy_typeio.c:1180
+#: plpy_typeio.c:1187
#, c-format
msgid "could not determine sequence length for function return value"
msgstr ""
"не удалось определить длину последовательности в возвращаемом функцией "
"значении"
-#: plpy_typeio.c:1183 plpy_typeio.c:1187
+#: plpy_typeio.c:1190 plpy_typeio.c:1194
#, c-format
msgid "array size exceeds the maximum allowed"
msgstr "размер массива превышает предел"
-#: plpy_typeio.c:1213
+#: plpy_typeio.c:1220
#, c-format
msgid ""
"return value of function with array return type is not a Python sequence"
@@ -418,12 +423,12 @@ msgstr ""
"возвращаемое значение функции с результатом-массивом не является "
"последовательностью"
-#: plpy_typeio.c:1259
+#: plpy_typeio.c:1266
#, c-format
msgid "wrong length of inner sequence: has length %d, but %d was expected"
msgstr "неверная длина внутренней последовательности: %d (ожидалось: %d)"
-#: plpy_typeio.c:1261
+#: plpy_typeio.c:1268
#, c-format
msgid ""
"To construct a multidimensional array, the inner sequences must all have the "
@@ -432,17 +437,17 @@ msgstr ""
"Для образования многомерного массива внутренние последовательности должны "
"иметь одинаковую длину."
-#: plpy_typeio.c:1340
+#: plpy_typeio.c:1347
#, c-format
msgid "malformed record literal: \"%s\""
msgstr "ошибка в литерале записи: \"%s\""
-#: plpy_typeio.c:1341
+#: plpy_typeio.c:1348
#, c-format
msgid "Missing left parenthesis."
msgstr "Отсутствует левая скобка."
-#: plpy_typeio.c:1342 plpy_typeio.c:1543
+#: plpy_typeio.c:1349 plpy_typeio.c:1550
#, c-format
msgid ""
"To return a composite type in an array, return the composite type as a "
@@ -451,12 +456,12 @@ msgstr ""
"Чтобы возвратить составной тип в массиве, нужно возвратить составное "
"значение в виде кортежа Python, например: \"[('foo',)]\"."
-#: plpy_typeio.c:1389
+#: plpy_typeio.c:1396
#, c-format
msgid "key \"%s\" not found in mapping"
msgstr "ключ \"%s\" не найден в сопоставлении"
-#: plpy_typeio.c:1390
+#: plpy_typeio.c:1397
#, c-format
msgid ""
"To return null in a column, add the value None to the mapping with the key "
@@ -465,17 +470,17 @@ msgstr ""
"Чтобы присвоить столбцу NULL, добавьте в сопоставление значение None с "
"ключом-именем столбца."
-#: plpy_typeio.c:1443
+#: plpy_typeio.c:1450
#, c-format
msgid "length of returned sequence did not match number of columns in row"
msgstr "длина возвращённой последовательности не равна числу столбцов в строке"
-#: plpy_typeio.c:1541
+#: plpy_typeio.c:1548
#, c-format
msgid "attribute \"%s\" does not exist in Python object"
msgstr "в объекте Python не существует атрибут \"%s\""
-#: plpy_typeio.c:1544
+#: plpy_typeio.c:1551
#, c-format
msgid ""
"To return null in a column, let the returned object have an attribute named "
diff --git a/src/pl/plpython/po/sv.po b/src/pl/plpython/po/sv.po
index 4d8ddf7104..1d9ffda136 100644
--- a/src/pl/plpython/po/sv.po
+++ b/src/pl/plpython/po/sv.po
@@ -1,471 +1,459 @@
# 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, 2018, 2019.
+# Dennis Björklund <db@zigo.dhs.org>, 2017, 2018, 2019, 2020.
#
msgid ""
msgstr ""
-"Project-Id-Version: plpython (PostgreSQL) 12\n"
+"Project-Id-Version: PostgreSQL 13\n"
"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2019-04-29 12:37+0000\n"
+"POT-Creation-Date: 2020-04-11 01:08+0000\n"
"PO-Revision-Date: 2019-04-29 14:54+0200\n"
"Last-Translator: Dennis Björklund <db@zigo.dhs.org>\n"
-"Language-Team: Swedish <sv@li.org>\n"
+"Language-Team: Swedish <pgsql-translators@postgresql.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:78
+#: plpy_cursorobject.c:74
#, 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:161
+#: plpy_cursorobject.c:157
#, 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:177 plpy_spi.c:211
+#: plpy_cursorobject.c:173 plpy_spi.c:207
#, c-format
msgid "could not execute plan"
msgstr "kunde inte exekvera plan"
-#: plpy_cursorobject.c:180 plpy_spi.c:214
+#: plpy_cursorobject.c:176 plpy_spi.c:210
#, 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:329
+#: plpy_cursorobject.c:323
#, c-format
msgid "iterating a closed cursor"
msgstr "itererar med en stängd markör"
-#: plpy_cursorobject.c:337 plpy_cursorobject.c:403
+#: plpy_cursorobject.c:331 plpy_cursorobject.c:397
#, c-format
msgid "iterating a cursor in an aborted subtransaction"
msgstr "itererar med en markör i en avbruten subtransaktion"
-#: plpy_cursorobject.c:395
+#: plpy_cursorobject.c:389
#, c-format
msgid "fetch from a closed cursor"
msgstr "hämta från en stängd markör"
-#: plpy_cursorobject.c:438 plpy_spi.c:409
+#: plpy_cursorobject.c:432 plpy_spi.c:403
#, 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:490
+#: plpy_cursorobject.c:484
#, c-format
msgid "closing a cursor in an aborted subtransaction"
msgstr "stänger en markör i en avbruten subtransaktion"
-#: plpy_elog.c:129 plpy_elog.c:130 plpy_plpymodule.c:553
+#: plpy_elog.c:125 plpy_elog.c:126 plpy_plpymodule.c:549
#, c-format
msgid "%s"
msgstr "%s"
-#: plpy_exec.c:143
+#: plpy_exec.c:139
#, c-format
msgid "unsupported set function return mode"
msgstr "ej supportat returläge för mängdfunktion"
-#: plpy_exec.c:144
+#: plpy_exec.c:140
#, 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:157
+#: plpy_exec.c:153
#, c-format
msgid "returned object cannot be iterated"
msgstr "returnerat objekt kan inte itereras"
-#: plpy_exec.c:158
+#: plpy_exec.c:154
#, 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:172
+#: plpy_exec.c:168
#, c-format
msgid "error fetching next item from iterator"
msgstr "fel vid hämtning av nästa del från iteratorn"
-#: plpy_exec.c:215
+#: plpy_exec.c:211
#, c-format
msgid "PL/Python procedure did not return None"
msgstr "PL/Python-procedur returnerade inte None"
-#: plpy_exec.c:219
+#: plpy_exec.c:215
#, 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:375 plpy_exec.c:401
+#: plpy_exec.c:371 plpy_exec.c:397
#, c-format
msgid "unexpected return value from trigger procedure"
msgstr "oväntat returvärde från utlösarprocedur"
-#: plpy_exec.c:376
+#: plpy_exec.c:372
#, c-format
msgid "Expected None or a string."
msgstr "Förväntade None eller en sträng."
-#: plpy_exec.c:391
+#: plpy_exec.c:387
#, 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:402
+#: plpy_exec.c:398
#, c-format
msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
msgstr "Förväntade None, \"OK\", \"SKIP\" eller \"MODIFY\"."
-#: plpy_exec.c:452
+#: plpy_exec.c:443
#, c-format
msgid "PyList_SetItem() failed, while setting up arguments"
msgstr "PyList_SetItem() misslyckades vid uppsättning av argument"
-#: plpy_exec.c:456
+#: plpy_exec.c:447
#, c-format
msgid "PyDict_SetItemString() failed, while setting up arguments"
msgstr "PyDict_SetItemString() misslyckades vid uppsättning av argument"
-#: plpy_exec.c:468
+#: plpy_exec.c:459
#, 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:685
+#: plpy_exec.c:676
#, c-format
msgid "while creating return value"
msgstr "vid skapande av returvärde"
-#: plpy_exec.c:919
+#: plpy_exec.c:910
#, c-format
msgid "TD[\"new\"] deleted, cannot modify row"
msgstr "TD[\"new\"] raderad, kan inte modifiera rad"
-#: plpy_exec.c:924
+#: plpy_exec.c:915
#, c-format
msgid "TD[\"new\"] is not a dictionary"
msgstr "TD[\"new\"] är inte en dictionary"
-#: plpy_exec.c:951
+#: plpy_exec.c:942
#, 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:958
+#: plpy_exec.c:949
#, 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:963
+#: plpy_exec.c:954
#, c-format
msgid "cannot set system attribute \"%s\""
msgstr "kan inte sätta systemattribut \"%s\""
-#: plpy_exec.c:968
+#: plpy_exec.c:959
#, c-format
msgid "cannot set generated column \"%s\""
msgstr "kan inte sätta genererad kolumn \"%s\""
-#: plpy_exec.c:1026
+#: plpy_exec.c:1017
#, c-format
msgid "while modifying trigger row"
msgstr "vid modifiering av utlösande rad"
-#: plpy_exec.c:1087
+#: plpy_exec.c:1075
#, 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
+#: plpy_main.c:121
#, c-format
msgid "multiple Python libraries are present in session"
msgstr "multipla Python-bibliotek är aktiva i sessionen"
-#: plpy_main.c:126
+#: plpy_main.c:122
#, 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
+#: plpy_main.c:138
#, c-format
msgid "untrapped error in initialization"
msgstr "ej fångar fel i initiering"
-#: plpy_main.c:165
+#: plpy_main.c:161
#, c-format
msgid "could not import \"__main__\" module"
msgstr "kunde inte importera \"__main__\"-modul"
-#: plpy_main.c:174
+#: plpy_main.c:170
#, c-format
msgid "could not initialize globals"
msgstr "kunde inte initierar globaler"
-#: plpy_main.c:399
+#: plpy_main.c:393
#, c-format
msgid "PL/Python procedure \"%s\""
msgstr "PL/Python-procedur \"%s\""
-#: plpy_main.c:402
+#: plpy_main.c:396
#, c-format
msgid "PL/Python function \"%s\""
msgstr "PL/Python-funktion \"%s\""
-#: plpy_main.c:410
+#: plpy_main.c:404
#, c-format
msgid "PL/Python anonymous code block"
msgstr "PL/Python anonymt kodblock"
-#: plpy_plpymodule.c:186 plpy_plpymodule.c:189
+#: plpy_plpymodule.c:182 plpy_plpymodule.c:185
#, c-format
msgid "could not import \"plpy\" module"
msgstr "kunde inte importera \"plpy\"-modul"
-#: plpy_plpymodule.c:204
+#: plpy_plpymodule.c:200
#, c-format
msgid "could not create the spiexceptions module"
msgstr "kunde inte skapa modulen spiexceptions"
-#: plpy_plpymodule.c:212
+#: plpy_plpymodule.c:208
#, c-format
msgid "could not add the spiexceptions module"
msgstr "kunde inte lägga till modulen spiexceptions"
-#: plpy_plpymodule.c:280
+#: plpy_plpymodule.c:276
#, c-format
msgid "could not generate SPI exceptions"
msgstr "kunde inte skapa SPI-undantag"
-#: plpy_plpymodule.c:448
+#: plpy_plpymodule.c:444
#, c-format
msgid "could not unpack arguments in plpy.elog"
msgstr "kunde inte packa upp argument i plpy.elog"
-#: plpy_plpymodule.c:457
+#: plpy_plpymodule.c:453
msgid "could not parse error message in plpy.elog"
msgstr "kunde inte parsa felmeddelande i plpy.elog"
-#: plpy_plpymodule.c:474
+#: plpy_plpymodule.c:470
#, c-format
msgid "argument 'message' given by name and position"
msgstr "argumentet 'message' angivet med namn och position"
-#: plpy_plpymodule.c:501
+#: plpy_plpymodule.c:497
#, 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:512 plpy_plpymodule.c:518
+#: plpy_plpymodule.c:508 plpy_plpymodule.c:514
#, c-format
msgid "invalid SQLSTATE code"
msgstr "ogiltig SQLSTATE-kod"
-#: plpy_procedure.c:230
+#: plpy_procedure.c:226
#, c-format
msgid "trigger functions can only be called as triggers"
msgstr "Triggningsfunktioner kan bara anropas vid triggning."
-#: plpy_procedure.c:234
+#: plpy_procedure.c:230
#, c-format
msgid "PL/Python functions cannot return type %s"
msgstr "PL/Python-funktioner kan inte returnera typ %s"
-#: plpy_procedure.c:312
+#: plpy_procedure.c:308
#, c-format
msgid "PL/Python functions cannot accept type %s"
msgstr "PL/Python-funktioner kan inte ta emot typ %s"
-#: plpy_procedure.c:402
+#: plpy_procedure.c:398
#, c-format
msgid "could not compile PL/Python function \"%s\""
msgstr "kunde inte kompilera PL/Python-funktion \"%s\""
-#: plpy_procedure.c:405
+#: plpy_procedure.c:401
#, c-format
msgid "could not compile anonymous PL/Python code block"
msgstr "kunde inte kompilera anonymt PL/Python-kodblock"
-#: plpy_resultobject.c:121 plpy_resultobject.c:147 plpy_resultobject.c:173
+#: plpy_resultobject.c:119 plpy_resultobject.c:145 plpy_resultobject.c:171
#, c-format
msgid "command did not produce a result set"
msgstr "kommandot producerade inte en resultatmängd"
-#: plpy_spi.c:60
+#: plpy_spi.c:56
#, 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:104
+#: plpy_spi.c:100
#, 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:176
+#: plpy_spi.c:172
#, 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:195
+#: plpy_spi.c:191
#, 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:305
+#: plpy_spi.c:299
#, c-format
msgid "SPI_execute_plan failed: %s"
msgstr "SPI_execute_plan misslyckades: %s"
-#: plpy_spi.c:347
+#: plpy_spi.c:341
#, c-format
msgid "SPI_execute failed: %s"
msgstr "SPI_execute misslyckades: %s"
-#: plpy_subxactobject.c:97
+#: plpy_subxactobject.c:93
#, c-format
msgid "this subtransaction has already been entered"
msgstr "denna subtransaktion har redan gåtts in i"
-#: plpy_subxactobject.c:103 plpy_subxactobject.c:161
+#: plpy_subxactobject.c:99 plpy_subxactobject.c:157
#, c-format
msgid "this subtransaction has already been exited"
msgstr "denna subtransaktion har redan avslutat"
-#: plpy_subxactobject.c:155
+#: plpy_subxactobject.c:151
#, c-format
msgid "this subtransaction has not been entered"
msgstr "denna subtransaktion har inte gåtts in i"
-#: plpy_subxactobject.c:167
+#: plpy_subxactobject.c:163
#, c-format
msgid "there is no subtransaction to exit from"
msgstr "det finns ingen subtransaktion att avsluta från"
-#: plpy_typeio.c:591
+#: plpy_typeio.c:587
#, c-format
msgid "could not import a module for Decimal constructor"
msgstr "kunde inte importera en modul för Decimal-konstruktorn"
-#: plpy_typeio.c:595
+#: plpy_typeio.c:591
#, c-format
msgid "no Decimal attribute in module"
msgstr "inga Decimal-attribut i modulen"
-#: plpy_typeio.c:601
+#: plpy_typeio.c:597
#, c-format
msgid "conversion from numeric to Decimal failed"
msgstr "konvertering från numeric till Decimal misslyckades"
-#: plpy_typeio.c:915
+#: plpy_typeio.c:911
#, c-format
msgid "could not create bytes representation of Python object"
msgstr "kunde inte skapa byte-representation av Python-objekt"
-#: plpy_typeio.c:1063
+#: plpy_typeio.c:1056
#, c-format
msgid "could not create string representation of Python object"
msgstr "kunde inte skapa strängrepresentation av Python-objekt"
-#: plpy_typeio.c:1074
+#: plpy_typeio.c:1067
#, 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:1183
+#: plpy_typeio.c:1176
#, c-format
msgid "number of array dimensions exceeds the maximum allowed (%d)"
msgstr "antal array-dimensioner överskriver maximalt tillåtna (%d)"
-#: plpy_typeio.c:1187
+#: plpy_typeio.c:1180
#, 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:1190 plpy_typeio.c:1194
+#: plpy_typeio.c:1183 plpy_typeio.c:1187
#, c-format
msgid "array size exceeds the maximum allowed"
msgstr "array-storlek överskrider maximalt tillåtna"
-#: plpy_typeio.c:1220
+#: plpy_typeio.c:1213
#, 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:1266
+#: plpy_typeio.c:1259
#, 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:1268
+#: plpy_typeio.c:1261
#, 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:1347
+#: plpy_typeio.c:1340
#, c-format
msgid "malformed record literal: \"%s\""
msgstr "felaktig postliteral: \"%s\""
-#: plpy_typeio.c:1348
+#: plpy_typeio.c:1341
#, c-format
msgid "Missing left parenthesis."
msgstr "Saknar vänster parentes"
-#: plpy_typeio.c:1349 plpy_typeio.c:1550
+#: plpy_typeio.c:1342 plpy_typeio.c:1543
#, 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:1396
+#: plpy_typeio.c:1389
#, c-format
msgid "key \"%s\" not found in mapping"
msgstr "nyckeln \"%s\" hittades inte i mapping"
-#: plpy_typeio.c:1397
+#: plpy_typeio.c:1390
#, 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:1450
+#: plpy_typeio.c:1443
#, 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:1548
+#: plpy_typeio.c:1541
#, c-format
msgid "attribute \"%s\" does not exist in Python object"
msgstr "attributet \"%s\" finns inte i Python-objektet"
-#: plpy_typeio.c:1551
+#: plpy_typeio.c:1544
#, 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:35
+#: plpy_util.c:31
#, c-format
msgid "could not convert Python Unicode object to bytes"
msgstr "kunde inte konvertera Python-unicode-objekt till bytes"
-#: plpy_util.c:41
+#: plpy_util.c:37
#, c-format
msgid "could not extract bytes from encoded string"
msgstr "kunde inte extrahera bytes från kodad sträng"
-
-#~ msgid "could not create new dictionary while building trigger arguments"
-#~ msgstr "kunde inte skapa ny katalog vid byggande av utlösarargument"
-
-#~ msgid "could not create globals"
-#~ msgstr "kundew inte skapa globaler"
-
-#~ msgid "could not create exception \"%s\""
-#~ msgstr "kunde inte skapa undantag \"%s\""
-
-#~ msgid "could not create new dictionary"
-#~ msgstr "kunde inte skapa ny katalog"
diff --git a/src/pl/plpython/po/uk.po b/src/pl/plpython/po/uk.po
new file mode 100644
index 0000000000..680fef6cb7
--- /dev/null
+++ b/src/pl/plpython/po/uk.po
@@ -0,0 +1,456 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: postgresql\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-12-05 10:35+0100\n"
+"PO-Revision-Date: 2019-07-11 16:30\n"
+"Last-Translator: pasha_golub\n"
+"Language-Team: Ukrainian\n"
+"Language: uk_UA\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
+"X-Generator: crowdin.com\n"
+"X-Crowdin-Project: postgresql\n"
+"X-Crowdin-Language: uk\n"
+"X-Crowdin-File: /REL_11_STABLE/src/pl/plpython/po/plpython.pot\n"
+
+#: plpy_cursorobject.c:101
+#, c-format
+msgid "plpy.cursor expected a query or a plan"
+msgstr "plpy.cursor очікував запит або план"
+
+#: plpy_cursorobject.c:184
+#, c-format
+msgid "plpy.cursor takes a sequence as its second argument"
+msgstr "plpy.сursor приймає як другий аргумент послідовність"
+
+#: plpy_cursorobject.c:200 plpy_spi.c:211
+#, c-format
+msgid "could not execute plan"
+msgstr "не вдалося виконати план"
+
+#: plpy_cursorobject.c:203 plpy_spi.c:214
+#, c-format
+msgid "Expected sequence of %d argument, got %d: %s"
+msgid_plural "Expected sequence of %d arguments, got %d: %s"
+msgstr[0] "Очікувалась послідовність %d аргументів, отримано %d: %s"
+msgstr[1] "Очікувалась послідовність %d аргументів, отримано %d: %s"
+msgstr[2] "Очікувалась послідовність %d аргументів, отримано %d: %s"
+msgstr[3] "Очікувалась послідовність %d аргумента, отримано %d: %s"
+
+#: plpy_cursorobject.c:352
+#, c-format
+msgid "iterating a closed cursor"
+msgstr "ітерація закритого курсора"
+
+#: plpy_cursorobject.c:360 plpy_cursorobject.c:426
+#, c-format
+msgid "iterating a cursor in an aborted subtransaction"
+msgstr "ітерація курсора в перерваній субтранзакції"
+
+#: plpy_cursorobject.c:418
+#, c-format
+msgid "fetch from a closed cursor"
+msgstr "витяг з закритого курсору"
+
+#: plpy_cursorobject.c:461 plpy_spi.c:409
+#, c-format
+msgid "query result has too many rows to fit in a Python list"
+msgstr "результат запиту має забагато рядків для передачі у список Python"
+
+#: plpy_cursorobject.c:512
+#, c-format
+msgid "closing a cursor in an aborted subtransaction"
+msgstr "закриття курсора в перерваній транзакції"
+
+#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:559
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: plpy_exec.c:142
+#, c-format
+msgid "unsupported set function return mode"
+msgstr "режим не підтримується для функцій, що повертають набір"
+
+#: plpy_exec.c:143
+#, c-format
+msgid "PL/Python set-returning functions only support returning one value per call."
+msgstr "функції PL/Python підтримують лише одне значення на виклик, коли повертають набір."
+
+#: plpy_exec.c:156
+#, c-format
+msgid "returned object cannot be iterated"
+msgstr "повернутий об'єкт не підтримує ітерації"
+
+#: plpy_exec.c:157
+#, c-format
+msgid "PL/Python set-returning functions must return an iterable object."
+msgstr "функції PL/Python повинні повертати об'єкт з підтримкою ітерації, коли повертають набір."
+
+#: plpy_exec.c:171
+#, c-format
+msgid "error fetching next item from iterator"
+msgstr "помилка отримання наступного елемента від ітератора"
+
+#: plpy_exec.c:214
+#, c-format
+msgid "PL/Python procedure did not return None"
+msgstr "процедура PL/Python не повернула None"
+
+#: plpy_exec.c:218
+#, c-format
+msgid "PL/Python function with return type \"void\" did not return None"
+msgstr "PL/Python функція з типом результату \"void\" не повернули None"
+
+#: plpy_exec.c:374 plpy_exec.c:400
+#, c-format
+msgid "unexpected return value from trigger procedure"
+msgstr "неочікуване значення процедури тригера"
+
+#: plpy_exec.c:375
+#, c-format
+msgid "Expected None or a string."
+msgstr "Очікувалось None або рядок."
+
+#: plpy_exec.c:390
+#, c-format
+msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
+msgstr "Тригерна функція PL/Python повернула \"MODIFY\" в тригері DELETE -- проігноровано"
+
+#: plpy_exec.c:401
+#, c-format
+msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
+msgstr "Очікувалось None, \"OK\", \"SKIP\" або \"MODIFY\"."
+
+#: plpy_exec.c:451
+#, c-format
+msgid "PyList_SetItem() failed, while setting up arguments"
+msgstr "помилка PyList_SetItem() під час встановлення параметрів"
+
+#: plpy_exec.c:455
+#, c-format
+msgid "PyDict_SetItemString() failed, while setting up arguments"
+msgstr "помилка PyDict_SetItemString() під час встановлення параметрів"
+
+#: plpy_exec.c:467
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "функція, що повертає набір, викликана у контексті, що не приймає тип запис"
+
+#: plpy_exec.c:684
+#, c-format
+msgid "while creating return value"
+msgstr "під час створення значення результату"
+
+#: plpy_exec.c:909
+#, c-format
+msgid "TD[\"new\"] deleted, cannot modify row"
+msgstr "TD[\"new\"] видалено, неможливо змінити рядок"
+
+#: plpy_exec.c:914
+#, c-format
+msgid "TD[\"new\"] is not a dictionary"
+msgstr "TD[\"new\"] не є словником"
+
+#: plpy_exec.c:941
+#, c-format
+msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
+msgstr "ключ словника TD[\"new\"] на порядковий позиції %d не є рядком"
+
+#: plpy_exec.c:948
+#, c-format
+msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row"
+msgstr "ключ \"%s\" знайдений у TD[\"new\"] не існує як стовпець у рядку тригера"
+
+#: plpy_exec.c:953
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "не вдалося встановити системний атрибут \"%s\""
+
+#: plpy_exec.c:1011
+#, c-format
+msgid "while modifying trigger row"
+msgstr "під час зміни рядка тригера"
+
+#: plpy_exec.c:1072
+#, c-format
+msgid "forcibly aborting a subtransaction that has not been exited"
+msgstr "примусове переривання субтранзакції, яка не вийшла"
+
+#: plpy_main.c:125
+#, c-format
+msgid "multiple Python libraries are present in session"
+msgstr "декілька бібліотек Python присутні у сесії"
+
+#: plpy_main.c:126
+#, c-format
+msgid "Only one Python major version can be used in one session."
+msgstr "За один сеанс може використовуватися лише одна основна версія Python."
+
+#: plpy_main.c:142
+#, c-format
+msgid "untrapped error in initialization"
+msgstr "неопрацьована помилка під час ініціалізації"
+
+#: plpy_main.c:165
+#, c-format
+msgid "could not import \"__main__\" module"
+msgstr "не вдалося імпортувати \"__main__\" модуль"
+
+#: plpy_main.c:174
+#, c-format
+msgid "could not initialize globals"
+msgstr "не вдалося ініціалізувати globals"
+
+#: plpy_main.c:399
+#, c-format
+msgid "PL/Python procedure \"%s\""
+msgstr "PL/Python процедура \"%s\""
+
+#: plpy_main.c:402
+#, c-format
+msgid "PL/Python function \"%s\""
+msgstr "PL/Python функція \"%s\""
+
+#: plpy_main.c:410
+#, c-format
+msgid "PL/Python anonymous code block"
+msgstr "анонімні коди блоку PL/Python"
+
+#: plpy_plpymodule.c:192 plpy_plpymodule.c:195
+#, c-format
+msgid "could not import \"plpy\" module"
+msgstr "не вдалося імпортувати \"plpy\" модуль"
+
+#: plpy_plpymodule.c:210
+#, c-format
+msgid "could not create the spiexceptions module"
+msgstr "не вдалося створити spiexceptions модуль"
+
+#: plpy_plpymodule.c:218
+#, c-format
+msgid "could not add the spiexceptions module"
+msgstr "не вдалося додати spiexceptions модуль"
+
+#: plpy_plpymodule.c:286
+#, c-format
+msgid "could not generate SPI exceptions"
+msgstr "не вдається створити винятки SPI"
+
+#: plpy_plpymodule.c:454
+#, c-format
+msgid "could not unpack arguments in plpy.elog"
+msgstr "не вдалося розпакувати аргументи в plpy.elog"
+
+#: plpy_plpymodule.c:463
+msgid "could not parse error message in plpy.elog"
+msgstr "не вдалося проаналізувати повідомлення про помилку в plpy.elog"
+
+#: plpy_plpymodule.c:480
+#, c-format
+msgid "argument 'message' given by name and position"
+msgstr "аргумент 'повідомлення' виданий за ім'ям та розташуванням"
+
+#: plpy_plpymodule.c:507
+#, c-format
+msgid "'%s' is an invalid keyword argument for this function"
+msgstr "'%s' є неприпустимим ключовим словом-аргументом для цієї функції"
+
+#: plpy_plpymodule.c:518 plpy_plpymodule.c:524
+#, c-format
+msgid "invalid SQLSTATE code"
+msgstr "невірний код SQLSTATE"
+
+#: plpy_procedure.c:230
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "тригерні функції можуть викликатися лише як тригер"
+
+#: plpy_procedure.c:234
+#, c-format
+msgid "PL/Python functions cannot return type %s"
+msgstr "PL/Python функції не можуть повернути тип %s"
+
+#: plpy_procedure.c:312
+#, c-format
+msgid "PL/Python functions cannot accept type %s"
+msgstr "PL/Python функції не можуть прийняти тип %s"
+
+#: plpy_procedure.c:402
+#, c-format
+msgid "could not compile PL/Python function \"%s\""
+msgstr "не вдалося скомпілювати функцію PL/Python \"%s\""
+
+#: plpy_procedure.c:405
+#, c-format
+msgid "could not compile anonymous PL/Python code block"
+msgstr "не вдалося скомпілювати анонімні коди блоку PL/Python"
+
+#: plpy_resultobject.c:150 plpy_resultobject.c:176 plpy_resultobject.c:202
+#, c-format
+msgid "command did not produce a result set"
+msgstr "команда не створила набір результатів"
+
+#: plpy_spi.c:60
+#, c-format
+msgid "second argument of plpy.prepare must be a sequence"
+msgstr "другий аргумент plpy.prepare має бути послідовністю"
+
+#: plpy_spi.c:104
+#, c-format
+msgid "plpy.prepare: type name at ordinal position %d is not a string"
+msgstr "plpy.prepare: ім'я на порядковий позиції %d не є рядком"
+
+#: plpy_spi.c:176
+#, c-format
+msgid "plpy.execute expected a query or a plan"
+msgstr "plpy.execute очікував запит або план"
+
+#: plpy_spi.c:195
+#, c-format
+msgid "plpy.execute takes a sequence as its second argument"
+msgstr "plpy.execute приймає як другий аргумент послідовність"
+
+#: plpy_spi.c:305
+#, c-format
+msgid "SPI_execute_plan failed: %s"
+msgstr "SPI_execute_plan не спрацював: %s"
+
+#: plpy_spi.c:347
+#, c-format
+msgid "SPI_execute failed: %s"
+msgstr "SPI_execute не спрацював: %s"
+
+#: plpy_subxactobject.c:122
+#, c-format
+msgid "this subtransaction has already been entered"
+msgstr "ця субтранзакція вже почалась"
+
+#: plpy_subxactobject.c:128 plpy_subxactobject.c:186
+#, c-format
+msgid "this subtransaction has already been exited"
+msgstr "ця субтранзакція вже вийшла"
+
+#: plpy_subxactobject.c:180
+#, c-format
+msgid "this subtransaction has not been entered"
+msgstr "ця субтранзакція ще не почалася"
+
+#: plpy_subxactobject.c:192
+#, c-format
+msgid "there is no subtransaction to exit from"
+msgstr "немає субтранзакції, щоб з неї вийти"
+
+#: plpy_typeio.c:591
+#, c-format
+msgid "could not import a module for Decimal constructor"
+msgstr "не вдалося імпортувати модуль для конструктора Decimal"
+
+#: plpy_typeio.c:595
+#, c-format
+msgid "no Decimal attribute in module"
+msgstr "відсутній атрибут Decimal у модулі"
+
+#: plpy_typeio.c:601
+#, c-format
+msgid "conversion from numeric to Decimal failed"
+msgstr "не вдалося виконати перетворення з numeric на Decimal"
+
+#: plpy_typeio.c:908
+#, c-format
+msgid "could not create bytes representation of Python object"
+msgstr "не вдалося створити байтову репрезентацію об'єкта Python"
+
+#: plpy_typeio.c:1056
+#, c-format
+msgid "could not create string representation of Python object"
+msgstr "не вдалося створити рядкову репрезентацію об'єкта Python"
+
+#: plpy_typeio.c:1067
+#, c-format
+msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes"
+msgstr "не вдалося перетворити об'єкт Python на cstring: репрезентація рядка Python містить значення null-байти"
+
+#: plpy_typeio.c:1176
+#, c-format
+msgid "number of array dimensions exceeds the maximum allowed (%d)"
+msgstr "кількість вимірів масиву перевищує максимально дозволену (%d)"
+
+#: plpy_typeio.c:1180
+#, c-format
+msgid "could not determine sequence length for function return value"
+msgstr "не вдалося визначити довжину послідовності для значення функція"
+
+#: plpy_typeio.c:1183 plpy_typeio.c:1187
+#, c-format
+msgid "array size exceeds the maximum allowed"
+msgstr "розмір масиву перевищує максимально дозволений"
+
+#: plpy_typeio.c:1213
+#, c-format
+msgid "return value of function with array return type is not a Python sequence"
+msgstr "значення функції з масивом в якості результату не є послідовністю Python"
+
+#: plpy_typeio.c:1259
+#, c-format
+msgid "wrong length of inner sequence: has length %d, but %d was expected"
+msgstr "неправильна довжина внутрішньої послідовності: довжина %d, але очікується %d"
+
+#: plpy_typeio.c:1261
+#, c-format
+msgid "To construct a multidimensional array, the inner sequences must all have the same length."
+msgstr "Щоб побудувати багатовимірний масив, внутрішні послідовності повинні мати однакову довжину."
+
+#: plpy_typeio.c:1340
+#, c-format
+msgid "malformed record literal: \"%s\""
+msgstr "невірно сформований літерал запису: \"%s\""
+
+#: plpy_typeio.c:1341
+#, c-format
+msgid "Missing left parenthesis."
+msgstr "Відсутня ліва дужка."
+
+#: plpy_typeio.c:1342 plpy_typeio.c:1543
+#, c-format
+msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\"."
+msgstr "Щоб повернути складений тип в масиві, треба повернути композитний тип як кортеж Python, наприклад, \"[('foo',)]\"."
+
+#: plpy_typeio.c:1389
+#, c-format
+msgid "key \"%s\" not found in mapping"
+msgstr "ключ \"%s\" не знайдено в зіставленні"
+
+#: plpy_typeio.c:1390
+#, c-format
+msgid "To return null in a column, add the value None to the mapping with the key named after the column."
+msgstr "Для повернення значення null в стовпці, додайте значення None з ключом, що дорівнює імені стовпця."
+
+#: plpy_typeio.c:1443
+#, c-format
+msgid "length of returned sequence did not match number of columns in row"
+msgstr "довжина повернутої послідовності не відповідає кількості стовпців у рядку"
+
+#: plpy_typeio.c:1541
+#, c-format
+msgid "attribute \"%s\" does not exist in Python object"
+msgstr "атрибут \"%s\" не існує в об'єкті Python"
+
+#: plpy_typeio.c:1544
+#, c-format
+msgid "To return null in a column, let the returned object have an attribute named after column with value None."
+msgstr "Щоб повернути null в стовпці, результуючий об'єкт має мати атрибут з іменем стовпця зі значенням None."
+
+#: plpy_util.c:35
+#, c-format
+msgid "could not convert Python Unicode object to bytes"
+msgstr "не вдалося конвертувати об'єкт Python Unicode в байти"
+
+#: plpy_util.c:41
+#, c-format
+msgid "could not extract bytes from encoded string"
+msgstr "не можливо отримати байт з закодованого рядка"
+
diff --git a/src/pl/plpython/po/zh_CN.po b/src/pl/plpython/po/zh_CN.po
index 64c7532887..71bfd86af9 100644
--- a/src/pl/plpython/po/zh_CN.po
+++ b/src/pl/plpython/po/zh_CN.po
@@ -5,16 +5,16 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: plpython (PostgreSQL) 11\n"
+"Project-Id-Version: plpython (PostgreSQL) 12\n"
"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2019-06-04 12:08+0000\n"
-"PO-Revision-Date: 2019-05-17 18:48+0800\n"
+"POT-Creation-Date: 2019-05-22 17:56+0800\n"
+"PO-Revision-Date: 2019-06-04 18:00+0800\n"
"Last-Translator: Jie Zhang <zhangjie2@cn.fujitsu.com>\n"
"Language-Team: Chinese (Simplified) <zhangjie2@cn.fujitsu.com>\n"
-"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.5.7\n"
@@ -39,7 +39,6 @@ msgid "Expected sequence of %d argument, got %d: %s"
msgid_plural "Expected sequence of %d arguments, got %d: %s"
msgstr[0] "期望%d序列参数,但是得到%d: %s"
-# sql_help.h:345
#: plpy_cursorobject.c:329
#, c-format
msgid "iterating a closed cursor"
@@ -50,7 +49,6 @@ msgstr "遍历一个关闭的游标"
msgid "iterating a cursor in an aborted subtransaction"
msgstr "在终止的子事务里遍历一个游标"
-# sql_help.h:109
#: plpy_cursorobject.c:395
#, c-format
msgid "fetch from a closed cursor"
@@ -172,10 +170,9 @@ msgid "cannot set system attribute \"%s\""
msgstr "不能设置系统属性\"%s\""
#: plpy_exec.c:968
-#, fuzzy, c-format
-#| msgid "cannot set system attribute \"%s\""
+#, c-format
msgid "cannot set generated column \"%s\""
-msgstr "不能设置系统属性\"%s\""
+msgstr "无法设置生成的列 \"%s\""
#: plpy_exec.c:1026
#, c-format