Auto generation of localised slug
Yes, it's possible with a plugin.
Make it listen to onBeforeSaveEntry events and look up how often the entry was already saved by counting entry versions using the getVersionsByEntryId method.
If it is the entry's second save (one version exists) overwrite the slug with an empty string (will generate a new slug from the title).

You should add another conditional to only make it generate a new slug for all locales but the one you first saved in (not exactly sure how to get this), but this should get you started:

public function init()
{
    parent::init();

    craft()-&gt;on('entries.onBeforeSaveEntry', function(Event $event)
    {
        $entry = $event-&gt;params['entry'];

        if ($entry-&gt;id)
        {
            $versionsCount = count(craft()-&gt;entryRevisions-&gt;getVersionsByEntryId($entry-&gt;id, $entry-&gt;locale));
        }

        // $localeFirstSave = ??
        // if ($entry-&gt;locale != $localeFirstSave)

        if (isset($versionsCount) &amp;&amp; $versionsCount == 1)
        {
            $entry-&gt;slug = '';
        }
    });
}


another variant you could try is to always load the JS that generates the slug on the fly:

public function init()
{
    if (craft()-&gt;request-&gt;isCpRequest())
    {
        craft()-&gt;templates-&gt;includeJs('window.slugGenerator = new Craft.SlugGenerator("#title", "#slug");');
    }
}