/**************************************************************
 *
 * 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.
 *
 *************************************************************/



#include "strings.hrc"
#include "sdstring.hrc"
#include "glob.hrc"
#include "helpids.h"
#include "sdstring.hrc"

String STR_DRAW_TOOLBOX
{
	Text [ en-US ] = "Drawings Toolbar" ;
};
String STR_GRAPHIC_TOOLBOX
{
	Text [ en-US ] = "Draw toolbar/Graphics" ;
};
String STR_SLIDE_TOOLBOX
{
	Text [ en-US ] = "Slide Bar" ;
};
String STR_OUTLINE_TOOLBOX
{
	Text [ en-US ] = "Outline Bar" ;
};
String STR_DRAW_OBJ_TOOLBOX
{
	Text [ en-US ] = "Draw Object Bar" ;
};
String STR_GRAPHIC_OBJ_TOOLBOX
{
	Text [ en-US ] = "Draw object bar/Graphics" ;
};
String STR_DRAW_OPTIONS_TOOLBOX
{
	Text [ en-US ] = "Options Bar" ;
};
String STR_GRAPHIC_OPTIONS_TOOLBOX
{
	Text [ en-US ] = "Options bar/Graphics" ;
};
String STR_DRAW_COMMONTASK_TOOLBOX
{
	Text [ en-US ] = "Presentation" ;
};
String STR_SLIDE_OBJ_TOOLBOX
{
	Text [ en-US ] = "Slide Object Bar" ;
};
String STR_BEZIER_TOOLBOX
{
	Text [ en-US ] = "Bézier object bar" ;
};
String STR_GLUEPOINTS_TOOLBOX
{
	Text [ en-US ] = "Glue Point Object Bar" ;
};
String STR_DRAW_TEXT_TOOLBOX
{
	Text [ en-US ] = "Text Object Bar" ;
};
String STR_GRAPHIC_TEXT_TOOLBOX
{
	Text [ en-US ] = "Text Object Bar/Draw" ;
};
String RID_APPTITLE
{
	Text = "StarImpress 4.0" ;
};
String STR_NULL
{
	Text [ en-US ] = "None" ;
};
String STR_INSERTPAGE
{
	Text [ en-US ] = "Insert Slide" ;
};
String STR_INSERTLAYER
{
	Text [ en-US ] = "Insert Layer" ;
};
String STR_MODIFYLAYER
{
	Text [ en-US ] = "Modify Layer" ;
};
String STR_UNDO_SLIDE_PARAMS
{
	Text [ en-US ] = "Slide parameter" ;
};
String STR_UNDO_SLIDE_MOVE
{
	Text [ en-US ] = "Move slide" ;
};
String STR_UNDO_CUT
{
	Text [ en-US ] = "Cut" ;
};
String STR_UNDO_REPLACE
{
	Text [ en-US ] = "Replace" ;
};
String STR_UNDO_DRAGDROP
{
	Text [ en-US ] = "Drag and Drop" ;
};
String STR_INSERTGRAPHIC
{
	Text [ en-US ] = "Insert picture" ;
};
String STR_SLOW
{
	Text [ en-US ] = "Slow" ;
};
String STR_MEDIUM
{
	Text [ en-US ] = "Medium" ;
};
String STR_FAST
{
	Text [ en-US ] = "Fast" ;
};
String STR_UNDO_BEZCLOSE
{
	Text [ en-US ] = "Close Polygon" ;
};
String STR_SLIDE_MODE
{
	Text [ en-US ] = "Slide Sorter" ;
};
String STR_DRAW_MODE
{
	Text [ en-US ] = "Normal" ;
};
String STR_OUTLINE_MODE
{
	Text [ en-US ] = "Outline" ;
};
String STR_NOTES_MODE
{
	Text [ en-US ] = "Notes" ;
};
String STR_HANDOUT_MODE
{
	Text [ en-US ] = "Handout" ;
};

