<!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" xml:lang="hu" lang="hu">
<head>
    <meta name="description" content="Az Apache OpenOffice nyílt forrású projekt hivatalos weboldala, az OpenOffice Writer, Calc, Impress, Draw és Base honlapja." />
    <meta name="keywords" content="OpenOffice, Open Office, Apache OpenOffice, Apache Open Office, OpenOffice.org, Calc, Impress, Draw, Base, ODF, Open Document Format, free office editors, ingyenes irodai programcsomag" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache OpenOffice - Nyílt és ingyenes irodai programcsomag</title>
    <script type="text/javascript" src="/download/globalvars.js"></script>
    <script type="text/javascript" src="./msg_prop_l10n_test-hu.js"></script>
    <style type="text/css">
    /* <![CDATA[ */
    /*-------------------- Exceptions on standard css -----------------------*/
    @import "/css/home.css";
    @import "/css/styles.css";
    @import "/css/exceptions.css";
    /* ]]> */
    </style>
    <script>
      function follow( platform ) {
        // _gaq.push( ['_trackEvent','social', 'followUs', platform] );

        if ( platform == 'ApacheBlog' )
          window.open( "https://blogs.apache.org/OOo/", "_blank" );
        else if ( platform == 'Facebook' )
          window.open( "https://www.facebook.com/ApacheOO", "_blank" );
        else if ( platform == 'Twitter' )
          window.open( "https://twitter.com/ApacheOO", "_blank" );
        else if ( platform == 'YouTube' )
          window.open( "https://www.youtube.com/openoffice", "_blank" );
      }

      function showAlertBox() {
	// The text is defined in "/msg_prop_l10n.js".

	// Show alert box or not?
	if( l10n.index_alert_box_show ) {
		// If no background color value was set then use the default value.
		if( ! l10n.index_alert_box_background_color || l10n.index_alert_box_background_color === "" )
			l10n.index_alert_box_background_color = "#FFD9A7";

		// Show alert box with defined background color.
		// Depending if link is available, make the whole DIV clickable or not.
		if( l10n.index_alert_box_href ) {
			// Show the text with link and cursor as poiner.
			document.write( "<div id='alert_box' style='background: "
			+ l10n.index_alert_box_background_color
			+ "; ' onclick='window.open( \"" + l10n.index_alert_box_href
			+ "\", \"_blank\" ); return false;'>" );

			// Show headline.
			document.write( "<h2 style='cursor: pointer;'>"
			+ l10n.index_alert_box_headline_text + "</h2>" );

			// Show text.
			if( l10n.index_alert_box_text_text ) {
				document.write( "<p style='cursor: pointer;'>"
				+ l10n.index_alert_box_text_text + "</p>" );
			}
		} else {
			// Show the text without link and normal cursor.
			document.write( "<div id='alert_box' style='background: "
			+ l10n.index_alert_box_background_color + "'>" );

			// Show headline.
			document.write( "<h2 style='cursor: default;'>"
			+ l10n.index_alert_box_headline_text + "</h2>" );

			// Show text.
			if( l10n.index_alert_box_text_text ) {
				document.write( "<p style='cursor: default;'>"
				+ l10n.index_alert_box_text_text + "</p>" );
			}
		}
		document.write( "</div>" ); // Alert box
	}
      }
    </script>
</head>

<body>

  <!-- 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>

  <div id="actionstatements">

    <script type="text/javascript">
      <!--
      // Show alert box.
      // Change to 'true' if you want to show the text that is defined in the variables above.
      showAlertBox();
      //-->
    </script>

    <ul>
      <li>
	<hr />
      </li>
      <li>
	<div class="action-info">
	  <div class="action-text action-link">
	    <a href="why/index.html"><h2>Többet szeretnék tudni az OpenOffice-ról</h2>
	    <p>Mi az az Apache OpenOffice? Miért kellene ezt használnia?</p></a>
	  </div>
	</div>
      </li>
      <li>
	<hr />
      </li>
    </ul>

    <!-- Show the download link with currently available version number, loaded via JavaScript -->
    <script type="text/javascript">
      <!--
      document.write( "<ul><li>"
	+ "<div class='action-download'>"
	  + "<div class='action-text action-link'>"
	    + "<a href='download/index.html'>"
	      + "<h2>Szeretném letölteni az Apache OpenOffice programot</h2>"
	      + "<p style='font-size: 1.0em; font-weight: bold;'>(Legfrissebb kiadás: " + DL.VERSION + ")</p>"
	      + "<p>Töltse le <b>teljesen ingyen</b> az Apache OpenOffice programot! | "
		+ "<a href='https://blogs.apache.org/OOo/entry/with_apache_openoffice_you_get'"
		  + "title='Az Apache OpenOffice minden tudása ingyen rendelkezésére áll! (blogbejegyzés, angol)' target='_blank'>"
		  + "További tudnivalókért kattinton ide!"
		+ "</a>"
	      + "</p>"
	    + "</a>"
	  + "</div>"
	+ "</div>"
      + "</li></ul>" );
      //-->
    </script>

    <!-- Show the download link, without version number -->
    <noscript>
      <div class="action-download">
	<div class="action-text action-link">
	  <a href="download/index.html">
	    <h2>Szeretném letölteni az Apache OpenOffice programot</h2>
	    <p>Töltse le az Apache OpenOffice programot <b>teljesen ingyen</b> vagy ismerkedjen meg a beszerzésének egyéb módjaival!</p>
	  </a>
	</div>
      </div>
    </noscript>

    <ul>
      <li>
	<hr />
      </li>
      <li>
	<div class="action-help">
	  <div class="action-text action-link">
	    <a href="support/index.html"><h2>Segítségre van szükségem az OpenOffice<br/> használatával kapcsolatban</h2>
	      <p>Bármikor szüksége van rá, a segítség mindig kéznél van.</p>
	    </a>
	  </div>
	</div>
      </li>
      <li>
	<hr />
      </li>
      <li>
	<div class="action-extend">
	  <div class="action-text action-link">
	    <a href="extensions/index.html"><h2>Szeretném jobban kihasználni az OpenOffice nyújtotta lehetőségeket</h2>
	      <p>Egészítse ki az Apache OpenOffice-t további kiterjesztésekkel, sablonokkal és képgyűjteménnyel.</p>
	    </a>
	  </div>
	</div>
      </li>
      <li>
	<hr />
      </li>
      <li>
	<div class="action-participate">
	  <div class="action-text action-link">
	    <a href="participate/index.html"><h2>Szeretnék részt venni az OpenOffice fejlesztésében</h2>
	      <p>Az Apache OpenOffice a világ minden részén élő emberek segítségével készül. Csatlakozzon Ön is!</p>
	    </a>
	  </div>
	</div>
      </li>
      <li>
	<hr />
      </li>
      <li>
	<div class="action-social">
	  <div class="action-text action-link">
	    <a href="social/index.html" onclick="javascript:follow('SocialLink');">
	      <h2>Szeretném tartani a kapcsolatot az OpenOffice-szal</h2>
	      <p>Kövesse nyomon az OpenOffice fejlesztését levelezési listánk, a közösségi háló és blogunk segítségével!</p>
	    </a>
	    <div class="action-social-extra">
	      <p>
		<span style="padding:0 5px;cursor: pointer;" onclick="javascript:follow('ApacheBlog');"
		  title="OpenOffice blog"><img src="/images/logo-rss-16.png" alt="OpenOffice blog" />
		  <a>Hivatalos blog</a>
		</span>
		<span style="padding:0 5px;cursor: pointer;" onclick="javascript:follow('Facebook');"
		  title="Kövessen bennünket a Facebookon!"><img src="/images/logo-facebook-16.png" alt="Kövessen bennünket a Facebookon!" />
		  <a>Facebook</a>
		</span>
		<span style="padding:0 5px;cursor: pointer;" onclick="javascript:follow('Twitter');"
		  title="Kövessen bennünket a Twitteren!"><img src="/images/logo-twitter-16.png" alt="Kövessen bennünket a Twitteren!" />
		  <a>Twitter</a>
		</span>
		<span style="padding:0 5px; cursor: pointer;" onclick="javascript:follow( 'YouTube' );"
          title="Subscribe to our YouTube channel"><img src="/images/logo-youtube-16.png" alt="Subscribe to our YouTube channel" />
          <a>YouTube</a>
		</span>
	      </p>
	    </div>
	  </div>
	</div>
      </li>
      <li>
	<hr />
      </li>
    </ul>

    <div id="SupportedAndSupporters">
      <a href="https://validator.w3.org/check?uri=referer"
	title="W3C jelzés érvényesítő szolgáltatás - Ellenőrízze a weboldal formátumát (HTML, XHTML, ...)">
	<img src="https://www.w3.org/Icons/valid-xhtml10-blue.png"
	  alt="W3C jelzés érvényesítő szolgáltatás - Ellenőrízze a weboldal formátumát (HTML, XHTML, ...)"/>
      </a>
    </div>
  </div>

  <div id="news" style="margin: 2% 3% 0 0; height: 520px;">

    <div id="all_news" style="height: 440px; float: left; overflow: auto;">

      <div class="campaign">
	<h2>Aktuális hírek (angol)</h2>

	<p></p>

	<h2>Megjelent az Apache OpenOffice 4.1.1</h2>
	<p>
	  <em>2014. augusztus 23.</em><br />
	  Megjelent az Apache OpenOffice
	  <a href="https://blogs.apache.org/OOo/entry/announcing_apache_openoffice_4_1" target="blog_hu">4.1.1</a>
	  verziója.<br />
	  Az új változattal kapcsolatos kiadási megjegyzéseket
	  <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=44995866"
	    title="Kiadási megjegyzések az Apache OpenOffice 4.1.1 verzióhoz"
	    target="cwiki">
	    itt
	  </a>
	  találja.<br />
	  <a href="https://www.openoffice.org/download/"
	    title="Az Apache OpenOffice 4.1.1 letöltése">Töltse le</a>
	  és próbálja ki saját maga az új kiadást!
	</p>
      </div>

      <div class="campaign">
	<h2>Megjelent az Apache OpenOffice 4.1.0</h2>

	<p>
	  <em>2014. április 29.</em><br />
	  Az Apache OpenOffice project
	  <a href="https://blogs.apache.org/OOo/entry/the_apache_openoffice_project_announce"
	    title="Hivatalos angol blogbejegyzés az Apache OpenOffice 4.1.0 verzióról"
	    target="blog_en">
	    bejelenti
	  </a> a
	  A
	  <a href="https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+4.1+Release+Notes"
	    title="Kiadási megjegyzések az Apache OpenOffice 4.1.0 verzióhoz"
	    target="cwiki">
	    kiadási megjegyzésekben
	  </a>
	  tájékozódhat minden újdonságról, funkcióról és nyelvi támogatásról.
	</p>
      </div>

      <div class="campaign">
	<h2>100 millió letöltés</h2>

	<p>
	  <em>2014. április 17.</em><br />
	  Az Apache OpenOffice project büszkén jelenti be, hogy szoftverünket
	  <a href="https://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces56"
	  title="Az Apache OpenOffice programot 100 millió alkalommal töltötték le">több, mint 100 millió alkalommal töltötték le</a>.
	  Csatlakozzon hozzánk e nagy eredmény ünneplésében!
	</p>
      </div>

      <div class="campaign">
	<h2>Az olasz régió áttér az OpenOffice-ra, 2 milliót Eurót takarítva meg ezzel</h2>

	<p>
	  <em>2013. október 10.</em><br />
	  Az olasz Emilia-Romagna közigazgatási régió bejelentette az OpenOfficera való átállásra vonatkozó terveit,
	  <a href="https://joinup.ec.europa.eu/community/osor/news/openoffice-italian-emilia-romagna-save-2-million">
	    2 millió Eurót takarítva meg ezzel.
	  </a>.
	</p>
      </div>

      <div class="campaign">
	<h2>Önkéntesek, nem amatőrök</h2>

	<p>
	  <em>2013. január 8.</em><br />
	  Az Apache OpenOffice programot 100%-ban önkéntesek fejlesztik. Az Apache nem fizet a fejlesztőknek, a fordítóknak, a minőségbiztosításnak,
	  nem fizet a hirdetésekért, a felhasználói felületért, a támogatásért, stb. Természetesen örömmel fogadjuk
	  <a href="https://www.apache.org/foundation/contributing.html">az Apache Software Foundation számára felajánlott támogatásokat</a>,
	  hogy üzemeltethessük szervereinket és fedezzük egyéb rezsiköltségeinket. Termékeinket azonban teljes mértékben önkéntesek fejlesztik.
	</p>

	<p>
	  Egyes felhasználók kezdetben a következő miatt aggódnak: Hogyan lehetséges, hogy egy ingyenes, önkéntesek által fejlesztett
	  program jó legyen valamire?
	  <a href="why/why_volunteers.html">Olvasson tovább a válaszért...</a>
	</p>
      </div>

