2 Commits

Author SHA1 Message Date
300d0baf63 Merge branch 'feature/save-translated-file-#5' into dev 2024-06-16 01:20:31 +03:00
d23315e2b9 feat: add save btn 2024-06-16 01:20:09 +03:00
2 changed files with 26 additions and 0 deletions

View File

@@ -6,5 +6,8 @@
<nwui-button (click)="onClearClicked()"> <nwui-button (click)="onClearClicked()">
<span><i class="lni lni-trash-can"></i> Clear</span> <span><i class="lni lni-trash-can"></i> Clear</span>
</nwui-button> </nwui-button>
<nwui-button (click)="onSaveClicked()">
<span><i class="lni lni-save"></i> Save</span>
</nwui-button>
</div> </div>
<app-text-list [elements]="elements"></app-text-list> <app-text-list [elements]="elements"></app-text-list>

View File

@@ -62,4 +62,27 @@ export class AppComponent implements OnInit {
this.elements = []; this.elements = [];
localStorage.removeItem(LocalStorageKeys.TRANSLATIONS); localStorage.removeItem(LocalStorageKeys.TRANSLATIONS);
} }
onSaveClicked() {
const original_file: NpsFile = JSON.parse(
localStorage.getItem(LocalStorageKeys.ORIGINAL_FILE) ?? '{"file_name":"", "original_text":""}',
);
if (original_file.file_name && original_file.original_text) {
const data: TranslateData[] = JSON.parse(localStorage.getItem(LocalStorageKeys.TRANSLATIONS) ?? '[]');
if (!data.length) {
alert('No data');
return;
}
original_file.translated_text = original_file.original_text;
data.forEach((el) => {
original_file.translated_text = original_file.translated_text?.replace(el.english_text, el.translated_text);
});
const element = document.createElement('a');
const file = new Blob([original_file.translated_text], { type: 'text/plain' });
element.href = URL.createObjectURL(file);
element.download = original_file.file_name;
element.click();
}
}
} }