<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
	<meta http-equiv="Content-Type" content= "text/html; charset=utf-8">
	<meta http-equiv="Content-Language" content="en-us">
    <meta name="COPYRIGHT" content= "Copyright (c) 1991-2022 Unicode, Inc. All rights reserved.">
    <meta name="DESCRIPTION" content= "Readme for Unicode CLDR with version number and other information.">
    <title>ReadMe for Unicode CLDR</title>
  </head>

  <body>
    <h2>Unicode Common Locale Data Repository (CLDR)</h2>
    <h3>ReadMe for Unicode <abbr title="Common Locale Data Repository">CLDR</abbr> version 42</h3>
    <p>Last updated: 2022-Oct-17</p>

    <!--<p><b>Note:</b> CLDR 42 is in development and not recommended for use at this stage.</p>-->
    <!--<p><b>Note:</b> This is the milestone 1 version of CLDR 42, intended for those wishing to do pre-release testing.
    It is not recommended for production use.</p>-->
    <!--<p><b>Note:</b> This is a preliminary version of CLDR 42, intended for those wishing to do pre-release testing.
    It is not recommended for production use.</p>-->
    <!--<p><b>Note:</b> This is a pre-release candidate version of CLDR 42, intended for testing.
    It is not recommended for production use.</p>-->
    <p>This is the final release version of CLDR 42.</p>

    <p><strong>Important notes for CLDR 36 and later:</strong></p>
    <ul>
      <li>The CLDR repository has switched from subversion to git.</li>
      <li>Data in the main CLDR repository now includes some elements with the value “↑↑↑” indicating
    	that translators have explicitly determined that the inherited value should always be used.</li>
      <li>To generate data in the form that was used for CLDR 35.1 and earlier, in which “↑↑↑” is
    	resolved appropriately (either removed or replaced with an apropriate value) and other minimization
    	is performed, a new tool GenerateProductionData is provided (command-line options provide the
    	ability to specify source and destination directory, among other things).</li>
      <li>CLDR data that has been processed by GenerateProductionData is available in the parallel
    	“cldr-staging” repository.</li>
    </ul>

    <p>For further information:</p>
    <ul>
      <li>Information about <a href="https://cldr.unicode.org/index/downloads">CLDR releases and downloads</a>,
        including the data files and LDML specification associated with each release.</li>
      <li>Information about <a href="https://cldr.unicode.org/development/cldr-tools">Building and running CLDR Tools</a></li>
    </ul>
    <p>Tools Quickstart:</p>
    <ul>
      <li>See the <a href="https://cldr.unicode.org/development/cldr-tools">CLDR Tools Website</a></li>
    </ul>

    <p>Licenses:</p>
    <ul>
 	  <li>Usage of CLDR data and software is governed by the <a href="http://www.unicode.org/copyright.html">Unicode Terms of Use</a>,
 	    a copy of which is included as unicode-license.txt.</li>
 	  <li>Some CLDR tools depend on libraries in tools/cldr-code/libs/; use of these libraries is governed by separate license agreements.
 	  <ul>
 	    <li>Use of the ICU libraries is subject to the
 	    <a href="https://github.com/unicode-org/icu/blob/main/icu4j/main/shared/licenses/LICENSE">ICU License</a>,
 	    included as ICU-LICENSE.</li>
 	    <li>Use of the Guava, Xerces, and Myanmar Tools libraries is subject to the
 	    <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache License</a>,
 	    included as apache-license.txt.</li>
 	  </ul>
 	  </li>
 	</ul>

    <hr>
    <p>Copyright &copy; 1991-2022 Unicode, Inc.<br>
    All rights reserved.<br>
    <a href="http://www.unicode.org/copyright.html">Terms of use</a></p>
  </body>
</html>
