diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
 
 For a full list of changes, see the history on [GitHub](https://github.com/hapytex/ordinal).
 
+## Version 0.3.0.0
+
+Add support for short ordinal numbers and make `NumberType` and `HighNumberAlgorithm`
+an instance of `Default`.
+
 ## Version 0.2.0.0
 
 Added support for the *German* language.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -19,15 +19,17 @@
 
 ## Usage
 
-One can import the `Text.Numerals` module, and use the `toCardinal`
-and `toOrdinal` functions with a number-to-word algorithm that is exported by
-the `Text.Numerals.Languages` module, for example:
+One can import the `Text.Numerals` module, and use the `toCardinal`,
+`toOrdinal` and `toShortOrdinal` functions with a number-to-word
+algorithm that is exported by the `Text.Numerals.Languages` module, for example:
 
 ```
 Prelude Text.Numerals Data.Text.IO> Data.Text.IO.putStrLn (toCardinal english 42)
 forty-two
 Prelude Text.Numerals Data.Text.IO> Data.Text.IO.putStrLn (toOrdinal french 42)
 quarante-deuxième
+Prelude Text.Numerals Data.Text.IO> Data.Text.IO.putStrLn (toShortOrdinal dutch 42)
+42e
 ```
 
 One can also define a language algorithm themselves, for this one can look at
diff --git a/ordinal.cabal b/ordinal.cabal
--- a/ordinal.cabal
+++ b/ordinal.cabal
@@ -1,5 +1,5 @@
 name:                ordinal
-version:             0.2.0.0
+version:             0.3.0.0
 synopsis:            Convert numbers to words in different languages.
 description:
     A package based on Python's num2words package that converts numbers
@@ -39,6 +39,7 @@
   build-depends:
       base >= 4.7 && < 5
     , containers >=0.5
+    , data-default >=0.2
     , regex >=1.0
     , text >= 0.1
     , template-haskell >=2.2.0.0
diff --git a/src/Text/Numerals/Algorithm.hs b/src/Text/Numerals/Algorithm.hs
--- a/src/Text/Numerals/Algorithm.hs
+++ b/src/Text/Numerals/Algorithm.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE RankNTypes, TupleSections #-}
+{-# LANGUAGE OverloadedStrings, RankNTypes, TupleSections #-}
 
 {-|
 Module      : Text.Numerals.Algorithm
@@ -27,13 +27,20 @@
   , compressSegments
   ) where
 
+import Data.Default(Default(def))
 import Data.Foldable(toList)
 import Data.List(sortOn)
 import Data.Text(Text, cons, toTitle)
 import Data.Vector(Vector, (!), (!?), fromList)
 import qualified Data.Vector as V
 
-import Text.Numerals.Class(NumToWord(toCardinal, toOrdinal), FreeMergerFunction, FreeValueSplitter, MergerFunction, MNumberSegment, NumberSegment(NumberSegment), NumberSegmenting, ValueSplit(valueSplit), ValueSplitter)
+import Text.Numerals.Class(
+    NumToWord(toCardinal, toOrdinal, toShortOrdinal)
+  , FreeMergerFunction, FreeNumberToWords, FreeValueSplitter
+  , MergerFunction, MNumberSegment
+  , NumberSegment(NumberSegment), NumberSegmenting
+  , ValueSplit(valueSplit), ValueSplitter
+  )
 import Text.Numerals.Internal(_thousand, _iLogFloor)
 import Text.Numerals.Prefix(latinPrefixes)
 
@@ -47,6 +54,7 @@
   , highWords :: FreeValueSplitter  -- ^ A function that is used to generate words for large values (greater than or equal to one /million/), often constructed with the /short scale/ or /long scale/.
   , mergeFunction :: FreeMergerFunction  -- ^ A function that specifies how to merge words based on the grammar of that specific language.
   , ordinize :: Text -> Text  -- ^ A function to conver the /cardinal/ form of a number in an /ordinal/ one.
+  , shortOrdinal :: FreeNumberToWords -- ^ A function that converts a number to its /short ordinal/ form.
   }
 
 
@@ -59,6 +67,7 @@
                         j = fromIntegral i :: Integer
 
     toOrdinal na@NumeralsAlgorithm { ordinize=_ordinize } = _ordinize . toCardinal na
+    toShortOrdinal = shortOrdinal
 
 
 _toNumberScale :: (Integral i, Integral j) => i -> (j, i)
@@ -67,12 +76,16 @@
 
 -- | A data type used for to map larger numbers to words. This data type
 -- supports the /short scale/ and /long scale/ with /Latin/ prefixes, and
--- custom suffixes.
+-- custom suffixes. The 'Default' value is the /short scale/ with /illion/
+-- as suffix. This is used in /English/ for large numbers.
 data HighNumberAlgorithm
   = ShortScale Text
   | LongScale Text Text
   deriving (Eq, Ord, Read, Show)
 
+instance Default HighNumberAlgorithm where
+    def = ShortScale "illion"
+
 -- | Construct a 'FreeValueSplitter' function for the given suffix for a /short scale/.
 shortScale :: Text -> FreeValueSplitter
 shortScale = valueSplit . ShortScale
@@ -100,7 +113,7 @@
     | otherwise = _highWithSuffix suf2 k
     where k = div j 2
 
--- Generate a /value splitter/ for a 'HighNumberAlgorithm' but where the result
+-- | Generate a /value splitter/ for a 'HighNumberAlgorithm' but where the result
 -- is post-processed by a function.
 valueSplit'
   :: (Text -> Text)  -- ^ The post-processing function.
@@ -115,7 +128,7 @@
 -- | A /smart constructor/ for the 'NumeralsAlgorithm' type. This constructor
 -- allows one to use an arbitrary 'Foldable' type for the low words and mid
 -- words. It will also order the midwords accordingly.
-numeralsAlgorithm :: (Foldable f, Foldable g) => Text -> Text -> Text -> f Text -> g (Integer, Text) -> FreeValueSplitter -> FreeMergerFunction -> (Text -> Text) -> NumeralsAlgorithm
+numeralsAlgorithm :: (Foldable f, Foldable g) => Text -> Text -> Text -> f Text -> g (Integer, Text) -> FreeValueSplitter -> FreeMergerFunction -> (Text -> Text) -> FreeNumberToWords -> NumeralsAlgorithm
 numeralsAlgorithm minus zero one _lowWords _midWords = NumeralsAlgorithm minus one (fromList (zero : one : toList _lowWords)) (sortOn (negate . fst) (toList _midWords))
 
 _maybeSegment :: Integral i => (i -> NumberSegment i) -> i -> MNumberSegment i
diff --git a/src/Text/Numerals/Class.hs b/src/Text/Numerals/Class.hs
--- a/src/Text/Numerals/Class.hs
+++ b/src/Text/Numerals/Class.hs
@@ -13,19 +13,28 @@
 
 module Text.Numerals.Class (
     -- * Typeclasses
-    NumToWord(toCardinal, toOrdinal, toWords)
+    NumToWord(toCardinal, toOrdinal, toShortOrdinal, toWords)
   , ValueSplit(valueSplit)
     -- * Types of numbers
-  , NumberType(Cardinal, Ordinal)
+  , NumberType(Cardinal, Ordinal, ShortOrdinal)
     -- * Segmenting a number
   , NumberSegment(NumberSegment, segmentDivision, segmentValue, segmentText, segmentRemainder)
   , MNumberSegment
     -- * Utility type synonyms
+  , NumberToWords,  FreeNumberToWords
   , MergerFunction, FreeMergerFunction, ValueSplitter, FreeValueSplitter, NumberSegmenting
   ) where
 
+import Data.Default(Default(def))
 import Data.Text(Text)
 
+-- | A type alias for a function that maps a number to a 'Text' object.
+type NumberToWords i = i -> Text
+
+-- | A type alias for a 'NumberToWords' function, with a free 'Integral'
+-- variable.
+type FreeNumberToWords = forall i . Integral i => NumberToWords i
+
 -- | A type alias of a function that is used to merge the names of two numbers according
 -- to gramatical rules. The type parameter is the type of the numbers to merge.
 type MergerFunction i = i -> i -> Text -> Text -> Text
@@ -61,27 +70,45 @@
 type MNumberSegment i = Maybe (NumberSegment i)
 
 -- | A data type that specifies the different types of numbers. These can be
--- used to specify the "target format".
+-- used to specify the "target format". The 'Default' number type is 'Cardinal'.
 data NumberType
   = Cardinal  -- ^ /Cardinal/ numbers like one, two, three, etc.
   | Ordinal  -- ^ /Ordinal/ numbers like first, second, third, etc.
-  deriving (Bounded, Enum, Eq, Ord)
+  | ShortOrdinal -- ^ /Short ordinal/ numbers like 1st, 2nd, 3rd, etc.
+  deriving (Bounded, Enum, Eq, Ord, Read, Show)
 
+instance Default NumberType where
+    def = Cardinal
+
 -- | A type class used for num to word algorithms. It maps an 'Integral' type
 -- @i@ to 'Text'.
 class NumToWord a where
     -- | Convert the given number to a 'Text' object that is the given number in
-    -- words.
+    -- words in /cardinal/ form.
     toCardinal :: Integral i
       => a  -- ^ The conversion algorithm that transforms the number into words.
       -> i  -- ^ The number to transform into a /cardinal/ form.
       -> Text  -- ^ The number in words in a /cardinal/ form.
     toCardinal = toWords Cardinal
+
+    -- | Convert the given number to a 'Text' object that is the given number in
+    -- words in /cardinal/ form.
     toOrdinal :: Integral i
       => a  -- ^ The conversion algorithm that transforms the number into words.
       -> i  -- ^ The number to transform into a /ordinal/ form.
       -> Text  -- ^ The number in words in a /ordinal/ form.
     toOrdinal = toWords Ordinal
+
+    -- | Convert the given number to a 'Text' object that is the given number
+    -- in words in /short cardinal/ form.
+    toShortOrdinal :: Integral i
+      => a  -- ^ The conversion algorithm that transforms the number into words.
+      -> i  -- ^ The number to transform into a /ordinal/ form.
+      -> Text  -- ^ The number in words in a /ordinal/ form.
+    toShortOrdinal = toWords Ordinal
+
+    -- | Convert the given number to a 'Text' object that is the given number in
+    -- words in the given 'NumberType'.
     toWords :: Integral i
       => NumberType  -- ^ The given format to convert the number to.
       -> a  -- ^ The conversion algorithm that transforms the number into words.
@@ -89,7 +116,8 @@
       -> Text  -- ^ The number in words in the given form.
     toWords Cardinal = toCardinal
     toWords Ordinal = toOrdinal
-    {-# MINIMAL toCardinal, toOrdinal | toWords #-}
+    toWords ShortOrdinal = toShortOrdinal
+    {-# MINIMAL toCardinal, toOrdinal, toShortOrdinal | toWords #-}
 
 -- | A type class used to split a value, based on the name of a number in a
 -- specific language. The value that is used to split, is often, depending on
diff --git a/src/Text/Numerals/Internal.hs b/src/Text/Numerals/Internal.hs
--- a/src/Text/Numerals/Internal.hs
+++ b/src/Text/Numerals/Internal.hs
@@ -7,8 +7,11 @@
   , _hundred, _thousand, _million, _billion, _trillion
   , _iLog, _iLogFloor
   , _stripLastIf
+  , _showIntegral
+  , _showPositive
   ) where
 
+import Data.Char(intToDigit)
 import Data.Text(Text, cons, dropEnd, isSuffixOf, singleton, pack)
 import qualified Data.Text as T
 
@@ -81,3 +84,15 @@
 
 _replaceSuffix :: Int -> Text -> Text -> Text
 _replaceSuffix n s = (<> s) . dropEnd n
+
+_showIntegral :: Integral i => i -> String -> String
+_showIntegral n s
+    | n < 0 = '-' : _showPositive (-(fromIntegral n :: Integer)) s
+    | otherwise = _showPositive n s
+
+_showPositive :: Integral i => i -> String -> String
+_showPositive n s
+    | q == 0 = tl
+    | otherwise = _showPositive q tl
+    where (q, r) = quotRem n 10
+          tl = intToDigit (fromIntegral r) : s
diff --git a/src/Text/Numerals/Languages/Dutch.hs b/src/Text/Numerals/Languages/Dutch.hs
--- a/src/Text/Numerals/Languages/Dutch.hs
+++ b/src/Text/Numerals/Languages/Dutch.hs
@@ -23,13 +23,13 @@
   , merge'
   ) where
 
-import Data.Text(Text, snoc)
+import Data.Text(Text, pack, snoc)
 import Data.Vector(Vector)
 
 import Text.Numerals.Algorithm(HighNumberAlgorithm(LongScale), NumeralsAlgorithm, numeralsAlgorithm)
 import Text.Numerals.Algorithm.Template(ordinizeFromDict)
 import Text.Numerals.Class(valueSplit)
-import Text.Numerals.Internal(_million, _mergeWithSpace)
+import Text.Numerals.Internal(_million, _mergeWithSpace, _showIntegral)
 
 $(pure (ordinizeFromDict "_ordinize'" [
     ("nul", "nuld")
@@ -59,7 +59,7 @@
 
 -- | A 'NumeralsAlgorithm' to convert numbers to words in the /Dutch/ language.
 dutch :: NumeralsAlgorithm  -- ^ A 'NumeralsAlgorithm' that can be used to convert numbers to different formats.
-dutch = numeralsAlgorithm negativeWord' zeroWord' oneWord' lowWords' midWords' (valueSplit highWords') merge' ordinize'
+dutch = numeralsAlgorithm negativeWord' zeroWord' oneWord' lowWords' midWords' (valueSplit highWords') merge' ordinize' shortOrdinal'
 
 -- | The words used to mark a negative number in the /Dutch/ language.
 negativeWord' :: Text
@@ -145,3 +145,9 @@
 -- suffixes.
 highWords' :: HighNumberAlgorithm
 highWords' = LongScale "iljoen" "iljard"
+
+-- | A function to convert a number to its /short ordinal/ form in /Dutch/.
+shortOrdinal' :: Integral i
+  => i  -- ^ The number to convert to /short ordinal/ form.
+  -> Text  -- ^ The equivalent 'Text' specifying the number in /short ordinal/ form.
+shortOrdinal' = pack . (`_showIntegral` "e")
diff --git a/src/Text/Numerals/Languages/English.hs b/src/Text/Numerals/Languages/English.hs
--- a/src/Text/Numerals/Languages/English.hs
+++ b/src/Text/Numerals/Languages/English.hs
@@ -23,14 +23,15 @@
   , merge'
   ) where
 
-import Data.Text(Text, isSuffixOf)
+import Data.Default(def)
+import Data.Text(Text, isSuffixOf, pack)
 import qualified Data.Text as T
 import Data.Vector(Vector)
 
-import Text.Numerals.Algorithm(HighNumberAlgorithm(ShortScale), NumeralsAlgorithm, numeralsAlgorithm)
+import Text.Numerals.Algorithm(HighNumberAlgorithm, NumeralsAlgorithm, numeralsAlgorithm)
 import Text.Numerals.Algorithm.Template(ordinizeFromDict)
 import Text.Numerals.Class(valueSplit)
-import Text.Numerals.Internal(_mergeWith, _mergeWithSpace, _mergeWithHyphen)
+import Text.Numerals.Internal(_div10, _mergeWith, _mergeWithSpace, _mergeWithHyphen, _rem10, _showIntegral)
 
 _ordinizepp :: Text -> Text
 _ordinizepp t
@@ -56,7 +57,7 @@
 
 -- | A 'NumeralsAlgorithm' to convert numbers to words in the /English/ language.
 english :: NumeralsAlgorithm  -- ^ A 'NumeralsAlgorithm' that can be used to convert numbers to different formats.
-english = numeralsAlgorithm negativeWord' zeroWord' oneWord' lowWords' midWords' (valueSplit highWords') merge' ordinize'
+english = numeralsAlgorithm negativeWord' zeroWord' oneWord' lowWords' midWords' (valueSplit highWords') merge' ordinize' shortOrdinal'
 
 -- | The words used to mark a negative number in the /English/ language.
 negativeWord' :: Text
