summaryrefslogtreecommitdiffstatshomepage
path: root/core/modules/locale/locale.bulk.js
diff options
context:
space:
mode:
Diffstat (limited to 'core/modules/locale/locale.bulk.js')
-rw-r--r--core/modules/locale/locale.bulk.js32
1 files changed, 21 insertions, 11 deletions
diff --git a/core/modules/locale/locale.bulk.js b/core/modules/locale/locale.bulk.js
index 5d6c08f9505..1b7d0ff2e55 100644
--- a/core/modules/locale/locale.bulk.js
+++ b/core/modules/locale/locale.bulk.js
@@ -1,27 +1,37 @@
/**
-* DO NOT EDIT THIS FILE.
-* See the following change record for more information,
-* https://www.drupal.org/node/2815083
-* @preserve
-**/
+ * @file
+ * Locale behavior.
+ */
(function ($, Drupal) {
+ /**
+ * Select the language code of an imported file based on its filename.
+ *
+ * This only works if the file name ends with "LANGCODE.po".
+ *
+ * @type {Drupal~behavior}
+ *
+ * @prop {Drupal~behaviorAttach} attach
+ * Attaches behavior for preselecting language code based on filename.
+ */
Drupal.behaviors.importLanguageCodeSelector = {
attach(context, settings) {
const form = once('autodetect-lang', '#locale-translate-import-form');
-
if (form.length) {
const $form = $(form);
const $langcode = $form.find('.langcode-input');
$form.find('.file-import-input').on('change', function () {
+ // If the filename is fully the language code or the filename
+ // ends with a language code, pre-select that one.
const matches = this.value.match(/([^.][.]*)([\w-]+)\.po$/);
-
- if (matches && $langcode.find(`option[value="${matches[2]}"]`).length) {
+ if (
+ matches &&
+ $langcode.find(`option[value="${matches[2]}"]`).length
+ ) {
$langcode[0].value = matches[2];
}
});
}
- }
-
+ },
};
-})(jQuery, Drupal); \ No newline at end of file
+})(jQuery, Drupal);