/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
 *
 * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
 * Other names may be trademarks of their respective owners.
 *
 * 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
 * http://www.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.  Oracle
 * designates this particular file as subject to the "Classpath" exception as
 * provided by Oracle 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 = "\u041f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435&nbsp;\u0441\u0435\u0440\u0432\u0435\u0440\u044b";
                                                   
var NETBEANS_DOWNLOAD_BUNDLES_MSG = "\u0421\u0431\u043e\u0440\u043a\u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u044b NetBeans";
var NETBEANS_DOWNLOAD_BUNDLES_COMMUNITY_MSG = "\u041f\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0440\u0435\u0434\u044b NetBeans";
var NETBEANS_PACKS_MSG 		  = "\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435&nbsp;\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438";

var JDK_DOWNLOAD_LINK    = "http://java.sun.com/javase/downloads/index.jsp";
var NBJDK_DOWNLOAD_LINK  = "http://java.sun.com/javase/downloads/widget/jdk_netbeans.jsp";

var JAVA_COM_LINK        = "http://java.com/";

var JDK_NOTE_ALL      = "\u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043e\u043a NetBeans \u0434\u043b\u044f PHP \u0438 C/C++ \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0432\u0435\u0440\u0441\u0438\u044f Java 6 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435. <a href=\"{0}\">\u0422\u0435\u043a\u0443\u0449\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441 \u0441\u0430\u0439\u0442\u0430 java.com</a>.<br><br>\u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043e\u043a NetBeans \u0434\u043b\u044f Java SE, Java EE \u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0432\u0441\u0435\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c JDK 6 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c <a href=\"{1}\">\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 JDK</a> \u0438\u043b\u0438 \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e <a href=\"{2}\">\u0441\u0431\u043e\u0440\u043a\u0438 JDK \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u043e \u0441\u0440\u0435\u0434\u043e\u0439 NetBeans \u0434\u043b\u044f Java SE</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  = "\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e, {0}&nbsp;MB";
var NOT_AVAILABLE_SIZE = "--";

var NOTE_PREFIX    = "\u0417\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435: ";
var NOTE_AND_SEP   = "{0} \u0438 {1}";
var NOTE_COMMA_SEP = "{0}, {1}";

var SINGLE_NOT_AVAILABLE_ZIP      = "{0} \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432 {1}";
var SINGLE_NOT_AVAILABLE_BUNDLE   = "{0} \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0434\u043b\u044f {1}";
var MULTIPLE_NOT_AVAILABLE_ZIP    = "{0} \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 {1}";
var MULTIPLE_NOT_AVAILABLE_BUNDLE = "{0} \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f {1}";

var ZIP_FILES_LIST_NAME             = "\u0410\u0440\u0445\u0438\u0432\u044b Zip";
var MODULE_CLUSTERS_FILES_LIST_NAME = "\u041a\u043b\u0430\u0441\u0442\u0435\u0440\u044b \u043c\u043e\u0434\u0443\u043b\u0435\u0439";

var NOTE_SOLARIS = "\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435: Java ME \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f Windows, Linux \u0438 Mac OS X.";
var NOTE_MACOSX  = "\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435: Java ME \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f Windows, Linux \u0438 Mac OS X.";
var NOTE_ZIP     = "\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435: GlassFish \u0438 Apache Tomcat \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e-\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445.";
var NOTE_ALL     = "\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u044b\u043c \u0446\u0432\u0435\u0442\u043e\u043c, \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.";

var MORE_LANGUAGES    = "\u0414\u0440\u0443\u0433\u0438\u0435 \u044f\u0437\u044b\u043a\u0438...";
var COMMUNITY_MESSAGE = "\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e NetBeans \u0432\u043d\u0435\u0441\u043b\u043e \u0441\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434 \u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044b NetBeans \u043d\u0430 \u0442\u0435 \u044f\u0437\u044b\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0441 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b. \u041e\u0431\u044a\u0451\u043c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u044f\u0437\u044b\u043a\u0430 \u043a \u044f\u0437\u044b\u043a\u0443, \u0441\u043c. <a href=\"http://wiki.netbeans.org/TFL10nCommunityStatus\">\u0441\u0442\u0430\u0442\u0443\u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430</a>. \u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043e\u043a, \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435 <a href=\"http://wiki.netbeans.org/TFLocalizationDevelopmentUC\">\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430</a>.";
var COMMUNITY_CONTRIBUTED_SEP    = " -- \u041f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c-- " ;
var SUN_SUPPORTED_SEP            = " -- \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 Oracle-- " ;

