text:
The Raid on Tatsinskaya was a Soviet armoured raid deep into the German rear conducted by 24th Tank Corps under the command of Major General Vasily Mikhaylovich Badanov in late December 1942. It took place during Operation Little Saturn, on the heels of the successful encirclement of the Wehrmacht's 6th Army in the Battle of Stalingrad. The raid was designed to force the Germans to divert forces attempting to relieve the 6th Army. The Soviet force captured its objective, the Luftwaffe's airlift hub at the Tatsinskaya Airfield. The Soviet forces destroyed over 72 aircraft on the ground, but was left cut off and without supplies. Despite the loss of most of the tank corps during the ensuing breakout, the raid was a great operational victory.

Background
The Red Army had encircled the Wehrmacht's 6th Army in Stalingrad with Operation Uranus, begun on 19 November 1942.  By the middle of December, the German relief effort, Operation Winter Storm, reached within 48 km of the encirclement ring, and the airlift trying to supply the encircled army was in full swing.  In this situation, Stavka (Soviet High Command) decided to launch Operation Little Saturn, to encircle all of German Army Group A, by penetrating to the south and the coast of the Sea of Azov. The danger this operation created to the German strategic position was so serious that the Wehrmacht command had to give up any hope of relieving the 6th Army and instead turned its attention to fighting the advancing Red Army formations, while simultaneously trying to move as many units as possible to the west. As a consequence of the threat, the most potent of the German divisions involved in the relief effort, 6th Panzer Division, was turned west, and ordered to first clear the raiding force from Tatsinskaya, and later to establish a new frontline towards the north of the airfield.  With that decision, any hope of breaking through to 6th Army had vanished.

The battle

Soviet planning
The Soviet 24th Tank Corps (later the 2nd Guards Tank Corps) belonged to the 3rd Guards Army, which was commanded by General Dmitri Lelyushenko, which was a part of the Southwestern Front under the command of Nikolai Vatutin. The corps was designated as the army's exploitation force, in line with the doctrine of Deep Battle.  It was therefore not to be committed during the initial breaching of the tactical defenses of Axis forces in the sector, but would be committed once a breach in these defenses had been opened.

The assault by 3rd Guards Army commenced during the morning of 16 December 1942.  In order to accelerate the breaching of the Axis tactical defense by his rifle formations, Lelyushenko committed the other two tank corps available to him (17th and 25th Tank Corps) during the initial phase of the battle.

The 24th Tank Corps was ordered to commence its operation at 1130 hours on 17 December. At this stage, the 17th and 25th Tank Corps had already reached the operational depth and were in the process of encircling Italian 8th Army and battling the forces of Army Detachment Hollidt. 25th Tank Corps later conducted a deep raid towards Morozovsk to the east of Tatsinskaya.  The purpose of the two deep raids was to cut off the German formations conducting Operation Winter Storm, the relief attempt for the German 6th Army.

The raid

The raid was aimed at the German Luftwaffe's Tatsinskaya Airfield, from which a major part of the Stalingrad relief airlift was conducted. The airfield was located at the town of Tatsinskaya (population 5,000 at the time). On Christmas Eve, 24 December 1942, the Soviets captured the town and the airfield. The airfield may not have received a warning, since flight operations were still going on. An eyewitness account by a Soviet officer describes the scene:

Our tank detachments unexpectedly broke into Tatsinski military airport. First to penetrate enemy's territory was captain Nechaev's battalion. A tough fight between tanks and enemy anti aircraft artillery began. Germans were shooting grenades at the Russian (sic - Soviet) tanks and managed to blow up several of them. However the Soviet tank crews broke the Nazi defense. After they destroyed patrol forces, Russian (sic) soldiers started shooting German pilots that rushed to their planes desperately hoping to save their lives.

The airfield housed 170 operational transport aircraft, plus an unknown number of non-operational aircraft. The German defenses were quickly overrun, while about 100 (according to German estimates) transport planes managed to escape. German estimates were that 72 were destroyed, or almost 10% of the transport capacity of the Luftwaffe. Many of the planes were destroyed by Soviet tanks ramming the tail sections.  A number of planes were destroyed while still on railway cars on which they had arrived.  Shortly after the airfield was seized however, the 24th Tank Corps was cut off by the arriving German reinforcements and found itself without supplies deep inside the German lines.

Zhukov wrote in his memoirs that the Corps "captured a trainload of disassembled aircraft", and "crushed" 200 German transport aircraft "ready to take off."  Then "for five whole days the armoured corps held Tatsinskaya, putting up fierce resistance to encircling enemy reserves."

German reaction
Already while the battle for the airfield and the town were going on, it became clear to Badanov that he had been cut off, when march columns of his 24th Motorized Brigade were followed from the north by German forces. On 26 December, the last elements of the 24th Motorized Brigade managed to break through the encirclement to join the main body of the corps. Field Marshal Erich von Manstein had meanwhile ordered the XLVIII Panzer Corps to move towards the deep penetrations the Red Army had achieved with the 11th Panzer Division and 6th Panzer Division.  From 26 December, the two divisions had cut off completely the connection between the 24th Tank Corps and 1st Guards Army.  Towards the north, a mixed Kampfgruppe blocked the road against other Red Army formations that might come to the assistance of the 24th Tank Corps.  The German command also brought up the 579th Infantry Regiment of the 306th Infantry Division and three armoured trains: PZ 10a, 10b and 28. Together, these forces launched an attack with the aim of destroying the 24th Tank Corps.