@@ -121,4 +122,17 @@
 -- | An algorithm to obtain the names of /large/ numbers (one million or larger)
 -- in /English/. English uses a /short scale/ with the @illion@ suffix.
 highWords' :: HighNumberAlgorithm
-highWords' = ShortScale "illion"
+highWords' = def
+
+-- | A function to convert a number to its /short ordinal/ form in /English/.
+shortOrdinal' :: Integral i
+  => i  -- ^ The number to convert to /short ordinal/ form.
+  -> Text  -- ^ The equivalent 'Text' specifying the number in /short ordinal/ form.
+shortOrdinal' i = pack (_showIntegral i (_shortOrdinalSuffix i))
+    where _shortOrdinalSuffix n
+              | _rem10 (_div10 n) == 1 = "th"
+              | otherwise = go' (_rem10 n)
+          go' 1 = "st"
+          go' 2 = "nd"
+          go' 3 = "rd"
+          go' _ = "th"
diff --git a/src/Text/Numerals/Languages/French.hs b/src/Text/Numerals/Languages/French.hs
--- a/src/Text/Numerals/Languages/French.hs
+++ b/src/Text/Numerals/Languages/French.hs
@@ -23,13 +23,13 @@
   , merge'
   ) where
 
-import Data.Text(Text, isSuffixOf, snoc)
+import Data.Text(Text, isSuffixOf, pack, snoc)
 import Data.Vector(Vector)
 
 import Text.Numerals.Algorithm(HighNumberAlgorithm(LongScale), NumeralsAlgorithm, numeralsAlgorithm)
 import Text.Numerals.Algorithm.Template(ordinizeFromDict)
 import Text.Numerals.Class(FreeMergerFunction, valueSplit)
