l10n: Update `wp_get_installed_translations()` to support variants of a language.
* A variant of a language has its own locale, for example the locale of the formal variant of German is `de_DE_formal`. * Update `remove_accents()` and some CSS rules to support `de_DE_formal`. * Add tests for `get_bloginfo( 'language' )`. * API changes will be deployed over the next few days. see #28303. git-svn-id: https://develop.svn.wordpress.org/trunk@33027 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
b32cf591c2
commit
caab22e5b2
|
@ -58,16 +58,20 @@ body.locale-he-il .press-this a.wp-switch-editor {
|
|||
.locale-zh-cn #sort-buttons { font-size: 1em !important; }
|
||||
|
||||
/* de_DE: Text needs more space for translation */
|
||||
.locale-de-de .inline-edit-row fieldset label span.title {
|
||||
.locale-de-de .inline-edit-row fieldset label span.title,
|
||||
.locale-de-de-formal .inline-edit-row fieldset label span.title {
|
||||
width: 7em; /* default 5em */
|
||||
}
|
||||
.locale-de-de .inline-edit-row fieldset label span.input-text-wrap {
|
||||
.locale-de-de .inline-edit-row fieldset label span.input-text-wrap,
|
||||
.locale-de-de-formal .inline-edit-row fieldset label span.input-text-wrap {
|
||||
margin-left: 7em; /* default 5em */
|
||||
}
|
||||
.locale-de-de #customize-header-actions .button {
|
||||
.locale-de-de #customize-header-actions .button,
|
||||
.locale-de-de-formal #customize-header-actions .button {
|
||||
padding: 0 5px 1px; /* default 0 10px 1px */
|
||||
}
|
||||
.locale-de-de #customize-header-actions .spinner {
|
||||
.locale-de-de #customize-header-actions .spinner,
|
||||
.locale-de-de-formal #customize-header-actions .spinner {
|
||||
margin: 16px 3px 0; /* default 16px 4px 0 5px */
|
||||
}
|
||||
|
||||
|
|
|
@ -1138,7 +1138,7 @@ function remove_accents( $string ) {
|
|||
// Used for locale-specific rules
|
||||
$locale = get_locale();
|
||||
|
||||
if ( 'de_DE' == $locale ) {
|
||||
if ( 'de_DE' == $locale || 'de_DE_formal' == $locale ) {
|
||||
$chars[ chr(195).chr(132) ] = 'Ae';
|
||||
$chars[ chr(195).chr(164) ] = 'ae';
|
||||
$chars[ chr(195).chr(150) ] = 'Oe';
|
||||
|
|
|
@ -820,7 +820,7 @@ function wp_get_installed_translations( $type ) {
|
|||
if ( substr( $file, -3 ) !== '.po' ) {
|
||||
continue;
|
||||
}
|
||||
if ( ! preg_match( '/(?:(.+)-)?([A-Za-z_]{2,6}).po/', $file, $match ) ) {
|
||||
if ( ! preg_match( '/(?:(.+)-)?([a-z]{2,3}(?:_[A-Z]{2})?(?:_[a-z0-9]+)?).po/', $file, $match ) ) {
|
||||
continue;
|
||||
}
|
||||
if ( ! in_array( substr( $file, 0, -3 ) . '.mo', $files ) ) {
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @group formatting
|
||||
*/
|
||||
class Tests_Formatting_BlogInfo extends WP_UnitTestCase {
|
||||
|
||||
/**
|
||||
* @dataProvider locales
|
||||
* @ticket 28303
|
||||
*/
|
||||
function test_get_bloginfo_language( $test_locale, $expected ) {
|
||||
global $locale;
|
||||
|
||||
$old_locale = $locale;
|
||||
|
||||
$locale = $test_locale;
|
||||
$this->assertEquals( $expected, get_bloginfo( 'language' ) );
|
||||
|
||||
$locale = $old_locale;
|
||||
}
|
||||
|
||||
function locales() {
|
||||
return array(
|
||||
// Locale Language code
|
||||
array( 'en_US', 'en-US' ),
|
||||
array( 'ar', 'ar' ),
|
||||
array( 'de_DE', 'de-DE' ),
|
||||
array( 'de_DE_formal', 'de-DE-formal' ),
|
||||
array( 'oci', 'oci' ),
|
||||
array( 'pt_PT_ao1990', 'pt-PT-ao1990' ),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue