Vietnamese should have two plural forms

Bug #1976309 reported by Minh Nguyễn
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Expired
Undecided
Unassigned

Bug Description

Vietnamese (ISO code "vi") should have two plural forms, not one. The rule should be n!=1, just like in English. Although Vietnamese doesn’t inflect nouns for grammatical number, it does use the plural markers "các" and "những", and grammatical number also affects the choice of demonstratives. For example:

0. 0 bản cập nhật có sẵn. Để cài đặt *chúng*, bấm Cài đặt *các* Bản cập nhật.
   0 *updates* are available. To install *them*, press Install *Updates*.
1. 1 bản cập nhật có sẵn. Để cài đặt *nó*, bấm Cài đặt Bản cập nhật.
   1 update is available. To install *it*, press Install Update.
2. 2 bản cập nhật có sẵn. Để cài đặt *chúng*, bấm Cài đặt *các* Bản cập nhật.
   2 *updates* are available. To install *them*, press Install *Updates*.

(In the zero sentence above, the plural demonstratives and plural marker don’t sound quite right, but it’s probably the best we can do. No demonstrative pronoun in Vietnamese can refer to zero of something.)

This issue came up in <https://josm.openstreetmap.de/ticket/21720>. JOSM uses Launchpad for translation and wound up with inadequately pluralized messages such as:

1. Click <strong>{0}</strong> to check the state of this object on the server.
   Nhấn vào <strong>{0}</strong> để kiểm tra trạng thái của đối tượng này trên máy chủ.
2. Click <strong>{0}</strong> to check the state of these objects on the server.
   Nhấn vào <strong>{0}</strong> để kiểm tra trạng thái của đối tượng này trên máy chủ.
   [Should be: Nhấn vào <strong>{0}</strong> để kiểm tra trạng thái của *các* đối tượng này trên máy chủ.]

1. Plugin {0} is still required by this plugin:
   Plugin {0} vẫn được yêu cầu bởi plugin này:
2. Plugin {0} is still required by these {1} plugins:
   Plugin {0} vẫn được yêu cầu bởi plugin này:
   [Should be: Plugin {0} vẫn được yêu cầu bởi {1} plugin này:]

The incorrect plural form data is located at <https://git.launchpad.net/launchpad/tree/database/sampledata/current.sql?id=b2c941d418dca6febbc62ae654e1cfc36e44b607#n540>.

The CLDR project has acknowledged the same issue and has scheduled a fix to be released soon: <https://unicode-org.atlassian.net/browse/CLDR-14273>.

Revision history for this message
Jürgen Gmach (jugmac00) wrote (last edit ):

Thank you for your report!

In order to learn more about that topic, I read the following GNU help page:
https://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html

There Vietnamese is especially listed as a one plural form language.

I also checked a Gnome and a Debian package, as these are wide-spread open source projects, and both also use the single plural form:
https://sources.debian.org/src/grub2/2.06-2/po/vi.po/
https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/po/vi.po

I have seen your report at the unicode issue tracker ( https://unicode-org.atlassian.net/browse/CLDR-14273 ) and the pull request over at GitHub ( https://github.com/unicode-org/cldr/pull/1774 ) which has not been merged yet.

As I do not speak Vietnamese, I would appreciate if some more native speakers/translators would speak up here to get some "extra confirmation" :-)

I will also reach out to some fellow engineers - maybe somebody knows someone from Vietnam.

Thanks for your patience!

Jürgen Gmach (jugmac00)
Changed in launchpad:
status: New → Incomplete
Revision history for this message
Nguyễn Gia Phong (mcsinyx) wrote :

While I agree that Vietnamese should have two plural forms, treating n = 0 as plural is a workaround at best, since

> No demonstrative pronoun in Vietnamese can refer to zero of something.

The given example is not really convincing since the zero sentence shouldn't exist at all as the button should be disabled when there is no update and the description should be reflective of that. I would like to take a look at the .po file or equivalent to provide a more informed opinion.

