<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" />
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>Apache OpenOffice - Important hints for the chosen platform</title>
  <script type="text/javascript" src="/download/globalvars.js"></script>
  <script type="text/javascript" src="/download/msg_prop_l10n_en.js"></script>
  <script type="text/javascript" src="msg_prop_l10n_fr.js"></script>
  <style type="text/css">
  /* <![CDATA[ */
  /*-------------------- Exceptions on standard css -----------------------*/
  @import "/css/styles.css";
  @import "/css/exceptions.css";
  /* ]]> */
  </style>
</head>

<body style="padding: 10px 10px 10px 10px;">
  <!-- The text in the H1 tag is intentionally shown as not displayable, just to please accessibility tools like a
  screen reader. -->
  <h1 style="display: none;">Apache OpenOffice</h1>
  <h2 style="display: none;">Apache OpenOffice</h2>

    <!-- Text is coming from 'msg_prop_l10n_xy.js' -->
    <script type="text/javascript">
    <!--
    document.write( "<h3>" + l10n.dl_platform_info_headline + "</h3>" );

    document.write( "<h4><b>" + l10n.dl_platform_info_win_headline + "</b></h4>" );
    document.write( l10n.dl_platform_info_win_text );

    document.write( "<h4><b>" + l10n.dl_platform_info_mac_headline + "</b></h4>" );
    document.write( l10n.dl_platform_info_mac_text );

    document.write( "<h4><b>" + l10n.dl_platform_info_linux_headline + "</b></h4>" );
    document.write( l10n.dl_platform_info_linux_text );
    //-->
    </script>

</body>
</html>
