Форматирование qTranslate-X не одинаково для разных языков (апостроф и правильная одинарная кавычка)

Английский и голландский языки включены. У меня есть свой formatting.php, настроенный для различения апострофов (прямые, ') и правильных одинарных кавычек (фигурные,'):

$apos = _x( ''', 'apostrophe' );
$opening_single_quote = _x( '‘', 'opening curly single quote' );
$closing_single_quote = _x( '’', 'closing curly single quote' );

Это хорошо работает на английском языке, но на голландском языке вместо этого требуется правильная одинарная кавычка для апострофа. Мой вывод:

Английский: отладка сложная вещь

Голландский: отладка сложная вещь

Я попытался вставить правильную одинарную кавычку "с правильной двойной кавычкой", и она применима к обоим языкам, но я не могу понять, почему на голландском языке она всегда будет брать правильную одинарную кавычку вместо апострофа.

Любая помощь с благодарностью.

1 ответ

Регулярные выражения в formatting.php не вызывались, потому что апостроф в голландском тексте был заменен где-то между строками 113 - 130.

// if a plugin has provided an autocorrect array, use it
        if ( isset($wp_cockneyreplace) ) {
            $cockney = array_keys( $wp_cockneyreplace );
            $cockneyreplace = array_values( $wp_cockneyreplace );
        } else {
            /* translators: This is a comma-separated list of words that defy the syntax of quotations in normal use,
             * for example...  'We do not have enough words yet' ... is a typical quoted phrase.  But when we write
             * lines of code 'til we have enough of 'em, then we need to insert apostrophes instead of quotes.
             */
            $cockney = explode( ',', _x( "'tain't,'twere,'twas,'tis,'twill,'til,'bout,'nuff,'round,'cause,'em",
                'Comma-separated list of words to texturize in your language' ) );

            $cockneyreplace = explode( ',', _x( '’tain’t,’twere,’twas,’tis,’twill,’til,’bout,’nuff,’round,’cause,’em',
                'Comma-separated list of replacement words in your language' ) );
        }

        $static_characters = array_merge( array( '...', '``', '\'\'', ' (tm)' ), $cockney );
        $static_replacements = array_merge( array( '…', $opening_quote, $closing_quote, ' ™' ), $cockneyreplace );

Комментирование этого раздела решает проблему.

Другие вопросы по тегам