Regarding the Unicode ticket, I think it should be emphasized that excessive use of pronouns and counting markers sounds unnatural in many cases. Back to the example, the second sentence should have just been for all cases (notice capitalization)

> Để cài đặt, bấm Cài đặt cập nhật.

In other words, the plural rule should be change to facilitate translation, but doing that by itself does not magically improve the translation quality. Translators should be encouraged to come up with good sentences instead of mapping words literally.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Launchpad itself because there has been no activity for 60 days.]

Changed in launchpad:
status: Incomplete → Expired
Revision history for this message
Minh Nguyễn (mxn) wrote :
Download full text (3.2 KiB)

> I also checked a Gnome and a Debian package, as these are wide-spread open source projects, and both also use the single plural form:

Practically everyone other than CLDR and MediaWiki originally based their plural rules on gettext. As far as I can tell, this whole misunderstanding stems from a single commit in 2005:

<https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commit;h=d78c911e16a5d2a15febfa1112c88612a9bb0a0b>

I’ll reach out to Clytie for confirmation.

> I have seen your report at the unicode issue tracker ( https://unicode-org.atlassian.net/browse/CLDR-14273 ) and the pull request over at GitHub ( https://github.com/unicode-org/cldr/pull/1774 ) which has not been merged yet.

CLDR’s maintainers agree with my proposal and consider the proposed change to be a release blocker. However, they also consider it to be blocked by a new feature that would explicitly indicate whether a noun phrase (“1 meter”, “3 meters”) needs to vary by number, or whether grammatical number only affects other parts of the sentence, like demonstratives in Vietnamese. <https://unicode-org.atlassian.net/browse/CLDR-15634> This feature would reduce some redundancy for software that uses just CLDR’s formatting functionality, as opposed to reusing the plural rules for translation in general. I believe the question for Launchpad is more straightforward: as far as I know, it doesn’t come with built-in measurement or currency formatting functionality.

> The given example is not really convincing since the zero sentence shouldn't exist at all as the button should be disabled when there is no update and the description should be reflective of that.

That’s fair, it is a pretty contrived example. It’s hard to come up with an uncontrived example, which is probably a point in favor of going ahead with the proposed change.

The zero behavior is something of a moot point for CLDR, because the project advises implementations to let translators optionally customize the zero message even if the language has an n=1 plural rule. MediaWiki/Translatewiki.net also offers this flexibility, but I don’t view it as a showstopper.

> Regarding the Unicode ticket, I think it should be emphasized that excessive use of pronouns and counting markers sounds unnatural in many cases.

Yes, as a translator, I take every opportunity to omit pronouns and counting markers. But sometimes a UI design gives me no choice: when a user is about to delete multiple files, triggering a confirmation dialog, I want the user to realize, as in English, that clicking the confirmation button will have the destructive effect of deleting multiple files:

* “Xóa” would lose this emphasis.
* “Xóa tập tin” would be potentially misleading.
* “Xóa các tập tin” would be ideal.
* “Xóa (các) tập tin” would be stilted (and alarmist when deleting only one file).

In the zero case, which would disable this button, any of these translations would be plausible.

> Translators should be encouraged to come up with good sentences instead of mapping words literally.

Totally agree, but this presupposes that software structures messages flexibly and allows for sufficient plural forms. One step at a time. It’s enough work as ...

Read more...

Revision history for this message
Minh Nguyễn (mxn) wrote :

> I’ll reach out to Clytie for confirmation.

Unfortunately, this won’t be possible: <https://mail.gnome.org/archives/gnome-i18n/2015-February/msg00000.html> :-(

It does seem that Phong at least agrees with me that there needs to be a second plural form, and as I said, the CLDR maintainers agree as well. If needed, I can reach out to other translators, such as on the Mozilla and MediaWiki projects, for confirmation.

I understand that Launchpad would like to remain compatible with gettext, so I’ve opened a parallel bug report there: <https://savannah.gnu.org/bugs/index.php?62876>.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.