String STR_AUTOLAYOUT_NONE
{
	Text [ en-US ] = "Blank Slide" ;
};
String STR_AUTOLAYOUT_ONLY_TITLE
{
	Text [ en-US ] = "Title Only" ;
};
String STR_AUTOLAYOUT_ONLY_TEXT
{
	Text [ en-US ] = "Centered Text" ;
};
String STR_AUTOLAYOUT_TITLE
{
	Text [ en-US ] = "Title Slide" ;
};
String STR_AUTOLAYOUT_CONTENT
{
	Text [ en-US ] = "Title, Content" ;
};
String STR_AUTOLAYOUT_2CONTENT
{
	Text [ en-US ] = "Title and 2 Content" ;
};
String STR_AUTOLAYOUT_CONTENT_2CONTENT
{
	Text [ en-US ] = "Title, Content and 2 Content" ;
};
String STR_AUTOLAYOUT_2CONTENT_CONTENT
{
	Text [ en-US ] = "Title, 2 Content and Content" ;
};
String STR_AUTOLAYOUT_CONTENT_OVER_2CONTENT
{
	Text [ en-US ] = "Title, Content over 2 Content" ;
};
String STR_AUTOLAYOUT_2CONTENT_OVER_CONTENT
{
	Text [ en-US ] = "Title, 2 Content over Content" ;
};
String STR_AUTOLAYOUT_CONTENT_OVER_CONTENT
{
	Text [ en-US ] = "Title, Content over Content" ;
};
String STR_AUTOLAYOUT_4CONTENT
{
	Text [ en-US ] = "Title, 4 Content" ;
};
String STR_AUTOLAYOUT_6CONTENT
{
	Text [ en-US ] = "Title, 6 Content" ;
};
String STR_AL_TITLE_VERT_OUTLINE
{
	Text [ en-US ] = "Title, Vertical Text" ;
};
String STR_AL_TITLE_VERT_OUTLINE_CLIPART
{
	Text [ en-US ] = "Title, Vertical Text, Clipart" ;
};
String STR_AL_VERT_TITLE_TEXT_CHART
{
	Text [ en-US ] = "Vertical Title, Text, Chart" ;
};
String STR_AL_VERT_TITLE_VERT_OUTLINE
{
	Text [ en-US ] = "Vertical Title, Vertical Text" ;
};

String STR_AUTOLAYOUT_HANDOUT1
{
	Text [ en-US ] = "One Slide" ;
};
String STR_AUTOLAYOUT_HANDOUT2
{
	Text [ en-US ] = "Two Slides" ;
};
String STR_AUTOLAYOUT_HANDOUT3
{
	Text [ en-US ] = "Three Slides" ;
};
String STR_AUTOLAYOUT_HANDOUT4
{
	Text [ en-US ] = "Four Slides" ;
};
String STR_AUTOLAYOUT_HANDOUT6
{
	Text [ en-US ] = "Six Slides" ;
};
String STR_AUTOLAYOUT_HANDOUT9
{
	Text [ en-US ] = "Nine Slides" ;
};

String STR_AUTOLAYOUT_NOTES
{
	Text [ en-US ] = "Notes" ;
};
String STR_TRANSFORM
{
	Text [ en-US ] = "transform" ;
};
String STR_LINEEND
{
	Text [ en-US ] = "Line Ends" ;
};
String STR_DESC_LINEEND
{
	Text [ en-US ] = "Please enter a name for the new arrowhead:" ;
};
String STR_WARN_NAME_DUPLICATE
{
	Text [ en-US ] = "The name chosen already exists.\nPlease enter another name." ;
};
String STR_UNDO_ANIMATION
{
	Text [ en-US ] = "Animation parameters" ;
};
String STR_EXPORT_HTML_NAME
{
	Text [ en-US ] = "Web Page" ;
};
String STR_EXPORT_HTML_FILTER
{
	Text = "*.html;*.htm" ;
};
String STR_EXPORT_DIALOG_TITLE
{
	Text [ en-US ] = "Export" ;
};
String STR_HTMLEXP_DEFAULT_EXTENSION
{
	Text = ".html" ;
};
String STR_UNDO_COPYOBJECTS
{
	Text [ en-US ] = "Duplicate" ;
};
String STR_TITLE_NAMEGROUP
{
	Text [ en-US ] = "Name Object" ;
};
String STR_DESC_NAMEGROUP
{
	Text [ en-US ] = "Name" ;
};
String STR_WARN_PAGE_EXISTS
{
	Text [ en-US ] = "The slide name already exists or is invalid. Please enter another name." ;
};
String STR_SNAPDLG_SETLINE
{
	Text [ en-US ] = "Edit Snap Line" ;
};
String STR_SNAPDLG_SETPOINT
{
	Text [ en-US ] = "Edit Snap Point" ;
};
String STR_POPUP_EDIT_SNAPLINE
{
	Text [ en-US ] = "Edit Snap Line..." ;
};
String STR_POPUP_EDIT_SNAPPOINT
{
	Text [ en-US ] = "Edit Snap Point..." ;
};
String STR_POPUP_DELETE_SNAPLINE
{
	Text [ en-US ] = "Delete Snap Line" ;
};
String STR_POPUP_DELETE_SNAPPOINT
{
	Text [ en-US ] = "Delete Snap Point" ;
};
String STR_IMPRESS
{
	Text [ en-US ] = "StarImpress 4.0" ;
};
String STR_LAYER
{
	Text [ en-US ] = "Layer" ;
};
String STR_UNDO_DELETEPAGES
{
	Text [ en-US ] = "Delete slides" ;
};
String STR_UNDO_INSERTPAGES
{
	Text [ en-US ] = "Insert slides" ;
};
String STR_ASK_DELETE_LAYER
{
	Text [ en-US ] = "Are you sure you want to delete the level \"$\"?\nNote: All objects on this level will be deleted!" ;
};
String STR_ASK_DELETE_ALL_PICTURES
{
	Text [ en-US ] = "Do you really want to delete all images?" ;
};
String STR_UNDO_CHANGE_TITLE_AND_LAYOUT
{
	Text [ en-US ] = "Modify title and outline" ;
};
String STR_WAV_FILE
{
	Text [ en-US ] = "Sound" ;
};
String STR_MIDI_FILE
{
	Text [ en-US ] = "MIDI" ;
};
String STR_AU_FILE
{
	Text [ en-US ] = "Sun/NeXT Audio" ;
};
String STR_VOC_FILE
{
	Text [ en-US ] = "Creative Labs Audio" ;
};
String STR_AIFF_FILE
{
	Text [ en-US ] = "Apple/SGI Audio" ;
};
String STR_SVX_FILE
{
	Text [ en-US ] = "Amiga SVX Audio" ;
};
String STR_SD_PAGE
{
	Text [ en-US ] = "Slide" ;
};
String STR_ALL_FILES
{
	Text [ en-US ] = "All files (*.*)" ;
};
String STR_UNDO_INSERT_TEXTFRAME
{
	Text [ en-US ] = "Insert text frame" ;
};
String STR_ACTION_NOTPOSSIBLE
{
	Text [ en-US ] = "This function cannot be run\nwith the selected objects." ;
};
String STR_DLG_INSERT_PAGES_FROM_FILE
{
	Text [ en-US ] = "Insert File" ;
};
String STR_READ_DATA_ERROR
{
	Text [ en-US ] = "The file could not be loaded!" ;
};
String STR_SCALE_OBJECTS
{
	Text [ en-US ] = "The format of the new pages will be adapted.\nDo you want to adapt the objects, too?" ;
};
String STR_CREATE_PAGES
{
	Text [ en-US ] = "Create slides" ;
};
String STR_UNDO_CHANGE_PAGEFORMAT
{
	Text [ en-US ] = "Modify page format" ;
};
String STR_UNDO_CHANGE_PAGEBORDER
{
	Text [ en-US ] = "Modify page margins" ;
};
String STR_EDIT_OBJ
{
	Text [ en-US ] = "~Edit" ;
};
ModalDialog RID_UNDO_DELETE_WARNING
{
	OutputSize = TRUE ;
	Size = MAP_APPFONT ( 175 + 39 + (3 * 6), (7 * 12) + 6 ) ;
	Moveable = TRUE ;
	Closeable = TRUE ;

	HelpID = HID_UNDO_DELETE_WARNING ;

	FixedImage IMG_UNDO_DELETE_WARNING
	{
		Pos = MAP_APPFONT ( 6, 6 ) ;
		Size = MAP_APPFONT ( 30, 30 ) ;
	};
	FixedText FT_UNDO_DELETE_WARNING
	{
		Pos = MAP_APPFONT ( 39, 6 ) ;
		Size = MAP_APPFONT ( 175, 4 * 12 ) ;
		WordBreak = TRUE ;
		Text [ en-US ] = "This action deletes the list of actions that can\nbe undone. Previous changes made to the document are still valid,\nbut cannot be undone. Do you want to continue and\nthus assign the new slide design?" ;
	};
	CheckBox CB_UNDO_DELETE_DISABLE
	{
		HelpID = "sd:CheckBox:RID_UNDO_DELETE_WARNING:CB_UNDO_DELETE_DISABLE" ;
		Pos = MAP_APPFONT ( 39, (4 * 12) + 9 ) ;
		Size = MAP_APPFONT ( 175, 12 ) ;
		Text [ en-US ] = "~Do not show this warning again" ;
	};
	OKButton BTN_UNDO_DELETE_YES
	{
		Pos = MAP_APPFONT ( 60, (5 * 12) + 13 ) ;
		Size = MAP_APPFONT ( 50, 14 ) ;
	};
	CancelButton BTN_UNDO_DELETE_NO
	{
		Pos = MAP_APPFONT ( 120, (5 * 12) + 13 ) ;
		Size = MAP_APPFONT ( 50, 14 ) ;
		DefButton = TRUE;
	};
	Text [ en-US ] = "%PRODUCTNAME %PRODUCTVERSION" ;
};

