weblate icon indicating copy to clipboard operation
weblate copied to clipboard

"Other" not shown for Serbian Android strings

Open eighthave opened this issue 2 years ago • 5 comments

Describe the issue

https://hosted.weblate.org/translate/f-droid/f-droid/sr/?q=button_view_all_apps_in_category&sort_by=-priority%2Cposition shows "one", "few", and "many". But using this string in Android causes a crash because "other" is missing:

org.fdroid.fdroid.LocalizationTest > testLoadAllPlural[ci_test(AVD) - 6.0] FAILED
	java.lang.IllegalArgumentException: Bad 'null' format in sr button_view_all_apps_in_category: Plural resource ID #0x7f100000 quantity=0 item=other
	at org.fdroid.fdroid.LocalizationTest.testLoadAllPlural(LocalizationTest.java:128)

This might be related to #1550

I already tried

  • [X] I've read and searched the documentation.
  • [X] I've searched for similar issues in this repository.

Steps to reproduce the behavior

https://hosted.weblate.org/translate/f-droid/f-droid/sr/?q=button_view_all_apps_in_category&sort_by=-priority%2Cposition&checksum=

  • "other" is not presented in the UI
  • see that the plurals in values-sr/strings.xml lack "other" entries

Expected behavior

There should be "other" strings in the Weblate UI when editing plurals in Serbian.

Screenshots

Screenshot from 2023-06-07 22-14-11

Exception traceback

No response

How do you run Weblate?

weblate.org service

Weblate versions

No response

Weblate deploy checks

No response

Additional context

No response

eighthave avatar Jun 07 '23 20:06 eighthave

It has three plurals, and it should save it as other to the file. But there seems to be issue with labelling it in the UI.

nijel avatar Jun 08 '23 06:06 nijel

This is yet another incarnation of https://github.com/WeblateOrg/weblate/issues/7520. The problem here is that in integer scope, rules for several languages are the same (sr/bs/ru/uk), but they differ in floating-point conditions. That's why in CLDR, they are once named one/few/other and once/few/many (keeping other for the floating-point bits). As Weblate sees only integer part here, it does not differentiate these and uses the same labelling for all of them.

The translate-toolkit has a hard-coded list of plurals per language from CLDR, so loading/saving should work fine, this is just display logic in Weblate which is wrong.

nijel avatar Jun 08 '23 06:06 nijel

Thank you for your report; the issue you have reported has just been fixed.

  • In case you see a problem with the fix, please comment on this issue.
  • In case you see a similar problem, please open a separate issue.
  • If you are happy with the outcome, don’t hesitate to support Weblate by making a donation.

github-actions[bot] avatar Nov 13 '23 13:11 github-actions[bot]

Oops, closed wrong bug.

nijel avatar Nov 13 '23 13:11 nijel

Thank you for your report; the issue you have reported has just been fixed.

  • In case you see a problem with the fix, please comment on this issue.
  • In case you see a similar problem, please open a separate issue.
  • If you are happy with the outcome, don’t hesitate to support Weblate by making a donation.

github-actions[bot] avatar Nov 15 '23 18:11 github-actions[bot]