У функції є другий аргумент __()
. Слід встановити домен, який ви використовуєте для свого плагіна або теми. У наведених нижче прикладах я використовую 'text_domain'
. Рядок вашого домену має бути унікальним. Він не повинен відповідати жодному іншому рядку домену. Не використовується аргумент текстового домену за замовчуванням до 'default'
доменного імені WordPress. Детальнішу інформацію див. За посиланням.
Завжди використовуйте рядок ( 'text_domain'
). Ніколи не використовуйте змінну, функцію або константу з рядком в ній. Більшість програм (усіх?) Перекладів не побачать його без рядка.
Ваш код:
echo __( 'Hello ' . $first . ' you own me money.' );
Не включайте змінні в рядок.
Кращий спосіб:
echo sprintf( __( 'Hello %s you own me money.', 'text_domain' ), $first );
Або просто:
printf( __( 'Hello %s you own me money.', 'text_domain' ), $first );
%s
Заповнювач говорить людський перекладач, рядок збирається там. Використовуйте %d
для чисел. Є й інші заповнювачі .
(Це речення є граматично неправильним англійською мовою. Використовуйте 'Hello %s, you owe me money.'
або 'Hello %s, you own my money.'
залежно від значення, яке ви мали намір.)
Ваш код:
$html = '<div><p>Top: ' . $t_margin . '</p>' . <p>Bottom: ' . $b_margin . '</p></div>';
Не перекладайте HTML. Це однаково в будь-якій мові.
Кращий спосіб:
$html = sprintf( '<div><p>%s</p><p>%s</p></div>', __( 'Top: ', 'text_domain' ) . $t_margin, __( 'Bottom: ', 'text_domain' ) . $b_margin );
Або розбити його на кілька рядків:
$html = sprintf(
'<div><p>%s</p><p>%s</p></div>',
__( 'Top: ', 'text_domain' ) . $t_margin,
__( 'Bottom: ', 'text_domain' ) . $b_margin
);
Якщо незрозуміло, що Ви являєте собою Верх і Низ , Ви можете використати _x()
для пояснення контексту цих термінів.
Ви можете знайти інші випадки перекладу тут: Інтернаціоналізація: Ви, мабуть, робите неправильно