---
- include: "../../definitions.yaml"
# Lines starting with "#" are a comment
# Each definition in this file is of the form
#   name: [ "...", "..." "..." ],

# If an "intent" is used, the 'terse:medium:verbose' speech for the intent name is given here for a prefix||infix||postfix||function fixity
# If only one ":" is used, the first part is used for 'terse' and the second part is used for 'medium' and 'verbose'
# If no ":"s are used, the same speech is used for all forms
# If bracketing words make sense, they are separated with ";"s
# Intent mappings must specify whether they are "prefix", "infix", "postfix", or "function" with an "=" sign
# If there are multiple fixities (e.g., see transpose), they are separated with "||"
#   for readability, spaces can be used around any of the delimiter characters
# Note: if there are multiple fixities, the first one is used if the fixity is not given in the intent
- IntentMappings: {
    "indexed-by": "infix= ; senket: senket: nedre indeks; slutt senket: slutt senket: slutt nedre indeks",
    "modified-variable": "silent= ",
    "say-super": "infix=opphøyd: øvre indeks: øvre indeks",   # used with 'mo' for superscripts (e.g, "<")
    "skip-super": "silent=",   # used with 'mo' for superscripts (e.g, "*")

    "absolute-value": "function= ; absoluttverdien; slutt absoluttverdi",
    "binomial": "infix=binomialkoeffisient; over; slutt binomialkoeffisient",
    "dimension-product": "infix=ganger",
    #"greatest-common-divisor": "function=gcd: gcd: største felles divisor",              # NORWEGIAN: We say "største felles divisor til 8 og 4" (greatest common divisor to 8 and 4)
    "imaginary-part": "function=den imaginære delen",
    #"least-common-multiple": "function=lcm: lcm: minste felles multiplum"                # NORWEGIAN: We say "minste felles multiplum til 2 og 6" (least common multiplum to 2 and 6)
    "limit": "prefix=grenseverdien når",
    "lim-sup": "prefix=den øvre grenseverdien når", 
    "lim-inf": "prefix=den nedre grenseverdien når", 
    "logarithm-with-base": "prefix=log med grunntall: logaritmen med grunntall: logaritmen med grunntall",
    "natural-logarithm": "function=l n: den naturlige logaritmen: den naturlige logaritmen",
    "minus": "infix=minus || prefix=minus",
    "plus": "infix=pluss || prefix=pluss",
    "real-part": "function=den reelle delen",
    "set-of-integers": "nofix=mengden av alle heltallene",

    "transpose": "postfix=transponert || function=transponert",
    #"norm": "function=; normen; slutt norm",                                            # NORWEGIAN: We say "normen til" (the norm to), so this rule is in linear-algebra
    "trace": "function= ; sporet; slutt spor",
    #"dimension": "function=; dimensjonen; slutt dimensjon",                             # NORWEGIAN: We say "dimensjonen til" (the dimension to), so this rule is in linear-algebra
    # "homomorphism": "function= ; homomorfi; slutt homomorfi",                                # doesn't fit function pattern
    # "kernel": "function= ; nullrommet ; slutt nullrommet                               # NORWEGIAN: We say "nullrommet til" (the kernel to), so this rule is in linear-algebra
    "vector": "function= ; vektor: vektoren: vektoren || prefix=vektor: vektoren: vektoren",
    "cross-product": "infix=kryss: kryssprodukt: kryssprodukt",
    "dot-product": "infix=prikk: skalarprodukt: skalarprodukt",

    #"divergence": "function= ; div: divergens: divergens; slutt divergens",             #NORWEGIAN: We say "divergensen til" (the divergence to), so this rule is in calculus. 
    #"curl": "function= ; curl; slutt curl",                                             #NORWEGIAN: We say "curlen til" (the curl to), so this rule is in calculus
    #"gradient": "function= ; grad: gradient: gradient; slutt gradient",                 #NORWEGIAN: We say "gradienten til" (the gradient to), so this rule is in calculus
    "laplacian": "function=laplace",   # speech engines don't do a good job with "laplacian" (swedish ones might)
    
    "chemistry-concentration": "function= ; konsentrasjon: konsentrasjonen av: konsentrasjonen av; slutt konsentrasjon",
  }

