// Get the plural post status label
$ps_status_label = $status->label_count;
$submenu[$menu][] = array(
sprintf(
translate_nooped_plural(
$ps_status_label,
$ps_status_count
),
$ps_status_count
),
Isso deve funcionar como esperado para as principais traduções. Agora você precisa do textdomain, então vamos procurar a string que você deseja traduzir
foreach ( $GLOBALS['l10n'] as $domain => $data ) {
if ( in_array( $ps_status_label[0], array_keys( $data->entries ) ) )
break;
$domain = '';
}
$domain = ( ! empty( $domain ) ) ? $domain : 'default';
E agora você pode alterar o primeiro snippet de código para
// Get the plural post status label
$ps_status_label = $status->label_count;
$submenu[$menu][] = array(
sprintf(
translate_nooped_plural(
$ps_status_label,
$ps_status_count,
$domain
),
$ps_status_count
),
Você só precisa da forma plural do status da postagem, apenas aumente o valor da contagem em translate_nooped_plural()
sprintf(
translate_nooped_plural(
$ps_status_label,
10,
$domain
),
$ps_status_count
),
Isso sempre retornará o formulário plural porque o valor da contagem é maior que 1. Certifique-se de usar um valor grater que 3, porque em alguns idiomas existem diferenças entre os casos para um, dois ou mais.
Apenas para esclarecer:
translate_nooped_plural(
[array(
[string for singular]
[string for plural]
),
[count] (1 = select singular string, greater than 1 select the plural string)
[domain]
)