@GoodOrlov

Необходимо из строки «выцепить» фрагмент, изменить его и положить на место. Как вытащить, изменить и положить на место?

Есть файл локализации.
Необходимо в textarea запихнуть предложения в кавычках для последующего редактирования/перевода.
После редактирования в textarea сохраняется новый файл с переводом, весь текст остается прежним, кроме изм. информации в кавычках

Как это все выглядит сейчас:
spoiler
5df3c90cb0e7d476059844.png

Как должно:
spoiler
5df3ca14a2d11699893918.png


После редактирования в textarea сохраняется новый файл с переводом, весь текст остается прежним, кроме изм. информации в кавычках
spoiler
5df3cb66886bf035748254.png


Фрагмент файла локализации

l_english:

################################### German REICH ####################################
early_ship_hull_cruiser:0 "Early Cruiser Hull"
improved_ship_hull_heavy:0 "1940 Heavy Ship Hull"
improved_ship_hull_carrier:0 "1940 Carrier Hull"
cv_tech_research:0 "Aircraft Carrier Tech"
signal_company_tech:0 "Signal Company"


html

<!DOCTYPE html>
<html lang="ru" >
<head>
  <meta charset="UTF-8">
  <title>Saving a file with pure JS</title>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js" type="text/javascript"></script>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css'><link rel="stylesheet" href="./style.css">

</head>
<body>

  <input type="file" onchange=read(this)>

  <!-- partial:index.partial.html -->
  <form role="form">
    <h3>Saving a file with pure JS!</h3>
    <p>Uses HTML5 W3C saveAs() function and the <a href="https://github.com/eligrey/FileSaver.js" target="_blank">FileSaver.js</a> polyfill for this.<br>
      I didn't think this was even possible without a server but the docs say it should work in IE 10+,  Sweet!</p>

      <div class="form-group">
        <label for="input-fileName">File name</label>
        <input type="text" class="form-control" id="input-fileName" placeholder="Enter file name">
      </div>

      <div class="form-group">
        <label for="textarea">Text</label>
        <textarea id="textarea" class="form-control" rows="10" placeholder="Enter text to save"></textarea>
      </div>

      <button id="btn-save" type="submit" class="btn btn-primary">Save to file</button>

    </form>
    <!-- partial -->
    <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
    <script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/FileSaver.js'></script><script  src="./script.js"></script>

  </body>
  </html>



js

const reader = new FileReader();

function read(input) {
  const csv = input.files[0];
  reader.readAsText(csv);
  document.getElementById("input-fileName").value = csv.name.replace("l_english.yml","l_russian.yml"); // .size
}

reader.onload = function (e) {
  //document.querySelector('.output').innerText = e.target.result;
  var text = e.target.result;
  alert(text);
  
  document.getElementById("textarea").value = text;
}

$("#btn-save").click( function() {
  var text = $("#textarea").val();
  var filename = $("#input-fileName").val()
  var blob = new Blob([text], {type: "text/plain;charset=utf-8"});
  saveAs(blob, filename+".yml");
});

  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Надо выучить js или обратиться на фриланс.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
22 мая 2024, в 07:09
50000 руб./за проект
22 мая 2024, в 02:15
10000 руб./за проект
21 мая 2024, в 23:47
30000 руб./за проект