<!--ex English blog hyperlinks
      <div class="campaign">
	<h2>Aktuális hírek (angol)</h2>

	<p style="text-align:right">
	  <a href="https://blogs.apache.org/OOo">Összes hír (angol)</a>
	</p>
	<p></p>

	<h2>Megjelent az Apache OpenOffice 4.1.1</h2>
	<p>
	  <em>2014. augusztus 23.</em><br />
	  Megjelent az Apache OpenOffice
	  <a href="https://blogs.apache.org/OOo/date/20140823">4.1.1</a>
	  verziója.<br />
	  Az új változattal kapcsolatos kiadási megjegyzéseket
	  <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=44995866"
	    title="Kiadási megjegyzések az Apache OpenOffice 4.1.1 verzióhoz">itt</a>
	  találja.<br />
	  <a href="https://www.openoffice.org/download/"
	    title="Az Apache OpenOffice 4.1.1 letöltése">Töltse le</a>
	  és próbálja ki saját maga az új kiadást!
	</p>
      </div>

      <div class="campaign">
	<h2>Megjelent az Apache OpenOffice 4.1.0</h2>

	<p>
	  <em>2014. április 29.</em><br />
	  Az Apache OpenOffice project bejelenti a
	  <a href="https://blogs.apache.org/OOo/entry/the_apache_openoffice_project_announce"
	    title="Hivatalos blogbejegyzés az Apache OpenOffice 4.1.0 verzióról">4.1.0 verzió hivatalos megjelenését.</a>.
	  A
	  <a href="https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+4.1+Release+Notes"
	    title="Kiadási megjegyzések az Apache OpenOffice 4.1.0 verzióhoz">kiadási megjegyzések</a>
	  ben tájékozódhat minden újdonságról, funkcióról és nyelvi támogatásról.
	</p>
      </div>

      <div class="campaign">
	<h2>100 millió letöltés</h2>

	<p>
	  <em>2014. április 17.</em><br />
	  Az Apache OpenOffice project büszkén jelenti be, hogy szoftverünket
	  <a href="https://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces56"
	  title="Az Apache OpenOffice programot 100 millió alkalommal töltötték le">több, mint 100 millió alkalommal töltötték le</a>.
	  Csatlakozzon hozzánk e nagy eredmény ünneplésében!
	</p>
      </div>

      <div class="campaign">
	<h2>Az olasz régió áttér az OpenOffice-ra, 2 milliót Eurót takarítva meg ezzel</h2>

	<p>
	  <em>2013. október 10.</em><br />
	  Az olasz Emilia-Romagna közigazgatási régió bejelentette az OpenOfficera való átállásra vonatkozó terveit,
	  <a href="https://joinup.ec.europa.eu/community/osor/news/openoffice-italian-emilia-romagna-save-2-million">
	    2 millió Eurót takarítva meg ezzel.
	  </a>.
	</p>
      </div>

      <div class="campaign">
	<h2>Önkéntesek, nem amatőrök</h2>

	<p>
	  <em>2013. január 8.</em><br />
	  Az Apache OpenOffice programot 100%-ban önkéntesek fejlesztik. Az Apache nem fizet a fejlesztőknek, a fordítóknak, a minőségbiztosításnak,
	  nem fizet a hirdetésekért, a felhasználói felületért, a támogatásért, stb. Természetesen örömmel fogadjuk
	  <a href="http://www.apache.org/foundation/contributing.html">az Apache Software Foundation számára felajánlott támogatásokat</a>,
	  hogy üzemeltethessük szervereinket és fedezzük egyéb rezsiköltségeinket. Termékeinket azonban teljes mértékben önkéntesek fejlesztik.
	</p>

	<p>
	  Egyes felhasználók kezdetben a következő miatt aggódnak: Hogyan lehetséges, hogy egy ingyenes, önkéntesek által fejlesztett
	  program jó legyen valamire?
	  <a href="why/why_volunteers.html">Olvasson tovább a válaszért...</a>
	</p>
      </div>
