Multi-lingual Forms and Applications There are currently several different practices for presenting forms to a multi-lingual audience. One of the mechanisms that can be used is Content Negotation as described in the HTTP specification. This allows the user-agent to send along with the request for a resource a list of (natural) languages that are acceptable (amongst other things). Unfortunately, this mechanism is often ignored by servers, most notably by Google, who prefer to use the sender's IP address to decide which language to use (much to the annoyance, it might be said, of users who do use the HTTP mechanism). One of the reasons that they may have chosen not to use HTTP content negotiation is that browsers are often not properly set up to include the user's list of languages, and most users don't even know that it is possible to give your language preferences, let alone how to set those preferences up. A technique used by authors who don't have the resources to map IP addresses to languages is to include buttons or links on the page to other language versions of the page. This however can prove to be an administrative nightmare, not only for ensuring that the translations are kept up-to-date with changes in the wording, but that the different pages are kept up to date with changes in the layout and presentation. This talk will describe the use of XForms to simplify the administration of multi-lingual forms. A number of approaches are possible, using generic features of XForms, that allow there to be one form, with all the text centralised separate from the form itself. This can be compared to how style sheets allow styling to be centralised away from a page, and allow one page to have several styling; the XForms techniques can provide a sort of Language-Sheet facility.