String STR_DELETE_PAGES
{
	Text [ en-US ] = "Delete slides" ;
};
String STR_WARN_PRINTFORMAT_FAILURE
{
	Text [ en-US ] = "The document format could not be set on the specified printer." ;
};
String STR_REMOVE_LINK
{
	Text [ en-US ] = "This graphic is linked to a document.\nDo you want to unlink the graphic in order to edit it?" ;
};
String STR_IMPORT_GRFILTER_OPENERROR
{
	Text [ en-US ] = "Graphics file cannot be opened" ;
};
String STR_IMPORT_GRFILTER_IOERROR
{
	Text [ en-US ] = "Graphics file cannot be read" ;
};
String STR_IMPORT_GRFILTER_FORMATERROR
{
	Text [ en-US ] = "Unknown graphics format" ;
};
String STR_IMPORT_GRFILTER_VERSIONERROR
{
	Text [ en-US ] = "This graphics file version is not supported" ;
};
String STR_IMPORT_GRFILTER_FILTERERROR
{
	Text [ en-US ] = "Graphics filter not found" ;
};
String STR_IMPORT_GRFILTER_TOOBIG
{
	Text [ en-US ] = "Not enough memory to import graphics" ;
};
String STR_OBJECTS
{
	Text [ en-US ] = "Objects" ;
};
String STR_END_SEARCHING
{
	Text [ en-US ] = "The document search is finished." ;
};
String STR_END_SPELLING
{
	Text [ en-US ] = "Spellcheck of entire document has been completed." ;
};
String STR_END_SPELLING_OBJ
{
	Text [ en-US ] = "The spellcheck for the selected objects has been completed." ;
};
String STR_NOLANGUAGE
{
	Text [ en-US ] = "The selected language is not available." ;
};
String STR_ASK_FOR_CONVERT_TO_BEZIER
{
	Text [ en-US ] = "Convert selected object to curve?" ;
};
String STR_UNDO_CHANGE_PRES_OBJECT
{
	Text [ en-US ] = "Modify presentation object '$'" ;
};
String STR_UNDO_MODIFY_PAGE
{
	Text [ en-US ] = "Slide layout" ;
};
String STR_STATSTR_PRINT
{
	Text [ en-US ] = "Printing..." ;
};
String STR_UNDO_INSERT_FILE
{
	Text [ en-US ] = "Insert file" ;
};
String STR_SCALE_OBJS_TO_PAGE
{
	Text [ en-US ] = "Should the graphics be scaled to the new slide format?" ;
};
String STR_UNDO_INSERT_SPECCHAR
{
	Text [ en-US ] = "Insert special character" ;
};
String STR_UNDO_SET_PRESLAYOUT
{
	Text [ en-US ] = "Apply presentation layout" ;
};
String STR_STRING_NOTFOUND
{
	Text [ en-US ] = "Search key not found." ;
};
String STR_PLAY
{
	Text [ en-US ] = "~Play" ;
};
String STR_STOP
{
	Text [ en-US ] = "Sto~p" ;
};
String STR_UNDO_ORIGINALSIZE
{
	Text [ en-US ] = "Original Size" ;
};
String STR_PRINT_DRAWING
{
	Text [ en-US ] = " (Drawing)" ;
};
String STR_PRINT_NOTES
{
	Text [ en-US ] = " (Notes)" ;
};
String STR_PRINT_HANDOUT
{
	Text [ en-US ] = " (Handout)" ;
};
String STR_PRINT_OUTLINE
{
	Text [ en-US ] = " (Outline)" ;
};
String STR_WARN_SCALE_FAIL
{
	Text [ en-US ] = "The specified scale is invalid.\nDo you want to enter a new one?" ;
};
String STR_CLICK_ACTION_NONE
{
	Text [ en-US ] = "No action" ;
};
String STR_CLICK_ACTION_PREVPAGE
{
	Text [ en-US ] = "Go to previous slide" ;
};
String STR_CLICK_ACTION_NEXTPAGE
{
	Text [ en-US ] = "Go to next slide" ;
};
String STR_CLICK_ACTION_FIRSTPAGE
{
	Text [ en-US ] = "Go to first slide" ;
};
String STR_CLICK_ACTION_LASTPAGE
{
	Text [ en-US ] = "Go to last slide" ;
};
String STR_CLICK_ACTION_BOOKMARK
{
	Text [ en-US ] = "Go to page or object" ;
};
String STR_CLICK_ACTION_DOCUMENT
{
	Text [ en-US ] = "Go to document" ;
};
String STR_CLICK_ACTION_VANISH
{
	Text [ en-US ] = "Fade object" ;
};
String STR_CLICK_ACTION_INVISIBLE
{
	Text [ en-US ] = "Hide object" ;
};
String STR_CLICK_ACTION_SOUND
{
	Text [ en-US ] = "Play sound" ;
};
String STR_CLICK_ACTION_VERB
{
	Text [ en-US ] = "Start object action" ;
};
String STR_CLICK_ACTION_PROGRAM
{
	Text [ en-US ] = "Run program" ;
};
String STR_CLICK_ACTION_MACRO
{
	Text [ en-US ] = "Run macro" ;
};
String STR_CLICK_ACTION_STOPPRESENTATION
{
	Text [ en-US ] = "Exit presentation" ;
};
String STR_EFFECTDLG_JUMP
{
	Text [ en-US ] = "Target" ;
};
String STR_EFFECTDLG_ACTION
{
	Text [ en-US ] = "Act~ion" ;
};
String STR_EFFECTDLG_SOUND
{
	Text [ en-US ] = "Sound" ;
};
String STR_EFFECTDLG_PAGE_OBJECT
{
	Text [ en-US ] = "Slide / Object" ;
};
String STR_EFFECTDLG_DOCUMENT
{
	Text [ en-US ] = "Document" ;
};
String STR_EFFECTDLG_PROGRAM
{
	Text [ en-US ] = "Program" ;
};
String STR_EFFECTDLG_MACRO
{
	Text [ en-US ] = "Macro" ;
};
 // Strings fuer Animations-Effekte
