Intereting Posts
Как работает класс Walker? Странная проблема с pre_get_posts и $ query-> is_page () Использование uncss или аналогичного с WordPress? Дополнительные пользовательские поля пока недоступны во время действия публикации_страницы Я не могу загрузить новую тему WordPress из заархивированного файла BBPress bbp_new_reply действие не срабатывает, когда пользователь отвечает на встроенный поток Удалите меню Custom Post Type для пользователей, не являющихся администраторами. Параметры строки запроса из настраиваемых полей, несогласованные результаты Пользовательский шаблон для конкретного совета по контенту wp_list_page с чем-то вроде showpost Поворот фоновых изображений с настройками администратора WordPress 3.9 не использует пользовательский шаблон Хотите, чтобы редактор сообщений помнил последнюю позицию редактирования Пользовательский контент и безопасность Пользовательская навигация: показывать сообщения в наборах из 4

Как перевести get_intermediate_image_sizes?

Для получения размеров изображения я использую следующий код:

public function getImageSizes(){ global $_wp_additional_image_sizes; $sizes = array(); foreach(get_intermediate_image_sizes() as $s){ $sizes[$s] = array(0, 0); if( in_array( $s, array( 'thumbnail', 'medium', 'large' ) ) ){ $sizes[$s][0] = get_option( $s . '_size_w' ); $sizes[$s][1] = get_option( $s . '_size_h' ); } else { if ( isset( $_wp_additional_image_sizes ) && isset( $_wp_additional_image_sizes[ $s ] ) ) $sizes[$s] = array( $_wp_additional_image_sizes[$s]['width'], $_wp_additional_image_sizes[$s]['height'] ); } } return $sizes; } 

Результатом является выбор с размерами изображения, примерно так:

 <option value="thumbnail">Thumbnail</option> <option value="medium">Medium</option> <option value="large">Large</option> <option value="tribe_image_widget_custom" selected='selected'>Custom</option> 

Вопрос в том, как перевести размеры (миниатюры, средние, большие и пользовательские)? По умолчанию размеры на английском языке, мне нужно, чтобы они были другим языком (для этого я использую плагин LocalSize для CodeStyling).

Спасибо!

PS: для выбора select я использую этот код:

 <select class="widefat" id="<?php echo $this->get_field_id('size'); ?>" name="<?php echo $this->get_field_name('size'); ?>"> <?php foreach ($this->getImageSizes() as $name => $atts): ?> <option value="<?php echo $name ?>"<?php echo ($name==$size?' selected':'') ?>><?php echo ucwords($name) . ' ('. implode( 'x', $atts ). ')' ?></option> <?php endforeach ?> </select> 

Вы можете использовать __ (), _e (), _x () или _ex () и ваш текстовый домен, чтобы сделать вашу тему или плагин переводимым.

Я разделил ваш фрагмент кода на основы, поэтому вы получите более понятную идею:

 <select class="widefat"> <?php foreach ( $this->getImageSizes() as $name => $atts ) : ?> <option value="<?php echo $name; ?>" ?>> <?php echo ucwords( __( $name, 'textdomain' ) ); ?> </option> <?php endforeach; ?> </select> 

К сожалению, интернационализация невозможна с такими переменными, как $name поэтому вам нужно предоставить имена изображений по умолчанию, чтобы сделать их доступными:

 $sizes = array( __( 'thumbnail', 'textdomain' ), __( 'medium', 'textdomain' ), __( 'large', 'textdomain' ) ); 

Если вы сами добавляете размеры изображений, вы можете избежать взлома выше, добавив их следующим образом:

 add_image_size( __( 'custom-image-size', 'textdomain' ), $width, $height, $crop );