From eleven to nineteen
We can classify languages according to the way numbers from 10 to 19 are composed. Often languages compose numbers higher than 10 just adding “ten” to simple numbers from one to nine. But not all languages do this.
In English, teen is added at the end to the numbers to form the first tens (Notice that 13 is thirteen and not threeteen). Except eleven, which comes from Proto-Germanic *aina+lif “one+left”. The same happens with twelve, that from Proto-Germanic *twa+lif “two+left”. It occurs also in other Germanic languages.
On the other hand, most Romance languages came from the Vulgar Latin system. Classical Latin had a simple system: Like in English, –decim is added at the end. However Octodecim and novendecim were rare, it was more common to count down from 20: 18 was duodēvīgintī “two from twenty” and 19 ūndēvīgintī “one from twenty”. Later, Classical evolved into Vulgar and the main change was that higher numbers were formed with dece (et) “ten (and)”. However the limit between the numbers formed with –decim and the dece et was not clear. 16 was sedecim or dece (et) ses. Thus Romance languages inherited this ambiguity: usually from 17 and in the Ibero-romance from 16.
The most common system to make numbers, green on the map, is to start with the tens and after the units, like in English ninety-nine. German and Arabic, in red, are well-known because they place the units before the tens: neunundneunzig literally “nine and ninety”.
Other languages do not have a particular order, but a different way to compose numbers. In English adding -ty to the number nine forms the ten. It is not the case in French, which is based on a vigesimal system: 80 is quatre-vingt (literally four-twenty), thus 90 is quatre-vingt-dix (four-twenty-ten), and 99 quatre-vingt-dix-neuf (four-twenty-ten-nine). Also use a vigesimal system Basque, Georgian, Abchaz, Avar and Lezgian.
Breton and Cornish, like in French, use the vigesimal system but units go before, like in German: naontek ha pevar-ugent (literally nineteen and four-twenty). Similar to Breton, Danish and also Faroese languages follow the German model of units before the tens, which uses the vigesimal system. However, the etymological origin of the names is very very special. You can find more information here.
Some unique cases
Welsh maintains two ways of counting: the modern one is the same as English: nawdeg naw (9-10-9). The traditional one is vigesimal system but the order is reversed in a different way: 90 is deg a phedwar ugain (ten on four twenties).
One language does not call 19 nine+ten, but one-to-twenty. It is Chechen and uses a vigesimal system: дезткъе ткъайоьсна (deztq̇e tq̇ajösna) two words which can be translated as “four-twenty” and “before twenty”. Also in the Caucasus, we can find another unusual way to count. In Adyghe instead of “four twenty” they say “twenty four”. 80 is токIиплI (tokIiplI).
Almost forgotten is the number 99 in the dead language Latin: undecentum (literally one-to-hundred). Typical Roman ingenuity.
The origin of the number zero travelled from Arabic صفر (ṣifr) to Latin zephirum, Italian zefiro and French zéro thanks to the work of Italian mathematician Fibonacci. This arabic word was a translation from Sanskrit शून्य (śūnya).
Another etymological root comes from Latin nullus (meaning ne+ullus “not any”).
One or a?
Despite the differences between two, dva and swei, they come from the same Proto-Indo-European root: dwóh₁. They reddish-colored languages are a big group in Europe. While the greenish and blue languages have their own separate roots. Some as mysterious as Ossetian дыууӕ might be of Indo-European, but we could not find a confirmed source for that.