var NETBEANS_DOWNLOAD_PAGE_TITLE       = "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u0440\u0435\u0434\u044b NetBeans";
var NETBEANS_DOWNLOAD_PAGE_DESCRIPTION = "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u0440\u0435\u0434\u044b NetBeans";



var NETBEANS_DOWNLOAD_HEADER = "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u0440\u0435\u0434\u044b NetBeans {0}";
var DEVELOPMENT_TITLE        = "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430";
var ARCHIVE_TITLE            = "\u0410\u0440\u0445\u0438\u0432";
var EMAIL_LABEL              = "\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f&nbsp;\u043f\u043e\u0447\u0442\u0430&nbsp;(\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e):&nbsp;";
var SUBSCRIBE_LABEL          = "\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f&nbsp;\u043d\u0430&nbsp;\u043d\u043e\u0432\u043e\u0441\u0442\u0438:";
var MONTHLY_LABEL            = "\u0415\u0436\u0435\u043c\u0435\u0441\u044f\u0447\u043d\u044b\u0435&nbsp;&nbsp;&nbsp;";
var WEEKLY_LABEL             = "\u0415\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u044b\u0435";
var CONTACT_LABEL            = "NetBeans&nbsp;\u043c\u043e\u0436\u0435\u0442&nbsp;\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c<br>\u0434\u0430\u043d\u043d\u044b\u0439&nbsp;\u0430\u0434\u0440\u0435\u0441&nbsp;\u0434\u043b\u044f&nbsp;\u0441\u0432\u044f\u0437\u0438&nbsp;\u0441\u043e \u043c\u043d\u043e\u0439";
var LANGUAGE_LABEL           = "\u042f\u0437\u044b\u043a IDE:";
var PLATFORM_LABEL           = "\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430:";
var PLUGIN_MANAGER_LABEL     = "\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0441\u0440\u0435\u0434\u044b (Tools | Plugins).<br><br>";
var JAVATOOLSBUNDLE_LABEL    = "\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c NetBeans IDE \u0442\u0430\u043a\u0436\u0435 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 <a href=\"http://java.sun.com/javaee/downloads/index.jsp\">Java EE 5 Tools Bundle</a> \u0438\u043b\u0438 <a href=\"http://download.netbeans.org/netbeans/6.1/mysql_bundle/\">MySQL GlassFish Bundle</a>.";
var SOURCE_BINARY_LABEL      = "\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438 \u0441\u0431\u043e\u0440\u043a\u0438 NetBeans \u0431\u0435\u0437 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043a\u0430\u043a <a id=\"zip_link\" href=\"{0}\">\u0430\u0440\u0445\u0438\u0432\u044b zip</a>. ";
var BUILD_WIKI_LABEL         = "\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 <a href=\"http://wiki.netbeans.org/wiki/view/WorkingWithNetBeansSources\">\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u044b \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430</a> \u0438\u043b\u0438 <a href=\"{0}\">\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435</a>.";
var PLATFORM_DEV_LABEL       = "\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b NetBeans \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0431\u043e\u0440\u043a\u0443 NetBeans IDE \u0434\u043b\u044f Java SE. \u0423\u0437\u043d\u0430\u0439\u0442\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043e <a href=\"{0}\">\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 NetBeans</a>.";
var PLATFORM_INFO_LINK       = "http://platform.netbeans.org/platform-get.html";

var ARCHIVE_BUILDS_LINK      = "http://services.netbeans.org/downloads/dev.php";
var DEVELOPMENT_BUILDS_LINK  = "http://bits.netbeans.org/download/trunk/nightly/latest/";

// TRANSLATE NOTE: change download*.gif to download*_<locale>.gif
var DOWNLOAD_BUTTON_NORMAL    = "download_ru.gif";
var DOWNLOAD_BUTTON_DISABLED  = "download_d_ru.gif";
var DOWNLOAD_BUTTON_HIGHLIGHT = "download_h_ru.gif";

// DO NOT TRANSLATE
var START_PAGE = "start.html";
var ZIP_PAGE   = "zip.html";