String STR_EFFECT_NONE
{
	Text [ en-US ] = "No Effect" ;
};
String STR_INSERT_TEXT
{
	Text [ en-US ] = "Insert Text" ;
};
String STR_SLIDE_SINGULAR
{
	Text [ en-US ] = " Slide" ;
};
String STR_SLIDE_PLURAL
{
	Text [ en-US ] = " Slides" ;
};
String STR_LOAD_PRESENTATION_LAYOUT
{
	Text [ en-US ] = "Load Slide Design" ;
};
String STR_DRAGTYPE_URL
{
	Text [ en-US ] = "Insert as hyperlink" ;
};
String STR_DRAGTYPE_EMBEDDED
{
	Text [ en-US ] = "Insert as copy" ;
};
String STR_DRAGTYPE_LINK
{
	Text [ en-US ] = "Insert as link" ;
};
String STR_GLUE_ESCDIR_SMART
{
	Text [ en-US ] = "Smart" ;
};
String STR_GLUE_ESCDIR_LEFT
{
	Text [ en-US ] = "Left" ;
};
String STR_GLUE_ESCDIR_RIGHT
{
	Text [ en-US ] = "Right" ;
};
String STR_GLUE_ESCDIR_TOP
{
	Text [ en-US ] = "Top" ;
};
String STR_GLUE_ESCDIR_BOTTOM
{
	Text [ en-US ] = "Bottom" ;
};
String STR_GLUE_ESCDIR_LO
{
	Text [ en-US ] = "Top Left?" ;
};
String STR_GLUE_ESCDIR_LU
{
	Text [ en-US ] = "Bottom Left?" ;
};
String STR_GLUE_ESCDIR_RO
{
	Text [ en-US ] = "Top Right?" ;
};
String STR_GLUE_ESCDIR_RU
{
	Text [ en-US ] = "Bottom Right?" ;
};
String STR_GLUE_ESCDIR_HORZ
{
	Text [ en-US ] = "Horizontal" ;
};
String STR_GLUE_ESCDIR_VERT
{
	Text [ en-US ] = "Vertical" ;
};
String STR_GLUE_ESCDIR_ALL
{
	Text [ en-US ] = "All?" ;
};
String STR_CANT_PERFORM_IN_LIVEMODE
{
	Text [ en-US ] = "This action can't be run in the live mode." ;
};
String STR_PUBLISH_BACK
{
	Text [ en-US ] = "Back" ;
};
String STR_PUBLISH_NEXT
{
	Text [ en-US ] = "Continue" ;
};
String STR_PUBLISH_OUTLINE
{
	Text [ en-US ] = "Overview" ;
};
String STR_EYEDROPPER
{
	Text [ en-US ] = "Color Replacer" ;
};
String STR_UNDO_MORPHING
{
	Text [ en-US ] = "Cross-fading" ;
};
String STR_UNDO_COLORRESOLUTION
{
	Text [ en-US ] = "Color resolution" ;
};
String STR_UNDO_EXPAND_PAGE
{
	Text [ en-US ] = "Expand Slide" ;
};
String STR_UNDO_SUMMARY_PAGE
{
	Text [ en-US ] = "Table of Contents Slide" ;
};
String STR_TWAIN_NO_SOURCE_UNX
{
	Text [ en-US ] = "No SANE source is available at the moment." ;
};