- NavigationParts: {
    "large-op": "base; nedre grense; øvre grense",
    "mfrac": "teller; nevner",
    "fraction": "teller; nevner",
    "msqrt": "rot",
    "square-root": "rot",
    "mroot": "rot; rotindeks",
    "root": "rot; rotindeks",
    "msub": "base; nedre indeks",
    "sub": "base; nedre indeks",
    "logarithm-with-base": "base",
    "indexed-by": "base; nedre indeks",
    "msup": "base; øvre indeks",
    "say-super": "base; øvre indeks",
    "skip-super": "base; øvre indeks",
    "power": "base; eksponent",
    "msubsup": "base; nedre indeks; øvre indeks",
    "munder": "base; nedre grense",
    "mover": "base; øvre grense",
    "munderover": "base; nedre grense; øvre grense",

    # words for moving into and out of one of the parts (e.g., "move right 'out of' numerator, 'in' denominator")
    # it's a hack to put them here, but at least they are grouped with the other navigation parts
    "in": "i",
    "out": "ut av",
  }

- SIPrefixes: {
    "Q": "quetta", "R": "ronna", "Y": "yotta", "Z": "zetta", "E": "exa", "P": "peta", "T": "tera", "G": "giga", "M": "mega", "k": "kilo", "h": "hekto", "da": "deka",
    "d": "desi", "c": "centi", "m": "milli", "µ": "mikro", "n": "nano", "p": "piko", "f": "femto", "a": "atto", "z": "zepto", "y": "yokto", "r": "ronto", "q": "quecto"
  }

# this is a list of all units that accept SIPrefixes
# from www.bipm.org/documents/20126/41483022/SI-Brochure-9-EN.pdf
#   Prefixes may be used with any of the 29 SI units with special names
#   The SI prefixes can be used with several of accepted units, but not, for example, with the non-SI units of time.
- SIUnits: {
    # base units
    "A": "ampere",
    "cd": "candela",
    "K": "kelvin", "K": "kelvin", # U+212A
    "g": "gram",
    "m": "meter",     # British spelling works for US also
    "mol": "mol",
    "s": "sekund", "sek": "sekund",  # "sec" not actually legal

    # derived units
    "Bq": "becquerel",
    "C": "coulomb",
    "°C": "grad celsius", "℃": "grad celsius", # should only take negative powers
    "F": "farad",
    "Gy": "gray",
    "H": "henry",
    "Hz": "hertz",
    "J": "joule",
    "kat": "katal",
    "lm": "lumen",
    "lx": "lux",
    "N": "newton",
    "Ω": "ohm", "Ω": "ohm",       # Greek Cap letter, U+2126 OHM SIGN
    "Pa": "pascal",
    "S": "siemens",
    "Sv": "sievert",
    "T": "tesla",
    "V": "volt",
    "W": "watt",
    "Wb": "weber",

    # accepted (plus a few variants) that take SI prefixes
    "l": "liter", "L": "liter", "ℓ": "liter",  # Should only take negative powers; British spelling works for US also
    "t": "tonn",           # should only take positive powers
    "Da": "dalton",
    "Np": "neper",               # should only take negative powers
    "u": "atommasseenhet",     # 'u' is correct: https://en.wikipedia.org/wiki/Dalton_(unit)
    "eV": "elektronvolt",
    "rad": "radian",             # should only take negative powers
    "sr": "steradian",          # should only take negative powers      
  
    # others that take a prefix
    "a": "annuum",               # should only take positive powers
    "as": "buesekund",          # see en.wikipedia.org/wiki/Minute_and_second_of_arc

    # technically wrong, but used in practice with SI Units
    "b": "bit",               # should only take positive powers
    "B": "byte",              # should only take positive powers
    "Bd": "baud",             # should only take positive powers
  }


