<footer id="footer">
  <div class="row clearfix">
    <div class="dropdown select-lang">
      <a href="javascript:;" class="dropdown-toggle">
        Language
        <span class="caret"></span>
      </a>
      <ul class="dropdown-menu pick-lang">
        <li>
          <a href="<%= pick_lang('en') %>" data-lang="en">English</a>
        </li>
        <li>
          <a href="<%= pick_lang('cn') %>" data-lang="zh-cn">中文</a>
        </li>
      </ul>
    </div>
  </div>
  <div class="disclaimer">
    <div><img src="//gw.alicdn.com/tfs/TB1pTBZQFXXXXX9XXXXXXXXXXXX-794-280.png" width="200px" alt="Apache Incubator"></div>
    <div><span class="title">Disclaimer:</span> Apache Weex is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</div>
    <br/>
  </div>
  <hr>
  <div class="row">
    <p> <img src="//gw.alicdn.com/tfs/TB1bg8SQFXXXXcHXXXXXXXXXXXX-85-170.png" height="50px" alt="Apache"><span>Copyright(c) 2017 The Apache Software Foundation. Licensed under the </span> <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p>
  </div>
  <div class="row clearfix">
    <div></div>
  </div>
</footer>
