01
1. Keep the document lifecycle in the browser
The browser reads the local .xlsx or .csv file and parses it in a Web Worker. The source file buffer, file name, sheet names, formulas, styles, and workbook XML stay on the device. This makes the privacy boundary explicit instead of relying on a vague promise about uploads.
- The application has no server endpoint for uploading translation files
- Parsing and export happen locally in the browser
- The browser keeps the original file available for local reconstruction
02
2. Separate translatable text from technical values
Before a request is built, the workbook is inspected cell by cell. Eligible text can become a translation candidate; formulas, numbers, dates, URLs, email addresses, and product identifiers remain protected. For catalogs, this prevents SKUs, barcodes, handles, prices, and marketplace IDs from turning into translated text.
- Formulas such as =SUM and =VLOOKUP remain outside the translation scope
- Technical identifiers and numeric values remain unchanged
- The preview makes the protected-versus-translatable decision visible
03
3. Send only bounded text batches
When translation is authorized, the browser sends only the selected cell text required for a bounded batch, together with opaque cell IDs. The request does not contain the workbook, sheet names, formulas, styles, or workbook XML. Returned translations are mapped back to the local workbook in the browser.
- Duplicate selected text can be translated once and reused locally
- Progress, retry, and failed batches remain visible to the user
- Server usage is measured from the text batch, not from the workbook
04
4. Rebuild and export locally
The browser applies completed translations to a local copy and rebuilds the output. XLSX workbooks retain formulas, links, merged cells, styles, and sheet structure; CSV output retains delimiters, quoting, line endings, and embedded line breaks. A representative sample should still be reviewed before production handoff.
- One output file can be produced for each selected language
- Incomplete or failed languages are not presented as finished downloads
- The final file is downloaded directly from the browser
05
What this architecture does not claim
Browser-first does not mean that no text ever leaves the device: selected cell text is sent transiently when translation is requested. It means the complete workbook and its surrounding structure are not uploaded. The right workflow depends on the sensitivity of the text you choose to translate.
- Review selected cells before sending a translation batch
- Do not put secrets or confidential values into translatable cells
- Test formulas, formats, and imports with a representative sample