Commit Graph

40 Commits

Author SHA1 Message Date
Gary Pendergast 4f48c60803 I18N: Fix a PHP error introduced in [41722].
PHP 5.2 and 5.3 don't support short array syntax, Ryan.

Fixes #41562.


Built from https://develop.svn.wordpress.org/trunk@41723


git-svn-id: http://core.svn.wordpress.org/trunk@41557 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-04 02:12:46 +00:00
Gary Pendergast 0a3b7d8e31 I18N: Introduce the `Plural_Forms` class.
Historically, we've evaluated the plural forms for each language using `create_function()`. This is being deprecated in PHP 7.2, so needs to be replaced.

The `Plural_Forms` class parses the `Plural-Forms` header from the PO file, and internally caches the result of all subsequent plural form tests, allowing it to match the performance of the existing code.

Props rmccue.
Fixes #41562.


Built from https://develop.svn.wordpress.org/trunk@41722


git-svn-id: http://core.svn.wordpress.org/trunk@41556 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-04 01:30:46 +00:00
John Blackbourn 9fdbe6538e Docs: Remove `&` prefixes from parameter documentation to avoid doc parsing errors.
Props sudar for the original patch.

See #35974

Built from https://develop.svn.wordpress.org/trunk@41686


git-svn-id: http://core.svn.wordpress.org/trunk@41520 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-02 22:03:33 +00:00
Ryan McCue 20aa5d7150 General: Correctly detect trailing newline when prepending.
We need to check that the final line is actually an artifact of explode(), not just an empty input string.

See #37082.

Built from https://develop.svn.wordpress.org/trunk@39592


git-svn-id: http://core.svn.wordpress.org/trunk@39532 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-12-13 02:48:41 +00:00
Ryan McCue fbc00b31ef General: Remove most uses of create_function()
create_function() is equivalent to eval(), and most of our uses can be refactored. This is simpler, more secure, and slightly more performant.

Props sgolemon.
Fixes #37082.

Built from https://develop.svn.wordpress.org/trunk@39591


git-svn-id: http://core.svn.wordpress.org/trunk@39531 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-12-13 01:49:39 +00:00
Drew Jaynes 5f4497f0af Docs: Fix multiple trivial typos throughout a variety of core files.
Props ottok.
Fixes #38489.

Built from https://develop.svn.wordpress.org/trunk@39051


git-svn-id: http://core.svn.wordpress.org/trunk@38993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-31 06:28:32 +00:00
Dominik Schilling 7819e2b4ba I18N: Introduce a locale-switching function.
With the introduction of user-specific languages in [38705] it's necessary to be able to switch translations on the fly. For example emails should be sent in the language of the recipient and not the one of the current user.

This introduces a new `WP_Locale_Switcher` class which is used for switching locales and translations. It holds the stack of locales whenever `switch_to_locale( $locale )` is called. With `restore_previous_locale()` you can restore the previous locale. `restore_current_locale()` empties the stack and sets the locale back to the initial value.

`switch_to_locale()` is added to most of core's email functions, either with the value of `get_locale()` (site language) or `get_user_locale()` (user language with fallback to site language).

Props yoavf, tfrommen, swissspidy, pbearne, ocean90.
See #29783.
Fixes #26511.
Built from https://develop.svn.wordpress.org/trunk@38961


git-svn-id: http://core.svn.wordpress.org/trunk@38904 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-26 15:36:31 +00:00
Dion Hulse 048f327bfc Merge the changes to GlotPress's POMO from upstream to WordPress's copy.
Fixes #34748

Built from https://develop.svn.wordpress.org/trunk@35714


git-svn-id: http://core.svn.wordpress.org/trunk@35678 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-20 04:34:25 +00:00
Sergey Biryukov 5d61c1b8d1 I18N: After [35620], move the code for standardizing on `\n` line endings to `Translation_Entry::key()`.
Props dd32.
Fixes #22172.
Built from https://develop.svn.wordpress.org/trunk@35686


git-svn-id: http://core.svn.wordpress.org/trunk@35650 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-18 20:37:25 +00:00
Sergey Biryukov c8e0cd5c65 I18N: In `Translations::translate_entry()`, account for multi-line strings in files with Windows line endings.
Fixes #22172.
Built from https://develop.svn.wordpress.org/trunk@35620


