/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 * 
 * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
 * 
 * The contents of this file are subject to the terms of either the GNU General
 * Public License Version 2 only ("GPL") or the Common Development and Distribution
 * License("CDDL") (collectively, the "License"). You may not use this file except in
 * compliance with the License. You can obtain a copy of the License at
 * https://netbeans.org/cddl-gplv2.html or nbbuild/licenses/CDDL-GPL-2-CP. See the
 * License for the specific language governing permissions and limitations under the
 * License.  When distributing the software, include this License Header Notice in
 * each file and include the License file at nbbuild/licenses/CDDL-GPL-2-CP.  Sun
 * designates this particular file as subject to the "Classpath" exception as
 * provided by Sun in the GPL Version 2 section of the License file that
 * accompanied this code. If applicable, add the following below the License Header,
 * with the fields enclosed by brackets [] replaced by your own identifying
 * information: "Portions Copyrighted [year] [name of copyright owner]"
 * 
 * Contributor(s):
 * 
 * The Original Software is NetBeans. The Initial Developer of the Original Software
 * is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun Microsystems, Inc. All
 * Rights Reserved.
 * 
 * If you wish your version of this file to be governed by only the CDDL or only the
 * GPL Version 2, indicate your decision by adding "[Contributor] elects to include
 * this software in this distribution under the [CDDL or GPL Version 2] license." If
 * you do not indicate a single choice of license, a recipient has the option to
 * distribute your version of this file under either the CDDL, the GPL Version 2 or
 * to extend the choice of license to its licensees as provided above. However, if
 * you add GPL Version 2 code and therefore, elected the GPL Version 2 license, then
 * the option applies only if the new code is made subject to such option by the
 * copyright holder.
 */

var BUNDLED_SERVERS_GROUP_NAME = "Servidores&nbsp;embutidos";
                                              
var NETBEANS_DOWNLOAD_BUNDLES_MSG = "Distribui\u00e7\u00f5es para baixar do NetBeans IDE";
var NETBEANS_DOWNLOAD_BUNDLES_COMMUNITY_MSG = "NetBeans IDE Download Bundles in community contributed languages";
var NETBEANS_PACKS_MSG = "Tecnologias&nbsp;suportadas\n";

var JDK_DOWNLOAD_LINK = "http://java.sun.com/javase/downloads/index.jsp";
var NBJDK_DOWNLOAD_LINK = "http://java.sun.com/javase/downloads/netbeans.html";

var JAVA_COM_LINK = "http://java.com";

var JDK_NOTE_ALL = "JDK 6 ou JDK 5.0 \u00e9 necess\u00e1rio para instalar e executar o PHP, Ruby e C/C++ NetBeans embutido. Voc\u00ea pode baixar a <a href=\"{0}\">\u00faltima vers\u00e3o do Java em java.com</a>.<br><br>O JDK 6 ou JDK 5 \u00e9 necess\u00e1rio para instalar e executar o Java SE, JavaFX, Java e todos os componentes do Netbeans. Voc\u00ea pode baixar o <a href=\"{1}\">JDK independente</a> ou a \u00faltima vers\u00e3o do <a href=\"{2}\">JDK com o NetBeans IDE Java SE embutido</a>.<br><br>";
//var JDK_NOTE_MACOSX   = "JDK 5.0 is required for installing and running the NetBeans IDE.";
var JDK_NOTE_MACOSX = "";

var FREE_SIZE_MESSAGE = "{0}&nbsp;MB&nbsp;livre(s)";
var NOT_AVAILABLE_SIZE = "--";

var NOTE_PREFIX = "Nota:  ";
var NOTE_AND_SEP = "{0} e {1}";
var NOTE_COMMA_SEP = "{0}, {1}";

var SINGLE_NOT_AVAILABLE_ZIP = "{0} n\u00e3o est\u00e1 dispon\u00edvel em {1}";
var SINGLE_NOT_AVAILABLE_BUNDLE = "{0} n\u00e3o est\u00e1 dispon\u00edvel para {1}";
var MULTIPLE_NOT_AVAILABLE_ZIP = "{0} n\u00e3o est\u00e3o dispon\u00edveis em {1}";
var MULTIPLE_NOT_AVAILABLE_BUNDLE = "{0} n\u00e3o est\u00e3o dispon\u00edveis para {1}";

var ZIP_FILES_LIST_NAME             = "Arquivos Zip";
var MODULE_CLUSTERS_FILES_LIST_NAME = "Clusters de M\u00f3dulo";

var NOTE_JAVAFX_OLD = "<br>Atualmente, o JavaFX est\u00e1 embutido no NetBeans IDE 6.5";

