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

String STR_DLG_CHART_WIZARD
{
	Text [ en-US ] = "Chart Wizard" ;
};

String STR_DLG_SMOOTH_LINE_PROPERTIES
{
	Text [ en-US ] = "Smooth Lines" ;
};

String STR_DLG_NUMBERFORMAT_FOR_PERCENTAGE_VALUE
{
	Text [ en-US ] = "Number Format for Percentage Value" ;
};

String STR_PAGE_CHARTTYPE
{
	Text [ en-US ] = "Chart Type" ;
};

String STR_PAGE_DATA_RANGE
{
    Text [ en-US ] = "Data Range";
};

String STR_PAGE_CHART_ELEMENTS
{
    Text [ en-US ] = "Chart Elements";
};

String STR_PAGE_CHART_LOCATION
{
    Text [ en-US ] = "Chart Location";
};

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

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

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

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

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

String STR_PAGE_FONT_EFFECTS
{
	Text [ en-US ] = "Font Effects" ;
};

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

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

String STR_BUTTON_UP
{
	Text [ en-US ] = "Up";
};
String STR_BUTTON_DOWN
{
	Text [ en-US ] = "Down";
};

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

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

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

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

// String STR_PAGE_STATISTICS
// {
// 	Text [ en-US ] = "Statistics" ;
// };

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

String STR_PAGE_YERROR_BARS
{
    Text[ en-US ] = "Y Error Bars";
};

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

String STR_PAGE_PERSPECTIVE
{
	Text [ en-US ] = "Perspective" ;
};
String STR_PAGE_APPEARANCE
{
	Text [ en-US ] = "Appearance" ;
};
String STR_PAGE_ILLUMINATION
{
	Text [ en-US ] = "Illumination" ;
};

String STR_PAGE_ASIAN
{
	Text [ en-US ] = "Asian Typography" ;
};

String STR_OBJECT_AVERAGE_LINE_WITH_PARAMETERS
{
    Text [ en-US ] = "Mean value line with value %AVERAGE_VALUE and standard deviation %STD_DEVIATION";
};

String STR_OBJECT_AXIS
{
	Text [ en-US ] = "Axis" ;
};
String STR_OBJECT_AXIS_X
{
	Text [ en-US ] = "X Axis" ;
};
String STR_OBJECT_AXIS_Y
{
	Text [ en-US ] = "Y Axis" ;
};
String STR_OBJECT_AXIS_Z
{
	Text [ en-US ] = "Z Axis" ;
};
String STR_OBJECT_SECONDARY_X_AXIS
{
    Text [ en-US ] = "Secondary X Axis" ;
};
String STR_OBJECT_SECONDARY_Y_AXIS
{
    Text [ en-US ] = "Secondary Y Axis" ;
};

String STR_OBJECT_AXES
{
	Text [ en-US ] = "Axes" ;
};
String STR_OBJECT_GRIDS
{
	Text [ en-US ] = "Grids" ;
};
String STR_OBJECT_GRID
{
	Text [ en-US ] = "Grid" ;
};
String STR_OBJECT_GRID_MAJOR_X
{
	Text [ en-US ] = "X Axis Major Grid" ;
};
String STR_OBJECT_GRID_MAJOR_Y
{
	Text [ en-US ] = "Y Axis Major Grid" ;
};
String STR_OBJECT_GRID_MAJOR_Z
{
	Text [ en-US ] = "Z Axis Major Grid" ;
};
String STR_OBJECT_GRID_MINOR_X
{
	Text [ en-US ] = "X Axis Minor Grid" ;
};
String STR_OBJECT_GRID_MINOR_Y
{
	Text [ en-US ] = "Y Axis Minor Grid" ;
};
String STR_OBJECT_GRID_MINOR_Z
{
	Text [ en-US ] = "Z Axis Minor Grid" ;
};

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

String STR_OBJECT_TITLE
{
	Text [ en-US ] = "Title" ;
};
String STR_OBJECT_TITLES
{
	Text [ en-US ] = "Titles" ;
};
String STR_OBJECT_TITLE_MAIN
{
	Text [ en-US ] = "Main Title" ;
};
String STR_OBJECT_TITLE_SUB
{
	Text [ en-US ] = "Subtitle" ;
};
String STR_OBJECT_TITLE_X_AXIS
{
	Text [ en-US ] = "X Axis Title" ;
};
String STR_OBJECT_TITLE_Y_AXIS
{
	Text [ en-US ] = "Y Axis Title" ;
};
String STR_OBJECT_TITLE_Z_AXIS
{
	Text [ en-US ] = "Z Axis Title" ;
};
String STR_OBJECT_TITLE_SECONDARY_X_AXIS
{
    Text [ en-US ] = "Secondary X Axis Title" ;
};
String STR_OBJECT_TITLE_SECONDARY_Y_AXIS
{
    Text [ en-US ] = "Secondary Y Axis Title" ;
};
String STR_OBJECT_LABEL
{
	Text [ en-US ] = "Label" ;
};

