/**************************************************************
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.
 *
 *************************************************************/

#define _SV_HELPTEXT_SRC

#include <svids.hrc>

String SV_HELPTEXT_CLOSE
{
	Text [ en-US ] = "Close" ;
};
String SV_HELPTEXT_CLOSEDOCUMENT
{
	Text [ en-US ] = "Close Document" ;
};
String SV_HELPTEXT_MINIMIZE
{
	Text [ en-US ] = "Minimize" ;
};

String SV_HELPTEXT_MAXIMIZE
{
	Text [ en-US ] = "Maximize" ;
};

String SV_HELPTEXT_RESTORE
{
	Text [ en-US ] = "Restore" ;
};

String SV_HELPTEXT_ROLLDOWN
{
	Text [ en-US ] = "Drop down" ;
};

String SV_HELPTEXT_ROLLUP
{
	Text [ en-US ] = "Roll up" ;
};

String SV_HELPTEXT_HELP
{
	Text [ en-US ] = "Help" ;
};

String SV_HELPTEXT_ALWAYSVISIBLE
{
	Text [ en-US ] = "Always visible" ;
};

String SV_HELPTEXT_FADEIN
{
	Text [ en-US ] = "Show" ;
};

String SV_HELPTEXT_FADEOUT
{
	Text [ en-US ] = "Hide" ;
};

String SV_HELPTEXT_SPLITFLOATING
{
	Text [ en-US ] = "Floating" ;
};

String SV_HELPTEXT_SPLITFIXED
{
	Text [ en-US ] = "Stick" ;
};

String SV_SHORTCUT_HELP
{
	Text [ en-US ] = "Help" ;
};

String SV_SHORTCUT_CONTEXTHELP
{
	Text [ en-US ] = "Context Help" ;
};

String SV_SHORTCUT_ACTIVEHELP
{
	Text [ en-US ] = "Extended Tips" ;
};

String SV_SHORTCUT_DOCKUNDOCK
{
	Text [ en-US ] = "Dock/Undock Windows" ;
};

String SV_SHORTCUT_NEXTSUBWINDOW
{
	Text [ en-US ] = "To Next Toolbar/Window" ;
};

String SV_SHORTCUT_PREVSUBWINDOW
{
	Text [ en-US ] = "To Previous Toolbar/Window" ;
};

String SV_SHORTCUT_TODOCUMENT
{
	Text [ en-US ] = "To Document" ;
};

String SV_SHORTCUT_MENUBAR
{
	Text [ en-US ] = "To Menu Bar" ;
};

String SV_SHORTCUT_SPLITTER
{
	Text [ en-US ] = "Split window separator" ;
};

// ********************************************************************** EOF
