# JS/JSON/XML Translation In this section, we describe the process of translating content in JavaScript files and dynamic (JSON or XML) responses. ## General Translation of HTML is mostly automated over the proxy. But websites rely on many additional resources besides the document itself, such as JS libraries, CSS stylesheets, webfonts, dynamic requests and images. Not all of these resource types require translation, but JSON and XML responses frequently do. Such responses can also present significant challenges for both translators and proxy specialists. One of the problems is detection: proxy crawls/analyses do not operate in a browser-like environment. There is no headless browser or VM running in which a page load could be initiated or JavaScript evaluated for content detection purposes. Inherent complexity is another issue: the enormous diversity (to put it charitably) of web technologies in use nowadays prevents reliable automation of such a process. But, though JS/dynamic content can slip under the radar at first, the proxy can easily translate it with some help. ## Finding Content An early investigation will reveal content that is unavailable to the crawler by default, and will save you trouble (of having to deal with untranslated content as late as in the review phase, for instance). ### X-proxy To check how a website is doing over the proxy, open it in the **X-proxy** mode, a specialized Preview mode available through the Dashboard *Pages list*. `Right-click` on any of the pages and select *X Proxy* to view the page in this Preview mode. Note that you need to *add at least one target language **and** select it in the left side menu* to access the preview. The X-proxy replaces text it recognizes with x-es. Though not too impressive visually, it is an excellent research tool. It lets you *home in on undetected content*. To utilize it most effectively, combine it with your browser's DevTool. Major browsers such as Firefox and Chrome allow you to do full-text search on (almost) all resources/requests used during and after page load. In Chrome, for example, you can press `Ctrl` + `Shift` + `F` to start a full text search in the DevTool. The following screenshot demonstrates how the X-proxy can make untranslated/undetected content obvious: ![x-proxy example](/img/x_proxy_example.png) Having removed all known text from the equation, you are free to concentrate on the "untranslated" parts. Findings will naturally be site-specific, but there are some familiar, recurring scenarios: 1. **content is in `