/*
 * 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
 * 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.  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 = "\u30d0\u30f3\u30c9\u30eb&nbsp;\u30b5\u30fc\u30d0\u30fc";
                                                   
var NETBEANS_DOWNLOAD_BUNDLES_MSG = "NetBeans IDE \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30d0\u30f3\u30c9\u30eb";
var NETBEANS_DOWNLOAD_BUNDLES_COMMUNITY_MSG = "NetBeans IDE \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30d0\u30f3\u30c9\u30eb(\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306b\u3088\u308b\u8a00\u8a9e)";
var NETBEANS_PACKS_MSG 		  = "\u30b5\u30dd\u30fc\u30c8\u30c6\u30af\u30ce\u30ed\u30b8\u30fc";

var JDK_DOWNLOAD_LINK    = "http://java.sun.com/javase/ja/6/download.html";
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      = "NetBeans \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057 PHP\u3001Ruby\u3001C/C++ \u306e NetBeans \u30d0\u30f3\u30c9\u30eb\u3092\u5b9f\u884c\u3059\u308b\u306b\u306f Java 6 \u304c\u5fc5\u8981\u3067\u3059\u3002<a href=\"{0}\">\u6700\u65b0\u306e Java \u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9</a>\u304b\u3089\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<br><br>NetBeans \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057 Java SE\u3001Java \u304a\u3088\u3073\u3059\u3079\u3066\u306e\u30d0\u30f3\u30c9\u30eb\u3092\u5b9f\u884c\u3059\u308b\u306b\u306f JDK 6 \u304c\u5fc5\u8981\u3067\u3059\u3002<a href=\"{1}\">\u6700\u65b0\u306e JDK \u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9</a>\u304b\u3089\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u306f <a href=\"{2}\">JDK \u3068 NetBeans IDE \u306e Java SE \u30d0\u30f3\u30c9\u30eb</a> \u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u3059\u3002<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  = "\u7121\u511f,&nbsp;{0}&nbsp;MB";
var NOT_AVAILABLE_SIZE = "--";

var NOTE_PREFIX    = "\u6ce8: ";
var NOTE_AND_SEP   = "{0} \u304a\u3088\u3073 {1}";
var NOTE_COMMA_SEP = "{0}, {1}";

var SINGLE_NOT_AVAILABLE_ZIP      = "{0} \u306f {1} \u306b\u306f\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093";
var SINGLE_NOT_AVAILABLE_BUNDLE   = "{0} \u306f {1} \u3067\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093";
var MULTIPLE_NOT_AVAILABLE_ZIP    = "{0} \u306f {1} \u306b\u306f\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093";
var MULTIPLE_NOT_AVAILABLE_BUNDLE = "{0} \u306f {1} \u3067\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093";

var ZIP_FILES_LIST_NAME             = "ZIP \u30d5\u30a1\u30a4\u30eb";
var MODULE_CLUSTERS_FILES_LIST_NAME = "\u30e2\u30b8\u30e5\u30fc\u30eb\u30af\u30e9\u30b9\u30bf";

var NOTE_SOLARIS = "\u6ce8 : Java ME \u306f Windows, Linux \u304a\u3088\u3073 Mac OS X \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u5229\u7528\u3067\u304d\u307e\u3059\u3002";
var NOTE_MACOSX  = "\u6ce8 : Java ME \u306f Windows, Linux \u304a\u3088\u3073 Mac OS X \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u5229\u7528\u3067\u304d\u307e\u3059\u3002";
var NOTE_ZIP     = "\u6ce8: GlassFish \u3068 Apache Tomcat \u306f\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3054\u3068\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u3067\u306e\u307f\u5229\u7528\u3067\u304d\u307e\u3059";
var NOTE_ALL     = "\u6ce8: \u30b0\u30ec\u30a4\u30a2\u30a6\u30c8\u3055\u308c\u3066\u3044\u308b\u30c6\u30af\u30ce\u30ed\u30b8\u30fc\u306f\u3053\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002";

var MORE_LANGUAGES    = "\u305d\u306e\u4ed6\u306e\u8a00\u8a9e...";
var COMMUNITY_MESSAGE = "NetBeans \u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306b\u3088\u308a\u8ca2\u732e\u3055\u308c\u305f\u7ffb\u8a33\u8a00\u8a9e\u3092\u3053\u306e\u30da\u30fc\u30b8\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u3059\u3002\u7ffb\u8a33\u7bc4\u56f2\u306b\u3064\u3044\u3066\u306f<a href=\"http://wiki.netbeans.org/TFL10nCommunityStatus\">\u30c6\u30fc\u30bf\u30b9\u30da\u30fc\u30b8</a>\u3092\u3054\u89a7\u4e0b\u3055\u3044\u3002\u6700\u65b0\u306e\u958b\u767a\u30d3\u30eb\u30c9\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u306b\u306f<a href=\"http://wiki.netbeans.org/TFLocalizationDevelopmentUC\">\u30d7\u30e9\u30b0\u30a4\u30f3\u30da\u30fc\u30b8</a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002";
var COMMUNITY_CONTRIBUTED_SEP    = " -- \u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30fc\u306b\u3088\u308b\u8ca2\u732e -- " ;
var SUN_SUPPORTED_SEP            = " -- Oracle \u306b\u3088\u308b\u30b5\u30dd\u30fc\u30c8 -- " ;

var NETBEANS_DOWNLOAD_PAGE_TITLE       = "NetBeans IDE \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9";
var NETBEANS_DOWNLOAD_PAGE_DESCRIPTION = "NetBeans IDE \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9";



var NETBEANS_DOWNLOAD_HEADER = "NetBeans IDE {0} \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9";
var DEVELOPMENT_TITLE        = "\u958b\u767a\u7248";
var ARCHIVE_TITLE            = "\u30a2\u30fc\u30ab\u30a4\u30d6";
var EMAIL_LABEL              = "Email&nbsp;\u30a2\u30c9\u30ec\u30b9&nbsp;(\u4efb\u610f):&nbsp;";
var SUBSCRIBE_LABEL          = "\u30cb\u30e5\u30fc\u30b9\u30ec\u30bf\u30fc\u3092\u8cfc\u8aad:";
var MONTHLY_LABEL            = "\u6708\u3054\u3068&nbsp;&nbsp;&nbsp;&nbsp;";
var WEEKLY_LABEL             = "\u9031\u3054\u3068";
var CONTACT_LABEL            = "NetBeans \u304c\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u5b9b\u306b\u9023\u7d61\u3057\u3066\u3082\u3088\u3044";
var LANGUAGE_LABEL           = "IDE \u306e\u8a00\u8a9e:";
var PLATFORM_LABEL           = "\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0:";
var PLUGIN_MANAGER_LABEL     = "\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u306f IDE \u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u30de\u30cd\u30fc\u30b8\u30e3\u30fc (\u30c4\u30fc\u30eb | \u30d7\u30e9\u30b0\u30a4\u30f3) \u3067\u30d1\u30c3\u30af\u3092\u8ffd\u52a0\u3001\u524a\u9664\u3067\u304d\u307e\u3059\u3002<br><br>";
var JAVATOOLSBUNDLE_LABEL    = "\u307e\u305f <a href=\"http://java.sun.com/javaee/downloads/index.jsp\">Java EE 5 Tools Bundle</a> \u3084 <a href=\"http://download.netbeans.org/netbeans/6.1/mysql_bundle/\">MySQL GlassFish Bundle</a> \u306e\u4e00\u90e8\u3068\u3057\u3066 NetBeans IDE \u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u3067\u304d\u307e\u3059\u3002";
var SOURCE_BINARY_LABEL      = "NetBeans \u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3068\u3001\u5b9f\u884c\u74b0\u5883\u306e\u30d0\u30f3\u30c9\u30eb\u3092\u9664\u304f\u30d0\u30a4\u30ca\u30ea\u30d3\u30eb\u30c9\u306f <a id=\"zip_link\" href=\"{0}\">zip \u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f</a> \u3067\u3082\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u53ef\u80fd\u3067\u3059\u3002";
var BUILD_WIKI_LABEL         = "\u30bd\u30fc\u30b9\u304b\u3089 IDE \u3092\u30d3\u30eb\u30c9\u3059\u308b\u306b\u306f\u3001<a href=\"http://wiki.netbeans.org/wiki/view/WorkingWithNetBeansSources\">\u624b\u9806</a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002";
var PLATFORM_DEV_LABEL       = "NetBeans IDE \u306e Java SE \u3067 NetBeans \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3092\u57fa\u306b\u3057\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u767a\u3067\u304d\u307e\u3059\u3002\u8a73\u7d30\u306f <a href=\"{0}\">NetBeans \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0</a> \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002";
var PLATFORM_INFO_LINK       = "http://platform.netbeans.org/platform-get.html";

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/";

// TRANSLATE NOTE: change download*.gif to download*_<locale>.gif
var DOWNLOAD_BUTTON_NORMAL    = "download_ja.gif";
var DOWNLOAD_BUTTON_DISABLED  = "download_d_ja.gif";
var DOWNLOAD_BUTTON_HIGHLIGHT = "download_h_ja.gif";

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