- UnitsWithoutPrefixes: {
    # time
    "″": "sekund", "\"": "sekund",
    "′": "minutt", "'": "minutt", "min": "minutt",
    "h": "time", "hr": "time", "Hr": "time", "t": "time",     #NORWEGIAN: t is often used for hour, but t is officially the symbol for "tonn". Added to rule "per-fraction" in SimpleSpeak and ClearSpeak
    "d": "dag", "dy": "dag",                                
    "w": "uke", "wk": "uke",                    
    "y": "år", "yr": "år",                                  

    # angles
    "°": "grad", "deg": "grad", # should only take negative powers
    "arcmin": "bueminutt",                                  
    "amin": "bueminutt",                                   
    "am": "bueminutt",                                      
    "MOA": "bueminutt",                                    
    "arcsec": "buesekund",
    "asec": "buesekund",

    # distance
    "au": "astronomisk enhet", "AU": "astronomisk enhet", "a.u.": "astronomisk enhet",
    "ltyr": "lysår", "ly": "lysår", "l.y.": "lysår",
    "pc": "parsec",
    "Å": "ångstrøm", "Å": "ångstrøm",           # U+00C5 and U+212B
    "fm": "fermi",                              #Norwegian: F is the official symbol for "fermi", but this is also the symbol for "Farad"...

    # others
    "ha": "hektar",
    # "B": "bel",    # "B" more commonly means bytes
    "dB": "desibel", # already logarithmic, so not used with SI prefixes

    "amu": "atommasseenhet",
    "atm": "atmosfære",
    "bar": "bar",
    "cal": "kalori",
    "Ci": "curie",
    "grad": "gon",                                        
    "M": "molar",
    "R": "røntgen",
    "rpm": "omdreining per minutt",
    "℧": "m-h-o",
    "dyn": "dyn",
    "erg": "erg",

    # powers of 2 used with bits and bytes
    "Kib": "kibibit", "Mib": "mebibit", "Gib": "gibibit", "Tib": "tebibit", "Pib": "pebibit", "Eib": "exbibit", "Zib": "zebibit", "Yib": "yobibit",
    "KiB": "kibibyte", "MiB": "mebibyte", "GiB": "gibibyte", "TiB": "tebibyte", "PiB": "pebibyte", "EiB": "exbibyte", "ZiB": "zebibyte", "YiB": "yobibyte",
  }

  # this will only be used if the language is English, so it can be empty for other countries
  # not necessarily! imperial units can still occur in e.g. Swedish textbooks: "Exercise: convert this into proper units", also some are usen in Swedish cook-books. /Tim
- EnglishUnits: {
    # length
    "in": "tomme",
    "ft": "fot",
    "mi": "mile",
    "rd": "rod",
    "li": "link",
    "ch": "chain",

    # area
    "sq in": "kvadrattomme", "sq. in": "kvadrattomme", "sq. in.": "kvadrattomme",
    "sq ft": "kvadratfot", "sq. ft": "kvadratfot", "sq. ft.": "kvadratfot",
    "sq yd": "kvadratyard", "sq. yd": "kvadratyard", "sq. yd.": "kvadratyard",
    "sq mi": "kvadratmile", "sq. mi": "kvadratmile", "sq. mi.": "kvadratmile",
    "ac": "engelsk acre",
    "FBM": "board foot",

    # volume
    "cu in": "kubikktomme", "cu. in": "kubikktomme", "cu. in.": "kubikktomme",
    "cu ft": "kubikkfot", "cu. ft": "kubikkfot", "cu. ft.": "kubikkfot",
    "cu yd": "kubikkyard", "cu. yd": "kubikkyard", "cu. yd.": "kubikkyard",
    "bbl": "fat", "BBL": "fat",
    "pk": "peck",
    "bu": "bushel",
    "tsp": "teskje", "tsk": "teskje", "ts": "teskje",
    "tbl": "spiseskje", "tbsp": "spiseskje", "ss": "spiseskje",

    # liquid
    "fl dr": "fluid dram",
    "fl oz": "fluid ounce",
    "gi": "gill",
    "cp": "kopp", "cup": "kopp",
    "pt": "pint",
    "qt": "quart",
    "gal": "gallon",

    # weight
    "gr": "grain",
    "dr": "dram",
    "oz": "ounce", "℥": "ounce",
    "lb": "pund",
    "cwt": "hundredweight",
    "dwt": "pennyweight",
    "oz t": "ounce troy",
    "lb t": "pound troy",

    # energy
    "hp": "hestekraft", "hk": "hestekraft",
    "BTU": "B-T-U",
    "°F": "grad fahrenheit", "℉": "grad fahrenheit",

    # other
    "mph": "mile per hour",
    "mpg": "mile per gallon",
  }
  
- CurrencySymbols: {
    "$": "dollar", "¢": "cent", "€": "euro", "£": "pund", "₡": "colón", "₤": "lira", "₨": "rupi",
    "₩": "won", "₪": "ny shekel", "₱": "peso", "₹": "indisk rupi", "₺": "tyrkisk lira", "₿": "bitcoin", "kr": "krone", "NOK": "norsk krone", 
    # could add more currencies...
  }

# Norwegian: Added this set because we differentiate between masculine and neuter currencies.
- CurrencySymbolsNeuter: {
    "£": "pund",
  }

- PluralForms: {
  # SWEDISH: this should be complete. Units not listed here are not modified when pluralised. /Tim
    "sekund": "sekunder",
    "grad celsius": "grader celsius",
    "atommasseenhet": "atommasseenheter",
    "radian": "radianer",
    "steradian": "steradianer",
    "buesekund": "buesekunder",
    #"bit": "bits",
    #"byte": "bytes",
    "baud": "bauder",
    "minutt": "minutter",
    "time": "timer",
    "dag": "dager",
    "uke": "uker",
    "grad": "grader",
    "bueminutt": "bueminutter",
    "astronomisk enhet": "astronomiske enheter",
    "atmosfære": "atmosfærer",
    "kalori": "kalorier",
    #"kibibit": "kibibits", 
    #"mebibit": "mebibits", 
    #"gibibit": "gibibits", 
    #"tebibit": "tebibits",
    #"pebibit": "pebibits",
    #"exbibit": "exbibits", 
    #"zebibit": "zebibits", 
    #"yobibit": "yobibits",
    #"kibibyte": "kibibytes",
    #"mebibyte": "mebibytes",
    #"gibibyte": "gibibytes", 
    #"tebibyte": "tebibytes",
    #"pebibyte": "pebibytes", 
    #"exbibyte": "exbibytes", 
    #"zebibyte": "zebibytes",
    #"yobibyte": "yobibytes",
    "mile": "miles",
    "rod": "rods",
    "link": "links",
    "chain": "chains",
    "kvadratmile": "kvadratmiles",
    "engelsk acre": "engelske acre",
    "bushel": "bushels",
    "teskje": "teskjeer",
    "spiseskje": "spiseskjeer",
    #"fluid dram": "fluid drams",
    "fluid ounce": "fluid ouncer",
    "ounce": "ouncer",
    "kopp": "kopper",
    "pint": "pints",
    "quart": "quarts",
    "grain": "grains",
    #"hundredweight": "hundredweights",
    #"pennyweight": "pennyweights",
    "hestekraft": "hestekrefter",
    "grad fahrenheit": "grader fahrenheit",
    "mile per hour": "miles per hour",
    "mile per gallon": "miles per gallon",
    "tomme": "tommer",
    "kvadrattomme": "kvadrattommer",
    "kubikktomme": "kubikktommer",
    "omdreining per minutt": "omdreininger per minutt",
    "curie": "curier",
    "annuum": "annua",
    "indisk rupi": "indiske rupi",
    "tyrkisk lira": "tyrkiske lira",
    "bitcoin": "bitcoins",
    "krone": "kroner",
    "norsk krone": "norske kroner",
    
  }

- NeuterUnits: {
    #SIUnits
    "g","mol", "s", "sek", "t", "a", "as"
  }
    
- NeuterUnitsWithoutPrefixes: {
    #UnitsWithoutPrefixes
    "″", "\"",
    "′", "'", "min",
    "y", "yr",
    "arcmin", "amin", "am", "MOA":,                                    
    "arcsec", "asec",
    "ltyr", "ly", "l.y.",
    "ha",
    
    #EnglishUnits
    "bbl", "BBL", "lb",
  }

    # stop when regularity begins
