Compare commits

...

22 Commits

Author SHA1 Message Date
Vitaliy Olkhin
da588b4528 Merge branch 'fix_power' into translation_rework
Some checks failed
Check & Release / lint (push) Has been cancelled
2025-01-09 20:18:53 +05:00
Vitaliy Olkhin
a342cce1a1 update translate
Some checks are pending
Check & Release / lint (push) Waiting to run
2025-01-09 19:01:06 +05:00
Vitaliy Olkhin
90d4296601 update translate 2025-01-09 12:49:54 +05:00
Vitaliy Olkhin
529a0b4f29 code analiz 2025-01-09 12:33:38 +05:00
Vitaliy Olkhin
414e036c05 fix translate
Some checks failed
Check & Release / lint (push) Has been cancelled
2025-01-07 15:43:43 +05:00
Vitaliy Olkhin
6dbbf05261 Update for translation function
Some checks are pending
Check & Release / lint (push) Waiting to run
2025-01-07 14:04:26 +05:00
Vitaliy Olkhin
0fd8fe2e10 fix
Some checks are pending
Check & Release / lint (push) Waiting to run
2025-01-06 23:42:17 +05:00
Vitaliy Olkhin
25431781f8 deleted old code 2025-01-06 21:12:53 +05:00
Vitaliy Olkhin
fde833200a adjusted the size of the chest shape
Some checks failed
Check & Release / lint (push) Has been cancelled
2025-01-01 16:32:34 +05:00
Vitaliy Olkhin
c344d873e8 added Russian translations 2025-01-01 16:32:34 +05:00
Vitaliy Olkhin
1421b7cce0 engine level translation 2025-01-01 16:32:34 +05:00
Vitaliy Olkhin
de495e315b update translate tool_workshop 2025-01-01 16:32:34 +05:00
SmallJoker
5b7ff2bb72 Fix incorrect recipe registration for craftguide and i3 2025-01-01 16:32:34 +05:00
SmallJoker
0df9f15b34 Chainsaw: Chat message for 'aborted by safe cut'
This provides a feedback to the player.
2025-01-01 16:32:34 +05:00
Tóth Kornél
cf30e3c4fa Fix machines connected to multiple networks (#655)
Machines sometimes were be a part of multiple networks and generated power for each. This is fixed by checking if the machine is already part of an other network before assigning it to the current network.
2025-01-01 16:32:34 +05:00
Vitaliy Olkhin
3c1d0ef40a translation correction
Some checks failed
Check & Release / lint (push) Has been cancelled
2024-12-03 00:18:00 +05:00
Vitaliy Olkhin
50034e37af Обновление переводов
Some checks failed
Check & Release / lint (push) Has been cancelled
2024-12-01 17:20:13 +05:00
Vitaliy Olkhin
c8a96b5850 изменены переводы, добавлен русский язык 2024-11-30 17:41:25 +05:00
Vitaliy Olkhin
8b908e7afc изменены переводы, добавлен русский язык 2024-11-30 17:23:49 +05:00
Vitaliy Olkhin
ebd3690949 Merge branch 'master' into translation_rework 2024-11-23 13:32:36 +05:00
Vitaliy Olkhin
8a034cedcf update
Some checks failed
Check & Release / lint (push) Has been cancelled
2024-11-08 14:13:35 +05:00
Vitaliy Olkhin
aab2ce7940 Changed the old method of transfers to a new one
Some checks failed
Check & Release / lint (push) Has been cancelled
2024-11-04 13:01:31 +05:00
79 changed files with 2546 additions and 533 deletions

1
.gitignore vendored
View File

@ -164,3 +164,4 @@ pip-log.txt
#gedit backup files
*~
.idea/

View File

@ -4,8 +4,7 @@
local technic = rawget(_G, "technic") or {}
technic.concrete_posts = {}
-- Boilerplate to support localized strings if intllib mod is installed.
local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end
local S = minetest.get_translator("concrete")
for i = 0, 31 do
minetest.register_alias("technic:concrete_post"..i,
@ -56,7 +55,7 @@ minetest.register_node(":technic:blast_resistant_concrete", {
if minetest.get_modpath("moreblocks") then
stairsplus:register_all("technic","blast_resistant_concrete","technic:blast_resistant_concrete",{
description = "Blast-resistant Concrete",
description = S("Blast-resistant Concrete"),
tiles = {"technic_blast_resistant_concrete_block.png",},
groups = {cracky=1, level=3, concrete=1},
sounds = default.node_sound_stone_defaults(),

View File

@ -0,0 +1,5 @@
# textdomain: concrete
Blast-resistant Concrete Block=Взрывостойкий бетонный блок
Blast-resistant Concrete=Взрывостойкий бетон
Concrete Post Platform=Бетонная платформа для столбов
Concrete Post=Бетонный столб

View File

@ -1,8 +1,11 @@
# textdomain: concrete
Blast-resistant Concrete Block=
Blast-resistant Concrete=
Concrete Post Platform=
Concrete Post=
##### not used anymore #####
# technic_concrete translation template
Rebar =
Concrete Block =
Blast-resistant Concrete Block =
Concrete Post Platform =
Concrete Post =

View File

@ -1,7 +1,6 @@
-- Minetest 0.4.6 mod: extranodes
-- namespace: technic
-- Boilerplate to support localized strings if intllib mod is installed.
local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end
local S = minetest.get_translator("extranodes")
if minetest.get_modpath("moreblocks") then

View File

@ -0,0 +1,13 @@
# textdomain: extranodes
Marble=Мрамор
Marble Bricks=Мраморные кирпичи
Granite=Гранит
Granite Bricks=Гранитные кирпичи
Concrete=Конкретный
Zinc Block=Цинковый блок
Cast Iron Block=Чугунный блок
Carbon Steel Block=Блок из углеродистой стали
Stainless Steel Block=Блок из нержавеющей стали
Insulator/cable clip=Изолятор/зажим для кабеля
Steel strut with insulator/cable clip=Стальная стойка с изолятором/кабельным зажимом

View File

@ -1,7 +1,18 @@
# textdomain: extranodes
Marble=
Marble Bricks=
Granite=
Granite Bricks=
Concrete=
Zinc Block=
Cast Iron Block=
Carbon Steel Block=
Stainless Steel Block=
Insulator/cable clip=
Steel strut with insulator/cable clip=
##### not used anymore #####
# technic_extranodes translation template
Marble =
Marble Bricks =
Granite =
Concrete =

View File

@ -1,39 +1,12 @@
-- namespace: technic
-- (c) 2012-2013 by RealBadAngel <mk@realbadangel.pl>
if not minetest.get_translator then
error("[technic] Your Minetest version is no longer supported."
.. " (version < 5.0.0)")
end
local load_start = os.clock()
technic = rawget(_G, "technic") or {}
technic.creative_mode = minetest.settings:get_bool("creative_mode")
local modpath = minetest.get_modpath("technic")
technic.modpath = modpath
-- Boilerplate to support intllib
if rawget(_G, "intllib") then
technic.getter = intllib.Getter()
else
-- Intllib copypasta: TODO replace with the client-side translation API
technic.getter = function(s,a,...)
if a==nil then return s end
a={a,...}
return s:gsub("(@?)@(%(?)(%d+)(%)?)", function(e,o,n,c)
if e==""then
return a[tonumber(n)]..(o==""and c or"")
end
return "@"..o..n..c
end)
end
end
local S = technic.getter
-- Read configuration file
dofile(modpath.."/config.lua")
@ -61,7 +34,3 @@ dofile(modpath.."/tools/init.lua")
-- Aliases for legacy node/item names
dofile(modpath.."/legacy.lua")
if minetest.settings:get_bool("log_mods") then
print(S("[Technic] Loaded in %f seconds"):format(os.clock() - load_start))
end

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
minetest.register_craftitem("technic:silicon_wafer", {
description = S("Silicon Wafer"),
@ -146,7 +146,7 @@ for p = 0, 35 do
local block = "technic:uranium"..psuffix.."_block"
local ov = p == 7 and minetest.override_item or nil;
(ov or minetest.register_craftitem)(ingot, {
description = string.format(S("%.1f%%-Fissile Uranium Ingot"), p/10),
description = S("@1-Fissile Uranium Ingot", string.format("%.1f%%", p/10)),
inventory_image = "technic_uranium_ingot.png",
groups = {uranium_ingot=1, not_in_creative_inventory=nici},
});
@ -183,7 +183,7 @@ for p = 0, 35 do
-- a 3.5%-fissile uranium block.
local radioactivity = math.floor(math.sqrt((1+5.55*p/35) * 18 / (1+5.55*7/35)) + 0.5);
(ov or minetest.register_node)(block, {
description = string.format(S("%.1f%%-Fissile Uranium Block"), p/10),
description = S("@1-Fissile Uranium Block", string.format("%.1f%%", p/10)),
tiles = {"technic_uranium_block.png"},
is_ground_content = true,
groups = {uranium_block=1, not_in_creative_inventory=nici,

View File

@ -0,0 +1,312 @@
# textdomain: technic
@1 Alloy Furnace=
Alloying=
Administrative World Anchor=
Owner:=
Unlocked=
Locked=
Keeping @1/@2 map blocks loaded=
Radius:=
Disabled=
Enabled=
RE Battery=
@1 Battery Box=
Charge=
Discharge=
Power level=
@1 Battery Box Has No Network=
@1 Battery Box: @2 / @3=
@1 Cable=
@1 Cable Plate=
Water Can=
Lava Can=
River Water Can=
@1 Centrifuge=
Separating=
Chainsaw=
Fuel-Fired Alloy Furnace=
@1 is empty=
@1 Out Of Fuel=
Fuel-Fired Furnace=
Machine cannot be removed because it is not empty=
Inventory move disallowed due to protection=
@1 Compressor=
Compressing=
Constructor Mk@1=
Slot @1=
@1 Furnace=
@1 Extractor=
Extracting=
Flashlight=
Range=
Sphere=
Cube=
@1 Disabled=
@1 Forcefield Emitter=
@1 Enabled=
@1 Forcefield=
@1 Unpowered=
@1 Active=
Ignoring Mesecon Signal=
Controlled by Mesecon Signal=
Frame=
Frame Motor=
Template=
Template (replacing)=
Template Tool=
Template Motor=
@1 Freezer=
Freezing=
Fuel-Fired @1 Generator=
Geothermal @1 Generator=
Geothermal %s Generator=
@1 Grinder=
Grinding=
Dust=
@1 Dust=
@1-Fissile Uranium=
Sawdust=
@1 Grinding=
Hydro @1 Generator=
[Technic] Loaded in @1 seconds=
Self-Contained Injector=
Stackwise=
Itemwise=
Public=
Private=
Silicon Wafer=
Doped Silicon Wafer=
Uranium Fuel=
Diamond Drill Head=
Blue Energy Crystal=
Green Energy Crystal=
Red Energy Crystal=
Copper Coil=
Low Voltage Transformer=
Medium Voltage Transformer=
High Voltage Transformer=
Control Logic Unit=
Mixed Metal Ingot=
Composite Plate=
Copper Plate=
Carbon Plate=
Graphite=
Carbon Cloth=
Machine Casing=
Rubber Goo=
@1-Fissile Uranium Ingot=
@1-Fissile Uranium Block=
@1 Lamp=
@1 Off=
Dummy light source node=
@1 LED=
LV=
someone=
Sorry, @1 owns that spot.=
Yellow Glowlight (thick)=
Yellow Glowlight (thin)=
White Glowlight (thick)=
White Glowlight (thin)=
Yellow Glowlight (small cube)=
White Glowlight (small cube)=
Single node.=
3 nodes deep.=
3 nodes wide.=
3 nodes tall.=
3x3 nodes.=
Mining Drill Mk#1 Mode #2=
Use while sneaking to change Mining Drill Mk@1 modes.=
Mining Drill Mk@1=
Mining Laser Mk%d=
%s Music Player=
Stopped=
Current track %s=
@1 Nuclear Reactor Core=
HV=
Nuclear Reactor Rod Compartment=
@1 Idle=
Power Monitor=
Power Monitor. Supply: @1 Demand: @2=
Power Monitor Has No Network=
Prospector=
%s Quarry=
Digging not started=
Digging finished=
Purging cache=
Restart=
%s purging cache=
%s Finished=
Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.=
%s Unpowered=
%s Active=
%s Disabled=
Chernobylite Block=
Arrayed Solar @1 Generator=
Small Solar %s Generator=
%s Idle=
@1 Active (@2)=
Sonic Screwdriver (left-click rotates face, right-click rotates axis)=
Input Power=
Supply Converter=
%s Enabled=
@1 (@2 @3 -> @4 @5)=
%s Has Bad Cabling=
Switching Station=
%s Already Present=
@1. Supply: @2 Demand: @3=
%s Has No Network=
%s Tool Workshop=
Upgrade Slots=
Tree Tap=
Raw Latex=
Rubber Fiber=
Vacuum Cleaner=
Hydro %s Generator=
Wind Mill Frame=
Wind %s Generator=
%s Improperly Placed=
@1 (@2)=
##### not used anymore #####
# German Translation for Technic Mod
# Deutsche Uebersetzung des Technic Mods
# by Xanthin
## Misc
[Technic] Loaded in %f seconds = [Technic] ist in %f Sekunden geladen
## Items
Silicon Wafer = Siliziumscheibe
Doped Silicon Wafer = Dotierte Siliziumscheibe
Enriched Uranium = Angereichertes Uran
Uranium Fuel = Uranbrennstoff
Diamond Drill Head = Diamantbohrkopf
Blue Energy Crystal = Blauer Energiekristall
Green Energy Crystal = Gruener Energiekristall
Red Energy Crystal = Roter Energiekristall
Fine Copper Wire = Feinkupferdraht
Copper Coil = Kupferspule
Electric Motor = Elektromotor
Low Voltage Transformer = Niederspannungstransformator
Medium Voltage Transformer = Mittelspannungstransformator
High Voltage Transformer = Hochspannungstransformator
Control Logic Unit = Steuer- und Regelungseinheit
Mixed Metal Ingot = Mischmetallbarren
Composite Plate = Verbundplatte
Copper Plate = Kupferplatte
Carbon Plate = Kohlefaserplatte
Graphite = Graphit
Carbon Cloth = Kohlefasergewebe
Raw Latex = Rohlatex
Rubber Fiber = Gummifaser
## Machine misc
Machine cannot be removed because it is not empty = Die Maschine kann nicht entfernt werden, weil sie noch nicht leer ist.
Inventory move disallowed due to protection = Das Inventar ist geschuetzt, Zugriff verweigert.
# $1: Machine name (Includes tier)
@1 Active (@2 EU) = @1 ist eingeschaltet (@2 EU)
%s Active = %s ist eingeschaltet
%s Disabled = %s ist ausgeschaltet
%s Idle = %s ist bereit
%s Improperly Placed = %s ist falsch plaziert
%s Unpowered = %s hat keine Stromversorgung
%s Out Of Fuel = %s hat keinen Brennstoff
%s Has Bad Cabling = %s ist falsch verkabelt
%s Has No Network = %s hat kein Netzwerk
%s Finished = %s ist fertig
Enable/Disable = Einschalten/Ausschalten
Range = Reichweite
Upgrade Slots = Verbesserungsfaecher
In: = Rein:
Out: = Raus:
Slot %d = Fach %d
Itemwise = Einzelstuecke
Stackwise = Ganzer Stapel
## Machine names
# $1: Tier
%s Alloy Furnace = %s Legierungsofen
%s Battery Box = %s Batteriebox
%s Cable = %s Kabel
%s Compressor = %s Kompressor
%s Extractor = %s Extraktor
%s Forcefield Emitter = %s Kraftfeld-Emitter
%s Furnace = %s Ofen
%s Grinder = %s Schleifmaschine
%s Music Player = %s Musikspieler
%s Quarry = %s Steinbruch
%s Tool Workshop = %s Werkzeugwerkstatt
Arrayed Solar %s Generator = %s Solaranlage
Fuel-Fired %s Generator = %s Kohle-Generator
Geothermal %s Generator = %s Geothermie-Generator
Hydro %s Generator = %s Wassermuehle
Nuclear %s Generator Core = %s Reaktorkern
Small Solar %s Generator = %s Solarmodul
Wind %s Generator = %s Windmuehle
Self-Contained Injector = Selbstversorger-Injektor
Constructor Mk%d = Konstruktor Modell %d
Frame = Rahmen
Frame Motor = Rahmenmotor
Template = Schablone
Template (replacing) = Schablone (ersetzend)
Template motor = Schablonenmotor
Template tool = Schablonenwerkzeug
Battery Box = Batteriebox
Supply Converter = Stromumwandler
Switching Station = Schaltanlage
Fuel-Fired Alloy Furnace = Kohle-Legierungsofen
Fuel-Fired Furnace = Kohle-Ofen
Wind Mill Frame = Windmuehlengeruest
Forcefield = Kraftfeld
Nuclear Reactor Rod Compartment = Brennstabfaecher
## Machine-specific
# $1: Pruduced EU
Charge = Aufladen
Discharge = Entladen
Power level = Energiestufe
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 = @1 Batteriebox: @2/@3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 = @1. Versorgung: @2 Bedarf: @3
Production at %d%% = Produktion bei %d%%
Choose Milling Program: = Waehle ein Fraesprogramm:
Slim Elements half / normal height: = Schmale Elemente von halber / normaler Hoehe:
Current track %s = Aktueller Titel %s
## Grinder Recipes
# $1: Name
%s Dust = %sstaub
Akalin = Akalin
Alatro = Alatro
Arol = Arol
Brass = Messing
Bronze = Bronze
Carbon Steel = Kohlenstoffstahl
Cast Iron = Gusseisen
Chromium = Chrom
Coal = Kohle
Copper = Kupfer
Gold = Gold
Mithril = Mithril
Silver = Silber
Stainless Steel = Edelstahl
Talinite = Talinite
Tin = Zinn
Wrought Iron = Schmiedeeisen
Zinc = Zink
## Tools
RE Battery = Akkubatterie
Water Can = Wasserkanister
Lava Can = Lavakanister
Chainsaw = Kettensaege
Flashlight = Taschenlampe
3 nodes deep. = 3 Bloecke tief.
3 nodes tall. = 3 Bloecke hoch.
3 nodes wide. = 3 Bloecke breit.
3x3 nodes. = 3x3 Bloecke.
Use while sneaking to change Mining Drill Mk%d modes. = Halte die Shift-Taste beim Benutzen gedrueckt, um die Funktion des Bergbaubohrers Modell %d zu aendern.
Mining Drill Mk%d Mode %d = Bergbaubohrer Modell %d Funktion %d
Mining Drill Mk%d = Bergbaubohrer Modell %d
Mining Laser Mk%d = Bergbaulaser Modell %d
Single node. = Einzelblock
Sonic Screwdriver = Schallschraubendreher
Tree Tap = Baumzapfhahn
## Craft descriptions
Alloy cooking =

View File

@ -0,0 +1,295 @@
# textdomain: technic
@1 Alloy Furnace=
Alloying=
Administrative World Anchor=
Owner:=
Unlocked=
Locked=
Keeping @1/@2 map blocks loaded=
Radius:=
Disabled=
Enabled=
RE Battery=
@1 Battery Box=
Charge=
Discharge=
Power level=
@1 Battery Box Has No Network=
@1 Battery Box: @2 / @3=
@1 Cable=
@1 Cable Plate=
Water Can=
Lava Can=
River Water Can=
@1 Centrifuge=
Separating=
Chainsaw=
Fuel-Fired Alloy Furnace=
@1 is empty=
@1 Out Of Fuel=
Fuel-Fired Furnace=
Machine cannot be removed because it is not empty=
Inventory move disallowed due to protection=
@1 Compressor=
Compressing=
Constructor Mk@1=
Slot @1=
@1 Furnace=
@1 Extractor=
Extracting=
Flashlight=
Range=
Sphere=
Cube=
@1 Disabled=
@1 Forcefield Emitter=
@1 Enabled=
@1 Forcefield=
@1 Unpowered=
@1 Active=
Ignoring Mesecon Signal=
Controlled by Mesecon Signal=
Frame=
Frame Motor=
Template=
Template (replacing)=
Template Tool=
Template Motor=
@1 Freezer=
Freezing=
Fuel-Fired @1 Generator=
Geothermal @1 Generator=
Geothermal %s Generator=
@1 Grinder=
Grinding=
Dust=
@1 Dust=
@1-Fissile Uranium=
Sawdust=
@1 Grinding=
Hydro @1 Generator=
[Technic] Loaded in @1 seconds=
Self-Contained Injector=
Stackwise=
Itemwise=
Public=
Private=
Silicon Wafer=
Doped Silicon Wafer=
Uranium Fuel=
Diamond Drill Head=
Blue Energy Crystal=
Green Energy Crystal=
Red Energy Crystal=
Copper Coil=
Low Voltage Transformer=
Medium Voltage Transformer=
High Voltage Transformer=
Control Logic Unit=
Mixed Metal Ingot=
Composite Plate=
Copper Plate=
Carbon Plate=
Graphite=
Carbon Cloth=
Machine Casing=
Rubber Goo=
@1-Fissile Uranium Ingot=
@1-Fissile Uranium Block=
@1 Lamp=
@1 Off=
Dummy light source node=
@1 LED=
LV=
someone=
Sorry, @1 owns that spot.=
Yellow Glowlight (thick)=
Yellow Glowlight (thin)=
White Glowlight (thick)=
White Glowlight (thin)=
Yellow Glowlight (small cube)=
White Glowlight (small cube)=
Single node.=
3 nodes deep.=
3 nodes wide.=
3 nodes tall.=
3x3 nodes.=
Mining Drill Mk#1 Mode #2=
Use while sneaking to change Mining Drill Mk@1 modes.=
Mining Drill Mk@1=
Mining Laser Mk%d=
%s Music Player=
Stopped=
Current track %s=
@1 Nuclear Reactor Core=
HV=
Nuclear Reactor Rod Compartment=
@1 Idle=
Power Monitor=
Power Monitor. Supply: @1 Demand: @2=
Power Monitor Has No Network=
Prospector=
%s Quarry=
Digging not started=
Digging finished=
Purging cache=
Restart=
%s purging cache=
%s Finished=
Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.=
%s Unpowered=
%s Active=
%s Disabled=
Chernobylite Block=
Arrayed Solar @1 Generator=
Small Solar %s Generator=
%s Idle=
@1 Active (@2)=
Sonic Screwdriver (left-click rotates face, right-click rotates axis)=
Input Power=
Supply Converter=
%s Enabled=
@1 (@2 @3 -> @4 @5)=
%s Has Bad Cabling=
Switching Station=
%s Already Present=
@1. Supply: @2 Demand: @3=
%s Has No Network=
%s Tool Workshop=
Upgrade Slots=
Tree Tap=
Raw Latex=
Rubber Fiber=
Vacuum Cleaner=
Hydro %s Generator=
Wind Mill Frame=
Wind %s Generator=
%s Improperly Placed=
@1 (@2)=
##### not used anymore #####
# Spanish Translation for Technic Mod
# Traduccion al Español del Mod Technic
# Autor: Diego Martínez <kaeza>
## Misc
[Technic] Loaded in %f seconds = [Technic] Cargado en %f segundos
## Items
Silicon Wafer = Oblea de Silicio
Doped Silicon Wafer = Oblea de Silicio Dopada
Enriched Uranium = Uranio Enriquecido
Uranium Fuel = Combustible de Uranio
Diamond Drill Head = Mecha de Taladro de Diamante
Blue Energy Crystal = Cristal de Energia Azul
Green Energy Crystal = Cristal de Energia Verde
Red Energy Crystal = Cristal de Energia Rojo
Fine Copper Wire = Cable Fino de Cobre
Copper Coil = Resorte de Cobre
Electric Motor = Motor Electrico
Low Voltage Transformer = Transformador de Bajo Voltaje
Medium Voltage Transformer = Transformador de Voltaje Medio
High Voltage Transformer = Transformador de Alto Voltaje
Control Logic Unit = Unidad Logica de Control
Mixed Metal Ingot = Lingote de Metal Mezclado
Composite Plate = Placa de Compuestos
Copper Plate = Placa de Cobre
Carbon Plate = Placa de Carbon
Graphite = Grafito
Carbon Cloth = Tela de Carbon
Raw Latex = Latex Crudo
Rubber Fiber = Fibra de Hule
## Machine misc
Machine cannot be removed because it is not empty = La maquina no puede removerse porque no esta vacia
# $1: Machine name (Includes tier)
@1 Active (@2 EU) = @1 Activo (@2 EU)
%s Active = %s Activo
%s Idle = %s Quieto
%s Unpowered = %s Sin Energia
%s Out Of Fuel = %s Sin Combustible
%s Has Bad Cabling = %s Tiene Mal Cableado
%s Has No Network = %s No Tiene Una Red
%s Finished = %s Terminado
%s Disabled = %s Deshabilitado
%s Improperly Placed = %s No Colocado Apropiadamente
Range = Alcance
Enable/Disable = Habilitar/Deshabilitar
## Machine names
# $1: Tier
%s Alloy Furnace = Horno de Aleacion %s
%s Battery Box = Caja de Bateria %s
%s Cable = Cable %s
%s Compressor = Compresor %s
%s Extractor = Extractor %s
%s Forcefield Emitter = Emisor de Campo de Fuerza %s
%s Furnace = Horno %s
%s Grinder = Amoladora %s
%s Music Player = Reproductor de Musica %s
%s Quarry = Cantera %s
%s Tool Workshop = Taller de Herramientas %s
Arrayed Solar %s Generator = Panel Solar %s
Fuel-Fired %s Generator = Generador a Carbon %s
Geothermal %s Generator = Generador Geotermico %s
Hydro %s Generator = Molino de Agua %s
Nuclear %s Generator Core = Nucleo de Reactor Nuclear %s
Small Solar %s Generator = Panel Solar %s
Wind %s Generator = Molino de Viento %s
Supply Converter = Convertidor de Alimentacion
Switching Station = Estacion de Conmutacion
Battery Box = Caja de Baterias
Fuel-Fired Alloy Furnace = Horno de Aleacion a Carbon
Fuel-Fired Furnace = Horno a Carbon
Forcefield = Campo de Fuerza
Nuclear Reactor Rod Compartment = Compartimiento para Vara de Reactor Nuclear
Wind Mill Frame = Armazon de Molino de Viento
## Machine-specific
# $1: Pruduced EU
Charge = Cargar
Discharge = Descargar
Power level = Nivel de Poder
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 = Caja de Bateria @1: @2/@3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 = @1. Alimentacion: @2 Demanda: @3
# $1: Production percent
Production at %d%% = Produccion en %d%%
## Grinder Recipes
# $1: Name
%s Dust = Polvo de %s
Akalin = Akalina
Alatro = Alatro
Arol = Arol
Brass = Laton
Bronze = Bronce
Carbon Steel = Acero al Carbono
Cast Iron = Hierro Fundido
Chromium = Cromo
Coal = Carbon
Copper = Cobre
Gold = Oro
Mithril = Mitrilo
Silver = Plata
Stainless Steel = Acero Inoxidable
Talinite = Talinita
Tin = Estanio
Wrought Iron = Hierro Forjado
Zinc = Zinc
## Tools
RE Battery =
Water Can = Bidon de Agua
Lava Can = Bidon de Lava
Chainsaw = Motosierra
Flashlight = Linterna
3 nodes deep. = 3 nodos de profundo.
3 nodes tall. = 3 nodos de alto.
3 nodes wide. = 3 nodos de ancho.
3x3 nodes. = 3x3 nodos.
Use while sneaking to change Mining Drill Mk%d modes. = Manten pulsado Mayus y Usar para cambiar el modo del Taladro de Mineria Mk%d.
Mining Drill Mk%d Mode %d = Taladro de Mineria Mk%d Modo %d
Mining Drill Mk%d = Taladro de Mineria Mk%d
Mining Laser Mk%d = Laser de Mineria Mk%d
Single node. = Nodo simple.
Sonic Screwdriver = Destonillador Sonico
Tree Tap = Grifo de Arbol
## Craft descriptions
Alloy cooking =

View File

@ -0,0 +1,355 @@
# textdomain: technic
@1 Alloy Furnace=
Alloying=
Administrative World Anchor=
Owner:=
Unlocked=
Locked=
Keeping @1/@2 map blocks loaded=
Radius:=
Disabled=
Enabled=
RE Battery=
@1 Battery Box=
Charge=
Discharge=
Power level=
@1 Battery Box Has No Network=
@1 Battery Box: @2 / @3=
@1 Cable=
@1 Cable Plate=
Water Can=
Lava Can=
River Water Can=
@1 Centrifuge=
Separating=
Chainsaw=
Fuel-Fired Alloy Furnace=
@1 is empty=
@1 Out Of Fuel=
Fuel-Fired Furnace=
Machine cannot be removed because it is not empty=
Inventory move disallowed due to protection=
@1 Compressor=
Compressing=
Constructor Mk@1=
Slot @1=
@1 Furnace=
@1 Extractor=
Extracting=
Flashlight=
Range=
Sphere=
Cube=
@1 Disabled=
@1 Forcefield Emitter=
@1 Enabled=
@1 Forcefield=
@1 Unpowered=
@1 Active=
Ignoring Mesecon Signal=
Controlled by Mesecon Signal=
Frame=
Frame Motor=
Template=
Template (replacing)=
Template Tool=
Template Motor=
@1 Freezer=
Freezing=
Fuel-Fired @1 Generator=
Geothermal @1 Generator=
Geothermal %s Generator=
@1 Grinder=
Grinding=
Dust=
@1 Dust=
@1-Fissile Uranium=
Sawdust=
@1 Grinding=
Hydro @1 Generator=
[Technic] Loaded in @1 seconds=
Self-Contained Injector=
Stackwise=
Itemwise=
Public=
Private=
Silicon Wafer=
Doped Silicon Wafer=
Uranium Fuel=
Diamond Drill Head=
Blue Energy Crystal=
Green Energy Crystal=
Red Energy Crystal=
Copper Coil=
Low Voltage Transformer=
Medium Voltage Transformer=
High Voltage Transformer=
Control Logic Unit=
Mixed Metal Ingot=
Composite Plate=
Copper Plate=
Carbon Plate=
Graphite=
Carbon Cloth=
Machine Casing=
Rubber Goo=
@1-Fissile Uranium Ingot=
@1-Fissile Uranium Block=
@1 Lamp=
@1 Off=
Dummy light source node=
@1 LED=
LV=
someone=
Sorry, @1 owns that spot.=
Yellow Glowlight (thick)=
Yellow Glowlight (thin)=
White Glowlight (thick)=
White Glowlight (thin)=
Yellow Glowlight (small cube)=
White Glowlight (small cube)=
Single node.=
3 nodes deep.=
3 nodes wide.=
3 nodes tall.=
3x3 nodes.=
Mining Drill Mk#1 Mode #2=
Use while sneaking to change Mining Drill Mk@1 modes.=
Mining Drill Mk@1=
Mining Laser Mk%d=
%s Music Player=
Stopped=
Current track %s=
@1 Nuclear Reactor Core=
HV=
Nuclear Reactor Rod Compartment=
@1 Idle=
Power Monitor=
Power Monitor. Supply: @1 Demand: @2=
Power Monitor Has No Network=
Prospector=
%s Quarry=
Digging not started=
Digging finished=
Purging cache=
Restart=
%s purging cache=
%s Finished=
Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.=
%s Unpowered=
%s Active=
%s Disabled=
Chernobylite Block=
Arrayed Solar @1 Generator=
Small Solar %s Generator=
%s Idle=
@1 Active (@2)=
Sonic Screwdriver (left-click rotates face, right-click rotates axis)=
Input Power=
Supply Converter=
%s Enabled=
@1 (@2 @3 -> @4 @5)=
%s Has Bad Cabling=
Switching Station=
%s Already Present=
@1. Supply: @2 Demand: @3=
%s Has No Network=
%s Tool Workshop=
Upgrade Slots=
Tree Tap=
Raw Latex=
Rubber Fiber=
Vacuum Cleaner=
Hydro %s Generator=
Wind Mill Frame=
Wind %s Generator=
%s Improperly Placed=
@1 (@2)=
##### not used anymore #####
# template.txt
# Template for translations of Technic
## Misc
[Technic] Loaded in %f seconds = [Technic] Chargement en %f secondes
## Items
Silicon Wafer = Tranche de silicium
Doped Silicon Wafer = Tranche de silicium doppée
Enriched Uranium = Uranium enrichi
Uranium Fuel = Uranium 235
Diamond Drill Head = Tête de forage en diamant
Blue Energy Crystal = Cristal d'énergie bleu
Green Energy Crystal = Cristal d'énergie vert
Red Energy Crystal = Cristal d'énergie rouge
Fine Copper Wire = Fil en cuivre fin
Fine Gold Wire = Fil en or fin
Fine Silver Wire = Fil en argent fin
Copper Coil = Bobine de cuivre
Electric Motor = Moteur électrique
Low Voltage Transformer = Transformateur basse tension
Medium Voltage Transformer = Transformateur moyenne tension
High Voltage Transformer = Transformateur haute tension
Control Logic Unit = Unité de contrôle logique
Mixed Metal Ingot = Lingot de métal allié
Composite Plate = Plaque composite
Copper Plate = Plaque de cuivre
Carbon Plate = Plaque de carbone
Graphite = Graphite
Carbon Cloth = Fibre de carbone
Raw Latex = Latex brut
Rubber Fiber = Fibre de caoutchouc
%.1f%%-Fissile Uranium Ingot = Lingot d'uranium fissile (%.1f%%)
%.1f%%-Fissile Uranium Block = Bloc d'uranium fissile (%.1f%%)
## Machine misc
Machine cannot be removed because it is not empty = La machine ne peut pas être retirée car elle n'est pas vide
Inventory move disallowed due to protection = Le mouvement d'inventaire n'est pas autorisé en raison de la protection
# $1: Machine name (Includes tier)
@1 Active (@2 EU) = @1 Active (@2 EU)
%s Active = %s actif
%s Disabled = %s désactivé
%s Enabled = %s activé
%s Idle = %s au repos
%s Improperly Placed = %s est mal placé
%s is empty = %s est vide
%s Unpowered = %s non alimenté en énergie
%s Out Of Fuel = %s plus de carburant
%s Has Bad Cabling = %s est mal cablé
%s (Slave) = %s (esclave)
%s Has No Network = %s n'a pas de réseau
%s Finished = %s a fini
Enable/Disable = Activer/Désactiver
Range = Plage
Upgrade Slots = Emplacement d'amélioration
In: = Entrée :
Out: = Sortie :
Slot %d = Emplacement %d
Itemwise = Item par Item
Stackwise = Stack par Stack
Ignoring Mesecon Signal = Ignorer le signal Mesecon
Controlled by Mesecon Signal = Contrôlé par signal Mesecon
Owner: = Propriétaire :
Unlocked = Déverrouillé
Locked = Verrouillé
Radius: = Rayon :
Enabled = Activé
Disabled = Désactivé
## Machine names
# $1: Tier
%s Alloy Furnace = Four à alliage %s
%s Battery Box = Batterie %s
%s Cable = Câble %s
%s CNC Machine = Machine-outils %s
%s Centrifuge = Centrifugeuse %s
%s Compressor = Compresseur %s
%s Extractor = Extracteur %s
%s Forcefield Emitter = Emetteur de champ de force %s
%s Furnace = Four %s
%s Grinder = Broyeur %s
%s Music Player = Grammophone %s
%s Quarry = Carrière %s
%s Tool Workshop = Atelier d'outillage %s
Arrayed Solar %s Generator = Générateur solaire %s
Fuel-Fired %s Generator = Générateur thermique %s
Geothermal %s Generator = Géénarteur géothermique %s
Hydro %s Generator = Générateur hydroélectrique %s
Nuclear %s Generator Core = Générateur nucléaire %
Small Solar %s Generator = Petit générateur solaire %s
Wind %s Generator = Générateur éolien %s
Self-Contained Injector = Injecteur autonome
Constructor Mk%d = Constructeur Mk%d
Frame = Cadre
Frame Motor = Cadre de moteur
Template = Modèle
Battery Box = Compartiment à batterie
Supply Converter = Convertisseur de tension
Switching Station = Station de commutation
Fuel-Fired Alloy Furnace = Four à alliage à carburant
Fuel-Fired Furnace = Four à carburant
Wind Mill Frame = Cadre d'éolienne
Forcefield = Champ de force
Nuclear Reactor Rod Compartment = Compartiment à barres du réacteur nucléaire
## Machine-specific
# $1: Pruduced EU
Charge = Charger
Discharge = Décharger
Power level = Niveau d'énergie
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 = @1 batterie : @2/@3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 = @1. fournit : @2 demande : @3
Production at %d%% = Production à %d%%
Choose Milling Program: = Choisissez le programme de fraisage :
Current track %s = Morceau actuel %s
Stopped = Arrêté
Digging not started = Creusement non démarré
Digging finished = Creusement terminé
Digging %d m above machine = Creusement à %dm au dessus de la machine
Digging %d m below machine = Creusement à %dm en dessous de la machine
@1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5)
## CNC
Cylinder =
Element Cross = Elément croisé
Element Cross Double = Elément croisé (double)
Element Edge = Elément de bordure
Element Edge Double = Elément de bordure (double)
Element End = Elément de fin
Element End Double = Elément de fin (double)
Element Straight = Elément droit
Element Straight Double = Elément droit (double)
Element T = Elément en T
Element T Double = Elément en T (double)
Horizontal Cylinder = Cylindre horizontal
One Curved Edge Block = Bloc à un bord incurvé
Pyramid = Pyramide
Slope = Pente
Sphere = Sphère
Spike = Pointe
Stick = Bâton
Two Curved Edge Block = Bloc à deux bords incurvés
Brick = Brique
Cobble = Pierre taillée
Dirt = Terre
Leaves = Feuilles
Sandstone = Grès
Stone = Pierre
Tree = Arbre
Wooden = Bois
## Grinder Recipes
# $1: Name
%s Dust = Poudre de %s
Brass = Laiton
Bronze = Bronze
Carbon Steel = Acier au carbone
Cast Iron = Fonte
Chromium = Chrome
Coal = Charbon
Copper = Cuivre
Gold = Or
Mithril = Mithril
Silver = Argent
Stainless Steel = Acier inoxydable
Talinite = Talanite
Tin = Etain
Wrought Iron = Fer
Zinc = Zinc
%.1f%%-Fissile Uranium = Uranium fissile (%.1f%%)
## Tools
RE Battery = Batterie RE
Water Can = Jerrycan d'eau
Lava Can = Jerrycan de lave
Chainsaw = Tronçonneuse
Flashlight = Lampe-torche
Mining Drill Mk%d Mode %d = Foreuse Mk%d Mode %d
Mining Drill Mk%d = Foreuse Mk%d
Mining Laser Mk%d = Foreuse laser Mk%d
Single node. = Mode simple.
Sonic Screwdriver = Tournevis supersonique
Tree Tap = Robinet à sève
## Craft descriptions
Alloy cooking = Fonderie d'alliage
Grinding = Broyage
Compressing = Compression
Extracting = Extraction
Separating = Séparation

View File

@ -0,0 +1,329 @@
# textdomain: technic
@1 Alloy Furnace=
Alloying=
Administrative World Anchor=
Owner:=
Unlocked=
Locked=
Keeping @1/@2 map blocks loaded=
Radius:=
Disabled=
Enabled=
RE Battery=
@1 Battery Box=
Charge=
Discharge=
Power level=
@1 Battery Box Has No Network=
@1 Battery Box: @2 / @3=
@1 Cable=
@1 Cable Plate=
Water Can=
Lava Can=
River Water Can=
@1 Centrifuge=
Separating=
Chainsaw=
Fuel-Fired Alloy Furnace=
@1 is empty=
@1 Out Of Fuel=
Fuel-Fired Furnace=
Machine cannot be removed because it is not empty=
Inventory move disallowed due to protection=
@1 Compressor=
Compressing=
Constructor Mk@1=
Slot @1=
@1 Furnace=
@1 Extractor=
Extracting=
Flashlight=
Range=
Sphere=
Cube=
@1 Disabled=
@1 Forcefield Emitter=
@1 Enabled=
@1 Forcefield=
@1 Unpowered=
@1 Active=
Ignoring Mesecon Signal=
Controlled by Mesecon Signal=
Frame=
Frame Motor=
Template=
Template (replacing)=
Template Tool=
Template Motor=
@1 Freezer=
Freezing=
Fuel-Fired @1 Generator=
Geothermal @1 Generator=
Geothermal %s Generator=
@1 Grinder=
Grinding=
Dust=
@1 Dust=
@1-Fissile Uranium=
Sawdust=
@1 Grinding=
Hydro @1 Generator=
[Technic] Loaded in @1 seconds=
Self-Contained Injector=
Stackwise=
Itemwise=
Public=
Private=
Silicon Wafer=
Doped Silicon Wafer=
Uranium Fuel=
Diamond Drill Head=
Blue Energy Crystal=
Green Energy Crystal=
Red Energy Crystal=
Copper Coil=
Low Voltage Transformer=
Medium Voltage Transformer=
High Voltage Transformer=
Control Logic Unit=
Mixed Metal Ingot=
Composite Plate=
Copper Plate=
Carbon Plate=
Graphite=
Carbon Cloth=
Machine Casing=
Rubber Goo=
@1-Fissile Uranium Ingot=
@1-Fissile Uranium Block=
@1 Lamp=
@1 Off=
Dummy light source node=
@1 LED=
LV=
someone=
Sorry, @1 owns that spot.=
Yellow Glowlight (thick)=
Yellow Glowlight (thin)=
White Glowlight (thick)=
White Glowlight (thin)=
Yellow Glowlight (small cube)=
White Glowlight (small cube)=
Single node.=
3 nodes deep.=
3 nodes wide.=
3 nodes tall.=
3x3 nodes.=
Mining Drill Mk#1 Mode #2=
Use while sneaking to change Mining Drill Mk@1 modes.=
Mining Drill Mk@1=
Mining Laser Mk%d=
%s Music Player=
Stopped=
Current track %s=
@1 Nuclear Reactor Core=
HV=
Nuclear Reactor Rod Compartment=
@1 Idle=
Power Monitor=
Power Monitor. Supply: @1 Demand: @2=
Power Monitor Has No Network=
Prospector=
%s Quarry=
Digging not started=
Digging finished=
Purging cache=
Restart=
%s purging cache=
%s Finished=
Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.=
%s Unpowered=
%s Active=
%s Disabled=
Chernobylite Block=
Arrayed Solar @1 Generator=
Small Solar %s Generator=
%s Idle=
@1 Active (@2)=
Sonic Screwdriver (left-click rotates face, right-click rotates axis)=
Input Power=
Supply Converter=
%s Enabled=
@1 (@2 @3 -> @4 @5)=
%s Has Bad Cabling=
Switching Station=
%s Already Present=
@1. Supply: @2 Demand: @3=
%s Has No Network=
%s Tool Workshop=
Upgrade Slots=
Tree Tap=
Raw Latex=
Rubber Fiber=
Vacuum Cleaner=
Hydro %s Generator=
Wind Mill Frame=
Wind %s Generator=
%s Improperly Placed=
@1 (@2)=
##### not used anymore #####
## Misc
[Technic] Loaded in %f seconds = [Technic] caricato in %f secondi
## Items
Silicon Wafer = Wafer di silicone
Doped Silicon Wafer = Wafer di silicone dopato
Enriched Uranium = Uranio arricchito
Uranium Fuel = Uranio Combustibile
Diamond Drill Head = Trivella diamantata
Blue Energy Crystal = Cristallo energetico blu
Green Energy Crystal = Cristallo energetico verde
Red Energy Crystal = Cristallo energetico rosso
Fine Copper Wire = Filo di rame fine
Copper Coil = Bobina di rame
Electric Motor = Motore elettrico
Low Voltage Transformer = Trasformatore in bassa tensione
Medium Voltage Transformer = Trasformatore in media tensione
High Voltage Transformer = Trasformatore in alta tensione
Control Logic Unit = Unità di controllo logica
Mixed Metal Ingot = Lingotto in lega ibrida
Composite Plate = Lastra composita
Copper Plate = Lastra di rame
Carbon Plate = Lastra in carbonio
Graphite = Lastra in graffite
Carbon Cloth = Fibra di carbonio
Raw Latex = Latex grezzo
Rubber Fiber = Fibra di gomma
%.1f%%-Fissile Uranium Ingot = %.1f%%-Lingotto di uranio fissile
%.1f%%-Fissile Uranium Block = %.1f%%-Blocco di uranio fissile
## Machine misc
Machine cannot be removed because it is not empty = La macchina non può essere rimossa perchè non è vuota
Inventory move disallowed due to protection = Impossibile muovere l'inventario a causa della protezione
# $1: Machine name (Includes tier)
@1 Active (@2 EU) = @1 Attivo (@2 EU)
%s Active = %s Attivo
%s Disabled = %s Disabilitato
%s Enabled = %s Abilitato
%s Idle = %s Inattivo
%s Improperly Placed = %s Piazzato impropiamente
%s Unpowered = %s Non alimentato
%s Out Of Fuel = %s senza carburante
%s Has Bad Cabling = %s ha un cablaggio scorretto
%s Has No Network = %s non è collegata
%s Finished = %s Finito
Enable/Disable = Abilita/Disabilita
Range = Raggio
Upgrade Slots = Alloggi di aggiornamento
In: = Ingresso:
Out: = Uscita:
Slot %d = Alloggio %d
Itemwise = Singolo elemento
Stackwise = pila completa
Owner: = Proprietario:
Unlocked = Non chiuso a chiave
Locked = Chiuso a chiave
Radius: = Raggio:
Enabled = Abilitato
Disabled = Disabilitato
## Machine names
# $1: Tier
%s Alloy Furnace = %s Fornace per leghe
%s Battery Box = %s Box batterie
%s Cable = Cavo %s
%s Compressor = Compressore %s
%s Extractor = Estrattore %s
%s Forcefield Emitter = Emettitore di campo di forza %s
%s Furnace = %s Fornace
%s Grinder = %s Tritatutto
%s Music Player = Music Player %s
%s Quarry = Cava %s
%s Tool Workshop = Officina per attrezzi %s
Arrayed Solar %s Generator = %s Pannello Solare
Fuel-Fired %s Generator = %s Generatore a carbone
Geothermal %s Generator = %s Generatore Geotermico
Hydro %s Generator = Turbina Elettrica %s
Nuclear %s Generator Core = Reattore nucleare %s
Small Solar %s Generator = %s Pannello solare
Wind %s Generator = %s Generatore eolico
Self-Contained Injector = Ignettore
Constructor Mk%d = Costruttore Mk%d
Frame = Cornice
Frame Motor = Cornice del motore
Template = Sagoma
Template (replacing) = Sagoma (di rimpiazzo)
Template Motor = Motore per sagome
Template Tool = Strumento per sagome
Battery Box = Box batterie
Supply Converter = Trasformatore
Switching Station = Stazione di controllo
Fuel-Fired Alloy Furnace = Fornace per leghe a carbone
Fuel-Fired Furnace = Fornace a carbone
Wind Mill Frame = Pala eolica
Forcefield = Campo di forza
Nuclear Reactor Rod Compartment = Compartimento combustibile nucleare
Administrative World Anchor = Ancora-mondo amministrativa
## Machine-specific
# $1: Pruduced EU
Charge = Carica
Discharge = Scarica
Power level = Livello di potenza
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 = @1 Box Batterie: @2/@3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 = @1. Prodotto: @2 Consumato: @3
Production at %d%% = Produzione a %d%%
Choose Milling Program: = Scegliere un programma di Fresatura
Slim Elements half / normal height: = Metà elementi sottili / altezza normale:
Current track %s = Traccia corrente %s
Stopped = Fermato
Keeping %d/%d map blocks loaded = Mantenimento di %d/%d blocchi mappa caricati
Digging not started = Scavo non iniziato
Digging finished = Scavo finito
Digging %d m above machine = Scavo di %d m sopra la macchina
Digging %d m below machine = Scavo di %d m sotto la macchina
## Grinder Recipes
# $1: Name
%s Dust = Polvere di %s
Akalin = Alcalino
Alatro = Alatro
Arol = Arol
Brass = Ottone
Bronze = Bronzo
Carbon Steel = Acciaio al Carbonio
Cast Iron = Ghisa
Chromium = Cromo
Coal = Carbone
Copper = Rame
Gold = Oro
Mithril = Mithril
Silver = Argento
Stainless Steel = Acciaio Inossidabile
Talinite = Talinite
Tin = Stagno
Wrought Iron = Ferro Battuto
Zinc = Zinco
%.1f%%-Fissile Uranium = %.1f%%-Uranio fissile
## Tools
RE Battery = Batteria RE
Water Can = Serbatoio d'acqua
Lava Can = Serbatoio di lava
Chainsaw = Motosega
Flashlight = Torcia
3 nodes deep. = 3 nodi in profondità.
3 nodes tall. = 3 nodi in altezza.
3 nodes wide. = 3 nodi in larghezza.
3x3 nodes. = 3x3 nodi.
Use while sneaking to change Mining Drill Mk%d modes. = Premi shift (freccia grossa) e usa per cambiare modalità nella trivella da miniera Mk%d.
Mining Drill Mk%d Mode %d = Trivella mk%d in modalità %d
Mining Drill Mk%d = Trivella da miniera mk%d
Mining Laser Mk%d = Laser da miniera mk%d
Single node. = Nodo singolo.
Sonic Screwdriver = Cacciavite sonico
Tree Tap = Batti albero
## Craft descriptions
Alloy cooking = Cottura lege
Grinding = Macinazione
Compressing = Compressione
Extracting = Estrazione

View File

@ -0,0 +1,337 @@
# textdomain: technic
@1 Alloy Furnace=
Alloying=
Administrative World Anchor=
Owner:=
Unlocked=
Locked=
Keeping @1/@2 map blocks loaded=
Radius:=
Disabled=
Enabled=
RE Battery=
@1 Battery Box=
Charge=
Discharge=
Power level=
@1 Battery Box Has No Network=
@1 Battery Box: @2 / @3=
@1 Cable=
@1 Cable Plate=
Water Can=
Lava Can=
River Water Can=
@1 Centrifuge=
Separating=
Chainsaw=
Fuel-Fired Alloy Furnace=
@1 is empty=
@1 Out Of Fuel=
Fuel-Fired Furnace=
Machine cannot be removed because it is not empty=
Inventory move disallowed due to protection=
@1 Compressor=
Compressing=
Constructor Mk@1=
Slot @1=
@1 Furnace=
@1 Extractor=
Extracting=
Flashlight=
Range=
Sphere=
Cube=
@1 Disabled=
@1 Forcefield Emitter=
@1 Enabled=
@1 Forcefield=
@1 Unpowered=
@1 Active=
Ignoring Mesecon Signal=
Controlled by Mesecon Signal=
Frame=
Frame Motor=
Template=
Template (replacing)=
Template Tool=
Template Motor=
@1 Freezer=
Freezing=
Fuel-Fired @1 Generator=
Geothermal @1 Generator=
Geothermal %s Generator=
@1 Grinder=
Grinding=
Dust=
@1 Dust=
@1-Fissile Uranium=
Sawdust=
@1 Grinding=
Hydro @1 Generator=
[Technic] Loaded in @1 seconds=
Self-Contained Injector=
Stackwise=
Itemwise=
Public=
Private=
Silicon Wafer=
Doped Silicon Wafer=
Uranium Fuel=
Diamond Drill Head=
Blue Energy Crystal=
Green Energy Crystal=
Red Energy Crystal=
Copper Coil=
Low Voltage Transformer=
Medium Voltage Transformer=
High Voltage Transformer=
Control Logic Unit=
Mixed Metal Ingot=
Composite Plate=
Copper Plate=
Carbon Plate=
Graphite=
Carbon Cloth=
Machine Casing=
Rubber Goo=
@1-Fissile Uranium Ingot=
@1-Fissile Uranium Block=
@1 Lamp=
@1 Off=
Dummy light source node=
@1 LED=
LV=
someone=
Sorry, @1 owns that spot.=
Yellow Glowlight (thick)=
Yellow Glowlight (thin)=
White Glowlight (thick)=
White Glowlight (thin)=
Yellow Glowlight (small cube)=
White Glowlight (small cube)=
Single node.=
3 nodes deep.=
3 nodes wide.=
3 nodes tall.=
3x3 nodes.=
Mining Drill Mk#1 Mode #2=
Use while sneaking to change Mining Drill Mk@1 modes.=
Mining Drill Mk@1=
Mining Laser Mk%d=
%s Music Player=
Stopped=
Current track %s=
@1 Nuclear Reactor Core=
HV=
Nuclear Reactor Rod Compartment=
@1 Idle=
Power Monitor=
Power Monitor. Supply: @1 Demand: @2=
Power Monitor Has No Network=
Prospector=
%s Quarry=
Digging not started=
Digging finished=
Purging cache=
Restart=
%s purging cache=
%s Finished=
Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.=
%s Unpowered=
%s Active=
%s Disabled=
Chernobylite Block=
Arrayed Solar @1 Generator=
Small Solar %s Generator=
%s Idle=
@1 Active (@2)=
Sonic Screwdriver (left-click rotates face, right-click rotates axis)=
Input Power=
Supply Converter=
%s Enabled=
@1 (@2 @3 -> @4 @5)=
%s Has Bad Cabling=
Switching Station=
%s Already Present=
@1. Supply: @2 Demand: @3=
%s Has No Network=
%s Tool Workshop=
Upgrade Slots=
Tree Tap=
Raw Latex=
Rubber Fiber=
Vacuum Cleaner=
Hydro %s Generator=
Wind Mill Frame=
Wind %s Generator=
%s Improperly Placed=
@1 (@2)=
##### not used anymore #####
# Polish Translation for Technic mod
# Polskie tłumaczenie Technic mod
# by mat9117
## Misc
[Technic] Loaded in %f seconds = [Technic] Wczytany w %f sekund
## Items
Silicon Wafer = Płytka krzemowa
Doped Silicon Wafer = Domieszkowana płytka krzemowa
Enriched Uranium = Wzbogacony uran
Uranium Fuel = Paliwo uranowe
Diamond Drill Head = Diamentowa głowica wiertła
Blue Energy Crystal = Niebieski kryształ energii
Green Energy Crystal = Zielony kryształ energii
Red Energy Crystal = Czerwony kryształ energii
Fine Copper Wire = Cienki miedziany drut
Copper Coil = Miedziana cewka
Electric Motor = Silnik elektryczny
Low Voltage Transformer = Transformator niskiego napięcia
Medium Voltage Transformer = Transformator średniego napięcia
High Voltage Transformer = Transformator wysokiego napięcia
Control Logic Unit = Jednostka sterująca
Mixed Metal Ingot = Sztabka zmieszanych metali
Composite Plate = Płytka kompozytowa
Copper Plate = Płytka miedziana
Carbon Plate = Płytka węglowa
Graphite = Grafit
Carbon Cloth = Włókno węglowe
Raw Latex = Lateks naturalny
Rubber Fiber = Włókno gumowe
%.1f%%-Fissile Uranium Ingot = %.1f%% Sztabka uranu
%.1f%%-Fissile Uranium Block = %.1f%% Blok uranu
## Machine misc
Machine cannot be removed because it is not empty = Nie można usunąć maszyny, ponieważ nie jest pusta
Inventory move disallowed due to protection = Przenoszenie rzeczy z ekwipunku niemożliwe z powodu ochrony
# $1: Machine name (Includes tier)
@1 Active (@2 EU) = @1 Aktywny (@2 EU)
%s Active = %s Aktywny/a
%s Disabled = %s Wyłączony/a
%s Enabled = %s Włączony/a
%s Idle = %s Bezczynny/a
%s Improperly Placed = %s Ustawiony/a nieprawidłowo
%s is empty = %s jest pusty/a
%s Unpowered = %s brak zasilania
%s Out Of Fuel = %s brak paliwa
%s Has Bad Cabling = %s Źle podłączono kable
%s Has No Network = %s Nie podłączony/a do sieci
%s Finished = %s Ukończony
Enable/Disable = Włącz/Wyłącz
Range = Zasięg
Upgrade Slots = Miejsca na ulepszenia
In: = Wejście
Out: = Wyjście
Slot %d = Otwór %d
Itemwise = Jeden przedmiot
Stackwise = Cały stack
Ignoring Mesecon Signal = Ignoruj sygnał Mesecon
Controlled by Mesecon Signal = Sterowany sygnałem Mesecon
Owner: = Właściciel:
Unlocked = Odblokowany/a
Locked = Zablokowany/a
Radius: = Promień:
Enabled = Włączony/a
Disabled = Wyłączony/a
## Machine names
# $1: Tier
%s Alloy Furnace = %s Piec stopowy
%s Battery Box = %s Skrzynka baterii
%s Cable = %s Przewód
%s Centrifuge = %s Centryfuga
%s Compressor = %s Kompresor
%s Extractor = %s Ekstraktor
%s Forcefield Emitter = %s Emiter pola siłowego
%s Furnace = %s Piec
%s Grinder = %s Młynek
%s Music Player = %s Odtwarzacz muzyki
%s Quarry = %s Kamieniołom
%s Tool Workshop = %s Warsztat narzędzi
Arrayed Solar %s Generator = %s Szeregowy generator słoneczny
Fuel-Fired %s Generator = %s Generator zasilany paliwem
Geothermal %s Generator = %s Generator geotermalny
Hydro %s Generator = %s Hydrogenerator
Nuclear %s Generator Core = %s Reaktor atomowy
Small Solar %s Generator = %s Mały generator słoneczny
Wind %s Generator = %s Generator wiatrowy
Self-Contained Injector = Samowystarczalny wtryskiwacz
Constructor Mk%d = Konstruktor Mk%d
Frame = Klatka
Frame Motor = Silnik klatkowy
Template = Szablon
Template (replacing) = Szablon (zastępczy)
Template Motor =Szablon silnika
Template Tool = Szablon narzędzia
Battery Box = Skrzynka baterii
Supply Converter = Konwerter zasilania
Switching Station = Rozdzielnia
Fuel-Fired Alloy Furnace = Piec stopowy zasilany paliwem
Fuel-Fired Furnace = Piec zasilany paliwem
Wind Mill Frame = Klatka wiatraka
Forcefield = Pole siłowe
Nuclear Reactor Rod Compartment = Komora rdzenia reaktora atomowego
Administrative World Anchor = Administracyjna kotwica świata
## Machine-specific
# $1: Pruduced EU
Charge = Ładuj
Discharge = Rozładuj
Power level = Poziom zasilania
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 = @1 Skrzynka baterii: @2/@3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 = @1. Zapas: @2 Pobór: @3
Production at %d%% = Produkowanie w %d%%
Choose Milling Program: = Wybierz program mielenia:
Slim Elements half / normal height: = Małe elementy połowa / normalna wysokość:
Stopped = Zatrzymany/a
Keeping %d/%d map blocks loaded = Ciągle ładuję %d/%d bloki mapy
Digging not started = Nie rozpoczęto kopania
Digging finished = Kopanie skończone
Digging %d m above machine = Kopię %d m nad maszyną
Digging %d m below machine = Kopię %d m pod maszyną
@1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5)
## Grinder Recipes
# $1: Name
%s Dust = %s Pył
Akalin = Akalinowy
Alatro = Alatrowy
Arol = Arolowy
Brass = Mosiądzu
Bronze = Brązu
Carbon Steel = Stali węglowej
Cast Iron = Żeliwa
Chromium = Chromu
Coal = Węglowy
Copper = Miedzi
Gold = Złoty
Mithril = Mithrilu
Silver = Srebrny
Stainless Steel = Stali nierdzewnej
Talinite = Talinitu
Tin = Cyny
Wrought Iron = Kutego żelaza
Zinc = Cynku
%.1f%%-Fissile Uranium = %.1f%% Uranu
## Tools
RE Battery = Bateria ładowalna
Water Can = Kanister wody
Lava Can = Kanister lawy
Chainsaw = Piła łańcuchowa
Flashlight = Latarka
3 nodes deep. = Głęboki na 3 bloki.
3 nodes tall. = Wysoki na 3 bloki.
3 nodes wide. = Szeroki na 3 bloki.
3x3 nodes. = 3x3 bloki.
Use while sneaking to change Mining Drill Mk%d modes. = Użyj podczas skradania, aby zmienić tryby wiertła górniczego Mk%d
Mining Drill Mk%d Mode %d = Tryb wiertła górniczego Mk%d
Mining Drill Mk%d = Wiertło górnicze Mk%d
Mining Laser Mk%d = Laser górniczy Mk%d
Single node. = Pojedynczy blok.
Sonic Screwdriver = Dźwiękowy śrubokręt
Tree Tap = Nacinak drzewny
## Craft descriptions
Alloy cooking = Stapianie
Grinding = Mielenie
Compressing = Kompresowanie
Extracting = Ekstrakcja
Separating = Oddzielanie

View File

@ -0,0 +1,230 @@
# textdomain: technic
@1 Alloy Furnace=@1 Печь для сплава
Alloying=Легирование
Administrative World Anchor=Административный мировой якорь
Owner:=Владелец:
Unlocked=Разблокировано
Locked=Заблокировано
Keeping @1/@2 map blocks loaded=Сохранение загруженных блоков карты @1/@2
Radius:=Радиус:
Disabled=Выключено
Enabled=Включено
## Tools
RE Battery=RE Батарея
@1 Battery Box=@1 Батарейный отсек
## Machine-specific
# $1: Pruduced EU
Charge=Зарядка
Discharge=Разрядка
Power level=Уровень мощности
@1 Battery Box Has No Network=@1 В аккумуляторном ящике нет сети
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2 / @3=@1 Батарейный ящик: @2 / @3
@1 Cable=@1 Кабель
@1 Cable Plate=@1 Кабельная пластина
Water Can=Банка с водой
Lava Can=Банка с лавой
River Water Can=Канистра для речной воды
@1 Centrifuge=@1 Центрифуга
Separating=Разделение
Chainsaw=Бензопила
Fuel-Fired Alloy Furnace=Топливная печь для сплавов
@1 is empty=@1 пусто
@1 Out Of Fuel=@1 закончилось топливо
Fuel-Fired Furnace=Топливная печь
## Machine misc
Machine cannot be removed because it is not empty=Машину невозможно удалить, поскольку она не пуста.
Inventory move disallowed due to protection=Перемещение инвентаря запрещено из-за защиты
@1 Compressor=@1 Компрессор
Compressing=Сжатие
Constructor Mk@1=Конструктор Мк@1
Slot @1=Слот @1
@1 Furnace=@1 Печь
@1 Extractor=@1 Экстрактор
Extracting=Извлечение
Flashlight=Фонарик
Range=Диапазон
##Force firld
Sphere=Сфера
Cube=Куб
@1 Disabled=@1 Отключено
@1 Forcefield Emitter=@1 Эмиттер силового поля
@1 Enabled=@1 Включено
@1 Forcefield=@1 Силовое поле
@1 Unpowered=@1 Без питания
@1 Active=@1 Активный
Ignoring Mesecon Signal=Игнорирование сигнала Месекона
Controlled by Mesecon Signal=Управляется сигналом Месекон
Frame=Рамка
Frame Motor=Рамный двигатель
Template=Шаблон
Template (replacing)=Шаблон (замена)
Template Tool=Инструмент «Шаблон»
Template Motor=Мотор шаблона
@1 Freezer=@1 Морозильник
Freezing=Замораживание
Fuel-Fired @1 Generator=Топливный @1 генератор
Geothermal @1 Generator=Геотермальный @1 генератор
Geothermal %s Generator=
@1 Grinder=@1 Гриндер
Grinding=Шлифование
Dust=Пыль
## Grinder Recipes
# $1: Name
@1 Dust=@1 Пыль
@1-Fissile Uranium=@1-Делящийся уран
Sawdust=Опилки
@1 Grinding=@1 Шлифовка
Hydro @1 Generator=Гидрогенератор @1
[Technic] Loaded in @1 seconds=[Техника] Загружено за @1 секунду
Self-Contained Injector=Автономный инжектор
Stackwise=Стекообразно
Itemwise=По пунктам
Public=Публичный
Private=Частный
## Items
Silicon Wafer=Кремниевая пластина
Doped Silicon Wafer=Легированная кремниевая пластина
Uranium Fuel=Урановое топливо
Diamond Drill Head=Алмазная буровая головка
Blue Energy Crystal=Синий энергетический кристалл
Green Energy Crystal=Зеленый Энергетический Кристалл
Red Energy Crystal=Красный Энергетический Кристалл
Copper Coil=Медная катушка
Low Voltage Transformer=Трансформатор низкого напряжения
Medium Voltage Transformer=Трансформатор среднего напряжения
High Voltage Transformer=Трансформатор высокого напряжения
Control Logic Unit=Логический блок управления
Mixed Metal Ingot=Смешанный металлический слиток
Composite Plate=Композитная пластина
Copper Plate=Медная тарелка
Carbon Plate=Карбоновая пластина
Graphite=Графит
Carbon Cloth=Углеродная ткань
Machine Casing=Корпус машины
Rubber Goo=Резиновая жижа
@1-Fissile Uranium Ingot=@1-Слиток делящегося урана
@1-Fissile Uranium Block=@1-Делящийся урановый блок
@1 Lamp=@1 Лампа
@1 Off=@1 Выкл.
Dummy light source node=Узел фиктивного источника света
@1 LED=@1 светодиод
LV=ЛВ
someone=кто-то
Sorry, @1 owns that spot.=Извините, это место принадлежит @1.
Yellow Glowlight (thick)=Желтый светящийся свет (густой)
Yellow Glowlight (thin)=Желтый светящийся свет (тонкий)
White Glowlight (thick)=Белый светящийся свет (толстый)
White Glowlight (thin)=Белый светящийся свет (тонкий)
Yellow Glowlight (small cube)=Желтый светящийся свет (маленький куб)
White Glowlight (small cube)=Белый светящийся свет (маленький куб)
Single node.=Одиночный узел.
3 nodes deep.=Глубина 3 узла.
3 nodes wide.=Ширина 3 узла.
3 nodes tall.=Высота 3 узла.
3x3 nodes.=3х3 узла.
Mining Drill Mk%1 Mode %2=Горный бур Mk%1, режим %2
Use while sneaking to change Mining Drill Mk@1 modes.=
Mining Drill Mk@1=Горный бур Mk@1
Mining Laser Mk%d=
%s Music Player=%s Музыкальный проигрыватель
Stopped=Остановлено
Current track %s=Текущий трек %s
@1 Nuclear Reactor Core=@1 Активная зона ядерного реактора
HV=
Nuclear Reactor Rod Compartment=Стержневой отсек ядерного реактора
@1 Idle=@1 В режиме ожидания
Power Monitor=Монитор мощности
Power Monitor. Supply: @1 Demand: @2=
Power Monitor Has No Network=У монитора питания нет сети
Prospector=Старатель
%s Quarry=%s Карьер
Digging not started=Копать не начали
Digging finished=Копание закончено
Purging cache=Очистка кэша
Restart=Перезапуск
%s purging cache=
%s Finished=%s Завершено
Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.=Ручное извлечение/удаление из кэша невозможно. Если вы не хотите ждать, перезапустите или отключите карьер, чтобы начать автоматическую очистку.
%s Unpowered=
%s Active=
%s Disabled=
Chernobylite Block=Блок Чернобылит
Arrayed Solar @1 Generator=Массивный солнечный @1 генератор
Small Solar %s Generator=Маленький солнечный %s генератор
%s Idle=
@1 Active (@2)=@1 Активный (@2)
Sonic Screwdriver (left-click rotates face, right-click rotates axis)=
Input Power=Входная мощность
Supply Converter=Преобразователь питания
%s Enabled=
@1 (@2 @3 -> @4 @5)=@1 (@2 @3 -> @4 @5)
%s Has Bad Cabling=%s Имеет плохой кабель
Switching Station=Коммутационная станция
%s Already Present=
@1. Supply: @2 Demand: @3=
@1 Has No Network=@1 не имеет сети
@1 Tool Workshop=@1 Инструментальная мастерская
Upgrade Slots=Обновление слотов
Tree Tap=Деревянный кран
Raw Latex=Сырой латекс
Rubber Fiber=Резиновое волокно
Vacuum Cleaner=Пылесос
Hydro %s Generator=Гидро %s генератор
Wind Mill Frame=Рама ветряной мельницы
Wind %s Generator=Ветеро %s Генератор
%s Improperly Placed=%s Размещено неправильно
@1 (@2)=
##### not used anymore #####
Use while sneaking to change Mining Drill Mk%d modes.=Используйте кнопку подкрадывания, чтобы изменить режимы Горного бура Mk%d.
Mining Laser Mk@1=Горный лазер Mk@1
[Technic] Loaded in %f seconds=[Техника] Загружено за %f секунд
Constructor Mk%d=Конструктор Mk%d
Slot %d=Слот %d
%s is empty=%s пуст
Keeping %d/%d map blocks loaded=Сохранение загруженных блоков карты %d/%d
Enriched Uranium=Обогащенный уран
Fine Copper Wire=Тонкая медная проволока
Fine Gold Wire=Тонкая золотая проволока
Fine Silver Wire=Тонкая серебряная проволока
Electric Motor=Электрический двигатель
# $1: Machine name (Includes tier)
@1 Active (@2 EU)=@1 Актив (@2 EU)
%s (Slave)=%s (Подчиненный)
Enable/Disable=Включить/Выключить
In:=Вход:
Out:=Выход:
Nuclear %s Generator Core=Ядро %s ядерного генератора
Battery Box=Батарейный ящик
Forcefield=Силовое поле
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3=@1. Поставляет: @2 Спрос: @3
Production at %d%%=Производство на %d%%
Choose Milling Program:=Выберите программу фрезерования:
Slim Elements half / normal height:=Slim Elements половинная/нормальная высота:
Digging %d m above machine=Копаем %d м над машиной
Digging %d m below machine=Копаем %d м под машиной
Akalin=Акалин
Alatro=Алатро
Arol=Арол
Brass=Латунь
Bronze=Бронза
Carbon Steel=Углеродистая сталь
Cast Iron=Чугун
Chromium=Хром
Coal=Уголь
Copper=Медь
Gold=Золото
Mithril=Мифрил
Silver=Серебро
Stainless Steel=Нержавеющая сталь
Talinite=Талинит
Tin=Банка
Wrought Iron=Кованое железо
Zinc=Цинк
Sonic Screwdriver=Звуковая отвертка
## Craft descriptions
Alloy cooking=Сплав варочный

View File

@ -1,178 +1,199 @@
# textdomain: technic
@1 Alloy Furnace=
Alloying=
Administrative World Anchor=
Owner:=
Unlocked=
Locked=
Keeping @1/@2 map blocks loaded=
Radius:=
Disabled=
Enabled=
RE Battery=
@1 Battery Box=
Charge=
Discharge=
Power level=
@1 Battery Box Has No Network=
@1 Battery Box: @2 / @3=
@1 Cable=
@1 Cable Plate=
Water Can=
Lava Can=
River Water Can=
@1 Centrifuge=
Separating=
Chainsaw=
Fuel-Fired Alloy Furnace=
@1 is empty=
@1 Out Of Fuel=
Fuel-Fired Furnace=
Machine cannot be removed because it is not empty=
Inventory move disallowed due to protection=
@1 Compressor=
Compressing=
Constructor Mk@1=
Slot @1=
@1 Furnace=
@1 Extractor=
Extracting=
Flashlight=
Range=
Sphere=
Cube=
@1 Disabled=
@1 Forcefield Emitter=
@1 Enabled=
@1 Forcefield=
@1 Unpowered=
@1 Active=
Ignoring Mesecon Signal=
Controlled by Mesecon Signal=
Frame=
Frame Motor=
Template=
Template (replacing)=
Template Tool=
Template Motor=
@1 Freezer=
Freezing=
Fuel-Fired @1 Generator=
Geothermal @1 Generator=
Geothermal %s Generator=
@1 Grinder=
Grinding=
Dust=
@1 Dust=
@1-Fissile Uranium=
Sawdust=
@1 Grinding=
Hydro @1 Generator=
[Technic] Loaded in @1 seconds=
Self-Contained Injector=
Stackwise=
Itemwise=
Public=
Private=
Silicon Wafer=
Doped Silicon Wafer=
Uranium Fuel=
Diamond Drill Head=
Blue Energy Crystal=
Green Energy Crystal=
Red Energy Crystal=
Copper Coil=
Low Voltage Transformer=
Medium Voltage Transformer=
High Voltage Transformer=
Control Logic Unit=
Mixed Metal Ingot=
Composite Plate=
Copper Plate=
Carbon Plate=
Graphite=
Carbon Cloth=
Machine Casing=
Rubber Goo=
@1-Fissile Uranium Ingot=
@1-Fissile Uranium Block=
@1 Lamp=
@1 Off=
Dummy light source node=
@1 LED=
LV=
someone=
Sorry, @1 owns that spot.=
Yellow Glowlight (thick)=
Yellow Glowlight (thin)=
White Glowlight (thick)=
White Glowlight (thin)=
Yellow Glowlight (small cube)=
White Glowlight (small cube)=
Single node.=
3 nodes deep.=
3 nodes wide.=
3 nodes tall.=
3x3 nodes.=
Mining Drill Mk#1 Mode #2=
Use while sneaking to change Mining Drill Mk@1 modes.=
Mining Drill Mk@1=
Mining Laser Mk%d=
%s Music Player=
Stopped=
Current track %s=
@1 Nuclear Reactor Core=
HV=
Nuclear Reactor Rod Compartment=
@1 Idle=
Power Monitor=
Power Monitor. Supply: @1 Demand: @2=
Power Monitor Has No Network=
Prospector=
%s Quarry=
Digging not started=
Digging finished=
Purging cache=
Restart=
%s purging cache=
%s Finished=
Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.=
%s Unpowered=
%s Active=
%s Disabled=
Chernobylite Block=
Arrayed Solar @1 Generator=
Small Solar %s Generator=
%s Idle=
@1 Active (@2)=
Sonic Screwdriver (left-click rotates face, right-click rotates axis)=
Input Power=
Supply Converter=
%s Enabled=
@1 (@2 @3 -> @4 @5)=
%s Has Bad Cabling=
Switching Station=
%s Already Present=
@1. Supply: @2 Demand: @3=
%s Has No Network=
%s Tool Workshop=
Upgrade Slots=
Tree Tap=
Raw Latex=
Rubber Fiber=
Vacuum Cleaner=
Hydro %s Generator=
Wind Mill Frame=
Wind %s Generator=
%s Improperly Placed=
@1 (@2)=
##### not used anymore #####
# template.txt
# Template for translations of Technic
## Misc
[Technic] Loaded in %f seconds =
## Items
Silicon Wafer =
Doped Silicon Wafer =
Enriched Uranium =
Uranium Fuel =
Diamond Drill Head =
Blue Energy Crystal =
Green Energy Crystal =
Red Energy Crystal =
Fine Copper Wire =
Fine Gold Wire =
Fine Silver Wire =
Copper Coil =
Electric Motor =
Low Voltage Transformer =
Medium Voltage Transformer =
High Voltage Transformer =
Control Logic Unit =
Mixed Metal Ingot =
Composite Plate =
Copper Plate =
Carbon Plate =
Graphite =
Carbon Cloth =
Raw Latex =
Rubber Fiber =
%.1f%%-Fissile Uranium Ingot =
%.1f%%-Fissile Uranium Block =
## Machine misc
Machine cannot be removed because it is not empty =
Inventory move disallowed due to protection =
# $1: Machine name (Includes tier)
@1 Active (@2 EU) =
%s Active =
%s Disabled =
%s Enabled =
%s Idle =
%s Improperly Placed =
%s is empty =
%s Unpowered =
%s Out Of Fuel =
%s Has Bad Cabling =
%s (Slave) =
%s Has No Network =
%s Finished =
Enable/Disable =
Range =
Upgrade Slots =
In: =
Out: =
Slot %d =
Itemwise =
Stackwise =
Ignoring Mesecon Signal =
Controlled by Mesecon Signal =
Owner: =
Unlocked =
Locked =
Radius: =
Enabled =
Disabled =
## Machine names
# $1: Tier
%s Alloy Furnace =
%s Battery Box =
%s Cable =
%s Centrifuge =
%s Compressor =
%s Extractor =
%s Forcefield Emitter =
%s Furnace =
%s Grinder =
%s Music Player =
%s Quarry =
%s Tool Workshop =
Arrayed Solar %s Generator =
Fuel-Fired %s Generator =
Geothermal %s Generator =
Hydro %s Generator =
Nuclear %s Generator Core =
Small Solar %s Generator =
Wind %s Generator =
Self-Contained Injector =
Constructor Mk%d =
Frame =
Frame Motor =
Template =
Template (replacing) =
Template Motor =
Template Tool =
Battery Box =
Supply Converter =
Switching Station =
Fuel-Fired Alloy Furnace =
Fuel-Fired Furnace =
Wind Mill Frame =
Forcefield =
Nuclear Reactor Rod Compartment =
Administrative World Anchor =
## Machine-specific
# $1: Pruduced EU
Charge =
Discharge =
Power level =
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 =
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 =
Production at %d%% =
Choose Milling Program: =
Slim Elements half / normal height: =
Current track %s =
Stopped =
Keeping %d/%d map blocks loaded =
Digging not started =
Digging finished =
Digging %d m above machine =
Digging %d m below machine =
@1 (@2 @3 -> @4 @5) =
## Grinder Recipes
# $1: Name
%s Dust =
Akalin =
Alatro =
Arol =
Brass =
Bronze =
Carbon Steel =
Cast Iron =
Chromium =
Coal =
Copper =
Gold =
Mithril =
Silver =
Stainless Steel =
Talinite =
Tin =
Wrought Iron =
Zinc =
%.1f%%-Fissile Uranium =
## Tools
RE Battery =
Water Can =
Lava Can =
Chainsaw =
Flashlight =
3 nodes deep. =
3 nodes tall. =
3 nodes wide. =
3x3 nodes. =
Use while sneaking to change Mining Drill Mk%d modes. =
Mining Drill Mk%d Mode %d =
Mining Drill Mk%d =
Mining Laser Mk%d =
Single node. =
Sonic Screwdriver =
Tree Tap =
## Craft descriptions
Alloy cooking =
Grinding =
Compressing =
Extracting =
Separating =

View File

@ -10,7 +10,7 @@ local digilines_path = minetest.get_modpath("digilines")
local forcefield_power_drain = 10
local S = technic.getter
local S = minetest.get_translator("technic")
local cable_entry = "^technic_cable_connection_overlay.png"
@ -115,10 +115,10 @@ local function set_forcefield_formspec(meta)
-- TODO: String replacement with %s will stop working with client-side translations
if meta:get_int("enabled") == 0 then
formspec = formspec.."button[0,1.75;5,1;enable;"..
S("%s Disabled"):format(S("%s Forcefield Emitter"):format("HV")).."]"
S("@1 Disabled", S("@1 Forcefield Emitter", "HV")).."]"
else
formspec = formspec.."button[0,1.75;5,1;disable;"..
S("%s Enabled"):format(S("%s Forcefield Emitter"):format("HV")).."]"
S("@1 Enabled", S("@1 Forcefield Emitter", "HV")).."]"
end
meta:set_string("formspec", formspec)
end
@ -249,7 +249,7 @@ local function run(pos, node)
local eu_input = meta:get_int("HV_EU_input")
local enabled = meta:get_int("enabled") ~= 0 and
(meta:get_int("mesecon_mode") == 0 or meta:get_int("mesecon_effect") ~= 0)
local machine_name = S("%s Forcefield Emitter"):format("HV")
local machine_name = S("@1 Forcefield Emitter", "HV")
local range = meta:get_int("range")
local power_requirement
@ -264,14 +264,14 @@ local function run(pos, node)
if node.name == "technic:forcefield_emitter_on" then
update_forcefield(pos, meta, false)
technic.swap_node(pos, "technic:forcefield_emitter_off")
meta:set_string("infotext", S("%s Disabled"):format(machine_name))
meta:set_string("infotext", S("@1 Disabled", machine_name))
end
meta:set_int("HV_EU_demand", 0)
return
end
meta:set_int("HV_EU_demand", power_requirement)
if eu_input < power_requirement then
meta:set_string("infotext", S("%s Unpowered"):format(machine_name))
meta:set_string("infotext", S("@1 Unpowered", machine_name))
if node.name == "technic:forcefield_emitter_on" then
update_forcefield(pos, meta, false)
technic.swap_node(pos, "technic:forcefield_emitter_off")
@ -279,14 +279,14 @@ local function run(pos, node)
elseif eu_input >= power_requirement then
if node.name == "technic:forcefield_emitter_off" then
technic.swap_node(pos, "technic:forcefield_emitter_on")
meta:set_string("infotext", S("%s Active"):format(machine_name))
meta:set_string("infotext", S("@1 Active", machine_name))
end
update_forcefield(pos, meta, true)
end
end
minetest.register_node("technic:forcefield_emitter_off", {
description = S("%s Forcefield Emitter"):format("HV"),
description = S("@1 Forcefield Emitter", "HV"),
tiles = {
"technic_forcefield_emitter_off.png",
"technic_machine_bottom.png"..cable_entry,
@ -308,7 +308,7 @@ minetest.register_node("technic:forcefield_emitter_off", {
if digilines_path then
meta:set_string("channel", "forcefield"..minetest.pos_to_string(pos))
end
meta:set_string("infotext", S("%s Forcefield Emitter"):format("HV"))
meta:set_string("infotext", S("@1 Forcefield Emitter", "HV"))
set_forcefield_formspec(meta)
end,
mesecons = mesecons,
@ -317,7 +317,7 @@ minetest.register_node("technic:forcefield_emitter_off", {
})
minetest.register_node("technic:forcefield_emitter_on", {
description = S("%s Forcefield Emitter"):format("HV"),
description = S("@1 Forcefield Emitter", "HV"),
tiles = {
"technic_forcefield_emitter_on.png",
"technic_machine_bottom.png"..cable_entry,
@ -349,7 +349,7 @@ minetest.register_node("technic:forcefield_emitter_on", {
})
minetest.register_node("technic:forcefield", {
description = S("%s Forcefield"):format("HV"),
description = S("@1 Forcefield", "HV"),
sunlight_propagates = true,
drawtype = "glasslike",
groups = {not_in_creative_inventory=1},

View File

@ -15,7 +15,7 @@ local fuel_type = "technic:uranium_fuel" -- The reactor burns this
local digiline_meltdown = technic.config:get_bool("enable_nuclear_reactor_digiline_selfdestruct")
local digiline_remote_path = minetest.get_modpath("digiline_remote")
local S = technic.getter
local S = minetest.get_translator("technic")
local reactor_desc = S("@1 Nuclear Reactor Core", S("HV"))
local cable_entry = "^technic_cable_connection_overlay.png"

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local tube_entry = "^pipeworks_tube_connection_metallic.png"
local cable_entry = "^technic_cable_connection_overlay.png"
@ -22,7 +22,7 @@ local function set_quarry_formspec(meta)
local formspec = "size[6,4.3]"..
"list[context;cache;0,1;4,3;]"..
"item_image[4.8,0;1,1;technic:quarry]"..
"label[0,0.2;"..S("%s Quarry"):format("HV").."]"..
"label[0,0.2;"..S("@1 Quarry", "HV").."]"..
"field[4.3,3.5;2,1;size;"..S("Radius:")..";"..radius.."]"
if meta:get_int("enabled") == 0 then
formspec = formspec.."button[4,1;2,1;enable;"..S("Disabled").."]"
@ -46,11 +46,11 @@ end
local function set_quarry_demand(meta)
local radius = meta:get_int("size")
local diameter = radius*2 + 1
local machine_name = S("%s Quarry"):format("HV")
local machine_name = S("@1 Quarry", "HV")
local do_purge = meta:get_int("purge_on") == 1
if meta:get_int("enabled") == 0 or do_purge then
local infotext = do_purge and
S("%s purging cache") or S("%s Disabled")
S("@1 purging cache") or S("%s Disabled")
meta:set_string("infotext", infotext:format(machine_name))
meta:set_int("HV_EU_demand", 0)
elseif meta:get_int("dug") == diameter*diameter * (quarry_dig_above_nodes+1+quarry_max_depth) then

View File

@ -5,7 +5,7 @@
minetest.register_alias("geothermal", "technic:geothermal")
local S = technic.getter
local S = minetest.get_translator("technic")
minetest.register_craft({
output = 'technic:geothermal',
@ -21,7 +21,7 @@ minetest.register_craft({
})
minetest.register_craftitem("technic:geothermal", {
description = S("Geothermal %s Generator"):format("LV"),
description = S("Geothermal @1 Generator", "LV"),
})
local check_node_around = function(pos)
@ -70,7 +70,7 @@ local run = function(pos, node)
end
meta:set_string("infotext",
S("Geothermal %s Generator"):format("LV").." ("..production_level.."%)")
S("Geothermal @1 Generator", "LV").." ("..production_level.."%)")
if production_level > 0 and minetest.get_node(pos).name == "technic:geothermal" then
technic.swap_node (pos, "technic:geothermal_active")
@ -83,7 +83,7 @@ local run = function(pos, node)
end
minetest.register_node("technic:geothermal", {
description = S("Geothermal %s Generator"):format("LV"),
description = S("Geothermal @1 Generator", "LV"),
tiles = {"technic_geothermal_top.png", "technic_machine_bottom.png", "technic_geothermal_side.png",
"technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png"},
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2,
@ -93,14 +93,14 @@ minetest.register_node("technic:geothermal", {
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("Geothermal %s Generator"):format("LV"))
meta:set_string("infotext", S("Geothermal @1 Generator", "LV"))
meta:set_int("LV_EU_supply", 0)
end,
technic_run = run,
})
minetest.register_node("technic:geothermal_active", {
description = S("Geothermal %s Generator"):format("LV"),
description = S("Geothermal @1 Generator", "LV"),
tiles = {"technic_geothermal_top_active.png", "technic_machine_bottom.png", "technic_geothermal_side.png",
"technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png"},
paramtype2 = "facedir",

View File

@ -3,7 +3,7 @@
-- Illuminates a 7x7x3(H) volume below itself with light bright as the sun.
local S = technic.getter
local S = minetest.get_translator("technic")
local desc = S("@1 Lamp", S("LV"))
local active_desc = S("@1 Active", desc)

View File

@ -1,7 +1,7 @@
-- LED
-- Intended primarily as a core component for LED lamps.
local S = technic.getter
local S = minetest.get_translator("technic")
local desc = S("@1 LED", S("LV"))
local active_desc = S("@1 Active", desc)

View File

@ -1,7 +1,7 @@
-- LV Music player.
-- The player can play music. But it is high ampage!
local S = technic.getter
local S = minetest.get_translator("technic")
minetest.register_alias("music_player", "technic:music_player")
minetest.register_craft({
@ -23,7 +23,7 @@ end
local run = function(pos, node)
local meta = minetest.get_meta(pos)
local eu_input = meta:get_int("LV_EU_input")
local machine_name = S("%s Music Player"):format("LV")
local machine_name = S("@1 Music Player", "LV")
local demand = 150
local current_track = meta:get_int("current_track")
@ -38,19 +38,19 @@ local run = function(pos, node)
end
if meta:get_int("active") == 0 then
meta:set_string("infotext", S("%s Idle"):format(machine_name))
meta:set_string("infotext", S("@1 Idle", machine_name))
meta:set_int("LV_EU_demand", 0)
return
end
if eu_input < demand then
meta:set_string("infotext", S("%s Unpowered"):format(machine_name))
meta:set_string("infotext", S("@1 Unpowered", machine_name))
if music_handle then
minetest.sound_stop(music_handle)
music_handle = nil
end
elseif eu_input >= demand then
meta:set_string("infotext", S("%s Active"):format(machine_name))
meta:set_string("infotext", S("@1 Active", machine_name))
if not music_handle then
music_handle = play_track(pos, current_track)
end
@ -72,7 +72,7 @@ local function set_display(meta)
meta:set_string("formspec",
"size[4,4.5]"..
"item_image[0,0;1,1;technic:music_player]"..
"label[1,0;"..S("%s Music Player"):format("LV").."]"..
"label[1,0;"..S("@1 Music Player", "LV").."]"..
"button[0,1;1,1;track1;1]"..
"button[1,1;1,1;track2;2]"..
"button[2,1;1,1;track3;3]"..
@ -86,11 +86,11 @@ local function set_display(meta)
"label[0,4;"..minetest.formspec_escape(
meta:get_int("active") == 0 and
S("Stopped") or
S("Current track %s"):format(meta:get_int("current_track"))).."]")
S("Current track @1", "current_track")).."]")
end
minetest.register_node("technic:music_player", {
description = S("%s Music Player"):format("LV"),
description = S("@1 Music Player", "LV"),
tiles = {"technic_music_player_top.png", "technic_machine_bottom.png", "technic_music_player_side.png",
"technic_music_player_side.png", "technic_music_player_side.png", "technic_music_player_side.png"},
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2,
@ -99,7 +99,7 @@ minetest.register_node("technic:music_player", {
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("%s Music Player"):format("LV"))
meta:set_string("infotext", S("@1 Music Player", "LV"))
set_display(meta)
end,
on_receive_fields = function(pos, formanme, fields, sender)

View File

@ -2,7 +2,7 @@
-- They can however also be used separately but with reduced efficiency due to the missing transformer.
-- Individual panels are less efficient than when the panels are combined into full arrays.
local S = technic.getter
local S = minetest.get_translator("technic")
minetest.register_craft({
@ -23,7 +23,7 @@ local run = function(pos, node)
-- To take care of some of it solar panels do not work outside daylight hours or if
-- built below 0m
local pos1 = {x=pos.x, y=pos.y+1, z=pos.z}
local machine_name = S("Small Solar %s Generator"):format("LV")
local machine_name = S("Small Solar @1 Generator", "LV")
local light = minetest.get_node_light(pos1, nil)
local time_of_day = minetest.get_timeofday()
@ -39,7 +39,7 @@ local run = function(pos, node)
technic.EU_string(charge_to_give)))
meta:set_int("LV_EU_supply", charge_to_give)
else
meta:set_string("infotext", S("%s Idle"):format(machine_name))
meta:set_string("infotext", S("@1 Idle", machine_name))
meta:set_int("LV_EU_supply", 0)
end
end
@ -51,7 +51,7 @@ minetest.register_node("technic:solar_panel", {
technic_machine=1, technic_lv=1},
connect_sides = {"bottom"},
sounds = default.node_sound_wood_defaults(),
description = S("Small Solar %s Generator"):format("LV"),
description = S("Small Solar @1 Generator", "LV"),
active = false,
drawtype = "nodebox",
paramtype = "light",
@ -63,7 +63,7 @@ minetest.register_node("technic:solar_panel", {
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_int("LV_EU_supply", 0)
meta:set_string("infotext", S("Small Solar %s Generator"):format("LV"))
meta:set_string("infotext", S("Small Solar @1 Generator", "LV"))
end,
technic_run = run,
})

View File

@ -2,7 +2,7 @@
-- It is a LV EU supplier and fairly low yield (max 180EUs)
-- It is a little over half as good as the thermal generator.
local S = technic.getter
local S = minetest.get_translator("technic")
local cable_entry = "^technic_cable_connection_overlay.png"
@ -53,7 +53,7 @@ local run = function(pos, node)
meta:set_int("LV_EU_supply", eu_supply)
meta:set_string("infotext",
S("Hydro %s Generator"):format("LV").." ("..production_level.."%)")
S("Hydro @1 Generator", "LV").." ("..production_level.."%)")
if production_level > 0 and
minetest.get_node(pos).name == "technic:water_mill" then
@ -67,7 +67,7 @@ local run = function(pos, node)
end
minetest.register_node("technic:water_mill", {
description = S("Hydro %s Generator"):format("LV"),
description = S("Hydro @1 Generator", "LV"),
tiles = {
"technic_water_mill_top.png",
"technic_machine_bottom.png"..cable_entry,
@ -83,14 +83,14 @@ minetest.register_node("technic:water_mill", {
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("Hydro %s Generator"):format("LV"))
meta:set_string("infotext", S("Hydro @1 Generator", "LV"))
meta:set_int("LV_EU_supply", 0)
end,
technic_run = run,
})
minetest.register_node("technic:water_mill_active", {
description = S("Hydro %s Generator"):format("LV"),
description = S("Hydro @1 Generator", "LV"),
tiles = {"technic_water_mill_top_active.png", "technic_machine_bottom.png",
"technic_water_mill_side.png", "technic_water_mill_side.png",
"technic_water_mill_side.png", "technic_water_mill_side.png"},

View File

@ -1,7 +1,7 @@
-- A Hydro Turbine produces MV EUs by exploiting flowing water across it
-- It is a MV EU supplier and fairly high yield (max 1800EUs)
local S = technic.getter
local S = minetest.get_translator("technic")
local cable_entry = "^technic_cable_connection_overlay.png"
@ -51,7 +51,7 @@ local run = function(pos, node)
meta:set_int("MV_EU_supply", eu_supply)
meta:set_string("infotext",
S("Hydro %s Generator"):format("MV").." ("..production_level.."%)")
S("Hydro @1 Generator", "MV").." ("..production_level.."%)")
if production_level > 0 and
minetest.get_node(pos).name == "technic:hydro_turbine" then
technic.swap_node(pos, "technic:hydro_turbine_active")
@ -64,7 +64,7 @@ local run = function(pos, node)
end
minetest.register_node("technic:hydro_turbine", {
description = S("Hydro %s Generator"):format("MV"),
description = S("Hydro @1 Generator", "MV"),
tiles = {
"technic_hydro_turbine_top.png",
"technic_machine_bottom.png"..cable_entry,
@ -80,14 +80,14 @@ minetest.register_node("technic:hydro_turbine", {
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("Hydro %s Generator"):format("MV"))
meta:set_string("infotext", S("Hydro @1 Generator", "MV"))
meta:set_int("MV_EU_supply", 0)
end,
technic_run = run,
})
minetest.register_node("technic:hydro_turbine_active", {
description = S("Hydro %s Generator"):format("MV"),
description = S("Hydro @1 Generator", "MV"),
tiles = {"technic_hydro_turbine_top_active.png", "technic_machine_bottom.png",
"technic_hydro_turbine_side.png", "technic_hydro_turbine_side.png",
"technic_hydro_turbine_side.png", "technic_hydro_turbine_side.png"},

View File

@ -25,7 +25,7 @@ function technic_homedecor_node_is_owned(pos, placer)
end
if ownername ~= false then
minetest.chat_send_player(placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) )
minetest.chat_send_player(placer:get_player_name(), S("Sorry, @1 owns that spot.", ownername))
return true
else
return false

View File

@ -3,7 +3,7 @@
minetest.register_alias("tool_workshop", "technic:tool_workshop")
local S = technic.getter
local S = minetest.get_translator("technic")
local tube_entry = "^pipeworks_tube_connection_wooden.png"
@ -21,7 +21,7 @@ local workshop_demand = {5000, 3500, 2000}
local workshop_formspec =
"size[8,9;]"..
"list[current_name;src;3,1;1,1;]"..
"label[0,0;"..S("%s Tool Workshop"):format("MV").."]"..
"label[0,0;"..S("@1 Tool Workshop", "MV").."]"..
"list[current_name;upgrade1;1,3;1,1;]"..
"list[current_name;upgrade2;2,3;1,1;]"..
"label[1,4;"..S("Upgrade Slots").."]"..
@ -38,7 +38,7 @@ local run = function(pos, node)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local eu_input = meta:get_int("MV_EU_input")
local machine_name = S("%s Tool Workshop"):format("MV")
local machine_name = S("@1 Tool Workshop", "MV")
-- Setup meta data if it does not exist.
if not eu_input then
@ -66,15 +66,15 @@ local run = function(pos, node)
end
end)
if not repairable then
meta:set_string("infotext", S("%s Idle"):format(machine_name))
meta:set_string("infotext", S("@1 Idle", machine_name))
meta:set_int("MV_EU_demand", 0)
return
end
if eu_input < workshop_demand[EU_upgrade+1] then
meta:set_string("infotext", S("%s Unpowered"):format(machine_name))
meta:set_string("infotext", S("@1 Unpowered", machine_name))
elseif eu_input >= workshop_demand[EU_upgrade+1] then
meta:set_string("infotext", S("%s Active"):format(machine_name))
meta:set_string("infotext", S("@1 Active", machine_name))
srcstack:add_wear(-1000)
inv:set_stack("src", 1, srcstack)
end
@ -82,7 +82,7 @@ local run = function(pos, node)
end
minetest.register_node("technic:tool_workshop", {
description = S("%s Tool Workshop"):format("MV"),
description = S("@1 Tool Workshop", "MV"),
paramtype2 = "facedir",
tiles = {
"technic_workshop_top.png"..tube_entry,
@ -98,7 +98,7 @@ minetest.register_node("technic:tool_workshop", {
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("%s Tool Workshop"):format("MV"))
meta:set_string("infotext", S("@1 Tool Workshop", "MV"))
meta:set_string("formspec", workshop_formspec)
local inv = meta:get_inventory()
inv:set_size("src", 1)

View File

@ -1,4 +1,4 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local desc = S("Administrative World Anchor")
@ -62,9 +62,8 @@ local function set_display(pos, meta)
(meta:get_int("enabled") == 0 and
"button[3,2;2,1;enable;"..ESC(S("Disabled")).."]" or
"button[3,2;2,1;disable;"..ESC(S("Enabled")).."]")..
"label[0,3;"..ESC(S("Keeping %d/%d map blocks loaded"):format(
#currently_forceloaded_positions(meta), #compute_forceload_positions(pos, meta)
)).."]")
"label[0,3;"..ESC(S("Keeping @1/@2 map blocks loaded",
#currently_forceloaded_positions(meta), #compute_forceload_positions(pos, meta))).."]")
end
minetest.register_node("technic:admin_anchor", {

View File

@ -1,7 +1,7 @@
-- Fuel driven alloy furnace. This uses no EUs:
local S = technic.getter
local S = minetest.get_translator("technic")
minetest.register_craft({
output = 'technic:coal_alloy_furnace',
@ -120,7 +120,7 @@ minetest.register_abm({
if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then
local percent = math.floor(meta:get_float("fuel_time") /
meta:get_float("fuel_totaltime") * 100)
meta:set_string("infotext", S("%s Active"):format(machine_name).." ("..percent.."%)")
meta:set_string("infotext", S("@1 Active", machine_name .. " ("..percent.."%)"))
technic.swap_node(pos, "technic:coal_alloy_furnace_active")
meta:set_string("formspec",
"size[8,9]"..
@ -144,7 +144,7 @@ minetest.register_abm({
if not recipe then
if was_active then
meta:set_string("infotext", S("%s is empty"):format(machine_name))
meta:set_string("infotext", S("@1 is empty",machine_name))
technic.swap_node(pos, "technic:coal_alloy_furnace")
meta:set_string("formspec", formspec)
end
@ -161,7 +161,7 @@ minetest.register_abm({
end
if fuel.time <= 0 then
meta:set_string("infotext", S("%s Out Of Fuel"):format(machine_name))
meta:set_string("infotext", S("@1 Out Of Fuel", machine_name))
technic.swap_node(pos, "technic:coal_alloy_furnace")
meta:set_string("formspec", formspec)
return

View File

@ -1,4 +1,4 @@
local S = technic.getter
local S = minetest.get_translator("technic")
if minetest.registered_nodes["default:furnace"].description == "Furnace" then
minetest.override_item("default:furnace", { description = S("Fuel-Fired Furnace") })

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local function deploy_node(inv, slot_name, pos, node, machine_node)
if node.param2 > 3 then return end
@ -131,7 +131,7 @@ end
local function make_constructor(mark, length)
minetest.register_node("technic:constructor_mk"..mark.."_off", {
description = S("Constructor Mk%d"):format(mark),
description = S("Constructor Mk@1", mark),
tiles = {"technic_constructor_mk"..mark.."_top_off.png",
"technic_constructor_mk"..mark.."_bottom_off.png",
"technic_constructor_mk"..mark.."_side2_off.png",
@ -146,16 +146,16 @@ local function make_constructor(mark, length)
on_construct = function(pos)
local meta = minetest.get_meta(pos)
local formspec = "size[8,9;]"..
"label[0,0;"..S("Constructor Mk%d"):format(mark).."]"..
"label[0,0;"..S("Constructor Mk@1",mark).."]"..
"list[current_player;main;0,5;8,4;]"
for i = 1, length do
formspec = formspec
.."label[5,"..(i - 1)..";"..S("Slot %d"):format(i).."]"
.."label[5,"..(i - 1)..";"..S("Slot @1", i).."]"
.."list[current_name;slot"..i
..";6,"..(i - 1)..";1,1;]"
end
meta:set_string("formspec", formspec)
meta:set_string("infotext", S("Constructor Mk%d"):format(mark))
meta:set_string("infotext", S("Constructor Mk@1", mark))
local inv = meta:get_inventory()
for i = 1, length do
inv:set_size("slot"..i, 1)

View File

@ -1,4 +1,4 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local infinite_stacks = minetest.settings:get_bool("creative_mode")
and minetest.get_modpath("unified_inventory") == nil

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local fs_helpers = pipeworks.fs_helpers

View File

@ -2,7 +2,7 @@
-- The power monitor can be used to monitor how much power is available on a network,
-- similarly to the old "slave" switching stations.
local S = technic.getter
local S = minetest.get_translator("technic")
local cable_entry = "^technic_cable_connection_overlay.png"

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
function technic.insert_object_unique_stack(pos, node, incoming_stack, direction)
local meta = minetest.get_meta(pos)
@ -40,7 +40,7 @@ end
function technic.register_alloy_furnace(data)
data.typename = "alloy"
data.machine_name = "alloy_furnace"
data.machine_desc = S("%s Alloy Furnace")
data.machine_desc = S("@1 Alloy Furnace", data.tier)
data.insert_object = technic.insert_object_unique_stack
data.can_insert = technic.can_insert_unique_stack

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
technic.register_recipe_type("alloy", {
description = S("Alloying"),

View File

@ -1,7 +1,7 @@
local digilines_path = minetest.get_modpath("digilines")
local S = technic.getter
local S = minetest.get_translator("technic")
local tube_entry = "^pipeworks_tube_connection_metallic.png"
local cable_entry = "^technic_cable_connection_overlay.png"
@ -92,7 +92,7 @@ local dirtab = {
local tube = {
insert_object = function(pos, node, stack, direction)
--print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2)
print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2)
if direction.y == 1
or (direction.y == 0 and dirtab[direction.x+2+(direction.z+2)*2] == node.param2) then
return stack
@ -106,7 +106,7 @@ local tube = {
end
end,
can_insert = function(pos, node, stack, direction)
--print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2)
print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2)
if direction.y == 1
or (direction.y == 0 and dirtab[direction.x+2+(direction.z+2)*2] == node.param2) then
return false
@ -166,7 +166,7 @@ function technic.register_battery_box(data)
"list[context;src;3,1;1,1;]"..
"image[4,1;1,1;technic_battery_reload.png]"..
"list[context;dst;5,1;1,1;]"..
"label[0,0;"..S("%s Battery Box"):format(tier).."]"..
"label[0,0;"..S("@1 Battery Box",tier).."]"..
"label[3,0;"..S("Charge").."]"..
"label[5,0;"..S("Discharge").."]"..
"label[1,3;"..S("Power level").."]"..
@ -196,7 +196,7 @@ function technic.register_battery_box(data)
local network_id = tonumber(meta:get_string(tier.."_network"))
if not technic.networks[network_id] then
meta:set_string("infotext", S("%s Battery Box Has No Network"):format(tier))
meta:set_string("infotext", S("@1 Battery Box Has No Network", tier))
return
end
@ -259,7 +259,7 @@ function technic.register_battery_box(data)
technic.EU_string(current_charge),
technic.EU_string(max_charge))
if eu_input == 0 then
infotext = S("%s Idle"):format(infotext)
infotext = S("@1 Idle", infotext)
end
meta:set_string("infotext", infotext)
end
@ -288,7 +288,7 @@ function technic.register_battery_box(data)
end
minetest.register_node("technic:"..ltier.."_battery_box"..i, {
description = S("%s Battery Box"):format(tier),
description = S("@1 Battery Box", tier),
tiles = {
top_tex,
bottom_tex,
@ -312,7 +312,7 @@ function technic.register_battery_box(data)
local charge = meta:get_int("internal_EU_charge")
local cpercent = math.floor(charge / max_charge * 100)
local inv = meta:get_inventory()
meta:set_string("infotext", S("%s Battery Box"):format(tier))
meta:set_string("infotext", S("@1 Battery Box", tier))
meta:set_string("formspec", formspec..add_on_off_buttons(meta, ltier, cpercent))
meta:set_string("channel", ltier.."_battery_box"..minetest.pos_to_string(pos))
meta:set_int(tier.."_EU_demand", 0)

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local cable_tier = {}
@ -43,84 +43,106 @@ local function check_connections(pos)
return connections
end
local function clear_networks(pos)
local clear_networks
local function clear_network(network_id)
if not network_id then
return
end
for _,v in pairs(technic.networks[network_id].all_nodes) do
local pos1 = minetest.hash_node_position(v)
technic.cables[pos1] = nil
end
local network_bckup = technic.networks[network_id]
technic.networks[network_id] = nil
for _,n_pos in pairs(network_bckup.PR_nodes) do
clear_networks(n_pos)
end
for _,n_pos in pairs(network_bckup.RE_nodes) do
clear_networks(n_pos)
end
for _,n_pos in pairs(network_bckup.BA_nodes) do
clear_networks(n_pos)
end
end
clear_networks = function(pos)
local node = minetest.get_node(pos)
local meta = minetest.get_meta(pos)
local placed = node.name ~= "air"
local positions = check_connections(pos)
if #positions < 1 then return end
local dead_end = #positions == 1
for _,connected_pos in pairs(positions) do
local net = technic.cables[minetest.hash_node_position(connected_pos)]
if net and technic.networks[net] then
if dead_end and placed then
-- Dead end placed, add it to the network
-- Get the network
local network_id = technic.cables[minetest.hash_node_position(positions[1])]
if not network_id then
-- We're evidently not on a network, nothing to add ourselves to
return
end
local sw_pos = minetest.get_position_from_hash(network_id)
sw_pos.y = sw_pos.y + 1
local network = technic.networks[network_id]
local tier = network.tier
-- Actually add it to the (cached) network
-- !! IMPORTANT: ../switching_station.lua -> check_node_subp() must be kept in sync
if #positions == 1 then
if placed then
-- Dead end placed, add it to the network
-- Get the network
local network_id = technic.cables[minetest.hash_node_position(positions[1])]
if not network_id then
-- We're evidently not on a network, nothing to add ourselves to
return
end
local network = technic.networks[network_id]
local tier = network.tier
-- Actually add it to the (cached) network
-- !! IMPORTANT: ../switching_station.lua -> check_node_subp() must be kept in sync
if technic.is_tier_cable(node.name, tier) then
technic.cables[minetest.hash_node_position(pos)] = network_id
pos.visited = 1
if technic.is_tier_cable(node.name, tier) then
-- Found a cable
table.insert(network.all_nodes,pos)
elseif technic.machines[tier][node.name] then
-- Found a machine
local eu_type = technic.machines[tier][node.name]
meta:set_string(tier.."_network", string.format("%.20g", network_id))
if eu_type == technic.producer then
table.insert(network.PR_nodes, pos)
elseif eu_type == technic.receiver then
table.insert(network.RE_nodes, pos)
elseif eu_type == technic.producer_receiver then
table.insert(network.PR_nodes, pos)
table.insert(network.RE_nodes, pos)
elseif eu_type == technic.battery then
table.insert(network.BA_nodes, pos)
end
-- Note: SPECIAL (i.e. switching station) is not traversed!
table.insert(network.all_nodes,pos)
elseif technic.machines[tier][node.name] then
-- Found a machine
local eu_type = technic.machines[tier][node.name]
meta:set_string(tier.."_network", string.format("%.20g", network_id))
meta:set_int(tier.."_EU_timeout", 2)
if eu_type == technic.producer then
table.insert(network.PR_nodes, pos)
elseif eu_type == technic.receiver then
table.insert(network.RE_nodes, pos)
elseif eu_type == technic.producer_receiver then
table.insert(network.PR_nodes, pos)
table.insert(network.RE_nodes, pos)
elseif eu_type == technic.battery then
table.insert(network.BA_nodes, pos)
end
elseif dead_end and not placed then
-- Dead end removed, remove it from the network
-- Get the network
local network_id = technic.cables[minetest.hash_node_position(positions[1])]
if not network_id then
-- We're evidently not on a network, nothing to add ourselves to
return
end
local network = technic.networks[network_id]
-- Note: SPECIAL (i.e. switching station) is not traversed!
end
else
-- Dead end removed, remove it from the network
-- Get the network
local network_id = technic.cables[minetest.hash_node_position(positions[1])]
if not network_id then
-- We're evidently not on a network, nothing to add ourselves to
return
end
local network = technic.networks[network_id]
-- Search for and remove machine
technic.cables[minetest.hash_node_position(pos)] = nil
for tblname,table in pairs(network) do
if tblname ~= "tier" then
for machinenum,machine in pairs(table) do
if machine.x == pos.x
and machine.y == pos.y
and machine.z == pos.z then
table[machinenum] = nil
end
-- Search for and remove machine
technic.cables[minetest.hash_node_position(pos)] = nil
for tblname,table in pairs(network) do
if tblname ~= "tier" then
for machinenum,machine in pairs(table) do
if machine.x == pos.x
and machine.y == pos.y
and machine.z == pos.z then
table[machinenum] = nil
end
end
end
else
-- Not a dead end, so the whole network needs to be recalculated
for _,v in pairs(technic.networks[net].all_nodes) do
local pos1 = minetest.hash_node_position(v)
technic.cables[pos1] = nil
end
technic.networks[net] = nil
end
end
return
end
clear_network(technic.cables[minetest.hash_node_position(pos)])
for _,connected_pos in pairs(positions) do
local network_id = technic.cables[minetest.hash_node_position(connected_pos)]
-- Not a dead end, so the whole network needs to be recalculated
clear_network(network_id)
end
end
@ -156,7 +178,7 @@ function technic.register_cable(tier, size)
}
minetest.register_node("technic:"..ltier.."_cable", {
description = S("%s Cable"):format(tier),
description = S("@1 Cable", tier),
tiles = {"technic_"..ltier.."_cable.png"},
inventory_image = "technic_"..ltier.."_cable_wield.png",
wield_image = "technic_"..ltier.."_cable_wield.png",
@ -170,7 +192,7 @@ function technic.register_cable(tier, size)
connects_to = {"group:technic_"..ltier.."_cable",
"group:technic_"..ltier, "group:technic_all_tiers"},
on_construct = clear_networks,
on_destruct = clear_networks,
after_destruct = clear_networks,
})
local xyz = {
@ -198,7 +220,7 @@ function technic.register_cable(tier, size)
end
for p, i in pairs(xyz) do
local def = {
description = S("%s Cable Plate"):format(tier),
description = S("@1 Cable Plate", tier),
tiles = {"technic_"..ltier.."_cable.png"},
groups = table.copy(groups),
sounds = default.node_sound_wood_defaults(),
@ -210,7 +232,7 @@ function technic.register_cable(tier, size)
connects_to = {"group:technic_"..ltier.."_cable",
"group:technic_"..ltier, "group:technic_all_tiers"},
on_construct = clear_networks,
on_destruct = clear_networks,
after_destruct = clear_networks,
}
def.node_box.fixed = {
{-size, -size, -size, size, size, size},

View File

@ -1,8 +1,8 @@
local S = technic.getter
local S = minetest.get_translator("technic")
function technic.register_centrifuge(data)
data.typename = "separating"
data.machine_name = "centrifuge"
data.machine_desc = S("%s Centrifuge")
data.machine_desc = S("@1 Centrifuge", data.tier)
technic.register_base_machine(data)
end

View File

@ -1,4 +1,4 @@
local S = technic.getter
local S = minetest.get_translator("technic")
technic.register_recipe_type("separating", {
description = S("Separating"),

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
-- handles the machine upgrades every tick
function technic.handle_machine_upgrades(meta)

View File

@ -1,9 +1,10 @@
local S = technic.getter
local S = minetest.get_translator("technic")
function technic.register_compressor(data)
local tier = data.tier
data.typename = "compressing"
data.machine_name = "compressor"
data.machine_desc = S("%s Compressor")
data.machine_desc = S("@1 Compressor", tier)
technic.register_base_machine(data)
end

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
technic.register_recipe_type("compressing", { description = S("Compressing") })
@ -78,7 +78,7 @@ local recipes = {
{"default:sand 2", "default:sandstone"},
{"default:desert_sand 2", "default:desert_sandstone"},
{"default:silver_sand 2", "default:silver_sandstone"},
{"default:desert_sand", "default:desert_stone"},
{"default:desert_sandstone", "default:desert_stone"},
{"technic:mixed_metal_ingot", "technic:composite_plate"},
{"default:copper_ingot 5", "technic:copper_plate"},
{"technic:coal_dust 4", "technic:graphite"},

View File

@ -1,9 +1,9 @@
local S = technic.getter
local S = minetest.get_translator("technic")
function technic.register_electric_furnace(data)
data.typename = "cooking"
data.machine_name = "electric_furnace"
data.machine_desc = S("%s Furnace")
data.machine_desc = S("@1 Furnace", data.tier)
technic.register_base_machine(data)
end

View File

@ -1,9 +1,9 @@
local S = technic.getter
local S = minetest.get_translator("technic")
function technic.register_extractor(data)
data.typename = "extracting"
data.machine_name = "extractor"
data.machine_desc = S("%s Extractor")
data.machine_desc = S("@1 Extractor", data.tier)
technic.register_base_machine(data)
end

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
technic.register_recipe_type("extracting", { description = S("Extracting") })

View File

@ -1,9 +1,9 @@
local S = technic.getter
local S = minetest.get_translator("technic")
function technic.register_freezer(data)
data.typename = "freezing"
data.machine_name = "freezer"
data.machine_desc = S("%s Freezer")
data.machine_desc = S("@1 Freezer", data.tier)
technic.register_base_machine(data)
end

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
technic.register_recipe_type("freezing", { description = S("Freezing") })

View File

@ -1,4 +1,4 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local fs_helpers = pipeworks.fs_helpers
local tube_entry = "^pipeworks_tube_connection_metallic.png"
@ -36,13 +36,13 @@ function technic.register_generator(data)
local generator_formspec =
"size[8,9;]"..
"label[0,0;"..S("Fuel-Fired %s Generator"):format(tier).."]"..
"label[0,0;"..S("Fuel-Fired @1 Generator", tier) .."]"..
"list[current_name;src;3,1;1,1;]"..
"image[4,1;1,1;default_furnace_fire_bg.png]"..
"list[current_player;main;0,5;8,4;]"..
"listring[]"
local desc = S("Fuel-Fired %s Generator"):format(tier)
local desc = S("Fuel-Fired @1 Generator", tier)
local run = function(pos, node)
local meta = minetest.get_meta(pos)
@ -65,7 +65,7 @@ function technic.register_generator(data)
{method = "fuel", width = 1,
items = fuellist})
if not fuel or fuel.time == 0 then
meta:set_string("infotext", S("%s Out Of Fuel"):format(desc))
meta:set_string("infotext", S("@1 Out Of Fuel", desc))
technic.swap_node(pos, "technic:"..ltier.."_generator")
meta:set_int(tier.."_EU_supply", 0)
return

View File

@ -1,9 +1,9 @@
local S = technic.getter
local S = minetest.get_translator("technic")
function technic.register_grinder(data)
data.typename = "grinding"
data.machine_name = "grinder"
data.machine_desc = S("%s Grinder")
data.machine_desc = S("@1 Grinder", data.tier)
technic.register_base_machine(data)
end

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
technic.register_recipe_type("grinding", { description = S("Grinding") })
@ -103,11 +103,12 @@ for _, data in ipairs(recipes) do
end
-- Dusts
local dust = S("Dust")
local function register_dust(name, ingot)
local lname = string.lower(name)
lname = string.gsub(lname, ' ', '_')
minetest.register_craftitem("technic:"..lname.."_dust", {
description = S("%s Dust"):format(S(name)),
description = S(name) .. ' ' .. dust,
inventory_image = "technic_"..lname.."_dust.png",
})
if ingot then
@ -122,7 +123,7 @@ end
-- Sorted alphabetically
local dusts = {
{"Brass", "basic_materials:brass_ingot"},
{"Brass", "basic_materials:brass_ingot"},
{"Bronze", "default:bronze_ingot"},
{"Carbon Steel", "technic:carbon_steel_ingot"},
{"Cast Iron", "technic:cast_iron_ingot"},
@ -177,7 +178,7 @@ for p = 0, 35 do
local ingot = "technic:uranium"..psuffix.."_ingot"
local dust = "technic:uranium"..psuffix.."_dust"
minetest.register_craftitem(dust, {
description = S("%s Dust"):format(string.format(S("%.1f%%-Fissile Uranium"), p/10)),
description = S("@1 Dust", S("@1-Fissile Uranium", string.format("%.1f%%",p/10))),
inventory_image = "technic_uranium_dust.png",
on_place_on_ground = minetest.craftitem_place_item,
groups = {uranium_dust=1, not_in_creative_inventory=nici},

View File

@ -1,4 +1,4 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local moretrees = minetest.get_modpath("moretrees")
local dye = minetest.get_modpath("dye")
@ -21,7 +21,7 @@ local function register_tree_grinding(name, tree, wood, extract, grinding_color)
inventory_image = inventory_image .. "^[colorize:" .. grinding_color
end
minetest.register_craftitem(grindings_name, {
description = S("%s Grinding"):format(S(name)),
description = S("@1 Grinding", name),
inventory_image = inventory_image,
})
minetest.register_craft({

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local fs_helpers = pipeworks.fs_helpers
local tube_entry = "^pipeworks_tube_connection_metallic.png"
@ -54,7 +54,7 @@ function technic.register_base_machine(data)
"list[current_name;src;"..(4-input_size)..",1;"..input_size..",1;]"..
"list[current_name;dst;5,1;2,2;]"..
"list[current_player;main;0,5;8,4;]"..
"label[0,0;"..machine_desc:format(tier).."]"..
"label[0,0;"..machine_desc.."]"..
"listring[current_name;dst]"..
"listring[current_player;main]"..
"listring[current_name;src]"..
@ -83,7 +83,7 @@ function technic.register_base_machine(data)
local inv = meta:get_inventory()
local eu_input = meta:get_int(tier.."_EU_input")
local machine_desc_tier = machine_desc:format(tier)
local machine_desc_tier = machine_desc
local machine_node = data.modname..":"..ltier.."_"..machine_name
local machine_demand = data.demand
@ -110,18 +110,18 @@ function technic.register_base_machine(data)
local result = technic.get_recipe(typename, inv:get_list("src"))
if not result then
technic.swap_node(pos, machine_node)
meta:set_string("infotext", S("%s Idle"):format(machine_desc_tier))
meta:set_string("infotext", S("@1 Idle", machine_desc_tier))
meta:set_int(tier.."_EU_demand", 0)
meta:set_int("src_time", 0)
return
end
meta:set_int(tier.."_EU_demand", machine_demand[EU_upgrade+1])
technic.swap_node(pos, machine_node.."_active")
meta:set_string("infotext", S("%s Active"):format(machine_desc_tier))
meta:set_string("infotext", S("@1 Active", machine_desc_tier))
if meta:get_int("src_time") < round(result.time*10) then
if not powered then
technic.swap_node(pos, machine_node)
meta:set_string("infotext", S("%s Unpowered"):format(machine_desc_tier))
meta:set_string("infotext", S("@1 Unpowered", machine_desc_tier))
end
return
end
@ -143,7 +143,7 @@ function technic.register_base_machine(data)
end
if not room_for_output then
technic.swap_node(pos, machine_node)
meta:set_string("infotext", S("%s Idle"):format(machine_desc_tier))
meta:set_string("infotext", S("@1 Idle", machine_desc_tier))
meta:set_int(tier.."_EU_demand", 0)
meta:set_int("src_time", round(result.time*10))
return
@ -160,7 +160,7 @@ function technic.register_base_machine(data)
end
minetest.register_node(data.modname..":"..ltier.."_"..machine_name, {
description = machine_desc:format(tier),
description = machine_desc,
tiles = {
data.modname.."_"..ltier.."_"..machine_name.."_top.png"..tentry,
data.modname.."_"..ltier.."_"..machine_name.."_bottom.png"..tentry,
@ -192,7 +192,7 @@ function technic.register_base_machine(data)
)..pipeworks.button_label
end
meta:set_string("infotext", machine_desc:format(tier))
meta:set_string("infotext", machine_desc)
meta:set_int("tube_time", 0)
meta:set_string("formspec", formspec..form_buttons)
local inv = meta:get_inventory()
@ -231,7 +231,7 @@ function technic.register_base_machine(data)
})
minetest.register_node(data.modname..":"..ltier.."_"..machine_name.."_active",{
description = machine_desc:format(tier),
description = machine_desc,
tiles = {
data.modname.."_"..ltier.."_"..machine_name.."_top.png"..tentry,
data.modname.."_"..ltier.."_"..machine_name.."_bottom.png"..tentry,

View File

@ -32,7 +32,10 @@ function technic.register_recipe_type(typename, origdata)
end
local function get_recipe_index(items)
if not items or type(items) ~= "table" then return false end
if type(items) ~= "table" then
return false
end
local l = {}
for i, stack in ipairs(items) do
l[i] = ItemStack(stack):get_name()
@ -75,22 +78,21 @@ local function register_recipe(typename, data)
end
if (have_cg or have_i3) and technic.recipes[typename].output_size == 1 then
local result = data.output
if (type(result)=="table") then
if type(result) == "table" then
result = result[1]
end
local items = table.concat(data.input, ", ")
if have_cg and craftguide.register_craft then
craftguide.register_craft({
type = typename,
result = result,
items = {items},
items = data.input,
})
end
if have_i3 then
i3.register_craft({
type = typename,
result = result,
items = {items},
items = data.input,
})
end
end

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
function technic.register_solar_array(data)
local tier = data.tier
@ -13,7 +13,7 @@ function technic.register_solar_array(data)
-- To take care of some of it solar panels do not work outside daylight hours or if
-- built below 0m
local pos1 = {}
local machine_name = S("Arrayed Solar %s Generator"):format(tier)
local machine_name = S("Arrayed Solar @1 Generator", tier)
pos1.y = pos.y + 1
pos1.x = pos.x
pos1.z = pos.z
@ -34,7 +34,7 @@ function technic.register_solar_array(data)
technic.EU_string(charge_to_give)))
meta:set_int(tier.."_EU_supply", charge_to_give)
else
meta:set_string("infotext", S("%s Idle"):format(machine_name))
meta:set_string("infotext", S("@1 Idle", machine_name))
meta:set_int(tier.."_EU_supply", 0)
end
end
@ -46,7 +46,7 @@ function technic.register_solar_array(data)
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1, ["technic_"..ltier]=1},
connect_sides = {"bottom"},
sounds = default.node_sound_wood_defaults(),
description = S("Arrayed Solar %s Generator"):format(tier),
description = S("Arrayed Solar @1 Generator", tier),
active = false,
drawtype = "nodebox",
paramtype = "light",

View File

@ -9,7 +9,7 @@
local digilines_path = minetest.get_modpath("digilines")
local S = technic.getter
local S = minetest.get_translator("technic")
local cable_entry = "^technic_cable_connection_overlay.png"
@ -30,9 +30,9 @@ local function set_supply_converter_formspec(meta)
formspec = formspec.."button[0,1;5,1;mesecon_mode_0;"..S("Controlled by Mesecon Signal").."]"
end
if meta:get_int("enabled") == 0 then
formspec = formspec.."button[0,1.75;5,1;enable;"..S("%s Disabled"):format(S("Supply Converter")).."]"
formspec = formspec.."button[0,1.75;5,1;enable;"..S("@1 Disabled", S("Supply Converter")).."]"
else
formspec = formspec.."button[0,1.75;5,1;disable;"..S("%s Enabled"):format(S("Supply Converter")).."]"
formspec = formspec.."button[0,1.75;5,1;disable;"..S("@1 Enabled", S("Supply Converter")).."]"
end
meta:set_string("formspec", formspec)
end
@ -172,10 +172,10 @@ local run = function(pos, node, run_stage)
technic.EU_string(input), from,
technic.EU_string(input * efficiency), to))
else
meta:set_string("infotext",S("%s Has No Network"):format(machine_name))
meta:set_string("infotext",S("@1 Has No Network", machine_name))
end
else
meta:set_string("infotext", S("%s Has Bad Cabling"):format(machine_name))
meta:set_string("infotext", S("@1 Has Bad Cabling", machine_name))
if to then
meta:set_int(to.."_EU_supply", 0)
end

View File

@ -7,7 +7,7 @@ technic.redundant_warn = {}
local mesecons_path = minetest.get_modpath("mesecons")
local digilines_path = minetest.get_modpath("digilines")
local S = technic.getter
local S = minetest.get_translator("technic")
local cable_entry = "^technic_cable_connection_overlay.png"
@ -97,12 +97,14 @@ local function flatten(map)
return list
end
-- Add a wire node to the LV/MV/HV network
-- Returns: indicator whether the cable is new in the network
-- Add a node to the LV/MV/HV network
-- Returns: indicator whether the node is new in the network
local hash_node_position = minetest.hash_node_position
local function add_network_node(nodes, pos, network_id)
local node_id = hash_node_position(pos)
technic.cables[node_id] = network_id
if network_id then
technic.cables[node_id] = network_id
end
if nodes[node_id] then
return false
end
@ -119,8 +121,10 @@ end
-- Generic function to add found connected nodes to the right classification array
-- !! IMPORTANT: register/cables.lua -> clear_networks() must be kept in sync
local check_node_subp = function(network, pos, machines, sw_pos, from_below, network_id, queue)
--minetest.log('action', 'Check node: ' .. dump(pos))
technic.get_or_load_node(pos)
local name = minetest.get_node(pos).name
minetest.log('action', 'Check node name: ' .. dump(network.tier))
if technic.is_tier_cable(name, network.tier) then
add_cable_node(network.all_nodes, pos, network_id, queue)
@ -136,21 +140,31 @@ local check_node_subp = function(network, pos, machines, sw_pos, from_below, net
local meta = minetest.get_meta(pos)
-- Normal tostring() does not have enough precision, neither does meta:set_int()
-- Lua 5.1 bug: Cannot use hexadecimal notation for compression (see LuaJIT #911)
meta:set_string(network.tier.."_network", string.format("%.20g", network_id))
local network_str = string.format("%.20g", network_id)
local network_key = network.tier.."_network"
local m_network_str = meta:get_string(network_key)
if m_network_str == "" then
meta:set_string(network_key, network_str)
else
if m_network_str ~= network_str then
return
end
end
if eu_type == technic.producer then
add_network_node(network.PR_nodes, pos, network_id)
add_network_node(network.PR_nodes, pos)
elseif eu_type == technic.receiver then
add_network_node(network.RE_nodes, pos, network_id)
add_network_node(network.RE_nodes, pos)
elseif eu_type == technic.producer_receiver then
add_network_node(network.PR_nodes, pos, network_id)
add_network_node(network.RE_nodes, pos, network_id)
add_network_node(network.PR_nodes, pos)
add_network_node(network.RE_nodes, pos)
elseif eu_type == technic.battery then
add_network_node(network.BA_nodes, pos, network_id)
add_network_node(network.BA_nodes, pos)
elseif eu_type == "SPECIAL" and from_below and
not vector.equals(pos, sw_pos) then
-- Another switching station -> disable it
add_network_node(network.SP_nodes, pos, network_id)
add_network_node(network.SP_nodes, pos)
meta:set_int("active", 0)
end
@ -173,6 +187,7 @@ end
local touch_nodes = function(list, tier)
for _, pos in ipairs(list) do
--minetest.log("action", 'pos: ' .. dump(pos))
local meta = minetest.get_meta(pos)
meta:set_int(tier.."_EU_timeout", 2) -- Touch node
end
@ -193,7 +208,6 @@ local get_network = function(sw_pos, cable_pos, tier)
end
return cached.PR_nodes, cached.BA_nodes, cached.RE_nodes
end
local machines = technic.machines[tier]
local network = {
tier = tier,
@ -275,7 +289,7 @@ minetest.register_abm({
if meta:get_int("active") ~= 1 then
minetest.forceload_free_block(pos)
minetest.forceload_free_block(cable_pos)
meta:set_string("infotext",S("%s Already Present"):format(machine_name))
meta:set_string("infotext",S("@1 Already Present", machine_name))
local poshash = minetest.hash_node_position(pos)
@ -295,7 +309,7 @@ minetest.register_abm({
PR_nodes, BA_nodes, RE_nodes = get_network(pos, cable_pos, tier)
else
--dprint("Not connected to a network")
meta:set_string("infotext", S("%s Has No Network"):format(machine_name))
meta:set_string("infotext", S("@1 Has No Network", machine_name))
minetest.forceload_free_block(pos)
minetest.forceload_free_block(cable_pos)
return
@ -455,6 +469,7 @@ local function switching_station_timeout_count(pos, tier)
local meta = minetest.get_meta(pos)
local timeout = meta:get_int(tier.."_EU_timeout")
if timeout <= 0 then
meta:set_string(tier.."_network", "")
meta:set_int(tier.."_EU_input", 0) -- Not needed anymore <-- actually, it is for supply converter
return true
else
@ -482,7 +497,7 @@ minetest.register_abm({
if technic_machine and not has_network then
local nodedef = minetest.registered_nodes[node.name]
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("%s Has No Network"):format(nodedef.description))
meta:set_string("infotext", S("@1 Has No Network", nodedef.description))
if nodedef.technic_disabled_machine_name then
node.name = nodedef.technic_disabled_machine_name
minetest.swap_node(pos, node)

View File

@ -28,7 +28,7 @@ or complex internal structure should show no radiation resistance.
Fractional resistance values are permitted.
--]]
local S = technic.getter
local S = minetest.get_translator("technic")
local rad_resistance_node = {
["default:brick"] = 13,

View File

@ -1,4 +1,4 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local function set_can_wear(itemstack, level, max_level)
local temp

View File

@ -11,7 +11,7 @@ local chainsaw_efficiency = 0.92 -- Drops less items
local tree_max_radius = 10
local tree_max_height = 70
local S = technic.getter
local S = minetest.get_translator("technic")
--[[
Format: [node_name] = dig_cost
@ -128,6 +128,7 @@ local function dig_recursive(x, y, z)
if safe_cut and cutter.param2[i] ~= 0 then
-- Do not dig manually placed nodes
-- Problem: moretrees' generated jungle trees use param2 = 2
cutter.stopped_by_safe_cut = true
return
end
@ -201,6 +202,10 @@ local function chainsaw_dig(player, pos, remaining_charge)
return
end
if cutter.stopped_by_safe_cut then
minetest.chat_send_player(player_name, S("The chainsaw could not dig all nodes because the safety mechanism was activated."))
end
minetest.sound_play("chainsaw", {
pos = pos,
gain = 1.0,

View File

@ -1,7 +1,7 @@
local max_charge = {50000, 200000, 650000}
local power_usage_per_node = {200, 500, 800}
local S = technic.getter
local S = minetest.get_translator("technic")
minetest.register_craft({
output = 'technic:mining_drill',
@ -246,20 +246,28 @@ local function pos_is_pointable(pos)
return nodedef and nodedef.pointable
end
local function replaceMk(str, mk, mode)
local t = {}
t['1'] = mk
t['2'] = mode
local str1 = str
local str2 = string.gsub(str1, "%%(%d+)", t)
return str2
end
local mining = S("Mining Drill Mk%1 Mode %2")
local function mining_drill_mkX_setmode(user, itemstack, drill_type, max_modes)
local player_name = user:get_player_name()
local meta = technic.get_stack_meta(itemstack)
if not meta:contains("mode") then
minetest.chat_send_player(player_name,
S("Use while sneaking to change Mining Drill Mk%d modes."):format(drill_type))
S("Use while sneaking to change Mining Drill Mk@1 modes.", drill_type))
end
local mode = meta:get_int("mode") + 1
if mode > max_modes then mode = 1 end
minetest.chat_send_player(player_name,
S("Mining Drill Mk%d Mode %d"):format(2, mode)..
": "..mining_drill_mode_text[mode][1])
replaceMk(mining, drill_type, mode) .. ": "..mining_drill_mode_text[mode][1])
itemstack:set_name(("technic:mining_drill_mk%d_%s"):format(drill_type, mode))
meta:set_int("mode", mode)
return itemstack
@ -304,7 +312,7 @@ end
technic.register_power_tool("technic:mining_drill", max_charge[1])
minetest.register_tool("technic:mining_drill", {
description = S("Mining Drill Mk%d"):format(1),
description = S("Mining Drill Mk@1", 1),
inventory_image = "technic_mining_drill.png",
stack_max = 1,
wear_represents = "technic_RE_charge",
@ -318,7 +326,7 @@ minetest.register_tool("technic:mining_drill", {
-- Mk2 registration
minetest.register_tool("technic:mining_drill_mk2", {
description = S("Mining Drill Mk%d"):format(2),
description = S("Mining Drill Mk@1", 2),
inventory_image = "technic_mining_drill_mk2.png",
wear_represents = "technic_RE_charge",
on_refill = technic.refill_RE_charge,
@ -333,7 +341,7 @@ technic.register_power_tool("technic:mining_drill_mk2", max_charge[2])
for i = 1, 4 do
technic.register_power_tool("technic:mining_drill_mk2_"..i, max_charge[2])
minetest.register_tool("technic:mining_drill_mk2_"..i, {
description = S("Mining Drill Mk%d Mode %d"):format(2, i),
description = replaceMk(mining, 2, i),
inventory_image = "technic_mining_drill_mk2.png^technic_tool_mode"..i..".png",
wield_image = "technic_mining_drill_mk2.png",
wear_represents = "technic_RE_charge",
@ -349,7 +357,7 @@ end
-- Mk3 registration
minetest.register_tool("technic:mining_drill_mk3", {
description = S("Mining Drill Mk%d"):format(3),
description = S("Mining Drill Mk@1", 3),
inventory_image = "technic_mining_drill_mk3.png",
wear_represents = "technic_RE_charge",
on_refill = technic.refill_RE_charge,
@ -364,7 +372,7 @@ technic.register_power_tool("technic:mining_drill_mk3", max_charge[3])
for i=1,5,1 do
technic.register_power_tool("technic:mining_drill_mk3_"..i, max_charge[3])
minetest.register_tool("technic:mining_drill_mk3_"..i, {
description = S("Mining Drill Mk%d Mode %d"):format(3, i),
description = replaceMk(mining, 3, i),
inventory_image = "technic_mining_drill_mk3.png^technic_tool_mode"..i..".png",
wield_image = "technic_mining_drill_mk3.png",
wear_represents = "technic_RE_charge",

View File

@ -6,7 +6,7 @@ local mining_lasers_list = {
}
local allow_entire_discharging = true
local S = technic.getter
local S = minetest.get_translator("technic")
minetest.register_craft({
output = "technic:laser_mk1",
@ -94,7 +94,7 @@ end
for _, m in pairs(mining_lasers_list) do
technic.register_power_tool("technic:laser_mk"..m[1], m[3])
minetest.register_tool("technic:laser_mk"..m[1], {
description = S("Mining Laser Mk%d"):format(m[1]),
description = S("Mining Laser Mk@1", m[1]),
inventory_image = "technic_mining_laser_mk"..m[1]..".png",
range = 0,
stack_max = 1,

View File

@ -1,4 +1,4 @@
local S = technic.getter
local S = minetest.get_translator("technic")
technic.register_power_tool("technic:prospector", 300000)

View File

@ -1,6 +1,6 @@
local sonic_screwdriver_max_charge = 15000
local S = technic.getter
local S = minetest.get_translator("technic")
technic.register_power_tool("technic:sonic_screwdriver", sonic_screwdriver_max_charge)

View File

@ -1,5 +1,5 @@
local S = technic.getter
local S = minetest.get_translator("technic")
local mesecons_materials = minetest.get_modpath("mesecons_materials")
minetest.register_tool("technic:treetap", {

View File

@ -3,7 +3,7 @@ local vacuum_max_charge = 10000 -- 10000 - Maximum charge of the vacuum c
local vacuum_charge_per_object = 100 -- 100 - Capable of picking up 50 objects
local vacuum_range = 8 -- 8 - Area in which to pick up objects
local S = technic.getter
local S = minetest.get_translator("technic")
technic.register_power_tool("technic:vacuum", vacuum_max_charge)

View File

@ -1,3 +1,25 @@
local S = minetest.get_translator("technic_chests")
technic.chests:register(S("Copper"), "copper", {
width = 14,
height = 5,
sort = true,
autosort = true,
infotext = false,
color = false,
locked = false,
})
technic.chests:register(S("Copper"), "copper",{
width = 14,
height = 5,
sort = true,
autosort = true,
infotext = false,
color = false,
locked = true,
})
minetest.register_craft({
output = 'technic:copper_chest 1',
recipe = {
@ -24,24 +46,3 @@ minetest.register_craft({
'technic:copper_chest',
}
})
technic.chests:register("Copper", {
width = 12,
height = 5,
sort = true,
autosort = true,
infotext = false,
color = false,
locked = false,
})
technic.chests:register("Copper", {
width = 12,
height = 5,
sort = true,
autosort = true,
infotext = false,
color = false,
locked = true,
})

View File

@ -1,3 +1,4 @@
local S = minetest.get_translator("technic_chests")
local material_list
if minetest.get_modpath("moreores") then
@ -36,7 +37,7 @@ minetest.register_craft({
}
})
technic.chests:register("Gold", {
technic.chests:register(S("Gold"), "gold", {
width = 15,
height = 6,
sort = true,
@ -46,7 +47,7 @@ technic.chests:register("Gold", {
locked = false,
})
technic.chests:register("Gold", {
technic.chests:register(S("Gold"), "gold", {
width = 15,
height = 6,
sort = true,

View File

@ -1,3 +1,4 @@
local S = minetest.get_translator("technic_chests")
local cast_iron_ingot
if minetest.get_modpath("technic_worldgen") then
cast_iron_ingot = "technic:cast_iron_ingot"
@ -32,7 +33,7 @@ minetest.register_craft({
}
})
technic.chests:register("Iron", {
technic.chests:register(S("Iron"), "iron", {
width = 9,
height = 5,
sort = true,
@ -42,7 +43,7 @@ technic.chests:register("Iron", {
locked = false,
})
technic.chests:register("Iron", {
technic.chests:register(S("Iron"), "iron", {
width = 9,
height = 5,
sort = true,

View File

@ -0,0 +1,39 @@
# textdomain: technic_chests
@1 Chest=@1 Сундук
@1 Locked Chest=@1 Запертый сундук
@1 Locked Chest (owned by @2)=@1 Запертый сундук (принадлежит @2)
Color Filter: @1=Цветовой фильтр: @1
Edit chest description:=Редактировать описание сундука:
# Colors
Black=Черный
Blue=Синий
Brown=Коричневый
Cyan=Голубой
Dark Green=Темно-зеленый
Dark Grey=Темно-серый
Green=Зеленый
Grey=Серый
Magenta=Пурпурный
Orange=Оранжевый
Pink=Розовый
Red=Красный
Violet=Фиолетовый цвет
White=Белый
Yellow=Желтый
None=Не выбран
# Materials
Copper=Медный
Gold=Золотой
Iron=Железный
Mithril=Мифриловый
Silver=Серебреный
Wooden=Деревянный
# Sorting
Sort=Сортировать
Auto-sort is @1=Автоматическая сортировка равна @1
Off=Выключен
On=Включон

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("technic_chests")
if minetest.get_modpath("moreores") then
minetest.register_craft({
output = 'technic:mithril_chest 1',
@ -27,7 +29,7 @@ minetest.register_craft({
}
})
technic.chests:register("Mithril", {
technic.chests:register(S("Mithril"), "mithril", {
width = 15,
height = 6,
sort = true,
@ -37,7 +39,7 @@ technic.chests:register("Mithril", {
locked = false,
})
technic.chests:register("Mithril", {
technic.chests:register(S("Mithril"), "mithril", {
width = 15,
height = 6,
sort = true,

View File

@ -1,4 +1,4 @@
local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end
local S = minetest.get_translator("technic_chests")
local pipeworks = rawget(_G, "pipeworks")
local fs_helpers
@ -133,7 +133,7 @@ local function set_formspec(pos, data, page)
else
colorName = S("None")
end
fs[#fs + 1] = "label["..(data.coleft+0.2)..","..(data.lotop+3)..";"..S("Color Filter: %s"):format(colorName).."]"
fs[#fs + 1] = "label["..(data.coleft+0.2)..","..(data.lotop+3)..";"..S("Color Filter: @1", colorName).."]"
end
meta:set_string("formspec", table.concat(fs))
end
@ -165,8 +165,7 @@ local function sort_inventory(inv)
end
end
local function get_receive_fields(name, data)
local lname = name:lower()
local function get_receive_fields(name, lname, data)
return function(pos, formname, fields, sender)
local meta = minetest.get_meta(pos)
local page = "main"
@ -207,10 +206,7 @@ local function get_receive_fields(name, data)
end
end
function technic.chests:definition(name, data)
local lname = name:lower()
name = S(name)
function technic.chests:definition(name, lname, data)
-- Calculate formspec positions
data.lowidth = 8
data.ovwidth = math.max(data.lowidth, data.width)
@ -234,7 +230,7 @@ function technic.chests:definition(name, data)
-- Set up constant formspec fields
local fs = {
"size["..data.ovwidth..","..data.ovheight.."]",
"label[0,0;"..S("%s Chest"):format(name).."]",
"label[0,0;"..S("@1 Chest", name).."]",
"list[context;main;"..data.hileft..",1;"..data.width..","..data.height..";]",
"list[current_player;main;"..data.loleft..","..data.lotop..";8,4;]",
"listring[]"
@ -260,8 +256,7 @@ function technic.chests:definition(name, data)
local meta = minetest.get_meta(pos)
meta:set_string("owner", placer:get_player_name() or "")
meta:set_string("infotext",
S("%s Locked Chest (owned by %s)")
:format(name, meta:get_string("owner")))
S("@1 Locked Chest (owned by @2)", name, meta:get_string("owner")))
pipeworks.after_place(pos)
end
table.insert(front, "technic_"..lname.."_chest_lock_overlay.png")
@ -271,9 +266,9 @@ function technic.chests:definition(name, data)
local desc
if data.locked then
desc = S("%s Locked Chest"):format(name)
desc = S("@1 Locked Chest", name)
else
desc = S("%s Chest"):format(name)
desc = S("@1 Chest", name)
end
local tentry = tube_entry
@ -304,13 +299,13 @@ function technic.chests:definition(name, data)
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("%s Chest"):format(name))
meta:set_string("infotext", S("@1 Chest", name))
set_formspec(pos, data, "main")
local inv = meta:get_inventory()
inv:set_size("main", data.width * data.height)
end,
can_dig = self.can_dig,
on_receive_fields = get_receive_fields(name, data),
on_receive_fields = get_receive_fields(name, lname, data),
on_metadata_inventory_move = self.on_inv_move,
on_metadata_inventory_put = self.on_inv_put,
on_metadata_inventory_take = self.on_inv_take,
@ -386,11 +381,11 @@ local _TUBELIB_CALLBACKS = {
end,
}
function technic.chests:register(name, data)
function technic.chests:register(name, lname, data)
data = table.copy(data) -- drop reference
local def = technic.chests:definition(name, data)
local def = technic.chests:definition(name, lname, data)
local nn = "technic:"..name:lower()..(data.locked and "_locked" or "").."_chest"
local nn = "technic:"..lname..(data.locked and "_locked" or "").."_chest"
minetest.register_node(":"..nn, def)
registered_chest_data[nn] = data

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("technic_chests")
if minetest.get_modpath("moreores") then
minetest.register_craft({
output = 'technic:silver_chest',
@ -27,8 +29,8 @@ minetest.register_craft({
}
})
technic.chests:register("Silver", {
width = 12,
technic.chests:register(S("Silver"), "silver", {
width = 14,
height = 6,
sort = true,
autosort = true,
@ -37,8 +39,8 @@ technic.chests:register("Silver", {
locked = false,
})
technic.chests:register("Silver", {
width = 12,
technic.chests:register(S("Silver"), "silver",{
width = 14,
height = 6,
sort = true,
autosort = true,

View File

@ -1,5 +1,5 @@
local S = technic.worldgen.gettext
local S = minetest.get_translator("technic_worldgen")
minetest.register_craftitem(":technic:uranium_lump", {
description = S("Uranium Lump"),
@ -184,9 +184,11 @@ for _, i in ipairs({
steel_to_iron[i] = true
end
local iron = S("Iron")
local steel = S("Steel")
for_each_registered_item(function(item_name)
local item_def = minetest.registered_items[item_name]
if steel_to_iron[item_name] and string.find(item_def.description, "Steel") then
minetest.override_item(item_name, { description = string.gsub(item_def.description, "Steel", S("Iron")) })
if steel_to_iron[item_name] and string.find(item_def.description, steel) then
minetest.override_item(item_name, { description = string.gsub(item_def.description, steel, iron) })
end
end)

View File

@ -0,0 +1,37 @@
# textdomain: technic_worldgen
Uranium Lump=Кусок урана
Uranium Ingot=Урановый слиток
Chromium Lump=Кусок хрома
Chromium Ingot=Слиток хрома
Zinc Lump=Цинк Кусковой
Zinc Ingot=Цинковый слиток
Lead Lump=Кусок свинца
Lead Ingot=Слиток свинца
Sulfur Lump=Серный ком
Wrought Iron Ingot=Слиток кованого железа
Cast Iron Ingot=Чугунный слиток
Carbon Steel Ingot=Слиток углеродистой стали
Stainless Steel Ingot=Слиток нержавеющей стали
Iron=Железо
Steel=Сталь
Uranium Ore=Урановая руда
Chromium Ore=Хромовая руда
Zinc Ore=Цинковая руда
Lead Ore=Свинцовая руда
Sulfur Ore=Серная руда
Granite=Гранит
Granite Bricks=Гранитные кирпичи
Marble=Мрамор
Marble Bricks=Мраморные кирпичи
Uranium Block=Урановый блок
Chromium Block=Хромовый блок
Zinc Block=Цинковый блок
Lead Block=Свинцовый блок
Wrought Iron Block=Блок из кованого железа
Cast Iron Block=Чугунный блок
Carbon Steel Block=Блок из углеродистой стали
Stainless Steel Block=Блок из нержавеющей стали
Wrought Iron=Кованое железо
Rubber Tree Sapling=Саженец каучукового дерева
Rubber Tree=Каучуковое дерево
Rubber Tree Leaves=Листья каучукового дерева

View File

@ -1,37 +1,37 @@
# template.txt
# technic_worldgen translation template
###crafts.lua
Uranium Lump =
Uranium Ingot =
Chromium Lump =
Chromium Ingot =
Zinc Lump =
Zinc Ingot =
Brass Ingot =
Wrought Iron Ingot =
Cast Iron Ingot =
Carbon Steel Ingot =
Stainless Steel Ingot =
Iron =
###nodes.lua
Uranium Ore =
Chromium Ore =
Zinc Ore =
Granite =
Marble =
Marble Bricks =
Uranium Block =
Chromium Block =
Zinc Block =
Wrought Iron Block =
Cast Iron Block =
Carbon Steel Block =
Stainless Steel Block =
Brass Block =
Wrought Iron =
###rubber.lua
Rubber Tree Sapling =
Rubber Tree =
# textdomain: technic_worldgen
Uranium Lump=
Uranium Ingot=
Chromium Lump=
Chromium Ingot=
Zinc Lump=
Zinc Ingot=
Lead Lump=
Lead Ingot=
Sulfur Lump=
Wrought Iron Ingot=
Cast Iron Ingot=
Carbon Steel Ingot=
Stainless Steel Ingot=
Iron=
Steel=
Uranium Ore=
Chromium Ore=
Zinc Ore=
Lead Ore=
Sulfur Ore=
Granite=
Granite Bricks=
Marble=
Marble Bricks=
Uranium Block=
Chromium Block=
Zinc Block=
Lead Block=
Wrought Iron Block=
Cast Iron Block=
Carbon Steel Block=
Stainless Steel Block=
Wrought Iron=
Rubber Tree Sapling=
Rubber Tree=
Rubber Tree Leaves=

View File

@ -1,5 +1,5 @@
local S = technic.worldgen.gettext
local S = minetest.get_translator("technic_worldgen")
minetest.register_node( ":technic:mineral_uranium", {
description = S("Uranium Ore"),
@ -172,12 +172,13 @@ local function for_each_registered_node(action)
end
end
local tr_wrought = S("Wrought Iron")
for_each_registered_node(function(node_name, node_def)
if node_name ~= "default:steelblock" and
node_name:find("steelblock", 1, true) and
node_def.description:find("Steel", 1, true) then
minetest.override_item(node_name, {
description = node_def.description:gsub("Steel", S("Wrought Iron")),
description = "Steel".. tr_wrought,
})
end
local tiles = node_def.tiles or node_def.tile_images

View File

@ -1,6 +1,6 @@
-- Code of rubber tree by PilzAdam
local S = technic.worldgen.gettext
local S = minetest.get_translator("technic_worldgen")
minetest.register_node(":moretrees:rubber_tree_sapling", {
description = S("Rubber Tree Sapling"),