Theoretically, they should give out meaningful information in Bulgaria as well. But try to find out what an Y stand for on a local number plate and then think of the TX on another, and you are bound to see that not even number plates in this country are produced the way things are done elsewhere.
Let's start with the regional indicator. In Bulgaria, a number plate does hold information about the place of the vehicle's registration, marked by the first one or two letters on the plate. When you try to decipher them, however, you hit a wall.
Some of the number plates begin with the first letter of the district, although they are pronounced differently in the Cyrillic and the Latin alphabets: C signals Sofia, B is for Varna, X indicates Haskovo and P means Ruse. More bafflement ensues with number plates bearing H for Shumen, A for Burgas, EH for Pleven and so on and so forth.
Until 1992, Bulgarians number plates were easy to read, if one was familiar with the Cyrillic alphabet. Burgas was Б, Pazardzhik was Пз, Sofia District was CфР. The system was abandoned in 1992 for a reason. At least hypothetically, Bulgarian cars could freely travel abroad and foreign administrations should be able to read their number plates without struggling with exotic letters like П, Л or Б. Instead, Bulgaria accepted to use in its number plates only letters shared by the Cyrillic and the Latin alphabets. This left the Traffic Police with the limited choice of А, В, Е, К, М, Н, О, Р, С, Т, У and Х. Ш, Ж and Пз were scrapped.
For the number plates, the following principle was applied: the regional code should include a letter that corresponds with the Bulgarian name of the region, regardless of how the letter sounds in the two alphabets. This is why C is for Sofia (the letter C is an S in Bulgarian), P is for Ruse (the letter P is an R in Bulgarian) and X is for Haskovo (the X being an H in Bulgarian).
The only regional codes where the pronunciations in both alphabets coincide are K (for Kardzhali), M (for Montana) and T (for Targovishte).
Confusing already? It gets even more confusing when you reach the point when two regions share the same first letter, like Sofia, Shumen and Silistra; Burgas and Blagoevgrad; Ruse and Razgrad; Pleven and Plovdiv, and so on and so forth. In such cases, what the Traffic Police decided to do is pick up the first letter in the name of a town that corresponds to a letter in the Latin alphabet, provided of course it is not the first letter in the name of a town that has already been named in that convention. As the B is taken from Varna (see above why), Burgas was left with an A, as in BurgAs. BlagoEvgrad became an E. Don't ask why Blagoevgrad's number plate does not begin with an O instead. Probably to avoid confusion with the number 0.
Sofia number plate, issued between 1999 and 2008, when Bulgaria replaced the national flag with EU's circle of stars
Following this logic, now you can see why Shumen's number plates have an H: both the C, the M and the E were taken by Sofia, Montana and Blagoevgrad respectively. Shumen was happy, though, as in the case where all the single letters are taken, combinations are used. Thus you have EH for PlEveN, OB for LOVech, PB for PloVdiv, PP for RazgRad, KH for KyusteNdil, and so on.
The case with regional codes CA, CB, CC and CO needs additional explanation. The CAs and the CBs were introduced when the cars registered in Sofia outnumbered the numbers (pun intended) beginning with a C. The CC, however, doesn't mark the fourth generation of registration plates in the capital. Instead, it is the regional code of SiliStra. If the number plate is red with white letters, as are all diplomatic cars in Bulgaria, the message is quite different: a white CC on a red background marks the vehicle of a consul.
CO for its part stands for Sofia Oblast, or District. People from Samokov have those.
As in all matters where the Bulgarian Traffic Police are concerned, there are exceptions to the exceptions.
There is the Y, the regional code for Yambol. If you read the name of the city transliterated with Latin letters, you would be fine. But look at its Cyrillic name: Ямбол. No Y's there. If we apply the rule, Yambol's code should be MO. But it isn't. Escaping (probably with screams) from their own logic, the Traffic Police have chosen the first letter of the transliterated name of the city.
The most arcane example is the regional code of Dobrich, Добрич in the Cyrillic. The Traffic Police probably have serious issues with the O being mistaken for naught and vice versa, so they chose TX instead. History holds the answer to the question why: Under Communism, Dobrich was called Tolbuhin, ТолбуХин, named after the Soviet marshal in the Second World War who led the invasion of Bulgaria. Hence the TX in 2016.
It should be added that if you pay, you will be able to get yet more exceptions from the exceptions – or number plate of your choice. For example, you might want to sport a "symmetrical" number plate like TX 4004 TX, or C 666666. The more symmetrical, the more expensive. The guys who shoot themselves over park spaces at Sunny Beach love those.
Sofia number plate, between 1969 and 1986. The white letters on black background showed that the car was privately owned. Such divisions mattered in Communist Bulgaria
Gabrovo number plate, between 1986 and 1992. Today Gabrovo's number plates begin with... EB
Sofia Region number plate, between 1999 and 2008
Pazardzhik number plate, 1969-1986. The letter И indicates that the driver is disabled
Veliko Tarnovo number plate, 1969-1986
Sofia Region number plate, 1969-1986
Sofia number plate, 1969-1986. Black letters on white background was for state cars