Stavka reacted by ordering the Front command to assist Badanov's force.  The available units were 25th Tank Corps, which had been reduced to 25 tanks by heavy combat, and 1st Guards Mechanized Corps, which had incurred losses too.  They were reinforced with infantry, but did not manage to break through to Tatsinskaya.  This led to the need for Badanov and his surviving men to break out to escape destruction, and permission to do so was given on 28 December.  Most of the matériel and many men were lost during the break-out, but the damage to the Germans had been done.  German forces engaged in the relief of Stalingrad had to be withdrawn to deal with the raiders, and many irreplaceable transport planes of the Luftwaffe had been destroyed, with their crews and ground personnel mostly killed. The 24th Tank Corps claimed the destruction of 84 tanks, 106 guns, the killing of 12,000 Axis soldiers and the capture of almost 5,000 more in this operation.

Analysis
Despite the loss of most of the tank corps' heavy equipment, the raid was a decisive operational success. The 24th Tank Corps operated up to 150 miles (240 km) from its supply base, and eventually had to rely on captured supplies to stay operational. The follow-on Soviet infantry were not mobile enough to keep up, allowing the Germans to cut off the connection between the raiding force and its supply base, and ultimately defeat the operational intent of cutting off a large part of the German forces in the region.

Despite this, the raid had pushed a strong formation deep into the rear of mobile German formations, heavily damaged the Luftwaffe, and forced the German command to modify its own operational plans.  Previous Soviet raids had been by much weaker cavalry or airborne forces operating with partisans, and these had not been able to inflict as much damage.

Much was learned by the Soviet command from the raid, and it probably gave further impetus to create the new tank armies as independent formations capable of conducting sustained operations deep in the enemy rear.  The almost complete loss of the equipment and that of many of the personnel of the 24th Tank Corps also brought home the truth that operating so deep behind enemy lines carried exceptional risks.

Recognition
Stavka was quick in recognising the exceptional achievement of the 24th Tank Corps.  Major General Badanov became the first recipient of the newly created Order of Suvorov, 2nd Class, for this operation, and quickly went on to command 4th Tank Army later in the war, which he led in Operation Kutuzov in July 1943. From 1944 onwards, he commanded the Red Army Armoured School, and he rose to the rank of lieutenant-general.

During the raid, the 24th Tank Corps was renamed 2nd Guards Tank Corps and given the honorific title 'Tatsinskaya' in honour of its achievement. It later played a key role in the Battle of Prokhorovka, as well as many other important operations during the remainder of the war. Captain Nechaev, commander of the last tanks of the tank corps was made a posthumous Hero of the Soviet Union for his actions.

Forces

Soviet forces

24th Tank Corps
The strength of the corps was 90% of tanks provided for in the TO&E for a total of 159 tanks, 50% of motor transport, and 70% of personnel.  The Corps was supplied with two units of ammunition, two units of fuel and lubricants, and five days of rations.

 24th Tank Corps (Major General of Tank Troops V.M. Badanov)
Corps Troops
 13th Mining Engineer Company
 158th Mobile Repair Base
 4th Guards Tank Brigade (Colonel G.I. Kolypov)
 54th Tank Brigade (Colonel V.M. Polyakov)
 130th Tank Brigade (Colonel S.K. Nesterov)
 24th Motorized Rifle Brigade (Colonel V.S. Savchenko)

Reinforcements attached to the corps for the raid:
 658th Anti Aircraft Artillery Regiment
 413th Guards Mortar (MLRS) Battalion

Air support was provided by 3rd Composite Air Corps of 17th Air Army, through an aerial liaison officer travelling with the HQ of the 24th Tank Corps.

Other forces
 25th Tank Corps
 1st Guards Mechanized Corps

German forces

XLVIII Panzer Corps
 11th Panzer Division
 6th Panzer Division
 306th Infantry Division

Notes

References

 Erickson, J. 'The Road to Stalingrad'
 Glantz, D. 'From the Don to the Dnepr'
 Porfiryev, 'Raid to Tatsinskaya', VIZH 11/1987
 Scheibert, H. 'Panzer zwischen Don und Donets'
 Voice of Russia Article
 Article (in Portuguese) on Operation Winter Storm
 Through the Furnace of War – article on evolvement of Soviet mechanized formations

Tatsinskaya
Tatsinskaya
1942 in the Soviet Union
Military raids
December 1942 events
Tatsinskaya

redpajama_set_name: RedPajamaWikipedia


From ballet to bellydance, "Move It!" is the seasonal dance revue comprised of dancers from dance companies which teach evening and weekend classes at The Dancehouse.
Whether your interests are that of the vibrancy of belly dancing or the precision of Chinese ballet, "Move It!" is an excellent chance to see an eclectic range of dance as well as an opportunity to find out how you can get involved yourself.
Find out more details about these evening dance classes by clicking here.
Advance tickets are £6. Tickets are available on the door on the night of the event at £10, £7 concessions.


