/**************************************************************
 * 
 * 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 "poolfmt.hrc"

 // -----------------
 // Format-Namen
 // -----------------
String STR_POOLCHR_FOOTNOTE
{
	Text [ en-US ] = "Footnote Characters" ;
};
String STR_POOLCHR_PAGENO
{
	Text [ en-US ] = "Page Number" ;
};
String STR_POOLCHR_LABEL
{
	Text [ en-US ] = "Caption Characters" ;
};
String STR_POOLCHR_DROPCAPS
{
	Text [ en-US ] = "Drop Caps" ;
};
String STR_POOLCHR_NUM_LEVEL
{
	Text [ en-US ] = "Numbering Symbols" ;
};
String STR_POOLCHR_BUL_LEVEL
{
	Text [ en-US ] = "Bullets" ;
};
String STR_POOLCHR_INET_NORMAL
{
	Text [ en-US ] = "Internet Link" ;
};
String STR_POOLCHR_INET_VISIT
{
	Text [ en-US ] = "Visited Internet Link" ;
};
String STR_POOLCHR_JUMPEDIT
{
	Text [ en-US ] = "Placeholder" ;
};
String STR_POOLCHR_TOXJUMP
{
	Text [ en-US ] = "Index Link" ;
};
String STR_POOLCHR_ENDNOTE
{
	Text [ en-US ] = "Endnote Characters" ;
};
String STR_POOLPAGE_LANDSCAPE
{
   Text [ en-US ] = "Landscape" ;
};
String STR_POOLCHR_LINENUM
{
	Text [ en-US ] = "Line numbering" ;
};
String STR_POOLCHR_IDX_MAIN_ENTRY
{
	Text [ en-US ] = "Main index entry";
};
String STR_POOLCHR_FOOTNOTE_ANCHOR
{
	Text [ en-US ] = "Footnote anchor";
};
String STR_POOLCHR_ENDNOTE_ANCHOR
{
	Text [ en-US ] = "Endnote anchor";
};

 // Zeichenvorlagen fuer HTML
String STR_POOLCHR_HTML_EMPHASIS
{
	Text [ en-US ] = "Emphasis" ;
};
String STR_POOLCHR_HTML_CITIATION
{
	Text [ en-US ] = "Quotation" ;
};
String STR_POOLCHR_HTML_STRONG
{
	Text [ en-US ] = "Strong Emphasis" ;
};
String STR_POOLCHR_HTML_CODE
{
	Text [ en-US ] = "Source Text" ;
};
String STR_POOLCHR_HTML_SAMPLE
{
	Text [ en-US ] = "Example" ;
};
String STR_POOLCHR_HTML_KEYBOARD
{
	Text [ en-US ] = "User Entry" ;
};
String STR_POOLCHR_HTML_VARIABLE
{
	Text [ en-US ] = "Variable" ;
};
String STR_POOLCHR_HTML_DEFINSTANCE
{
	Text [ en-US ] = "Definition" ;
};
String STR_POOLCHR_HTML_TELETYPE
{
	Text [ en-US ] = "Teletype" ;
};

// Rahmenvorlagen
String STR_POOLFRM_FRAME
{
	Text [ en-US ] = "Frame" ;
};
String STR_POOLFRM_GRAPHIC
{
	Text [ en-US ] = "Graphics" ;
};
String STR_POOLFRM_OLE
{
	Text [ en-US ] = "OLE" ;
};
String STR_POOLFRM_FORMEL
{
	Text [ en-US ] = "Formula" ;
};
String STR_POOLFRM_MARGINAL
{
	Text [ en-US ] = "Marginalia" ;
};
String STR_POOLFRM_WATERSIGN
{
	Text [ en-US ] = "Watermark" ;
};
String STR_POOLFRM_LABEL
{
	Text [ en-US ] = "Labels" ;
};
 // -----------------
 // Vorlagen-Namen
 // -----------------
String STR_POOLCOLL_STANDARD
{
	Text [ en-US ] = "Default" ;
};
String STR_POOLCOLL_TEXT
{
	Text [ en-US ] = "Text body" ;
};
String STR_POOLCOLL_TEXT_IDENT
{
	Text [ en-US ] = "First line indent" ;
};
String STR_POOLCOLL_TEXT_NEGIDENT
{
	Text [ en-US ] = "Hanging indent" ;
};
String STR_POOLCOLL_TEXT_MOVE
{
	Text [ en-US ] = "Text body indent" ;
};
String STR_POOLCOLL_GREETING
{
	Text [ en-US ] = "Complimentary close" ;
};
String STR_POOLCOLL_SIGNATURE
{
	Text [ en-US ] = "Signature" ;
};
String STR_POOLCOLL_HEADLINE_BASE
{
	Text [ en-US ] = "Heading" ;
};
String STR_POOLCOLL_NUMBUL_BASE
{
	Text [ en-US ] = "List" ;
};
String STR_POOLCOLL_REGISTER_BASE
{
	Text [ en-US ] = "Index" ;
};
String STR_POOLCOLL_CONFRONTATION
{
	Text [ en-US ] = "List Indent" ;
};
String STR_POOLCOLL_MARGINAL
{
	Text [ en-US ] = "Marginalia" ;
};
String STR_POOLCOLL_HEADLINE1
{
	Text [ en-US ] = "Heading 1" ;
};
String STR_POOLCOLL_HEADLINE2
{
	Text [ en-US ] = "Heading 2" ;
};
String STR_POOLCOLL_HEADLINE3
{
	Text [ en-US ] = "Heading 3" ;
};
String STR_POOLCOLL_HEADLINE4
{
	Text [ en-US ] = "Heading 4" ;
};
String STR_POOLCOLL_HEADLINE5
{
	Text [ en-US ] = "Heading 5" ;
};
String STR_POOLCOLL_HEADLINE6
{
	Text [ en-US ] = "Heading 6" ;
};
String STR_POOLCOLL_HEADLINE7
{
	Text [ en-US ] = "Heading 7" ;
};
String STR_POOLCOLL_HEADLINE8
{
	Text [ en-US ] = "Heading 8" ;
};
String STR_POOLCOLL_HEADLINE9
{
	Text [ en-US ] = "Heading 9" ;
};
String STR_POOLCOLL_HEADLINE10
{
	Text [ en-US ] = "Heading 10" ;
};
String STR_POOLCOLL_NUM_LEVEL1S
{
	Text [ en-US ] = "Numbering 1 Start" ;
};
String STR_POOLCOLL_NUM_LEVEL1
{
	Text [ en-US ] = "Numbering 1" ;
};
String STR_POOLCOLL_NUM_LEVEL1E
{
	Text [ en-US ] = "Numbering 1 End" ;
};
String STR_POOLCOLL_NUM_NONUM1
{
	Text [ en-US ] = "Numbering 1 Cont." ;
};
String STR_POOLCOLL_NUM_LEVEL2S
{
	Text [ en-US ] = "Numbering 2 Start" ;
};
String STR_POOLCOLL_NUM_LEVEL2
{
	Text [ en-US ] = "Numbering 2" ;
};
String STR_POOLCOLL_NUM_LEVEL2E
{
	Text [ en-US ] = "Numbering 2 End" ;
};
String STR_POOLCOLL_NUM_NONUM2
{
	Text [ en-US ] = "Numbering 2 Cont." ;
};
String STR_POOLCOLL_NUM_LEVEL3S
{
	Text [ en-US ] = "Numbering 3 Start" ;
};
String STR_POOLCOLL_NUM_LEVEL3
{
	Text [ en-US ] = "Numbering 3" ;
};
String STR_POOLCOLL_NUM_LEVEL3E
{
	Text [ en-US ] = "Numbering 3 End" ;
};
String STR_POOLCOLL_NUM_NONUM3
{
	Text [ en-US ] = "Numbering 3 Cont." ;
};
String STR_POOLCOLL_NUM_LEVEL4S
{
	Text [ en-US ] = "Numbering 4 Start" ;
};
String STR_POOLCOLL_NUM_LEVEL4
{
	Text [ en-US ] = "Numbering 4" ;
};
String STR_POOLCOLL_NUM_LEVEL4E
{
	Text [ en-US ] = "Numbering 4 End" ;
};
String STR_POOLCOLL_NUM_NONUM4
{
	Text [ en-US ] = "Numbering 4 Cont." ;
};
String STR_POOLCOLL_NUM_LEVEL5S
{
	Text [ en-US ] = "Numbering 5 Start" ;
};
String STR_POOLCOLL_NUM_LEVEL5
{
	Text [ en-US ] = "Numbering 5" ;
};
String STR_POOLCOLL_NUM_LEVEL5E
{
	Text [ en-US ] = "Numbering 5 End" ;
};
String STR_POOLCOLL_NUM_NONUM5
{
	Text [ en-US ] = "Numbering 5 Cont." ;
};
String STR_POOLCOLL_BUL_LEVEL1S
{
	Text [ en-US ] = "List 1 Start" ;
};
String STR_POOLCOLL_BUL_LEVEL1
{
	Text [ en-US ] = "List 1" ;
};
String STR_POOLCOLL_BUL_LEVEL1E
{
	Text [ en-US ] = "List 1 End" ;
};
String STR_POOLCOLL_BUL_NONUM1
{
	Text [ en-US ] = "List 1 Cont." ;
};
String STR_POOLCOLL_BUL_LEVEL2S
{
	Text [ en-US ] = "List 2 Start" ;
};
String STR_POOLCOLL_BUL_LEVEL2
{
	Text [ en-US ] = "List 2" ;
};
String STR_POOLCOLL_BUL_LEVEL2E
{
	Text [ en-US ] = "List 2 End" ;
};
String STR_POOLCOLL_BUL_NONUM2
{
	Text [ en-US ] = "List 2 Cont." ;
};
String STR_POOLCOLL_BUL_LEVEL3S
{
	Text [ en-US ] = "List 3 Start" ;
};
String STR_POOLCOLL_BUL_LEVEL3
{
	Text [ en-US ] = "List 3" ;
};
String STR_POOLCOLL_BUL_LEVEL3E
{
	Text [ en-US ] = "List 3 End" ;
};
String STR_POOLCOLL_BUL_NONUM3
{
	Text [ en-US ] = "List 3 Cont." ;
};
String STR_POOLCOLL_BUL_LEVEL4S
{
	Text [ en-US ] = "List 4 Start" ;
};
String STR_POOLCOLL_BUL_LEVEL4
{
	Text [ en-US ] = "List 4" ;
};
String STR_POOLCOLL_BUL_LEVEL4E
{
	Text [ en-US ] = "List 4 End" ;
};
String STR_POOLCOLL_BUL_NONUM4
{
	Text [ en-US ] = "List 4 Cont." ;
};
String STR_POOLCOLL_BUL_LEVEL5S
{
	Text [ en-US ] = "List 5 Start" ;
};
String STR_POOLCOLL_BUL_LEVEL5
{
	Text [ en-US ] = "List 5" ;
};
String STR_POOLCOLL_BUL_LEVEL5E
{
	Text [ en-US ] = "List 5 End" ;
};
String STR_POOLCOLL_BUL_NONUM5
{
	Text [ en-US ] = "List 5 Cont." ;
};
String STR_POOLCOLL_HEADER
{
	Text [ en-US ] = "Header" ;
};
String STR_POOLCOLL_HEADERL
{
	Text [ en-US ] = "Header left" ;
};
String STR_POOLCOLL_HEADERR
{
	Text [ en-US ] = "Header right" ;
};
String STR_POOLCOLL_FOOTER
{
	Text [ en-US ] = "Footer" ;
};
String STR_POOLCOLL_FOOTERL
{
	Text [ en-US ] = "Footer left" ;
};
String STR_POOLCOLL_FOOTERR
{
	Text [ en-US ] = "Footer right" ;
};
String STR_POOLCOLL_TABLE
{
	Text [ en-US ] = "Table Contents" ;
};
String STR_POOLCOLL_TABLE_HDLN
{
	Text [ en-US ] = "Table Heading" ;
};
String STR_POOLCOLL_FRAME
{
	Text [ en-US ] = "Frame contents" ;
};
String STR_POOLCOLL_FOOTNOTE
{
	Text [ en-US ] = "Footnote" ;
};
String STR_POOLCOLL_ENDNOTE
{
	Text [ en-US ] = "Endnote" ;
};
String STR_POOLCOLL_LABEL
{
	Text [ en-US ] = "Caption" ;
};
String STR_POOLCOLL_LABEL_ABB
{
	Text [ en-US ] = "Illustration" ;
};
String STR_POOLCOLL_LABEL_TABLE
{
	Text [ en-US ] = "Table" ;
};
String STR_POOLCOLL_LABEL_FRAME
{
	Text [ en-US ] = "Text" ;
};
String STR_POOLCOLL_LABEL_DRAWING
{
	Text [ en-US ] = "Drawing";
};
String STR_POOLCOLL_JAKETADRESS
{
	Text [ en-US ] = "Addressee" ;
};
String STR_POOLCOLL_SENDADRESS
{
	Text [ en-US ] = "Sender" ;
};
String STR_POOLCOLL_TOX_IDXH
{
	Text [ en-US ] = "Index Heading" ;
};
String STR_POOLCOLL_TOX_IDX1
{
	Text [ en-US ] = "Index 1" ;
};
String STR_POOLCOLL_TOX_IDX2
{
	Text [ en-US ] = "Index 2" ;
};
String STR_POOLCOLL_TOX_IDX3
{
	Text [ en-US ] = "Index 3" ;
};
String STR_POOLCOLL_TOX_IDXBREAK
{
	Text [ en-US ] = "Index Separator" ;
};
String STR_POOLCOLL_TOX_CNTNTH
{
	Text [ en-US ] = "Contents Heading" ;
};
String STR_POOLCOLL_TOX_CNTNT1
{
	Text [ en-US ] = "Contents 1" ;
};
String STR_POOLCOLL_TOX_CNTNT2
{
	Text [ en-US ] = "Contents 2" ;
};
String STR_POOLCOLL_TOX_CNTNT3
{
	Text [ en-US ] = "Contents 3" ;
};
String STR_POOLCOLL_TOX_CNTNT4
{
	Text [ en-US ] = "Contents 4" ;
};
String STR_POOLCOLL_TOX_CNTNT5
{
	Text [ en-US ] = "Contents 5" ;
};
String STR_POOLCOLL_TOX_CNTNT6
{
	Text [ en-US ] = "Contents 6" ;
};
String STR_POOLCOLL_TOX_CNTNT7
{
	Text [ en-US ] = "Contents 7" ;
};
String STR_POOLCOLL_TOX_CNTNT8
{
	Text [ en-US ] = "Contents 8" ;
};
String STR_POOLCOLL_TOX_CNTNT9
{
	Text [ en-US ] = "Contents 9" ;
};
String STR_POOLCOLL_TOX_CNTNT10
{
	Text [ en-US ] = "Contents 10" ;
};
String STR_POOLCOLL_TOX_USERH
{
	Text [ en-US ] = "User Index Heading" ;
};
String STR_POOLCOLL_TOX_USER1
{
	Text [ en-US ] = "User Index 1" ;
};
String STR_POOLCOLL_TOX_USER2
{
	Text [ en-US ] = "User Index 2" ;
};
String STR_POOLCOLL_TOX_USER3
{
	Text [ en-US ] = "User Index 3" ;
};
String STR_POOLCOLL_TOX_USER4
{
	Text [ en-US ] = "User Index 4" ;
};
String STR_POOLCOLL_TOX_USER5
{
	Text [ en-US ] = "User Index 5" ;
};
String STR_POOLCOLL_TOX_USER6
{
	Text [ en-US ] = "User Index 6" ;
};
String STR_POOLCOLL_TOX_USER7
{
	Text [ en-US ] = "User Index 7" ;
};
String STR_POOLCOLL_TOX_USER8
{
	Text [ en-US ] = "User Index 8" ;
};
String STR_POOLCOLL_TOX_USER9
{
	Text [ en-US ] = "User Index 9" ;
};
String STR_POOLCOLL_TOX_USER10
{
	Text [ en-US ] = "User Index 10" ;
};
String STR_POOLCOLL_TOX_ILLUSH
{
	Text [ en-US ] = "Illustration Index Heading";
};
String STR_POOLCOLL_TOX_ILLUS1
{
	Text [ en-US ] = "Illustration Index 1";
};
String STR_POOLCOLL_TOX_OBJECTH
{
	Text [ en-US ] = "Object index heading";
};
String STR_POOLCOLL_TOX_OBJECT1
{
	Text [ en-US ] = "Object index 1";
};
String STR_POOLCOLL_TOX_TABLESH
{
	Text [ en-US ] = "Table index heading";
};
String STR_POOLCOLL_TOX_TABLES1
{
	Text [ en-US ] = "Table index 1";
};
String STR_POOLCOLL_TOX_AUTHORITIESH
{
	Text [ en-US ] = "Bibliography Heading";
};
String STR_POOLCOLL_TOX_AUTHORITIES1
{
	Text [ en-US ] = "Bibliography 1";
};

String STR_POOLCOLL_DOC_TITEL
{
	Text [ en-US ] = "Title" ;
};
String STR_POOLCOLL_DOC_SUBTITEL
{
	Text [ en-US ] = "Subtitle" ;
};
String STR_POOLCOLL_HTML_BLOCKQUOTE
{
	Text [ en-US ] = "Quotations" ;
};
String STR_POOLCOLL_HTML_PRE
{
	Text [ en-US ] = "Preformatted Text" ;
};
String STR_POOLCOLL_HTML_HR
{
	Text [ en-US ] = "Horizontal Line" ;
};
String STR_POOLCOLL_HTML_DD
{
	Text [ en-US ] = "List Contents" ;
};
String STR_POOLCOLL_HTML_DT
{
	Text [ en-US ] = "List Heading" ;
};
//page style names
String STR_POOLPAGE_STANDARD
{
	Text [ en-US ] = "Default" ;
};
String STR_POOLPAGE_FIRST
{
	Text [ en-US ] = "First Page" ;
};
String STR_POOLPAGE_LEFT
{
	Text [ en-US ] = "Left Page" ;
};
String STR_POOLPAGE_RIGHT
{
	Text [ en-US ] = "Right Page" ;
};
String STR_POOLPAGE_JAKET
{
	Text [ en-US ] = "Envelope" ;
};
String STR_POOLPAGE_REGISTER
{
	Text [ en-US ] = "Index" ;
};
String STR_POOLPAGE_HTML
{
	Text [ en-US ] = "HTML" ;
};
String STR_POOLPAGE_FOOTNOTE
{
	Text [ en-US ] = "Footnote" ;
};
String STR_POOLPAGE_ENDNOTE
{
	Text [ en-US ] = "Endnote" ;
};
/*
 Numerierungs Regeln
*/
String STR_POOLNUMRULE_NUM1
{
	Text [ en-US ] = "Numbering 1" ;
};
String STR_POOLNUMRULE_NUM2
{
	Text [ en-US ] = "Numbering 2" ;
};
String STR_POOLNUMRULE_NUM3
{
	Text [ en-US ] = "Numbering 3" ;
};
String STR_POOLNUMRULE_NUM4
{
	Text [ en-US ] = "Numbering 4" ;
};
String STR_POOLNUMRULE_NUM5
{
	Text [ en-US ] = "Numbering 5" ;
};
String STR_POOLNUMRULE_BUL1
{
	Text [ en-US ] = "List 1" ;
};
String STR_POOLNUMRULE_BUL2
{
	Text [ en-US ] = "List 2" ;
};
String STR_POOLNUMRULE_BUL3
{
	Text [ en-US ] = "List 3" ;
};
String STR_POOLNUMRULE_BUL4
{
	Text [ en-US ] = "List 4" ;
};
String STR_POOLNUMRULE_BUL5
{
	Text [ en-US ] = "List 5" ;
};

String STR_POOLCHR_RUBYTEXT
{
	Text [ en-US ] = "Rubies";
};
String STR_COLUMN_VALUESET_ITEM0
{	
	Text [ en-US ] = "1 column";
};
String STR_COLUMN_VALUESET_ITEM1
{	
	Text [ en-US ] = "2 columns with equal size";
};
String STR_COLUMN_VALUESET_ITEM2
{	
	Text [ en-US ] = "3 columns with equal size";
};
String STR_COLUMN_VALUESET_ITEM3
{	
	Text [ en-US ] = "2 columns with different size (left > right)";
};
String STR_COLUMN_VALUESET_ITEM4
{	
	Text [ en-US ] = "2 columns with different size (left < right)";
};
String STR_POOLCHR_VERT_NUM
{
	Text [ en-US ] = "Vertical Numbering Symbols";
};
