Commit b81a5ed7 authored by catch's avatar catch
Browse files

feat: #3591076 JS translation files should be generated and served from assets://

By: duaelfr
By: smustgrave
By: berdir
By: guillaumepacilly
(cherry picked from commit b3b68aed)
parent 8ddeae42
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ function locale_install(): void {
function locale_uninstall(): void {
  $config = \Drupal::config('locale.settings');
  // Delete all JavaScript translation files.
  $locale_js_directory = 'public://' . $config->get('javascript.directory');
  $locale_js_directory = 'assets://' . $config->get('javascript.directory');

  if (is_dir($locale_js_directory)) {
    $locale_javascripts = \Drupal::state()->get('locale.translation.javascript', []);
+2 −2
Original line number Diff line number Diff line
@@ -326,7 +326,7 @@ function locale_js_translate(array $files = [], $language_interface = NULL) {
    $language_interface = \Drupal::languageManager()->getCurrentLanguage();
  }

  $dir = 'public://' . \Drupal::config('locale.settings')->get('javascript.directory');
  $dir = 'assets://' . \Drupal::config('locale.settings')->get('javascript.directory');
  $parsed = \Drupal::state()->get('system.javascript_parsed', []);
  $new_files = FALSE;

@@ -1020,7 +1020,7 @@ function _locale_rebuild_js($langcode = NULL) {

  // Construct the filepath where JS translation files are stored.
  // There is (on purpose) no front end to edit that variable.
  $dir = 'public://' . $config->get('javascript.directory');
  $dir = 'assets://' . $config->get('javascript.directory');

  // Delete old file, if we have no translations anymore, or a different file to
  // be saved.
+2 −2
Original line number Diff line number Diff line
@@ -314,7 +314,7 @@ public function testJavaScriptTranslation(): void {
    _locale_rebuild_js($langcode);

    $locale_javascripts = \Drupal::state()->get('locale.translation.javascript', []);
    $js_file = 'public://' . $config->get('javascript.directory') . '/' . $langcode . '_' . $locale_javascripts[$langcode] . '.js';
    $js_file = 'assets://' . $config->get('javascript.directory') . '/' . $langcode . '_' . $locale_javascripts[$langcode] . '.js';
    $this->assertFileExists($js_file);

    // Test JavaScript translation rebuilding.
@@ -331,7 +331,7 @@ public function testJavaScriptTranslation(): void {
    new Settings($settings);
    _locale_rebuild_js($langcode);
    $locale_javascripts = \Drupal::state()->get('locale.translation.javascript', []);
    $js_file = 'public://' . $config->get('javascript.directory') . '/' . $langcode . '_' . $locale_javascripts[$langcode] . '.js';
    $js_file = 'assets://' . $config->get('javascript.directory') . '/' . $langcode . '_' . $locale_javascripts[$langcode] . '.js';
    $content = file_get_contents($js_file);
    $this->assertStringContainsString('"' . $string_override . '":"' . $string_override . '"', $content);
  }