Файл:Imbox deletion.png Внимание! Начат процесс обновления Wiki до версии игры 10.x. Если у Вас есть желание принять участие, то Вы можете найти больше информации в нашем ECO Contribution Wiki Discord.

Модуль:Localization: различия между версиями

Материал из Eco - Русская Wiki
Перейти к:навигация, поиск
[непроверенная версия][досмотренная версия]
(Новая страница: «local p = {} local Utils = require('Module:Utils') function p.t(msg, count) if count == nil then count=1 end l = mw.loadData('Module:Localization/dat...»)
 
Нет описания правки
 
(не показаны 2 промежуточные версии 1 участника)
Строка 26: Строка 26:
end
end


function p.tag(tag)
  l = mw.loadData('Module:Localization/tag_data')
  local translatedTag = l[tag]
  if translatedTag == nil then
    return tag
  end
  return translatedTag
end


function p.translate(frame)
function p.translate(frame)

Текущая версия от 12:37, 8 марта 2021

Для документации этого модуля может быть создана страница Модуль:Localization/doc

local p = {}
local Utils = require('Module:Utils')


function p.t(msg, count)
  if count == nil then
    count=1
  end

  l = mw.loadData('Module:Localization/data')

  local msgs = l.msgs[msg]

  if msgs == nil then
    mw.log('WARNING: Word not translated: ' .. msg)
    return msg
  end
  
  if count==1 or Utils.tableLen(msgs) == 1 then
    return msgs[1]
  else
    -- Pluralise
    local lang = mw.getContentLanguage()
    return lang:plural(count, msgs)
  end
end

function p.tag(tag)
  l = mw.loadData('Module:Localization/tag_data')
  local translatedTag = l[tag]
  if translatedTag == nil then
    return tag
  end
  return translatedTag
end

function p.translate(frame)
  local args = Utils.normaliseArgs(frame)
  local msg = args.msg or args[1]
  local count = tonumber(args.count or args[2])

  return p.t(msg, count)
end


return p