git-svn-id: http://core.svn.wordpress.org/trunk@35584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-11 22:49:25 +00:00
Scott Taylor 84da11d918 Pass `false` as the 2nd argument to `class_exists()` to disable autoloading and to not cause problems for those who define `__autoload()`.
Fixes #20523.

Built from https://develop.svn.wordpress.org/trunk@34348


git-svn-id: http://core.svn.wordpress.org/trunk@34312 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 03:52:25 +00:00
Aaron Jorbin 1525010f74 Deprecate php4 style constructors
PHP7 is deprecating PHP4 style constructors, so we need to modify our code to have _construct methods that fire before the named PHP4 style constructors.  The PHP4 style constructors will call the PHP5 style constructor in case it is being called directly (usually via parent::METHOD).

This modifies external libraries to add PHP5 style constructors, but doesn't add a notice for when they are used.  In WordPress core code, PHP4 style constructors are being given a call to _deprecated_constructor. To the PHP4 style constructor I say "I know that I can't take no more | It ain't no lie | I wanna see you out that door | Baby, bye, bye, bye..."

Upstream: https://wiki.php.net/rfc/remove_php4_constructors

Props jdgrimes, netweb, jorbin
See #31982


Built from https://develop.svn.wordpress.org/trunk@32990


git-svn-id: http://core.svn.wordpress.org/trunk@32961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-28 15:27:24 +00:00
Scott Taylor 42d51a4f89 Add doc blocks to functions that are missing them.
If the function has no need for `@param` or `@return`, do an archeaological dig to find `@since`.

See #32444.

Built from https://develop.svn.wordpress.org/trunk@32672


git-svn-id: http://core.svn.wordpress.org/trunk@32642 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-31 03:18:25 +00:00
Scott Taylor 19a3aacc94 Add `@static*` annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.

Built from https://develop.svn.wordpress.org/trunk@32650


git-svn-id: http://core.svn.wordpress.org/trunk@32620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 15:43:29 +00:00
Scott Taylor bce851dcf2 Replace `array_shift()` with `reset()` where appropriate for performance.
Props SergeyBiryukov.
Fixes #31259.

Built from https://develop.svn.wordpress.org/trunk@31829


git-svn-id: http://core.svn.wordpress.org/trunk@31811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-19 03:56:27 +00:00
Scott Taylor b35cbbfac7 Add missing `@param`s to `src/wp-includes/pomo` files.
See #30224.


Built from https://develop.svn.wordpress.org/trunk@30663


git-svn-id: http://core.svn.wordpress.org/trunk@30653 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 21:41:22 +00:00
Drew Jaynes d33c807723 Fix some documentation typos in various core files.
Props vlajos.
Fixes #29199.

Built from https://develop.svn.wordpress.org/trunk@29479


git-svn-id: http://core.svn.wordpress.org/trunk@29257 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-13 03:56:17 +00:00
Sergey Biryukov 9ceb642b2a Introduce a binary-safe wrapper for strlen() and use it in seems_utf8(), utf8_uri_encode(), and wp_read_image_metadata().
Use binary-safe POMO_Reader::strlen() in MO::export_to_file_handle().

fixes #28162.
Built from https://develop.svn.wordpress.org/trunk@28806


git-svn-id: http://core.svn.wordpress.org/trunk@28615 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-23 14:48:14 +00:00
Scott Taylor 87730b879f Eliminate the use of `extract()` in `MO::import_from_reader()`.
See #22400.

Built from https://develop.svn.wordpress.org/trunk@28472


git-svn-id: http://core.svn.wordpress.org/trunk@28299 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-17 17:21:14 +00:00
Sergey Biryukov 928d7679b3 Fix strict notices in Tests_POMO_PO.
props markoheijnen for initial patch.
fixes #25631.
Built from https://develop.svn.wordpress.org/trunk@26500


