<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ALanguages</id>
	<title>Модуль:Languages - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ALanguages"/>
	<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Languages&amp;action=history"/>
	<updated>2026-04-23T14:22:13Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Languages&amp;diff=17151&amp;oldid=prev</id>
		<title>Admin в 00:53, 14 января 2014</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Languages&amp;diff=17151&amp;oldid=prev"/>
		<updated>2014-01-14T00:53:19Z</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;--[[ Модуль для работы с языками ISO 639&lt;br /&gt;
   Наверное его надо целиком переписать, это только proof of concept&lt;br /&gt;
 ]]&lt;br /&gt;
&lt;br /&gt;
-- загрузка модуля данных с таблицей языков&lt;br /&gt;
local languages = mw.loadData(&amp;quot;Module:languages/data&amp;quot;)&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- вспомогательная функция, удаляет пробелы&lt;br /&gt;
local function trimstr(s)&lt;br /&gt;
  return (s:gsub(&amp;quot;^%s*(.-)%s*$&amp;quot;, &amp;quot;%1&amp;quot;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- получает код языка, возвращает ссылку и нормализованный код языка (или пустые строки)&lt;br /&gt;
local function get_lang_data(code)&lt;br /&gt;
    local l = languages[code];&lt;br /&gt;
    if l ~= nil then&lt;br /&gt;
        return &amp;quot;[[&amp;quot; .. l[2] .. &amp;quot;|&amp;quot; .. l[1] .. &amp;quot;]]&amp;quot;, code&lt;br /&gt;
    elseif code ~= &amp;quot;&amp;quot; then&lt;br /&gt;
        return code, &amp;quot;&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        return &amp;quot;&amp;quot;, &amp;quot;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- принимает zh|我|tt|мин, возвращает список через запятую&lt;br /&gt;
function p.list(frame)&lt;br /&gt;
    local curr_lang = nil&lt;br /&gt;
    local result = nil&lt;br /&gt;
&lt;br /&gt;
    for n, v in frame:argumentPairs() do&lt;br /&gt;
      local trimmed = trimstr(v)&lt;br /&gt;
      if curr_lang == nil then&lt;br /&gt;
          if trimmed ~= &amp;#039;&amp;#039; then&lt;br /&gt;
              -- если язык пропущен, оставим прошлый&lt;br /&gt;
              curr_lang = trimstr(v)&lt;br /&gt;
          end&lt;br /&gt;
      else&lt;br /&gt;
          if trimmed ~= &amp;#039;&amp;#039; then&lt;br /&gt;
              local link, lang_code = get_lang_data(curr_lang)&lt;br /&gt;
              local list_item&lt;br /&gt;
              if lang_code ~= &amp;#039;&amp;#039; then&lt;br /&gt;
                  list_item = link .. &amp;quot; &amp;lt;span lang=&amp;#039;&amp;quot; .. lang_code .. &amp;quot;&amp;#039;&amp;gt;&amp;quot; .. trimmed .. &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
              else&lt;br /&gt;
                  list_item = link .. &amp;quot; &amp;lt;span class=&amp;#039;unknown-foreign-lang&amp;#039;&amp;gt;&amp;quot; .. trimmed .. &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
              end&lt;br /&gt;
          &lt;br /&gt;
              if result == nil then&lt;br /&gt;
                  result = list_item&lt;br /&gt;
              else&lt;br /&gt;
                  result = result .. &amp;quot;, &amp;quot; .. list_item&lt;br /&gt;
              end&lt;br /&gt;
          else&lt;br /&gt;
              -- Пустой текст — значит, текущий язык совпадает с следующим&lt;br /&gt;
              local link, lang_code = get_lang_data(curr_lang)&lt;br /&gt;
              if result == nil then&lt;br /&gt;
                  result = link&lt;br /&gt;
              else&lt;br /&gt;
                  result = result .. &amp;quot;, &amp;quot; .. link&lt;br /&gt;
              end&lt;br /&gt;
          end&lt;br /&gt;
          &lt;br /&gt;
          curr_lang = nil&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- просто #invoke:Languages|list|yue должно возвращать всё же ссылку без текста&lt;br /&gt;
    if curr_lang ~= nil then&lt;br /&gt;
        local link, lang_code = get_lang_data(curr_lang)&lt;br /&gt;
        if result ~= nil then&lt;br /&gt;
            result = result .. &amp;quot;, &amp;quot; .. link&lt;br /&gt;
        else&lt;br /&gt;
            result = link&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return result&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>