package MH.JavaFoil;
//Localized.java
import java.util.ListResourceBundle;
/** This class contains all the localized strings of JavaFoil.
*
* The strings are stored in a table of String Objects.
* Each entry consists of a pair of Strings:
*
* - the FIRST one is a key and must never be changed,
* - the SECOND one is the string to be used for display.
*
*
* This sample file contains the default strings in English.
* These are used, when no localized version is found.
*
* To create a localized version:
*
* -
* translate the SECOND entry of each pair in the contents Object.
*
* -
* if you have the JDK and want to test your translation:
*
* -
* rename the class to Localized_XX, where XX is the international
* language code (e.g. "en" for "En"glish)
*
* -
* rename the file from Localized.java, to Localized_XX.java,
* where XX is again the language code of choice
*
* -
* translate with "javac" to produce the class file Localized_XX.class
*
* -
* add the class file to javafoil.jar using "jar"
*
* -
* define LocalizationCheck=1 on the command line to produce a list of
* keywords found (or nmissing)
*
*
*
*
*
* Mail the translated file to: Martin.Hepperle@dlr.de
*
*
Initially Created: April 2001
*
Initial Author: Martin Hepperle
*
* Currently (2006) the following translations are embedded into JavaFoil:
*
*
* English | April 2001 | Martin Hepperle | Germany |
*
* German | April 2001 | Martin Hepperle | Germany |
*
* French | March 2001 | Giorgio Toso | Canada |
*
* Italian | September 2001 | Giorgio Toso | Canada |
*
* Spanish | January 2003 | Israel Gandara | Spain |
*
* Portuguese(european) | October 2003 | João Alveirnho Correia | Portugal |
*
* Finnish | March 2005 | Matti Hyötyniemi | Finland |
*
* Dutch | March 2008 | Henri Rommelse | Netherlands |
*
*
*/
public class Localized
extends ListResourceBundle
{
/** This method returns an array of String Objects containing
* the keys and the localized strings.
*/
public Object[][] getContents()
{
return contents;
}
/** The array of key-value pairs
*/
static final Object[][] contents =
{ // localize the SECOND entry of each pair (first one is a lookup key)
// --- details for this translation ----
{"LOCALIZED_LANG", "English"}, // the language of this file
{"LOCALIZED_AUTHOR", "Martin Hepperle"}, // the translator of this file
{"LOCALIZED_DATE", "April 2001"}, // the date of this translation
{"LOCALIZED_EMAIL", "Martin.Hepperle9@MH-AeroTools.de"}, // the eMail of the translator
// --- the application specific strings start here ----
{"APPLOAD", "Loading Applet"},
{"GEOMETRY", "Geometry"}, // tab caption
{"MODIFY", "Modify"}, // tab caption
{"DESIGN", "Design"}, // tab caption
{"VELOCITY", "Velocity"}, // tab caption
{"FIELD", "Flowfield"}, // tab caption
{"BLAYER", "Boundary Layer"}, // tab caption
{"POLAR", "Polar"}, // tab caption
{"AIRCRAFT", "Aircraft"}, // tab caption
{"OPTIONS", "Options"}, // tab caption
{"READY", "Ready"}, // status line message
{"NAME", "Name"},
{"ADDPLTS", "Add to plots"}, // checkbox
{"SAVE", "Save..."}, // button caption
{"OPEN", "Open..."}, // button caption
{"PRINT", "Print..."}, // button caption
{"COPYTEXT", "Copy (Text)"}, // button caption
{"COPYHTML", "Copy (HTML)"}, // button caption
{"PASTETEXT", "Paste (Text)"}, // button caption
{"OKAY", "Ok"}, // button in message box
{"SAVESETTINGS", "Save Settings"}, // dialog box caption
{"OPENSETTINGS", "Open Settings"}, // dialog box caption
{"SAVEAIRFOIL", "Save Airfoil Coordinates"}, // dialog box caption
{"OPENAIRFOIL", "Open Airfoil Coordinates"}, // dialog box caption
{"SAVESCRIPT", "Save Script"}, // dialog box caption
{"OPENSCRIPT", "Open Script"}, // dialog box caption
{"SAVEPOLARS", "Save Polars"}, // dialog box caption
{"SAVEFIELD", "Save Field Data"}, // dialog box caption
{"STAT_SAVE", "Saving..."}, // status bar message
{"STAT_WORK", "Working..."}, // status bar message
{"STAT_STRM", "Streamlines..."}, // status bar message
{"INFO_CAPTION", "JavaFoil - Information"}, // caption for message boxes
{"WRN_CAPTION", "JavaFoil - Warning"}, // caption for message boxes
{"ERR_CAPTION", "JavaFoil - Error"}, // caption for message boxes
{"ERR_WRITE", "Error while writing file."}, // error message
{"ERR_READ", "Error while reading file."}, // error message
{"ERR_FILE", "File not found."}, // error message
{"ERR_DECIMAL", "Could not find floating point numbers in input.\n" +
"Please check JavaFoils country settings!\n" +
"Trying to repair - possible decimal characters replaced by"}, // error message
{"EXPIRED", "Your copy of JavaFoil is older than 6 months.\n" +
"You should search the WEB for a more recent version.\n" +
"http://www.mh-aerotools.de/"},
// general items
{"XC", "x/c"}, // normalized x-coordinate
{"YC", "y/c"}, // normalized y-coordinate
{"XS", "x/s"}, // normalized arc-length-coordinate
{"LD", "L/D"}, // glide ratio L/D
{"AC", "A.C."}, // "aerodynamic center", a.k.a. "neutral point"
{"CP", "C.P."}, // "center of pressure"
{"DELTA", "delta"}, // thickness delta_1, _2, _3
{"BLSHAPE", "H"}, // shape parameter H_12, H_32
{"MACH_NO", "Mach"}, // Mach Number, do not translate
{"ASPECT_RATIO", "Aspect Ratio"}, // Aspect Ratio == (span^2/Area)
{"WIG_LONG", "ground effect"}, // used in the status line to say "airfoil in ground effect"
{"WIG_ABBREV", "WIG"}, // used in legend to abbreviate "airfoil in ground effect"
{"FROUDE_LONG", "Froude effect"}, // used in the status line to say "airfoil in Froude effect"
{"FROUDE_ABBREV", "FR"}, // used in legend to abbreviate "airfoil in Froude effect"
{"SUM", "Sum"}, // used e.g. to indicate the sum of frag components
{"SHOWDIST", "Show distributions of"},
// *** Geometry card
{"GEOMTITLE", "Airfoil Geometry"},
{"COORDS", "Coordinates"},
{"CLEAR", "CLEAR"}, // button caption
{"UPDATEVW", "Update View"},
{"NACATITLE", "Create an Airfoil"},
{"NACATYPE", "Family"}, // caption for choice
{"P_NACA_4", "NACA 4-digit (e.g. 2412)"}, // choice, a NACA series
{"P_NACA_4M", "NACA 4-digit, modified (e.g. 0012-74)"}, // choice, a NACA series
{"P_NACA_5", "NACA 5-digit (normal e.g. 23012)"}, // choice, a NACA series
{"P_NACA_5M", "NACA 5-digit (reflexed e.g. 23112)"}, // choice, a NACA series
{"P_NACA_6", "NACA 6-digit (e.g. 64012)"}, // choice, a NACA series
{"P_NACA_16", "NACA 16-series (e.g. 16-412)"}, // choice
{"P_TSAGI_B", "TsAGI \"B\" series"}, // choice, a Russian airfoil series
{"P_NPL_EQH", "NPL EQH series"}, // choice, a British airfoil series
{"P_BICONVEX", "Biconvex airfoil"}, // choice, a thin circular arc
{"P_WEDGE", "Wedge"}, // choice, a flat shape with 4 corners
{"P_PLATE", "Cambered Plate"}, // choice, a thin, cambered plate
{"P_VDVOOREN", "Van de Vooren symmetrical airfoil"}, // choice, a Van de Vooren conformal mapping airfoil
{"P_NEWMAN", "Newman circular nose airfoil"}, // choice, a circular nose wedge airfoil
{"P_JOUKOVSKY", "Joukovsky airfoil"}, // choice
{"P_HBK", "Helmbold-Keune airfoil"}, // choice, an airfoil according to Helmbold and Keune
{"POINTCOUNT", "Number of Points"},
{"THK", "Thickness t/c"},
{"XTHK", "Thickness Location xt/c"},
{"RLE1", "Leading Edge Radius"},
{"RLE2", "(4-digit: 1.1019*(t/c)²)"},
{"TEA", "Trailing Edge Angle"},
{"CAM", "Camber f/c"},
{"XCAM", "Camber Location xf/c"},
{"CLDES", "Design Lift Coefficient Cl"},
{"AMOD", "A-Modification"}, // modified NACA 6-series aections
{"CLOSED_TE", "Modify NACA section to have closed trailing edge"},
{"SHAPE", "Airfoil Shape"},
{"C_NACA4", "This is a general purpose airfoil series"}, // comment
{"C_NACA4M", "This is a modification of the 4-digit series"}, // comment
{"C_NACA5", "Lower moment coefficient then 4-digit series"}, // comment
{"C_NACA6", "Lower drag then 4-digit series"}, // comment
{"C_NACA16", "This series is often used on propellers"}, // comment
{"C_TSAGIB", "This series had been developed at the TsAGI"}, // comment
{"C_NPL_EQH", "British laminar flow sections (NPL EQH)"}, // comment
{"C_CIRCARC",
"For supersonic flow, JavaFoil analysis not applicable"}, // comment
{"C_WEDGE", "For supersonic flow, JavaFoil analysis not applicable"}, // comment
{"C_PLATE", "Uses NACA 4-series camber line"}, // comment
{"C_VDVOOREN", "Van de Vooren conformal mapping airfoil"}, // comment
{"C_NEWMAN", "Composed of a circular nose and straight lines."}, // comment
{"C_HBK", "Following Helmbold and Keune (1943)."}, // comment
{"C_JOUKOVSKY","Created by conformal mapping"}, // comment
{"REM1", "For later analysis the trailing edge should be closed."},
{"CREATE", "Create Airfoil"}, // button caption
// ***** Modify card
{"MODTITLE", "Modify Airfoil"}, // caption
{"SCALE", "Scale by"}, // label for scaling factor
{"FLAPCHORD", "Flap Chord xf/c"}, // label for flap chord length
{"FLAPANGLE", "Flap Deflection"}, // label for deflection angle
{"ELEMENT", "Element"}, // label for element number
{"PIV_X", "Pivot x"}, // label for pivot point x
{"PIV_Y", "Pivot y"}, // label for pivot point y
{"ROT", "Rotate"}, // label for rotation angle
{"TRANS_X", "Translation x"}, // label for translation in x direction
{"TRANS_Y", "Translation y"}, // label for translation in y direction
{"TE_GAP", "Trailing Edge Gap"}, // label for trailing edge thickness
{"REM2", "Thickness and Camber work in y-direction only."},
{"UNDO", "Undo"}, // button caption
{"EMPTY", " - empty - "}, // dropdown list is still empty
{"DUPLICATE", "Duplicate"}, // button caption
{"DELETE", "Delete"}, // button caption
{"FLIP", "Flip Y"}, // button caption: mirror in vertical direction (upside down)
// ***** Design card
{"DESTITLE", "Design Airfoil"}, // caption
{"RELAX", "Relax by"}, // label for scaling factor
{"D_STEPS", "Number of Steps"}, // label for number of design steps
{"D_STEP", "Step"}, // for step no. in status line
{"CP_SHORT", "Cp"}, // Pressure Coefficient, short
{"CP_LONG", "Pressure Coefficient"}, // Pressure Coefficient, long
{"REM6", "Design moves coordinates in y-direction only."},
{"TARGET", "Target"}, // short label for plot legend
{"CURRENT", "Current"}, // short label for plot legend
{"NOSYMMETRY", "single side Cp-modification"},
{"SYMMETRY", "symmetric Cp-modification (thickness)"},
{"ASYMMETRY", "anti-symmetric Cp-modification (camber)"},
{"SMOOTH", "smooth Target Cp"}, // use shape function to smooth target Cp
{"X_OR_S", "y(x) or y(s)"}, // versus x or versus arc length
{"LE_ZOOM", "LE Enlargement"}, // enlargement of leading edge region
{"SETUP", "Setup"}, // button caption
{"DODESIGN", "Design It!"}, // button caption
{"REDRAW", "Redraw"}, // button caption
{"DETAILS", "Details..."}, // button caption
// *** Velocity card
{"VELOTITLE", "Velocity Distribution"}, // card caption, also on printout
{"ALFA_0", "first Angle of Attack"},
{"ALFA_1", "last Angle of Attack"},
{"ALFA_D", "Angle of Attack step"},
{"VELDIST", "Velocity Distributions"},
{"CPDIST", "Pressure Coefficient Distributions"},
{"MACHDIST", "Mach Number Distributions"},
{"VELRATIO", "Velocity Ratio v/V"},
{"CPCOEFF", "Pressure Coefficient Cp"},
{"REM3",
"The velocity distribution can be helpful to smooth an airfoil."},
{"CP_CRIT", "Cp*"}, // minimum local Cp value on surface of airfoil
{"MACH_CRIT", "M cr."}, // critical Mach Number = M at which locally supersonic flow occurs
{"ANALYZE", "Analyze It!"}, // button caption
// *** Flowfield card
{"FIELDTITLE", "Flow Field"}, // card caption, also on printout
{"X_STEPS", "Steps in x-Direction"}, // number of steps
{"Y_STEPS", "Steps in y-Direction"}, // number of steps
{"TUFTS", "black Tufts"}, // black velocity vectors
{"FIELDPLOT", "Colored Pressure Field"}, // filled field "panels"
{"ISOLINES", "Iso Cp Lines"}, // white iso-Cp lines
{"NORMVECTOR", "Cp Vectors"}, // Cp vectors normal to surface
{"STREAMLINES", "Streamlines"}, // streamlines from left border
{"ACCURACY", "increased accuracy"}, // higher order integration (Runge-Kutta O4)
{"TIMED", "timed"}, // checkbox to activate timed dashes
{"ZOOMOUT", "Field size"}, // 100%, 200%, ...
{"COLORMAP", "Color Map Type"}, // number of predefined color map: 1, 2, ...
// ***** Polars card
{"POLARTITLE", "Airfoil Polars"}, // card caption, also on printout
{"RE_0", "first Reynolds Number"}, // do not translare Reynolds
{"RE_1", "last Reynolds Number"},
{"RE_D", "Reynolds number step"},
// surface finish details
{"ROUGHNESS", "Surface Finish"},
{"ROUGH_0", "smooth finish"}, // polished surface
{"ROUGH_1", "painted fabric"}, // smooth, but not perfect
{"ROUGH_2", "NACA Standard"}, // slight roughness, like cloth
{"ROUGH_3", "bugs and dirt"}, // very poor surface quality
// stall model details
{"STALLMODEL", "Stall model"}, // the various stall models
{"SM_1", "Calcfoil"}, // name, do not translate
{"SM_2", "Eppler"}, // name, do not translate
{"SM_3", "none"}, // translate this!
// transition model details
{"TRANSITIONMODEL", "Transition model"}, // the various transition models
{"TM_1", "Eppler standard"}, // name, translate only "standard"
{"TM_2", "Eppler extended"}, // name, translate only "extended"
{"TM_3", "Michel 1"}, // name, do not translate
{"TM_4", "Michel 2"}, // name, do not translate
{"TM_5", "H12-Re(s)"}, // name, do not translate
{"TM_6", "Granville"}, // name, do not translate
{"TM_7", "Drela e^n approximation, Xfoil before 1991"}, // name, do not translate
{"TM_8", "Drela e^n approximation, Xfoil after 1991"}, // name, do not translate
{"TM_9", "Arnal, approximation by Würz"}, // name, do not translate
// more
{"DRAGPLOT", "Cl-Cd Plot"}, // lift-drag coefficient plot
{"DRAGTABLE", "Cl-Cd Table"}, // lift-drag coefficient table
{"RE", "Re"}, // legend abbreviation for Reynolds number
{"CL", "Cl"}, // axis label lift coefficient
{"CM", "Cm 0.25"}, // axis label moment coefficient
{"CD", "Cd"}, // axis label drag coefficient
{"VV", "v/V"}, // axis label velocity ratio
{"REM4", "A maximum of"}, // continued with a number and the REM5 string
{"REM5", "Reynolds numbers is stored in the tables."},
{"LIFT", "Lift"}, // tab button caption, short for Lift coefficient vs. angle of attack
{"MOMENT", "Moment"}, // tab button caption, short for Moment coefficient vs. angle of attack
{"UPPER", "Upper"}, // tab button caption, short for upper surface (transition and separation)
{"LOWER", "Lower"}, // tab button caption, short for lower surface (transition and separation)
{"UP_SUR", "Upper Surface"}, // caption for printout of polars
{"LO_SUR", "Lower Surface"}, // caption for printout of polars
{"TRANS", "Transition"}, // caption for printout of polars
// error messages
{"ERR_ALFAS", "Your angle of attack specification would create a huge amount of data.\n \nResetting to default."},
{"ERR_RENOS", "Your Reynolds number specification would create a huge amount of data.\n \nResetting to default."},
{"ERR_NOPOL", "There are no polars to copy or to save."},
{"ERR_NOFOIL",
"There is no airfoil to analyze.\nCreate or import one using the Geometry card."},
{"ERR_HITGND",
"Stop: the trailing edge of the airfoil\nwould intersect with the ground."}, // used in message box for wing in ground effect
{"ERR_MATH",
"Stop: A Math error occured.\nCheck airfoil geometry and all parameters."},
// *** Aircraft card
{"AIRCRAFTTITLE", "Aircraft oriented Polars"}, // card caption, also on printout
{"MS_0", "first wing loading"}, // wing loading
{"MS_1", "last wing loading"},
{"MS_D", "wing loading step"},
{"CHORD", "chord length"}, // label for reference chord length
{"M_OVER_S", "m/S"}, // formula
{"WL", "wing loading"}, // textual form
// *** Options card
{"OC_TITLE", "Adjust the desired Option(s)."}, // card caption
{"VERSION", "Version"}, // the JavaFoil version number is appended
{"COUNTRYSETTINGS", "Country Settings"},
{"SYSSET", "Your current system settings"}, // the title line for system details
{"USERNAME", "Your user name is"}, // the user name is appended
{"OSNAME", "You are running"}, // the name of the operating system is appended
{"JAVANAME", "Java version"}, // the version number is appended
{"JAVAMEMORY", "Java memory is"}, // the memory size is appended
{"KBYTES", "kB"}, // 1 kB = 1024 Bytes
{"LANGCODE", "System language code is"},
{"COUNTRY", "selected country is"},
{"LANGUAGE", "selected language is"},
{"SYSACCESSDENIED", "Cannot access System.Properties, probably because you are running this as an Applet"},
{"DECCHAR", "decimal character"}, // the character used as a decimal separator (e.g. ".") is appended
{"PATHSEP", "path separator"}, // the character used to separate path components (e.g. a "\" under Windows) is appended
{"DENSITY", "Density"}, // the density of the medium (mass per volume)
{"KINVISC", "Kinematic Viscosity"}, // the kinematic viscosity (required for reynolds number)
{"VELSOUND", "Speed of Sound"}, // the speed of sound, typically arounf 340 m/s
{"FREE_CB", "unbounded flow field"}, // used for checkbox to say "free flow field"
{"WIG_CB", "ground effect (ground at y=0)"}, // used for checkbox to say "ground at y=0 active"
{"FROUDE_CB", "Froude effect (free surface at y=0)"}, // used for checkbox to say "free surfec at y=0 active"
{"TRANSLAT_1", "Translation to"}, // first part of "Translation to ...language... by ...Name ..."
{"TRANSLAT_2", "by"}, // second part of "Translation to ...language... by ...Name ..."
{"TRANSLAT_3", "There is no version of JavaFoil matching Your country settings."}, // message
{"TRANSLAT_4", "If you like, You can create and send my your translation."}, // message
{"TRANSLAT_5", "For details look into the folder 'Translation' in the installation directory."}, // message
{"ENGLISH", "English"}, // English
{"GERMAN", "German"}, // German
{"FRENCH", "French"}, // French
{"ITALIAN", "Italian"}, // Italian
{"SPANISH", "Spanish"}, // Spanish
{"PORTUGUESE", "Portuguese"}, // Portuguese
{"DUTCH", "Dutch"}, // Dutch
{"FINNISH", "Finnish"}, // Finnish
// ***** IF YOU ADD A NEW TRANSLATION, DO NOT FORGET TO ADD YOUR
// ***** LANGUAGE HERE SO THAT IT CAN BE ADDED TO THE "CREDITS" TABLE
// {"NEWLANGUAGE", "newlanguage"}, // the name of your language, in your language
/* the following is shown to the right to the list of available encodings */
{"CHARSET","Character Set"},
{"ENCODING", "used for files and clipboard exchange"},
// *** Boundary Layer card
{"BLTITLE", "Boundary Layer Parameters"}, // card caption, also on printout
{"ALFA", "Angle of Attack"}, // label caption
{"DELTAPLOT", "Thickness Plot"}, // tab button caption
{"SHAPEPLOT", "Shape Plot"}, // tab button caption
{"CFPLOT", "Cf Plot"}, // tab button caption
{"TU", "T.U."}, // short label: transition upper
{"TL", "T.L."}, // short label: transition lower
{"SU", "S.U."}, // short label: separation upper
{"SL", "S.L."}, // short label: separation lower
{"BLSTATE", "State"}, // flow state: laminar or turbulent
{"LAM", "lam."}, // abbreviation: laminar
{"TUR", "turb."}, // abbreviation: turbulent
{"SEP", "sep."}, // abbreviation: separated
// *** Script frame
{"REC_START", "Start Recorder"}, // button caption
{"REC_STOP", "Stop Recorder"}, // button caption
{"REC_RUN", "Run"}, // button caption
{"REC_STEP", "Step"}, // button caption
{"SCRIPT", "Script"},
{"REM_SCR", "Comment lines must begin with //"},
{"REC_DATE", "recorded on"}, // used to build a comment line like
{"REC_TIME", "at"}, // "recorded on 00/00/00 at 00:00:00 by ..."
{"REC_BY", "by"}, // (only if user name is accessible)
{"ERR_SCRIPT", "Script error in command"}, // used to build message "Script error in command '...'"
{"ERR_PARSE1", "missing closing parenthesis"}, // error message
{"ERR_PARSE2", "unknown command"}, // error message
{"ROW_SHORT", "R"}, // Row nnn in status bar of script editor
{"COL_SHORT", "C"}, // Col nnn in status bar of script editor
{"ROW_LONG", "Row"}, // Row nnn in error messages
{"COL_LONG", "Column"}, // Column nnn in error messages
};
}