String STR_TWAIN_NO_SOURCE
{
	Text [ en-US ] = "At present, no TWAIN source is available." ;
};

String STR_FIX
{
	Text [ en-US ] = "Fixed" ;
};
String STR_VAR
{
	Text [ en-US ] = "Variable" ;
};
String STR_STANDARD_NORMAL
{
	Text [ en-US ] = "Standard" ;
};
String STR_STANDARD_SMALL
{
	Text [ en-US ] = "Standard (short)" ;
};
String STR_STANDARD_BIG
{
	Text [ en-US ] = "Standard (long)" ;
};
String STR_FILEFORMAT_NAME_EXT
{
	Text [ en-US ] = "File name" ;
};
String STR_FILEFORMAT_FULLPATH
{
	Text [ en-US ] = "Path/File name" ;
};
String STR_FILEFORMAT_PATH
{
	Text [ en-US ] = "Path" ;
};
String STR_FILEFORMAT_NAME
{
	Text [ en-US ] = "File name without extension" ;
};
String STR_RELEASE_GRAPHICLINK
{
	Text [ en-US ] = "This graphic is linked to a document. Do you want to unlink the graphic in order to edit it?" ;
};
String STR_NEW_CUSTOMSHOW
{
	Text [ en-US ] = "New Custom Slide Show" ;
};
String STR_COPY_CUSTOMSHOW
{
	Text [ en-US ] = "Copy " ;
};
String STR_IMPRESS_DOCUMENT
{
	Text [ en-US ] = "Presentation" ;
};
String STR_IMPRESS_DOCUMENT_FULLTYPE_60
{
	Text [ en-US ] = "%PRODUCTNAME %PRODUCTVERSION Presentation" ;
};
String STR_GRAPHIC_DOCUMENT
{
	Text [ en-US ] = "Drawing" ;
};
String STR_GRAPHIC_DOCUMENT_FULLTYPE_60
{
	Text [ en-US ] = "%PRODUCTNAME %PRODUCTVERSION Drawing" ;
};
String STR_BREAK_METAFILE
{
	Text [ en-US ] = "Ungroup Metafile(s)..." ;
};
String STR_BREAK_FAIL
{
	Text [ en-US ] = "It was not possible to ungroup all drawing objects." ;
};

// HtmlExport
String STR_PUBDLG_SAMENAME
{
	Text [ en-US ] = "A design already exists with this name.\nDo you want to replace it?" ;
};

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

String STR_HTMLATTR_LINK
{
	Text [ en-US ] = "Hyperlink" ;
};

String STR_HTMLATTR_VLINK
{
	Text [ en-US ] = "Visited link" ;
};

String STR_HTMLATTR_ALINK
{
	Text [ en-US ] = "Active link" ;
};

String STR_HTMLEXP_NOTES
{
	Text [ en-US ] = "Notes" ;
};

String STR_HTMLEXP_CONTENTS
{
	Text [ en-US ] = "Table of contents" ;
};

String STR_HTMLEXP_CLICKSTART
{
	Text [ en-US ] = "Click here to start" ;
};

String STR_HTMLEXP_AUTHOR
{
	Text [ en-US ] = "Author" ;
};

String STR_HTMLEXP_EMAIL
{
	Text [ en-US ] = "E-mail" ;
};

String STR_HTMLEXP_HOMEPAGE
{
	Text [ en-US ] = "Homepage" ;
};

String STR_HTMLEXP_INFO
{
	Text [ en-US ] = "Further information" ;
};

String STR_HTMLEXP_DOWNLOAD
{
	Text [ en-US ] = "Download presentation" ;
};

String STR_HTMLEXP_NOFRAMES
{
	Text [ en-US ] = "Unfortunately your browser does not support floating frames." ;
};

String STR_HTMLEXP_FIRSTPAGE
{
	Text [ en-US ] = "First page" ;
};

String STR_HTMLEXP_LASTPAGE
{
	Text [ en-US ] = "Last page" ;
};

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

String STR_HTMLEXP_SETGRAPHIC
{
	Text [ en-US ] = "Graphics" ;
};

String STR_HTMLEXP_OUTLINE
{
	Text [ en-US ] = "With contents" ;
};

String STR_HTMLEXP_NOOUTLINE
{
	Text [ en-US ] = "Without contents" ;
};

String STR_WEBVIEW_SAVE
{
	Text [ en-US ] = "To given page" ;
};

