# This is the configuration file for Lojban database files. # This file specifies the format of an associated flashcard file. # A flashcard file consists of a number of flashcards, one to a line. # Each flashcard contains four fields: a word or phrase of one language, # extra information (e.g. part of speech), the corresponding word or # phrase in the other language, and extra information for the other # language. Each field contains a main part and a subsidiary part. The # main part consists of a set of values. Each value consists of a set of # alternatives. # For an explanation of the meaning of all this structure, see the manual. # This configuration file specifies how the different components of each # field are separated from each other. # Lines in this file beginning with a '#' are comments. # Every other non-blank line contains a keyword followed by a value. # The value may be of several different kinds, depending on the keyword. # Here is a list of the recognised keywords and their meanings. Some of # these may seem rather ad-hoc, in particular, the skipdigits, skiplines, # and widths keywords. This is because they are mainly intended to allow # the program to be used with certain database files which were developed # by different people independently, and which have their own quirks. # In the descriptions below, upper-cased words indicate what sort of # argument is expected. CHAR means a single character enclosed in single # quotes. STRING means a string, enclosed in double quotes. INTEGER means # an integer. INTEGERS means a list of integers separated by commas. # field1 STRING The name of the first language main text. # field2 STRING The name of the first language subsidiary text. # field3 STRING The name of the second language main text. # field4 STRING The name of the second language subsidiary text. # case1 This takes no argument, and specifies that in field 1, # upper and lower case should be considered distinct. # nocase1 Specifies that in field 1, upper and lower case are not # distinguished (the default). # case3 As case1, for field 3. # nocase3 As nocase1, for field 3 (the default). # escape CHAR When this character occurs in the flashcard file, the # following character is taken literally, if it would otherwise # have a special significance. In addition, if followed by 't', # it indicates a tab, 'n' indicates newline, 'r' carriage return, # 'p' page throw, and 'nnn' (where nnn is an octal number) the # character whose code is nnn. In the last case, 'nnn' must be # expressed as exactly three digits. # field CHAR This character is used to separate the fields. (Not used # if the fields are fixed-width.) # fvalue CHAR This character separates the different values that may be # in a single field. # falternative CHAR This character separates equivalent alternative values. # subfield CHAR This character separates the main text of a field from # the auxiliary text. # svalue CHAR This character is used on the screen, to separate the # different values in a single field. # salternative CHAR This character is used on the screen, to separate the # different alternatives in a single value. # comment CHAR This character at the beginning of a line in the flashcard # file causes that line to be ignored. # ignore STRING When comparing the user's answer with the flashcard field, # all characters in this string will be ignored. By default, # this string is "À\000,.;:[]{}()!?". # The following keywords exist only to handle the quirks of certain # databases developed independently by other people, and should probably be # ignored by other users of the program. # translate CHAR CHAR Every non-escaped occurrence of the first character # will be replaced by the second. # There may be several lines in the config file with # this keyword. # skipdigits (no argument) Any digits at the beginning of a line in the # flashcard file will be ignored. # skiplines INTEGER This many lines from the beginning of the flashcard # file will be ignored. # widths INTEGERS The fields are fixed-width, and begin in the specified # columns (counting from zero). Six integers n1...n6 # must be present; all text at or after column n6 in # each line of the flashcard file is ignored. # When this keyword is given, the keywords # field, fvalue, falternative, subfield, svalue, # and salternative have no effect. Every field has one # value, containing one alternative, and only the third # field has subsidiary text. The six integers thus # delimit five components of each flashcard: language 1, # auxiliary info for language 1, language 2 main text, # language 2 subsidiary text, and auxiliary info for # language 2. field1 "lojban" field2 "selma'o" field3 "English" field4 "notes" skiplines 0 widths 0,9,14,39,39,151 comment '#' ignore "À\000"