<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Project Tools</title>
<meta http-equiv="Content-Type" content=
"text/html; charset=utf-8">

<link rel="stylesheet" type="text/css" href="ooovi.css" title="viooo" />  </head>
<body>

    <dt>Công cụ dự án</dt>
  <dd>
   <ul>
    <li>   <a href="http://vi.openoffice.org/servlets/ProjectHome" title="Tới trang chủ của OpenOffice Việt">Trang chủ</a> </li>
     
       
 
  <li>   <a href="http://vi.openoffice.org/servlets/ProjectMemberList" title="Xem danh sách các thành viên và nhiệm vụ">Thành viên</a> </li>
  
  <li><a href="http://wiki.services.openoffice.org/wiki/Translation_Statistics" title="Kiểm tra trạng thái của bản dịch">Thống kê dịch</a></li>
  </ul>
</dd>
 
 
            
 
 <dd>
 <ul>   <li>   <a href="http://vi.openoffice.org/servlets/ProjectNewsList" title="Đọc thông tin mới nhất">Tin tức</a> </li>
 
 
         
 
    <!--<li>   <a href="http://vi.openoffice.org/servlets/ProjectForumView">Discussion forums</a> </li>-->
  
 
         
 
 <li>   <a href="http://vi.openoffice.org/servlets/ProjectMailingListList" title="Hỏi câu và thảo luận vấn đề">Hộp thư chung</a> </li>
</ul></dd>  
 
            
 
 <dd>
 <ul>  <li>   <a href="http://vi.openoffice.org/servlets/ProjectDocumentList" title="Tải về tài liệu hướng dẫn">Tài liệu và Tập tin</a> </li>
 
 
         
 
 <li><a href="http://vi.openoffice.org/source/browse/vi/" title="Tới kho lưu tập tin">Điều khiển mã nguồn (CVS)</a>


</li>
</ul>
</dd> 
 
               
 
 <dd><ul><li>   <a href="http://vi.openoffice.org/servlets/ProjectIssues" title="Thông báo lỗi">Bộ theo dõi vấn đề</a> </li>
 
 
                          <li><a href="http://qa.openoffice.org/issues/buglist.cgi?cmdtype=runuserdefault" title="Tới lỗi được tôi thông báo">Vấn đề của tôi</a></li>
         </ul>
  </dd>
    
   </dl>
 




<form action="http://vi.openoffice.org/servlets/Search" method="get">
 <dl id="searchboxvi" class="navgroup">
  
      <dt>Tìm kiếm</dt>
  <dd>
   <div>
       <select name="scope">
           <option value="project" selected="selected">Dự án này</option>
                <option value="myprojects">Các dự án của tôi</option>
          <option value="domain" >Mọi dự án</option>
    </select>
      </div>
   <div>
    <input type="hidden" name="resultsPerPage" value="40" /> 
    <input type="text" name="query" size="10" /> 
    <input type="submit" name="Button" value="Tìm" />
   </div>
   <div>
       <a href="http://vi.openoffice.org/servlets/Search?mode=advanced" title="Tùy chỉnh việc tìm kiếm">Tìm cấp cao</a>    </div>
   <div><a href="http://support.openoffice.org/search.html" title="Sử dụng Google để tìm qua OpenOffice hay Mạng">Tìm qua Google</a></div>
  </dd>

 </dl>
</form>

<form action="http://vi.openoffice.org/servlets/Search" method="get">
 <dl id="searchbox" class="navgroup">
  
      <dt>Search</dt>
  <dd>
   <div>
       <select name="scope">
           <option value="project" selected="selected">This project</option>
                <option value="myprojects">My projects</option>
          <option value="domain" >All projects</option>
    </select>
      </div>
   <div>
    <input type="hidden" name="resultsPerPage" value="40" /> 
    <input type="text" name="query" size="10" /> 
    <input type="submit" name="Button" value="Go" />
   </div>
   <div>
       <a href="http://vi.openoffice.org/servlets/Search?mode=advanced">Advanced search</a>    </div>
   <div><a href="http://support.openoffice.org/search.html">Google search</a></div>
  </dd>

 </dl>
</form>



<dl id="helptextvi" class="navgroup">
 <dt>Dự án OpenOffice chính</dt>
 <dd>
  <ul>
     
   <li><a href="http://www.openoffice.org/sitemap.html" class="helplink" title="Xem phân loại các trang Mạng">Sơ đồ nơi Mạng</a></li>
   <li><a href="http://www.openoffice.org/faq.html" class="helplink" title="Hỏi Đáp tiếng Anh">FAQ</a></li>
   <li><a href="http://vi.openoffice.org/nonav/servlets/HelpTOC" onclick="return launch(this.href, 1)" 
title="Ghi chú : liên kết có thể mở cửa sổ mới" class="helplink">Trợ giúp</a></li>
  </ul>
 </dd>
</dl>

<dl id="helptext" class="navgroup">
 <dt>How do I...</dt>
 <dd>
  <ul>
     
   <li><a href="http://www.openoffice.org/sitemap.html" class="helplink">Sitemap</a></li>
   <li><a href="http://www.openoffice.org/faq.html" class="helplink">FAQ</a></li>
   <li><a href="http://vi.openoffice.org/nonav/servlets/HelpTOC" onclick="return launch(this.href, 1)" 
title="Note: link may open in new window" class="helplink">Get help?</a></li>
  </ul>
 </dd>
</dl>


</div>



</div>
</body>
</html>
