MoveableGates = {};function MoveableGates.prerequisitesPresent(special перевод - MoveableGates = {};function MoveableGates.prerequisitesPresent(special русский как сказать

MoveableGates = {};function Moveabl

MoveableGates = {};

function MoveableGates.prerequisitesPresent(specializations)
return SpecializationUtil.hasSpecialization(AnimatedVehicle, specializations);
end;

function MoveableGates:load(xmlFile)
self.moveGate = SpecializationUtil.callSpecializationsFunction("moveGate");
self.gateControlTriggerCallback = MoveableGates.gateControlTriggerCallback;

self.moveableGates = {}
local num = 0;
while true do
local key = "vehicle.moveableGates.gate("..tostring(num)..")";
if not hasXMLProperty(xmlFile, key) then
break;
end;

local gate = {}
gate.animationName = getXMLString(xmlFile, key.."#animationName");
gate.axisName = getXMLString(xmlFile, key.."#axisName");
gate.helpPanelTextName = getXMLString(xmlFile, key.."#helpPanelTextName");
gate.axisIndex = InputBinding[gate.axisName];
gate.iconFilename = Utils.getFilename(getXMLString(xmlFile, key.."#iconFile"), self.baseDirectory);
g_mouseControlsHelp:addIconFilename(gate.iconFilename);
gate.speedFactor = Utils.getNoNil(getXMLFloat(xmlFile, key.."#speedFactor"), 1);
gate.mouseSpeedFactor = Utils.getNoNil(getXMLFloat(xmlFile, key.."#mouseSpeedFactor"), 1);
if getXMLString(xmlFile, key.."#steeringStickIndex") ~= nil then
gate.steeringStick = Utils.indexToObject(self.components, getXMLString(xmlFile, key.."#steeringStickIndex"));
gate.steeringStickAmplitude = math.rad(Utils.getNoNil(getXMLFloat(xmlFile, key.."#steeringStickAmplitude"), 15));
_, _, gate.steeringStickRotZBackup = getRotation(gate.steeringStick);
end;

local action = InputBinding.actions[gate.axisIndex];
gate.helpText = g_i18n:getText(gate.helpPanelTextName).." "..KeyboardHelper.getKeyNames(action.keys1).." / "..KeyboardHelper.getKeyNames(action.keys2);

table.insert(self.moveableGates, gate);
num = num + 1;
end;
self.gateControlTrigger = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.moveableGates#controlTriggerIndex"));
addTrigger(self.gateControlTrigger, "gateControlTriggerCallback", self);
self.playerIsInGateControlTrigger = true;
end;

function MoveableGates:delete()
removeTrigger(self.gateControlTrigger);
end;

function MoveableGates:loadFromAttributesAndNodes(xmlFile, key, resetVehicles)
local gateTimesStr = getXMLString(xmlFile, key.."#gateTimes");
if gateTimesStr ~= nil then
local gateTimes = Utils.splitString(" ", gateTimesStr);
for a=1, table.getn(self.moveableGates) do
local gate = self.moveableGates[a];
local animTime = tonumber(gateTimes[a]);
self:moveGate(a, animTime);
end;
end;
return BaseMission.VEHICLE_LOAD_OK;
end;

function MoveableGates:getSaveAttributesAndNodes(nodeIdent)
local attributes = 'gateTimes="';
for a=1, table.getn(self.moveableGates) do
local gate = self.moveableGates[a];
local animTime = self:getAnimationTime(gate.animationName);
attributes = attributes..tostring(animTime).." ";
end;
attributes = attributes..'"';
return attributes, "";
end;

function MoveableGates:readStream(streamId, connection)
for a=1, table.getn(self.moveableGates) do
local gate = self.moveableGates[a];
local animTime = streamReadFloat32(streamId);
self:moveGate(a, animTime, true);
end;
end;

function MoveableGates:writeStream(streamId, connection)
for a=1, table.getn(self.moveableGates) do
local gate = self.moveableGates[a];
local animTime = self:getAnimationTime(gate.animationName);
streamWriteFloat32(streamId, animTime);
end;
end;

function MoveableGates:mouseEvent(posX, posY, isDown, isUp, button)
end;

function MoveableGates:keyEvent(unicode, sym, modifier, isDown)
end;

function MoveableGates:update(dt)
local gatesMoved = false;
if g_currentMission.player ~= nil and g_currentMission.player.isEntered then
local px, py, pz = getWorldTranslation(g_currentMission.player.rootNode);
local tx, ty, tz = getWorldTranslation(self.gateControlTrigger);

if self.playerIsInGateControlTrigger and self.attacherVehicle ~= nil and Utils.vector3Length(px-tx, py-ty, pz-tz) < 5 then
for a=1, table.getn(self.moveableGates) do
local gate = self.moveableGates[a];
local move, axisType = InputBinding.getInputAxis(gate.axisIndex);

local steeringStickAmplitude = 0;
if gate.steeringStick == nil then
steeringStickAmplitude = nil;
end;
if move ~= 0 then
gatesMoved = true;

local speed = dt*0.001;
if axisType == InputBinding.INPUTTYPE_MOUSE_AXIS then
speed = speed * move * gate.speedFactor;
else
speed = speed * move * gate.mouseSpeedFactor;
end;

local animTime = self:getAnimationTime(gate.animationName);
self:moveGate(a, animTime + speed);

g_mouseControlsHelp:setIconFilename("", gate.iconFilename);

if steeringStickAmplitude ~= nil then
if move > 0 then
steeringStickAmplitude = gate.steeringStickAmplitude;
else
steeringStickAmplitude = 0-gate.steeringStickAmplitude;
end;
end;
elseif Input.isMouseButtonPressed(Input.MOUSE_BUTTON_LEFT) or Input.isMouseButtonPressed(Input.MOUSE_BUTTON_RIGHT) then
gatesMoved = true;

if steeringStickAmplitude ~= nil then
steeringStickAmplitude = 0;
end;
else
if steeringStickAmplitude ~= nil then
steeringStickAmplitude = 0;
end;
end;

if gate.steeringStick ~= nil then
setRotation(gate.steeringStick, 0, 0, gate.steeringStickRotZBackup + steeringStickAmplitude);
end;

if self.playerIsInGateControlTrigger then
g_currentMission:addExtraPrintText(gate.helpText);
end;
end;
end;
--g_currentMission:setShowHasMouseButtonInput(false);
end;

-- no move of the cam while using mouse / gamepad
if gatesMoved then
g_currentMission.isPlayerFrozen = false;
g_currentMission.controlPlayer = true;
g_currentMission.isPlayerFrozenChangedByMoveableGates = true;
elseif g_currentMission.isPlayerFrozenChangedByMoveableGates then
g_currentMission.isPlayerFrozen = false;
g_currentMission.controlPlayer = true;
g_currentMission.isPlayerFrozenChangedByMoveableGates = false;
end;
end;

function MoveableGates:updateTick(dt)
end;

function MoveableGates:draw()
end;

function MoveableGates:gateControlTriggerCallback(triggerId, otherId, onEnter, onLeave, onStay, otherShapeId)
if g_currentMission.player ~= nil then
if g_currentMission.player.rootNode == otherId and g_currentMission.player.isEntered then
if onEnter then
self.playerIsInGateControlTrigger = true;
elseif onLeave then
self.playerIsInGateControlTrigger = false;
end;
end;
end;
end;

function MoveableGates:moveGate(gateIndex, animTime, noEventSend)
local gate = self.moveableGates[gateIndex];
self:setAnimationTime(gate.animationName, animTime, true);
for a=1, table.getn(self.movingParts) do
Cylindered.updateMovingPart(self, self.movingParts[a], false);
end;

if not noEventSend then
MoveGateEvent.sendEvent(self, gateIndex, animTime, noEventSend);
end;
end;
0/5000
Источник: -
Цель: -
Результаты (русский) 1: [копия]
Скопировано!
MoveableGates = {};Функция MoveableGates.prerequisitesPresent(specializations) возвращение SpecializationUtil.hasSpecialization (AnimatedVehicle, специализаций);конец;Функция MoveableGates:load(xmlFile) self.moveGate = SpecializationUtil.callSpecializationsFunction("moveGate"); self.gateControlTriggerCallback = MoveableGates.gateControlTriggerCallback; self.moveableGates = {} местные num = 0; Хотя истинный ду местные ключ = "vehicle.moveableGates.gate(".. ToString(num)..")"; Если не hasXMLProperty (xmlFile, ключевые) затем перерыв; конец; местные ворота = {} gate.animationName = getXMLString (xmlFile, ключевые..» «««#animationName»); gate.axisName = getXMLString (xmlFile, ключевые..» «««#axisName»); gate.helpPanelTextName = getXMLString (xmlFile, ключевые..» «««#helpPanelTextName»); gate.axisIndex = InputBinding[gate.axisName]; gate.iconFilename = Utils.getFilename (getXMLString (xmlFile, ключевые..» «««#iconFile»), self.baseDirectory); g_mouseControlsHelp:addIconFilename(Gate.iconFilename); gate.speedFactor = Utils.getNoNil (getXMLFloat (xmlFile, ключевые..» «««#speedFactor»), 1); gate.mouseSpeedFactor = Utils.getNoNil (getXMLFloat (xmlFile, ключевые..» «««#mouseSpeedFactor»), 1); Если getXMLString (xmlFile, ключевые..» #steeringStickIndex») ~ = nil тогда gate.steeringStick = Utils.indexToObject(self.components, getXMLString(xmlFile, key.." #steeringStickIndex")); gate.steeringStickAmplitude = math.rad (Utils.getNoNil (getXMLFloat (xmlFile, ключевые..» «««#steeringStickAmplitude»), 15)); _, _, gate.steeringStickRotZBackup = getRotation(gate.steeringStick); конец; местное действие = InputBinding.actions[gate.axisIndex]; gate.helpText = g_i18n:getText(gate.helpPanelTextName).. " ".. KeyboardHelper.getKeyNames(action.keys1).."/"... KeyboardHelper.getKeyNames(action.keys2); Table.Insert (self.moveableGates, ворота); Num = num + 1; конец; self.gateControlTrigger = Utils.indexToObject (, self.components, getXMLString (xmlFile, «vehicle.moveableGates#controlTriggerIndex»)); addTrigger (self.gateControlTrigger, «gateControlTriggerCallback», self); self.playerIsInGateControlTrigger = true;конец;Функция MoveableGates:delete() removeTrigger(self.gateControlTrigger);конец;Функция MoveableGates:loadFromAttributesAndNodes(xmlFile, key, resetVehicles) местные gateTimesStr = getXMLString (xmlFile, ключевые..» «««#gateTimes»); Если gateTimesStr ~ = nil тогда местные gateTimes = Utils.splitString ("«, gateTimesStr); для = 1, table.getn(self.moveableGates) ду местные ворота = self.moveableGates[a]; местные animTime = tonumber(gateTimes[a]); Self: moveGate(a, animTime); конец; конец; Возврат BaseMission.VEHICLE_LOAD_OK;конец;Функция MoveableGates:getSaveAttributesAndNodes(nodeIdent) местные атрибуты = ' gateTimes = "'; для = 1, table.getn(self.moveableGates) ду местные ворота = self.moveableGates[a]; местные animTime = self:getAnimationTime(gate.animationName); атрибуты = атрибуты... ToString(animTime)..» "; конец; атрибуты = атрибуты..'"'; Возвращает атрибуты,»»;конец;Функция MoveableGates:readStream(streamId, connection) для = 1, table.getn(self.moveableGates) ду местные ворота = self.moveableGates[a]; местные animTime = streamReadFloat32(streamId); Self: moveGate(a, animTime, true); конец;конец;Функция MoveableGates:writeStream(streamId, connection) для = 1, table.getn(self.moveableGates) ду местные ворота = self.moveableGates[a]; местные animTime = self:getAnimationTime(gate.animationName); streamWriteFloat32 (streamId, animTime); конец;конец;Функция MoveableGates:mouseEvent(posX, posY, isDown, isUp, button)конец;Функция MoveableGates:keyEvent(unicode, sym, modifier, isDown)конец;Функция MoveableGates:update(dt) местные gatesMoved = false; Если g_currentMission.player ~ = nil и затем g_currentMission.player.isEntered местные px, py, pz = getWorldTranslation(g_currentMission.player.rootNode); местные tx, ty, tz = getWorldTranslation(self.gateControlTrigger); Если self.playerIsInGateControlTrigger и self.attacherVehicle ~ = nil и Utils.vector3Length (px-tx, py ты, pz-tz) < 5 затем для = 1, table.getn(self.moveableGates) ду местные ворота = self.moveableGates[a]; местные двигаться, axisType = InputBinding.getInputAxis(gate.axisIndex); местные steeringStickAmplitude = 0; Если gate.steeringStick == Нил затем steeringStickAmplitude = nil; конец; Если переместить ~ = 0 тогда gatesMoved = true; местные скорость = dt * 0,001; Если axisType затем == InputBinding.INPUTTYPE_MOUSE_AXIS скорость = скорость * перемещения * gate.speedFactor; остальное скорость = скорость * перемещения * gate.mouseSpeedFactor; конец; местные animTime = self:getAnimationTime(gate.animationName); Self: moveGate(a, animTime + speed); g_mouseControlsHelp:setIconFilename("", Gate.iconFilename); Если steeringStickAmplitude ~ = nil тогда Если переместить > 0 тогда steeringStickAmplitude = gate.steeringStickAmplitude; остальное steeringStickAmplitude = 0-gate.steeringStickAmplitude; конец; конец; ElseIf Input.isMouseButtonPressed(Input.MOUSE_BUTTON_LEFT) или Input.isMouseButtonPressed(Input.MOUSE_BUTTON_RIGHT) затем gatesMoved = true; Если steeringStickAmplitude ~ = nil тогда steeringStickAmplitude = 0; конец; остальное Если steeringStickAmplitude ~ = nil тогда steeringStickAmplitude = 0; конец; конец; Если gate.steeringStick ~ = nil тогда setRotation (gate.steeringStick, 0, 0, gate.steeringStickRotZBackup + steeringStickAmplitude); конец; Если self.playerIsInGateControlTrigger тогда g_currentMission:addExtraPrintText(Gate.HelpText); конец; конец; конец; --g_currentMission:setShowHasMouseButtonInput(false); конец; --не Перемещение кулачка при использовании мыши / геймпада Если gatesMoved тогда g_currentMission.isPlayerFrozen = false; g_currentMission.controlPlayer = true; g_currentMission.isPlayerFrozenChangedByMoveableGates = true; ElseIf g_currentMission.isPlayerFrozenChangedByMoveableGates тогда g_currentMission.isPlayerFrozen = false; g_currentMission.controlPlayer = true; g_currentMission.isPlayerFrozenChangedByMoveableGates = false; конец;конец;Функция MoveableGates:updateTick(dt)конец;Функция MoveableGates:draw()конец;Функция MoveableGates:gateControlTriggerCallback(triggerId, otherId, onEnter, onLeave, onStay, otherShapeId) Если g_currentMission.player ~ = nil тогда Если g_currentMission.player.rootNode == otherId и g_currentMission.player.isEntered, затем Если затем onEnter self.playerIsInGateControlTrigger = true; ElseIf onLeave затем self.playerIsInGateControlTrigger = false; конец; конец; конец;конец;Функция MoveableGates:moveGate(gateIndex, animTime, noEventSend) местные ворота = self.moveableGates[gateIndex]; Self: setAnimationTime(gate.animationName, animTime, true); для = 1, table.getn(self.movingParts) ду Cylindered.updateMovingPart (self, self.movingParts[a], накладные); конец; Если не noEventSend то MoveGateEvent.sendEvent (сам, gateIndex, animTime, noEventSend); конец;конец;
переводится, пожалуйста, подождите..
Результаты (русский) 2:[копия]
Скопировано!
MoveableGates = {}; Функция MoveableGates.prerequisitesPresent (специализации) возвращение SpecializationUtil.hasSpecialization (AnimatedVehicle, специализации); конец; функции MoveableGates: нагрузка (XMLFILE) self.moveGate = SpecializationUtil.callSpecializationsFunction ("moveGate"); self.gateControlTriggerCallback = MoveableGates. gateControlTriggerCallback; self.moveableGates = {} местный номер = 0; в то время как верно сделать локальный ключ = "vehicle.moveableGates.gate (" .. ToString (Num) .. ")"; если не hasXMLProperty (XMLFILE, ключ), то сломать; конец; местные ворота = {} gate.animationName = getXMLString (XMLFILE, ключ "# animationName" ..); gate.axisName = getXMLString (XMLFILE, ключ .. "# AxisName"); gate.helpPanelTextName = getXMLString (XMLFILE, ключ .. "# helpPanelTextName"); gate.axisIndex = InputBinding [gate.axisName]; gate.iconFilename = Utils.getFilename (getXMLString (XMLFILE, ключ .. "# IconFile"), self.baseDirectory); g_mouseControlsHelp: addIconFilename (ворота .iconFilename); gate.speedFactor = Utils.getNoNil (getXMLFloat (XMLFILE, ключ .. "# speedFactor"), 1); gate.mouseSpeedFactor = Utils.getNoNil (getXMLFloat (XMLFILE, ключ .. "# mouseSpeedFactor"), 1 ); если getXMLString (XMLFILE, ключ .. "#") steeringStickIndex ~ = ноль, то gate.steeringStick = Utils.indexToObject (self.components, getXMLString (XMLFILE, ключ .. "# steeringStickIndex")); gate.steeringStickAmplitude = математике .rad (Utils.getNoNil (getXMLFloat (XMLFILE, ключ .. "# steeringStickAmplitude"), 15)); _, _, gate.steeringStickRotZBackup = getRotation (gate.steeringStick); конец; местное действие = InputBinding.actions [ворота. axisIndex]; gate.helpText = g_i18n: GetText (gate.helpPanelTextName) .. "" ..KeyboardHelper.getKeyNames (action.keys1) .. "/" ..KeyboardHelper.getKeyNames (action.keys2); table.insert (само .moveableGates, ворота); Num = NUM + 1; END; self.gateControlTrigger = Utils.indexToObject (self.components, getXMLString (XMLFILE, "vehicle.moveableGates # controlTriggerIndex")); addTrigger (self.gateControlTrigger, "gateControlTriggerCallback", самостоятельно); self.playerIsInGateControlTrigger = True; END; функция MoveableGates: удаление () removeTrigger (self.gateControlTrigger); конец; функции MoveableGates: loadFromAttributesAndNodes (XMLFILE, ключевые, resetVehicles) местные gateTimesStr = getXMLString (XMLFILE, ключевые .. "# gateTimes "); если gateTimesStr ~ = ноль, то местные gateTimes = Utils.splitString (" ", gateTimesStr); для а = 1, table.getn (self.moveableGates) сделать местную ворота = self.moveableGates [а]; локальная animTime = ToNumber (gateTimes [а]); само: moveGate (а, animTime); конец; конец; вернуться BaseMission.VEHICLE_LOAD_OK; конец; функции MoveableGates: getSaveAttributesAndNodes (nodeIdent) локальные атрибуты = 'gateTimes = ""; при а = 1, таблицы. ГЕТН (self.moveableGates) сделать местный ворота = self.moveableGates [а]; локальная animTime = сам: getAnimationTime (gate.animationName); атрибуты = attributes..tostring (animTime) .. ""; конец; атрибуты = атрибуты .. '"'; вернуть атрибуты", "; конец; функции MoveableGates: ReadStream (StreamID, соединение) при а = 1, table.getn (self.moveableGates) сделать местные ворота = self.moveableGates [A]; локальная animTime = streamReadFloat32 ( StreamID); само: moveGate (а, animTime, правда); конец; конец; функции MoveableGates: WriteStream (StreamID, соединение) при а = 1, table.getn (self.moveableGates) сделать местный ворота = self.moveableGates [а] ; местные animTime = сам: getAnimationTime (gate.animationName); streamWriteFloat32 (StreamID, animTime); конец; конец; функции MoveableGates: MouseEvent (PosX, букет, isDown, ISUP, кнопка) конец; функции MoveableGates: KeyEvent (Unicode, сим, Модификатор, isDown) конец; функции MoveableGates: обновление (DT) местная gatesMoved = ложь; если g_currentMission.player ~ = ноль и g_currentMission.player.isEntered то местный рх, ру, рг = getWorldTranslation (g_currentMission.player.rootNode); местные TX , ты, TZ = getWorldTranslation (self.gateControlTrigger); если self.playerIsInGateControlTrigger и self.attacherVehicle ~ = ноль и Utils.vector3Length (ПВ-TX, ру-во, пз-TZ) <5, то при а = 1, таблицы. ГЕТН (self.moveableGates) сделать местный ворота = self.moveableGates [а]; локальная шаг, axisType = InputBinding.getInputAxis (gate.axisIndex); местные steeringStickAmplitude = 0; если gate.steeringStick == ноль, то steeringStickAmplitude = ноль; конец; если шаг ~ = 0, то gatesMoved = TRUE; местная скорость = DT * 0,001; если axisType == InputBinding.INPUTTYPE_MOUSE_AXIS то скорость = скорость * * шаг gate.speedFactor; еще скорость = скорость * * шаг gate.mouseSpeedFactor; конец; местные animTime = сам: getAnimationTime (gate.animationName); само: moveGate (а, animTime + скорость); g_mouseControlsHelp: setIconFilename ("", gate.iconFilename); если steeringStickAmplitude ~ = ноль, то если шаг> 0, то steeringStickAmplitude = gate.steeringStickAmplitude; еще steeringStickAmplitude = 0-gate.steeringStickAmplitude; конец; конец; ElseIf Input.isMouseButtonPressed (Input.MOUSE_BUTTON_LEFT) или Input.isMouseButtonPressed (Input.MOUSE_BUTTON_RIGHT), то gatesMoved = TRUE; если steeringStickAmplitude ~ = ноль затем steeringStickAmplitude = 0; конец; еще, если steeringStickAmplitude ~ = ноль, то steeringStickAmplitude = 0; конец; конец; если gate.steeringStick ~ = ноль затем setRotation (gate.steeringStick, 0, 0, + gate.steeringStickRotZBackup steeringStickAmplitude); конец; если self.playerIsInGateControlTrigger нет ход кулачка при использовании мыши не / геймпад, если gatesMoved то g_currentMission.isPlayerFrozen = ложь; g_currentMission.controlPlayer = TRUE; g_currentMission.isPlayerFrozenChangedByMoveableGates = TRUE; ElseIf g_currentMission.isPlayerFrozenChangedByMoveableGates то g_currentMission.isPlayerFrozen = ложь; g_currentMission.controlPlayer = TRUE; g_currentMission. isPlayerFrozenChangedByMoveableGates = False; конец; конец; функции MoveableGates: updateTick (DT) конец; функции MoveableGates: ничья () конец; функции MoveableGates: gateControlTriggerCallback (triggerId, otherId, OnEnter, OnLeave, onStay, otherShapeId), если g_currentMission.player ~ = ноль, то если g_currentMission.player.rootNode == otherId и g_currentMission.player.isEntered то, если OnEnter то self.playerIsInGateControlTrigger = TRUE; ElseIf OnLeave то self.playerIsInGateControlTrigger = ложь; конец; конец; конец; конец; функции MoveableGates: moveGate (gateIndex, animTime , noEventSend) местная ворота = self.moveableGates [gateIndex]; самостоятельно: setAnimationTime (gate.animationName, animTime, правда); для а = 1, table.getn (self.movingParts) сделать Cylindered.updateMovingPart (самостоятельно, self.movingParts [ а], ложь); конец; если не noEventSend то MoveGateEvent.sendEvent (я, gateIndex, animTime, noEventSend); конец; конец;


































































































































































































переводится, пожалуйста, подождите..
Результаты (русский) 3:[копия]
Скопировано!
moveablegates = {};

функцию moveablegates. prerequisitespresent (специальностям)
возвращение specializationutil. hasspecialization (animatedvehicle, специальностей);


функции; moveablegates: нагрузки (xmlfile)
self.movegate = specializationutil. callspecializationsfunction ("movegate");
self.gatecontroltriggercallback = moveablegates. gatecontroltriggercallback; self.moveablegates = {}


местные num = 0;
и правда не
основные местные = "транспортного средства. moveablegates. ворота (". tostring (ням). ")"; ", если не hasxmlproperty (xmlfile, ключ), потом
перерыв;


; местных ворота = {}
gate.animationname = getxmlstring (xmlfile, ключ..." # animationname ");
gate.axisname = getxmlstring (xmlfile, ключ..." # axisname ");
gate.helppaneltextname = getxmlstring (xmlfile, ключ..." # helppaneltextname ");
ворота.
переводится, пожалуйста, подождите..
 
Другие языки
Поддержка инструмент перевода: Клингонский (pIqaD), Определить язык, азербайджанский, албанский, амхарский, английский, арабский, армянский, африкаанс, баскский, белорусский, бенгальский, бирманский, болгарский, боснийский, валлийский, венгерский, вьетнамский, гавайский, галисийский, греческий, грузинский, гуджарати, датский, зулу, иврит, игбо, идиш, индонезийский, ирландский, исландский, испанский, итальянский, йоруба, казахский, каннада, каталанский, киргизский, китайский, китайский традиционный, корейский, корсиканский, креольский (Гаити), курманджи, кхмерский, кхоса, лаосский, латинский, латышский, литовский, люксембургский, македонский, малагасийский, малайский, малаялам, мальтийский, маори, маратхи, монгольский, немецкий, непальский, нидерландский, норвежский, ория, панджаби, персидский, польский, португальский, пушту, руанда, румынский, русский, самоанский, себуанский, сербский, сесото, сингальский, синдхи, словацкий, словенский, сомалийский, суахили, суданский, таджикский, тайский, тамильский, татарский, телугу, турецкий, туркменский, узбекский, уйгурский, украинский, урду, филиппинский, финский, французский, фризский, хауса, хинди, хмонг, хорватский, чева, чешский, шведский, шона, шотландский (гэльский), эсперанто, эстонский, яванский, японский, Язык перевода.

Copyright ©2024 I Love Translation. All reserved.

E-mail: