[PATCH] Fix translation consistency issues in Korean, Chinese Traditional, and Tamil

Started by Henson Choi2 months ago2 messages
#1Henson Choi
assam258@gmail.com
3 attachment(s)

Hi PostgreSQL hackers,

I found and fixed three translation consistency issues across different
language files. The patches are ordered by importance based on their
impact on users.

=============================================================================
PATCH 1/3: Fix missing "PostgreSQL" in Korean translation
=============================================================================

Issue:
------
In src/bin/pg_basebackup/po/ko.po, the Korean translation of
"%s controls PostgreSQL logical decoding streams" was missing
the word "PostgreSQL", making it unclear what system was being controlled.

Current (incorrect):
"%s 프로그램은 논리 디코딩 스트림을 제어하는 도구입니다.\n"
(Translation: "%s program is a tool that controls logical decoding
streams")

Fixed:
"%s 프로그램은 PostgreSQL 논리 디코딩 스트림을 제어하는 도구입니다.\n"
(Translation: "%s program is a tool that controls PostgreSQL logical
decoding streams")

Consistency Rationale:
All other tool descriptions in src/bin/*/po/ko.po consistently include
"PostgreSQL" in their Korean translations. I verified 16+ tools including:
- initdb: "PostgreSQL 데이터베이스 클러스터를..."
- pg_ctl: "PostgreSQL 서버를..."
- pg_config: "PostgreSQL 버전에 대한..."
- psql: "PostgreSQL 대화식 터미널..."
- pg_basebackup: "PostgreSQL 서버에 대해서..."
- pg_receivewal: "PostgreSQL 스트리밍 트랜잭션 로그..."

The pg_recvlogical tool description is the only outlier that omits
"PostgreSQL" when the English original includes it.

Original Introduction:
48aaba4acf4 ("Translation updates", 2016-05-09)

Affected Branches:
master, REL_14_STABLE, REL_15_STABLE, REL_16_STABLE, REL_17_STABLE,
REL_18_STABLE

=============================================================================
PATCH 2/3: Remove extra newline in Chinese Traditional translation
=============================================================================

Issue:
------
In src/bin/psql/po/zh_TW.po, the msgstr for "Single step mode: verify
command" message had an extra "\n" line at the end, causing an unnecessary
blank line in output.

The English msgid has 3 lines:
"***(Single step mode: verify command)***...\n"
"%s\n"
"***(press return to proceed or enter x and return to cancel)***...\n"

But the Chinese Traditional msgstr has 4 lines (with extra "\n" at the end):
"***(單步模式: 驗證命令)***...\n"
"%s\n"
"***(按 Enter 鍵繼續或輸入 x 然後按 Enter 鍵取消)***...\n"
"\n" <-- This extra line should be removed

Fix:
Remove the trailing "\n" to match the source message format.

Original Introduction:
7a31eb2aaa6 ("Translation updates", 2024-05-06)

Affected Branches:
master, REL_16_STABLE, REL_17_STABLE, REL_18_STABLE

=============================================================================
PATCH 3/3: Fix Tamil translation to use "PostgreSQL" consistently
=============================================================================

Issue:
------
In src/bin/pg_config/po/ta.po, the Tamil transliteration "போஸ்ட்கிரெஸ்"
(Postgres) was used instead of keeping "PostgreSQL" in Latin script.

Current (incorrect):
" %s நிறுவப் பட்டுள்ள போஸ்ட்கிரெஸ் வெள்யீடு குறித்தத் தகவலைத் தருகிறது.\n"

Fixed:
" %s நிறுவப் பட்டுள்ள PostgreSQL வெள்யீடு குறித்தத் தகவலைத் தருகிறது.\n"

Consistency Rationale:
All other language translations (22+ languages across 10+ different
writing systems) keep "PostgreSQL" in its original Latin script form
without transliteration. This includes:
- East Asian: Japanese (ja), Korean (ko), Chinese (zh_CN, zh_TW)
- Cyrillic: Russian (ru), Ukrainian (uk)
- Other scripts: Greek (el), Georgian (ka), Hebrew (he)

"PostgreSQL" is a proper noun/brand name that should not be
transliterated.

Original Introduction:
3adc760fb92 ("Translation updates", 2007-11-15)

Affected Branches:
master, REL_16_STABLE, REL_17_STABLE, REL_18_STABLE

=============================================================================
Testing
=============================================================================

All three patches have been tested and apply cleanly to:
- master branch
- All affected stable branches (REL_14 through REL_18)

No conflicts were encountered during cherry-picking to stable branches.

=============================================================================
Attachments
=============================================================================

Three patch files are attached:
1. 0001-korean-translation-fix.patch
2. 0002-zh-tw-translation-fix.patch
3. 0003-tamil-translation-fix.patch

Best regards,
Henson Choi

Attachments:

0001-korean-translation-fix.patchapplication/octet-stream; name=0001-korean-translation-fix.patchDownload
From 2522a90522d1dac74b71dc4be71785998a261768 Mon Sep 17 00:00:00 2001
From: Henson Choi <assam258@gmail.com>
Date: Wed, 12 Nov 2025 12:24:09 +0900
Subject: [PATCH] Fix missing "PostgreSQL" in Korean translation

In src/bin/pg_basebackup/po/ko.po, the Korean translation of
"%s controls PostgreSQL logical decoding streams" was missing
the word "PostgreSQL", making it unclear what system was being
controlled.

Add "PostgreSQL" to the translation for accuracy and consistency.
All other tool descriptions in src/bin/*/po/ko.po consistently
include "PostgreSQL" in their Korean translations (initdb, pg_ctl,
pg_config, psql, pg_basebackup, pg_receivewal, and 10+ others).

The omission was introduced in the initial translation:
  48aaba4acf4 ("Translation updates", 2016-05-09)
---
 src/bin/pg_basebackup/po/ko.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/pg_basebackup/po/ko.po b/src/bin/pg_basebackup/po/ko.po
index 08861d1022c..71e5a959baa 100644
--- a/src/bin/pg_basebackup/po/ko.po
+++ b/src/bin/pg_basebackup/po/ko.po
@@ -2245,7 +2245,7 @@ msgid ""
 "%s controls PostgreSQL logical decoding streams.\n"
 "\n"
 msgstr ""
-"%s 프로그램은 논리 디코딩 스트림을 제어하는 도구입니다.\n"
+"%s 프로그램은 PostgreSQL 논리 디코딩 스트림을 제어하는 도구입니다.\n"
 "\n"
 
 #: pg_recvlogical.c:88
-- 
2.50.1 (Apple Git-155)

0002-zh-tw-translation-fix.patchapplication/octet-stream; name=0002-zh-tw-translation-fix.patchDownload
From 61e3166188afe28c328f10b1e14ed62041ac6d79 Mon Sep 17 00:00:00 2001
From: Henson Choi <assam258@gmail.com>
Date: Wed, 12 Nov 2025 12:23:38 +0900
Subject: [PATCH] Remove extra newline in Chinese Traditional translation

In src/bin/psql/po/zh_TW.po, the msgstr for "Single step mode: verify
command" message had an extra "\n" line at the end, causing unnecessary
blank line in output.

Remove the trailing "\n" to match the source message format.

The extra newline was introduced in a major translation rewrite:
  7a31eb2aaa6 ("Translation updates", 2024-05-06)
---
 src/bin/psql/po/zh_TW.po | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/psql/po/zh_TW.po b/src/bin/psql/po/zh_TW.po
index 8958b9b5a4a..efebb2611f8 100644
--- a/src/bin/psql/po/zh_TW.po
+++ b/src/bin/psql/po/zh_TW.po
@@ -1052,7 +1052,6 @@ msgstr ""
 "***(單步模式: 驗證命令)*******************************************\n"
 "%s\n"
 "***(按 Enter 鍵繼續或輸入 x 然後按 Enter 鍵取消)********************\n"
-"\n"
 
 # utils/error/elog.c:1555
 #: common.c:1146
-- 
2.50.1 (Apple Git-155)

0003-tamil-translation-fix.patchapplication/octet-stream; name=0003-tamil-translation-fix.patchDownload
From a7463abbcc13395772006ce691a80a8e97af34cb Mon Sep 17 00:00:00 2001
From: Henson Choi <assam258@gmail.com>
Date: Wed, 12 Nov 2025 12:23:05 +0900
Subject: [PATCH] Fix Tamil translation to use "PostgreSQL" consistently
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In src/bin/pg_config/po/ta.po, the Tamil transliteration "போஸ்ட்கிரெஸ்"
(Postgres) was used instead of keeping "PostgreSQL" in Latin script.

Change to "PostgreSQL" to maintain consistency with all other language
translations (Japanese, Korean, Chinese, Russian, etc.) which uniformly
keep "PostgreSQL" as a proper noun in Latin script.

The transliteration was introduced in the initial Tamil translation:
  3adc760fb92 ("Translation updates", 2007-11-15)
---
 src/bin/pg_config/po/ta.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/pg_config/po/ta.po b/src/bin/pg_config/po/ta.po
index 0ffdbf2d86e..91e0ebe2667 100644
--- a/src/bin/pg_config/po/ta.po
+++ b/src/bin/pg_config/po/ta.po
@@ -38,7 +38,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-" %s நிறுவப் பட்டுள்ள போஸ்ட்கிரெஸ் வெள்யீடு குறித்தத் தகவலைத் தருகிறது.\n"
+" %s நிறுவப் பட்டுள்ள PostgreSQL வெள்யீடு குறித்தத் தகவலைத் தருகிறது.\n"
 "\n"
 
 #: pg_config.c:399
-- 
2.50.1 (Apple Git-155)

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Henson Choi (#1)
Re: [PATCH] Fix translation consistency issues in Korean, Chinese Traditional, and Tamil

Henson Choi <assam258@gmail.com> writes:

I found and fixed three translation consistency issues across different
language files.

Thanks for the report, but you should send this to
pgsql-translators@lists.postgresql.org. The main -hackers list
doesn't deal in translation issues. (In fact, we don't even run
the authoritative git repo for PG's .po files, so we couldn't
commit these fixes in the first place.) There is info about
how PG's translation effort is run at

https://wiki.postgresql.org/wiki/NLS

regards, tom lane