FS#16983 - Error in Chinese translation causing makepkg fails

Attached to Project: Pacman
Opened by Chen Xing (chenxing) - Tuesday, 03 November 2009, 01:48 GMT
Last edited by Dan McGee (toofishes) - Tuesday, 10 November 2009, 17:58 GMT
Task Type Bug Report
Category i18n & l10n
Status Closed
Assigned To No-one
Architecture All
Severity Critical
Priority Normal
Reported Version 3.3.2
Due in Version 3.3.3
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Summary and Info:
A information string: "Extracting %s with %s"
is wrongly translated into: "正在使用 %2$s 解压缩 %1$s"

which causes "makepkg" fails at about line 106:
printf "\033[1;34m ->\033[1;0m\033[1;1m ${mesg}\033[1;0m\n" "$@" >&2
giving an error when building packages:
/usr/bin/makepkg: line 107: printf: `$': invalid format character

The problem can be solved by changing the translation into: "正在使用 %2 解压缩 %1", deleting the "$s" from the translation string.

This is a critical bug because makepkg doesn't work almost at all in Chinese locales.

Steps to Reproduce:
1. Switch to zh_CN.UTF-8 locale
2. build a package needs unzipping source files, such as "yaourt -S qtop"
This task depends upon

Closed by  Dan McGee (toofishes)
Tuesday, 10 November 2009, 17:58 GMT
Reason for closing:  Fixed
Additional comments about closing:  Commit 5ffc1ad3cdb1ec252739c62c9d614aba468bb22c
Comment by Dan McGee (toofishes) - Tuesday, 03 November 2009, 02:29 GMT Comment by Allan McRae (Allan) - Tuesday, 03 November 2009, 03:25 GMT
I did not now that you could remove the $s and keep the order arguments.
Comment by Dan McGee (toofishes) - Tuesday, 03 November 2009, 03:31 GMT
Oh wow, I hadn't even noticed that- interesting. Why is this not documented anywhere like the gettext manpage?
Comment by Chen Xing (chenxing) - Tuesday, 03 November 2009, 04:01 GMT
Oh, it's my fault, my suggestion is wrong. I'm sorry about that. It seems that we have to remove the positional specifier...
Comment by Allan McRae (Allan) - Tuesday, 03 November 2009, 04:36 GMT
That would be why it is not documented then!

Until the next pacman bug fix release, you can use "LC_LANG=C makepkg" as a workaround.

Loading...