inenglish.site

Your compute,
our address.

The method fits on one page.

The method

Six steps · any language you like
  1. Pick the useful part, not the whole site

    A calendar, a service catalogue, a timetable, a fee table. Editorial pages rarely earn the effort, and the useful part is usually structured, which makes the next steps easy.

  2. Crawl it politely

    Read their robots.txt and obey it. Identify your crawler in the User-Agent. Wait half a second between requests. Fetch each page once and keep the raw HTML so you never have to fetch it twice.

  3. Extract the fields, not the markup

    Title, sections, dates, prices, addresses, links. Store them in a small database keyed by the page's original URL. Times, numbers and names are copied, never translated.

  4. Translate the text with a proper model and a glossary

    A current large language model with a short glossary of the site's own terms and a rule to keep proper names beats every browser translator. Cache each translated text by its hash so a refresh only translates what is new. A whole site of this kind costs a few dollars once and cents a day after.

  5. Generate a static site with the same paths

    One folder of HTML. Keep their URL structure, so swapping the host on any of their links lands on your page. Mark machine translations as such, date them, and link every page to its original. No tracking, no ads.

  6. Refresh on a schedule

    A daily or weekly job that reruns steps two to five. A stale mirror is worse than none.

The two sites in the library were built exactly this way, in a few hundred lines of Python and no framework. Anything that produces a folder of static files works: Python, Node, a shell script, a spreadsheet macro.

Give it a home

Zip · up to 50 MB

Upload the folder as a zip. It gets reviewed by a person, then attached at their-site.inenglish.site and listed in the library with you credited if you want. Two conditions: every page links to its original, and machine translations are marked as such.

A folder with an index.html at its root, zipped. Up to 50 MB; large media belongs on the original site anyway.