summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2022-07-13 05:51:43 +0000
committerPeter Eisentraut2022-07-13 06:19:17 +0000
commit88dad06b47eb80f699211c9b0b7a1c6d9016ad19 (patch)
tree8168c17cdfd7c3d960b8a530d2e43500b978e8f8
parentf29199d3190ffdc48f40233f58a346bbb906c060 (diff)
NLS: Put list of available languages into LINGUAS files
This moves the list of available languages from nls.mk into a separate file called po/LINGUAS. Advantages: - It keeps the parts notionally managed by programmers (nls.mk) separate from the parts notionally managed by translators (LINGUAS). - It's the standard practice recommended by the Gettext manual nowadays. - The Meson build system also supports this layout (and of course doesn't know anything about our custom nls.mk), so this would enable sharing the list of languages between the two build systems. (The MSVC build system currently finds all po files by globbing, so it is not affected by this change.) Reviewed-by: Andres Freund <[email protected]> Discussion: https://www.postgresql.org/message-id/flat/[email protected]
-rw-r--r--doc/src/sgml/nls.sgml23
-rw-r--r--src/backend/nls.mk1
-rw-r--r--src/backend/po/LINGUAS1
-rw-r--r--src/bin/initdb/nls.mk1
-rw-r--r--src/bin/initdb/po/LINGUAS1
-rw-r--r--src/bin/pg_amcheck/nls.mk1
-rw-r--r--src/bin/pg_amcheck/po/LINGUAS1
-rw-r--r--src/bin/pg_archivecleanup/nls.mk1
-rw-r--r--src/bin/pg_archivecleanup/po/LINGUAS1
-rw-r--r--src/bin/pg_basebackup/nls.mk1
-rw-r--r--src/bin/pg_basebackup/po/LINGUAS1
-rw-r--r--src/bin/pg_checksums/nls.mk1
-rw-r--r--src/bin/pg_checksums/po/LINGUAS1
-rw-r--r--src/bin/pg_config/nls.mk1
-rw-r--r--src/bin/pg_config/po/LINGUAS1
-rw-r--r--src/bin/pg_controldata/nls.mk1
-rw-r--r--src/bin/pg_controldata/po/LINGUAS1
-rw-r--r--src/bin/pg_ctl/nls.mk1
-rw-r--r--src/bin/pg_ctl/po/LINGUAS1
-rw-r--r--src/bin/pg_dump/nls.mk1
-rw-r--r--src/bin/pg_dump/po/LINGUAS1
-rw-r--r--src/bin/pg_resetwal/nls.mk1
-rw-r--r--src/bin/pg_resetwal/po/LINGUAS1
-rw-r--r--src/bin/pg_rewind/nls.mk1
-rw-r--r--src/bin/pg_rewind/po/LINGUAS1
-rw-r--r--src/bin/pg_test_fsync/nls.mk1
-rw-r--r--src/bin/pg_test_fsync/po/LINGUAS1
-rw-r--r--src/bin/pg_test_timing/nls.mk1
-rw-r--r--src/bin/pg_test_timing/po/LINGUAS1
-rw-r--r--src/bin/pg_upgrade/nls.mk1
-rw-r--r--src/bin/pg_upgrade/po/LINGUAS1
-rw-r--r--src/bin/pg_verifybackup/nls.mk1
-rw-r--r--src/bin/pg_verifybackup/po/LINGUAS1
-rw-r--r--src/bin/pg_waldump/nls.mk1
-rw-r--r--src/bin/pg_waldump/po/LINGUAS1
-rw-r--r--src/bin/psql/nls.mk1
-rw-r--r--src/bin/psql/po/LINGUAS1
-rw-r--r--src/bin/scripts/nls.mk1
-rw-r--r--src/bin/scripts/po/LINGUAS1
-rw-r--r--src/interfaces/ecpg/ecpglib/nls.mk1
-rw-r--r--src/interfaces/ecpg/ecpglib/po/LINGUAS1
-rw-r--r--src/interfaces/ecpg/preproc/nls.mk1
-rw-r--r--src/interfaces/ecpg/preproc/po/LINGUAS1
-rw-r--r--src/interfaces/libpq/nls.mk1
-rw-r--r--src/interfaces/libpq/po/LINGUAS1
-rw-r--r--src/nls-global.mk6
-rw-r--r--src/pl/plperl/nls.mk1
-rw-r--r--src/pl/plperl/po/LINGUAS1
-rw-r--r--src/pl/plpgsql/src/nls.mk1
-rw-r--r--src/pl/plpgsql/src/po/LINGUAS1
-rw-r--r--src/pl/plpython/nls.mk1
-rw-r--r--src/pl/plpython/po/LINGUAS1
-rw-r--r--src/pl/tcl/nls.mk1
-rw-r--r--src/pl/tcl/po/LINGUAS1
54 files changed, 41 insertions, 40 deletions
diff --git a/doc/src/sgml/nls.sgml b/doc/src/sgml/nls.sgml
index d49f44f3f2..4b683458f9 100644
--- a/doc/src/sgml/nls.sgml
+++ b/doc/src/sgml/nls.sgml
@@ -175,10 +175,11 @@ make init-po
Copy this file to
<filename><replaceable>language</replaceable>.po</filename> and
edit it. To make it known that the new language is available,
- also edit the file <filename>nls.mk</filename> and add the
- language (or language and country) code to the line that looks like:
+ also edit the file <filename>po/LINGUAS</filename> and add the
+ language (or language and country) code next to languages already listed,
+ like:
<programlisting>
-AVAIL_LANGUAGES := de fr
+de fr
</programlisting>
(Other languages can appear, of course.)
</para>
@@ -376,16 +377,6 @@ fprintf(stderr, gettext("panic level %d\n"), lvl);
</varlistentry>
<varlistentry>
- <term><varname>AVAIL_LANGUAGES</varname></term>
-
- <listitem>
- <para>
- List of provided translations &mdash; initially empty.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
<term><varname>GETTEXT_FILES</varname></term>
<listitem>
@@ -424,6 +415,12 @@ fprintf(stderr, gettext("panic level %d\n"), lvl);
</para>
</step>
+ <step>
+ <para>
+ Add a file <filename>po/LINGUAS</filename>, which will contain the list
+ of provided translations &mdash; initially empty.
+ </para>
+ </step>
</procedure>
<para>
diff --git a/src/backend/nls.mk b/src/backend/nls.mk
index 355299804f..c31339be31 100644
--- a/src/backend/nls.mk
+++ b/src/backend/nls.mk
@@ -1,6 +1,5 @@
# src/backend/nls.mk
CATALOG_NAME = postgres
-AVAIL_LANGUAGES = de es fr id it ja ko pl pt_BR ru sv tr uk zh_CN
GETTEXT_FILES = + gettext-files
GETTEXT_TRIGGERS = $(BACKEND_COMMON_GETTEXT_TRIGGERS) \
GUC_check_errmsg \
diff --git a/src/backend/po/LINGUAS b/src/backend/po/LINGUAS
new file mode 100644
index 0000000000..a27ddd5cea
--- /dev/null
+++ b/src/backend/po/LINGUAS
@@ -0,0 +1 @@
+de es fr id it ja ko pl pt_BR ru sv tr uk zh_CN
diff --git a/src/bin/initdb/nls.mk b/src/bin/initdb/nls.mk
index fe7bdfc04a..19c9136849 100644
--- a/src/bin/initdb/nls.mk
+++ b/src/bin/initdb/nls.mk
@@ -1,6 +1,5 @@
# src/bin/initdb/nls.mk
CATALOG_NAME = initdb
-AVAIL_LANGUAGES = cs de el es fr he it ja ko pl pt_BR ru sv tr uk vi zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) findtimezone.c initdb.c ../../common/exec.c ../../common/fe_memutils.c ../../common/file_utils.c ../../common/pgfnames.c ../../common/restricted_token.c ../../common/rmtree.c ../../common/username.c ../../common/wait_error.c ../../port/dirmod.c
GETTEXT_TRIGGERS = $(FRONTEND_COMMON_GETTEXT_TRIGGERS) simple_prompt
GETTEXT_FLAGS = $(FRONTEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/bin/initdb/po/LINGUAS b/src/bin/initdb/po/LINGUAS
new file mode 100644
index 0000000000..3a24184a0e
--- /dev/null
+++ b/src/bin/initdb/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr he it ja ko pl pt_BR ru sv tr uk vi zh_CN
diff --git a/src/bin/pg_amcheck/nls.mk b/src/bin/pg_amcheck/nls.mk
index 0813fe1cec..5e6171952c 100644
--- a/src/bin/pg_amcheck/nls.mk
+++ b/src/bin/pg_amcheck/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_amcheck/nls.mk
CATALOG_NAME = pg_amcheck
-AVAIL_LANGUAGES = de el es fr ja ru sv uk zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) \
pg_amcheck.c \
../../fe_utils/cancel.c \
diff --git a/src/bin/pg_amcheck/po/LINGUAS b/src/bin/pg_amcheck/po/LINGUAS
new file mode 100644
index 0000000000..7595b76a60
--- /dev/null
+++ b/src/bin/pg_amcheck/po/LINGUAS
@@ -0,0 +1 @@
+de el es fr ja ru sv uk zh_CN
diff --git a/src/bin/pg_archivecleanup/nls.mk b/src/bin/pg_archivecleanup/nls.mk
index 51a6767d8d..801cf1c51e 100644
--- a/src/bin/pg_archivecleanup/nls.mk
+++ b/src/bin/pg_archivecleanup/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_archivecleanup/nls.mk
CATALOG_NAME = pg_archivecleanup
-AVAIL_LANGUAGES = cs de el es fr ja ko pl ru sv tr uk vi zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) pg_archivecleanup.c
GETTEXT_TRIGGERS = $(FRONTEND_COMMON_GETTEXT_TRIGGERS)
GETTEXT_FLAGS = $(FRONTEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/bin/pg_archivecleanup/po/LINGUAS b/src/bin/pg_archivecleanup/po/LINGUAS
new file mode 100644
index 0000000000..f0979eabee
--- /dev/null
+++ b/src/bin/pg_archivecleanup/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr ja ko pl ru sv tr uk vi zh_CN
diff --git a/src/bin/pg_basebackup/nls.mk b/src/bin/pg_basebackup/nls.mk
index ec7393d321..8d28e249de 100644
--- a/src/bin/pg_basebackup/nls.mk
+++ b/src/bin/pg_basebackup/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_basebackup/nls.mk
CATALOG_NAME = pg_basebackup
-AVAIL_LANGUAGES = cs de es fr he it ja ko pl pt_BR ru sv tr uk vi zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) \
bbstreamer_file.c \
bbstreamer_gzip.c \
diff --git a/src/bin/pg_basebackup/po/LINGUAS b/src/bin/pg_basebackup/po/LINGUAS
new file mode 100644
index 0000000000..9852f707fc
--- /dev/null
+++ b/src/bin/pg_basebackup/po/LINGUAS
@@ -0,0 +1 @@
+cs de es fr he it ja ko pl pt_BR ru sv tr uk vi zh_CN
diff --git a/src/bin/pg_checksums/nls.mk b/src/bin/pg_checksums/nls.mk
index 5d8fd7e7cc..f7cd2a5ee9 100644
--- a/src/bin/pg_checksums/nls.mk
+++ b/src/bin/pg_checksums/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_checksums/nls.mk
CATALOG_NAME = pg_checksums
-AVAIL_LANGUAGES = cs de el es fr ja ko ru sv tr uk zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) \
pg_checksums.c \
../../fe_utils/option_utils.c
diff --git a/src/bin/pg_checksums/po/LINGUAS b/src/bin/pg_checksums/po/LINGUAS
new file mode 100644
index 0000000000..78db9aeb22
--- /dev/null
+++ b/src/bin/pg_checksums/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr ja ko ru sv tr uk zh_CN
diff --git a/src/bin/pg_config/nls.mk b/src/bin/pg_config/nls.mk
index 77680fa23c..d86c28c404 100644
--- a/src/bin/pg_config/nls.mk
+++ b/src/bin/pg_config/nls.mk
@@ -1,4 +1,3 @@
# src/bin/pg_config/nls.mk
CATALOG_NAME = pg_config
-AVAIL_LANGUAGES = cs de el es fr he it ja ko nb pl pt_BR ro ru sv ta tr uk vi zh_CN zh_TW
GETTEXT_FILES = pg_config.c ../../common/config_info.c ../../common/exec.c
diff --git a/src/bin/pg_config/po/LINGUAS b/src/bin/pg_config/po/LINGUAS
new file mode 100644
index 0000000000..8736ee6d49
--- /dev/null
+++ b/src/bin/pg_config/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr he it ja ko nb pl pt_BR ro ru sv ta tr uk vi zh_CN zh_TW
diff --git a/src/bin/pg_controldata/nls.mk b/src/bin/pg_controldata/nls.mk
index 5c0e33e91a..ab34205b96 100644
--- a/src/bin/pg_controldata/nls.mk
+++ b/src/bin/pg_controldata/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_controldata/nls.mk
CATALOG_NAME = pg_controldata
-AVAIL_LANGUAGES = cs de el es fr it ja ko pl pt_BR ru sv tr uk vi zh_CN
GETTEXT_FILES = pg_controldata.c ../../common/controldata_utils.c
GETTEXT_TRIGGERS = $(FRONTEND_COMMON_GETTEXT_TRIGGERS)
GETTEXT_FLAGS = $(FRONTEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/bin/pg_controldata/po/LINGUAS b/src/bin/pg_controldata/po/LINGUAS
new file mode 100644
index 0000000000..a13bb1a2ca
--- /dev/null
+++ b/src/bin/pg_controldata/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr it ja ko pl pt_BR ru sv tr uk vi zh_CN
diff --git a/src/bin/pg_ctl/nls.mk b/src/bin/pg_ctl/nls.mk
index 15b5b4851a..84e7fb4e56 100644
--- a/src/bin/pg_ctl/nls.mk
+++ b/src/bin/pg_ctl/nls.mk
@@ -1,4 +1,3 @@
# src/bin/pg_ctl/nls.mk
CATALOG_NAME = pg_ctl
-AVAIL_LANGUAGES = cs de el es fr he it ja ko pl pt_BR ru sv tr uk zh_CN
GETTEXT_FILES = pg_ctl.c ../../common/exec.c ../../common/fe_memutils.c ../../common/wait_error.c ../../port/path.c
diff --git a/src/bin/pg_ctl/po/LINGUAS b/src/bin/pg_ctl/po/LINGUAS
new file mode 100644
index 0000000000..508771c97c
--- /dev/null
+++ b/src/bin/pg_ctl/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr he it ja ko pl pt_BR ru sv tr uk zh_CN
diff --git a/src/bin/pg_dump/nls.mk b/src/bin/pg_dump/nls.mk
index dc7360db48..3054f93fad 100644
--- a/src/bin/pg_dump/nls.mk
+++ b/src/bin/pg_dump/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_dump/nls.mk
CATALOG_NAME = pg_dump
-AVAIL_LANGUAGES = cs de el es fr he it ja ko pl pt_BR ru sv tr uk zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) \
pg_backup_archiver.c pg_backup_db.c pg_backup_custom.c \
pg_backup_null.c pg_backup_tar.c \
diff --git a/src/bin/pg_dump/po/LINGUAS b/src/bin/pg_dump/po/LINGUAS
new file mode 100644
index 0000000000..508771c97c
--- /dev/null
+++ b/src/bin/pg_dump/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr he it ja ko pl pt_BR ru sv tr uk zh_CN
diff --git a/src/bin/pg_resetwal/nls.mk b/src/bin/pg_resetwal/nls.mk
index 6b85a78828..bc25482f2c 100644
--- a/src/bin/pg_resetwal/nls.mk
+++ b/src/bin/pg_resetwal/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_resetwal/nls.mk
CATALOG_NAME = pg_resetwal
-AVAIL_LANGUAGES = cs de el es fr it ja ko pl pt_BR ru sv tr uk zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) pg_resetwal.c ../../common/restricted_token.c
GETTEXT_TRIGGERS = $(FRONTEND_COMMON_GETTEXT_TRIGGERS)
GETTEXT_FLAGS = $(FRONTEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/bin/pg_resetwal/po/LINGUAS b/src/bin/pg_resetwal/po/LINGUAS
new file mode 100644
index 0000000000..7a718f6be5
--- /dev/null
+++ b/src/bin/pg_resetwal/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr it ja ko pl pt_BR ru sv tr uk zh_CN
diff --git a/src/bin/pg_rewind/nls.mk b/src/bin/pg_rewind/nls.mk
index e9d91a39cb..0618cb8c2c 100644
--- a/src/bin/pg_rewind/nls.mk
+++ b/src/bin/pg_rewind/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_rewind/nls.mk
CATALOG_NAME = pg_rewind
-AVAIL_LANGUAGES = cs de el es fr it ja ko pl pt_BR ru sv tr uk zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) datapagemap.c file_ops.c filemap.c libpq_source.c local_source.c parsexlog.c pg_rewind.c timeline.c xlogreader.c ../../common/fe_memutils.c ../../common/restricted_token.c ../../fe_utils/archive.c ../../fe_utils/recovery_gen.c
GETTEXT_TRIGGERS = $(FRONTEND_COMMON_GETTEXT_TRIGGERS) report_invalid_record:2
GETTEXT_FLAGS = $(FRONTEND_COMMON_GETTEXT_FLAGS) \
diff --git a/src/bin/pg_rewind/po/LINGUAS b/src/bin/pg_rewind/po/LINGUAS
new file mode 100644
index 0000000000..7a718f6be5
--- /dev/null
+++ b/src/bin/pg_rewind/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr it ja ko pl pt_BR ru sv tr uk zh_CN
diff --git a/src/bin/pg_test_fsync/nls.mk b/src/bin/pg_test_fsync/nls.mk
index 4b4d33b95a..a50782036c 100644
--- a/src/bin/pg_test_fsync/nls.mk
+++ b/src/bin/pg_test_fsync/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_test_fsync/nls.mk
CATALOG_NAME = pg_test_fsync
-AVAIL_LANGUAGES = cs de el es fr ja ko pl ru sv tr uk vi zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) pg_test_fsync.c
GETTEXT_TRIGGERS = $(FRONTEND_COMMON_GETTEXT_TRIGGERS) die
GETTEXT_FLAGS = $(FRONTEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/bin/pg_test_fsync/po/LINGUAS b/src/bin/pg_test_fsync/po/LINGUAS
new file mode 100644
index 0000000000..f0979eabee
--- /dev/null
+++ b/src/bin/pg_test_fsync/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr ja ko pl ru sv tr uk vi zh_CN
diff --git a/src/bin/pg_test_timing/nls.mk b/src/bin/pg_test_timing/nls.mk
index 126f45e2cb..331931c591 100644
--- a/src/bin/pg_test_timing/nls.mk
+++ b/src/bin/pg_test_timing/nls.mk
@@ -1,4 +1,3 @@
# src/bin/pg_test_timing/nls.mk
CATALOG_NAME = pg_test_timing
-AVAIL_LANGUAGES = cs de el es fr ja ko pl ru sv tr uk vi zh_CN
GETTEXT_FILES = pg_test_timing.c
diff --git a/src/bin/pg_test_timing/po/LINGUAS b/src/bin/pg_test_timing/po/LINGUAS
new file mode 100644
index 0000000000..f0979eabee
--- /dev/null
+++ b/src/bin/pg_test_timing/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr ja ko pl ru sv tr uk vi zh_CN
diff --git a/src/bin/pg_upgrade/nls.mk b/src/bin/pg_upgrade/nls.mk
index bfaacfbb7c..8a4ebbcbe9 100644
--- a/src/bin/pg_upgrade/nls.mk
+++ b/src/bin/pg_upgrade/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_upgrade/nls.mk
CATALOG_NAME = pg_upgrade
-AVAIL_LANGUAGES = cs de es fr ja ko ru sv tr uk zh_CN
GETTEXT_FILES = check.c controldata.c dump.c exec.c file.c function.c \
info.c option.c parallel.c pg_upgrade.c relfilenode.c \
server.c tablespace.c util.c version.c
diff --git a/src/bin/pg_upgrade/po/LINGUAS b/src/bin/pg_upgrade/po/LINGUAS
new file mode 100644
index 0000000000..ac603aedb2
--- /dev/null
+++ b/src/bin/pg_upgrade/po/LINGUAS
@@ -0,0 +1 @@
+cs de es fr ja ko ru sv tr uk zh_CN
diff --git a/src/bin/pg_verifybackup/nls.mk b/src/bin/pg_verifybackup/nls.mk
index 81b96356da..eba73a2c05 100644
--- a/src/bin/pg_verifybackup/nls.mk
+++ b/src/bin/pg_verifybackup/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_verifybackup/nls.mk
CATALOG_NAME = pg_verifybackup
-AVAIL_LANGUAGES = de el es fr ja ko ru sv uk zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) \
parse_manifest.c \
pg_verifybackup.c \
diff --git a/src/bin/pg_verifybackup/po/LINGUAS b/src/bin/pg_verifybackup/po/LINGUAS
new file mode 100644
index 0000000000..6db2f24356
--- /dev/null
+++ b/src/bin/pg_verifybackup/po/LINGUAS
@@ -0,0 +1 @@
+de el es fr ja ko ru sv uk zh_CN
diff --git a/src/bin/pg_waldump/nls.mk b/src/bin/pg_waldump/nls.mk
index 159638fc00..a9eeb6712b 100644
--- a/src/bin/pg_waldump/nls.mk
+++ b/src/bin/pg_waldump/nls.mk
@@ -1,6 +1,5 @@
# src/bin/pg_waldump/nls.mk
CATALOG_NAME = pg_waldump
-AVAIL_LANGUAGES = cs de el es fr ja ko ru sv tr uk vi zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) pg_waldump.c
GETTEXT_TRIGGERS = $(FRONTEND_COMMON_GETTEXT_TRIGGERS)
GETTEXT_FLAGS = $(FRONTEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/bin/pg_waldump/po/LINGUAS b/src/bin/pg_waldump/po/LINGUAS
new file mode 100644
index 0000000000..3a64d2e74c
--- /dev/null
+++ b/src/bin/pg_waldump/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr ja ko ru sv tr uk vi zh_CN
diff --git a/src/bin/psql/nls.mk b/src/bin/psql/nls.mk
index 52c96e3677..dad5816b9c 100644
--- a/src/bin/psql/nls.mk
+++ b/src/bin/psql/nls.mk
@@ -1,6 +1,5 @@
# src/bin/psql/nls.mk
CATALOG_NAME = psql
-AVAIL_LANGUAGES = cs de el es fr he it ja ko pl pt_BR ru sv tr uk zh_CN zh_TW
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) \
command.c common.c copy.c crosstabview.c help.c input.c large_obj.c \
mainloop.c psqlscanslash.c startup.c \
diff --git a/src/bin/psql/po/LINGUAS b/src/bin/psql/po/LINGUAS
new file mode 100644
index 0000000000..6704d6f4b3
--- /dev/null
+++ b/src/bin/psql/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr he it ja ko pl pt_BR ru sv tr uk zh_CN zh_TW
diff --git a/src/bin/scripts/nls.mk b/src/bin/scripts/nls.mk
index f61ff79396..f4638a06f0 100644
--- a/src/bin/scripts/nls.mk
+++ b/src/bin/scripts/nls.mk
@@ -1,6 +1,5 @@
# src/bin/scripts/nls.mk
CATALOG_NAME = pgscripts
-AVAIL_LANGUAGES = cs de el es fr he it ja ko pl pt_BR ru sv tr uk zh_CN
GETTEXT_FILES = $(FRONTEND_COMMON_GETTEXT_FILES) \
createdb.c createuser.c \
dropdb.c dropuser.c \
diff --git a/src/bin/scripts/po/LINGUAS b/src/bin/scripts/po/LINGUAS
new file mode 100644
index 0000000000..508771c97c
--- /dev/null
+++ b/src/bin/scripts/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr he it ja ko pl pt_BR ru sv tr uk zh_CN
diff --git a/src/interfaces/ecpg/ecpglib/nls.mk b/src/interfaces/ecpg/ecpglib/nls.mk
index 2f6b0895f5..77eecc98f3 100644
--- a/src/interfaces/ecpg/ecpglib/nls.mk
+++ b/src/interfaces/ecpg/ecpglib/nls.mk
@@ -1,6 +1,5 @@
# src/interfaces/ecpg/ecpglib/nls.mk
CATALOG_NAME = ecpglib
-AVAIL_LANGUAGES = cs de el es fr it ja ko pl pt_BR ru sv tr uk vi zh_CN
GETTEXT_FILES = connect.c descriptor.c error.c execute.c misc.c
GETTEXT_TRIGGERS = ecpg_gettext
GETTEXT_FLAGS = ecpg_gettext:1:pass-c-format
diff --git a/src/interfaces/ecpg/ecpglib/po/LINGUAS b/src/interfaces/ecpg/ecpglib/po/LINGUAS
new file mode 100644
index 0000000000..a13bb1a2ca
--- /dev/null
+++ b/src/interfaces/ecpg/ecpglib/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr it ja ko pl pt_BR ru sv tr uk vi zh_CN
diff --git a/src/interfaces/ecpg/preproc/nls.mk b/src/interfaces/ecpg/preproc/nls.mk
index fed0f7c9e5..55ea19a44e 100644
--- a/src/interfaces/ecpg/preproc/nls.mk
+++ b/src/interfaces/ecpg/preproc/nls.mk
@@ -1,6 +1,5 @@
# src/interfaces/ecpg/preproc/nls.mk
CATALOG_NAME = ecpg
-AVAIL_LANGUAGES = cs de el es fr it ja ko pl pt_BR ru sv tr uk vi zh_CN zh_TW
GETTEXT_FILES = descriptor.c ecpg.c pgc.c preproc.c type.c variable.c
GETTEXT_TRIGGERS = mmerror:3 mmfatal:2
GETTEXT_FLAGS = mmerror:3:c-format mmfatal:2:c-format
diff --git a/src/interfaces/ecpg/preproc/po/LINGUAS b/src/interfaces/ecpg/preproc/po/LINGUAS
new file mode 100644
index 0000000000..991612cffe
--- /dev/null
+++ b/src/interfaces/ecpg/preproc/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr it ja ko pl pt_BR ru sv tr uk vi zh_CN zh_TW
diff --git a/src/interfaces/libpq/nls.mk b/src/interfaces/libpq/nls.mk
index 1f62ba1b57..9256b426c1 100644
--- a/src/interfaces/libpq/nls.mk
+++ b/src/interfaces/libpq/nls.mk
@@ -1,6 +1,5 @@
# src/interfaces/libpq/nls.mk
CATALOG_NAME = libpq
-AVAIL_LANGUAGES = cs de el es fr he it ja ko pl pt_BR ru sv tr uk zh_CN zh_TW
GETTEXT_FILES = fe-auth.c fe-auth-scram.c fe-connect.c fe-exec.c fe-gssapi-common.c fe-lobj.c fe-misc.c fe-protocol3.c fe-secure.c fe-secure-common.c fe-secure-gssapi.c fe-secure-openssl.c win32.c ../../port/thread.c
GETTEXT_TRIGGERS = libpq_gettext pqInternalNotice:2
GETTEXT_FLAGS = libpq_gettext:1:pass-c-format pqInternalNotice:2:c-format
diff --git a/src/interfaces/libpq/po/LINGUAS b/src/interfaces/libpq/po/LINGUAS
new file mode 100644
index 0000000000..6704d6f4b3
--- /dev/null
+++ b/src/interfaces/libpq/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr he it ja ko pl pt_BR ru sv tr uk zh_CN zh_TW
diff --git a/src/nls-global.mk b/src/nls-global.mk
index c1f7982300..ba4f569803 100644
--- a/src/nls-global.mk
+++ b/src/nls-global.mk
@@ -8,7 +8,6 @@
#
# CATALOG_NAME -- name of the message catalog (xxx.po); probably
# name of the program
-# AVAIL_LANGUAGES -- list of languages that are provided/supported
# GETTEXT_FILES -- list of source files that contain message strings
# GETTEXT_TRIGGERS -- (optional) list of functions that contain
# translatable strings
@@ -16,6 +15,9 @@
# function arguments that contain C format strings
# (functions must be listed in TRIGGERS and FLAGS)
#
+# Also, provide a text file 'po/LINGUAS' with a space-separated list
+# of languages that are provided/supported.
+#
# That's all, the rest is done here, if --enable-nls was specified.
#
# The only user-visible targets here are 'init-po', to make an initial
@@ -27,6 +29,8 @@
# existence checked by Makefile.global; otherwise we won't get here
include $(srcdir)/nls.mk
+AVAIL_LANGUAGES := $(shell sed -e "/^#/d" -e "s/#.*//" po/LINGUAS)
+
# If user specified the languages he wants in --enable-nls=LANGUAGES,
# filter out the rest. Else use all available ones.
ifdef WANTED_LANGUAGES
diff --git a/src/pl/plperl/nls.mk b/src/pl/plperl/nls.mk
index ccdf1c3316..8c41bfac7a 100644
--- a/src/pl/plperl/nls.mk
+++ b/src/pl/plperl/nls.mk
@@ -1,6 +1,5 @@
# src/pl/plperl/nls.mk
CATALOG_NAME = plperl
-AVAIL_LANGUAGES = cs de el es fr it ja ko pl pt_BR ro ru sv tr uk vi zh_CN zh_TW
GETTEXT_FILES = plperl.c SPI.c
GETTEXT_TRIGGERS = $(BACKEND_COMMON_GETTEXT_TRIGGERS)
GETTEXT_FLAGS = $(BACKEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/pl/plperl/po/LINGUAS b/src/pl/plperl/po/LINGUAS
new file mode 100644
index 0000000000..37bf941be3
--- /dev/null
+++ b/src/pl/plperl/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr it ja ko pl pt_BR ro ru sv tr uk vi zh_CN zh_TW
diff --git a/src/pl/plpgsql/src/nls.mk b/src/pl/plpgsql/src/nls.mk
index 11878d2d5b..2bd620a8dd 100644
--- a/src/pl/plpgsql/src/nls.mk
+++ b/src/pl/plpgsql/src/nls.mk
@@ -1,6 +1,5 @@
# src/pl/plpgsql/src/nls.mk
CATALOG_NAME = plpgsql
-AVAIL_LANGUAGES = cs de el es fr it ja ko pl pt_BR ro ru sv tr uk vi zh_CN zh_TW
GETTEXT_FILES = pl_comp.c pl_exec.c pl_gram.c pl_funcs.c pl_handler.c pl_scanner.c
GETTEXT_TRIGGERS = $(BACKEND_COMMON_GETTEXT_TRIGGERS) yyerror plpgsql_yyerror
GETTEXT_FLAGS = $(BACKEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/pl/plpgsql/src/po/LINGUAS b/src/pl/plpgsql/src/po/LINGUAS
new file mode 100644
index 0000000000..37bf941be3
--- /dev/null
+++ b/src/pl/plpgsql/src/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr it ja ko pl pt_BR ro ru sv tr uk vi zh_CN zh_TW
diff --git a/src/pl/plpython/nls.mk b/src/pl/plpython/nls.mk
index c46e26200b..4c68a0e571 100644
--- a/src/pl/plpython/nls.mk
+++ b/src/pl/plpython/nls.mk
@@ -1,6 +1,5 @@
# src/pl/plpython/nls.mk
CATALOG_NAME = plpython
-AVAIL_LANGUAGES = cs de el 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/LINGUAS b/src/pl/plpython/po/LINGUAS
new file mode 100644
index 0000000000..a13bb1a2ca
--- /dev/null
+++ b/src/pl/plpython/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr it ja ko pl pt_BR ru sv tr uk vi zh_CN
diff --git a/src/pl/tcl/nls.mk b/src/pl/tcl/nls.mk
index fe6e84a3a4..8366998df1 100644
--- a/src/pl/tcl/nls.mk
+++ b/src/pl/tcl/nls.mk
@@ -1,6 +1,5 @@
# src/pl/tcl/nls.mk
CATALOG_NAME = pltcl
-AVAIL_LANGUAGES = cs de el es fr it ja ko pl pt_BR ro ru sv tr uk vi zh_CN zh_TW
GETTEXT_FILES = pltcl.c
GETTEXT_TRIGGERS = $(BACKEND_COMMON_GETTEXT_TRIGGERS)
GETTEXT_FLAGS = $(BACKEND_COMMON_GETTEXT_FLAGS)
diff --git a/src/pl/tcl/po/LINGUAS b/src/pl/tcl/po/LINGUAS
new file mode 100644
index 0000000000..37bf941be3
--- /dev/null
+++ b/src/pl/tcl/po/LINGUAS
@@ -0,0 +1 @@
+cs de el es fr it ja ko pl pt_BR ro ru sv tr uk vi zh_CN zh_TW