-->
    </div>

    <div class="campaign" style="height: 80px; float: right; overflow: auto;">
      <h2 style="display: inline;">Aktuális blogbejegyzések (angol)</h2>

      <p style="text-align:right">
	<a href="https://blogs.apache.org/OOo/">Ugrás az angol nyelvű blogra</a>
      </p>

<!--ex English blog hyperlinks
      <p>
	<em>2014. augusztus 23.</em><br />
	<a href="https://blogs.apache.org/OOo/date/20140823">
	  Megjelent az Apache OpenOffice 4.1.1
	</a><br/>
	<em>2014. április 29.</em><br />
	<a href="https://blogs.apache.org/OOo/entry/the_apache_openoffice_project_announce">
	  Megjelent az Apache OpenOffice 4.1.0
	</a><br/>
	<em>2014. április 17.</em><br />
	<a href="https://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces56">
	  100 millió letöltés
	</a><br/>
	<em>2013. december 31.</em><br />
	<a href="https://blogs.apache.org/OOo/entry/apache_openoffice_in_2013_a">
	  Apache OpenOffice - 2013: éves áttekintés
	</a><br/>
      </p>
-->
    </div>

  </div>

<!-- Every new element and text that is defined below the previous DIV will be actually displayed wrapped below this DIV
(because of "clear: both" instead of floated around the previous DIVs. This is really needed. -->

  <div style="clear: both;"></div>

</body>
</html>