git-svn-id: http://core.svn.wordpress.org/trunk@26394 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-01 12:48:10 +00:00
Sergey Biryukov 66c363de8f Avoid 'Only variables should be passed by reference' warning. fixes #23232.
git-svn-id: http://core.svn.wordpress.org/trunk@23357 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-31 01:01:19 +00:00
Nikolay Bachiyski 0672d11502 Fix typos in comments. Props SergeyBiryukov, see #22337
git-svn-id: http://core.svn.wordpress.org/trunk@22355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-31 23:56:23 +00:00
Nikolay Bachiyski 8a2548a137 Replace gp_endswith() with working implementation
In [22349] we introduced a call to gp_endswith(),
whcih doesn't exist in WordPress, only in GlotPress.

See #22337


git-svn-id: http://core.svn.wordpress.org/trunk@22350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-31 22:26:20 +00:00
Nikolay Bachiyski dcc0729a6c Sync POMO with GlotPress
See http://glotpress.trac.wordpress.org/browser/trunk/pomo/


git-svn-id: http://core.svn.wordpress.org/trunk@22349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-31 22:13:51 +00:00
Ryan Boren 51a5715967 Restore return by ref for make_entry(). Props SergeyBiryukov. fixes #21839
git-svn-id: http://core.svn.wordpress.org/trunk@21793 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-10 17:34:34 +00:00
Ryan Boren f483a85676 Remove unnecessary return by refs. Props wonderboymusic. fixes #21839
git-svn-id: http://core.svn.wordpress.org/trunk@21792 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-10 17:00:11 +00:00
ryan e261ac43e7 Avoid 'Only variables should be passed by reference' warnings. Props SergeyBiryukov. see #18975
git-svn-id: http://svn.automattic.com/wordpress/trunk@19072 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-10-27 20:00:09 +00:00
ryan 32e25b6aec phpdoc typo and readability fixes. Props SergeyBiryukov. fixes #18560
git-svn-id: http://svn.automattic.com/wordpress/trunk@18827 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-09-29 22:57:43 +00:00
nbachiyski 688eebdc26 Sync pomo library with the current GlotPress version
git-svn-id: http://svn.automattic.com/wordpress/trunk@18528 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-08-11 04:29:35 +00:00
nacin 5a20c05d27 Phpdoc argument/@param cleanups. props duck_, see #14783.
git-svn-id: http://svn.automattic.com/wordpress/trunk@15590 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-09-07 11:21:11 +00:00
nacin 40773a776b Remove trailing whites and double semicolons.
git-svn-id: http://svn.automattic.com/wordpress/trunk@13830 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-03-26 19:36:49 +00:00
markjaquith 09e8d27130 Whitespace cleanup
git-svn-id: http://svn.automattic.com/wordpress/trunk@13316 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-22 23:12:48 +00:00
ryan 3b98150c82 Sync pomo. Props nbachiyski. fixes #11832
git-svn-id: http://svn.automattic.com/wordpress/trunk@13228 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-19 18:01:50 +00:00
westi 17c7533b72 Swap out ;; for ;. Fixes #11618 props demetris and nacin.
git-svn-id: http://svn.automattic.com/wordpress/trunk@12548 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-12-26 16:53:17 +00:00
westi a7618f99b1 Merging changes from upstream GlotPress revision [351]. Remove unused local variable.
git-svn-id: http://svn.automattic.com/wordpress/trunk@12505 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-12-23 11:20:18 +00:00
ryan e5a98d208a pomo performance improvements. Props nbachiyski. fixes #10165
git-svn-id: http://svn.automattic.com/wordpress/trunk@12174 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-11-12 16:05:43 +00:00
westi cd36d71ed9 Merge updated pomo code. Includes new NOOP_Translations class see #10971 props nbachiyski.
git-svn-id: http://svn.automattic.com/wordpress/trunk@12079 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-10-21 07:06:55 +00:00
ryan 4c0207a772 Merge latest pomo. Works around mbstring.func_overload. Props nbachiyski. fixes #10236 for trunk
git-svn-id: http://svn.automattic.com/wordpress/trunk@11626 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-06-23 16:32:52 +00:00
ryan e8b6fe7347 Trim trailing whitespace
git-svn-id: http://svn.automattic.com/wordpress/trunk@10810 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-03-18 02:43:45 +00:00
ryan 5dfddd7b18 Switch to pomo lib. Support gettext contexts. Deprecate long form functions. Props nbachiyski. fixes #9112 #9111
git-svn-id: http://svn.automattic.com/wordpress/trunk@10584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-02-17 05:03:29 +00:00