String STR_OBJECT_DATALABELS
{
	Text [ en-US ] = "Data Labels" ;
};
String STR_OBJECT_DATAPOINT
{
	Text [ en-US ] = "Data Point" ;
};
String STR_OBJECT_DATAPOINTS
{
	Text [ en-US ] = "Data Points" ;
};
String STR_OBJECT_LEGEND_SYMBOL
{
	Text [ en-US ] = "Legend Key" ;
};
String STR_OBJECT_DATASERIES
{
	Text [ en-US ] = "Data Series" ;
};
String STR_OBJECT_DATASERIES_PLURAL
{
	Text [ en-US ] = "Data Series" ;
};
String STR_OBJECT_CURVE
{
	Text [ en-US ] = "Trend Line";
};
String STR_OBJECT_CURVES
{
	Text [ en-US ] = "Trend Lines";
};
String STR_OBJECT_CURVE_WITH_PARAMETERS
{
    Text [ en-US ] = "Trend line %FORMULA with accuracy R² = %RSQUARED";
};
String STR_OBJECT_AVERAGE_LINE
{
	Text [ en-US ] = "Mean Value Line";
};
String STR_OBJECT_CURVE_EQUATION
{
    Text[ en-US ] = "Equation";
};

String STR_OBJECT_ERROR_BARS
{
	Text [ en-US ] = "Error Bars";
};
String STR_OBJECT_STOCK_LOSS
{
	Text [ en-US ] = "Stock Loss";
};

String STR_OBJECT_STOCK_GAIN
{
	Text [ en-US ] = "Stock Gain";
};

String STR_OBJECT_PAGE
{
	Text [ en-US ] = "Chart Area" ;
};
String STR_OBJECT_DIAGRAM
{
	Text [ en-US ] = "Chart" ;
};
String STR_OBJECT_DIAGRAM_WALL
{
	Text [ en-US ] = "Chart Wall" ;
};
String STR_OBJECT_DIAGRAM_FLOOR
{
	Text [ en-US ] = "Chart Floor" ;
};

String STR_OBJECT_SHAPE
{
	Text [ en-US ] = "Drawing Object" ;
};

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------

String STR_TIP_SELECT_RANGE
{
	Text [ en-US ] = "Select data range" ;
};

String STR_TIP_CHOOSECOLOR
{
	Text [ en-US ] = "Select a color using the color dialog" ;
};

String STR_TIP_LIGHTSOURCE_X
{
    Text [ en-US ] = "Light Source %LIGHTNUMBER" ;
};

String STR_TIP_DATASERIES
{
	Text [ en-US ] = "Data Series '%SERIESNAME'" ;
};

String STR_TIP_DATAPOINT_INDEX
{
    Text [ en-US ] = "Data Point %POINTNUMBER";
};

String STR_TIP_DATAPOINT_VALUES
{
    Text [ en-US ] = "Values: %POINTVALUES";
};

String STR_TIP_DATAPOINT
{
    Text [ en-US ] = "Data Point %POINTNUMBER, data series %SERIESNUMBER, values: %POINTVALUES";
};

String STR_STATUS_DATAPOINT_MARKED
{
    Text [ en-US ] = "Data point %POINTNUMBER in data series %SERIESNUMBER selected, values: %POINTVALUES";
};

String STR_STATUS_OBJECT_MARKED
{
	Text [ en-US ] = "%OBJECTNAME selected" ;
};

String STR_STATUS_PIE_SEGMENT_EXPLODED
{
    Text [ en-US ] = "Pie exploded by %PERCENTVALUE percent";
};

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
String STR_OBJECT_FOR_SERIES
{
	Text [ en-US ] = "%OBJECTNAME for Data Series '%SERIESNAME'" ;
};

