#
# Copyright (C) 2011 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

DdmsPlugin_Message_Tag_Mask_1=[%1$tF %1$tT]
DdmsPlugin_Message_Tag_Mask_2=[%1$tF %1$tT - %2$s]
DdmsPlugin_DDMS_Post_Create_Init=DDMS post-create init
DeviceView_ADB_Error=Adb Error
DeviceView_ADB_Failed_Restart=Adb failed to restart\!\n\nMake sure the plugin is properly configured.
DeviceView_Cause_GC=Cause GC
DeviceView_Cause_GC_Tooltip=Cause GC
DeviceView_Debug_Process=Debug Process
DeviceView_Debug_Process_Title=Process Debug
DeviceView_Debug_Process_Tooltip=Debug the selected process, provided its source project is present and opened in the workspace.
DeviceView_Debug_Session_Failed=No opened project found for %1$s. Debug session failed\!
DeviceView_Dump_HPROF_File=Dump HPROF file
DeviceView_Dump_HPROF_File_Not_Supported_By_VM=Dump HPROF file (not supported by this VM)
DeviceView_Dump_HPROF_File_Tooltip=Dump HPROF file
DeviceView_Failed_To_Save_HPROF_Data=Failed to save hprof data into temp file%1$s
DeviceView_HPROF_Error=HPROF Error
DeviceView_Process_Already_Being_Debugged=The process is already being debugged\!
DeviceView_Process_Debug_Already_In_Use=The process debug port is already in use\!
DeviceView_Pulling_From_Device=Pulling %1$s from the device
DeviceView_Reset_ADB=Reset adb
DeviceView_Reset_ADB_Host_Deamon=Reset the adb host daemon
DeviceView_Save_HPROF_File=Save HPROF file
DeviceView_Screen_Capture=Screen Capture
DeviceView_Screen_Capture_Tooltip=Screen Capture
DeviceView_Start_Method_Profiling=Start Method Profiling
DeviceView_Start_Method_Profiling_Not_Suported_By_Vm=Start Method Profiling (not supported by this VM)
DeviceView_Start_Method_Profiling_Tooltip=Start Method Profiling
DeviceView_Stop_Method_Profiling=Stop Method Profiling
DeviceView_Stop_Method_Profiling_Tooltip=Stop Method Profiling
DeviceView_Stop_Process=Stop Process
DeviceView_Stop_Process_Tooltip=Stop Process
DeviceView_Threads=Update Threads
DeviceView_Threads_Tooltip=Update Threads
DeviceView_Unable_Create_HPROF_For_Application=Unable to create HPROF file for application '%1$s'.\n\n%2$s Check logcat for more information.
DeviceView_Unable_Download_HPROF_From_Device_One_Param_First_Message=Unable to download HPROF file from device '%1$s'.
DeviceView_Unable_Download_HPROF_From_Device_One_Param_Second_Message=Unable to download HPROF file from device '%1$s'.
DeviceView_Unable_Download_HPROF_From_Device_Two_Param=Unable to download HPROF file from device '%1$s'.\n\n%2$s
DeviceView_Update_Heap=Update Heap
DeviceView_Update_Heap_Tooltip=Update Heap
EventLogView_Clear_Log=Clear Log
EventLogView_Clears_Event_Log=Clears the event log
EventLogView_Import_Bug_Report_Log=Import Bug Report Log
EventLogView_Imports_Bug_Report=Imports a bug report.
EventLogView_Load_Log=Load Log
EventLogView_Loads_Event_Log=Loads an event log
EventLogView_Opens_Options_Panel=Opens the options panel
EventLogView_Options=Options...
EventLogView_Save_Log=Save Log
EventLogView_Saves_Event_Log=Saves the event log
FileExplorerView_Delete=Delete
FileExplorerView_Delete_The_Selection=Delete the selection
FileExplorerView_Pull_File=Pull File...
FileExplorerView_Pull_File_From_File=Pull a file from the device
FileExplorerView_Push_File=Push File...
FileExplorerView_Push_File_Onto_Device=Push a file onto the device
LogCatPreferencePage_Display_Font=Display Font:
LogCatPreferencePage_MaxMessages=Maximum number of logcat messages to buffer:
LogCatPreferencePage_Switch_Perspective=Switch Perspective
LogCatPreferencePage_Switch_To=Switch to:
LogCatPreferencePage_AutoMonitorLogcat=Monitor logcat for messages from applications in workspace
LogCatPreferencePage_SessionFilterLogLevel=Show logcat view if message priority is atleast:
LogCatView_Clear_Log=Clear Log
LogCatView_Copy=Copy
LogCatView_Create_Filter=Create Filter
LogCatView_Create_Filter_Tooltip=Create Filter
LogCatView_Delete_Filter=Delete Filter
LogCatView_Delete_Filter_Tooltip=Delete Filter
LogCatView_Edit_Filter=Edit Filter
LogCatView_Edit_Filter_Tooltip=Edit Filter
LogCatView_Export_Selection_As_Text=Export Selection As Text...
LogCatView_Export_Selection_As_Text_Tooltip=Export Selection As Text...
LogCatView_Select_All=Select All
PreferencePage_ADB_Connection_Time_Out=ADB connection time out (ms):
PreferencePage_Adbhost_value=ADBHOST value:
PreferencePage_Assert=Assert
PreferencePage_Base_Local_Debugger_Port=Base local debugger port:
PreferencePage_Debug=Debug
PreferencePage_Error=Error
PreferencePage_Heap_Updates_Enabled_Default=Heap updates enabled by default
PreferencePage_HPROF_Action=HPROF Action:
PreferencePage_Info=Info
PreferencePage_Logging_Level=Logging Level
PreferencePage_Open_Eclipse=Open in Eclipse
PreferencePage_Save_Disk=Save to disk
PreferencePage_Thread_Status_Refresh_Interval=Thread status refresh interval (seconds):
PreferencePage_Thread_Updates_Enabled_By_Default=Thread updates enabled by default
PreferencePage_Use_Adbhost=Use ADBHOST
PreferencePage_Verbose=Verbose
PreferencePage_Warning=Warning
TableView_Copy=Copy
TableView_Select_All=Select All