String STR_UNDO_VECTORIZE
{
	Text [ en-US ] = "Convert bitmap to polygon" ;
};

String STR_PRES_SOFTEND
{
	Text [ en-US ] = "Click to exit presentation..." ;
};

String STR_PRES_PAUSE
{
	Text [ en-US ] = "Pause..." ;
};

STRING STR_WIZARD_ORIGINAL
{
	Text [ en-US ] = "<Original>" ;
};

STRING STR_ISLOADING
{
	Text [ en-US ] = "Loading..." ;
};

String STR_DRAW_GRAF_TOOLBOX
{
	Text [ en-US ] = "Graphics Object Bar" ;
};

String STR_UNDO_APPLY_3D_FAVOURITE
{
	Text [ en-US ] = "Apply 3D favorite" ;
};

String STR_UNDO_GRAFFILTER
{
	Text [ en-US ] = "Graphics filter" ;
};

String STR_WARNING_NOSOUNDFILE
{
	Text [ en-US ] = "The file %\nis not a valid sound file!" ;
};

String STR_UNDO_CONVERT_TO_METAFILE
{
	Text [ en-US ] = "Convert to metafile" ;
};

String STR_UNDO_CONVERT_TO_BITMAP
{
	Text [ en-US ] = "Convert to bitmap" ;
};
String STR_HTMLEXP_ERROR_CREATE_FILE
{
	Text [ en-US ] = "Cannot create the file $(URL1)." ;
};
String STR_HTMLEXP_ERROR_OPEN_FILE
{
	Text [ en-US ] = "Could not open the file $(URL1)." ;
};
String STR_HTMLEXP_ERROR_COPY_FILE
{
	Text [ en-US ] = "The file $(URL1) could not be copied to $(URL2)" ;
};
String STR_PAGE_BACKGROUND_TITLE
{
	Text [ en-US ] = "Page Settings" ;
};
String STR_PAGE_BACKGROUND_TXT
{
	Text [ en-US ] = "Background settings for all pages?" ;
};
String STR_TITLE_RENAMESLIDE
{
	Text [ en-US ] = "Rename Slide" ;
};
String STR_TITLE_SAVE_AS_PICTURE
{
	Text [ en-US ] = "Save as Picture" ;
};
String STR_DESC_RENAMESLIDE
{
	Text [ en-US ] = "Name" ;
};

String STR_PLACEHOLDER_DESCRIPTION_TITLE
{
	Text [ en-US ] = "Title Area for AutoLayouts" ;
};

String STR_PLACEHOLDER_DESCRIPTION_OUTLINE
{
	Text [ en-US ] = "Object Area for AutoLayouts" ;
};

String STR_PLACEHOLDER_DESCRIPTION_FOOTER
{
	Text [ en-US ] = "Footer Area" ;
};

String STR_PLACEHOLDER_DESCRIPTION_HEADER
{
	Text [ en-US ] = "Header Area" ;
};

String STR_PLACEHOLDER_DESCRIPTION_DATETIME
{
	Text [ en-US ] = "Date Area" ;
};

String STR_PLACEHOLDER_DESCRIPTION_SLIDE
{
	Text [ en-US ] = "Slide Number Area" ;
};

String STR_PLACEHOLDER_DESCRIPTION_NUMBER
{
	Text [ en-US ] = "Page Number Area" ;
};

String STR_FIELD_PLACEHOLDER_HEADER
{
	Text [ en-US ] = "<header>" ;
};

String STR_FIELD_PLACEHOLDER_FOOTER
{
	Text [ en-US ] = "<footer>" ;
};

String STR_FIELD_PLACEHOLDER_DATETIME
{
	Text [ en-US ] = "<date/time>" ;
};
String STR_FIELD_PLACEHOLDER_NUMBER
{
	Text [ en-US ] = "<number>" ;
};
String STR_FIELD_PLACEHOLDER_COUNT
{
	Text [ en-US ]="<count>" ;
};

String STR_PLACEHOLDER_DESCRIPTION_NOTES
{
	Text [ en-US ] = "Notes Area" ;
};

String STR_UNDO_HANGULHANJACONVERSION
{
	Text [ en-US ] = "Hangul/Hanja Conversion" ;
};

