Thread: BUG #2632: createuser language poblem
The following bug has been logged online: Bug reference: 2632 Logged by: Massimo Fidanza Email address: max@massimofidanza.it PostgreSQL version: 8.1.4 Operating system: Ubuntu 6.04 Description: createuser language poblem Details: Hi, I discover a very annoying bug in the create user command. I have the environment variable LANG=it_IT.UTF-8 and when I try to crate a new user wit the create user command, at he prompt I have the three questions Shall the new role be a superuser? (y/n) Shall the new role be allowed to create databases? (y/n) Shall the new role be allowed to create more new roles? (y/n) So I ask y only to the second, but when I try to create a new database with the new just created user it claims that I don't have permissions. So I drop the user and recreated it several times. After a lot of tentative I discover the arcane I must ask s=sì the italian affermative answer during createuser, but the question is in english. This is a very stupid bug. I think the right is to accept the italian and the english answer as oher commands do like apt. Translate the question to is not a bad idea.
"Massimo Fidanza" <max@massimofidanza.it> writes: > Hi, I discover a very annoying bug in the create user command. I have the > environment variable LANG=it_IT.UTF-8 and when I try to crate a new user wit > the create user command, at he prompt I have the three questions > Shall the new role be a superuser? (y/n) > Shall the new role be allowed to create databases? (y/n) > Shall the new role be allowed to create more new roles? (y/n) The reason those aren't getting translated is that the Italian translations have not been updated for 8.1 --- the entries in it.po still look like the 8.0 wording: #: createuser.c:170 msgid "Shall the new user be allowed to create databases? (y/n) " msgstr "Il nuovo utente può creare database? (s/n)" #: createuser.c:181 msgid "Shall the new user be allowed to create more new users? (y/n) " msgstr "Il nuovo utente può creare altri utenti? (s/n)" If this annoys you, please join the PG translation project and help to fix it: http://pgtranslation.projects.postgresql.org/ regards, tom lane
Tom Lane wrote: > The reason those aren't getting translated is that the Italian > translations have not been updated for 8.1 --- the entries in it.po > still look like the 8.0 wording: It might be possible with little effort to rework this so that the prompts display the letters that are actually expected as answers. I'll look into it. -- Peter Eisentraut http://developer.postgresql.org/~petere/
Quoting Tom Lane <tgl@sss.pgh.pa.us>: > "Massimo Fidanza" <max@massimofidanza.it> writes: >> Hi, I discover a very annoying bug in the create user command. I have the >> environment variable LANG=it_IT.UTF-8 and when I try to crate a new user wit >> the create user command, at he prompt I have the three questions >> Shall the new role be a superuser? (y/n) >> Shall the new role be allowed to create databases? (y/n) >> Shall the new role be allowed to create more new roles? (y/n) > > The reason those aren't getting translated is that the Italian > translations have not been updated for 8.1 --- the entries in it.po > still look like the 8.0 wording: > > #: createuser.c:170 > msgid "Shall the new user be allowed to create databases? (y/n) " > msgstr "Il nuovo utente può creare database? (s/n)" > > #: createuser.c:181 > msgid "Shall the new user be allowed to create more new users? (y/n) " > msgstr "Il nuovo utente può creare altri utenti? (s/n)" > > If this annoys you, please join the PG translation project and help to > fix it: > http://pgtranslation.projects.postgresql.org/ > > regards, tom lane > Yes, I can join the translation team and translate the missing strigs, but I think this is not the right answer. I think the best solution is to accept the english answer too. I made a patch to common.c (src/bin/scripts/common.c) that compare the user answer with the translated and the english affermative (y) and negative (n) answer. I add a case insensitive comparison too. I know that this can generate conflicts between languages, but looking at the other languages in wich Postgresql is already translated there are no conflict between english and non english languages. I look for other languages too and I find a possible conflict with african Swahili language, where the answers are (ndiyo==yes/kataa==no), but they can for example specify (y/n) as (nd/k). Bye Max!
Attachment
Massimo Fidanza <max@massimofidanza.it> writes: > Yes, I can join the translation team and translate the missing strigs,=20= > =20 > but I think this is not the right answer. I think the best solution is=20= > =20 > to accept the english answer too. I liked Peter's idea better (ie, not have the y/n in the string-to-be-translated but generate it dynamically using the same strings that will actually be matched to the input). Your approach fails if there are any languages that use y or n in a way conflicting with the English usage ... and whether or not we have any such translations today, who knows what will be out there tomorrow? regards, tom lane