WordPress.org

Make WordPress Core

Opened 8 years ago

Closed 8 years ago

#4865 closed enhancement (fixed)

Change plurals in text to allow for translations

Reported by: nbachiyski Owned by: westi
Milestone: 2.5 Priority: lowest
Severity: trivial Version: 2.3
Component: I18N Keywords: plurals has-patch needs-testing dev-feedback
Focuses: 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 (8)

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

Download all attachments as: .zip

Change History (29)

comment:1 @darkdragon8 years ago

  • Keywords reporter-feedback added

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

comment:2 @nbachiyski8 years ago

  • Type changed from defect to enhancement

comment:3 @lloydbudd8 years ago

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

Closing for until concrete examples/symptoms of the problem.

comment:4 @nbachiyski8 years ago

  • Resolution invalid deleted
  • Status changed from closed to reopened

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!

comment:5 @darkdragon8 years ago

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

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

comment:6 @darkdragon8 years ago

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

comment:7 @darkdragon8 years ago

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

@darkdragon8 years ago

Helper function for providing translatable plurals

comment:8 @darkdragon8 years ago

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

comment:9 @darkdragon8 years ago

  • Keywords i18n added

comment:10 @darkdragon8 years ago

  • Component changed from General to i18n

comment:11 @darkdragon8 years ago

  • Keywords i18n removed

@darkdragon8 years ago

Fixes two functions to use new wp_counted_string function

@darkdragon8 years ago

Converted Greymatter importer to use wp_counted_string function

comment:12 @darkdragon8 years ago

  • 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.

comment:13 @darkdragon8 years ago

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

@darkdragon8 years ago

Uses ngettext function instead of wp_counted_string function

@darkdragon8 years ago

Uses __ngettext function instead of wp_counted_string function

@darkdragon8 years ago

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

comment:14 @darkdragon8 years ago

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

@darkdragon8 years ago

Covers complete translation for plurals and covers #5164 plurals

comment:15 @darkdragon8 years ago

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.

comment:16 @nbachiyski8 years ago

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 :-)

@nbachiyski8 years ago

Tiny fixes for darkdragon's patch

comment:17 @westi8 years ago

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

comment:18 @darkdragon8 years ago

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.

comment:19 @ryan8 years ago

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

comment:20 follow-up: @darkdragon8 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 @lloydbudd8 years ago

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

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.