-import Text.Numerals.Internal(_divisable100, _mergeWith, _mergeWithSpace, _mergeWithHyphen, _million, _stripLastIf, _thousand)
+import Text.Numerals.Internal(_divisable100, _mergeWith, _mergeWithSpace, _mergeWithHyphen, _million, _showIntegral, _stripLastIf, _thousand)
 
 $(pure (ordinizeFromDict "_ordinize'" [
     ("cinq", "cinqu")
@@ -38,7 +38,7 @@
 
 -- | A 'NumeralsAlgorithm' to convert numbers to words in the /French/ language.
 french :: NumeralsAlgorithm  -- ^ A 'NumeralsAlgorithm' that can be used to convert numbers to different formats.
-french = numeralsAlgorithm negativeWord' zeroWord' oneWord' lowWords' midWords' (valueSplit highWords') merge' ordinize'
+french = numeralsAlgorithm negativeWord' zeroWord' oneWord' lowWords' midWords' (valueSplit highWords') merge' ordinize' shortOrdinal'
 
 -- | The words used to mark a negative number in the /French/ language.
 negativeWord' :: Text
@@ -122,3 +122,9 @@
 -- suffixes.
 highWords' :: HighNumberAlgorithm
 highWords' =  LongScale "illion" "illiard"
+
+-- | A function to convert a number to its /short ordinal/ form in /French/.
+shortOrdinal' :: Integral i
+  => i  -- ^ The number to convert to /short ordinal/ form.
+  -> Text  -- ^ The equivalent 'Text' specifying the number in /short ordinal/ form.
+shortOrdinal' = pack . (`_showIntegral` "e")
diff --git a/src/Text/Numerals/Languages/German.hs b/src/Text/Numerals/Languages/German.hs
--- a/src/Text/Numerals/Languages/German.hs
+++ b/src/Text/Numerals/Languages/German.hs
@@ -24,13 +24,13 @@
   ) where
 
 import Data.Bool(bool)