String STR_OBJECT_FOR_ALL_SERIES
{
	Text [ en-US ] = "%OBJECTNAME for all Data Series" ;
};

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
String STR_ACTION_EDIT_CHARTTYPE
{
    Text [ en-US ] = "Edit chart type" ;
};
String STR_ACTION_EDIT_DATA_RANGES
{
    Text [ en-US ] = "Edit data ranges" ;
};
String STR_ACTION_EDIT_3D_VIEW
{
	Text [ en-US ] = "Edit 3D view" ;
};
String STR_ACTION_EDIT_CHART_DATA
{
	Text [ en-US ] = "Edit chart data";
};
String STR_ACTION_TOGGLE_LEGEND
{
	Text [ en-US ] = "Legend on/off" ;
};
String STR_ACTION_TOGGLE_GRID_HORZ
{
	Text [ en-US ] = "Horizontal grid on/off" ;
};
String STR_ACTION_SCALE_TEXT
{
	Text [ en-US ] = "Scale Text" ;
};
String STR_ACTION_REARRANGE_CHART
{
    Text [ en-US ] = "Automatic Layout" ;
};
String STR_ACTION_NOTPOSSIBLE
{
	Text [ en-US ] = "This function cannot be completed with the selected objects." ;
};
String STR_ACTION_EDIT_TEXT
{
    Text [ en-US ] = "Edit text";
};

String STR_COLUMN_LABEL
{
    Text [ en-US ] = "Column %COLUMNNUMBER" ;
};
String STR_ROW_LABEL
{
    Text [ en-US ] = "Row %ROWNUMBER" ;
};

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------

//for range didalog
String STR_DATA_ROLE_LABEL
{
	Text [ en-US ] = "Name" ;
};

String STR_DATA_ROLE_X
{
	Text [ en-US ] = "X-Values" ;
};

String STR_DATA_ROLE_Y
{
	Text [ en-US ] = "Y-Values" ;
};

String STR_DATA_ROLE_SIZE
{
	Text [ en-US ] = "Bubble Sizes" ;
};

String STR_DATA_ROLE_X_ERROR
{
	Text [ en-US ] = "X-Error-Bars" ;
};
String STR_DATA_ROLE_X_ERROR_POSITIVE
{
	Text [ en-US ] = "Positive X-Error-Bars" ;
};
String STR_DATA_ROLE_X_ERROR_NEGATIVE
{
	Text [ en-US ] = "Negative X-Error-Bars" ;
};

String STR_DATA_ROLE_Y_ERROR
{
	Text [ en-US ] = "Y-Error-Bars" ;
};
String STR_DATA_ROLE_Y_ERROR_POSITIVE
{
	Text [ en-US ] = "Positive Y-Error-Bars" ;
};
String STR_DATA_ROLE_Y_ERROR_NEGATIVE
{
	Text [ en-US ] = "Negative Y-Error-Bars" ;
};

String STR_DATA_ROLE_FIRST
{
	Text [ en-US ] = "Open Values" ;
};

String STR_DATA_ROLE_LAST
{
	Text [ en-US ] = "Close Values" ;
};

String STR_DATA_ROLE_MIN
{
	Text [ en-US ] = "Low Values" ;
};

String STR_DATA_ROLE_MAX
{
	Text [ en-US ] = "High Values" ;
};

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

String STR_DATA_UNNAMED_SERIES
{
    Text [ en-US ] = "Unnamed Series";
};

String STR_DATA_UNNAMED_SERIES_WITH_INDEX
{
	Text [ en-US ] = "Unnamed Series %NUMBER" ;
};

String STR_DATA_SELECT_RANGE_FOR_SERIES
{
	Text [ en-US ] = "Select Range for %VALUETYPE of %SERIESNAME" ;
};

String STR_DATA_SELECT_RANGE_FOR_CATEGORIES
{
	Text [ en-US ] = "Select Range for Categories" ;
};

String STR_DATA_SELECT_RANGE_FOR_DATALABELS
{
	Text [ en-US ] = "Select Range for data labels" ;
};
String STR_DATA_SELECT_RANGE_FOR_POSITIVE_ERRORBARS
{
    Text [ en-US ] = "Select Range for Positive Error Bars" ;
};
String STR_DATA_SELECT_RANGE_FOR_NEGATIVE_ERRORBARS
{
    Text [ en-US ] = "Select Range for Negative Error Bars" ;
};

String STR_DATA_EDITOR_INCORRECT_INPUT
{
	Text [ en-US ] = "Your last input is incorrect.\nIgnore this change and close the dialog?" ;
};

// frame direction ------------------------------------------------------------

String STR_TEXT_DIRECTION_LTR
{
    Text [ en-US ] = "Left-to-right";
};

String STR_TEXT_DIRECTION_RTL
{
    Text [ en-US ] = "Right-to-left";
};

String STR_TEXT_DIRECTION_SUPER
{
    Text [ en-US ] = "Use superordinate object settings";
};

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