text:
package net.glowstone.entity.passive;

import static net.glowstone.entity.passive.GlowParrot.Shoulder.LEFT;
import static net.glowstone.entity.passive.GlowParrot.Shoulder.RIGHT;

import java.util.Objects;
import java.util.concurrent.ThreadLocalRandom;
import net.glowstone.entity.GlowPlayer;
import net.glowstone.entity.meta.MetadataIndex;
import net.glowstone.net.message.play.player.InteractEntityMessage;
import net.glowstone.util.InventoryUtil;
import net.glowstone.util.SoundUtil;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Particle;
import org.bukkit.Sound;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Parrot;
import org.bukkit.entity.Player;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.inventory.ItemStack;

public class GlowParrot extends GlowTameable implements Parrot {

    public static final Variant[] VARIANTS = Variant.values();
    private int endOfLife = 0;

    /**
     * Creates a parrot of a random variant.
     *
     * @param location the initial location
     */
    public GlowParrot(Location location) {
        super(location, EntityType.PARROT, 6);
        setBoundingBox(0.5, 1.0);
        setSitting(false);
        setVariant(VARIANTS[ThreadLocalRandom.current().nextInt(VARIANTS.length)]);
    }

    @Override
    public void pulse() {
        super.pulse();
        if (endOfLife == ticksLived) {
            remove();
        }
    }

    @Override
    public Variant getVariant() {
        int variantId = metadata.getInt(MetadataIndex.PARROT_VARIANT);
        return VARIANTS[(variantId >= VARIANTS.length || variantId < 0) ? 0 : variantId];
    }

    @Override
    public void setVariant(Variant variant) {
        metadata.set(MetadataIndex.PARROT_VARIANT, variant.ordinal());
    }

    public LivingEntity getImitatedEntity() {
        return null;
    }

    public void setImitatedEntity(LivingEntity livingEntity) {
        throw new UnsupportedOperationException("Not implemented yet.");
    }

    /**
     * Returns the owner, if this parrot is sitting on its owner's shoulder.
     *
     * @return the owner, if this parrot is sitting on its owner's shoulder, or null otherwise
     */
    public Player getSittingOn() {
        Player player = ((Player) getOwner());
        if (Objects.equals(this, player.getShoulderEntityRight()) || Objects
            .equals(this, player.getShoulderEntityLeft())) {
            return player;
        }
        return null;
    }

    /**
     * Sits on the given player's shoulder.
     *
     * @param player the player whose shoulder to sit on
     * @param shoulder which shoulder to sit on
     */
    public void setSittingOn(Player player, Shoulder shoulder) {
        if (shoulder == LEFT) {
            player.setShoulderEntityLeft(this);
        } else {
            player.setShoulderEntityRight(this);
        }
        endOfLife = ticksLived + 1;
    }

    @Override
    public boolean entityInteract(GlowPlayer player, InteractEntityMessage message) {
        if (message.getAction() == InteractEntityMessage.Action.INTERACT.ordinal()) {
            if (endOfLife != 0) {
                return false;
            }
            boolean result = super.entityInteract(player, message);
            if (result) {
                return false;
            }
            ItemStack hand = InventoryUtil
                .itemOrEmpty(player.getInventory().getItem(message.getHandSlot()));
            if (hand.getType() == Material.COOKIE) {
                damage(getHealth(), player, EntityDamageEvent.DamageCause.ENTITY_ATTACK);
                world.spawnParticle(Particle.SPELL, location, 1);
                player.getInventory().consumeItemInHand(message.getHandSlot());
            } else if (!isTamed() && hand.getType() == Material.SEEDS) {
                // One in 3 chances of taming
                if (ThreadLocalRandom.current().nextInt(3) == 0
                        && fireEntityTameEvent(player)) {
                    setTamed(true);
                    setOwner(player);
                    world.spawnParticle(Particle.HEART, location, 1);
                }
                world.playSound(location, Sound.ENTITY_PARROT_EAT, 1.0F,
                    SoundUtil.randomReal(0.2F) + 1F);
                player.getInventory().consumeItemInHand(message.getHandSlot());
                return true;
            }
            // TODO: sitting only happens on crouch
            if (isTamed() && Objects.equals(getOwnerUniqueId(), player.getUniqueId())) {
                if (!player.getLeftShoulderTag().isEmpty() && !player.getRightShoulderTag()
                    .isEmpty()) {
                    return super.entityInteract(player, message);
                }
                if (player.getLeftShoulderTag().isEmpty()) {
                    setSittingOn(player, LEFT);
                } else {
                    setSittingOn(player, RIGHT);
                }
                return true;
            }
        }
        return true;
    }

    @Override
    protected Sound getHurtSound() {
        return Sound.ENTITY_PARROT_HURT;
    }

    @Override
    protected Sound getDeathSound() {
        return Sound.ENTITY_PARROT_DEATH;
    }

    @Override
    protected Sound getAmbientSound() {
        return Sound.ENTITY_PARROT_AMBIENT;
    }

    public enum Shoulder {
        LEFT,
        RIGHT
    }
}

redpajama_set_name: RedPajamaGithub


NASA's Mars Exploration Rover Opportunity used its panoramic camera (Pancam) to capture this view of a portion of Endeavour crater's rim after a drive during the rover's 2,676th Martian day, or sol, of working on Mars (Aug. 4, 2011). The drive covered 396 feet (120.7 meters) and put the rover with about that much distance to go before reaching the chosen arrival site at the rim, called "Spirit Point."
NASA's Mars rover Opportunity is just days away from arriving at the edge of a huge crater after a years-long trek on the Red Planet.
Opportunity has been driving for nearly three years toward the crater Endeavour, an immense scar in the Martian surface about 14 miles (22 kilometers) wide. Now the rover is less than 164 feet (50 meters) from the rim and is due to pull up to it later this week, mission scientists said Monday (Aug. 8).
"I'm totally pumped," the rover's deputy principal investigator, Ray Arvidson, told SPACE.com.
"It really is exploration and discovery in its truest sense," Arvidson said. "We've not been in this kind of terrain ever before."
The rocks at Endeavour crater are the oldest that Opportunity has seen during its seven years on Mars, Arvidson said. Tantalizing hints of clay minerals and other features suggest the region has a different type of ancient history pertaining to water chemistry than other terrain explored by the rover.
"This is a crater that pre-existed any of the sedimentary material that we've seen so far," Arvidson said. Opportunity's visit represents "us trying to get at that early period of time that may have been conducive to life."
Once Opportunity reaches the crater, it could spend years studying the area, if it is up to the task.
Opportunity landed in mid-January 2004, two weeks after its sister robot Spirit. Opportunity has been exploring the vast plains of Mars' Meridiani Planum region, while Spirit set down inside the huge Gusev Crater.
Both rovers lasted for years, but only Opportunity survived the harsh, repeated dust storms, winters and other obstacles on the surface of the Red Planet.
Earlier this year, NASA declared the Spirit rover dead after more than a year of silence from the robot, which became stuck in Martian sand. Mission scientists held a wake for the rover in late July to mark its final passing and honor its accomplishments.
They even named Opportunity's planned arrival point at Endeavour crater after the sister robot. Opportunity is headed to Spirit Point, a vista at the southern point of a ridge called Cape York on the western side of the crater.
"Spirit achieved far more than we ever could have hoped when we designed her," Steve Squyres of Cornell University, the principal investigator for the rovers, said in a statement. "This name will be a reminder that we need to keep pushing as hard as we can to make new discoveries with Opportunity. The exploration of Spirit Point is the next major goal for us to strive for."
The Spirit and Opportunity rovers have made countless discoveries on Mars, including detailed investigations into how flowing water shaped the planet's surface in the ancient past.
Opportunity, meanwhile, keeps on trucking. Last month its odometer passed the 20-mile (32 km) mark on the road to Endeavour.
"They're just really well-made American machines," Arvidson said.
To be sure, Opportunity has dealt with the pains of aging. One of its six wheels doesn't turn as well as it did, one science instrument (a spectrometer called Mini-TES) has shut down, and the rover has been driving with its robotic arm stretched out a bit because of joint issues, Arvidson said.
Even so, the rover continues to plod along and seems ready for the years ahead at Endeavour.
"All in all, I would like to be that healthy after that number of rover years on Mars," Arvidson said.
This story was updated on Aug. 12 to correctly reflect the distance of Opportunity from Endeavour crater at the time.


The impressive Kerinci Seblat Natural Reserve is one of the few places on Sumatra where the Sumatran tiger still lives in the wild.
The impressive Kerinci Seblat Natural Reserve is one of the few places on Sumatra where the Sumatran tiger still lives in the wild. In the Kerinci Reserve are two volcanic mountains, the Gunung Tujuh and the highest mountain in Sumatra, the 3805 meters high Kerinci.
At the bottom of the mountain grow cinnamon trees that give the impression of autumn (Indian summer) because of their red-colored leaves. Both volcanic mountains can be climbed with a guide. The highest crater lake on Sumatra is located on Mount Gunung Tujuh at an altitude of 1905 meters.
Some special activities that you can undertake in Kerinci National Park include climbing the volcano Kerinci, making a jungle trip and visiting tea plantations.
At the foot of the Kerinci volcano are the famous Kayu Aro tea plantations, founded in 1926 by the Handels Vereeniging Amsterdam. The old plantation houses still breathe the atmosphere of the 1920s.
A trip to Kerinci National Park is included in the 24-day Sumatra trip. Ask us about the possibilities and prices so that we can compose and organize your trip together with you.


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace TowersOfHanoi
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            TowerViewModel context = new TowerViewModel();
            DataContext = context;
        }
    }
}


The movie 5th Passenger: trailer, clips, photos, soundtrack, news and much more!
Adrift in space, running out of time, who can you trust?
How did that alien get on board in the first place?
The release date of the movie 5th Passenger is set to July 10, 2018 (in select theaters and on VOD).


text:
Слове́нский язы́к (slovenski jezik, slovenščina) — индоевропейский язык, принадлежащий к западной ветви южнославянских языков. Словенский язык, наряду с лужицкими, является одним из славянских языков, сохранивших двойственное число.

Число говорящих — около 2 млн человек, большинство которых живёт в Словении.

Письменность — на основе латинского алфавита, гаевица.