-import Data.Text(Text, isSuffixOf, toLower, toTitle)
+import Data.Text(Text, isSuffixOf, pack, toLower, toTitle)
 import Data.Vector(Vector)
 
 import Text.Numerals.Algorithm(HighNumberAlgorithm(LongScale), NumeralsAlgorithm, numeralsAlgorithm, valueSplit')
 import Text.Numerals.Algorithm.Template(ordinizeFromDict)
 import Text.Numerals.Class(FreeMergerFunction)
-import Text.Numerals.Internal(_mergeWith, _mergeWithSpace, _million)
+import Text.Numerals.Internal(_mergeWith, _mergeWithSpace, _million, _showIntegral)
 import Text.RE.TDFA.Text(RE, SearchReplace, (*=~/), ed)
 
 $(pure (ordinizeFromDict "_ordinize'" [
@@ -49,7 +49,7 @@
 
 -- | A 'NumeralsAlgorithm' to convert numbers to words in the /German/ language.
 german :: NumeralsAlgorithm  -- ^ A 'NumeralsAlgorithm' that can be used to convert numbers to different formats.
-german = numeralsAlgorithm negativeWord' zeroWord' oneWord' lowWords' midWords' (valueSplit' toTitle highWords') merge' ordinize'
+german = numeralsAlgorithm negativeWord' zeroWord' oneWord' lowWords' midWords' (valueSplit' toTitle highWords') merge' ordinize' shortOrdinal'
 
 -- | The words used to mark a negative number in the /German/ language.
 negativeWord' :: Text
@@ -142,3 +142,9 @@
 -- suffixes.
 highWords' :: HighNumberAlgorithm
 highWords' =  LongScale "illion" "illiard"
+
+-- | A function to convert a number to its /short ordinal/ form in /German/.
+shortOrdinal' :: Integral i
+  => i  -- ^ The number to convert to /short ordinal/ form.
+  -> Text  -- ^ The equivalent 'Text' specifying the number in /short ordinal/ form.
+shortOrdinal' = pack . (`_showIntegral` ".")
diff --git a/test/Text/Numerals/LanguageTest.hs b/test/Text/Numerals/LanguageTest.hs
--- a/test/Text/Numerals/LanguageTest.hs
+++ b/test/Text/Numerals/LanguageTest.hs
@@ -9,7 +9,7 @@
 import Test.Hspec(SpecWith, describe, it, shouldBe)
 import Test.QuickCheck(property)
 
-import Text.Numerals.Class(toCardinal, toOrdinal)
+import Text.Numerals.Class(toCardinal, toOrdinal, toShortOrdinal)
 import Text.Numerals.Algorithm(NumeralsAlgorithm)
 
 testDifferCardinal :: NumeralsAlgorithm -> Integer -> Integer -> Bool
@@ -33,8 +33,12 @@
 testEquivalenceOrdinal :: Integral i => NumeralsAlgorithm -> i -> Bool
 testEquivalenceOrdinal al i = toOrdinal al i == toOrdinal al (fromIntegral i :: Integer)
 
-testLanguage :: String -> NumeralsAlgorithm -> [(Integer, Text)] -> [(Integer, Text)] -> SpecWith ()
-testLanguage languageName al cs os = describe languageName $ do
+testEquivalenceShortOrdinal :: Integral i => NumeralsAlgorithm -> i -> Bool
+testEquivalenceShortOrdinal al i = toShortOrdinal al i == toShortOrdinal al (fromIntegral i :: Integer)
+
+
+testLanguage :: String -> NumeralsAlgorithm -> [(Integer, Text)] -> [(Integer, Text)] -> [(Integer, Text)] -> SpecWith ()
+testLanguage languageName al cs os ss = describe languageName $ do
     describe "Automatied tests" $ do
         it "Different cardinal names" (property (testDifferCardinal al))
         it "Different ordinal names" (property (testDifferOrdinal al))
@@ -60,5 +64,17 @@
         it "Check toOrdinal algorithm with Word16" (property (testEquivalenceOrdinal al :: Word16 -> Bool))
         it "Check toOrdinal algorithm with Word32" (property (testEquivalenceOrdinal al :: Word32 -> Bool))
         it "Check toOrdinal algorithm with Word64" (property (testEquivalenceOrdinal al :: Word64 -> Bool))
+        it "Check toShortOrdinal algorithm with Int" (property (testEquivalenceShortOrdinal al :: Int -> Bool))
+        it "Check toShortOrdinal algorithm with Int8" (property (testEquivalenceShortOrdinal al :: Int8 -> Bool))
+        it "Check toShortOrdinal algorithm with Int16" (property (testEquivalenceShortOrdinal al :: Int16 -> Bool))
+        it "Check toShortOrdinal algorithm with Int32" (property (testEquivalenceShortOrdinal al :: Int32 -> Bool))
+        it "Check toShortOrdinal algorithm with Int64" (property (testEquivalenceShortOrdinal al :: Int64 -> Bool))
+        it "Check toShortOrdinal algorithm with Word" (property (testEquivalenceShortOrdinal al :: Word -> Bool))
+        it "Check toShortOrdinal algorithm with Word8" (property (testEquivalenceShortOrdinal al :: Word8 -> Bool))
+        it "Check toShortOrdinal algorithm with Word16" (property (testEquivalenceShortOrdinal al :: Word16 -> Bool))
+        it "Check toShortOrdinal algorithm with Word32" (property (testEquivalenceShortOrdinal al :: Word32 -> Bool))
+        it "Check toShortOrdinal algorithm with Word64" (property (testEquivalenceShortOrdinal al :: Word64 -> Bool))
+
     describe "Test cardinal numbers" (mapM_ (uncurry (testNumberConversion (toCardinal al))) cs)
     describe "Test ordinal numbers" (mapM_ (uncurry (testNumberConversion (toOrdinal al))) os)
+    describe "Test short ordinal numbers" (mapM_ (uncurry (testNumberConversion (toShortOrdinal al))) ss)
diff --git a/test/Text/Numerals/Languages/DutchSpec.hs b/test/Text/Numerals/Languages/DutchSpec.hs
--- a/test/Text/Numerals/Languages/DutchSpec.hs
+++ b/test/Text/Numerals/Languages/DutchSpec.hs
@@ -9,7 +9,7 @@
 import Text.Numerals.LanguageTest(testLanguage)
 
 spec :: Spec
-spec = testLanguage "Dutch" dutch cardinals ordinals
+spec = testLanguage "Dutch" dutch cardinals ordinals shortOrdinals
 
 cardinals :: [(Integer, Text)]
 cardinals = [
@@ -663,4 +663,331 @@
   , (10000000000000000000000, "tien triljardste")
   , (100000000000000000000000, "honderd triljardste")
   , (1000000000000000000000000, "een quadriljoenste")
+  ]
+
+shortOrdinals :: [(Integer, Text)]
+shortOrdinals = [
+    (0, "0e")
+  , (1, "1e")
+  , (2, "2e")
+  , (3, "3e")
+  , (4, "4e")
+  , (5, "5e")
+  , (6, "6e")
+  , (7, "7e")
+  , (8, "8e")
+  , (9, "9e")
+  , (10, "10e")
+  , (11, "11e")
+  , (12, "12e")
+  , (13, "13e")
+  , (14, "14e")
+  , (15, "15e")
+  , (16, "16e")
+  , (17, "17e")
+  , (18, "18e")
+  , (19, "19e")
+  , (20, "20e")
+  , (21, "21e")
+  , (22, "22e")
+  , (23, "23e")
+  , (24, "24e")
+  , (25, "25e")
+  , (26, "26e")
+  , (27, "27e")
+  , (28, "28e")
+  , (29, "29e")
+  , (30, "30e")
+  , (31, "31e")
+  , (32, "32e")
+  , (33, "33e")
+  , (34, "34e")
+  , (35, "35e")
+  , (36, "36e")
+  , (37, "37e")
+  , (38, "38e")
+  , (39, "39e")
+  , (40, "40e")
+  , (41, "41e")
+  , (42, "42e")
+  , (43, "43e")
+  , (44, "44e")
+  , (45, "45e")
+  , (46, "46e")
+  , (47, "47e")
+  , (48, "48e")
+  , (49, "49e")
+  , (50, "50e")
+  , (51, "51e")
+  , (52, "52e")
+  , (53, "53e")
+  , (54, "54e")
+  , (55, "55e")
+  , (56, "56e")
+  , (57, "57e")
+  , (58, "58e")
+  , (59, "59e")
+  , (60, "60e")
+  , (61, "61e")
+  , (62, "62e")
+  , (63, "63e")
+  , (64, "64e")
+  , (65, "65e")
+  , (66, "66e")
+  , (67, "67e")
+  , (68, "68e")
+  , (69, "69e")
+  , (70, "70e")
+  , (71, "71e")
+  , (72, "72e")
+  , (73, "73e")
+  , (74, "74e")
+  , (75, "75e")
+  , (76, "76e")
+  , (77, "77e")
+  , (78, "78e")
+  , (79, "79e")
+  , (80, "80e")
+  , (81, "81e")
+  , (82, "82e")
+  , (83, "83e")
+  , (84, "84e")
+  , (85, "85e")
+  , (86, "86e")
+  , (87, "87e")
+  , (88, "88e")
+  , (89, "89e")
+  , (90, "90e")
+  , (91, "91e")
+  , (92, "92e")
+  , (93, "93e")
+  , (94, "94e")
+  , (95, "95e")
+  , (96, "96e")
+  , (97, "97e")
+  , (98, "98e")
+  , (99, "99e")
+  , (100, "100e")
+  , (101, "101e")
+  , (102, "102e")
+  , (103, "103e")
+  , (104, "104e")
+  , (105, "105e")
+  , (106, "106e")
+  , (107, "107e")
+  , (108, "108e")
+  , (109, "109e")
+  , (110, "110e")
+  , (111, "111e")
+  , (112, "112e")
+  , (113, "113e")
+  , (114, "114e")
+  , (115, "115e")
+  , (116, "116e")
+  , (117, "117e")
+  , (118, "118e")
+  , (119, "119e")
+  , (120, "120e")
+  , (121, "121e")
+  , (122, "122e")
+  , (123, "123e")
+  , (124, "124e")
+  , (125, "125e")
+  , (126, "126e")
+  , (127, "127e")
+  , (128, "128e")
+  , (129, "129e")
+  , (130, "130e")
+  , (131, "131e")
+  , (132, "132e")
+  , (133, "133e")
+  , (134, "134e")
+  , (135, "135e")
+  , (136, "136e")
+  , (137, "137e")
+  , (138, "138e")
+  , (139, "139e")
+  , (140, "140e")
+  , (141, "141e")
+  , (142, "142e")
+  , (143, "143e")
+  , (144, "144e")
+  , (145, "145e")
+  , (146, "146e")
+  , (147, "147e")
+  , (148, "148e")
+  , (149, "149e")
+  , (150, "150e")
+  , (151, "151e")
+  , (152, "152e")
+  , (153, "153e")
+  , (154, "154e")
+  , (155, "155e")
+  , (156, "156e")
+  , (157, "157e")
+  , (158, "158e")
+  , (159, "159e")
+  , (160, "160e")
+  , (161, "161e")
+  , (162, "162e")
+  , (163, "163e")
+  , (164, "164e")
+  , (165, "165e")
+  , (166, "166e")
+  , (167, "167e")
+  , (168, "168e")
+  , (169, "169e")
+  , (170, "170e")
+  , (171, "171e")
+  , (172, "172e")
+  , (173, "173e")
+  , (174, "174e")
+  , (175, "175e")
+  , (176, "176e")
+  , (177, "177e")
+  , (178, "178e")
+  , (179, "179e")
+  , (180, "180e")
+  , (181, "181e")
+  , (182, "182e")
+  , (183, "183e")
+  , (184, "184e")
+  , (185, "185e")
+  , (186, "186e")
+  , (187, "187e")
+  , (188, "188e")
+  , (189, "189e")
+  , (190, "190e")
+  , (191, "191e")
+  , (192, "192e")
+  , (193, "193e")
+  , (194, "194e")
+  , (195, "195e")
+  , (196, "196e")
+  , (197, "197e")
+  , (198, "198e")
+  , (199, "199e")
+  , (200, "200e")
+  , (233, "233e")
+  , (377, "377e")
+  , (610, "610e")
+  , (987, "987e")
+  , (1597, "1597e")
+  , (2584, "2584e")
+  , (4181, "4181e")
+  , (6765, "6765e")
+  , (10946, "10946e")
+  , (17711, "17711e")
+  , (28657, "28657e")
+  , (46368, "46368e")
+  , (75025, "75025e")
+  , (121393, "121393e")
+  , (196418, "196418e")
+  , (317811, "317811e")
+  , (514229, "514229e")
+  , (832040, "832040e")
+  , (1346269, "1346269e")
+  , (2178309, "2178309e")
+  , (3524578, "3524578e")
+  , (5702887, "5702887e")
+  , (9227465, "9227465e")
+  , (14930352, "14930352e")
+  , (24157817, "24157817e")
+  , (39088169, "39088169e")
+  , (63245986, "63245986e")
+  , (102334155, "102334155e")
+  , (165580141, "165580141e")
+  , (267914296, "267914296e")
+  , (433494437, "433494437e")
+  , (701408733, "701408733e")
+  , (1134903170, "1134903170e")
+  , (1836311903, "1836311903e")
+  , (2971215073, "2971215073e")
+  , (4807526976, "4807526976e")
+  , (7778742049, "7778742049e")
+  , (12586269025, "12586269025e")
+  , (20365011074, "20365011074e")
+  , (32951280099, "32951280099e")
+  , (53316291173, "53316291173e")
+  , (86267571272, "86267571272e")
+  , (139583862445, "139583862445e")
+  , (225851433717, "225851433717e")
+  , (365435296162, "365435296162e")
+  , (591286729879, "591286729879e")
+  , (956722026041, "956722026041e")
+  , (1548008755920, "1548008755920e")
+  , (2504730781961, "2504730781961e")
+  , (4052739537881, "4052739537881e")
+  , (6557470319842, "6557470319842e")
+  , (10610209857723, "10610209857723e")
+  , (17167680177565, "17167680177565e")
+  , (27777890035288, "27777890035288e")
+  , (44945570212853, "44945570212853e")
+  , (72723460248141, "72723460248141e")
+  , (117669030460994, "117669030460994e")
+  , (190392490709135, "190392490709135e")
+  , (308061521170129, "308061521170129e")
+  , (498454011879264, "498454011879264e")
+  , (806515533049393, "806515533049393e")
+  , (1304969544928657, "1304969544928657e")
+  , (2111485077978050, "2111485077978050e")
+  , (3416454622906707, "3416454622906707e")
+  , (5527939700884757, "5527939700884757e")
+  , (8944394323791464, "8944394323791464e")
+  , (14472334024676221, "14472334024676221e")
+  , (23416728348467685, "23416728348467685e")
+  , (37889062373143906, "37889062373143906e")
+  , (61305790721611591, "61305790721611591e")
+  , (99194853094755497, "99194853094755497e")
+  , (160500643816367088, "160500643816367088e")
+  , (259695496911122585, "259695496911122585e")
+  , (420196140727489673, "420196140727489673e")
+  , (679891637638612258, "679891637638612258e")
+  , (1100087778366101931, "1100087778366101931e")
+  , (1779979416004714189, "1779979416004714189e")
+  , (2880067194370816120, "2880067194370816120e")
+  , (4660046610375530309, "4660046610375530309e")
+  , (7540113804746346429, "7540113804746346429e")
+  , (12200160415121876738, "12200160415121876738e")
+  , (19740274219868223167, "19740274219868223167e")
+  , (31940434634990099905, "31940434634990099905e")
+  , (51680708854858323072, "51680708854858323072e")
+  , (83621143489848422977, "83621143489848422977e")
+  , (135301852344706746049, "135301852344706746049e")
+  , (218922995834555169026, "218922995834555169026e")
+  , (354224848179261915075, "354224848179261915075e")
+  , (573147844013817084101, "573147844013817084101e")
+  , (927372692193078999176, "927372692193078999176e")
+  , (1500520536206896083277, "1500520536206896083277e")
+  , (2427893228399975082453, "2427893228399975082453e")
+  , (3928413764606871165730, "3928413764606871165730e")
+  , (6356306993006846248183, "6356306993006846248183e")
+  , (10284720757613717413913, "10284720757613717413913e")
+  , (16641027750620563662096, "16641027750620563662096e")
+  , (26925748508234281076009, "26925748508234281076009e")
+  , (43566776258854844738105, "43566776258854844738105e")
+  , (70492524767089125814114, "70492524767089125814114e")
+  , (114059301025943970552219, "114059301025943970552219e")
+  , (1000, "1000e")
+  , (10000, "10000e")
+  , (100000, "100000e")
+  , (1000000, "1000000e")
+  , (10000000, "10000000e")
+  , (100000000, "100000000e")
+  , (1000000000, "1000000000e")
+  , (10000000000, "10000000000e")
+  , (100000000000, "100000000000e")
+  , (1000000000000, "1000000000000e")
+  , (10000000000000, "10000000000000e")
+  , (100000000000000, "100000000000000e")
+  , (1000000000000000, "1000000000000000e")
+  , (10000000000000000, "10000000000000000e")
+  , (100000000000000000, "100000000000000000e")
+  , (1000000000000000000, "1000000000000000000e")
+  , (10000000000000000000, "10000000000000000000e")
+  , (100000000000000000000, "100000000000000000000e")
+  , (1000000000000000000000, "1000000000000000000000e")
+  , (10000000000000000000000, "10000000000000000000000e")
+  , (100000000000000000000000, "100000000000000000000000e")
+  , (1000000000000000000000000, "1000000000000000000000000e")
   ]
diff --git a/test/Text/Numerals/Languages/EnglishSpec.hs b/test/Text/Numerals/Languages/EnglishSpec.hs
--- a/test/Text/Numerals/Languages/EnglishSpec.hs
+++ b/test/Text/Numerals/Languages/EnglishSpec.hs
@@ -9,7 +9,7 @@
 import Text.Numerals.LanguageTest(testLanguage)
 
 spec :: Spec
-spec = testLanguage "English" english cardinals ordinals
+spec = testLanguage "English" english cardinals ordinals shortOrdinals
 
 cardinals :: [(Integer, Text)]
 cardinals = [
@@ -663,4 +663,331 @@
   , (10000000000000000000000, "ten sextillionth")
   , (100000000000000000000000, "one hundred sextillionth")
   , (1000000000000000000000000, "one septillionth")
+  ]
+
+shortOrdinals :: [(Integer, Text)]
+shortOrdinals = [
+    (0,"0th")
+  , (1,"1st")
+  , (2,"2nd")
+  , (3,"3rd")
+  , (4,"4th")
+  , (5,"5th")
+  , (6,"6th")
+  , (7,"7th")
+  , (8,"8th")
+  , (9,"9th")
+  , (10,"10th")
+  , (11,"11th")
+  , (12,"12th")
+  , (13,"13th")
+  , (14,"14th")
+  , (15,"15th")
+  , (16,"16th")
+  , (17,"17th")
+  , (18,"18th")
+  , (19,"19th")
+  , (20,"20th")
+  , (21,"21st")
+  , (22,"22nd")
+  , (23,"23rd")
+  , (24,"24th")
+  , (25,"25th")
+  , (26,"26th")
+  , (27,"27th")
+  , (28,"28th")
+  , (29,"29th")
+  , (30,"30th")
+  , (31,"31st")
+  , (32,"32nd")
+  , (33,"33rd")
+  , (34,"34th")
+  , (35,"35th")
+  , (36,"36th")
+  , (37,"37th")
+  , (38,"38th")
+  , (39,"39th")
+  , (40,"40th")
+  , (41,"41st")
+  , (42,"42nd")
+  , (43,"43rd")
+  , (44,"44th")
+  , (45,"45th")
+  , (46,"46th")
+  , (47,"47th")
+  , (48,"48th")
+  , (49,"49th")
+  , (50,"50th")
+  , (51,"51st")
+  , (52,"52nd")
+  , (53,"53rd")
+  , (54,"54th")
+  , (55,"55th")
+  , (56,"56th")
+  , (57,"57th")
+  , (58,"58th")
+  , (59,"59th")
+  , (60,"60th")
+  , (61,"61st")
+  , (62,"62nd")
+  , (63,"63rd")
+  , (64,"64th")
+  , (65,"65th")
+  , (66,"66th")
+  , (67,"67th")
+  , (68,"68th")
+  , (69,"69th")
+  , (70,"70th")
+  , (71,"71st")
+  , (72,"72nd")
+  , (73,"73rd")
+  , (74,"74th")
+  , (75,"75th")
+  , (76,"76th")
+  , (77,"77th")
+  , (78,"78th")
+  , (79,"79th")
+  , (80,"80th")
+  , (81,"81st")
+  , (82,"82nd")
+  , (83,"83rd")
+  , (84,"84th")
+  , (85,"85th")
+  , (86,"86th")
+  , (87,"87th")
+  , (88,"88th")
+  , (89,"89th")
+  , (90,"90th")
+  , (91,"91st")
+  , (92,"92nd")
+  , (93,"93rd")
+  , (94,"94th")
+  , (95,"95th")
+  , (96,"96th")
+  , (97,"97th")
+  , (98,"98th")
+  , (99,"99th")
+  , (100,"100th")
+  , (101,"101st")
+  , (102,"102nd")
+  , (103,"103rd")
+  , (104,"104th")
+  , (105,"105th")
+  , (106,"106th")
+  , (107,"107th")
+  , (108,"108th")
+  , (109,"109th")
+  , (110,"110th")
+  , (111,"111th")
+  , (112,"112th")
+  , (113,"113th")
+  , (114,"114th")
+  , (115,"115th")
+  , (116,"116th")
+  , (117,"117th")
+  , (118,"118th")
+  , (119,"119th")
+  , (120,"120th")
+  , (121,"121st")
+  , (122,"122nd")
+  , (123,"123rd")
+  , (124,"124th")
+  , (125,"125th")
+  , (126,"126th")
+  , (127,"127th")
+  , (128,"128th")
+  , (129,"129th")
+  , (130,"130th")
+  , (131,"131st")
+  , (132,"132nd")
+  , (133,"133rd")
+  , (134,"134th")
+  , (135,"135th")
+  , (136,"136th")
+  , (137,"137th")
+  , (138,"138th")
+  , (139,"139th")
+  , (140,"140th")
+  , (141,"141st")
+  , (142,"142nd")
+  , (143,"143rd")
+  , (144,"144th")
+  , (145,"145th")
+  , (146,"146th")
+  , (147,"147th")
+  , (148,"148th")
+  , (149,"149th")
+  , (150,"150th")
+  , (151,"151st")
+  , (152,"152nd")
+  , (153,"153rd")
+  , (154,"154th")
+  , (155,"155th")
+  , (156,"156th")
+  , (157,"157th")
+  , (158,"158th")
+  , (159,"159th")
+  , (160,"160th")
+  , (161,"161st")
+  , (162,"162nd")
+  , (163,"163rd")
+  , (164,"164th")
+  , (165,"165th")
+  , (166,"166th")
+  , (167,"167th")
+  , (168,"168th")
+  , (169,"169th")
+  , (170,"170th")
+  , (171,"171st")
+  , (172,"172nd")
+  , (173,"173rd")
+  , (174,"174th")
+  , (175,"175th")
+  , (176,"176th")
+  , (177,"177th")
+  , (178,"178th")
+  , (179,"179th")
+  , (180,"180th")
+  , (181,"181st")
+  , (182,"182nd")
+  , (183,"183rd")
+  , (184,"184th")
+  , (185,"185th")
+  , (186,"186th")
+  , (187,"187th")
+  , (188,"188th")
+  , (189,"189th")
+  , (190,"190th")
+  , (191,"191st")
+  , (192,"192nd")
+  , (193,"193rd")
+  , (194,"194th")
+  , (195,"195th")
+  , (196,"196th")
+  , (197,"197th")
+  , (198,"198th")
+  , (199,"199th")
+  , (200,"200th")
+  , (233,"233rd")
+  , (377,"377th")
+  , (610,"610th")
+  , (987,"987th")
+  , (1597,"1597th")
+  , (2584,"2584th")
+  , (4181,"4181st")
+  , (6765,"6765th")
+  , (10946,"10946th")
+  , (17711,"17711th")
+  , (28657,"28657th")
+  , (46368,"46368th")
+  , (75025,"75025th")
+  , (121393,"121393rd")
+  , (196418,"196418th")
+  , (317811,"317811th")
+  , (514229,"514229th")
+  , (832040,"832040th")
+  , (1346269,"1346269th")
+  , (2178309,"2178309th")
+  , (3524578,"3524578th")
+  , (5702887,"5702887th")
+  , (9227465,"9227465th")
+  , (14930352,"14930352nd")
+  , (24157817,"24157817th")
+  , (39088169,"39088169th")
+  , (63245986,"63245986th")
+  , (102334155,"102334155th")
+  , (165580141,"165580141st")
+  , (267914296,"267914296th")
+  , (433494437,"433494437th")
+  , (701408733,"701408733rd")
+  , (1134903170,"1134903170th")
+  , (1836311903,"1836311903rd")
+  , (2971215073,"2971215073rd")
+  , (4807526976,"4807526976th")
+  , (7778742049,"7778742049th")
+  , (12586269025,"12586269025th")
+  , (20365011074,"20365011074th")
+  , (32951280099,"32951280099th")
+  , (53316291173,"53316291173rd")
+  , (86267571272,"86267571272nd")
+  , (139583862445,"139583862445th")
+  , (225851433717,"225851433717th")
+  , (365435296162,"365435296162nd")
+  , (591286729879,"591286729879th")
+  , (956722026041,"956722026041st")
+  , (1548008755920,"1548008755920th")
+  , (2504730781961,"2504730781961st")
+  , (4052739537881,"4052739537881st")
+  , (6557470319842,"6557470319842nd")
+  , (10610209857723,"10610209857723rd")
+  , (17167680177565,"17167680177565th")
+  , (27777890035288,"27777890035288th")
+  , (44945570212853,"44945570212853rd")
+  , (72723460248141,"72723460248141st")
+  , (117669030460994,"117669030460994th")
+  , (190392490709135,"190392490709135th")
+  , (308061521170129,"308061521170129th")
+  , (498454011879264,"498454011879264th")
+  , (806515533049393,"806515533049393rd")
+  , (1304969544928657,"1304969544928657th")
+  , (2111485077978050,"2111485077978050th")
+  , (3416454622906707,"3416454622906707th")
+  , (5527939700884757,"5527939700884757th")
+  , (8944394323791464,"8944394323791464th")
+  , (14472334024676221,"14472334024676221st")
+  , (23416728348467685,"23416728348467685th")
+  , (37889062373143906,"37889062373143906th")
+  , (61305790721611591,"61305790721611591st")
+  , (99194853094755497,"99194853094755497th")
+  , (160500643816367088,"160500643816367088th")
+  , (259695496911122585,"259695496911122585th")
+  , (420196140727489673,"420196140727489673rd")
+  , (679891637638612258,"679891637638612258th")
+  , (1100087778366101931,"1100087778366101931st")
+  , (1779979416004714189,"1779979416004714189th")
+  , (2880067194370816120,"2880067194370816120th")
+  , (4660046610375530309,"4660046610375530309th")
+  , (7540113804746346429,"7540113804746346429th")
+  , (12200160415121876738,"12200160415121876738th")
+  , (19740274219868223167,"19740274219868223167th")
+  , (31940434634990099905,"31940434634990099905th")
+  , (51680708854858323072,"51680708854858323072nd")
+  , (83621143489848422977,"83621143489848422977th")
+  , (135301852344706746049,"135301852344706746049th")
+  , (218922995834555169026,"218922995834555169026th")
+  , (354224848179261915075,"354224848179261915075th")
+  , (573147844013817084101,"573147844013817084101st")
+  , (927372692193078999176,"927372692193078999176th")
+  , (1500520536206896083277,"1500520536206896083277th")
+  , (2427893228399975082453,"2427893228399975082453rd")
+  , (3928413764606871165730,"3928413764606871165730th")
+  , (6356306993006846248183,"6356306993006846248183rd")
+  , (10284720757613717413913,"10284720757613717413913th")
+  , (16641027750620563662096,"16641027750620563662096th")
+  , (26925748508234281076009,"26925748508234281076009th")
+  , (43566776258854844738105,"43566776258854844738105th")
+  , (70492524767089125814114,"70492524767089125814114th")
+  , (114059301025943970552219,"114059301025943970552219th")
+  , (1000,"1000th")
+  , (10000,"10000th")
+  , (100000,"100000th")
+  , (1000000,"1000000th")
+  , (10000000,"10000000th")
+  , (100000000,"100000000th")
+  , (1000000000,"1000000000th")
+  , (10000000000,"10000000000th")
+  , (100000000000,"100000000000th")
+  , (1000000000000,"1000000000000th")
+  , (10000000000000,"10000000000000th")
+  , (100000000000000,"100000000000000th")
+  , (1000000000000000,"1000000000000000th")
+  , (10000000000000000,"10000000000000000th")
+  , (100000000000000000,"100000000000000000th")
+  , (1000000000000000000,"1000000000000000000th")
+  , (10000000000000000000,"10000000000000000000th")
+  , (100000000000000000000,"100000000000000000000th")
+  , (1000000000000000000000,"1000000000000000000000th")
+  , (10000000000000000000000,"10000000000000000000000th")
+  , (100000000000000000000000,"100000000000000000000000th")
+  , (1000000000000000000000000,"1000000000000000000000000th")
   ]
diff --git a/test/Text/Numerals/Languages/FrenchSpec.hs b/test/Text/Numerals/Languages/FrenchSpec.hs
--- a/test/Text/Numerals/Languages/FrenchSpec.hs
+++ b/test/Text/Numerals/Languages/FrenchSpec.hs
@@ -9,7 +9,7 @@
 import Text.Numerals.LanguageTest(testLanguage)
 
 spec :: Spec
-spec = testLanguage "French" french cardinals ordinals
+spec = testLanguage "French" french cardinals ordinals shortOrdinals
 
 cardinals :: [(Integer, Text)]
 cardinals = [
@@ -663,4 +663,331 @@
   , (10000000000000000000000, "dix trilliardsième")
   , (100000000000000000000000, "cent trilliardsième")
   , (1000000000000000000000000, "un quadrillionième")
+  ]
+
+shortOrdinals :: [(Integer, Text)]
+shortOrdinals = [
+    (0, "0e")
+  , (1, "1e")
+  , (2, "2e")
+  , (3, "3e")
+  , (4, "4e")
+  , (5, "5e")
+  , (6, "6e")
+  , (7, "7e")
+  , (8, "8e")
+  , (9, "9e")
+  , (10, "10e")
+  , (11, "11e")
+  , (12, "12e")
+  , (13, "13e")
+  , (14, "14e")
+  , (15, "15e")
+  , (16, "16e")
+  , (17, "17e")
+  , (18, "18e")
+  , (19, "19e")
+  , (20, "20e")
+  , (21, "21e")
+  , (22, "22e")
+  , (23, "23e")
+  , (24, "24e")
+  , (25, "25e")
+  , (26, "26e")
+  , (27, "27e")
+  , (28, "28e")
+  , (29, "29e")
+  , (30, "30e")
+  , (31, "31e")
+  , (32, "32e")
+  , (33, "33e")
+  , (34, "34e")
+  , (35, "35e")
+  , (36, "36e")
+  , (37, "37e")
+  , (38, "38e")
+  , (39, "39e")
+  , (40, "40e")
+  , (41, "41e")
+  , (42, "42e")
+  , (43, "43e")
+  , (44, "44e")
+  , (45, "45e")
+  , (46, "46e")
+  , (47, "47e")
+  , (48, "48e")
+  , (49, "49e")
+  , (50, "50e")
+  , (51, "51e")
+  , (52, "52e")
+  , (53, "53e")
+  , (54, "54e")
+  , (55, "55e")
+  , (56, "56e")
+  , (57, "57e")
+  , (58, "58e")
+  , (59, "59e")
+  , (60, "60e")
+  , (61, "61e")
+  , (62, "62e")
+  , (63, "63e")
+  , (64, "64e")
+  , (65, "65e")
+  , (66, "66e")
+  , (67, "67e")
+  , (68, "68e")
+  , (69, "69e")
+  , (70, "70e")
+  , (71, "71e")
+  , (72, "72e")
+  , (73, "73e")
+  , (74, "74e")
+  , (75, "75e")
+  , (76, "76e")
+  , (77, "77e")
+  , (78, "78e")
+  , (79, "79e")
+  , (80, "80e")
+  , (81, "81e")
+  , (82, "82e")
+  , (83, "83e")
+  , (84, "84e")
+  , (85, "85e")
+  , (86, "86e")
+  , (87, "87e")
+  , (88, "88e")
+  , (89, "89e")
+  , (90, "90e")
+  , (91, "91e")
+  , (92, "92e")
+  , (93, "93e")
+  , (94, "94e")
+  , (95, "95e")
+  , (96, "96e")
+  , (97, "97e")
+  , (98, "98e")
+  , (99, "99e")
+  , (100, "100e")
+  , (101, "101e")
+  , (102, "102e")
+  , (103, "103e")
+  , (104, "104e")
+  , (105, "105e")
+  , (106, "106e")
+  , (107, "107e")
+  , (108, "108e")
+  , (109, "109e")
+  , (110, "110e")
+  , (111, "111e")
+  , (112, "112e")
+  , (113, "113e")
+  , (114, "114e")
+  , (115, "115e")
+  , (116, "116e")
+  , (117, "117e")
+  , (118, "118e")
+  , (119, "119e")
+  , (120, "120e")
+  , (121, "121e")
+  , (122, "122e")
+  , (123, "123e")
+  , (124, "124e")
+  , (125, "125e")
+  , (126, "126e")
+  , (127, "127e")
+  , (128, "128e")
+  , (129, "129e")
+  , (130, "130e")
+  , (131, "131e")
+  , (132, "132e")
+  , (133, "133e")
+  , (134, "134e")
+  , (135, "135e")
+  , (136, "136e")
+  , (137, "137e")
+  , (138, "138e")
+  , (139, "139e")
+  , (140, "140e")
+  , (141, "141e")
+  , (142, "142e")
+  , (143, "143e")
+  , (144, "144e")
+  , (145, "145e")
+  , (146, "146e")
+  , (147, "147e")
+  , (148, "148e")
+  , (149, "149e")
+  , (150, "150e")
+  , (151, "151e")
+  , (152, "152e")
+  , (153, "153e")
+  , (154, "154e")
+  , (155, "155e")
+  , (156, "156e")
+  , (157, "157e")
+  , (158, "158e")
+  , (159, "159e")
+  , (160, "160e")
+  , (161, "161e")
+  , (162, "162e")
+  , (163, "163e")
+  , (164, "164e")
+  , (165, "165e")
+  , (166, "166e")
+  , (167, "167e")
+  , (168, "168e")
+  , (169, "169e")
+  , (170, "170e")
+  , (171, "171e")
+  , (172, "172e")
+  , (173, "173e")
+  , (174, "174e")
+  , (175, "175e")
+  , (176, "176e")
+  , (177, "177e")
+  , (178, "178e")
+  , (179, "179e")
+  , (180, "180e")
+  , (181, "181e")
+  , (182, "182e")
+  , (183, "183e")
+  , (184, "184e")
+  , (185, "185e")
+  , (186, "186e")
+  , (187, "187e")
+  , (188, "188e")
+  , (189, "189e")
+  , (190, "190e")
+  , (191, "191e")
+  , (192, "192e")
+  , (193, "193e")
+  , (194, "194e")
+  , (195, "195e")
+  , (196, "196e")
+  , (197, "197e")
+  , (198, "198e")
+  , (199, "199e")
+  , (200, "200e")
+  , (233, "233e")
+  , (377, "377e")
+  , (610, "610e")
+  , (987, "987e")
+  , (1597, "1597e")
+  , (2584, "2584e")
+  , (4181, "4181e")
+  , (6765, "6765e")
+  , (10946, "10946e")
+  , (17711, "17711e")
+  , (28657, "28657e")
+  , (46368, "46368e")
+  , (75025, "75025e")
+  , (121393, "121393e")
+  , (196418, "196418e")
+  , (317811, "317811e")
+  , (514229, "514229e")
+  , (832040, "832040e")
+  , (1346269, "1346269e")
+  , (2178309, "2178309e")
+  , (3524578, "3524578e")
+  , (5702887, "5702887e")
+  , (9227465, "9227465e")
+  , (14930352, "14930352e")
+  , (24157817, "24157817e")
+  , (39088169, "39088169e")
+  , (63245986, "63245986e")
+  , (102334155, "102334155e")
+  , (165580141, "165580141e")
+  , (267914296, "267914296e")
+  , (433494437, "433494437e")
+  , (701408733, "701408733e")
+  , (1134903170, "1134903170e")
+  , (1836311903, "1836311903e")
+  , (2971215073, "2971215073e")
+  , (4807526976, "4807526976e")
+  , (7778742049, "7778742049e")
+  , (12586269025, "12586269025e")
+  , (20365011074, "20365011074e")
+  , (32951280099, "32951280099e")
+  , (53316291173, "53316291173e")
+  , (86267571272, "86267571272e")
+  , (139583862445, "139583862445e")
+  , (225851433717, "225851433717e")
+  , (365435296162, "365435296162e")
+  , (591286729879, "591286729879e")
+  , (956722026041, "956722026041e")
+  , (1548008755920, "1548008755920e")
+  , (2504730781961, "2504730781961e")
+  , (4052739537881, "4052739537881e")
+  , (6557470319842, "6557470319842e")
+  , (10610209857723, "10610209857723e")
+  , (17167680177565, "17167680177565e")
+  , (27777890035288, "27777890035288e")
+  , (44945570212853, "44945570212853e")
+  , (72723460248141, "72723460248141e")
+  , (117669030460994, "117669030460994e")
+  , (190392490709135, "190392490709135e")
+  , (308061521170129, "308061521170129e")
+  , (498454011879264, "498454011879264e")
+  , (806515533049393, "806515533049393e")
+  , (1304969544928657, "1304969544928657e")
+  , (2111485077978050, "2111485077978050e")
+  , (3416454622906707, "3416454622906707e")
+  , (5527939700884757, "5527939700884757e")
+  , (8944394323791464, "8944394323791464e")
+  , (14472334024676221, "14472334024676221e")
+  , (23416728348467685, "23416728348467685e")
+  , (37889062373143906, "37889062373143906e")
+  , (61305790721611591, "61305790721611591e")
+  , (99194853094755497, "99194853094755497e")
+  , (160500643816367088, "160500643816367088e")
+  , (259695496911122585, "259695496911122585e")
+  , (420196140727489673, "420196140727489673e")
+  , (679891637638612258, "679891637638612258e")
+  , (1100087778366101931, "1100087778366101931e")
+  , (1779979416004714189, "1779979416004714189e")
+  , (2880067194370816120, "2880067194370816120e")
+  , (4660046610375530309, "4660046610375530309e")
+  , (7540113804746346429, "7540113804746346429e")
+  , (12200160415121876738, "12200160415121876738e")
+  , (19740274219868223167, "19740274219868223167e")
+  , (31940434634990099905, "31940434634990099905e")
+  , (51680708854858323072, "51680708854858323072e")
+  , (83621143489848422977, "83621143489848422977e")
+  , (135301852344706746049, "135301852344706746049e")
+  , (218922995834555169026, "218922995834555169026e")
+  , (354224848179261915075, "354224848179261915075e")
+  , (573147844013817084101, "573147844013817084101e")
+  , (927372692193078999176, "927372692193078999176e")
+  , (1500520536206896083277, "1500520536206896083277e")
+  , (2427893228399975082453, "2427893228399975082453e")
+  , (3928413764606871165730, "3928413764606871165730e")
+  , (6356306993006846248183, "6356306993006846248183e")
+  , (10284720757613717413913, "10284720757613717413913e")
+  , (16641027750620563662096, "16641027750620563662096e")
+  , (26925748508234281076009, "26925748508234281076009e")
+  , (43566776258854844738105, "43566776258854844738105e")
+  , (70492524767089125814114, "70492524767089125814114e")
+  , (114059301025943970552219, "114059301025943970552219e")
+  , (1000, "1000e")
+  , (10000, "10000e")
+  , (100000, "100000e")
+  , (1000000, "1000000e")
+  , (10000000, "10000000e")
+  , (100000000, "100000000e")
+  , (1000000000, "1000000000e")
+  , (10000000000, "10000000000e")
+  , (100000000000, "100000000000e")
+  , (1000000000000, "1000000000000e")
+  , (10000000000000, "10000000000000e")
+  , (100000000000000, "100000000000000e")
+  , (1000000000000000, "1000000000000000e")
+  , (10000000000000000, "10000000000000000e")
+  , (100000000000000000, "100000000000000000e")
+  , (1000000000000000000, "1000000000000000000e")
+  , (10000000000000000000, "10000000000000000000e")
+  , (100000000000000000000, "100000000000000000000e")
+  , (1000000000000000000000, "1000000000000000000000e")
+  , (10000000000000000000000, "10000000000000000000000e")
+  , (100000000000000000000000, "100000000000000000000000e")
+  , (1000000000000000000000000, "1000000000000000000000000e")
   ]
diff --git a/test/Text/Numerals/Languages/GermanSpec.hs b/test/Text/Numerals/Languages/GermanSpec.hs
--- a/test/Text/Numerals/Languages/GermanSpec.hs
+++ b/test/Text/Numerals/Languages/GermanSpec.hs
@@ -9,7 +9,7 @@
 import Text.Numerals.LanguageTest(testLanguage)
 
 spec :: Spec
-spec = testLanguage "German" german cardinals ordinals
+spec = testLanguage "German" german cardinals ordinals shortOrdinals
 
 cardinals :: [(Integer, Text)]
 cardinals = [
@@ -663,4 +663,331 @@
   , (10000000000000000000000, "zehntrilliardste")
   , (100000000000000000000000, "einhunderttrilliardste")
   , (1000000000000000000000000, "quadrillionste")
+  ]
+
+shortOrdinals :: [(Integer, Text)]
+shortOrdinals = [
+    (0, "0.")
+  , (1, "1.")
+  , (2, "2.")
+  , (3, "3.")
+  , (4, "4.")
+  , (5, "5.")
+  , (6, "6.")
+  , (7, "7.")
+  , (8, "8.")
+  , (9, "9.")
+  , (10, "10.")
+  , (11, "11.")
+  , (12, "12.")
+  , (13, "13.")
+  , (14, "14.")
+  , (15, "15.")
+  , (16, "16.")
+  , (17, "17.")
+  , (18, "18.")
+  , (19, "19.")
+  , (20, "20.")
+  , (21, "21.")
+  , (22, "22.")
+  , (23, "23.")
+  , (24, "24.")
+  , (25, "25.")
+  , (26, "26.")
+  , (27, "27.")
+  , (28, "28.")
+  , (29, "29.")
+  , (30, "30.")
+  , (31, "31.")
+  , (32, "32.")
+  , (33, "33.")
+  , (34, "34.")
+  , (35, "35.")
+  , (36, "36.")
+  , (37, "37.")
+  , (38, "38.")
+  , (39, "39.")
+  , (40, "40.")
+  , (41, "41.")
+  , (42, "42.")
+  , (43, "43.")
+  , (44, "44.")
+  , (45, "45.")
+  , (46, "46.")
+  , (47, "47.")
+  , (48, "48.")
+  , (49, "49.")
+  , (50, "50.")
+  , (51, "51.")
+  , (52, "52.")
+  , (53, "53.")
+  , (54, "54.")
+  , (55, "55.")
+  , (56, "56.")
+  , (57, "57.")
+  , (58, "58.")
+  , (59, "59.")
+  , (60, "60.")
+  , (61, "61.")
+  , (62, "62.")
+  , (63, "63.")
+  , (64, "64.")
+  , (65, "65.")
+  , (66, "66.")
+  , (67, "67.")
+  , (68, "68.")
+  , (69, "69.")
+  , (70, "70.")
+  , (71, "71.")
+  , (72, "72.")
+  , (73, "73.")
+  , (74, "74.")
+  , (75, "75.")
+  , (76, "76.")
+  , (77, "77.")
+  , (78, "78.")
+  , (79, "79.")
+  , (80, "80.")
+  , (81, "81.")
+  , (82, "82.")
+  , (83, "83.")
+  , (84, "84.")
+  , (85, "85.")
+  , (86, "86.")
+  , (87, "87.")
+  , (88, "88.")
+  , (89, "89.")
+  , (90, "90.")
+  , (91, "91.")
+  , (92, "92.")
+  , (93, "93.")
+  , (94, "94.")
+  , (95, "95.")
+  , (96, "96.")
+  , (97, "97.")
+  , (98, "98.")
+  , (99, "99.")
+  , (100, "100.")
+  , (101, "101.")
+  , (102, "102.")
+  , (103, "103.")
+  , (104, "104.")
+  , (105, "105.")
+  , (106, "106.")
+  , (107, "107.")
+  , (108, "108.")
+  , (109, "109.")
+  , (110, "110.")
+  , (111, "111.")
+  , (112, "112.")
+  , (113, "113.")
+  , (114, "114.")
+  , (115, "115.")
+  , (116, "116.")
+  , (117, "117.")
+  , (118, "118.")
+  , (119, "119.")
+  , (120, "120.")
+  , (121, "121.")
+  , (122, "122.")
+  , (123, "123.")
+  , (124, "124.")
+  , (125, "125.")
+  , (126, "126.")
+  , (127, "127.")
+  , (128, "128.")
+  , (129, "129.")
+  , (130, "130.")
+  , (131, "131.")
+  , (132, "132.")
+  , (133, "133.")
+  , (134, "134.")
+  , (135, "135.")
+  , (136, "136.")
+  , (137, "137.")
+  , (138, "138.")
+  , (139, "139.")
+  , (140, "140.")
+  , (141, "141.")
+  , (142, "142.")
+  , (143, "143.")
+  , (144, "144.")
+  , (145, "145.")
+  , (146, "146.")
+  , (147, "147.")
+  , (148, "148.")
+  , (149, "149.")
+  , (150, "150.")
+  , (151, "151.")
+  , (152, "152.")
+  , (153, "153.")
+  , (154, "154.")
+  , (155, "155.")
+  , (156, "156.")
+  , (157, "157.")
+  , (158, "158.")
+  , (159, "159.")
+  , (160, "160.")
+  , (161, "161.")
+  , (162, "162.")
+  , (163, "163.")
+  , (164, "164.")
+  , (165, "165.")
+  , (166, "166.")
+  , (167, "167.")
+  , (168, "168.")
+  , (169, "169.")
+  , (170, "170.")
+  , (171, "171.")
+  , (172, "172.")
+  , (173, "173.")
+  , (174, "174.")
+  , (175, "175.")
+  , (176, "176.")
+  , (177, "177.")
+  , (178, "178.")
+  , (179, "179.")
+  , (180, "180.")
+  , (181, "181.")
+  , (182, "182.")
+  , (183, "183.")
+  , (184, "184.")
+  , (185, "185.")
+  , (186, "186.")
+  , (187, "187.")
+  , (188, "188.")
+  , (189, "189.")
+  , (190, "190.")
+  , (191, "191.")
+  , (192, "192.")
+  , (193, "193.")
+  , (194, "194.")
+  , (195, "195.")
+  , (196, "196.")
+  , (197, "197.")
+  , (198, "198.")
+  , (199, "199.")
+  , (200, "200.")
+  , (233, "233.")
+  , (377, "377.")
+  , (610, "610.")
+  , (987, "987.")
+  , (1597, "1597.")
+  , (2584, "2584.")
+  , (4181, "4181.")
+  , (6765, "6765.")
+  , (10946, "10946.")
+  , (17711, "17711.")
+  , (28657, "28657.")
+  , (46368, "46368.")
+  , (75025, "75025.")
+  , (121393, "121393.")
+  , (196418, "196418.")
+  , (317811, "317811.")
+  , (514229, "514229.")
+  , (832040, "832040.")
+  , (1346269, "1346269.")
+  , (2178309, "2178309.")
+  , (3524578, "3524578.")
+  , (5702887, "5702887.")
+  , (9227465, "9227465.")
+  , (14930352, "14930352.")
+  , (24157817, "24157817.")
+  , (39088169, "39088169.")
+  , (63245986, "63245986.")
+  , (102334155, "102334155.")
+  , (165580141, "165580141.")
+  , (267914296, "267914296.")
+  , (433494437, "433494437.")
+  , (701408733, "701408733.")
+  , (1134903170, "1134903170.")
+  , (1836311903, "1836311903.")
+  , (2971215073, "2971215073.")
+  , (4807526976, "4807526976.")
+  , (7778742049, "7778742049.")
+  , (12586269025, "12586269025.")
+  , (20365011074, "20365011074.")
+  , (32951280099, "32951280099.")
+  , (53316291173, "53316291173.")
+  , (86267571272, "86267571272.")
+  , (139583862445, "139583862445.")
+  , (225851433717, "225851433717.")
+  , (365435296162, "365435296162.")
+  , (591286729879, "591286729879.")
+  , (956722026041, "956722026041.")
+  , (1548008755920, "1548008755920.")
+  , (2504730781961, "2504730781961.")
+  , (4052739537881, "4052739537881.")
+  , (6557470319842, "6557470319842.")
+  , (10610209857723, "10610209857723.")
+  , (17167680177565, "17167680177565.")
+  , (27777890035288, "27777890035288.")
+  , (44945570212853, "44945570212853.")
+  , (72723460248141, "72723460248141.")
+  , (117669030460994, "117669030460994.")
+  , (190392490709135, "190392490709135.")
+  , (308061521170129, "308061521170129.")
+  , (498454011879264, "498454011879264.")
+  , (806515533049393, "806515533049393.")
+  , (1304969544928657, "1304969544928657.")
+  , (2111485077978050, "2111485077978050.")
+  , (3416454622906707, "3416454622906707.")
+  , (5527939700884757, "5527939700884757.")
+  , (8944394323791464, "8944394323791464.")
+  , (14472334024676221, "14472334024676221.")
+  , (23416728348467685, "23416728348467685.")
+  , (37889062373143906, "37889062373143906.")
+  , (61305790721611591, "61305790721611591.")
+  , (99194853094755497, "99194853094755497.")
+  , (160500643816367088, "160500643816367088.")
+  , (259695496911122585, "259695496911122585.")
+  , (420196140727489673, "420196140727489673.")
+  , (679891637638612258, "679891637638612258.")
+  , (1100087778366101931, "1100087778366101931.")
+  , (1779979416004714189, "1779979416004714189.")
+  , (2880067194370816120, "2880067194370816120.")
+  , (4660046610375530309, "4660046610375530309.")
+  , (7540113804746346429, "7540113804746346429.")
+  , (12200160415121876738, "12200160415121876738.")
+  , (19740274219868223167, "19740274219868223167.")
+  , (31940434634990099905, "31940434634990099905.")
+  , (51680708854858323072, "51680708854858323072.")
+  , (83621143489848422977, "83621143489848422977.")
+  , (135301852344706746049, "135301852344706746049.")
+  , (218922995834555169026, "218922995834555169026.")
+  , (354224848179261915075, "354224848179261915075.")
+  , (573147844013817084101, "573147844013817084101.")
+  , (927372692193078999176, "927372692193078999176.")
+  , (1500520536206896083277, "1500520536206896083277.")
+  , (2427893228399975082453, "2427893228399975082453.")
+  , (3928413764606871165730, "3928413764606871165730.")
+  , (6356306993006846248183, "6356306993006846248183.")
+  , (10284720757613717413913, "10284720757613717413913.")
+  , (16641027750620563662096, "16641027750620563662096.")
+  , (26925748508234281076009, "26925748508234281076009.")
+  , (43566776258854844738105, "43566776258854844738105.")
+  , (70492524767089125814114, "70492524767089125814114.")
+  , (114059301025943970552219, "114059301025943970552219.")
+  , (1000, "1000.")
+  , (10000, "10000.")
+  , (100000, "100000.")
+  , (1000000, "1000000.")
+  , (10000000, "10000000.")
+  , (100000000, "100000000.")
+  , (1000000000, "1000000000.")
+  , (10000000000, "10000000000.")
+  , (100000000000, "100000000000.")
+  , (1000000000000, "1000000000000.")
+  , (10000000000000, "10000000000000.")
+  , (100000000000000, "100000000000000.")
+  , (1000000000000000, "1000000000000000.")
+  , (10000000000000000, "10000000000000000.")
+  , (100000000000000000, "100000000000000000.")
+  , (1000000000000000000, "1000000000000000000.")
+  , (10000000000000000000, "10000000000000000000.")
+  , (100000000000000000000, "100000000000000000000.")
+  , (1000000000000000000000, "1000000000000000000000.")
+  , (10000000000000000000000, "10000000000000000000000.")
+  , (100000000000000000000000, "100000000000000000000000.")
+  , (1000000000000000000000000, "1000000000000000000000000.")
   ]