- OrdinalFractionalDenominatorsForUnits: {
         "0": "", "1": "", "2": "todels", "3": "tredjedels", "4": "fjerdedels", "5": "femtedels",
         "6": "sjettedels", "7": "sjudels", "8": "åttedels", "9": "nidels", "10": "tidels",
    }

# ----------------  Cardinal and Ordinal Numbers  --------------------------
# The following definitions are used to convert numbers to words
# The are mainly used for ordinals, of which there are two cases:
# 1. Regular ordinals: first, second, third, ...
# 2. Ordinals used in the denominator of fractions (e.g, one half, one third)
#    When used in the denominator of fractions, a plural version might be
#    used (e.g., two halves, two thirds)
# Although a lot of languages are regular after a few entries, for generality,
# the following lists should be filled out even though they are the same
# or easily derived from others in many languages (e.g, an 's' is added for plurals).
# The larger ordinal numbers (e.g, millionth) is used when there are only
# '0's after that decimal place (e.g., 23000000).:w

# All definitions start 0, 10, 100, etc.

# The definitions for the "ones" should extend until a regular pattern begins
#   The minimum length is 10.

# NORWEGIAN: The pattern for fraction is not correct. 
# 1/20 = "1 tjuende". Needs a number set for NumbersOrdinalFractionalTens. ("tidel", "tjuedel"...)
# 2/24 = "2 tjue fjerde". The set NumbersOrdinalPluralOnes should be changed to ("", "endeler", "todeler", "tredeler"...)
# 1/100 = "1 hundrede". Needs a number set for NumbersOrdinalFractionalHundreds". ("hundredel", "to hundredel"...)
# 1/1000 = "1 én tusende". Needs number set for NumbersOrdinalFractionalLargeNumbers, and "én" should be removed. ("tusendel", "milliondel"...)
# 2/1000 = "2 én tusendeler". Needs to remove "én".
# 2/1008 = "2 én tusen åttende"

# For English, a regular pattern starts at twenty
# NORWEGIAN: Added in front of the numbers in "NumbersOrdinalLarge" and "NumbersLarge". Easiest to just remove "én", but you will probably never see these big ordinal numbers. 
- NumbersOnes: [
         "null", "én", "to", "tre", "fire", "fem", "seks", "sju", "åtte", "ni",
         "ti", "elleve", "tolv", "tretten", "fjorten", "femten", "seksten",
         "sytten", "atten", "nitten"
    ]

- NumbersOrdinalOnes: [
         "nullte", "første", "andre", "tredje", "fjerde", "femte", "sjette", "sjuende", "åttende", "niende",
         "tiende", "ellevte", "tolvte", "trettende", "fjortende", "femtende", "sekstende",
         "syttende", "attende", "nittende"
    ]

# NORWEGIAN: Should be changed to "", "endeler", "todeler"...Then, for example, the fraction 2/24 will be "2 tjue firedeler"
- NumbersOrdinalPluralOnes: [
         "nullte", "første", "andre", "tredje", "fjerde", "femte", "sjette", "sjuende", "åttende", "niende",
         "tiende", "ellevte", "tolvte", "trettende", "fjortende", "femtende", "sekstende",
         "syttende", "attende", "nittende"
    ]

    # stop when regularity begins
- NumbersOrdinalFractionalOnes: [
         "nulldel", "hel", "halv", "tredjedel", "fjerdedel", "femtedel", "sjettedel", "sjudel", "åttedel", "nidel", "tidel", "ellevedel",
         "tolvdel", "trettendel", "fjortendel", "femtendel", "sekstendel", "syttendel", "attendel", "nittendel"
    ]

    # stop when regularity begins
- NumbersOrdinalFractionalPluralOnes: [
         "nulldeler", "hele", "halve", "tredjedeler", "fjerdedeler", "femtedeler", "sjettedeler", "sjudeler", "åttedeler", "nideler",
         "tideler", "ellevedeler", "tolvdeler", "trettendeler", "fjortendeler", "femtendeler", "sekstendeler",
         "syttendeler", "attendeler", "nittendeler"
    ]
    
    # What to use for multiples of 10
- NumbersTens: [
         "", "ti", "tjue", "tretti", "førti", "femti", "seksti", "sytti", "åtti", "nitti"
    ]