var NOTE_SOLARIS = "Nota: Java ME est\u00e1 dispon\u00edvel apenas para Windows e Linux. <br>O  pacote UML est\u00e1 dispon\u00edvel na Central de atualiza\u00e7\u00f5es.";
var NOTE_MACOSX = "Nota: JavaME est\u00e1 dispon\u00edvel apenas para Windows e Linux. ";
var NOTE_ZIP = "Nota: GlassFish e Apache Tomcat est\u00e3o dispon\u00edveis apenas nos instaladores para plataformas espec\u00edficas. O  pacote UML est\u00e1 dispon\u00edvel na Central de atualiza\u00e7\u00f5es.";
var NOTE_OTHER = "Nota: O  pacote UML est\u00e1 dispon\u00edvel na Central de atualiza\u00e7\u00f5es.";
var NOTE_JAVAFX  = "<br>JavaFX est\u00e1 dispon\u00edvel apenas em Ingl\u00eas e somente para Windows e Mac OS X.";

var MORE_LANGUAGES    = "Mais Linguagens...";
var COMMUNITY_MESSAGE = "Download do NetBeans em outros idiomas (contribui\u00e7\u00f5es da comunidade)";

var NETBEANS_DOWNLOAD_PAGE_TITLE       = "Download o NetBeans IDE {0}";
var NETBEANS_DOWNLOAD_PAGE_DESCRIPTION = "Download o NetBeans IDE {0}";


var NETBEANS_DOWNLOAD_HEADER  = "Download o NetBeans IDE {0}";
var DEVELOPMENT_TITLE         = "Desenvolvimento";
var ARCHIVE_TITLE             = "Arquivo";
var JAVAFX_TITLE              = "JavaFX";
var PYTHON_TITLE              = "Python&nbsp;EA";
var EMAIL_LABEL               = "Endere\u00e7o&nbsp;de&nbsp;email&nbsp;(opcional):&nbsp;";
var SUBSCRIBE_LABEL           = "Inscrever-se&nbsp;na&nbsp;newsletter:";
var MONTHLY_LABEL             = "Mensal&nbsp;&nbsp;&nbsp;&nbsp;";
var WEEKLY_LABEL              = "Semanal";
var CONTACT_LABEL             = "Permito&nbsp;me&nbsp;contatar&nbsp;neste&nbsp;email";
var LANGUAGE_LABEL            = "Idioma:";
var PLATFORM_LABEL            = "Plataforma:";
var PLUGIN_MANAGER_LABEL      = "Voc\u00ea pode adicionar ou remover pacotes depois utilizando o Gerenciador de Plugins do IDE (Ferramentas | Plugins).<br><br>";
var JAVATOOLSBUNDLE_LABEL     = "Voc\u00ea tamb\u00e9m pode baixar o NetBeans IDE como parte de <a href=\"http://java.sun.com/javaee/downloads/index.jsp\">Java EE 5 Ferramentas embutidas</a> ou <a href=\"http://download.netbeans.org/netbeans/6.1/mysql_bundle/\">MySQL GlassFish Embutidos</a>.";
var SOURCE_BINARY_LABEL       = "O c\u00f3digo-fonte e os bin\u00e1rios do NetBeans sem os servidores embutidos tamb\u00e9m est\u00e3o dispon\u00edveis em <a href=\"{0}\">formato de arquivo zip</a>."; 
var BUILD_WIKI_LABEL          = "Veja tamb\u00e9m <a href=\"http://wiki.netbeans.org/wiki/view/WorkingWithNetBeansSources\">instru\u00e7\u00f5es de como construir o IDE a partir do c\u00f3digo-fonte</a> ou <a href=\"{0}\">instru\u00e7\u00f5es de instala\u00e7\u00e3o</a>.";

var LICENSE_NOTES_LINK = "https://netbeans.org/about/legal/product-licences.html";

var ARCHIVE_BUILDS_LINK = "http://services.netbeans.org/downloads/dev.php";
var DEVELOPMENT_BUILDS_LINK = "http://bits.netbeans.org/download/trunk/nightly/latest/";
var JAVAFX_LINK              = "http://www.javafx.com/";
var PYTHON_LINK              = "http://download.netbeans.org/netbeans/6.5/python/ea/";

// TRANSLATE NOTE: change download*.gif to download*_<locale>.gif
var DOWNLOAD_BUTTON_NORMAL    = "download.gif";
var DOWNLOAD_BUTTON_DISABLED  = "download_d.gif";
var DOWNLOAD_BUTTON_HIGHLIGHT = "download_h.gif";

// DO NOT TRANSLATE
var START_PAGE = "start.html";
var ZIP_PAGE   = "zip.html";

var LEGAL_INFO_HEADER = "Important Legal Information:";

var CDDL_GPLV2_LINK = "https://netbeans.org/cddl-gplv2.html";
var LICENSE_DETAILS_LINK = "https://netbeans.org/about/legal/code_dependency_matrix.html";

var LEGAL_INFO_MESSAGE = "NetBeans Community Distributions are available under a Dual License consisting of the <a href=\"https://netbeans.org/cddl-gplv2.html\">Common Development and Distribution License (CDDL) v1.0 and GNU General Public License (GPL) v2</a>. Such distributions include additional components under separate licenses identified in the <a href=\"https://netbeans.org/about/legal/product-licences.html\">License file</a>. See the <a href=\"https://netbeans.org/about/legal/product-licences.html\">Third Party License</a> for external components included in NetBeans and their associated licenses.";
