summaryrefslogtreecommitdiffstats
path: root/src/pl/tcl/po
diff options
context:
space:
mode:
Diffstat (limited to 'src/pl/tcl/po')
-rw-r--r--src/pl/tcl/po/cs.po117
-rw-r--r--src/pl/tcl/po/de.po115
-rw-r--r--src/pl/tcl/po/el.po118
-rw-r--r--src/pl/tcl/po/es.po119
-rw-r--r--src/pl/tcl/po/fr.po140
-rw-r--r--src/pl/tcl/po/it.po127
-rw-r--r--src/pl/tcl/po/ja.po117
-rw-r--r--src/pl/tcl/po/ka.po117
-rw-r--r--src/pl/tcl/po/ko.po118
-rw-r--r--src/pl/tcl/po/pl.po136
-rw-r--r--src/pl/tcl/po/pt_BR.po117
-rw-r--r--src/pl/tcl/po/ru.po135
-rw-r--r--src/pl/tcl/po/sv.po116
-rw-r--r--src/pl/tcl/po/tr.po117
-rw-r--r--src/pl/tcl/po/uk.po115
-rw-r--r--src/pl/tcl/po/vi.po107
-rw-r--r--src/pl/tcl/po/zh_CN.po111
17 files changed, 2042 insertions, 0 deletions
diff --git a/src/pl/tcl/po/cs.po b/src/pl/tcl/po/cs.po
new file mode 100644
index 0000000..e48dff2
--- /dev/null
+++ b/src/pl/tcl/po/cs.po
@@ -0,0 +1,117 @@
+# Czech message translation file for pltcl
+# Copyright (C) 2012 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+#
+# Tomáš Vondra <tv@fuzzy.cz>, 2012, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl-cs (PostgreSQL 9.3)\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2019-09-27 08:07+0000\n"
+"PO-Revision-Date: 2019-09-27 21:02+0200\n"
+"Last-Translator: Tomas Vondra <tv@fuzzy.cz>\n"
+"Language-Team: Czech <info@cspug.cx>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2.3\n"
+
+#: pltcl.c:464
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "PL/Tcl funkce kterou zavolat jednou při prvním použití pltcl."
+
+#: pltcl.c:471
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "PL/TclU funkce kterou zavolat jednou při prvním použití pltclu."
+
+#: pltcl.c:636
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "funkce \"%s\" je ve špatném jazyce"
+
+#: pltcl.c:647
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "funkce \"%s\" nesmí být SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:681
+#, c-format
+msgid "processing %s parameter"
+msgstr "zpracovávám %s parametr"
+
+#: pltcl.c:842
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "set-valued funkce volána v kontextu který nemůže přijmout více řádek"
+
+#: pltcl.c:1015
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "funkce vracející záznam volána v kontextu který nemůže přijmout záznam"
+
+#: pltcl.c:1299
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "z triggeru nelze oddělit návratovou hodnotu: %s"
+
+#: pltcl.c:1379 pltcl.c:1809
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1380
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"v PL/Tcl funkci \"%s\""
+
+#: pltcl.c:1544
+#, 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ů"
+
+#: pltcl.c:1548
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "PL/Tcl funkce nemohou vracet datový typ %s"
+
+#: pltcl.c:1587
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "PL/Tcl funkce nemohou přijímat datový typ %s"
+
+#: pltcl.c:1701
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "nelze vytvořit interní proceduru \"%s\": %s"
+
+#: pltcl.c:3208
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "seznam názvů sloupců a hodnot musí mít sudý počet položek"
+
+#: pltcl.c:3226
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "seznam názvů sloupců a hodnot obsahuje neexistující název sloupce \"%s\""
+
+#: pltcl.c:3233
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "nelze nastavit systémový atribut \"%s\""
+
+#: pltcl.c:3239
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "nelze přiřazovat do generovaného sloupce \"%s\""
+
+#~ msgid "PL/Tcl functions cannot return composite types"
+#~ msgstr "PL/Tcl funkce nemohou vracet složené datové typy"
+
+#~ msgid "out of memory"
+#~ msgstr "paměť vyčerpána"
diff --git a/src/pl/tcl/po/de.po b/src/pl/tcl/po/de.po
new file mode 100644
index 0000000..e191a2b
--- /dev/null
+++ b/src/pl/tcl/po/de.po
@@ -0,0 +1,115 @@
+# German message translation file for PL/Tcl
+# Peter Eisentraut <peter@eisentraut.org>, 2009 - 2022.
+#
+# Use these quotes: »%s«
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-04-08 12:09+0000\n"
+"PO-Revision-Date: 2022-04-08 14:40+0200\n"
+"Last-Translator: Peter Eisentraut <peter@eisentraut.org>\n"
+"Language-Team: German <pgsql-translators@postgresql.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "PL/Tcl-Funktion, die einmal aufgerufen wird, wenn pltcl zum ersten Mal benutzt wird."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "PL/Tcl-Funktion, die einmal aufgerufen wird, wenn pltclu zum ersten Mal benutzt wird."
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "Funktion »%s« ist in der falschen Sprache"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "Funktion »%s« darf nicht SECURITY DEFINER sein"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "Verarbeiten von Parameter von %s"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "Funktion mit Mengenergebnis in einem Zusammenhang aufgerufen, der keine Mengenergebnisse verarbeiten kann"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "Materialisierungsmodus wird benötigt, ist aber in diesem Zusammenhang nicht erlaubt"
+
+#: pltcl.c:1013
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "Funktion, die einen Record zurückgibt, in einem Zusammenhang aufgerufen, der Typ record nicht verarbeiten kann"
+
+#: pltcl.c:1297
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "konnte Rückgabewert des Triggers nicht splitten: %s"
+
+#: pltcl.c:1378 pltcl.c:1808
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1379
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"in PL/Tcl-Funktion »%s«"
+
+#: pltcl.c:1543
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "Triggerfunktionen können nur als Trigger aufgerufen werden"
+
+#: pltcl.c:1547
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "PL/Tcl-Funktionen können keinen Rückgabetyp %s haben"
+
+#: pltcl.c:1586
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "PL/Tcl-Funktionen können Typ %s nicht annehmen"
+
+#: pltcl.c:1700
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "konnte interne Prozedur »%s« nicht erzeugen: %s"
+
+#: pltcl.c:3202
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "Liste der Spaltennamen/-werte muss gerade Anzahl Elemente haben"
+
+#: pltcl.c:3220
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "Liste der Spaltennamen/-werte enthält nicht existierenden Spaltennamen »%s«"
+
+#: pltcl.c:3227
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "Systemattribut »%s« kann nicht gesetzt werden"
+
+#: pltcl.c:3233
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "kann generierte Spalte »%s« nicht setzen"
diff --git a/src/pl/tcl/po/el.po b/src/pl/tcl/po/el.po
new file mode 100644
index 0000000..6d0bd50
--- /dev/null
+++ b/src/pl/tcl/po/el.po
@@ -0,0 +1,118 @@
+# Greek message translation file for pltcl
+# Copyright (C) 2021 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pltcl (PostgreSQL) package.
+# Georgios Kokolatos <gkokolatos@pm.me>, 2021
+#
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL) 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2023-04-14 09:08+0000\n"
+"PO-Revision-Date: 2023-04-14 15:05+0200\n"
+"Last-Translator: Georgios Kokolatos <gkokolatos@pm.me>\n"
+"Language-Team: \n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 3.2.2\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "Συνάρτηση PL/Tcl για να καλέσει μία μόνο φορά όταν χρησιμοποιείται pltcl για πρώτη φορά."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "Συνάρτηση PL/Tcl για να καλέσει μία μόνο φορά όταν χρησιμοποιείται pltclu για πρώτη φορά ."
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "η συνάρτηση «%s» βρίσκεται σε λάθος γλώσσα"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "η συνάρτηση «%s» δεν πρέπει να είναι SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "επεξεργάζεται παράμετρο %s"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "set-valued συνάρτηση καλείται σε περιεχόμενο που δεν μπορεί να δεχτεί ένα σύνολο"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "επιβάλλεται λειτουργία υλοποίησης, αλλά δεν επιτρέπεται σε αυτό το περιεχόμενο"
+
+#: pltcl.c:1013
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "συνάρτηση που επιστρέφει εγγραφή καλείται σε περιεχόμενο που δεν δύναται να αποδεχτεί τύπο εγγραφής"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "δεν ήταν δυνατός ο διαχωρισμός επιστρεφόμενης τιμής από έναυσμα: %s"
+
+#: pltcl.c:1377 pltcl.c:1807
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1378
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"στη συνάρτηση PL/Tcl «%s»"
+
+#: pltcl.c:1542
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "συναρτήσεις εναυσμάτων μπορούν να κληθούν μόνο ως εναύσματα"
+
+#: pltcl.c:1546
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "συναρτήσεις PL/Tcl δεν είναι δυνατό να επιστρέψουν τύπο %s"
+
+#: pltcl.c:1585
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "συναρτήσεις PL/Tcl δεν είναι δυνατό να δεχτούν τύπο %s"
+
+#: pltcl.c:1699
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "δεν ήταν δυνατή η δημιουργία εσωτερικής διαδικασίας «%s»: %s"
+
+#: pltcl.c:3202
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "λίστα ονόματος/τιμής στήλης πρέπει να έχει άρτιο αριθμό στοιχείων"
+
+#: pltcl.c:3220
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "λίστα ονόματος/τιμής στήλης περιέχει ανύπαρκτο όνομα στήλης «%s»"
+
+#: pltcl.c:3227
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "δεν είναι δυνατός ο ορισμός του χαρακτηριστικού συστήματος «%s»"
+
+#: pltcl.c:3233
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "δεν είναι δυνατός ο ορισμός δημιουργημένης στήλης «%s»"
diff --git a/src/pl/tcl/po/es.po b/src/pl/tcl/po/es.po
new file mode 100644
index 0000000..fe7b70a
--- /dev/null
+++ b/src/pl/tcl/po/es.po
@@ -0,0 +1,119 @@
+# Spanish translation file for pltcl
+#
+# Copyright (c) 2009-2021, PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+#
+# Emanuel Calvo Franco <postgres.arg@gmail.com>, 2009.
+# Alvaro Herrera <alvherre@alvh.no-ip.org>, 2009-2012, 2015
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL) 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2023-05-07 16:38+0000\n"
+"PO-Revision-Date: 2022-10-20 09:06+0200\n"
+"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
+"Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.2\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "función PL/Tcl a ejecutar cuando se use pltcl por primera vez."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "función PL/TclU a ejecutar cuando se use pltclu por primera vez."
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "la función «%s» está en el lenguaje equivocado"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "la función «%s» no debe ser SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "procesando el parámetro %s"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "se llamó una función que retorna un conjunto en un contexto que no puede aceptarlo"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "se requiere un nodo «materialize», pero no está permitido en este contexto"
+
+#: pltcl.c:1013
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "se llamó una función que retorna un registro en un contexto que no puede aceptarlo"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "no se pudo separar el valor de retorno del disparador: %s"
+
+#: pltcl.c:1377 pltcl.c:1807
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1378
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"en función PL/Tcl \"%s\""
+
+#: pltcl.c:1542
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "las funciones disparadoras sólo pueden ser invocadas como disparadores"
+
+#: pltcl.c:1546
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "las funciones PL/Tcl no pueden retornar tipo %s"
+
+#: pltcl.c:1585
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "las funciones PL/Tcl no pueden aceptar el tipog%s"
+
+#: pltcl.c:1699
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "no se pudo crear procedimiento interno «%s»: %s"
+
+#: pltcl.c:3202
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "la lista de nombres de columnas y valores debe tener un número par de elementos"
+
+#: pltcl.c:3220
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "la lista de nombres de columnas y valores contiene el nombre de columna no existente «%s»"
+
+#: pltcl.c:3227
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "no se puede definir el atributo de sistema «%s»"
+
+#: pltcl.c:3233
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "no se puede definir el atributo generado «%s»"
diff --git a/src/pl/tcl/po/fr.po b/src/pl/tcl/po/fr.po
new file mode 100644
index 0000000..2af48d8
--- /dev/null
+++ b/src/pl/tcl/po/fr.po
@@ -0,0 +1,140 @@
+# LANGUAGE message translation file for pltcl
+# Copyright (C) 2009-2022 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pltcl (PostgreSQL) package.
+#
+# Use these quotes: « %s »
+#
+# Guillaume Lelarge <guillaume@lelarge.info>, 2009-2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-04-12 05:16+0000\n"
+"PO-Revision-Date: 2022-04-12 17:29+0200\n"
+"Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
+"Language-Team: French <guillaume@lelarge.info>\n"
+"Language: fr\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"
+"X-Generator: Poedit 3.0.1\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "Fonction PL/Tcl à appeler une fois quand pltcl est utilisé pour la première fois."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "Fonction PL/TclU à appeler une fois quand pltcl est utilisé pour la première fois."
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "la fonction « %s » est dans le mauvais langage"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "la fonction « %s » doit être définie en SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "traitement du paramètre %s"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "mode matérialisé requis mais interdit dans ce contexte"
+
+#: pltcl.c:1013
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr ""
+"fonction renvoyant le type record appelée dans un contexte qui ne peut pas\n"
+"accepter le type record"
+
+#: pltcl.c:1297
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "n'a pas pu séparer la valeur de retour du trigger : %s"
+
+#: pltcl.c:1378 pltcl.c:1808
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1379
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"dans la fonction PL/Tcl « %s »"
+
+#: pltcl.c:1543
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "les fonctions trigger peuvent seulement être appelées par des triggers"
+
+#: pltcl.c:1547
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "les fonctions PL/Tcl ne peuvent pas renvoyer le type %s"
+
+#: pltcl.c:1586
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "les fonctions PL/Tcl ne peuvent pas accepter le type %s"
+
+#: pltcl.c:1700
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "n'a pas pu créer la procédure interne « %s » : %s"
+
+#: pltcl.c:3202
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "la liste de nom de colonne/valeur doit avoir un nombre pair d'éléments"
+
+#: pltcl.c:3220
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "la liste de nom de colonne/valeur contient des noms de colonne inexistantes (« %s »)"
+
+#: pltcl.c:3227
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "ne peut pas initialiser l'attribut système « %s »"
+
+#: pltcl.c:3233
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "ne peut pas initialiser la colonne générée « %s »"
+
+#~ msgid "PL/Tcl functions cannot return composite types"
+#~ msgstr "les fonctions PL/Tcl ne peuvent pas renvoyer des types composites"
+
+#~ msgid "could not load module \"unknown\": %s"
+#~ msgstr "n'a pas pu charger le module « unknown » : %s"
+
+#~ msgid "module \"unknown\" not found in pltcl_modules"
+#~ msgstr "module « unkown » introuvable dans pltcl_modules"
+
+#~ msgid "out of memory"
+#~ msgstr "mémoire épuisée"
+
+#~ msgid "trigger's return list must have even number of elements"
+#~ msgstr "la liste de retour du trigger doit avoir un nombre pair d'éléments"
+
+#~ msgid "unrecognized attribute \"%s\""
+#~ msgstr "attribut « %s » non reconnu"
diff --git a/src/pl/tcl/po/it.po b/src/pl/tcl/po/it.po
new file mode 100644
index 0000000..01e64c6
--- /dev/null
+++ b/src/pl/tcl/po/it.po
@@ -0,0 +1,127 @@
+#
+# pltcl.po
+# Italian message translation file for pltcl
+#
+# For development and bug report please use:
+# https://github.com/dvarrazzo/postgresql-it
+#
+# Copyright (C) 2012-2017 PostgreSQL Global Development Group
+# Copyright (C) 2010, Associazione Culturale ITPUG
+#
+# Daniele Varrazzo <daniele.varrazzo@gmail.com>, 2012-2017.
+# Flavio Spada <f.spada@sbv.mi.it>
+#
+# This file is distributed under the same license as the PostgreSQL package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL) 10\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-09-26 08:08+0000\n"
+"PO-Revision-Date: 2022-09-26 15:04+0200\n"
+"Last-Translator: Daniele Varrazzo <daniele.varrazzo@gmail.com>\n"
+"Language-Team: https://github.com/dvarrazzo/postgresql-it\n"
+"Language: it\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"
+"X-Generator: Poedit 3.1.1\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "Funzione PL/Tcl da richiamare una volta quando pltcl è usato la prima volta."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "Funzione PL/TclU da richiamare una volta quando pltcl è usato la prima volta."
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "la funzione \"%s\" è nel linguaggio sbagliato"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "la funzione \"%s\" non può essere SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "esecuzione del parametro %s"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "funzione che restituisce insiemi richiamata in un contesto che non può accettare un insieme"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "necessaria modalità materializzata, ma non ammessa in questo contesto"
+
+#: pltcl.c:1013
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "funzione che restituisce record richiamata in un contesto che non può accettare record"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "divisione del valore di ritorno del trigger fallita: %s"
+
+#: pltcl.c:1377 pltcl.c:1807
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1378
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"nella funzione PL/Tcl \"%s\""
+
+#: pltcl.c:1542
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "le funzioni trigger possono essere chiamate esclusivamente da trigger"
+
+#: pltcl.c:1546
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "le funzioni PL/Tcl non possono restituire il tipo %s"
+
+#: pltcl.c:1585
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "le funzioni PL/Tcl non possono accettare il tipo %s"
+
+#: pltcl.c:1699
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "creazione della procedura interna \"%s\" fallita: %s"
+
+#: pltcl.c:3201
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "la lista nome/valore di colonne deve avere un numero di elementi pari"
+
+#: pltcl.c:3219
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "la lista nome/valore di elementi contiene un nome di colonna inesistente \"%s\""
+
+#: pltcl.c:3226
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "non è possibile impostare l'attributo di sistema \"%s\""
+
+#: pltcl.c:3232
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "non è possibile modificare la colonna ereditata \"%s\""
diff --git a/src/pl/tcl/po/ja.po b/src/pl/tcl/po/ja.po
new file mode 100644
index 0000000..d31a248
--- /dev/null
+++ b/src/pl/tcl/po/ja.po
@@ -0,0 +1,117 @@
+# Japanese message translation file for pltcl
+# Copyright (C) 2022 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package.
+# KOIZUMI Satoru <koizumistr@minos.ocn.ne.jp>, 2015.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL 15)\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-08-09 12:01+0900\n"
+"PO-Revision-Date: 2019-06-11 17:26+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"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 1.5.4\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "pltcl が最初に使用される際に一度だけ呼び出される PL/Tcl 関数。"
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "pltclu が最初に使用される際に一度だけ呼び出される PL/TclU 関数。"
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "関数\"%s\"は言語が異なります"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "関数\"%s\"はSECURITY DEFINERであってはなりません"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "%sパラメーターを処理しています"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "このコンテキストでは、集合値の関数は集合を受け付けられません"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "マテリアライズモードが必要ですが、現在のコンテクストで禁止されています"
+
+#: pltcl.c:1013
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "レコード型を受け付けられないコンテキストでレコードを返す関数が呼び出されました"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "トリガーからの戻り値を分割できませんでした: %s"
+
+#: pltcl.c:1377 pltcl.c:1807
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1378
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"PL/Tcl 関数 \"%s\""
+
+#: pltcl.c:1542
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "トリガー関数はトリガーとしてのみコールできます"
+
+#: pltcl.c:1546
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "PL/Tcl 関数は%s型の戻り値を返せません"
+
+#: pltcl.c:1585
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "PL/Tcl 関数は%s型を受け付けません"
+
+#: pltcl.c:1699
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "内部プロシージャ\"%s\"を作成できませんでした: %s"
+
+#: pltcl.c:3201
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "列名/値のリストの要素は偶数個でなければなりません"
+
+#: pltcl.c:3219
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "列名/値のリストの中に、存在しない列名\"%s\"が含まれています"
+
+#: pltcl.c:3226
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "システム属性\"%s\"は設定できません"
+
+#: pltcl.c:3232
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "生成列\"%s\"を変更できません"
diff --git a/src/pl/tcl/po/ka.po b/src/pl/tcl/po/ka.po
new file mode 100644
index 0000000..1554015
--- /dev/null
+++ b/src/pl/tcl/po/ka.po
@@ -0,0 +1,117 @@
+# Georgian message translation file for pltcl
+# Copyright (C) 2022 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pltcl (PostgreSQL) package.
+# Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL) 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-07-06 23:08+0000\n"
+"PO-Revision-Date: 2022-07-07 06:12+0200\n"
+"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
+"Language-Team: Georgian <nothing>\n"
+"Language: ka\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"
+"X-Generator: Poedit 3.1\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "PL/Tcl ფუნქცია, როლის გამოძახებაც ერთხელ, pltcl-ის პირველი გამოყენებისას ხდება."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "PL/TclU ფუნქცია, როლის გამოძახებაც ერთხელ, pltclu -ის პირველი გამოყენებისას ხდება."
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "ფუნქცია \"%s\" არასწორ ენაზეა"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "ფუნქცია \"%s\" არ უნდა იყოს SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "პარამეტრის დამუშავება: %s"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "სეტ-ღირებული ფუნქცია, რომელსაც ეწოდება კონტექსტში, რომელსაც არ შეუძლია მიიღოს ნაკრები"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "საჭიროა მატერიალიზებული რეჟიმი, მაგრამ ამ კონტექსტში ეს დაუშვებელია"
+
+#: pltcl.c:1013
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "ფუნქცია, რომელიც ჩანაწერს აბრუნებს, გამოძახებულია კონტექსტში, რომელსაც ჩანაწერის მიღება არ შეუძლია"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "ტრიგერიდან დაბრუნებული მნიშვნელობის დაყოფა შეუძლებელია: %s"
+
+#: pltcl.c:1377 pltcl.c:1807
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1378
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"PL/Tcl-ის ფუნქციაში\"%s\""
+
+#: pltcl.c:1542
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "ტრიგერის ფუნქციების გამოძახება მხოლოდ ტრიგერებად შეიძლება"
+
+#: pltcl.c:1546
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "PL/Tcl ფუნქციას %s ტიპის დაბრუნება არ შეუძლია"
+
+#: pltcl.c:1585
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "PL/Tcl ფუნქციას %s ტიპის მიღება არ შეუძლია"
+
+#: pltcl.c:1699
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "შიდა პროცედურის (\"%s\") შექმნის შეცდომა: %s"
+
+#: pltcl.c:3201
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "სვეტის სახელი/მნიშვნელობების სიას ელემენტების ლუწი რაოდენობა უნდა ჰქონდეს"
+
+#: pltcl.c:3219
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "სვეტის სახელი/მნიშვნელობების სია შეიცავს სვეტის არარსებულ სახელს „%s“"
+
+#: pltcl.c:3226
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "სისტემური ატრიბუტის დაყენების შეცდომა: \"%s\""
+
+#: pltcl.c:3232
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "გენერირებული სვეტის დაყენება შეუძლებელია: %s"
diff --git a/src/pl/tcl/po/ko.po b/src/pl/tcl/po/ko.po
new file mode 100644
index 0000000..ac9954b
--- /dev/null
+++ b/src/pl/tcl/po/ko.po
@@ -0,0 +1,118 @@
+# LANGUAGE message translation file for pltcl
+# Copyright (C) 2016 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Ioseph Kim <ioseph@uri.sarang.net>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL) 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2023-04-12 00:38+0000\n"
+"PO-Revision-Date: 2023-04-06 10:02+0900\n"
+"Last-Translator: Ioseph Kim <ioseph@uri.sarang.net>\n"
+"Language-Team: Korean Team <pgsql-kr@postgresql.kr>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "pltcl 언어가 처음 사용될 때 한번 호출 될 PL/Tcl 함수"
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "pltclu 언어가 처음 사용될 때 한번 호출 될 PL/Tcl 함수"
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "\"%s\" 함수에 잘못된 언어가 있음"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "\"%s\" 함수는 SECURITY DEFINER 속성이 없어야 합니다"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "%s 매개 변수 처리 중"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "집합이 값이 함수가 집합을 사용할 수 없는 구문에서 호출 되었음"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "materialize 모드가 필요합니다만, 이 구문에서는 허용되지 않습니다"
+
+#: pltcl.c:1013
+#, c-format
+msgid ""
+"function returning record called in context that cannot accept type record"
+msgstr ""
+"레코드를 반환하는 함수가 레코드 형을 사용할 수 없는 구문에서 호출 되었음"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "트리거에서 반환값을 분리할 수 없음: %s"
+
+#: pltcl.c:1377 pltcl.c:1807
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1378
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"해당 PL/Tcl 함수: \"%s\""
+
+#: pltcl.c:1542
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "트리거 함수는 트리거로만 호출될 수 있음"
+
+#: pltcl.c:1546
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "PL/Tcl 함수는 %s 자료형을 반환할 수 없음"
+
+#: pltcl.c:1585
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "PL/Tcl 함수는 %s 자료형을 사용할 수 없음"
+
+#: pltcl.c:1699
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "\"%s\" 내부 프로시져를 만들 수 없음: %s"
+
+#: pltcl.c:3202
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "칼럼 이름/값 목록은 그 요소의 개수가 짝수여야 함"
+
+#: pltcl.c:3220
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "칼럼 이름/값 목록에 \"%s\" 칼럼에 대한 값이 없음"
+
+#: pltcl.c:3227
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "\"%s\" 시스템 속성을 지정할 수 없음"
+
+#: pltcl.c:3233
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "\"%s\" 계산된 칼럼을 지정할 수 없음"
diff --git a/src/pl/tcl/po/pl.po b/src/pl/tcl/po/pl.po
new file mode 100644
index 0000000..0a0b2bf
--- /dev/null
+++ b/src/pl/tcl/po/pl.po
@@ -0,0 +1,136 @@
+# pltcl message translation file for pltcl
+# Copyright (C) 2011 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Begina Felicysym <begina.felicysym@wp.eu>, 2011.
+# grzegorz <begina.felicysym@wp.eu>, 2015, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL 9.5)\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2017-04-09 21:07+0000\n"
+"PO-Revision-Date: 2017-05-02 13:57-0400\n"
+"Last-Translator: grzegorz <begina.felicysym@wp.eu>\n"
+"Language-Team: begina.felicysym@wp.eu\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+"X-Generator: Virtaal 0.7.1\n"
+
+#: pltcl.c:459
+#| msgid "Perl initialization code to execute once when plperl is first used."
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr ""
+"Funkcja PL/TCL do jednokrotnego wykonania gdy pltcl jest użyty po raz "
+"pierwszy."
+
+#: pltcl.c:466
+#| msgid "Perl initialization code to execute once when plperlu is first used."
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr ""
+"Funkcja PL/TCL do jednokrotnego wykonania gdy pltclu jest użyty po raz "
+"pierwszy."
+
+#: pltcl.c:629
+#, c-format
+#| msgid "function \"%s\" was not called by trigger manager"
+msgid "function \"%s\" is in the wrong language"
+msgstr "funkcja \"%s\" jest napisana nie w tym języku"
+
+#: pltcl.c:640
+#, c-format
+#| msgid "function \"%s\" must be fired for INSERT"
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "funkcja \"%s\" nie może być SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:674
+#, c-format
+#| msgid "processing %s\n"
+msgid "processing %s parameter"
+msgstr "przetwarzanie parametru %s"
+
+#: pltcl.c:830
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr ""
+"funkcja zwracająca zbiór rekordów wywołana w kontekście, w którym nie jest "
+"to dopuszczalne"
+
+#: pltcl.c:994
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "funkcja zwracająca rekord w wywołaniu, które nie akceptuje typów złożonych"
+
+#: pltcl.c:1263
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "nie można podzielić wartości zwracanej przez wyzwalacz: %s"
+
+#: pltcl.c:1343 pltcl.c:1771
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1344
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"w funkcji PL/Tcl \"%s\""
+
+#: pltcl.c:1509
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "procedury wyzwalaczy mogą być wywoływane jedynie przez wyzwalacze"
+
+#: pltcl.c:1513
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "funkcje PL/Tcl nie mogą zwracać wartości typu %s"
+
+#: pltcl.c:1549
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "funkcje PL/Tcl nie akceptują typu %s"
+
+#: pltcl.c:1663
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "nie można utworzyć procedury wewnętrznej \"%s\": %s"
+
+#: pltcl.c:3100
+#, c-format
+#| msgid "argument list must have even number of elements"
+msgid "column name/value list must have even number of elements"
+msgstr "lista kolumn nazwa/wartość musi mieć parzystą liczbę elementów"
+
+#: pltcl.c:3118
+#, c-format
+#| msgid "Perl hash contains nonexistent column \"%s\""
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "lista kolumn nazwa/wartość zawiera nieistniejącą kolumnę \"%s\""
+
+#: pltcl.c:3125
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "nie można ustawić atrybutu systemowego \"%s\""
+
+#~ msgid "PL/Tcl functions cannot return composite types"
+#~ msgstr "funkcje PL/Tcl nie mogą zwracać wartości złożonych"
+
+#~ msgid "out of memory"
+#~ msgstr "brak pamięci"
+
+#~ msgid "unrecognized attribute \"%s\""
+#~ msgstr "nierozpoznany atrybut \"%s\""
+
+#~ msgid "could not load module \"unknown\": %s"
+#~ msgstr "nie można wczytać modułu \"unknown\": %s"
+
+#~ msgid "module \"unknown\" not found in pltcl_modules"
+#~ msgstr "nie znaleziono modułu \"unknown\" w pltcl_modules"
diff --git a/src/pl/tcl/po/pt_BR.po b/src/pl/tcl/po/pt_BR.po
new file mode 100644
index 0000000..39ee004
--- /dev/null
+++ b/src/pl/tcl/po/pt_BR.po
@@ -0,0 +1,117 @@
+# Brazilian Portuguese message translation file for pltcl
+#
+# Copyright (C) 2009-2022 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+#
+# Euler Taveira <euler@eulerto.com>, 2009-2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-09-27 13:15-0300\n"
+"PO-Revision-Date: 2009-05-06 18:00-0300\n"
+"Last-Translator: Euler Taveira <euler@eulerto.com>\n"
+"Language-Team: Brazilian Portuguese <pgsql-translators@postgresql.org>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "função PL/Tcl executada quando pltcl for utilizado pela primeira vez."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "função PL/TclU executada quando pltclu for utilizado pela primeira vez."
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "função \"%s\" está na linguagem incorreta"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "função \"%s\" não deve ser SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "processando parâmetro %s"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "função que tem argumento do tipo conjunto foi chamada em um contexto que não pode aceitar um conjunto"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "modo de materialização é requerido, mas ele não é permitido neste contexto"
+
+#: pltcl.c:1013
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "função que retorna record foi chamada em um contexto que não pode aceitar tipo record"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "não pôde dividir valor retornado do gatilho: %s"
+
+#: pltcl.c:1377 pltcl.c:1807
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1378
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"na função PL/Tcl \"%s\""
+
+#: pltcl.c:1542
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "funções de gatilho só podem ser chamadas como gatilhos"
+
+#: pltcl.c:1546
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "funções PL/Tcl não podem retornar tipo %s"
+
+#: pltcl.c:1585
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "funções PL/Tcl não podem aceitar tipo %s"
+
+#: pltcl.c:1699
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "não pôde criar função interna \"%s\": %s"
+
+#: pltcl.c:3201
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "lista de nome/valor de colunas deve ter número par de elementos"
+
+#: pltcl.c:3219
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "lsta de nome/valor de colunas contém nome de coluna inexistente \"%s\""
+
+#: pltcl.c:3226
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "não pode definir atributo do sistema \"%s\""
+
+#: pltcl.c:3232
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "não pode definir coluna gerada \"%s\""
diff --git a/src/pl/tcl/po/ru.po b/src/pl/tcl/po/ru.po
new file mode 100644
index 0000000..876918d
--- /dev/null
+++ b/src/pl/tcl/po/ru.po
@@ -0,0 +1,135 @@
+# Russian message translation file for pltcl
+# 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, 2019, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL current)\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2023-05-03 05:56+0300\n"
+"PO-Revision-Date: 2022-09-05 13:38+0300\n"
+"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
+"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"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"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "Функция на PL/Tcl, вызываемая при первом использовании pltcl."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "Функция на PL/TclU, вызываемая при первом использовании pltclu."
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "Функция \"%s\" объявлена на другом языке"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "функция \"%s\" не должна иметь характеристику SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "обработка параметра %s"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr ""
+"функция, возвращающая множество, вызвана в контексте, где ему нет места"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "требуется режим материализации, но он недопустим в этом контексте"
+
+#: pltcl.c:1013
+#, c-format
+msgid ""
+"function returning record called in context that cannot accept type record"
+msgstr ""
+"функция, возвращающая запись, вызвана в контексте, не допускающем этот тип"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "разложить возвращаемое из триггера значение не удалось: %s"
+
+#: pltcl.c:1377 pltcl.c:1807
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1378
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"в функции PL/Tcl \"%s\""
+
+#: pltcl.c:1542
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "триггерные функции могут вызываться только в триггерах"
+
+#: pltcl.c:1546
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "функции PL/Tcl не могут возвращать тип %s"
+
+#: pltcl.c:1585
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "функции PL/Tcl не могут принимать тип %s"
+
+#: pltcl.c:1699
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "не удалось создать внутреннюю процедуру \"%s\": %s"
+
+#: pltcl.c:3202
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "в списке имён/значений столбцов должно быть чётное число элементов"
+
+#: pltcl.c:3220
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr ""
+"список имён/значений столбцов содержит имя несуществующего столбца \"%s\""
+
+#: pltcl.c:3227
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "присвоить значение системному атрибуту \"%s\" нельзя"
+
+#: pltcl.c:3233
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "присвоить значение генерируемому столбцу \"%s\" нельзя"
+
+#~ msgid "module \"unknown\" not found in pltcl_modules"
+#~ msgstr "модуль \"unknown\" не найден в pltcl_modules"
+
+#~ msgid "could not load module \"unknown\": %s"
+#~ msgstr "загрузить модуль \"unknown\" не удалось: %s"
+
+#~ msgid "unrecognized attribute \"%s\""
+#~ msgstr "нераспознанный атрибут \"%s\""
+
+#~ msgid "out of memory"
+#~ msgstr "нехватка памяти"
+
+#~ msgid "PL/Tcl functions cannot return composite types"
+#~ msgstr "функции PL/Tcl не могут возвращать составные типы"
diff --git a/src/pl/tcl/po/sv.po b/src/pl/tcl/po/sv.po
new file mode 100644
index 0000000..5d14044
--- /dev/null
+++ b/src/pl/tcl/po/sv.po
@@ -0,0 +1,116 @@
+# Swedish message translation file for pltcl
+# Copyright (C) 2017 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# Dennis Björklund <db@zigo.dhs.org>, 2017, 2018, 2019, 2020, 2021, 2022, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 15\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-04-11 13:38+0000\n"
+"PO-Revision-Date: 2023-03-09 22:42+0100\n"
+"Last-Translator: Dennis Björklund <db@zigo.dhs.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"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "PL/Tcl-funktion att anropa en gång när pltcl först används."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "PL/TclU-funktion att anrop en gång när pltclu först används."
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "funktionen \"%s\" är skriven i fel språk"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "funktionen \"%s\" får ej vara SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "processar parameter %s"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "en funktion som returnerar en mängd anropades i kontext som inte godtar en mängd"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "materialiserat läge krävs, men stöds inte i detta kontext"
+
+#: pltcl.c:1013
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "en funktion med post som värde anropades i sammanhang där poster inte kan godtagas."
+
+#: pltcl.c:1297
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "kunde inte dela på returvärde från trigger: %s"
+
+#: pltcl.c:1378 pltcl.c:1808
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1379
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"i PL/Tcl-funktion \"%s\""
+
+#: pltcl.c:1543
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "Triggningsfunktioner kan bara anropas vid triggning."
+
+#: pltcl.c:1547
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "PL/Tcl-funktioner kan inte returnera typ %s"
+
+#: pltcl.c:1586
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "PL/Tcl-funktioner kan inte ta emot typ %s"
+
+#: pltcl.c:1700
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "kunde inte skapa en intern procedur \"%s\": %s"
+
+#: pltcl.c:3202
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "kolumn-namn/-värde måste ha ett jämt antal element"
+
+#: pltcl.c:3220
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "listan med kolumn-namn/-värde innehåller det icke existerande kolumnnamnet \"%s\""
+
+#: pltcl.c:3227
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "kan inte sätta systemattribut \"%s\""
+
+#: pltcl.c:3233
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "kan inte sätta genererad kolumn \"%s\""
diff --git a/src/pl/tcl/po/tr.po b/src/pl/tcl/po/tr.po
new file mode 100644
index 0000000..ee51dfd
--- /dev/null
+++ b/src/pl/tcl/po/tr.po
@@ -0,0 +1,117 @@
+# LANGUAGE message translation file for pltcl
+# Copyright (C) 2009 PostgreSQL Global Development Group
+# This file is distributed under the same license as the PostgreSQL package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 8.4\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2019-04-26 13:38+0000\n"
+"PO-Revision-Date: 2019-06-13 17:11+0300\n"
+"Last-Translator: Devrim GÜNDÜZ <devrim@commandprompt.com>\n"
+"Language-Team: TR <devrim@commandprompt.com>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: pltcl.c:464
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "pltcl ilk sefer kullanıldığında bir kez çağrılacak PL/Tcl fonksiyonu"
+
+#: pltcl.c:471
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "pltclu ilk sefer kullanıldığında bir kez çağrılacak PL/Tclu fonksiyonu"
+
+#: pltcl.c:636
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "\"%s\" fonksiyonu yanlış dilde"
+
+#: pltcl.c:647
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "\"%s\" fonksiyonu SECURITY DEFINER olmamalı"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:681
+#, c-format
+msgid "processing %s parameter"
+msgstr "%s parametresi işleniyor"
+
+#: pltcl.c:842
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "set değerini kabul etmediği ortamda set değeri alan fonksiyon çağırılmış"
+
+#: pltcl.c:1015
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "tip kaydı içermeyen alanda çağırılan ve kayıt döndüren fonksiyon"
+
+#: pltcl.c:1299
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "sdönüş değeri tetikleyiciden (trigger) ayrılamadı: %s"
+
+#: pltcl.c:1379 pltcl.c:1809
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1380
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"Şu PL/Tcl fonksiyonunda: \"%s\""
+
+#: pltcl.c:1544
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "trigger fonksiyonları sadece trigger olarak çağırılabilirler"
+
+#: pltcl.c:1548
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "PL/Tcl fonksiyonları %s tipini döndüremezler"
+
+#: pltcl.c:1587
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "PL/Tcl fonksiyonları %s veri tipini kabul etmezler"
+
+#: pltcl.c:1701
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "\"%s\" dahili yordamı oluşturulamadı: %s"
+
+#: pltcl.c:3208
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "sütun adı/değer listesinin çift sayıda öğesi olmalı"
+
+#: pltcl.c:3226
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "sütun adı/değer listesi mevcut olmayan \"%s\" sütun adını içeriyor"
+
+#: pltcl.c:3233
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "\"%s\" sistem niteliği ayarlanamaz"
+
+#: pltcl.c:3239
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "oluşturulan \"%s\" sütunu ayarlanamıyor"
+
+#~ msgid "out of memory"
+#~ msgstr "yetersiz bellek"
+
+#~ msgid "PL/Tcl functions cannot return composite types"
+#~ msgstr "PL/Tcl fonksiyonları composit tip döndüremezler"
diff --git a/src/pl/tcl/po/uk.po b/src/pl/tcl/po/uk.po
new file mode 100644
index 0000000..ceb1e78
--- /dev/null
+++ b/src/pl/tcl/po/uk.po
@@ -0,0 +1,115 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: postgresql\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2022-08-12 10:38+0000\n"
+"PO-Revision-Date: 2022-09-13 11:52\n"
+"Last-Translator: \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-Crowdin-Project: postgresql\n"
+"X-Crowdin-Project-ID: 324573\n"
+"X-Crowdin-Language: uk\n"
+"X-Crowdin-File: /REL_15_STABLE/pltcl.pot\n"
+"X-Crowdin-File-ID: 914\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "Функція PL/Tcl використовується для виклику коли pltcl вперше використаний."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "Функція PL/TclU використовується для виклику коли pltclu вперше використаний."
+
+#: pltcl.c:637
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "функція «%s» написана неправильною мовою"
+
+#: pltcl.c:648
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "функція \"%s\" не має бути SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:682
+#, c-format
+msgid "processing %s parameter"
+msgstr "обробляється параметр %s"
+
+#: pltcl.c:835
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "функція \"set-valued\" викликана в контексті, де йому немає місця"
+
+#: pltcl.c:840
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "необхідний режим матеріалізації (materialize mode), але він неприпустимий у цьому контексті"
+
+#: pltcl.c:1013
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "функція, що повертає набір, викликана у контексті, що не приймає тип запис"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "не вдалося розділити повернене значення з тригера: %s"
+
+#: pltcl.c:1377 pltcl.c:1807
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1378
+#, c-format
+msgid "%s\n"
+"in PL/Tcl function \"%s\""
+msgstr "%s\n"
+"у функції PL/Tcl \"%s\""
+
+#: pltcl.c:1542
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "тригер-функція може викликатися лише як тригер"
+
+#: pltcl.c:1546
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "Функції PL/Tcl не можуть повертати тип %s"
+
+#: pltcl.c:1585
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "Функції PL/Tcl не можуть приймати тип %s"
+
+#: pltcl.c:1699
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "не вдалося створити внутрішню процедуру \"%s\": %s"
+
+#: pltcl.c:3201
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "список імен і значень стовпців повинен мати парну кількість елементів"
+
+#: pltcl.c:3219
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "список імен і значень стовпців містить неіснуєче ім'я стовпця \"%s\""
+
+#: pltcl.c:3226
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "не вдалося встановити системний атрибут \"%s\""
+
+#: pltcl.c:3232
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "неможливо оновити згенерований стовпець \"%s\""
+
diff --git a/src/pl/tcl/po/vi.po b/src/pl/tcl/po/vi.po
new file mode 100644
index 0000000..7224bf1
--- /dev/null
+++ b/src/pl/tcl/po/vi.po
@@ -0,0 +1,107 @@
+# LANGUAGE message translation file for pltcl
+# Copyright (C) 2018 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pltcl (PostgreSQL) package.
+# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL) 11\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
+"POT-Creation-Date: 2018-04-22 12:08+0000\n"
+"PO-Revision-Date: 2018-04-29 22:56+0900\n"
+"Language-Team: <pgvn_translators@postgresql.vn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"Language: vi_VN\n"
+
+#: pltcl.c:466
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "Chỉ định hàm PL/Tcl được gọi một lần khi pltcl sử dụng lần đầu tiên."
+
+#: pltcl.c:473
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "Chỉ định hàm PL/TclU được gọi một lần khi pltclu sử dụng lần đầu tiên."
+
+#: pltcl.c:640
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "hàm \"%s\" không đúng ngôn ngữ"
+
+#: pltcl.c:651
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "hàm \"%s\" không được là SECURITY DEFINER"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:685
+#, c-format
+msgid "processing %s parameter"
+msgstr "xử lý tham số %s"
+
+#: pltcl.c:846
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "hàm thiết lập giá trị được gọi trong ngữ cảnh không thể chấp nhận một tập hợp"
+
+#: pltcl.c:1019
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "hàm trả về bản ghi được gọi trong ngữ cảnh không thể chấp nhận kiểu bản ghi"
+
+#: pltcl.c:1296
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "không thể tách giá trị trả về khỏi trigger: %s"
+
+#: pltcl.c:1376 pltcl.c:1806
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1377
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"trong hàm PL/Tcl \"%s\""
+
+#: pltcl.c:1541
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "hàm trigger chỉ có thể được goi như những triggers."
+
+#: pltcl.c:1545
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "Hàm PL/Tcl không thể trả về kiểu %s"
+
+#: pltcl.c:1584
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "Hàm PL/Tcl không thể chấp nhận kiểu %s"
+
+#: pltcl.c:1698
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "không thể tạo procedure nội bộ \"%s\": %s"
+
+#: pltcl.c:3219
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "danh sách cột tên/giá trị phải có giá trị chẵn cho số phần tử"
+
+#: pltcl.c:3237
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "danh sách cột tên/giá trị chứa tên cột không tồn tại \"%s\""
+
+#: pltcl.c:3244
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "không thể thiết lập attribute hệ thống \"%s\""
diff --git a/src/pl/tcl/po/zh_CN.po b/src/pl/tcl/po/zh_CN.po
new file mode 100644
index 0000000..d9e49a7
--- /dev/null
+++ b/src/pl/tcl/po/zh_CN.po
@@ -0,0 +1,111 @@
+# LANGUAGE message translation file for pltcl
+# Copyright (C) 2019 PostgreSQL Global Development Group
+# This file is distributed under the same license as the pltcl (PostgreSQL) package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pltcl (PostgreSQL) 14\n"
+"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
+"POT-Creation-Date: 2021-08-14 05:38+0000\n"
+"PO-Revision-Date: 2021-08-16 18:00+0800\n"
+"Last-Translator: Jie Zhang <zhangjie2@fujitsu.com>\n"
+"Language-Team: Chinese (Simplified) <zhangjie2@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"
+"X-Generator: Poedit 1.5.7\n"
+
+#: pltcl.c:463
+msgid "PL/Tcl function to call once when pltcl is first used."
+msgstr "PL/Tcl函数在首次使用pltcl时调用一次."
+
+#: pltcl.c:470
+msgid "PL/TclU function to call once when pltclu is first used."
+msgstr "PL/TclU函数在首次使用pltcl时调用一次."
+
+#: pltcl.c:634
+#, c-format
+msgid "function \"%s\" is in the wrong language"
+msgstr "函数\"%s\"的语言错误"
+
+#: pltcl.c:645
+#, c-format
+msgid "function \"%s\" must not be SECURITY DEFINER"
+msgstr "函数\"%s\"不能是安全定义者"
+
+#. translator: %s is "pltcl.start_proc" or "pltclu.start_proc"
+#: pltcl.c:679
+#, c-format
+msgid "processing %s parameter"
+msgstr "正在处理%s参数"
+
+#: pltcl.c:833
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "在不能接受使用集合的环境中调用set-valued函数"
+
+#: pltcl.c:1006
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "返回值类型是记录的函数在不接受使用记录类型的环境中调用"
+
+#: pltcl.c:1290
+#, c-format
+msgid "could not split return value from trigger: %s"
+msgstr "无法分离来自触发器的返回值:%s"
+
+#: pltcl.c:1371 pltcl.c:1801
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: pltcl.c:1372
+#, c-format
+msgid ""
+"%s\n"
+"in PL/Tcl function \"%s\""
+msgstr ""
+"%s\n"
+"在PL/Tcl函数\"%s\"中"
+
+#: pltcl.c:1536
+#, c-format
+msgid "trigger functions can only be called as triggers"
+msgstr "触发器函数只能以触发器的形式调用"
+
+#: pltcl.c:1540
+#, c-format
+msgid "PL/Tcl functions cannot return type %s"
+msgstr "PL/Tcl函数不能返回类型%s"
+
+#: pltcl.c:1579
+#, c-format
+msgid "PL/Tcl functions cannot accept type %s"
+msgstr "PL/Tcl函数不能使用类型 %s"
+
+#: pltcl.c:1693
+#, c-format
+msgid "could not create internal procedure \"%s\": %s"
+msgstr "无法创建内部过程\"%s\":%s"
+
+#: pltcl.c:3197
+#, c-format
+msgid "column name/value list must have even number of elements"
+msgstr "列名/值列表必须具有偶数个元素"
+
+#: pltcl.c:3215
+#, c-format
+msgid "column name/value list contains nonexistent column name \"%s\""
+msgstr "列名/值列表包含不存在的列名\"%s\""
+
+#: pltcl.c:3222
+#, c-format
+msgid "cannot set system attribute \"%s\""
+msgstr "不能设置系统属性\"%s\""
+
+#: pltcl.c:3228
+#, c-format
+msgid "cannot set generated column \"%s\""
+msgstr "无法设置生成的列 \"%s\""