- NumbersOrdinalTens: [
         "", "tiende", "tjuende", "trettiende", "førtiende", "femtiende", "sekstiende", "syttiende", "åttiende", "nittiende"
    ]

- NumbersOrdinalPluralTens: [
         "", "tideler", "tjuedeler", "trettideler", "førtideler", "femtideler", "sekstideler", "syttideler", "åttideler", "nittideler"
    ]

- NumbersHundreds: [
       "", "hundre", "to hundre", "tre hundre", "fire hundre", "fem hundre",
         "seks hundre", "sju hundre", "åtte hundre", "ni hundre"
    ]

- NumbersOrdinalHundreds: [
       "", "hundrede", "to hundrede", "tre hundrede", "fire hundrede", "fem hundrede",
         "seks hundrede", "sju hundrede", "åtte hundrede", "ni hundrede"
    ]

- NumbersOrdinalPluralHundreds: [
       "", "hundredeler", "to hundredeler", "tre hundredeler", "fire hundredeler", "fem hundredeler",
         "seks hundredeler", "sju hundredeler", "åtte hundredeler", "ni hundredeler"
    ]
      
    # At this point, hopefully the language is regular. If not, code needs to be written
- NumbersLarge: [
         "", "tusen", "million", "milliard", "billion", "billiard",
         "trillion", "trilliard", "kvadrillion", "kvadrilliard", "kvintillion",
         "kvintilliard","sekstillion","sekstilliard","septillion","septilliard",
         "oktillion","oktilliard","nonillion","nonilliard","desillion"
    ]
         #NORWEGIAN: These big numbers are never used.
         #"desilliard","undesillion","undesilliard","duodesillion","tredesillion",
         #"tredesilliard","kvattordesillion","kvattordesilliard","kvindesillion","kvindesilliard",
         #"seksdesillion","seksdesilliard","septendesillion","septendesilliard",
         #"oktodesillion","oktodesilliard","novemdesillion","novemdesilliard","vigintillion",
         #"vigintilliard","unvigintillion","unvigintilliard","centillion","centilliard"
    #]
      
- NumbersOrdinalLarge: [
         "", "tusende", "millionte", "milliardte", "billionte", "billiardte",
         "trillionte", "trilliardte", "kvadrillionte", "kvadrilliardte", "kvintillionte",
         "kvintilliardte","sekstillionte","sekstilliardte","septillionte","septilliardte",
         "oktillionte","oktilliardte","nonillionte","nonilliardte","desillionte"
    ]
         
         #"desilliardte","undesillionte","undesillardte","duodesillionte","tredesillionte",
         #"tredesilliardte","kvattordesillionte","kvattordesilliardte","kvindesillionte","kvindesilliardte",
         #"seksdesillionte","seksdesilliardte","septendesillionte","septendesilliardte",
         #"oktodesillionte","oktodesilliardte","novemdesillionte","novemdesilliardte","vigintillionte",
         #"vigintilliardte","unvigintillionte","unvigintilliardte","centillionte","centilliardte"
    #]
      
- NumbersOrdinalPluralLarge: [
         "", "tusendeler", "milliondeler", "milliarddeler", "billiondeler", "billiarddeler",
         "trilliondeler", "trilliarddeler", "kvadrilliondeler", "kvadrilliarddeler", "kvintilliondeler",
         "kvintilliarddeler","sekstilliondeler","sekstilliarddeler","septilliondeler","septilliarddeler",
         "oktilliondeler","oktilliarddeler","nonilliondeler","nonilliarddeler","desilliondeler"
    ]
         
         #"desilliarddeler","undesilliondeler","undesilliarddeler","duodesilliondeler","tredesilliondeler",
         #"tredesilliarddeler","kvattordesilliondeler","kvattordesilliarddeler","kvindesilliondeler","kvindesilliarddeler",
         #"seksdesilliondeler","seksdesilliarddeler","septendesilliondeler","septendesilliarddeler",
         #"oktodesilliondeler","oktodesilliarddeler","novemdesilliondeler","novemdesilliarddeler","vigintilliondeler",
         #"vigintilliarddeler","unvigintilliondeler","unvigintilliarddeler","centilliondeler","centilliarddeler"
    #]
