<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE_%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4_JS_%D0%B2_Drupal</id>
	<title>Как правильно делать перевод JS в Drupal - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE_%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4_JS_%D0%B2_Drupal"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE_%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4_JS_%D0%B2_Drupal&amp;action=history"/>
	<updated>2026-10-12T11:56:10Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://mediawiki.zina.run/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE_%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4_JS_%D0%B2_Drupal&amp;diff=596&amp;oldid=prev</id>
		<title>&gt;Zina в 16:26, 6 жовтня 2016</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE_%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4_JS_%D0%B2_Drupal&amp;diff=596&amp;oldid=prev"/>
		<updated>2016-10-06T16:26:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Переводы могут добавлятся только в js файлы подключенные через вызов &amp;lt;code&amp;gt;drupal_add_js&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Перевод добавляется только прямым вызовом &amp;lt;code&amp;gt;Drupal.t&amp;lt;/code&amp;gt; в произвольном месте кода&lt;br /&gt;
&lt;br /&gt;
правильно так&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Drupal.t(&amp;#039;title&amp;#039;);&lt;br /&gt;
Drupal.t(&amp;#039;texture&amp;#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
неправильно&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
var t = Drupal.t;&lt;br /&gt;
t(&amp;#039;title&amp;#039;);&lt;br /&gt;
t(&amp;#039;texture&amp;#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сбрость кеш если стоит модуль &amp;lt;code&amp;gt;admin_menu Flush-all-caches -&amp;gt; Css and javascript&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
или &amp;lt;code&amp;gt;drush cc css-js&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
на крайний через &amp;lt;code&amp;gt;Configuration -&amp;gt; perfomance -&amp;gt; clear all caches&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;/admin/config/development/performance&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
при очистке кеша удалится переменная &amp;lt;code&amp;gt;javascript_parsed&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;variable_del(&amp;#039;javascript_parsed&amp;#039;)&amp;lt;/code&amp;gt;  что приведет к парсингу js файлов&lt;br /&gt;
&lt;br /&gt;
Зайти на страницу где подключается js с переводами&lt;br /&gt;
&lt;br /&gt;
== Как работает внутри ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;drupal_add_js&amp;lt;/code&amp;gt; добавляет файлы в массив &amp;lt;code&amp;gt;$javascript = &amp;amp;drupal_static(&amp;#039;drupal_add_js&amp;#039;, array());&amp;lt;/code&amp;gt;&lt;br /&gt;
* при рендеринге страницы вызывается &amp;lt;code&amp;gt;drupal_get_js&amp;lt;/code&amp;gt; в котором вызывается &amp;lt;code&amp;gt;hook_js_alter&amp;lt;/code&amp;gt;&lt;br /&gt;
* в &amp;lt;code&amp;gt;locale_js_alter&amp;lt;/code&amp;gt; проверяется есть ли файл в &amp;lt;code&amp;gt;variable_get(&amp;#039;javascript_parsed&amp;#039;, array())&amp;lt;/code&amp;gt;&lt;br /&gt;
* если нет то файл отдается на парсинг &amp;lt;code&amp;gt;_locale_parse_js_file&amp;lt;/code&amp;gt; функция  регулярками формирует строки для перевода и добавляет их в БД (таблица &amp;lt;code&amp;gt;locale_source&amp;lt;/code&amp;gt;)&lt;br /&gt;
* если  появилось что то новое пересобирается файл с переводами &amp;lt;code&amp;gt;sites/add/languages/ru{hash}&amp;lt;/code&amp;gt; в &amp;lt;code&amp;gt;_locale_rebuild_js;&amp;lt;/code&amp;gt;&lt;br /&gt;
* при вызове Drupal.t строка берется из файла с переводами и подставляются аргументы.&lt;/div&gt;</summary>
		<author><name>&gt;Zina</name></author>
	</entry>
</feed>