Ticket #4865 (closed enhancement: fixed)

Opened 4 years ago

Last modified 4 years ago

Change plurals in text to allow for translations

Reported by: nbachiyski Owned by: westi
Priority: lowest Milestone: 2.5
Component: I18N Version: 2.3
Severity: trivial Keywords: plurals has-patch needs-testing dev-feedback
Cc:

Description

There are many places in the source, where counts were used, but the plural form is mentioned only. It isn't related to i18n only, the messages in English will benefit from it also.

Attachments

wp_counted_string.diff Download (1.5 KB) - added by darkdragon 4 years ago.
Helper function for providing translatable plurals
i18n.#4865.patch Download (2.1 KB) - added by darkdragon 4 years ago.
Fixes two functions to use new wp_counted_string function
i18n.greymatter.#4865.patch Download (1.0 KB) - added by darkdragon 4 years ago.
Converted Greymatter importer to use wp_counted_string function
i18n.blogware.#4865.2.patch Download (405 bytes) - added by darkdragon 4 years ago.
Uses ngettext function instead of wp_counted_string function
i18n.blogware.#4865.patch Download (397 bytes) - added by darkdragon 4 years ago.
Uses __ngettext function instead of wp_counted_string function
i18n.pluggable.#4865.patch Download (1.2 KB) - added by darkdragon 4 years ago.
Removes wp_counted_string function and uses __ngettext() instead for pluggables file.
i18n.complete.#4865.patch Download (10.9 KB) - added by darkdragon 4 years ago.
Covers complete translation for plurals and covers #5164 plurals
i18n.complete.#4865.2.patch Download (10.9 KB) - added by nbachiyski 4 years ago.
Tiny fixes for darkdragon's patch

Change History

  • Keywords reporter-feedback added

Can you give instances of possible candidates that should be changed?

  • Type changed from defect to enhancement
  • Status changed from new to closed
  • Resolution set to invalid
  • Milestone 2.4 deleted

Closing for until concrete examples/symptoms of the problem.

  • Status changed from closed to reopened
  • Resolution invalid deleted

Somebody wanted examples :-)

  • wp-includes/pluggable.php:634 -- Currently %s comments are waiting for approval. Please...
  • wp-content/plugins/akismet/akismet.php:678 -- %d spam comments have been blocked by...
  • wp-admin/import/greymatter.php:275 -- imported %d comment(s)
  • wp-admin/import/greymatter.php:280 -- ignored %d pre-existing comments
  • wp-admin/import/blogware.php:144 -- (%s comments)
  • wp-admin/import/livejournal.php:122 -- (%s comments)
  • wp-admin/import/mt.php:241 -- (%s comments)
  • wp-admin/import/wordpress.php:432 -- (%s comments)
  • wp-admin/import/btt.php:71 -- Done! <strong>%s</strong> posts with tags were read.
  • wp-admin/import/jkw.php:87 -- Done! <strong>%s</strong> posts with tags were read.
  • wp-admin/import/dotclear.php:529 -- Done! <strong>%s</strong> links or link categories imported
  • wp-admin/import/jkw.php:128 -- Done! <strong>%s</strong> tags were read.
  • wp-admin/import/utw.php:87 -- Done! <strong>%s</strong> tags were read.
  • wp-admin/import/mt.php:258 -- (%s pings)
  • wp-admin/import/stp.php:76 -- Done! <strong>%s</strong> tag to post relationships were read.
  • wp-admin/import/utw.php:139 -- Done! <strong>%s</strong> tag to post relationships were read.
  • wp-admin/import/stp.php:94 -- Done! <strong>%s</strong> tags where added!
  • wp-admin/import/textpattern.php:465 -- Done! <strong>%s</strong> Links imported
  • wp-admin/import/utw.php:160 -- Done! <strong>%s</strong> tags were added!

Okay. I'll create a patch, unless someone else is already doing so.

If you find any more, then post it, please.

  • Summary changed from gettext plurals to Change plurals in text to allow for translations

I can't offer a patch for the Akismet Plugin. It is not part of the WordPress Repository.

Helper function for providing translatable plurals

  • Keywords has-patch needs-testing added; i18n texts reporter-feedback removed
  • Milestone set to 2.4
  • Keywords i18n added
  • Component changed from General to i18n
  • Keywords i18n removed

Fixes two functions to use new wp_counted_string function

Converted Greymatter importer to use wp_counted_string function

  • Keywords dev-feedback added

I need to know if the wp_counted_string() can be committed as a possible fix and usage in the core of WordPress. It appears that the function would be of use and was adapted from a comments-template.php function.

The function needs testing (unit tests), as well as the other patches. If the function works, which given its trivial code, it should then everything else should work just fine.

__ngettext() exists for the purpose of specifying single and plurals. It probably could be used instead to limit the usage of two many functions.

Uses ngettext function instead of wp_counted_string function

Uses __ngettext function instead of wp_counted_string function

Removes wp_counted_string function and uses __ngettext() instead for pluggables file.

Closed #5164 as duplicate of this ticket. Need to remember that part of patch came from nbachiyski's patch for credit.

Covers complete translation for plurals and covers #5164 plurals

i18n.complete.#4865.patch covers all of the known cases where gettext plurals should have been used. Should not need testing, but should be tested anyway.

The wp-admin/moderation.php and wp-admin/edit-comments.php were based off of nbachiyski's patch in #5164.

Just put a full stop in one case for consistency and fixed a % occurrence, instead of %s.

I like throwing ideas in the evening and finding patches in the morning -- thank you, darkdragon :-)

Tiny fixes for darkdragon's patch

  • Owner changed from anonymous to westi
  • Status changed from reopened to new

Thanks, I wouldn't have been able to fix this for another 8 hours.

I think actually, I disagreed with the placement of some of your patch, "Why not a full stop when the sentence is done?" Since I'm not an English major or know exactly how the page looks, I'll say whatever gets it done.

(In [6430]) Use ngettext() for plurals. Props darkdragon. see #4865

comment:20 follow-up: ↓ 21   darkdragon4 years ago

  • Milestone changed from 2.4 to 2.5

Sending to the next release to keep open for more considerations of strings that should use __ngettext() to allow for translatable plurals.

comment:21 in reply to: ↑ 20   lloydbudd4 years ago

  • Status changed from new to closed
  • Resolution set to fixed
  • Milestone changed from 2.5 to 2.4

Replying to darkdragon:

Sending to the next release to keep open for more considerations of strings that should use __ngettext() to allow for translatable plurals.

Better to just open new ticket(s) for any additional phrases I think.

Note: See TracTickets for help on using tickets.