get_translations_for_domain() │ WP 2.8.0
Повертає об’єкт перекладу для зазначеного домену перекладу (textdomain).
Основа для:
translate()
translate()
1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.43 сек
(дуже швидко) |
PHP 7.2.16, WP 5.1.1
(швидкість світла) | 50000 разів – 0.43 сек
(дуже швидко) |
PHP 7.2.16, WP 5.1.1
Хуків немає.
Повертає
Translations|NOOP_Translations
.
Якщо для вказаного домену перекладу є .mo файлу перекладу (переклад завантажений), то поверне об’єкт класу MO .
MO Object ( [_nplurals] => 3 [filename:MO:private] => F:serversiteswp-test.ru/wp-content/languages/plugins/classic-editor-ru_RU.mo [entries] => Array() [headers] => Array() )
Якщо для вказаного домену перекладу немає .mo файлу перекладу (переклад не завантажено), то поверне об’єкт класу NOOP_Translations :
NOOP_Translations Object ( [entries] => Array() [headers] => Array() )
Використання
get_translations_for_domain($domain);
-
$domain
(рядок) (обов’язковий) - Домен перекладу (текстовий домен). Унікальний ідентифікатор для одержання перекладених рядків.
Приклади
0
#1 Отримаємо дані про переклади для плагіна Classic Editor
У плагіна Classic Editor текстовий домен classic-editor
. Отримаємо дані щодо нього:
$data = get_translations_for_domain( 'classic-editor' ); print_r ($ data)
Результат:
MO Object ( [_nplurals] => 3 [filename:MO:private] => F:serversiteswp-test.ru/wp-content/languages/plugins/classic-editor-ru_RU.mo [entries] => Array ( [Allow site admins to change settings] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Allow site admins to change settings [Plural] => [translations] => Array ( [0] => Дозволити адміністраторам сайту змінювати налаштування ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Allow users to switch editors] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Allow users to switch editors [Plural] => [translations] => Array ( [0] => Дозволити користувачам перемикання редакторів ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [By default the Block Editor is replaced with the Classic Editor and users cannot switch editors.] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Залежно від Block Editor is replaced with Classic Editor and users cannot switch editors. [Plural] => [translations] => Array ( [0] => За замовчуванням редактор блоків буде замінено на класичний редактор, і користувачі не зможуть вибирати редактор. ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Change settings] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Change settings [Plural] => [translations] => Array ( [0] => Змінити налаштування ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Change the %1$sClassic Editor settings%2$s.] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Змінити %1$sКласичний Editor settings%2$s. [Plural] => [translations] => Array ( [0] => Змінити налаштування %1$sClassic Editor%2$s. ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Classic Editor] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Classic Editor [Plural] => [translations] => Array ( [0] => Classic Editor ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Default Editor] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Default Editor [Plural] => [translations] => Array ( [0] => Редактор за замовчуванням ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Default editor for all sites] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Default editor for all sites [Plural] => [translations] => Array ( [0] => Редактор за промовчанням для всіх сайтів ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Default editor for all users] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Default editor for all users [Plural] => [translations] => Array ( [0] => Редактор за промовчанням для всіх користувачів ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Edit “%s” in the Block Editor] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Edit “%s” in the Block Editor [Plural] => [translations] => Array ( [0] => Редагувати “%s” у редакторі блоків ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Edit “%s” in the Classic Editor] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Edit “%s” in the Classic Editor [Plural] => [translations] => Array ( [0] => Редагувати “%s” у класичному редакторі ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Editor] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Editor [Plural] => [translations] => Array ( [0] => Редактор ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Editor Name Block Editor] => Translation_Entry Object ( [is_plural] => [context] => Editor Name [singular] => Block Editor [Plural] => [translations] => Array ( [0] => Редактор блоків ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Editor Name Classic Editor] => Translation_Entry Object ( [is_plural] => [context] => Editor Name [singular] => Classic Editor [Plural] => [translations] => Array ( [0] => Класичний редактор ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Editor Name Edit (Блок Editor)] => Translation_Entry Object ( [is_plural] => [context] => Editor Name [singular] => Edit (Block Editor) [Plural] => [translations] => Array ( [0] => Змінити (редактор блоків) ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Editor Name Edit (Classic Editor)] => Translation_Entry Object ( [is_plural] => [context] => Editor Name [singular] => Edit (Classic Editor) [Plural] => [translations] => Array ( [0] => Змінити (класичний редактор) ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Editor Settings] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Editor Settings [Plural] => [translations] => Array ( [0] => Налаштування редактора ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Enables the WordPress classic editor та old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports the older plugins that extend this screen.] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Забезпечити WordPress класичний editor і old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports the older plugins that extend this screen. [Plural] => [translations] => Array ( [0] => Включає класичний редактор WordPress, старий варіант екрана редагування записів (TinyMCE, мета поля та ін.). Підтримує інші плагіни розширення старого редактора. ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [No] => Translation_Entry Object ( [is_plural] => [context] => [singular] => No [Plural] => [translations] => Array ( [0] => Ні ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Settings] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Settings [Plural] => [translations] => Array ( [0] => Налаштування ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Switch to Block Editor] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Switch to Block Editor [Plural] => [translations] => Array ( [0] => Перейти на редактор блоків ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Switch to Classic Editor] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Switch to Classic Editor [Plural] => [translations] => Array ( [0] => Перейти на класичний редактор ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [The Classic Editor plugin prevents use of the new Block Editor.] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Classic Editor plugin prevents use of the New Block Editor. [Plural] => [translations] => Array ( [0] => Плагін Classic Editor запобігає використанню нового редактора блоків. ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [WordPress Contributors] => Translation_Entry Object ( [is_plural] => [context] => [singular] => WordPress Contributors [Plural] => [translations] => Array ( [0] => Учасники розробки WordPress ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [Yes] => Translation_Entry Object ( [is_plural] => [context] => [singular] => Yes [Plural] => [translations] => Array ( [0] => Так ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [https://github.com/WordPress/classic-editor/] => Translation_Entry Object ( [is_plural] => [context] => [singular] => https://github.com/WordPress/classic-editor/ [Plural] => [translations] => Array ( [0] => https://github.com/WordPress/classic-editor/ ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) [https://wordpress.org/plugins/classic-editor/] => Translation_Entry Object ( [is_plural] => [context] => [singular] => https://wordpress.org/plugins/classic-editor/ [Plural] => [translations] => Array ( [0] => https://ua.wordpress.org/plugins/classic-editor/ ) [translator_comments] => [extracted_comments] => [references] => Array ( ) [flags] => Array ( ) ) ) [headers] => Array ( [PO-Revision-Date] => 2019-02-20 19:00:57+0000 [MIME-Version] => 1.0 [Content-Type] => text/plain; charset=UTF-8 [Content-Transfer-Encoding] => 8bit [Plural-Forms] => nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); [X-Generator] => GlotPress/2.4.0-alpha [Language] => ru [Project-Id-Version] => Plugins - Classic Editor - Stable (latest release) ) [_gettext_select_plural_form] => Array ( [0] => Plural_Forms Object ( [tokens:protected] => Array ( [0] => Array ( [0] => var ) [1] => Array ( [0] => value [1] => 10 ) [2] => Array ( [0] => op [1] => % ) [3] => Array ( [0] => value [1] => 1 ) [4] => Array ( [0] => op [1] => == ) [5] => Array ( [0] => var ) [6] => Array ( [0] => value [1] => 100 ) [7] => Array ( [0] => op [1] => % ) [8] => Array ( [0] => value [1] => 11 ) [9] => Array ( [0] => op [1] => != ) [10] => Array ( [0] => op [1] => && ) [11] => Array ( [0] => value [1] => 0 ) [12] => Array ( [0] => var ) [13] => Array ( [0] => value [1] => 10 ) [14] => Array ( [0] => op [1] => % ) [15] => Array ( [0] => value [1] => 2 ) [16] => Array ( [0] => op [1] => >= ) [17] => Array ( [0] => var ) [18] => Array ( [0] => value [1] => 10 ) [19] => Array ( [0] => op [1] => % ) [20] => Array ( [0] => value [1] => 4 ) [21] => Array ( [0] => op [1] => <= ) [22] => Array ( [0] => op [1] => && ) [23] => Array ( [0] => var ) [24] => Array ( [0] => value [1] => 100 ) [25] => Array ( [0] => op [1] => % ) [26] => Array ( [0] => value [1] => 10 ) [27] => Array ( [0] => op [1] => < ) [28] => Array ( [0] => var ) [29] => Array ( [0] => value [1] => 100 ) [30] => Array ( [0] => op [1] => % ) [31] => Array ( [0] => value [1] => 20 ) [32] => Array ( [0] => op [1] => >= ) [33] => Array ( [0] => op [1] => || ) [34] => Array ( [0] => op [1] => && ) [35] => Array ( [0] => value [1] => 1 ) [36] => Array ( [0] => value [1] => 2 ) [37] => Array ( [0] => op [1] =>?: ) [38] => Array ( [0] => op [1] =>?: ) ) [cache:protected] => Array ( ) ) [1] => get ) )
Виведемо всі оригінальні рядки та їх переклади. Дані переклади зберігаються у властивості entries
, яка містить масив об’єктів Translation_Entry для кожного рядка.
$data = get_translations_for_domain( 'classic-editor' ); if ( $data instanceof MO && $data->entries ) { foreach ( $data->entries as $entry ) { echo "Оригінальний рядок: {$entry->singular} n"; echo "Перекладений рядок: {$entry->translations[0]} nn"; } }
Результат:
Оригінальний рядок: Allow site admins to change settings Перекладений рядок: Дозволити адміністраторам сайту змінювати налаштування Оригінальний рядок: Allow users to switch editors Перекладний рядок: Дозволити користувачам перемикання редакторів Оригінальний рядок: By default the Block Editor is replaced with the Classic Editor and users cannot switch editors. Перекладений рядок: За замовчуванням редактор блоків буде замінено на класичний редактор, і користувачі не зможуть вибирати редактор. Оригінальний рядок: Change settings Перекладений рядок: Змінити налаштування Оригінальний рядок: Change the %1$sClassic Editor settings%2$s. Перекладений рядок: Змінити параметри %1$sClassic Editor%2$s. Оригінальний рядок: Classic Editor Перекладений рядок: Classic Editor Оригінальний рядок: Default Editor Перекладений рядок: Редактор за промовчанням Оригінальний рядок: Default editor for all sites Перекладений рядок: Редактор за промовчанням для всіх сайтів Оригінальний рядок: Default editor for all users Перекладний рядок: Редактор за промовчанням для всіх користувачів Оригінальний рядок: Edit “%s” in the Block Editor Перекладений рядок: Редагувати “%s” у редакторі блоків Оригінальний рядок: Edit “%s” in the Classic Editor Перекладений рядок: Редагувати “%s” у класичному редакторі Оригінальний рядок: Editor Перекладений рядок: Редактор Оригінальний рядок: Block Editor Перекладений рядок: Редактор блоків Оригінальний рядок: Classic Editor Перекладений рядок: Класичний редактор Оригінальний рядок: Edit (Block Editor) Перекладений рядок: Змінити (редактор блоків) Оригінальний рядок: Edit (Classic Editor) Перекладений рядок: Змінити (класичний редактор) Оригінальний рядок: Editor Settings Перекладений рядок: Налаштування редактора Оригінальний рядок: Enables WordPress classic editor і old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports the older plugins that extend this screen. Перекладений рядок: Включає класичний редактор WordPress, старий варіант екрана редагування записів (TinyMCE, мета поля та ін.). Підтримує інші плагіни розширення старого редактора. Оригінальний рядок: No Перекладений рядок: Ні Оригінальний рядок: Settings Перекладений рядок: Налаштування Оригінальний рядок: Switch to Block Editor Перекладений рядок: Перейти до редактора блоків Оригінальний рядок: Switch to Classic Editor Перекладений рядок: Перейти до класичного редактора Оригінальний рядок: The Classic Editor plugin prevents use of the new Block Editor. Перекладений рядок: Плагін Classic Editor запобігає використанню нового редактора блоків. Оригінальний рядок: WordPress Contributors Учасники розробки WordPress Оригінальний рядок: Yes Перекладений рядок: Так Оригінальний рядок: https://github.com/WordPress/classic-editor/ Перекладений рядок: https://github.com/WordPress/classic-editor/ Оригінальний рядок: https://wordpress.org/plugins/classic-editor/ Перекладений рядок: https://ua.wordpress.org/plugins/classic-editor/
нотатки
- Global. MO[]. $l10n
список змін
З версії 2.8.0 | Введено. |
Код get_translations_for_domain() get translations for domain WP 6.0.2
function get_translations_for_domain( $domain ) { global $l10n; if ( isset( $l10n[ $domain ] ) || ( _load_textdomain_just_in_time( $domain ) && isset( $l10n[ $domain ] ) ) ) { return $l10n[$domain]; } static $noop_translations = null; if ( null === $noop_translations ) { $noop_translations = New NOOP_Translations; } return $noop_translations; }