/*
* Copyright (c) 2004, 2007, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package sun.tools.jconsole.resources;
import java.util.*;
import static java.awt.event.KeyEvent.*;
/**
* <p> This class represents the <code>ResourceBundle</code>
* for the following package(s):
*
* <ol>
* <li> sun.tools.jconsole
* </ol>
*
* <P>
* Subclasses must override <code>getContents0</code> and provide an array,
* where each item in the array consists of a <code>String</code> key,
* and either a <code>String</code> value associated with that key,
* or if the keys ends with ".mnemonic", an element
* representing a mnemomic keycode <code>int</code> or <code>char</code>.
*/
public class JConsoleResources extends ListResourceBundle {
/**
* Returns the contents of this <code>ResourceBundle</code>.
*
* <p>
*
* @return the contents of this <code>ResourceBundle</code>.
*/
protected Object[][] getContents0() {
Object[][] temp = new Object[][] {
// NOTE 1: The value strings in this file containing "{0}" are
// processed by the java.text.MessageFormat class. Any
// single quotes appearing in these strings need to be
// doubled up.
//
// NOTE 2: To make working with this file a bit easier, please
// maintain these messages in ASCII sorted order by
// message key.
//
// LOCALIZE THIS
{" 1 day"," 1 day"},
{" 1 hour"," 1 hour"},
{" 1 min"," 1 min"},
{" 1 month"," 1 month"},
{" 1 year"," 1 year"},
{" 2 hours"," 2 hours"},
{" 3 hours"," 3 hours"},
{" 3 months"," 3 months"},
{" 5 min"," 5 min"},
{" 6 hours"," 6 hours"},
{" 6 months"," 6 months"},
{" 7 days"," 7 days"},
{"10 min","10 min"},
{"12 hours","12 hours"},
{"30 min","30 min"},
{"<","<"},
{"<<","<<"},
{">",">"},
{"ACTION","ACTION"},
{"ACTION_INFO","ACTION_INFO"},
{"All","All"},
{"Apply","Apply"},
{"Architecture","Architecture"},
{"Array, OpenType", "Array, OpenType"},
{"Array, OpenType, Numeric value viewer","Array, OpenType, Numeric value viewer"},
{"Attribute","Attribute"},
{"Attribute value","Attribute value"},
{"Attribute values","Attribute values"},
{"Attributes","Attributes"},
{"Blank", "Blank"},
{"BlockedCount WaitedCount",
"Total blocked: {0} Total waited: {1}\n"},
{"Boot class path","Boot class path"},
{"BorderedComponent.moreOrLessButton.toolTip", "Toggle to show more or less information"},
{"CPU Usage","CPU Usage"},
{"CPUUsageFormat","CPU Usage: {0}%"},
{"Cancel","Cancel"},
{"Cascade", "Cascade"},
{"Cascade.mnemonic", 'C'},
{"Chart:", "Chart:"},
{"Chart:.mnemonic", 'C'},
{"Class path","Class path"},
{"Class","Class"},
{"ClassName","ClassName"},
{"ClassTab.infoLabelFormat", "<html>Loaded: {0} Unloaded: {1} Total: {2}</html>"},
{"ClassTab.loadedClassesPlotter.accessibleName", "Chart for Loaded Classes."},
{"Classes","Classes"},
{"Close","Close"},
{"Column.Name", "Name"},
{"Column.PID", "PID"},
{"Committed memory","Committed memory"},
{"Committed virtual memory","Committed virtual memory"},
{"Committed", "Committed"},
{"Compiler","Compiler"},
{"CompositeData","CompositeData"},
{"Config","Config"},
{"Connect", "Connect"},
{"Connect.mnemonic", 'C'},
{"Connect...","Connect..."},
{"ConnectDialog.connectButton.toolTip", "Connect to Java Virtual Machine"},
{"ConnectDialog.accessibleDescription", "Dialog for making a new connection to a local or remote Java Virtual Machine"},
{"ConnectDialog.masthead.accessibleName", "Masthead Graphic"},
{"ConnectDialog.masthead.title", "New Connection"},
{"ConnectDialog.statusBar.accessibleName", "Status Bar"},
{"ConnectDialog.title", "JConsole: New Connection"},
{"Connected. Click to disconnect.","Connected. Click to disconnect."},
{"Connection failed","Connection failed"},
{"Connection", "Connection"},
{"Connection.mnemonic", 'C'},
{"Connection name", "Connection name"},
{"ConnectionName (disconnected)","{0} (disconnected)"},
{"Constructor","Constructor"},
{"Current classes loaded", "Current classes loaded"},
{"Current heap size","Current heap size"},
{"Current value","Current value: {0}"},
{"Create", "Create"},
{"Daemon threads","Daemon threads"},
{"Disconnected. Click to connect.","Disconnected. Click to connect."},
{"Double click to expand/collapse","Double click to expand/collapse"},
{"Double click to visualize", "Double click to visualize"},
{"Description", "Description"},
{"Description: ", "Description: "},
{"Descriptor", "Descriptor"},
{"Details", "Details"},
{"Detect Deadlock", "Detect Deadlock"},
{"Detect Deadlock.mnemonic", 'D'},
{"Detect Deadlock.toolTip", "Detect deadlocked threads"},
{"Dimension is not supported:","Dimension is not supported:"},
{"Discard chart", "Discard chart"},
{"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} day |1.0<{0,number,integer} days }" +
"{1,choice,0<{1,number,integer} hours |1#{1,number,integer} hour |1<{1,number,integer} hours }" +
"{2,choice,0<{2,number,integer} minutes|1#{2,number,integer} minute|1.0<{2,number,integer} minutes}"},
{"DurationHoursMinutes","{0,choice,1#{0,number,integer} hour |1<{0,number,integer} hours }" +
"{1,choice,0<{1,number,integer} minutes|1#{1,number,integer} minute|1.0<{1,number,integer} minutes}"},
{"DurationMinutes","{0,choice,1#{0,number,integer} minute|1.0<{0,number,integer} minutes}"},
{"DurationSeconds","{0} seconds"},
{"Empty array", "Empty array"},
{"Empty opentype viewer", "Empty opentype viewer"},
{"Error","Error"},
{"Error: MBeans already exist","Error: MBeans already exist"},
{"Error: MBeans do not exist","Error: MBeans do not exist"},
{"Error:","Error:"},
{"Event","Event"},
{"Exit", "Exit"},
{"Exit.mnemonic", 'x'},
{"Fail to load plugin", "Warning: Fail to load plugin: {0}"},
{"FileChooser.fileExists.cancelOption", "Cancel"},
{"FileChooser.fileExists.message", "<html><center>File already exists:<br>{0}<br>Do you want to replace it?"},
{"FileChooser.fileExists.okOption", "Replace"},
{"FileChooser.fileExists.title", "File Exists"},
{"FileChooser.savedFile", "<html>Saved to file:<br>{0}<br>({1} bytes)"},
{"FileChooser.saveFailed.message", "<html><center>Save to file failed:<br>{0}<br>{1}"},
{"FileChooser.saveFailed.title", "Save Failed"},
{"Free physical memory","Free physical memory"},
{"Free swap space","Free swap space"},
{"Garbage collector","Garbage collector"},
{"GTK","GTK"},
{"GcInfo","Name = ''{0}'', Collections = {1,choice,-1#Unavailable|0#{1,number,integer}}, Total time spent = {2}"},
{"GC time","GC time"},
{"GC time details","{0} on {1} ({2} collections)"},
{"Heap Memory Usage","Heap Memory Usage"},
{"Heap", "Heap"},
{"Help.AboutDialog.accessibleDescription", "Dialog containing information about JConsole and JDK versions"},
{"Help.AboutDialog.jConsoleVersion", "JConsole version:<br>{0}"},
{"Help.AboutDialog.javaVersion", "Java VM version:<br>{0}"},
{"Help.AboutDialog.masthead.accessibleName", "Masthead Graphic"},
{"Help.AboutDialog.masthead.title", "About JConsole"},
{"Help.AboutDialog.title", "JConsole: About"},
{"Help.AboutDialog.userGuideLink", "JConsole User Guide:<br>{0}"},
{"Help.AboutDialog.userGuideLink.mnemonic", 'U'},
{"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html"},
{"HelpMenu.About.title", "About JConsole"},
{"HelpMenu.About.title.mnemonic", 'A'},
{"HelpMenu.UserGuide.title", "Online User Guide"},
{"HelpMenu.UserGuide.title.mnemonic", 'U'},
{"HelpMenu.title", "Help"},
{"HelpMenu.title.mnemonic", 'H'},
{"Hotspot MBeans...", "Hotspot MBeans..."},
{"Hotspot MBeans....mnemonic", 'H'},
{"Hotspot MBeans.dialog.accessibleDescription", "Dialog for managing Hotspot MBeans"},
{"Impact","Impact"},
{"Info","Info"},
{"INFO","INFO"},
{"Invalid plugin path", "Warning: Invalid plugin path: {0}"},
{"Invalid URL", "Invalid URL: {0}"},
{"Is","Is"},
{"Java Monitoring & Management Console", "Java Monitoring & Management Console"},
{"JConsole: ","JConsole: {0}"},
{"JConsole version","JConsole version \"{0}\""},
{"JConsole.accessibleDescription", "Java Monitoring & Management Console"},
{"JIT compiler","JIT compiler"},
{"Java Virtual Machine","Java Virtual Machine"},
{"Java","Java"},
{"Library path","Library path"},
{"Listeners","Listeners"},
{"Live Threads","Live threads"},
{"Loaded", "Loaded"},
{"Local Process:", "Local Process:"},
{"Local Process:.mnemonic", 'L'},
{"Look and Feel","Look and Feel"},
{"Masthead.font", "Dialog-PLAIN-25"},
{"Management Not Enabled","<b>Note</b>: The management agent is not enabled on this process."},
{"Management Will Be Enabled","<b>Note</b>: The management agent will be enabled on this process."},
{"MBeanAttributeInfo","MBeanAttributeInfo"},
{"MBeanInfo","MBeanInfo"},
{"MBeanNotificationInfo","MBeanNotificationInfo"},
{"MBeanOperationInfo","MBeanOperationInfo"},
{"MBeans","MBeans"},
{"MBeansTab.clearNotificationsButton", "Clear"},
{"MBeansTab.clearNotificationsButton.mnemonic", 'C'},
{"MBeansTab.clearNotificationsButton.toolTip", "Clear notifications"},
{"MBeansTab.compositeNavigationMultiple", "Composite Navigation {0}/{1}"},
{"MBeansTab.compositeNavigationSingle", "Composite Navigation"},
{"MBeansTab.refreshAttributesButton", "Refresh"},
{"MBeansTab.refreshAttributesButton.mnemonic", 'R'},
{"MBeansTab.refreshAttributesButton.toolTip", "Refresh attributes"},
{"MBeansTab.subscribeNotificationsButton", "Subscribe"},
{"MBeansTab.subscribeNotificationsButton.mnemonic", 'S'},
{"MBeansTab.subscribeNotificationsButton.toolTip", "Start listening for notifications"},
{"MBeansTab.tabularNavigationMultiple", "Tabular Navigation {0}/{1}"},
{"MBeansTab.tabularNavigationSingle", "Tabular Navigation"},
{"MBeansTab.unsubscribeNotificationsButton", "Unsubscribe"},
{"MBeansTab.unsubscribeNotificationsButton.mnemonic", 'U'},
{"MBeansTab.unsubscribeNotificationsButton.toolTip", "Stop listening for notifications"},
{"Manage Hotspot MBeans in: ", "Manage Hotspot MBeans in: "},
{"Max","Max"},
{"Maximum heap size","Maximum heap size"},
{"Memory","Memory"},
{"MemoryPoolLabel", "Memory Pool \"{0}\""},
{"MemoryTab.heapPlotter.accessibleName", "Memory usage chart for heap."},
{"MemoryTab.infoLabelFormat", "<html>Used: {0} Committed: {1} Max: {2}</html>"},
{"MemoryTab.nonHeapPlotter.accessibleName", "Memory usage chart for non heap."},
{"MemoryTab.poolChart.aboveThreshold", "which is above the threshold of {0}.\n"},
{"MemoryTab.poolChart.accessibleName", "Memory Pool Usage Chart."},
{"MemoryTab.poolChart.belowThreshold", "which is below the threshold of {0}.\n"},
{"MemoryTab.poolPlotter.accessibleName", "Memory usage chart for {0}."},
{"Message","Message"},
{"Method successfully invoked", "Method successfully invoked"},
{"Minimize All", "Minimize All"},
{"Minimize All.mnemonic", 'M'},
{"Minus Version", "This is {0} version {1}"},
{"Monitor locked",
" - locked {0}\n"},
{"Motif","Motif"},
{"Name Build and Mode","{0} (build {1}, {2})"},
{"Name and Build","{0} (build {1})"},
{"Name","Name"},
{"Name: ","Name: "},
{"Name State",
"Name: {0}\n" +
"State: {1}\n"},
{"Name State LockName",
"Name: {0}\n" +
"State: {1} on {2}\n"},
{"Name State LockName LockOwner",
"Name: {0}\n" +
"State: {1} on {2} owned by: {3}\n"},
{"New Connection...", "New Connection..."},
{"New Connection....mnemonic", 'N'},
{"New value applied","New value applied"},
{"No attribute selected","No attribute selected"},
{"No deadlock detected","No deadlock detected"},
{"No value selected","No value selected"},
{"Non-Heap Memory Usage","Non-Heap Memory Usage"},
{"Non-Heap", "Non-Heap"},
{"Not Yet Implemented","Not Yet Implemented"},
{"Not a valid event broadcaster", "Not a valid event broadcaster"},
{"Notification","Notification"},
{"Notification buffer","Notification buffer"},
{"Notifications","Notifications"},
{"NotifTypes", "NotifTypes"},
{"Number of Threads","Number of Threads"},
{"Number of Loaded Classes","Number of Loaded Classes"},
{"Number of processors","Number of processors"},
{"ObjectName","ObjectName"},
{"Operating System","Operating System"},
{"Operation","Operation"},
{"Operation invocation","Operation invocation"},
{"Operation return value", "Operation return value"},
{"Operations","Operations"},
{"Overview","Overview"},
{"OverviewPanel.plotter.accessibleName", "Chart for {0}."},
{"Parameter", "Parameter"},
{"Password: ", "Password: "},
{"Password: .mnemonic", 'P'},
{"Password.accessibleName", "Password"},
{"Peak","Peak"},
{"Perform GC", "Perform GC"},
{"Perform GC.mnemonic", 'G'},
{"Perform GC.toolTip", "Request Garbage Collection"},
{"Plotter.accessibleName", "Chart"},
{"Plotter.accessibleName.keyAndValue", "{0}={1}\n"},
{"Plotter.accessibleName.noData", "No data plotted."},
{"Plotter.saveAsMenuItem", "Save data as..."},
{"Plotter.saveAsMenuItem.mnemonic", 'a'},
{"Plotter.timeRangeMenu", "Time Range"},
{"Plotter.timeRangeMenu.mnemonic", 'T'},
{"Problem adding listener","Problem adding listener"},
{"Problem displaying MBean", "Problem displaying MBean"},
{"Problem invoking", "Problem invoking"},
{"Problem removing listener","Problem removing listener"},
{"Problem setting attribute","Problem setting attribute"},
{"Process CPU time","Process CPU time"},
{"R/W","R/W"},
{"Readable","Readable"},
{"Received","Received"},
{"Reconnect","Reconnect"},
{"Remote Process:", "Remote Process:"},
{"Remote Process:.mnemonic", 'R'},
{"Remote Process.textField.accessibleName", "Remote Process"},
{"Remove","Remove"},
{"Restore All", "Restore All"},
{"Restore All.mnemonic", 'R'},
{"Return value", "Return value"},
{"ReturnType", "ReturnType"},
{"SeqNum","SeqNum"},
{"Size Bytes", "{0,number,integer} bytes"},
{"Size Gb","{0} Gb"},
{"Size Kb","{0} Kb"},
{"Size Mb","{0} Mb"},
{"Source","Source"},
{"Stack trace",
"\nStack trace: \n"},
{"Success:","Success:"},
// Note: SummaryTab.headerDateTimeFormat can be one the following:
// 1. A combination of two styles for date and time, using the
// constants from class DateFormat: SHORT, MEDIUM, LONG, FULL.
// Example: "MEDIUM,MEDIUM" or "FULL,SHORT"
// 2. An explicit string pattern used for creating an instance
// of the class SimpleDateFormat.
// Example: "yyyy-MM-dd HH:mm:ss" or "M/d/yyyy h:mm:ss a"
{"SummaryTab.headerDateTimeFormat", "FULL,FULL"},
{"SummaryTab.pendingFinalization.label", "Pending finalization"},
{"SummaryTab.pendingFinalization.value", "{0} objects"},
{"SummaryTab.tabName", "VM Summary"},
{"SummaryTab.vmVersion","{0} version {1}"},
{"TabularData are not supported", "TabularData are not supported"},
{"Threads","Threads"},
{"ThreadTab.infoLabelFormat", "<html>Live: {0} Peak: {1} Total: {2}</html>"},
{"ThreadTab.threadInfo.accessibleName", "Thread Information"},
{"ThreadTab.threadPlotter.accessibleName", "Chart for number of threads."},
{"Threshold","Threshold"},
{"Tile", "Tile"},
{"Tile.mnemonic", 'T'},
{"Time Range:", "Time Range:"},
{"Time Range:.mnemonic", 'T'},
{"Time", "Time"},
{"TimeStamp","TimeStamp"},
{"Total Loaded", "Total Loaded"},
{"Total classes loaded","Total classes loaded"},
{"Total classes unloaded","Total classes unloaded"},
{"Total compile time","Total compile time"},
{"Total physical memory","Total physical memory"},
{"Total threads started","Total threads started"},
{"Total swap space","Total swap space"},
{"Type","Type"},
{"Unavailable","Unavailable"},
{"UNKNOWN","UNKNOWN"},
{"Unknown Host","Unknown Host: {0}"},
{"Unregister", "Unregister"},
{"Uptime","Uptime"},
{"Uptime: ","Uptime: "},
{"Usage Threshold","Usage Threshold"},
{"remoteTF.usage","<b>Usage</b>: <hostname>:<port> OR service:jmx:<protocol>:<sap>"},
{"Used","Used"},
{"Username: ", "Username: "},
{"Username: .mnemonic", 'U'},
{"Username.accessibleName", "User Name"},
{"UserData","UserData"},
{"Virtual Machine","Virtual Machine"},
{"VM arguments","VM arguments"},
{"VM","VM"},
{"VMInternalFrame.accessibleDescription", "Internal frame for monitoring a Java Virtual Machine"},
{"Value","Value"},
{"Vendor", "Vendor"},
{"Verbose Output","Verbose Output"},
{"Verbose Output.toolTip", "Enable verbose output for class loading system"},
{"View value", "View value"},
{"View","View"},
{"Window", "Window"},
{"Window.mnemonic", 'W'},
{"Windows","Windows"},
{"Writable","Writable"},
{"You cannot drop a class here", "You cannot drop a class here"},
{"collapse", "collapse"},
{"connectionFailed1","Connection Failed: Retry?"},
{"connectionFailed2","The connection to {0} did not succeed.<br>" +
"Would you like to try again?"},
{"connectionLost1","Connection Lost: Reconnect?"},
{"connectionLost2","The connection to {0} has been lost " +
"because the remote process has been terminated.<br>" +
"Would you like to reconnect?"},
{"connectingTo1","Connecting to {0}"},
{"connectingTo2","You are currently being connected to {0}.<br>" +
"This will take a few moments."},
{"deadlockAllTab","All"},
{"deadlockTab","Deadlock"},
{"deadlockTabN","Deadlock {0}"},
{"expand", "expand"},
{"kbytes","{0} kbytes"},
{"operation","operation"},
{"plot", "plot"},
{"visualize","visualize"},
{"zz usage text",
"Usage: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n" +
" -interval Set the update interval to n seconds (default is 4 seconds)\n" +
" -notile Do not tile windows initially (for two or more connections)\n" +
" -pluginpath Specify the path that jconsole uses to look up the plugins\n" +
" -version Print program version\n\n" +
" connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n" +
" pid The process id of a target process\n" +
" host A remote host name or IP address\n" +
" port The port number for the remote connection\n\n" +
" -J Specify the input arguments to the Java virtual machine\n" +
" on which jconsole is running"},
// END OF MATERIAL TO LOCALIZE
};
String ls = System.getProperty("line.separator");
for(int i=0;i<temp.length;i++) {
if (temp[i][1] instanceof String){
temp[i][1] = temp[i][1].toString().replaceAll("\n",ls);
}
}
return temp;
}
public synchronized Object[][] getContents() {
return getContents0();
}
}