String STR_LEFT_PANE_IMPRESS_TITLE
{
	Text [ en-US ] = "Slides" ;
};
String STR_LEFT_PANE_DRAW_TITLE
{
	Text [ en-US ] = "Pages" ;
};
String STR_RIGHT_PANE_TITLE
{
	Text [ en-US ] = "Tasks" ;
};
String STR_TASKPANEL_MASTER_PAGE_TITLE
{
	Text [ en-US ] = "Master Pages" ;
};
String STR_TASKPANEL_MASTER_PAGE_MENU_TITLE
{
	Text [ en-US ] = "View" ;
};
String STR_TASKPANEL_MASTER_PAGE_MENU_LOCK
{
	Text [ en-US ] = "~Dock Task Pane" ;
};
String STR_TASKPANEL_MASTER_PAGE_MENU_UNLOCK
{
	Text [ en-US ] = "~Undock Task Pane" ;
};
String STR_TASKPANEL_CURRENT_MASTER_PAGES_TITLE
{
	Text [ en-US ] = "Used in This Presentation" ;
};
String STR_TASKPANEL_RECENT_MASTER_PAGES_TITLE
{
	Text [ en-US ] = "Recently Used" ;
};
String STR_TASKPANEL_ALL_MASTER_PAGES_TITLE
{
	Text [ en-US ] = "Available for Use" ;
};
String STR_TASKPANEL_NOT_AVAILABLE_SUBSTITUTION
{
	Text [ en-US ] = "Preview not available" ;
};
String STR_TASKPANEL_PREPARING_PREVIEW_SUBSTITUTION
{
	Text [ en-US ] = "Preparing preview" ;
};
String STR_TASKPANEL_LAYOUT_MENU_TITLE
{
	Text [ en-US ] = "Layouts" ;
};
String STR_GRAPHICS_STYLE_FAMILY
{
	Text [ en-US ] = "Graphics Styles" ;
};
String STR_CELL_STYLE_FAMILY
{
	Text [ en-US ] = "Cell Styles" ;
};
String DLG_TABLEDESIGNPANE
{
	Text [ en-US ] = "Table Designs" ;
};
String STR_CUSTOMANIMATIONPANE
{
	Text [ en-US ] = "Custom Animation" ;
};
String STR_SLIDE_TRANSITION_PANE
{
	Text [ en-US ] = "Slide Transition" ;
};
String STR_NAVIGATOR_SHOW_NAMED_SHAPES
{
	Text [ en-US ] = "Named shapes" ;
};
String STR_NAVIGATOR_SHOW_ALL_SHAPES
{
	Text [ en-US ] = "All shapes" ;
};
String STR_NAVIGATOR_SHAPE_BASE_NAME
{
	Text [ en-US ] = "Shape %1" ;
};
String STR_SET_BACKGROUND_PICTURE
{
	Text [ en-US ] = "Set Background Picture for Slide..." ;
};

String STR_ACC_DIALOG_DESC
{
	Text [ en-US ] = "Select a template from which to import page designs." ;
};

String RID_ANNOTATIONS_START
{
	Text [ en-US ] = "Comments" ;
};

String STR_RESET_LAYOUT
{
	Text [ en-US ] = "Reset Slide Layout" ;
};

String STR_INSERT_TABLE
{
	Text [ en-US ] = "Insert Table" ;
};

String STR_INSERT_CHART
{
	Text [ en-US ] = "Insert Chart" ;
};

String STR_INSERT_PICTURE
{
	Text [ en-US ] = "Insert Picture" ;
};

String STR_INSERT_MOVIE
{
	Text [ en-US ] = "Insert Movie" ;
};

String RID_DRAW_VIEWER_TOOLBOX
{
	Text [ en-US ] = "Function Bar (viewing mode)" ;
};

String RID_GRAPHIC_VIEWER_TOOLBOX
{
	Text [ en-US ] = "Function Bar (viewing mode)" ;
};

String RID_DRAW_MEDIA_TOOLBOX
{
	Text [ en-US ] = "Media Playback" ;
};

String RID_DRAW_TABLE_TOOLBOX
{
	Text [ en-US ] = "Table" ;
};

String STR_SAR_NOT_FOUND
{
	Text [ en-US ] = "Search key not found." ;
};

String STR_SAR_WRAP_FORWARD
{
	Text [ en-US ] = "%PRODUCTNAME Impress has searched to the end of the presentation. Do you want to continue at the beginning?" ;
};

String STR_SAR_WRAP_BACKWARD
{
	Text [ en-US ] = "%PRODUCTNAME Impress has searched to the beginning of the presentation. Do you want to continue at the end?" ;
};

String STR_SAR_WRAP_FORWARD_DRAW
{
	Text [ en-US ] = "%PRODUCTNAME Draw has searched to the end of the document. Do you want to continue at the beginning?" ;
};

String STR_SAR_WRAP_BACKWARD_DRAW
{
	Text [ en-US ] = "%PRODUCTNAME Draw has searched to the beginning of the document. Do you want to continue at the end?" ;
};

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