Commit a72d1f1b authored by Dries's avatar Dries

Issue #2004684 by mgifford, Schnitzel: Improve Accessibility for String Translation UI.

parent 7a0c707e
...@@ -98,7 +98,7 @@ function testStringTranslation() { ...@@ -98,7 +98,7 @@ function testStringTranslation() {
); );
// No t() here, it's surely not translated yet. // No t() here, it's surely not translated yet.
$this->assertText($name, t('name found on edit screen.')); $this->assertText($name, t('name found on edit screen.'));
$this->assertNoText('English', t('No way to translate the string to English.')); $this->assertNoOption('edit-langcode', 'en', t('No way to translate the string to English.'));
$this->drupalLogout(); $this->drupalLogout();
$this->drupalLogin($admin_user); $this->drupalLogin($admin_user);
$this->drupalPost('admin/config/regional/language/edit/en', array('locale_translate_english' => TRUE), t('Save language')); $this->drupalPost('admin/config/regional/language/edit/en', array('locale_translate_english' => TRUE), t('Save language'));
......
...@@ -297,9 +297,9 @@ function locale_translate_edit_form($form, &$form_state) { ...@@ -297,9 +297,9 @@ function locale_translate_edit_form($form, &$form_state) {
); );
$form['strings'][$string->lid]['original'] = array( $form['strings'][$string->lid]['original'] = array(
'#type' => 'item', '#type' => 'item',
'#title' => t('Source string'), '#title' => t('Source string (@language)', array('@language' => t('Built-in English'))),
'#title_display' => 'invisible', '#title_display' => 'invisible',
'#markup' => check_plain($source_array[0]), '#markup' => '<span lang="en">' . check_plain($source_array[0]) . '</span>',
); );
} }
else { else {
...@@ -311,18 +311,19 @@ function locale_translate_edit_form($form, &$form_state) { ...@@ -311,18 +311,19 @@ function locale_translate_edit_form($form, &$form_state) {
$form['strings'][$string->lid]['original_singular'] = array( $form['strings'][$string->lid]['original_singular'] = array(
'#type' => 'item', '#type' => 'item',
'#title' => t('Singular form'), '#title' => t('Singular form'),
'#markup' => check_plain($source_array[0]), '#markup' => '<span lang="en">' . check_plain($source_array[0]) . '</span>',
'#prefix' => '<span class="visually-hidden">' . t('Source string (@language)', array('@language' => t('Built-in English'))) . '</span>',
); );
$form['strings'][$string->lid]['original_plural'] = array( $form['strings'][$string->lid]['original_plural'] = array(
'#type' => 'item', '#type' => 'item',
'#title' => t('Plural form'), '#title' => t('Plural form'),
'#markup' => check_plain($source_array[1]), '#markup' => '<span lang="en">' . check_plain($source_array[1]) . '</span>',
); );
} }
if (!empty($string->context)) { if (!empty($string->context)) {
$form['strings'][$string->lid]['context'] = array( $form['strings'][$string->lid]['context'] = array(
'#type' => 'value', '#type' => 'value',
'#value' => check_plain($string->context), '#value' => '<span lang="en">' . check_plain($string->context) . '</span>',
); );
} }
// Approximate the number of rows to use in the default textarea. // Approximate the number of rows to use in the default textarea.
...@@ -330,10 +331,11 @@ function locale_translate_edit_form($form, &$form_state) { ...@@ -330,10 +331,11 @@ function locale_translate_edit_form($form, &$form_state) {
if (empty($form['strings'][$string->lid]['plural']['#value'])) { if (empty($form['strings'][$string->lid]['plural']['#value'])) {
$form['strings'][$string->lid]['translations'][0] = array( $form['strings'][$string->lid]['translations'][0] = array(
'#type' => 'textarea', '#type' => 'textarea',
'#title' => t('Translated string'), '#title' => t('Translated string (@language)', array('@language' => $langname)),
'#title_display' => 'invisible', '#title_display' => 'invisible',
'#rows' => $rows, '#rows' => $rows,
'#default_value' => $translation_array[0], '#default_value' => $translation_array[0],
'#attributes' => array('lang' => $langcode),
); );
} }
else { else {
...@@ -346,6 +348,8 @@ function locale_translate_edit_form($form, &$form_state) { ...@@ -346,6 +348,8 @@ function locale_translate_edit_form($form, &$form_state) {
'#title' => ($i == 0 ? t('Singular form') : format_plural($i, 'First plural form', '@count. plural form')), '#title' => ($i == 0 ? t('Singular form') : format_plural($i, 'First plural form', '@count. plural form')),
'#rows' => $rows, '#rows' => $rows,
'#default_value' => isset($translation_array[$i]) ? $translation_array[$i] : '', '#default_value' => isset($translation_array[$i]) ? $translation_array[$i] : '',
'#attributes' => array('lang' => $langcode),
'#prefix' => $i == 0 ? ('<span class="visually-hidden">' . t('Translated string (@language)', array('@language' => $langname)) . '</span>') : '',
); );
} }
} }
...@@ -356,12 +360,15 @@ function locale_translate_edit_form($form, &$form_state) { ...@@ -356,12 +360,15 @@ function locale_translate_edit_form($form, &$form_state) {
'#title' => t('Singular form'), '#title' => t('Singular form'),
'#rows' => $rows, '#rows' => $rows,
'#default_value' => $translation_array[0], '#default_value' => $translation_array[0],
'#attributes' => array('lang' => $langcode),
'#prefix' => '<span class="visually-hidden">' . t('Translated string (@language)', array('@language' => $langname)) . '</span>',
); );
$form['strings'][$string->lid]['translations'][1] = array( $form['strings'][$string->lid]['translations'][1] = array(
'#type' => 'textarea', '#type' => 'textarea',
'#title' => t('Plural form'), '#title' => t('Plural form'),
'#rows' => $rows, '#rows' => $rows,
'#default_value' => isset($translation_array[1]) ? $translation_array[1] : '', '#default_value' => isset($translation_array[1]) ? $translation_array[1] : '',
'#attributes' => array('lang' => $langcode),
); );
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment