How to create a language package for Magento 2?

I have created my own Russian language package for Magento 2.
Here is a step-by-step guide to create a language package.

Step 1

Run i18n:collect-phrases to collect all phrases to be translated:

An example:

bin/magento i18n:collect-phrases -o "<path to Magento>/app/i18n/df/ru_ru/dictionary.csv" -m

Step 2

Create a Magento 2 extension for the language package.

Step 2.1

Create a composer.json file.
An example from the core:

My composer.json:

{
	"name": "dfl/ru"
	,"type": "magento2-language"
	,"description": "Russian language"
	,"homepage": "https://mage2.pro"
	,"license": "proprietary"
	,"authors": [{
		"name": "Dmitry Fedyuk",
		"email": "admin@mage2.pro",
		"homepage": "https://mage2.pro/users/dmitry_fedyuk",
		"role": "Developer"
	}]	
	,"extra": {"map": [["*", "df/ru_ru"]]}
}

Step 2.2

Create a language.xml file.
An example from the core:

My language.xml:

<?xml version='1.0'?>
<language xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='urn:magento:framework:App/Language/package.xsd'>
	<code>ru_RU</code>
	<vendor>df</vendor>
	<package>ru_ru</package>
</language>

Step 2.3

Create a registration.php file.
An example from the core:

I use an universal registration.php.

Step 3

Install the extension.

Step 4

Do the actual translation and keep your extension updated.
See other localization topics: https://mage2.pro/tags/localization

See also:

All info how to create this extension would be more appreciated.

Same here (solution without git would be better for some people who don’t use it)

How to install an extension not from a Git repository?

I followed this bin/magento i18n:collect-phrases -o “/app/i18n/df/ru_ru/dictionary.csv” -m with . and exact path of root folder it generates only phrases from lib as it should suppose to generate from all though if i dont use -m it work fine.

Thoughts ?