in admin/AmazonAI-TranslateConfiguration.php [138:213]
private function show_translate_option($src_lang, $voice_list, $lanuage, $language_name, $language_label, $selected_display_value)
{
if (empty($src_lang)) {
$src_lang = 'en';
}
if ($src_lang == $lanuage) {
//return;
}
$lan_option = 'amazon_polly_trans_langs_' . $lanuage;
$lan_voice_option = 'amazon_polly_trans_langs_' . $lanuage . '_voice';
$lan_label_option = 'amazon_polly_trans_langs_' . $lanuage . '_label';
$lan_display = 'amazon_polly_trans_langs_' . $lanuage . '_display';
$disabled = '';
if ( $src_lang == $lanuage ) {
$disabled = 'disabled';
}
#Some translations between languages are not supported by the service.
#Details: https://docs.aws.amazon.com/translate/latest/dg/pairs.html
if (!$this->common->is_translation_supported($src_lang, $lanuage)) {
$disabled = 'disabled';
}
echo '<tr>';
echo '<td><input type="checkbox" name="' . $lan_option . '" id="' . $lan_option . '" ' . $this->common->check_if_language_is_checked($lanuage, $src_lang) . ' ' . $disabled . '>' . $language_name . ' </td><td>';
$voice_id = get_option($lan_voice_option);
if ( $src_lang != $lanuage ) {
if ($this->common->is_audio_for_translations_enabled()) {
echo '  Voice: <select name="' . $lan_voice_option . '" id="' . $lan_voice_option . '" ' . $disabled . '>';
foreach ($voice_list['Voices'] as $voice) {
if (strpos($voice['LanguageName'], $language_name) !== false) {
echo '<option value="' . esc_attr($voice['Id']) . '" ';
if (strcmp($voice_id, $voice['Id']) === 0) {
echo 'selected="selected"';
}
echo '>' . esc_attr($voice['LanguageName']) . ' - ' . esc_attr($voice['Id']) . '</option>';
}
}
echo '</select>';
}
}
echo '</td>';
echo '<td>Label: <input type="text" width="70" class="regular-text" name="' . $lan_label_option . '" id="' . $lan_label_option . '" value="' . esc_attr( $language_label ) . '"></td>';
echo '<td>';
$display_values = [ 'Flag', 'Label', 'Flag + Label' ];
$only_labels = array("af","am","bn","bs","fa-AF","ha","ps","so","sw","tl","ta","ur","sr","ar", "fa", "hi", "ms");
if ( in_array($lanuage, $only_labels) ) {
$display_values = [ 'Label' ];
}
echo 'Display: <select name="' . $lan_display . '" id="' . $lan_display . '" >';
foreach ( $display_values as $display_value ) {
echo '<option value="' . esc_attr( $display_value ) . '" ';
if ( strcmp( $selected_display_value, $display_value ) === 0 ) {
echo 'selected="selected"';
}
echo '>' . esc_attr( $display_value ) . '</option>';
}
echo '</select>';
echo '</td>';
echo '</tr>';
}