О названии
Самоназвание словенского языка (как и словацкого) означает «славянский» (ср. со ).

В русском языке словенский до XIX века называли «краинским/крайнским», «виндским», «карниольским», «карнийским», «хорутанским», «хорутанско-словенским/хорутано-словенским», «крайно-словенским». С конца XIX века стало преобладать название «словинский», затем вытесненно современным «словенский».

Лингвогеография

Социолингвистические сведения
Современный словенский язык подразделяется на:

 сборный язык (zborni jezik): литературный язык школы, театра и т. п.;
 общий, или книжно-разговорный язык (splošno ali knjižnopogovorni jezik): разговорно-литературный вариант, используемый главным образом в центральной Словении и вообще в городах;
 региональные разговорные языки, переходящие от него к диалектам.

Диалекты

Словенский язык делится на 48 диалектов, которые объединяются в 7 групп: каринтийскую, приморскую, ровтарскую, гореньскую, доленьскую, штирийскую и паннонскую. Особняком стоят кочевские говоры (смешанная группа в городе Кочевье и окрестностях, которые ранее были заселены немцами).

Словенские литературные микроязыки
 Прекмурско-словенский язык, сегодня почти вытесненный общелитературным языком, но ещё используемый в Венгрии (например, в газете «Porabje»).
 Резьянский язык в Италии (rozajanski/rozojanski jazek/langäč, rozajanskë/rozojanskë rumuninjë' po näs, po našin): из-за лингвистических и нелингвистических факторов общесловенская норма в Резье никогда не использовалась, резьяне писали на своих местных говорах. Резьянский диалект до XVI века был частью корошской группы. Говорят как в Каринтии: žená (вм. žéna), vilažej (вм. pomlad), štredi (вм. štirideset), petardu (вм. petdeset), gorica (вм. dvor), čarnjël (вм. rdeč), но после немецкой и романской (ре)колонизации северо-восточного Фриули сохранились контакты только с самыми северными диалектами приморской группы. Сильное влияние романской лексики и синтаксиса; так, для чисел от 60 до 99 используется счёт двадцатками: štirkrat dwisti nu dëset («четырежды двадцать и десять») вм. devetdeset. См. обстоятельное исследование И. А. Бодуэна де Куртенэ «Резья и резьяне», опубликованное в томе 3 (отдел 1) «Славянского сборника», Пб., 1876, стр. 223—371.

Письменность

За исключением немногих примеров использования глаголицы и кириллицы, по-словенски писали латиницей, недостаток которой состоял в отсутствии знаков для [], [] и [] (то есть для звуков, близких русским «ж», «ш» и «ч», соответственно). В разное время эту проблему решали по-разному.
 Со времён Реформации до 1850-х преимущественно использовалась так называемая «бохоричица» (названная по имени Адама Бохорича, ок. 1520 — 1598) — система с использованием двух форм латинской буквы S в разном звуковом значении и обозначением шипящих буквосочетаниями (s [з], ſ [с], z [ц], sh [ж], ſh [ш], zh [ч]). Недостаток этой системы — неразличение [з]/[с], [ж]/[ш] в начале слова, если оно пишется с заглавной буквы (у строчных литер s/ſ общая заглавная S). Одним из последних бохоричицей писал поэт Франце Прешерн, 1800—1849.

 В первой половине XIX века применялись «дайнчица» (по имени Петра Дайнко, 1787—1873) и «метелчица» (по имени Франца Метелко, 1779—1860), системы с заимствованием знаков для [], [] и [] из кириллицы.
 С середины XIX века и по настоящее время используется модифицированный (сокращенный на две буквы, Ć и Đ) хорватский алфавит Людевита Гая («гаица»). Современный словенский алфавит содержит 25 собственно букв (латинские без Q, W, X, Y, но с добавленными Č, Š, Ž) и три диграфа — DŽ, LJ, NJ — которые по статусу, в отличие от сербохорватского языка, не приравниваются к буквам (например, в кроссвордах).

История
Историю словенского языка можно разделить на пять периодов:

 1. VI—VIII века — предыстория словенского языка, предки словенцев говорили на праславянском диалекте южнославянского типа;
 2. IX—X/XI века — «альпийский славянский», объединявший словенский, кайкавский и частично чакавский диалекты; в это время происходят следующие изменения:
 утрата *y: *byti > *biti «быть»;
 падение редуцированных и прояснение их в сильной позиции;
 сокращение долгого акута: bráta «брата» > bràta;
 передвижки ударения: *dušà > dúša «душа»;
 утрата согласными корреляции по твёрдости—мягкости;
 переход *dj > j: *kradja > *kraja;
 смена флексии родительного падежа мужского рода прилагательных с -go на -ga: dobrogo > dobroga > dobrega;
 утрата конечного -t в третьем лице единственного и множественного числа глаголов: *nesetъ > neset > nese;
 появление романских и германских заимствований в лексике;
 3. XII—XIII века — начало собственно словенской истории; процессы этого периода:
 редукция безударных гласных в предударном слоге;
 передвижка циркумфлекса на последний слог: prôso > prosô;
 передвижка краткого акута на один слог ближе к началу слова: zvezdá > zvézda;
 дифтонгизация ě и ô;
 начало деназализации носовых гласных;
 начало оформления типов склонения существительных на основе категории рода;
 вытеснение субстантивных окончаний адъективными в склонении неопределённых прилагательных;
 распространение флексии -m в 1 лице единственного числа глаголов;
 отпадение -st в 3-ем лице ед. ч. атематических глаголов;
 начало утраты аориста и имперфекта;
 продолжение заимствования романизмов и германизмов;
 4. XIV—XVI века — период диалектизации словенского языка;
 5. XVII—XIX/XX века — формирование современного словенского языка.

Самый ранний известный пример определённо словенского диалекта в письменном виде — так называемые «Брижинские (Фрейзингенские) отрывки» (Brižinski spomeniki); они написаны между 972 и 1093 гг. — вероятно, ближе к концу этого периода — в долине реки Мёлль в Каринтии. Этот вероисповедный текст, древнейший письменный памятник словенского языка, написан латиницей (каролингским минускулом). Он является одной из древнейших сохранившихся славянских рукописей вообще.

Формирование словенского литературного языка в XVI веке связывается с работой реформаторов Приможа Трубара (1508—1586), Адама Бохорича (1520—1598) и Юрия Далматина (1547—1589). Тогда сегодняшняя Словения была частью Священной Римской империи, Австрийской империи и Австро-Венгрии, в которых немецкий язык был языком элиты, а по-словенски говорили только «простые» люди.

В XVIII веке основа литературного языка сместилась с доленьских (нижних, долинных) диалектов на север, к Любляне, которая находится в переходной зоне между доленьскими и гореньскими (верхними, горными) диалектами.

Иллиризм и панславизм принесли слова из сербохорватского, чешского и русского языков.

В 1850-х формирование словенского литературного языка завершилось. Особое влияние на развитие литературного языка оказал своей литературной деятельностью католический епископ Антоний Мартин Сломшек. Можно сказать, что у сегодняшнего словенского языка доленьский консонантизм и гореньский вокализм.

Лингвистическая характеристика

Фонетика и фонология

Гласные

Под ударением в словенском языке различается 13 гласных фонем:

В безударной позиции вступает только 6 гласных: /i/, /ɛ/, /ə/, /a/, /ɔ/, /u/.

Согласные
Согласные звуки словенского языка (в скобках даны аллофоны фонем):

 В разговорном словенском на месте литературных палатальных [ɲ] и [ʎ] (nj и lj на письме) произносятся зубные [n] и [l]
 Не все лингвисты считают [d͡ʒ] самостоятельной фонемой.
 Согласные регрессивно ассимилируются по глухости—звонкости: sladek [ˈslaːdək] «сладкий» — sladka [ˈslaːtka] «сладкая», glas [ˈɡlaːs] «голос» — glasba [ˈɡlaːzba] «музыка». На конце слова звонкие согласные оглушаются. Звук [l] в конце слова и перед согласным переходит в [u̯]: stol [stɔu̯] «стул», molčati [mɔu̯ˈt͡ʃaːti] «молчать». Звук [v] переходит в [u̯] в тех же позициях, а в начале, середине слова и в предлоге v перед согласным — в [u]: nov [nɔu̯], vsak [uˈsaːk] «всякий», predvsem [prɛduˈsɛm] «прежде всего», v redu [u ˈreːdu] «в порядке».
 Согласный [n] ассимилируется по месту образования в [ŋ] перед заднеязычными [k], [g], [x]: angel [ˈaːŋɡɛu̯] «ангел». Предлог k ассимилируется в [x] перед начальным k- и в [ɣ] перед начальным g- следующего слова (на письме в обоих случаях используется буква h).

Просодия

Ранее словенский язык характеризовался музыкальным ударением, по-прежнему сохраняющимся в части диалектов. В этой системе различаются восходящий и нисходящий тоны, обычно стоящие на долгих ударных гласных и [ər]. При транскрипции тонического ударения на долгом гласном и [ər] восходящий тон обозначается акутом (á), нисходящий тон — циркумфлексом (â); на кратком гласном восходящий тон обозначается грависом (à), нисходящий тон — двойным грависом (ȁ). Закрытые гласные записываются при помощи точки под буквой (ẹ и ọ).

Морфология
Й. Топоришич выделяет в словенском языке следующие девять частей речи: имя существительное (samostalnik), имя прилагательное (pridevnik), наречие (prislov), глагол (glagol), предикатив (povedkovnik), предлог (predlog), союз (veznik), частица (členek), междометие (medmet).

Имя существительное

Имя существительное в словенском языке изменяется по числам и падежам, а также характеризуется классифицирующей категорией рода. Чисел три — единственное, двойственное и множественное. Отмечается группа существительных «singularia tantum», имеющих только единственное число, и «pluralia tantum», имеющих только множественное. Падежей шесть — именительный (imenovalnik), родительный (rodilnik), дательный (dajalnik), винительный (tožilnik), местный (mestnik) и творительный (orodnik). Звательная форма утрачена. Родов три — мужской, женский и средний. Существительные мужского рода в единственном числе различаются по одушевлённости/неодушевлённости.

Склонение существительных женского рода на примере слов voda «вода», mati «мать», pesem «песня», stvar «вещь»:

Й. Топоришич выделяет также III склонение женского рода, куда относятся несклоняемые существительные, и IV склонение, по которому изменяются субстантивированные прилагательные.

Склонение существительных среднего рода на примере слов leto «год», srce «сердце», ime «имя», dekle «девушка», drevo «дерево»:

Имя прилагательное
Склонение прилагательных на примере слова nòv «новый»:

Для качественных прилагательных характерны особые склоняемые формы степеней сравнения: прилагательные положительной степени и образуемые от них прилагательные сравнительной и превосходной степеней. Степени сравнения образуются морфологическим (суффиксальным) и аналитическим (описательным) способами:
 при морфологическом способе сравнительная степень (primernik / komparativ) прилагательных образуется при помощи суффиксов -š-, -j- и -ejš- и окончаний, прибавляемых к основе положительной степени:
 mlád «молодой» — mlájši, húd «злой» — hújši, sládek «сладкий» — slájši, krátek «короткий» — krájši, ràd — rájši «лучше, скорее» (используется как предикатив), tánek «тонкий» — tánjši, májhen «маленький» — mánjši, gŕd «некрасивый» — gŕši, tŕd «твёрдый» — trši, širòk «широкий» — širši, ljúb «любимый» — ljúbši, lép «красивый» — lépši, dóber «хороший» — bóljši, dólg «длинный» — dáljši;
 drág «дорогой» — drážji, tíh «тихий» — tíšji, nízek «низкий» — nížji, láhek «лёгкий» — lážji, vêlik «большой» — véčji, visòk «высокий» — víšji, blag — blážji; устаревшие или диалектные формы: kráčji «более короткий», méčji «более мягкий», stárji «старший, более старый», globóčji «более глубокий»;
 bogàt «богатый» — bogatéjši, dêbel «толстый» — debeléjši, strahopéten «трусливый» — strahopétnejši, globòk «глубокий» — globokéjši, srdít «сердитый» — srdítejši, hláden «холодный» — hladnéjši, krêpek «крепкий» — krepkéjši, svêtel «светлый» — svetléjši, tèmen «тёмный» — temnéjši, mêhek «мягкий» — mehkéjši, tôpel «тёплый» — topléjši, gôrek «горячий» — gorkéjši, stàr «старый» — staréjši, nòv «новый» — novéjši и многие другие;
 при аналитическом способе сравнительная степень прилагательных образуется сочетанием положительной степени прилагательного со словом bolj: bolj slovenski «более словенский».

Числительное
Склонение числительных «два», «три», «четыре», «пять»:

Местоимение

Склонение личных местоимений первого и второго лиц (после запятой приведены клитики):

Склонение личных местоимений третьего лица:

Глагол
Времена

Система времён в словенском состоит из настоящего и будущего времён, перфекта и плюсквамперфекта.

Спряжение глаголов в настоящем времени на примере слов delati «делать», govoriti «говорить», imeti «иметь», jesti «есть», biti «быть» и ne biti «не быть»:

Перфект образуется сложным образом: его формы состоят из l-причастия и вспомогательного глагола biti в форме настоящего времени. Спряжение глагола delati «делать» в перфекте:

Формы плюсквамперфекта состоят из l-причастия и вспомогательного глагола biti в форме перфекта:

Будущее от глаголов как совершенного, так и несовершенного вида образуется присоединением к особым формам вспомогательного глагола biti l-причастия основного глагола:

Наклонения

В словенском языке три наклонения: изъявительное, сослагательное и повелительное.

Синтаксис
Порядок слов — свободный, базовым является порядок SVO (subject—verb—object).

Лексика
К наиболее ранним заимствованиям в словенской лексике относятся романизмы, начавшие проникать в словенский язык с момента заселения Словении славянами и продолжившие в Средние века. В первую очередь, это топонимы:  > Koper,  > Soča. Кроме того, это такие слова, как jambor «мачта» <  «дерево», golida «подойник» < вульг.-, hlače «штаны» < средн.-, fant «парень» < .

В словарном составе словенского присутствует большое количество германизмов, которые заимствовались с VIII по XIX века: flinta «ружьё» < , gmajna «община» < ср.-в.-, krompir «картофель» < . Через немецкое посредство проникала также лексика латинского и греческого происхождения: klošter «монастырь», škrinja «сундук», špital «больница».

История изучения

Основная систематическая научно-исследовательская работа по разным проблемам функционирования словенского языка ведется в Институте словенского языка им. Франа Рамовша Словенской академии наук и искусств, созданном в 1945 году с целью сбора языкового материала и подготовки словарей и атласов, написания описательной и исторической грамматики, фонотеки диалектного материала. В Институте к настоящему времени созданы основные словари словенского языка:

 словарь современного литературного словенского языка — Slovar slovenskega knjižnega jezika (в 5 томах, Ljubljana: 1970—1991; электронная версия http://bos.zrc-sazu.si/sskj.html),
 орфографический словарь (более 130 000 слов) (Slovenski pravopis, Ljubljana: ZRC SAZU, 2001. — 1500 стр. электронная версия http://bos.zrc-sazu.si/sp2001.html),
 этимологические словари (F. Bezlaj. Etimološki slovar slovenskega jezika, 1-5, Ljubljana 1976—2007; M. Snoj. Slovenski etimološki slovar. Ljubljana; ZRC SAZU, 1997, 2003, 2009; последнее издание, расширенное и дополненное, содержит этимологии более чем 30.000 словенских слов)
 словенский фразеологический словарь (J. Keber. Slovar slovenskih frazemov. Ljubljana: ZRC SAZU, 2011).
 первый выпуск словенского лингвистического атласа (Slovenski lingvistični atlas 1. Človek — telo, bolezni, družina. Ur.J. Škofic. Ljubljana: ZRC SAZU, 2011).

Созданы два языковых корпуса: Nova beseda http://bos.zrc-sazu.si/nova_beseda.html и Gigafida https://web.archive.org/web/20120712022800/http://demo.gigafida.net/

Наиболее авторитетная описательная грамматика словенского языка написана Йоже Топоришичем (Jože Toporišič. Slovenska slovnica. 4., prenovljena in razširjena izdaja. — Maribor: Obzorja, 2004. — 923 str., ilustr. — ISBN 961-230-171-9).

Примечания

Литература

Ссылки

 Подборка словенских словарей
 Грамматика словенского языка в таблицах
 Англо-словенский словарь онлайн
 Кондрашов Н. А. Словенский язык
 Русско-словенские ложные друзья переводчика

Языки Словении


text:
Q: How to create tables given a Seq[TableQuery] in Typesafe's Slick? I'm running into problems when trying to populate a DB with tables (using Slick 2.0.0):
import scala.slick.driver.JdbcDriver
import scala.slick.lifted.TableQuery

case class DemoInit(slickDriver:JdbcDriver, tables:Seq[TableQuery[_]]) {
  lazy val db = slickDriver.simple.Database.forURL("jdbc_url", "user", "pass", driver = "com.example.Driver")

  import slickDriver.simple.{tableQueryToTableQueryExtensionMethods, ddlToDDLInvoker}

  def init() {
    db withSession { implicit session =>
      tables.map(_.ddl).reduce(_ ++ _).create
    }
  }
}

Attempting to compile the code above leads to the following two errors:
value ddl is not a member of scala.slick.lifted.TableQuery[_$1]

value create is not a member of scala.slick.lifted.TableQuery[_$1]

I'm guessing that the type parameters aren't being inferred correctly. What am I doing wrong?

A: You need to add the right constraint for the table type:
tables: Seq[TableQuery[_ <: Table[_]]]

In such cases where an implicit conversion that you expect is not taken, it helps to add an explicit call to this conversion. This will give you a better error message that explains why the conversion is not applicable.
Then you'll run into the next issue that you're using reduce wrong. You'll want to use something like tables.map(_.ddl).reduce(_ ++ _) instead.
Since Table is path-dependent you cannot use it with your setup that tries to pass everything to a class as parameters. While you are allowed to refer to path-dependent types from a previous argument list in a later argument list of a def, this is not possible in a class. You'll have to structure your code differently to get the path-dependent types right, e.g.:
  import scala.slick.driver.JdbcProfile

  class DemoDAO(val slickDriver: JdbcProfile) {
    import slickDriver.simple._
    lazy val db = slickDriver.simple.Database.forURL("jdbc_url", "user", "pass", driver = "com.example.Driver")

    def init(tables: Seq[TableQuery[_ <: Table[_]]]) {
      db withSession { implicit session =>
        tables.map(_.ddl).reduce(_ ++ _).create
      }
    }
  }
}

A: What I ended up doing was creating a new trait:
import scala.slick.driver.JdbcProfile

trait TablesSupplier {
  def tables(profile:JdbcProfile):Seq[JdbcProfile#SimpleQL#TableQuery[_ <: JdbcProfile#SimpleQL#Table[_]]]
}

I'm using Slick to generate the source code for table objects, so I have a Tables trait, which I use in the implementation of TablesSupplier:
import scala.slick.driver.JdbcProfile

object DemoTablesSupplier extends TablesSupplier {
  def tables(profile:JdbcProfile) = {
    val _profile = profile
    val demoTables = new Tables { val profile = _profile }
    import demoTables._
    Seq(Table1, Table2, Table3)
  }
}

So, my DemoInit now looks like this:
import scala.slick.driver.JdbcDriver

case class DemoInit(slickDriver:JdbcDriver, tables:Seq[TableQuery[_]]) {
  lazy val db = slickDriver.simple.Database.forURL("jdbc_url", "user", "pass", driver = "com.example.Driver")

  import slickDriver.simple.{tableQueryToTableQueryExtensionMethods, ddlToDDLInvoker}

  def init() {
    db withSession { implicit session =>
      val profile = slickDriver.profile
      //import the type of Table and TableQuery that are expected as well as two implicit methods that are necessary in order to use 'ddl' and 'create' methods
      import profile.simple.{Table, TableQuery, tableQueryToTableQueryExtensionMethods, ddlToDDLInvoker}
      //using asInstanceOf is very ugly but I couldn't figure out a better way
      val tables = tablesCreator.tables(profile).asInstanceOf[Seq[TableQuery[_ <: Table[_]]]]
      tables.map(_.ddl).reduce(_ ++ _).create
    }
  }
}

redpajama_set_name: RedPajamaStackExchange