Change from intllib to minetest translations and update Spanish

This commit is contained in:
Carlos Barraza 2020-03-10 15:51:33 -03:00
parent fbc4cc8511
commit 91e66a2c84
113 changed files with 2704 additions and 292 deletions

View File

@ -1,4 +1,3 @@
default
basic_materials
intllib?
moreblocks?

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("technic_concrete")
for i = 0, 31 do
minetest.register_alias("technic:concrete_post"..i,
@ -63,7 +62,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,11 @@
# textdomain: technic_concrete
# German Translation for technic_concrete
# Deutsche Übersetzung von technic_concrete
# by Xanthin
Rebar=Bewehrungsstab
Concrete Block=Betonblock
Blast-resistant Concrete Block=Explosionsbestaendiger Betonblock
Concrete Post Platform=Betonpfostenplattform
Concrete Post=Betonpfosten

View File

@ -0,0 +1,8 @@
# textdomain: technic_concrete
# traducido por Carlos Barraza
Blast-resistant Concrete=Concreto Resistente a Exposiones
Blast-resistant Concrete Block=Bloque de Concreto Resistente a Explosiones
Concrete Post Platform=Plataforma de Concreto
Concrete Post=Postes de Concreto

View File

@ -0,0 +1,8 @@
# textdomain: technic_concrete
# technic_concrete translation template
Rebar=Armature
Concrete Block=Bloc de béton
Blast-resistant Concrete Block=Bloc de béton anti explosions
Concrete Post Platform=Plateforme en béton
Concrete Post=Pilier en béton

View File

@ -0,0 +1,11 @@
# textdomain: technic_concrete
# Polish Translation for technic_concrete
# Polskie tłumaczenie technic_concrete
# by mat9117
Rebar=Pręt zbrojeniowy
Concrete Block=Blok betonu
Blast-resistant Concrete Block=Przeciwwybuchowy blok betonu
Concrete Post Platform=Betonowa platforma
Concrete Post=Betonowy słup

View File

@ -0,0 +1,11 @@
# textdomain: technic_concrete
# Braziliam portuguese translation for technic_concrete
# Tradução portuguesa brasileira para technic_concrete
# By Sires
Rebar=Vergalhão
Concrete Block=Bloco de Concreto
Blast-resistant Concrete Block=Bloco de Concreto resistente-a-explosões
Concrete Post Platform=Plataforma para Poste de Concreto
Concrete Post=Poste de Concreto

View File

@ -0,0 +1,7 @@
# textdomain: technic_concrete
Blast-resistant Concrete=
Blast-resistant Concrete Block=
Concrete Post Platform=
Concrete Post=

View File

@ -0,0 +1,8 @@
# textdomain: technic_concrete
# turkish translation by mahmutelmas06
Rebar=Beton demiri
Concrete Block=Beton blok
Blast-resistant Concrete Block=Patlamaya dayanıklı beton blok
Concrete Post Platform=Beton direk platformu
Concrete Post=Beton direk

View File

@ -1,3 +1,3 @@
name = concrete
depends = default
optional_depends = basic_materials, intllib, moreblocks
optional_depends = basic_materials, moreblocks

View File

@ -3,7 +3,6 @@ technic_worldgen
basic_materials
concrete
unifieddyes?
intllib?
moreblocks?
steel?
streetsmod?

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("technic_extranodes")
if minetest.get_modpath("moreblocks") then

View File

@ -0,0 +1,10 @@
# textdomain: technic_extranodes
# German Translation for technic_extranodes
# Deutsche Übersetzung von technic_extranodes
# by Xanthin
Marble=Marmor
Marble Bricks=Marmorziegel
Granite=Granit
Concrete=Beton

View File

@ -0,0 +1,13 @@
# textdomain: technic_extranodes
# technic_extranodes traducido por Carlos Barraza
Marble=Mármol
Marble Bricks=Ladrillos de Mármol
Granite=Granito
Concrete=Concreto
Zinc Block=Bloque de Zinc
Cast Iron Block=Bloque de Hierro Fundido
Carbon Steel Block=Bloque de Acero al Carbono
Stainless Steel Block=Bloque de Acero Inoxidable
Insulator/cable clip=Aislador/Clip de Cable
Steel strut with insulator/cable clip=Punta de Acero con Aislante/Clip de Cable

View File

@ -0,0 +1,8 @@
# textdomain: technic_extranodes
# technic_extranodes translation template
Marble=Marbre
Marble Bricks=Briques en marbre
Granite=Granite
Concrete=Béton

View File

@ -0,0 +1,10 @@
# textdomain: technic_extranodes
# Polish Translation for technic_extranodes
# Polskie tłumaczenie technic_extranodes
# by mat9117
Marble=Marmur
Marble Bricks=Marmurowe cegły
Granite=Granit
Concrete=Beton

View File

@ -0,0 +1,10 @@
# textdomain: technic_extranodes
# Braziliam portuguese translation for technic_extranodes
# Tradução portuguesa brasileira para technic_extranodes
# By Sires
Marble=Mármore
Marble Bricks=Tijolos de Mármore
Granite=Granito
Concrete=Concreto

View File

@ -0,0 +1,12 @@
# textdomain: technic_extranodes
Marble=
Marble Bricks=
Granite=
Concrete=
Zinc Block=
Cast Iron Block=
Carbon Steel Block=
Stainless Steel Block=
Insulator/cable clip=
Steel strut with insulator/cable clip=

View File

@ -0,0 +1,7 @@
# textdomain: technic_extranodes
# turkish translation by mahmutelmas06
Marble=Mermer
Marble Bricks=Mermer tuğla
Granite=Granit
Concrete=Beton

View File

@ -1,3 +1,3 @@
name = extranodes
depends = default, technic_worldgen, basic_materials, concrete
optional_depends = unifieddyes, intllib, moreblocks, steel, streetsmod
optional_depends = unifieddyes, moreblocks, steel, streetsmod

View File

@ -1053,6 +1053,8 @@ sound, such as attenuation, panning, or HRTF. The impression of the
sound being located in the Minetest world is also compromised by the
subjective nature of track choice: the specific music that is played to
a player depends on what media the player has installed.
Install the music in the folder /technic/technic/sounds/ with the name technic_trackN.ogg
replacing N with the number from 1 to 9
### CNC machine ###

View File

@ -5,14 +5,14 @@ local conf_table = technic.config:to_table()
local defaults = {
enable_mining_drill = "true",
enable_mining_laser = "true",
enable_flashlight = "false",
enable_wind_mill = "false",
enable_frames = "false",
enable_flashlight = "true",
enable_wind_mill = "true",
enable_frames = "true",
enable_corium_griefing = "true",
enable_radiation_protection = "true",
enable_entity_radiation_damage = "true",
enable_longterm_radiation_damage = "true",
enable_nuclear_reactor_digiline_selfdestruct = "false",
enable_nuclear_reactor_digiline_selfdestruct = "true",
}
for k, v in pairs(defaults) do

View File

@ -8,7 +8,6 @@ mesecons?
mesecons_mvps?
digilines?
digiline_remote?
intllib?
unified_inventory?
vector_extras?
dye?

View File

@ -50,7 +50,7 @@ assert(technic.pretty_num(123456789) == "123.5 M")
-- used to display power values
function technic.EU_string(num)
return technic.pretty_num(num) .. "EU"
return technic.pretty_num(num) .. technic.getter("EU")
end

View File

@ -12,12 +12,7 @@ local modpath = minetest.get_modpath("technic")
technic.modpath = modpath
-- Boilerplate to support intllib
if rawget(_G, "intllib") then
technic.getter = intllib.Getter()
else
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"")else return"@"..o..n..c end end) end
end
technic.getter = minetest.get_translator("technic")
local S = technic.getter
-- Read configuration file
@ -48,6 +43,6 @@ dofile(modpath.."/tools/init.lua")
dofile(modpath.."/legacy.lua")
if minetest.settings:get_bool("log_mods") then
print(S("[Technic] Loaded in %f seconds"):format(os.clock() - load_start))
print(S("[Technic] Loaded in @1 seconds", os.clock() - load_start))
end

View File

@ -141,7 +141,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},
});
@ -178,7 +178,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,171 @@
# textdomain: technic
# German Translation for Technic Mod
# Deutsche Uebersetzung des Technic Mods
# by Xanthin
## Misc
[Technic] Loaded in @1 seconds=[Technic] ist in @1 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
@1%-Fissile Uranium Ingot=
@1%-Fissile Uranium Block=
## 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.
Power Monitor Has No Network=
Power Monitor. Supply: @1 Demand: @2=
# $1: Machine name (Includes tier)
@1 Active (@2)=@1 ist eingeschaltet (@2)
@1 Active=@1 ist eingeschaltet
@1 Disabled=@1 ist ausgeschaltet
@1 Enabled=
@1 Idle=@1 ist bereit
@1 Improperly Placed=@1 ist falsch plaziert
@1 Unpowered=@1 hat keine Stromversorgung
@1 Out Of Fuel=@1 hat keinen Brennstoff
@1 Has Bad Cabling=@1 ist falsch verkabelt
@1 Has No Network=@1 hat kein Netzwerk
@1 Finished=@1 ist fertig
Enable/Disable=Einschalten/Ausschalten
Range=Reichweite
Upgrade Slots=Verbesserungsfaecher
In:=Rein:
Out:=Raus:
Slot @1=Fach @1
Itemwise=Einzelstuecke
Stackwise=Ganzer Stapel
Owner:=
Unlocked=
Locked=
Radius:=
Enabled=
Disabled=
## Machine names
# $1: Tier
@1 Alloy Furnace=@1 Legierungsofen
@1 Battery Box=@1 Batteriebox
@1 Cable=@1 Kabel
@1 Compressor=@1 Kompressor
@1 Extractor=@1 Extraktor
@1 Forcefield Emitter=@1 Kraftfeld-Emitter
@1 Furnace=@1 Ofen
@1 Grinder=@1 Schleifmaschine
@1 Music Player=@1 Musikspieler
@1 Quarry=@1 Steinbruch
@1 Tool Workshop=@1 Werkzeugwerkstatt
Arrayed Solar @1 Generator=@1 Solaranlage
Fuel-Fired @1 Generator=@1 Kohle-Generator
Geothermal @1 Generator=@1 Geothermie-Generator
Hydro @1 Generator=@1 Wassermuehle
Nuclear @1 Generator Core=@1 Reaktorkern
Small Solar @1 Generator=@1 Solarmodul
Wind @1 Generator=@1 Windmuehle
Self-Contained Injector=Selbstversorger-Injektor
Constructor Mk@1=Konstruktor Modell @1
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
Administrative World Anchor=
## 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 @1%%=Produktion bei @1%%
Choose Milling Program:=Waehle ein Fraesprogramm:
Slim Elements half / normal height:=Schmale Elemente von halber / normaler Hoehe:
Current track @1=Aktueller Titel @1
Stopped=
Keeping @1/@2 map blocks loaded=
Digging not started=
Digging finished=
Digging @1 m above machine=
Digging @1 m below machine=
## Grinder Recipes
# $1: Name
@1 Dust=@1staub
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
@1%-Fissile Uranium=
## 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@1 modes.=Halte die Shift-Taste beim Benutzen gedrueckt, um die Funktion des Bergbaubohrers Modell @1 zu aendern.
Mining Drill Mk@1 Mode @2=Bergbaubohrer Modell @1 Funktion @2
Mining Drill Mk@1=Bergbaubohrer Modell @1
Mining Laser Mk@1=Bergbaulaser Modell @1
Single node.=Einzelblock
Sonic Screwdriver=Schallschraubendreher
Tree Tap=Baumzapfhahn
## Craft descriptions
Alloy cooking=
Grinding=
Compressing=
Extracting=

View File

@ -0,0 +1,253 @@
# textdomain: technic
# Spanish Translation for Technic Mod
# Traduccion al Español del Mod Technic
# Autor: Diego Martínez <kaeza>
# Carlos Barraza (Actualizacion 2020)
## Misc
[Technic] Loaded in @1 seconds=[Technic] Cargado en @1 segundos
[Technic] ignored registration of garbage recipe!=[Technic] ¡Ignoró el registro de la receta de basura!
[TECHNIC] Warning: redundant switching station found near @1=[Technic] Advertencia: estación de conmutación redundante encontrada en @1
Digiline Channel=Canal de Digiline
Enable Digiline=Habilitar Digiline
Digiline Remote Channel=Canal Remoto Digiline
Channel=Canal
Radiation damage=Daño por Radiacion
## Comandos
state=estado
## 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
Machine Casing=Carcasa de Máquina
Raw Latex=Latex Crudo
Rubber Fiber=Fibra de Hule
@1%-Fissile Uranium Ingot=Lingote de Uranio Fisible al @1%
@1%-Fissile Uranium Block=Bloque de Uranio Fisible al @1%
Corium Source=Fuente de Corio
Flowing Corium=Fluido de Corio
Corium Bucket=Cubo de Corio
Chernobylite=Chernóbil
Chernobylite Block=Bloques de Chernóbil
Corium: boil-off water (sources)=Corio: agua en ebullición (fuente)
Corium: boil-off water (flowing)=Corio: agua en ebullicion (fluido)
Corium: become chernobylite=Corio: conviérte en bloques de chernóbil
Corium: griefing=Corio: dañino
LV=BV
MV=MV
HV=AV
lv=bv
mv=mv
hv=av
EU=UE
## Machine misc
Machine cannot be removed because it is not empty=La maquina no puede removerse porque no esta vacia
Inventory move disallowed due to protection=No se puede mover el inventario porque esta protegido
# $1: Machine name (Includes tier)
Power Monitor=Monitor de Energía
Input Power=Potencia de Entrada
Power Monitor. Supply: @1 Demand: @2=Monitor de Energía. Produccion: @1 Consumo: @2
Power Monitor Has No Network=El Monitor de Energía no tiene una red
@1 Active (@2)=@1 Activo (@2)
@1 Active=@1 Activo
@1 Enabled=@1 Habilitado
@1 Idle=@1 Inactivo
@1 Unpowered=@1 Sin Energia
@1 Out Of Fuel=@1 Sin Combustible
@1 Has Bad Cabling=@1 Esta mal cableado
@1 Has No Network=@1 No tiene una red
@1 Finished=@1 Terminado
@1 Disabled=@1 Deshabilitado
@1 Improperly Placed=@1 Esta mal instalado
Range=Alcance
Enable/Disable=Habilitar/Deshabilitar
Itemwise=Por articulo
Stackwise=Por grupo
Owner:=Propietario:
Unlocked=Desbloqueado
Locked=Bloqueado
Radius:=Radio:
Enabled=Habilitado
Disabled=Deshabilitado
## Machine names
# $1: Tier
Allow splitting incoming 'charge' stacks from tubes=Permitir dividir los grupos de 'carga'
Allow splitting incoming 'discharge' stacks=Permitir dividir los grupos de 'descarga'
@1 Alloy Furnace=Horno de Aleacion @1
Battery Box=Caja de Baterias
@1 Battery Box=Caja de Bateria @1
@1 Battery Box Has No Network=La Caja de Bateria @1 no tiene una red
@1 Battery Box: @2 / @3=Caja de Bateria @1: @2 / @3
edit Channel=Editar Canal
@1_battery_box=caja_de_bateria_@1
Upgrade Slots=Ranura de Actualización
@1 Cable=Cable @1
@1 Cable Plate=Placa de Cable @1
@1 Compressor=Compresor @1
@1 Extractor=Extractor @1
@1 Forcefield Emitter=Emisor de Campo de Fuerza @1
@1 Furnace=Horno @1
@1 Grinder=Molienda @1
@1 Music Player=Reproductor de Musica @1
@1 Quarry=Cantera @1
@1 Tool Workshop=Taller de Herramientas @1
@1 Centrifuge=Centrifugador @1
@1 Freezer=Congelador @1
@1 Nuclear Reactor Core=Nucleo de Reactor Nuclear @1
Sphere=Esfera
Cube=Cubo
Ignoring Mesecon Signal=Ignorando señal Mesecon
Controlled by Mesecon Signal=Controlado por señal Mesecon
Arrayed Solar @1 Generator=Panel Solar @1
Fuel-Fired @1 Generator=Generador a Carbon @1
Geothermal @1 Generator=Generador Geotermico @1
Hydro @1 Generator=Molino de Agua @1
Nuclear @1 Generator Core=Nucleo de Reactor Nuclear @1
Small Solar @1 Generator=Panel Solar @1
Wind @1 Generator=Molino de Viento @1
Self-Contained Injector=Inyector Autocontenido
Constructor Mk@1=Constructor Marca @1
Slot @1=Espacio @1
@1 tried to place @2 at protected position @3=@1 trato de poner @2 en la posicion protegida @3
Frame=Marco
Frame Motor=Marco del Motor
Template=Plantilla
Template (replacing)=Plantilla (reemplazando)
Template Motor=Motor de plantilla
Template Tool=Herramienta de plantilla
Supply Converter=Convertidor de Alimentacion
supply_converter=convertidor_de_alimentacion
Switching Station=Estacion de Conmutacion
@1. Supply: @2 Demand: @3=@1. Producción: @2 Consumo: @3
switching_station=estacion_de_conmutacion
@1 Already Present=@1 Ya existe en la red
Enables or disables technic's switching station ABM=Habilita o deshabilita la estación de comuntación de technic en el Modificador de Bloque Activo (ABM)
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 el Combustible de Uranio
Start=Iniciar
automatic Start=Inicio Automatico
A reactor melted down at @1=Un reactor se fundió en @1
Start successful=Inicio exitoso
Error=Error
Machines: reactor melt-down check=Máquinas: control de fusión del reactor
Machines: run coal alloy furnace=Máquinas: ejecutar horno de aleación a carbón
Machines: run power monitor=Máquinas: ejecutar monitor de potencia
Machines: timeout check=Máquinas: se acabó el tiempo
Machines: re-enable check=Máquinas: verificación de reactivación
Wind Mill Frame=Armazon de Molino de Viento
Administrative World Anchor=Ancla del Mundo - Administrador
## Machine-specific
Charge=Cargar
Discharge=Descargar
Power level=Nivel de Poder
Production at @1%%=Produccion en @1%%
Stopped=Detenido
Stop=Parar
Current track @1=Pista Actual @1
Keeping @1/@2 map blocks loaded=Mantener @1/@2 bloques de mapa cargado
Digging not started=Excavación no iniciada
Purging cache=Vaciando contenido
@1 purging cache=@1 vaciando contenido
Restart=Reiniciar
Digging finished=Excavación terminada
Digging @1 m above machine=Excavando @1 m sobre la maquina
Digging @1 m below machine=Excavando @1 m debajo de la maquina
You are not allowed to edit this!=¡No tienes permiso para editar esto!
Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.=No puedes sacar elementos de la cantera. Si no puedes esperar, reinicia o desactiva la cantera para iniciar el vaciado automatico.
@1 is empty=@1 esta vacio
## Grinder Recipes
# $1: Name
@1 Dust=Polvo de @1
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
@1%-Fissile Uranium=Uranio Fisible al @1%
Sawdust=Acerrín
## Tools
RE Battery=Bateria Recargable
Water Can=Bidon de Agua
River Water Can=Bidon de Agua de Rio
Lava Can=Bidon de Lava
Chainsaw=Motosierra
Flashlight=Linterna
3 nodes deep.=3 nodos de profundidad.
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@1 modes.=Manten pulsado Mayús + Clic para cambiar el modo del Taladro de Mineria Marca @1.
Mining Drill Mk@1 Mode @2: @3=Taladro de Mineria Marca @1 Modo @2: @3
Mining Drill Mk@1 Mode @2=Taladro de Mineria Marca @1 Modo @2
Mining Drill Mk@1=Taladro de Mineria Marca @1
Mining Laser Mk@1=Laser de Mineria Marca @1
Single node.=Nodo simple.
Mining Laser Mk%d=Laser de Mineria Marca @1
Prospector=Prospector
Right-click to set target block type=Haga clic derecho para establecer el tipo de bloque objetivo
Current target:=Objetivo actual:
No target set=Objetivo no seleccionado
May set new target:=Puede establecer un nuevo objetivo:
Set target=Establecer objetivo
No new target available=No hay un nuevo objetivo disponible
Region cross section:=Sección de corte:
Set region cross section:=Establecer sección de corte:
Region depth:=Profundidad:
Set region depth:=Establecer la profundidad:
Accuracy:=Precisión:
@1 is @2 in @3x@4x@5 region=@1 esta @2 en la región @3x@4x@5
present=presente
absent=ausente
Sonic Screwdriver (left-click rotates face, right-click rotates axis)=Destornillador Sonico@n(Clic Izquierdo gira la cara, Clic Derecho gira el eje)
Tree Tap=Grifo de Arbol
@1 tried to tak @2 at protected position @3 with a @4=@1 intento tomar @2 en la posicion protegida @3 con un @4
@1 tried to place @2 at protected position @3 with a @4=@1 intento poner @2 en la posicion protegida @3 con un @4
Tools: tree tap=Herramientas: grifo de arbol
Vacuum Cleaner=Aspiradora
## Craft descriptions
Alloy cooking=Horno de Aleación
Grinding=Molienda
Compressing=Compresor
Extracting=Extractor
Separating=Separando

View File

@ -0,0 +1,217 @@
# textdomain: technic
# template.txt
# Template for translations of Technic
## Misc
[Technic] Loaded in @1 seconds=[Technic] Chargement en @1 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
@1%-Fissile Uranium Ingot=Lingot d'uranium fissile (@1%)
@1%-Fissile Uranium Block=Bloc d'uranium fissile (@1%)
## 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
Power Monitor Has No Network=
Power Monitor. Supply: @1 Demand: @2=
# $1: Machine name (Includes tier)
@1 Active (@2)=@1 Active (@2)
@1 Active=@1 actif
@1 Disabled=@1 désactivé
@1 Enabled=@1 activé
@1 Idle=@1 au repos
@1 Improperly Placed=@1 est mal placé
@1 is empty=@1 est vide
@1 Unpowered=@1 non alimenté en énergie
@1 Out Of Fuel=@1 plus de carburant
@1 Has Bad Cabling=@1 est mal cablé
@1 (Slave)=@1 (esclave)
@1 Has No Network=@1 n'a pas de réseau
@1 Finished=@1 a fini
Enable/Disable=Activer/Désactiver
Range=Plage
Upgrade Slots=Emplacement d'amélioration
In:=Entrée :
Out:=Sortie :
Slot @1=Emplacement @1
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
@1 Alloy Furnace=Four à alliage @1
@1 Battery Box=Batterie @1
@1 Cable=Câble @1
@1 CNC Machine=Machine-outils @1
@1 Centrifuge=Centrifugeuse @1
@1 Compressor=Compresseur @1
@1 Extractor=Extracteur @1
@1 Forcefield Emitter=Emetteur de champ de force @1
@1 Furnace=Four @1
@1 Grinder=Broyeur @1
@1 Music Player=Grammophone @1
@1 Quarry=Carrière @1
@1 Tool Workshop=Atelier d'outillage @1
Arrayed Solar @1 Generator=Générateur solaire @1
Fuel-Fired @1 Generator=Générateur thermique @1
Geothermal @1 Generator=Géénarteur géothermique @1
Hydro @1 Generator=Générateur hydroélectrique @1
Nuclear @1 Generator Core=Générateur nucléaire %
Small Solar @1 Generator=Petit générateur solaire @1
Wind @1 Generator=Générateur éolien @1
Self-Contained Injector=Injecteur autonome
Constructor Mk@1=Constructeur Mk@1
Frame=Cadre
Frame Motor=Cadre de moteur
Template=Modèle
Template (replacing)=
Template Motor=
Template Tool=
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
Administrative World Anchor=
## 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 @1%%=Production à @1%%
Choose Milling Program:=Choisissez le programme de fraisage :
Slim Elements half / normal height:=
Current track @1=Morceau actuel @1
Stopped=Arrêté
Keeping @1/@2 map blocks loaded=
Digging not started=Creusement non démarré
Digging finished=Creusement terminé
Digging @1 m above machine=Creusement à @1m au dessus de la machine
Digging @1 m below machine=Creusement à @1m 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
Slope Edge=
Slope Inner Edge=
Slope Lying=
Slope Upside Down=
Slope Upside Down Edge=
Slope Upside Down Inner Edge=
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
@1 Dust=Poudre de @1
Akalin=
Alatro=
Arol=
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
@1%-Fissile Uranium=Uranium fissile (@1%)
## Tools
RE Battery=Batterie RE
Water Can=Jerrycan d'eau
Lava Can=Jerrycan de lave
Chainsaw=Tronçonneuse
Flashlight=Lampe-torche
3 nodes deep.=
3 nodes tall.=
3 nodes wide.=
3x3 nodes.=
Use while sneaking to change Mining Drill Mk@1 modes.=
Mining Drill Mk@1 Mode @2=Foreuse Mk@1 Mode @2
Mining Drill Mk@1=Foreuse Mk@1
Mining Laser Mk@1=Foreuse laser Mk@1
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,167 @@
# textdomain: technic
## Misc
[Technic] Loaded in @1 seconds=[Technic] caricato in @1 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
@1%-Fissile Uranium Ingot=@1%-Lingotto di uranio fissile
@1%-Fissile Uranium Block=@1%-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
Power Monitor Has No Network=
Power Monitor. Supply: @1 Demand: @2=
# $1: Machine name (Includes tier)
@1 Active (@2)=@1 Attivo (@2)
@1 Active=@1 Attivo
@1 Disabled=@1 Disabilitato
@1 Enabled=@1 Abilitato
@1 Idle=@1 Inattivo
@1 Improperly Placed=@1 Piazzato impropiamente
@1 Unpowered=@1 Non alimentato
@1 Out Of Fuel=@1 senza carburante
@1 Has Bad Cabling=@1 ha un cablaggio scorretto
@1 Has No Network=@1 non è collegata
@1 Finished=@1 Finito
Enable/Disable=Abilita/Disabilita
Range=Raggio
Upgrade Slots=Alloggi di aggiornamento
In:=Ingresso:
Out:=Uscita:
Slot @1=Alloggio @1
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
@1 Alloy Furnace=@1 Fornace per leghe
@1 Battery Box= @1 Box batterie
@1 Cable=Cavo @1
@1 Compressor=Compressore @1
@1 Extractor=Estrattore @1
@1 Forcefield Emitter=Emettitore di campo di forza @1
@1 Furnace=@1 Fornace
@1 Grinder=@1 Tritatutto
@1 Music Player=Music Player @1
@1 Quarry=Cava @1
@1 Tool Workshop=Officina per attrezzi @1
Arrayed Solar @1 Generator=@1 Pannello Solare
Fuel-Fired @1 Generator=@1 Generatore a carbone
Geothermal @1 Generator=@1 Generatore Geotermico
Hydro @1 Generator=Turbina Elettrica @1
Nuclear @1 Generator Core=Reattore nucleare @1
Small Solar @1 Generator=@1 Pannello solare
Wind @1 Generator=@1 Generatore eolico
Self-Contained Injector=Ignettore
Constructor Mk@1=Costruttore Mk@1
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 @1%%=Produzione a @1%%
Choose Milling Program:=Scegliere un programma di Fresatura
Slim Elements half / normal height:=Metà elementi sottili / altezza normale:
Current track @1=Traccia corrente @1
Stopped=Fermato
Keeping @1/@2 map blocks loaded=Mantenimento di @1/@2 blocchi mappa caricati
Digging not started=Scavo non iniziato
Digging finished=Scavo finito
Digging @1 m above machine=Scavo di @1 m sopra la macchina
Digging @1 m below machine=Scavo di @1 m sotto la macchina
## Grinder Recipes
# $1: Name
@1 Dust=Polvere di @1
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
@1%-Fissile Uranium=@1%-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@1 modes.=Premi shift (freccia grossa) e usa per cambiare modalità nella trivella da miniera Mk@1.
Mining Drill Mk@1 Mode @2=Trivella mk@1 in modalità @2
Mining Drill Mk@1=Trivella da miniera mk@1
Mining Laser Mk@1=Laser da miniera mk@1
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,177 @@
# textdomain: technic
# Polish Translation for Technic mod
# Polskie tłumaczenie Technic mod
# by mat9117
## Misc
[Technic] Loaded in @1 seconds=[Technic] Wczytany w @1 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
@1%-Fissile Uranium Ingot=@1% Sztabka uranu
@1%-Fissile Uranium Block=@1% 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
Power Monitor Has No Network=
Power Monitor. Supply: @1 Demand: @2=
@1 Active (@2)=
@1 Active=@1 Aktywny/a
@1 Disabled=@1 Wyłączony/a
@1 Enabled=@1 Włączony/a
@1 Idle=@1 Bezczynny/a
@1 Improperly Placed=@1 Ustawiony/a nieprawidłowo
@1 is empty=@1 jest pusty/a
@1 Unpowered=@1 brak zasilania
@1 Out Of Fuel=@1 brak paliwa
@1 Has Bad Cabling=@1 Źle podłączono kable
@1 (Slave)=
@1 Has No Network=@1 Nie podłączony/a do sieci
@1 Finished=@1 Ukończony
Enable/Disable=Włącz/Wyłącz
Range=Zasięg
Upgrade Slots=Miejsca na ulepszenia
In:=Wejście
Out:=Wyjście
Slot @1=Otwór @1
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
@1 Alloy Furnace=@1 Piec stopowy
@1 Battery Box=@1 Skrzynka baterii
@1 Cable=@1 Przewód
@1 Centrifuge=@1 Centryfuga
@1 Compressor=@1 Kompresor
@1 Extractor=@1 Ekstraktor
@1 Forcefield Emitter=@1 Emiter pola siłowego
@1 Furnace=@1 Piec
@1 Grinder=@1 Młynek
@1 Music Player=@1 Odtwarzacz muzyki
@1 Quarry=@1 Kamieniołom
@1 Tool Workshop=@1 Warsztat narzędzi
Arrayed Solar @1 Generator=@1 Szeregowy generator słoneczny
Fuel-Fired @1 Generator=@1 Generator zasilany paliwem
Geothermal @1 Generator=@1 Generator geotermalny
Hydro @1 Generator=@1 Hydrogenerator
Nuclear @1 Generator Core=@1 Reaktor atomowy
Small Solar @1 Generator=@1 Mały generator słoneczny
Wind @1 Generator=@1 Generator wiatrowy
Self-Contained Injector=Samowystarczalny wtryskiwacz
Constructor Mk@1=Konstruktor Mk@1
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 @1%%=Produkowanie w @1%%
Choose Milling Program:=Wybierz program mielenia:
Slim Elements half / normal height:=Małe elementy połowa / normalna wysokość:
Current track @1=
Stopped=Zatrzymany/a
Keeping @1/@2 map blocks loaded=Ciągle ładuję @1/@2 bloki mapy
Digging not started=Nie rozpoczęto kopania
Digging finished=Kopanie skończone
Digging @1 m above machine=Kopię @1 m nad maszyną
Digging @1 m below machine=Kopię @1 m pod maszyną
@1 (@2 @3 -> @4 @5)=@1 (@2 @3 -> @4 @5)
## Grinder Recipes
# $1: Name
@1 Dust=@1 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
@1%-Fissile Uranium=@1% 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@1 modes.=Użyj podczas skradania, aby zmienić tryby wiertła górniczego Mk@1
Mining Drill Mk@1 Mode @2=Tryb wiertła górniczego Mk@1
Mining Drill Mk@1=Wiertło górnicze Mk@1
Mining Laser Mk@1=Laser górniczy Mk@1
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,208 @@
# textdomain: technic
# Braziliam portuguese translation for technic
# Tradução portuguesa brasileira para technic
# By Sires
## Misc
[Technic] Loaded in @1 seconds=[Technic] Carregado em @1 segundos
## Items
Silicon Wafer=Pastilha de Silício
Doped Silicon Wafer=Pastilha de Silício Dopada
Enriched Uranium=Urânio Enriquecido
Uranium Fuel=Combustivel de Urânio
Diamond Drill Head=Cabeça de Broca de Diamante
Blue Energy Crystal=Cristal de Energia Azul
Green Energy Crystal=Cristal de Energia Verde
Red Energy Crystal=Cristal de Energia Vermelho
Fine Copper Wire=Fio Fino de Cobre
Copper Coil=Bobina de Cobre
Electric Motor=Motor Elétrico
Low Voltage Transformer=Transformador de Baixa Voltagem
Medium Voltage Transformer=Transformador de Média Voltagem
High Voltage Transformer=Transformador de Alta Voltagem
Control Logic Unit=Unidade de Controle Lógico
Mixed Metal Ingot=Lingote de Metal Misturado
Composite Plate=Placa Composta
Copper Plate=Placa de Cobre
Carbon Plate=Placa de Carbono
Graphite=Grafite
Carbon Cloth=Recido de Carbono
Raw Latex=Latex bruto
Rubber Fiber=Fibra de Borracha
@1%-Fissile Uranium Ingot=Lingote de Urânio @1%-Físsil
@1%-Fissile Uranium Block=Bloco de Urânio @1%-Físsil
## Machine Misc
Machine cannot be removed because it is not empty=A máquina não pode ser removida porque ela não está vazia
Inventory move disallowed due to protection=Movimento de inventário não permitido pela proteção
Power Monitor Has No Network=
Power Monitor. Supply: @1 Demand: @2=
@1 Active (@2)=
@1 Active=@1 Ativo
@1 Disabled=@1 Ativado
@1 Enabled=@1 Desativado
@1 Idle=Ócio
@1 Improperly Placed=@1 Colocado Inapropriadamente
@1 is empty=@1 está vazio
@1 Unpowered=@1 Sem energia
@1 Out Of Fuel=@1 Sem Combustível
@1 Has Bad Cabling=@1 Tem Cabeamento Ruim
@1 (Slave)=@1 (Servo)
@1 Has No Network=@1 Não Tem Rede
@1 Finished=@1 Acabou
Enable/Disable=Ativar/Desativar
Range=Alcance
Upgrade Slots=Lugares para Melhoria
In:=Entrada:
Out:=Saída:
Slot @1=Lugar @1
Itemwise=Por item
Stackwise=Por pilha
Ignoring Mesecon Signal=Ignorar Sinaal de Mesecon
Controlled by Mesecon Signal=Controlado por Sinal de Mesecon
Owner:=Dono:
Unlocked=Destravado
Locked=Travado
Radius:=Raio:
Enabled=Ativado
Disabled=Desativado
## Machine names
# $1: Tier
@1 Alloy Furnace=Fornalha de Liga @1
@1 Battery Box=Caixa de Bateria @1
@1 Cable=Cabo @1
@1 CNC Machine=Máquina CNC @1
@1 Centrifuge=Centrifuga @1
@1 Compressor=Compresso @1
@1 Extractor=Extrator @1
@1 Forcefield Emitter=Emissor de Campo de Força @1
@1 Furnace=Fornalha @1
@1 Grinder=Triturador @1
@1 Music Player=Tocador de Música @1
@1 Quarry=Pedreira @1
@1 Tool Workshop=Oficina de Ferramentas @1
Arrayed Solar @1 Generator=Gerador Solar Equipado @1
Fuel-Fired @1 Generator=Gerador Alimentado-por-Combustível @1
Geothermal @1 Generator=Gerador Geotermal @1
Hydro @1 Generator=Gerador Hidráulico @1
Nuclear @1 Generator Core=Núcleo de Gerador Nuclear @1
Small Solar @1 Generator=Gerador Solar Pequeno @1
Wind @1 Generator=Gerador de Energia Eólica @1
Self-Contained Injector=Injetor Auto-Contido
Constructor Mk@1=Construtor Nv@1
Frame=Armação
Frame Motor=Motor de Armação
Template=Modelo
Template (replacing)=Modelo (recolocando)
Template Motor=Modelo de Motor
Template Tool=Modelo de Ferramenta
Battery Box=Caixa de Bateria
Supply Converter=Conversor de Energia
Switching Station=Estação de Comutação
Fuel-Fired Alloy Furnace=Fornalha de Liga Alimentada-por-Combustível
Fuel-Fired Furnace=Fornalha Alimentada-por-Combustível
Wind Mill Frame=Armação de Moinho de Vento
Forcefield=Campo de Força
Nuclear Reactor Rod Compartment=Compartimento de Barra do Reator Nuclear
Administrative World Anchor=Âncora de Mundo Administrativa
## Machine-specific
Charge=Carregar
Discharge=Descarregar
Power level=Nível de Energia
Production at @1%%=Produção em @1%%
Choose Milling Program:=Escolha o Programa de Serragem:
Slim Elements half / normal height:=Metade de Elementos Finos / altura normal:
Current track @1=Música Atual @1
Stopped=Parado
Keeping @1/@2 map blocks loaded=Mantendo @1/@2 blocos de mapa carregados
Digging not started=Escavação não começada
Digging finished=Escavação terminada
Digging @1 m above machine=Escavando @1 m acima da máquina
Digging @1 m below machine=Escavando @1 m abaixo da máquina
@1 (@2 @3 -> @4 @5)=@1 (@2 @3 -> @4 @5)
## CNC
Cylinder=Cilindro
Element Cross=Cruz do Elemento
Element Cross Double=Cruz Dupla do Elemento
Element Edge=Borda do Elemento
Element Edge Double=Borda Dupla do Elemento
Element End=Final do Elemento
Element End Double=Final Duplo do Elemento
Element Straight=Elemento Contínuo
Element Straight Double=Elemento Contínuo duplo
Element T=Elemento em T
Element T Double=Elemento em T Duplo
Horizontal Cylinder=Cilindro Horizontal
One Curved Edge Block=Uma Borda de Bloco Curvada
Pyramid=Pirâmide
Slope=Ladeira
Slope Edge=Canto de Ladeira
Slope Inner Edge=Canto de Dentro de Ladeira
Slope Lying=Ladeira Deitada
Slope Upside Down=Ladeira de Cabeça para Baixo
Slope Upside Down Edge=Cande de Ladeira de Cabeça para Baixo
Slope Upside Down Inner Edge=Canto de Dentro de Ladeira de Cabeça para Baixo
Sphere=Esfera
Spike=Espinho
Stick=Graveto
Two Curved Edge Block=Bloco de Duas Bordas Curvadas
Brick=Tijolo
Cobble=Pedregulho
Dirt=Terra
Leaves=Folhas
Sandstone=Arenito
Stone=Pedra
Tree=Árvore
Wooden=de Madeira
## Grinder Recipes
# $1: Name
@1 Dust=Pó de @1
Akalin=Akalin
Alatro=Alatro
Arol=Arol
Brass=Latão
Bronze=Bronze
Carbon Steel=Aço Carbono
Cast Iron=Ferro Fundido
Chromium=Crômio
Coal=Carvão
Copper=Cobre
Gold=Ouro
Mithril=Mithril
Silver=Prata
Stainless Steel=Aço Inoxidável
Talinite=Talinite
Tin=Estanho
Wrought Iron=Ferro Forjado
Zinc=Zinco
@1%-Fissile Uranium=Urânio @1%-Físsil
## Tools
RE Battery=Bateria RE
Water Can=Lata de Água
Lava Can=Lata de Lava
Chainsaw=Motosserra
Flashlight=Lanterna
3 nodes deep.=3 nodes de profundidade.
3 nodes tall.=3 nodes de altura.
3 nodes wide.=3 nodes de largura.
3x3 nodes.=3x3 nodes.
Use while sneaking to change Mining Drill Mk@1 modes.=Use enquanto esgueirando para mudar os modos da Broca de Mineração Nv@1.
Mining Drill Mk@1 Mode @2=Broca de Mineração Nv@1 Modo @2
Mining Drill Mk@1=Broca de Mineração Nv@1
Mining Laser Mk@1=Laser de Mineração Nv@1
Single node.=Unico node.
Sonic Screwdriver=Chave de Fenda Sônica.
Tree Tap=Torneira de Árvore
## Craft descriptions
Alloy cooking=Cozinhando em liga
Grinding=Triturando
Compressing=Comprimindo
Extracting=Extraindo
Separating=Separando

View File

@ -0,0 +1,249 @@
# textdomain: technic
## Misc
[Technic] Loaded in @1 seconds=
[Technic] ignored registration of garbage recipe!=
[TECHNIC] Warning: redundant switching station found near @1=
Digiline Channel=
Enable Digiline=
Digiline Remote Channel=
Channel=
Radiation damage=
## Comandos
state=
## 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=
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=
Machine Casing=
Raw Latex=
Rubber Fiber=
@1%-Fissile Uranium Ingot=
@1%-Fissile Uranium Block=
Corium Source=
Flowing Corium=
Corium Bucket=
Chernobylite=
Chernobylite Block=
Corium: boil-off water (sources)=
Corium: boil-off water (flowing)=
Corium: become chernobylite=
Corium: griefing=
LV=
MV=
HV=
lv=
mv=
hv=
EU=
## Machine misc
Machine cannot be removed because it is not empty=
Inventory move disallowed due to protection=
# $1: Machine name (Includes tier)
Power Monitor=
Input Power=
Power Monitor. Supply: @1 Demand: @2=
Power Monitor Has No Network=
@1 Active (@2)=
@1 Active=
@1 Enabled=
@1 Idle=
@1 Unpowered=
@1 Out Of Fuel=
@1 Has Bad Cabling=
@1 Has No Network=
@1 Finished=
@1 Disabled=
@1 Improperly Placed=
Range=
Enable/Disable=
Itemwise=
Stackwise=
Owner:=:
Unlocked=
Locked=
Radius:=
Enabled=
Disabled=
## Machine names
# $1: Tier
Allow splitting incoming 'charge' stacks from tubes=
Allow splitting incoming 'discharge' stacks=
@1 Alloy Furnace=
Battery Box=
@1 Battery Box=
@1 Battery Box Has No Network=
@1 Battery Box: @2 / @3=
edit Channel=
@1_battery_box=
Upgrade Slots=
@1 Cable=
@1 Cable Plate=
@1 Compressor=
@1 Extractor=
@1 Forcefield Emitter=
@1 Furnace=
@1 Grinder=
@1 Music Player=
@1 Quarry=
@1 Tool Workshop=
@1 Centrifuge=
@1 Freezer=
@1 Nuclear Reactor Core=
Sphere=
Cube=
Ignoring Mesecon Signal=
Controlled by Mesecon Signal=
Arrayed Solar @1 Generator=
Fuel-Fired @1 Generator=
Geothermal @1 Generator=
Hydro @1 Generator=
Nuclear @1 Generator Core=
Small Solar @1 Generator=
Wind @1 Generator=
Self-Contained Injector=o
Constructor Mk@1=
Slot @1=
@1 tried to place @2 at protected position @3=
Frame=
Frame Motor=
Template=
Template (replacing)=
Template Motor=
Template Tool=
Supply Converter=
supply_converter=
Switching Station=
@1. Supply: @2 Demand: @3=
switching_station=
@1 Already Present=
Enables or disables technic's switching station ABM=
Fuel-Fired Alloy Furnace=
Fuel-Fired Furnace=
Forcefield=
Nuclear Reactor Rod Compartment=
Start=
automatic Start=
A reactor melted down at @1=
Start successful=
Error=
Machines: reactor melt-down check=
Machines: run coal alloy furnace=
Machines: run power monitor=
Machines: timeout check=
Machines: re-enable check=
Wind Mill Frame=
Administrative World Anchor=
## Machine-specific
Charge=
Discharge=
Power level=
Production at @1%%=
Stopped=
Stop=
Current track @1=
Keeping @1/@2 map blocks loaded=
Digging not started=
Purging cache=
@1 purging cache=
Restart=
Digging finished=
Digging @1 m above machine=
Digging @1 m below machine=
You are not allowed to edit this!=
Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.=
@1 is empty=
## Grinder Recipes
# $1: Name
@1 Dust=
Akalin=
Alatro=
Arol=
Brass=
Bronze=
Carbon Steel=
Cast Iron=
Chromium=
Coal=
Copper=
Gold=
Mithril=
Silver=
Stainless Steel=
Talinite=
Tin=
Wrought Iron=
Zinc=
@1%-Fissile Uranium=
Sawdust=
## Tools
RE Battery=
Water Can=
River 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@1 modes.=
Mining Drill Mk@1 Mode @2: @3=
Mining Drill Mk@1 Mode @2=
Mining Drill Mk@1=
Mining Laser Mk@1=
Single node.=
Mining Laser Mk%d=
Prospector=
Right-click to set target block type=
Current target:=
No target set=
May set new target:=
Set target=
No new target available=
Region cross section:=
Set region cross section:=
Region depth:=
Set region depth:=
Accuracy:=
@1 is @2 in @3x@4x@5 region=
present=
absent=
Sonic Screwdriver (left-click rotates face, right-click rotates axis)=
Tree Tap=
@1 tried to tak @2 at protected position @3 with a @4=
@1 tried to place @2 at protected position @3 with a @4=
Tools: tree tap=
Vacuum Cleaner=
## Craft descriptions
Alloy cooking=
Grinding=
Compressing=
Extracting=
Separating=

View File

@ -92,7 +92,7 @@ local function set_forcefield_formspec(meta)
local formspec
if digilines_path then
formspec = "size[5,3.25]"..
"field[0.3,3;5,1;channel;Digiline Channel;"..meta:get_string("channel").."]"
"field[0.3,3;5,1;channel;"..S("Digiline Channel")..";"..meta:get_string("channel").."]"
else
formspec = "size[5,2.25]"
end
@ -113,9 +113,9 @@ local function set_forcefield_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("%s Forcefield Emitter"):format("HV")).."]"
formspec = formspec.."button[0,1.75;5,1;enable;"..S("@1 Disabled", S("@1 Forcefield Emitter", S("HV"))).."]"
else
formspec = formspec.."button[0,1.75;5,1;disable;"..S("%s Enabled"):format(S("%s Forcefield Emitter"):format("HV")).."]"
formspec = formspec.."button[0,1.75;5,1;disable;"..S("@1 Enabled", S("@1 Forcefield Emitter", S("HV"))).."]"
end
meta:set_string("formspec", formspec)
end
@ -246,7 +246,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", S("HV"))
local range = meta:get_int("range")
local power_requirement
@ -261,14 +261,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")
@ -276,14 +276,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", S("HV")),
tiles = {
"technic_forcefield_emitter_off.png",
"technic_machine_bottom.png"..cable_entry,
@ -305,7 +305,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", S("HV")))
set_forcefield_formspec(meta)
end,
mesecons = mesecons,
@ -314,7 +314,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", S("HV")),
tiles = {
"technic_forcefield_emitter_on.png",
"technic_machine_bottom.png"..cable_entry,
@ -346,7 +346,7 @@ minetest.register_node("technic:forcefield_emitter_on", {
})
minetest.register_node("technic:forcefield", {
description = S("%s Forcefield"):format("HV"),
description = S("@1 Forcefield", S("HV")),
sunlight_propagates = true,
drawtype = "glasslike",
groups = {not_in_creative_inventory=1},

View File

@ -8,9 +8,9 @@ The nuclear reactor core requires a casing of water and a protective
shield to work. This is checked now and then and if the casing is not
intact the reactor will melt down!
--]]
local burn_ticks = 7 * 24 * 60 * 60 -- Seconds
local power_supply = 100000 -- EUs
--Dias * horas * minutos * segundos
local burn_ticks = 2 * 24 * 60 * 60 -- Seconds
local power_supply = 700000 -- EUs
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")
@ -36,19 +36,19 @@ local function make_reactor_formspec(meta)
"list[current_name;src;2,1;3,2;]"..
"list[current_player;main;0,5;8,4;]"..
"listring[]"..
"button[5.5,1.5;2,1;start;Start]"..
"checkbox[5.5,2.5;autostart;automatic Start;"..meta:get_string("autostart").."]"
"button[5.5,1.5;2,1;start;"..S("Start").."]"..
"checkbox[5.5,2.5;autostart;"..S("automatic Start")..";"..meta:get_string("autostart").."]"
if not digiline_remote_path then
return f
end
local digiline_enabled = meta:get_string("enable_digiline")
f = f.."checkbox[0.5,2.8;enable_digiline;Enable Digiline;"..digiline_enabled.."]"
f = f.."checkbox[0.5,2.8;enable_digiline;"..S("Enable Digiline")..";"..digiline_enabled.."]"
if digiline_enabled ~= "true" then
return f
end
return f..
"button_exit[4.6,3.69;2,1;save;Save]"..
"field[1,4;4,1;remote_channel;Digiline Remote Channel;${remote_channel}]"
"field[1,4;4,1;remote_channel;"..S("Digiline Remote Channel")..";${remote_channel}]"
end
local SS_OFF = 0
@ -211,7 +211,7 @@ end
local function melt_down_reactor(pos)
minetest.log("action", "A reactor melted down at "..minetest.pos_to_string(pos))
minetest.log("action", S("A reactor melted down at @1", minetest.pos_to_string(pos)))
minetest.set_node(pos, {name = "technic:corium_source"})
end
@ -247,7 +247,7 @@ end
minetest.register_abm({
label = "Machines: reactor melt-down check",
label = S("Machines: reactor melt-down check"),
nodenames = {"technic:hv_nuclear_reactor_core_active"},
interval = 4,
chance = 1,
@ -287,7 +287,7 @@ local function run(pos, node)
end
meta:set_int("HV_EU_supply", 0)
meta:set_int("burn_time", 0)
meta:set_string("infotext", S("%s Idle"):format(reactor_desc))
meta:set_string("infotext", S("@1 Idle", reactor_desc))
technic.swap_node(pos, "technic:hv_nuclear_reactor_core")
meta:set_int("structure_accumulated_badness", 0)
siren_clear(pos, meta)
@ -303,7 +303,7 @@ end
local nuclear_reactor_receive_fields = function(pos, formname, fields, sender)
local player_name = sender:get_player_name()
if minetest.is_protected(pos, player_name) then
minetest.chat_send_player(player_name, "You are not allowed to edit this!")
minetest.chat_send_player(player_name, S("You are not allowed to edit this!"))
minetest.record_protection_violation(pos, player_name)
return
end
@ -315,9 +315,9 @@ local nuclear_reactor_receive_fields = function(pos, formname, fields, sender)
if fields.start then
local b = start_reactor(pos, meta)
if b then
minetest.chat_send_player(player_name, "Start successful")
minetest.chat_send_player(player_name, S("Start successful"))
else
minetest.chat_send_player(player_name, "Error")
minetest.chat_send_player(player_name, S("Error"))
end
end
if fields.autostart then
@ -387,9 +387,9 @@ local digiline_remote_def = function(pos, channel, msg)
elseif msg.command == "start" then
local b = start_reactor(pos, meta)
if b then
digiline_remote.send_to_node(pos, channel, "Start successful", 6, true)
digiline_remote.send_to_node(pos, channel, S("Start successful"), 6, true)
else
digiline_remote.send_to_node(pos, channel, "Error", 6, true)
digiline_remote.send_to_node(pos, channel, S("Error"), 6, true)
end
end
end

View File

@ -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", S("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").."]"
@ -36,8 +36,7 @@ local function set_quarry_formspec(meta)
nd == 0 and S("Digging not started") or
(rel_y < -quarry_max_depth and S("Digging finished") or
(meta:get_int("purge_on") == 1 and S("Purging cache") or
S("Digging %d m "..(rel_y > 0 and "above" or "below").." machine")
:format(math.abs(rel_y))))
S("Digging @1 m "..(rel_y > 0 and "above" or "below").." machine", math.abs(rel_y))))
).."]"
formspec = formspec.."button[4,2;2,1;restart;"..S("Restart").."]"
meta:set_string("formspec", formspec)
@ -46,15 +45,15 @@ 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", S("HV"))
if meta:get_int("enabled") == 0 or meta:get_int("purge_on") == 1 then
meta:set_string("infotext", S(meta:get_int("purge_on") == 1 and "%s purging cache" or "%s Disabled"):format(machine_name))
meta:set_string("infotext", S(meta:get_int("purge_on") == 1 and "@1 purging cache" or "@1 Disabled", 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
meta:set_string("infotext", S("%s Finished"):format(machine_name))
meta:set_string("infotext", S("@1 Finished", machine_name))
meta:set_int("HV_EU_demand", 0)
else
meta:set_string("infotext", S(meta:get_int("HV_EU_input") >= quarry_demand and "%s Active" or "%s Unpowered"):format(machine_name))
meta:set_string("infotext", S(meta:get_int("HV_EU_input") >= quarry_demand and "@1 Active" or "@1 Unpowered", machine_name))
meta:set_int("HV_EU_demand", quarry_demand)
end
end
@ -62,7 +61,7 @@ end
local function quarry_receive_fields(pos, formname, fields, sender)
local player_name = sender:get_player_name()
if minetest.is_protected(pos, player_name) then
minetest.chat_send_player(player_name, "You are not allowed to edit this!")
minetest.chat_send_player(player_name, S("You are not allowed to edit this!"))
minetest.record_protection_violation(pos, player_name)
return
end
@ -215,7 +214,7 @@ local function send_move_error(player)
end
minetest.register_node("technic:quarry", {
description = S("%s Quarry"):format("HV"),
description = S("@1 Quarry", S("HV")),
tiles = {
"technic_carbon_steel_block.png"..tube_entry,
"technic_carbon_steel_block.png"..cable_entry,
@ -242,7 +241,7 @@ minetest.register_node("technic:quarry", {
},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("%s Quarry"):format("HV"))
meta:set_string("infotext", S("@1 Quarry", S("HV")))
meta:set_int("size", 4)
set_quarry_formspec(meta)
set_quarry_demand(meta)

View File

@ -21,13 +21,13 @@ minetest.register_craft({
})
minetest.register_craftitem("technic:geothermal", {
description = S("Geothermal %s Generator"):format("LV"),
description = S("Geothermal @1 Generator", S("LV")),
})
local check_node_around = function(pos)
local node = minetest.get_node(pos)
if node.name == "default:water_source" or node.name == "default:water_flowing" then return 1 end
if node.name == "default:lava_source" or node.name == "default:lava_flowing" then return 2 end
if node.name == "default:lava_source" or node.name == "default:lava_flowing" then return 2 end
return 0
end
@ -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", S("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", S("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", S("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", S("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

@ -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", S("LV"))
local machine_node = "technic:music_player"
local demand = 150
@ -39,19 +39,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
@ -73,7 +73,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", S("LV")).."]"..
"button[0,1;1,1;track1;1]"..
"button[1,1;1,1;track2;2]"..
"button[2,1;1,1;track3;3]"..
@ -83,15 +83,15 @@ local function set_display(meta)
"button[0,3;1,1;track7;7]"..
"button[1,3;1,1;track8;8]"..
"button[2,3;1,1;track9;9]"..
"button[3,1;1,1;stop;Stop]"..
"button[3,1;1,1;stop;"..S("Stop").."]"..
"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", meta:get_int("current_track"))).."]")
end
minetest.register_node("technic:music_player", {
description = S("%s Music Player"):format("LV"),
description = S("@1 Music Player", S("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,
@ -100,7 +100,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", S("LV")))
set_display(meta)
end,
on_receive_fields = function(pos, formanme, fields, sender)

View File

@ -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", S("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", S("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", S("LV")))
end,
technic_run = run,
})

View File

@ -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", S("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", S("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", S("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", S("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

@ -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", S("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", S("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", S("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", S("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

@ -3,14 +3,7 @@
-- This file supplies electric powered glowlights
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if (minetest.get_modpath("intllib")) then
dofile(minetest.get_modpath("intllib").."/intllib.lua")
S = intllib.Getter(minetest.get_current_modname())
else
S = function (s) return s end
end
local S = technic.getter
function technic_homedecor_node_is_owned(pos, placer)
local ownername = false
@ -38,7 +31,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

@ -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")
local machine_node = "technic:tool_workshop"
-- Setup meta data if it does not exist.
@ -67,15 +67,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
@ -83,7 +83,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,
@ -99,13 +99,13 @@ 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)
inv:set_size("upgrade1", 1)
inv:set_size("upgrade2", 1)
end,
end,
can_dig = technic.machine_can_dig,
allow_metadata_inventory_put = technic.machine_inventory_put,
allow_metadata_inventory_take = technic.machine_inventory_take,

View File

@ -51,12 +51,12 @@ end
local run = function(pos, node)
local meta = minetest.get_meta(pos)
local machine_name = S("Wind %s Generator"):format("MV")
local machine_name = S("Wind @1 Generator", S("MV"))
local check = check_wind_mill(pos)
if check == false then
meta:set_int("MV_EU_supply", 0)
meta:set_string("infotext", S("%s Improperly Placed"):format(machine_name))
meta:set_string("infotext", S("@1 Improperly Placed", machine_name))
elseif check == true then
local power = math.min(pos.y * 100, 5000)
meta:set_int("MV_EU_supply", power)
@ -67,7 +67,7 @@ local run = function(pos, node)
end
minetest.register_node("technic:wind_mill", {
description = S("Wind %s Generator"):format("MV"),
description = S("Wind @1 Generator", S("MV")),
tiles = {"technic_carbon_steel_block.png"},
paramtype2 = "facedir",
groups = {cracky=1, technic_machine=1, technic_mv=1},
@ -86,7 +86,7 @@ minetest.register_node("technic:wind_mill", {
},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("Wind %s Generator"):format("MV"))
meta:set_string("infotext", S("Wind @1 Generator", S("MV")))
meta:set_int("MV_EU_supply", 0)
end,
technic_run = run,

View File

@ -48,7 +48,7 @@ local function forceload_on(pos, meta)
end
local function set_display(pos, meta)
meta:set_string("infotext", S(meta:get_int("enabled") ~= 0 and "%s Enabled" or "%s Disabled"):format(desc))
meta:set_string("infotext", S(meta:get_int("enabled") ~= 0 and "@1 Enabled" or "@1 Disabled", desc))
meta:set_string("formspec",
"size[5,3.5]"..
"item_image[0,0;1,1;technic:admin_anchor]"..
@ -61,7 +61,7 @@ local function set_display(pos, meta)
(meta:get_int("enabled") == 0 and
"button[3,2;2,1;enable;"..minetest.formspec_escape(S("Disabled")).."]" or
"button[3,2;2,1;disable;"..minetest.formspec_escape(S("Enabled")).."]")..
"label[0,3;"..minetest.formspec_escape(S("Keeping %d/%d map blocks loaded"):format(#currently_forceloaded_positions(meta), #compute_forceload_positions(pos, meta))).."]")
"label[0,3;"..minetest.formspec_escape(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

@ -70,20 +70,20 @@ minetest.register_node("technic:coal_alloy_furnace_active", {
})
minetest.register_abm({
label = "Machines: run coal alloy furnace",
label = S("Machines: run coal alloy furnace"),
nodenames = {"technic:coal_alloy_furnace", "technic:coal_alloy_furnace_active"},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
if inv:get_size("src") == 1 then -- Old furnace -> convert it
inv:set_size("src", 2)
inv:set_stack("src", 2, inv:get_stack("src2", 1))
inv:set_size("src2", 0)
end
local recipe = nil
for i, name in pairs({
@ -122,7 +122,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]"..
@ -146,7 +146,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
@ -163,7 +163,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

@ -127,7 +127,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",
@ -142,16 +142,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[4.8,"..(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

@ -298,10 +298,10 @@ for zp = 0, 1 do
local pos = pointed_thing.above
if minetest.is_protected(pos, placer:get_player_name()) then
minetest.log("action", placer:get_player_name()
.. " tried to place " .. itemstack:get_name()
.. " at protected position "
.. minetest.pos_to_string(pos))
minetest.log("action", S("@1 tried to place @2 at protected position @3",
placer:get_player_name(),
itemstack:get_name(),
minetest.pos_to_string(pos)))
minetest.record_protection_violation(pos, placer:get_player_name())
return itemstack
end
@ -327,10 +327,10 @@ for zp = 0, 1 do
on_rightclick = function(pos, node, placer, itemstack, pointed_thing)
if is_supported_node(itemstack:get_name()) then
if minetest.is_protected(pos, placer:get_player_name()) then
minetest.log("action", placer:get_player_name()
.. " tried to place " .. itemstack:get_name()
.. " at protected position "
.. minetest.pos_to_string(pos))
minetest.log("action", S("@1 tried to place @2 at protected position @3",
placer:get_player_name(),
itemstack:get_name(),
minetest.pos_to_string(pos)))
minetest.record_protection_violation(pos, placer:get_player_name())
return itemstack
end

View File

@ -37,7 +37,7 @@ minetest.register_node("technic:power_monitor",{
minetest.register_abm({
nodenames = {"technic:power_monitor"},
label = "Machines: run power monitor",
label = S("Machines: run power monitor"),
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)

View File

@ -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 = "Alloy Furnace"
data.insert_object = technic.insert_object_unique_stack
data.can_insert = technic.can_insert_unique_stack

View File

@ -142,7 +142,7 @@ local function add_on_off_buttons(meta, ltier, charge_percent)
pipeworks.button_off,
pipeworks.button_on
}
).."label[3.9,2.01;Allow splitting incoming 'charge' stacks from tubes]"..
).."label[3.9,2.01;"..S("Allow splitting incoming 'charge' stacks from tubes").."]"..
fs_helpers.cycling_button(
meta,
"image_button[3,2.5;1,0.6",
@ -151,7 +151,7 @@ local function add_on_off_buttons(meta, ltier, charge_percent)
pipeworks.button_off,
pipeworks.button_on
}
).."label[3.9,2.51;Allow splitting incoming 'discharge' stacks]"
).."label[3.9,2.51;"..S("Allow splitting incoming 'discharge' stacks").."]"
end
return formspec
end
@ -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", S(tier)).."]"..
"label[3,0;"..S("Charge").."]"..
"label[5,0;"..S("Discharge").."]"..
"label[1,3;"..S("Power level").."]"..
@ -177,7 +177,7 @@ function technic.register_battery_box(data)
"listring[current_player;main]"
if digilines_path then
formspec = formspec.."button[0.6,3.7;2,1;edit_channel;edit Channel]"
formspec = formspec.."button[0.6,3.7;2,1;edit_channel;"..S("edit Channel").."]"
end
if data.upgrade then
@ -196,7 +196,7 @@ function technic.register_battery_box(data)
local meta = minetest.get_meta(pos)
if not technic.is_tier_cable(below.name, tier) 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", S(tier)))
return
end
@ -255,11 +255,11 @@ function technic.register_battery_box(data)
local charge_percent = math.floor(current_charge / max_charge * 100)
meta:set_string("formspec", formspec..add_on_off_buttons(meta, ltier, charge_percent))
local infotext = S("@1 Battery Box: @2 / @3", tier,
local infotext = S("@1 Battery Box: @2 / @3", S(tier),
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", S(tier)),
tiles = {
top_tex,
bottom_tex,
@ -313,9 +313,9 @@ function technic.register_battery_box(data)
local cpercent = math.floor(charge / max_charge * 100)
local inv = meta:get_inventory()
local node = minetest.get_node(pos)
meta:set_string("infotext", S("%s Battery Box"):format(tier))
meta:set_string("infotext", S("@1 Battery Box", S(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_string("channel", S("@1_battery_box", S(ltier))..minetest.pos_to_string(pos))
meta:set_int(tier.."_EU_demand", 0)
meta:set_int(tier.."_EU_supply", 0)
meta:set_int(tier.."_EU_input", 0)
@ -339,7 +339,7 @@ function technic.register_battery_box(data)
if fields.edit_channel then
minetest.show_formspec(sender:get_player_name(),
"technic:battery_box_edit_channel"..minetest.pos_to_string(pos),
"field[channel;Digiline Channel;"..meta:get_string("channel").."]")
"field[channel;"..S("Digiline Channel")..";"..meta:get_string("channel").."]")
elseif fields["fs_helpers_cycling:0:split_src_stacks"]
or fields["fs_helpers_cycling:0:split_dst_stacks"]
or fields["fs_helpers_cycling:1:split_src_stacks"]

View File

@ -149,7 +149,7 @@ function technic.register_cable(tier, size)
}
minetest.register_node("technic:"..ltier.."_cable", {
description = S("%s Cable"):format(tier),
description = S("@1 Cable", S(tier)),
tiles = {"technic_"..ltier.."_cable.png"},
inventory_image = "technic_"..ltier.."_cable_wield.png",
wield_image = "technic_"..ltier.."_cable_wield.png",
@ -191,7 +191,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", S(tier)),
tiles = {"technic_"..ltier.."_cable.png"},
groups = table.copy(groups),
sounds = default.node_sound_wood_defaults(),

View File

@ -3,6 +3,6 @@ local S = technic.getter
function technic.register_centrifuge(data)
data.typename = "separating"
data.machine_name = "centrifuge"
data.machine_desc = S("%s Centrifuge")
data.machine_desc = "Centrifuge"
technic.register_base_machine(data)
end

View File

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

View File

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

View File

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

View File

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

View File

@ -36,14 +36,14 @@ 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", S(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", S(tier))
local run = function(pos, node)
local meta = minetest.get_meta(pos)
local burn_time = meta:get_int("burn_time")
@ -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
@ -212,7 +212,7 @@ function technic.register_generator(data)
-- Connected back?
if meta:get_int(tier.."_EU_timeout") > 0 then return false end
local burn_time = meta:get_int("burn_time") or 0
if burn_time <= 0 then

View File

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

View File

@ -81,7 +81,7 @@ 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("@1 Dust", S(name)),
inventory_image = "technic_"..lname.."_dust.png",
})
if ingot then
@ -127,7 +127,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

@ -22,7 +22,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", S(name)),
inventory_image = inventory_image,
})
minetest.register_craft({

View File

@ -52,7 +52,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;"..S("@1 "..machine_desc, S(tier)).."]"..
"listring[current_name;dst]"..
"listring[current_player;main]"..
"listring[current_name;src]"..
@ -81,7 +81,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 = S("@1 "..machine_desc, S(tier))
local machine_node = "technic:"..ltier.."_"..machine_name
local machine_demand = data.demand
@ -108,18 +108,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
@ -141,7 +141,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
@ -158,7 +158,7 @@ function technic.register_base_machine(data)
end
minetest.register_node("technic:"..ltier.."_"..machine_name, {
description = machine_desc:format(tier),
description = S("@1 "..machine_desc, S(tier)),
tiles = {
"technic_"..ltier.."_"..machine_name.."_top.png"..tentry,
"technic_"..ltier.."_"..machine_name.."_bottom.png"..tentry,
@ -190,7 +190,7 @@ function technic.register_base_machine(data)
)..pipeworks.button_label
end
meta:set_string("infotext", machine_desc:format(tier))
meta:set_string("infotext", S("@1 "..machine_desc, S(tier)))
meta:set_int("tube_time", 0)
meta:set_string("formspec", formspec..form_buttons)
local inv = meta:get_inventory()
@ -228,7 +228,7 @@ function technic.register_base_machine(data)
})
minetest.register_node("technic:"..ltier.."_"..machine_name.."_active",{
description = machine_desc:format(tier),
description = S("@1 "..machine_desc, S(tier)),
tiles = {
"technic_"..ltier.."_"..machine_name.."_top.png"..tentry,
"technic_"..ltier.."_"..machine_name.."_bottom.png"..tentry,

View File

@ -39,17 +39,17 @@ local function register_recipe(typename, data)
else
data.output = ItemStack(data.output):to_string()
end
local recipe = {time = data.time, input = {}, output = data.output}
local index = get_recipe_index(data.input)
if not index then
print("[Technic] ignored registration of garbage recipe!")
print(S("[Technic] ignored registration of garbage recipe!"))
return
end
for _, stack in ipairs(data.input) do
recipe.input[ItemStack(stack):get_name()] = ItemStack(stack):get_count()
end
technic.recipes[typename].recipes[index] = recipe
if have_ui and technic.recipes[typename].output_size == 1 then
unified_inventory.register_craft({
@ -82,7 +82,7 @@ function technic.get_recipe(typename, items)
end
local index = get_recipe_index(items)
if not index then
print("[Technic] ignored registration of garbage recipe!")
print(S("[Technic] ignored registration of garbage recipe!"))
return
end
local recipe = technic.recipes[typename].recipes[index]

View File

@ -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", S(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", S(tier)),
active = false,
drawtype = "nodebox",
paramtype = "light",

View File

@ -18,7 +18,7 @@ local function set_supply_converter_formspec(meta)
"field[0.3,0.5;2,1;power;"..S("Input Power")..";"..meta:get_int("power").."]"
if digilines_path then
formspec = formspec..
"field[2.3,0.5;3,1;channel;Digiline Channel;"..meta:get_string("channel").."]"
"field[2.3,0.5;3,1;channel;"..S("Digiline Channel")..";"..meta:get_string("channel").."]"
end
-- The names for these toggle buttons are explicit about which
-- state they'll switch to, so that multiple presses (arising
@ -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
@ -153,7 +153,7 @@ local run = function(pos, node, run_stage)
technic.EU_string(input), from,
technic.EU_string(input * remain), to))
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
@ -184,7 +184,7 @@ minetest.register_node("technic:supply_converter", {
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("Supply Converter"))
if digilines_path then
meta:set_string("channel", "supply_converter"..minetest.pos_to_string(pos))
meta:set_string("channel", S("supply_converter")..minetest.pos_to_string(pos))
end
meta:set_int("power", 10000)
meta:set_int("enabled", 1)

View File

@ -43,8 +43,8 @@ minetest.register_node("technic:switching_station",{
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("Switching Station"))
meta:set_string("active", 1)
meta:set_string("channel", "switching_station"..minetest.pos_to_string(pos))
meta:set_string("formspec", "field[channel;Channel;${channel}]")
meta:set_string("channel", S("switching_station")..minetest.pos_to_string(pos))
meta:set_string("formspec", "field[channel;"..S("Channel")..";${channel}]")
local poshash = minetest.hash_node_position(pos)
technic.redundant_warn.poshash = nil
end,
@ -215,8 +215,8 @@ end
technic.powerctrl_state = true
minetest.register_chatcommand("powerctrl", {
params = "state",
description = "Enables or disables technic's switching station ABM",
params = S("state"),
description = S("Enables or disables technic's switching station ABM"),
privs = { basic_privs = true },
func = function(name, state)
if state == "on" then
@ -243,7 +243,7 @@ end
minetest.register_abm({
nodenames = {"technic:switching_station"},
label = "Switching Station", -- allows the mtt profiler to profile this abm individually
label = S("Switching Station"), -- allows the mtt profiler to profile this abm individually
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
@ -269,13 +269,13 @@ minetest.register_abm({
if meta:get_int("active") ~= 1 then
minetest.forceload_free_block(pos)
minetest.forceload_free_block(pos1)
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)
if not technic.redundant_warn[poshash] then
technic.redundant_warn[poshash] = true
print("[TECHNIC] Warning: redundant switching station found near "..minetest.pos_to_string(pos))
print(S("[TECHNIC] Warning: redundant switching station found near @1", minetest.pos_to_string(pos)))
end
return
end
@ -289,7 +289,7 @@ minetest.register_abm({
PR_nodes, BA_nodes, RE_nodes = get_network(pos, pos1, 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(pos1)
return
@ -461,7 +461,7 @@ local function switching_station_timeout_count(pos, tier)
end
end
minetest.register_abm({
label = "Machines: timeout check",
label = S("Machines: timeout check"),
nodenames = {"group:technic_machine"},
interval = 1,
chance = 1,
@ -477,7 +477,7 @@ minetest.register_abm({
end
if nodedef then
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))
end
end
end
@ -486,7 +486,7 @@ minetest.register_abm({
--Re-enable disabled switching station if necessary, similar to the timeout above
minetest.register_abm({
label = "Machines: re-enable check",
label = S("Machines: re-enable check"),
nodenames = {"technic:switching_station"},
interval = 1,
chance = 1,

View File

@ -1,3 +1,3 @@
name = technic
depends = default, pipeworks, technic_worldgen, basic_materials
optional_depends = bucket, screwdriver, mesecons, mesecons_mvps, digilines, digiline_remote, intllib, unified_inventory, vector_extras, dye
optional_depends = bucket, screwdriver, mesecons, mesecons_mvps, digilines, digiline_remote, unified_inventory, vector_extras, dye

View File

@ -348,7 +348,7 @@ end
if minetest.settings:get_bool("enable_damage") then
minetest.register_abm({
label = "Radiation damage",
label = S("Radiation damage"),
nodenames = {"group:radioactive"},
interval = 1,
chance = 1,
@ -449,7 +449,7 @@ if rawget(_G, "bucket") and bucket.register_liquid then
"technic:corium_flowing",
"technic:bucket_corium",
"technic_bucket_corium.png",
"Corium Bucket"
S("Corium Bucket")
)
end
@ -463,7 +463,7 @@ minetest.register_node("technic:chernobylite_block", {
})
minetest.register_abm({
label = "Corium: boil-off water (sources)",
label = S("Corium: boil-off water (sources)"),
nodenames = {"group:water"},
neighbors = {"technic:corium_source"},
interval = 1,
@ -474,7 +474,7 @@ minetest.register_abm({
})
minetest.register_abm({
label = "Corium: boil-off water (flowing)",
label = S("Corium: boil-off water (flowing)"),
nodenames = {"technic:corium_flowing"},
neighbors = {"group:water"},
interval = 1,
@ -485,7 +485,7 @@ minetest.register_abm({
})
minetest.register_abm({
label = "Corium: become chernobylite",
label = S("Corium: become chernobylite"),
nodenames = {"technic:corium_flowing"},
interval = 5,
chance = (griefing and 10 or 1),
@ -496,7 +496,7 @@ minetest.register_abm({
if griefing then
minetest.register_abm({
label = "Corium: griefing",
label = S("Corium: griefing"),
nodenames = {"technic:corium_source", "technic:corium_flowing"},
interval = 4,
chance = 4,

View File

@ -36,7 +36,7 @@ function technic.register_can(d)
local charge = get_can_level(itemstack)
if charge == data.can_capacity then return end
if minetest.is_protected(pointed_thing.under, user:get_player_name()) then
minetest.log("action", user:get_player_name().." tried to take "..node.name.." at protected position "..minetest.pos_to_string(pointed_thing.under).." with a "..data.can_name)
minetest.log("action", S("@1 tried to tak @2 at protected position @3 with a @4", user:get_player_name(), node.name, minetest.pos_to_string(pointed_thing.under), data.can_name))
return
end
minetest.remove_node(pointed_thing.under)
@ -60,7 +60,7 @@ function technic.register_can(d)
local charge = get_can_level(itemstack)
if charge == 0 then return end
if minetest.is_protected(pos, user:get_player_name()) then
minetest.log("action", user:get_player_name().." tried to place "..data.liquid_source_name.." at protected position "..minetest.pos_to_string(pos).." with a "..data.can_name)
minetest.log("action", S("@1 tried to place @2 at protected position @3 with a @4", user:get_player_name(), data.liquid_source_name, minetest.pos_to_string(pos), data.can_name))
return
end
minetest.set_node(pos, {name=data.liquid_source_name})

View File

@ -154,7 +154,7 @@ local function drill_dig_it(pos, player, mode)
if mode == 1 then
drill_dig_it0(pos, player)
end
if mode == 2 then -- 3 deep
dir = drill_dig_it1(player)
if dir == 0 then -- x+
@ -186,7 +186,7 @@ local function drill_dig_it(pos, player, mode)
drill_dig_it0 (pos,player)
end
end
if mode==3 then -- 3 wide
dir=drill_dig_it1(player)
if dir==0 or dir==1 then -- x
@ -204,7 +204,7 @@ local function drill_dig_it(pos, player, mode)
drill_dig_it0 (pos,player)
end
end
if mode==4 then -- 3 tall, selected in the middle
drill_dig_it0 (pos,player)
pos.y=pos.y-1
@ -227,7 +227,7 @@ local function drill_dig_it(pos, player, mode)
drill_dig_it4(pos,player)
end
end
minetest.sound_play("mining_drill", {pos = pos, gain = 1.0, max_hear_distance = 10,})
end
@ -246,14 +246,14 @@ local function mining_drill_mk2_setmode(user,itemstack)
mode=0
end
if meta["mode"]==nil then
minetest.chat_send_player(player_name, S("Use while sneaking to change Mining Drill Mk%d modes."):format(2))
minetest.chat_send_player(player_name, S("Use while sneaking to change Mining Drill Mk@1 modes.",2))
meta["mode"]=0
mode=0
end
mode=(meta["mode"])
mode=mode+1
if mode>=5 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])
minetest.chat_send_player(player_name, S("Mining Drill Mk@1 Mode @2: @3", 2, mode, mining_drill_mode_text[mode][1]))
itemstack:set_name("technic:mining_drill_mk2_"..mode);
meta["mode"]=mode
itemstack:set_metadata(minetest.serialize(meta))
@ -269,14 +269,14 @@ local function mining_drill_mk3_setmode(user,itemstack)
mode=0
end
if meta["mode"]==nil then
minetest.chat_send_player(player_name, S("Use while sneaking to change Mining Drill Mk%d modes."):format(3))
minetest.chat_send_player(player_name, S("Use while sneaking to change Mining Drill Mk@1 modes.",3))
meta["mode"]=0
mode=0
end
mode=(meta["mode"])
mode=mode+1
if mode>=6 then mode=1 end
minetest.chat_send_player(player_name, S("Mining Drill Mk%d Mode %d"):format(3, mode)..": "..mining_drill_mode_text[mode][1])
minetest.chat_send_player(player_name, S("Mining Drill Mk@1 Mode @2: @3", 3, mode, mining_drill_mode_text[mode][1]))
itemstack:set_name("technic:mining_drill_mk3_"..mode);
meta["mode"]=mode
itemstack:set_metadata(minetest.serialize(meta))
@ -333,7 +333,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",
@ -361,7 +361,7 @@ minetest.register_tool("technic:mining_drill", {
})
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,
@ -376,7 +376,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 = S("Mining Drill Mk@1 Mode @2", 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",
@ -390,7 +390,7 @@ for i = 1, 4 do
end
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,
@ -405,7 +405,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 = S("Mining Drill Mk@1 Mode @2", 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

@ -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

@ -25,7 +25,7 @@ minetest.register_tool("technic:prospector", {
local charge_to_take = toolmeta.look_depth * (toolmeta.look_depth + 1) * look_diameter * look_diameter
if toolmeta.charge < charge_to_take then return end
if toolmeta.target == "" then
minetest.chat_send_player(user:get_player_name(), "Right-click to set target block type")
minetest.chat_send_player(user:get_player_name(), S("Right-click to set target block type"))
return
end
if not technic.creative_mode then
@ -47,7 +47,7 @@ minetest.register_tool("technic:prospector", {
end
end
if math.random() < 0.02 then found = not found end
minetest.chat_send_player(user:get_player_name(), minetest.registered_nodes[toolmeta.target].description.." is "..(found and "present" or "absent").." in "..look_diameter.."x"..look_diameter.."x"..toolmeta.look_depth.." region")
minetest.chat_send_player(user:get_player_name(), S("@1 is @2 in @3x@4x@5 region", minetest.registered_nodes[toolmeta.target].description, (found and S("present") or S("absent")), look_diameter, look_diameter, toolmeta.look_depth))
minetest.sound_play("technic_prospector_"..(found and "hit" or "miss"), { pos = vector.add(user:get_pos(), { x = 0, y = 1, z = 0 }), gain = 1.0, max_hear_distance = 10 })
return toolstack
end,
@ -68,29 +68,29 @@ minetest.register_tool("technic:prospector", {
"item_image[0,0;1,1;"..toolstack:get_name().."]"..
"label[1,0;"..minetest.formspec_escape(toolstack:get_definition().description).."]"..
(toolmeta.target ~= "" and
"label[0,1.5;Current target:]"..
"label[0,1.5;"..S("Current target:").."]"..
"label[0,2;"..minetest.formspec_escape(minetest.registered_nodes[toolmeta.target].description).."]"..
"item_image[0,2.5;1,1;"..toolmeta.target.."]" or
"label[0,1.5;No target set]")..
"label[0,1.5;"..S("No target set").."]")..
(pointed and
"label[3.5,1.5;May set new target:]"..
"label[3.5,1.5;"..S("May set new target:").."]"..
"label[3.5,2;"..minetest.formspec_escape(minetest.registered_nodes[pointed].description).."]"..
"item_image[3.5,2.5;1,1;"..pointed.."]"..
"button_exit[3.5,3.65;2,0.5;target_"..pointed..";Set target]" or
"label[3.5,1.5;No new target available]")..
"label[0,4.5;Region cross section:]"..
"button_exit[3.5,3.65;2,0.5;target_"..pointed..";"..S("Set target").."]" or
"label[3.5,1.5;"..S("No new target available").."]")..
"label[0,4.5;"..S("Region cross section:").."]"..
"label[0,5;"..look_diameter.."x"..look_diameter.."]"..
"label[3.5,4.5;Set region cross section:]"..
"label[3.5,4.5;"..S("Set region cross section:").."]"..
"button_exit[3.5,5.15;1,0.5;look_radius_0;1x1]"..
"button_exit[4.5,5.15;1,0.5;look_radius_1;3x3]"..
"button_exit[5.5,5.15;1,0.5;look_radius_3;7x7]"..
"label[0,6;Region depth:]"..
"label[0,6;"..S("Region depth:").."]"..
"label[0,6.5;"..toolmeta.look_depth.."]"..
"label[3.5,6;Set region depth:]"..
"label[3.5,6;"..S("Set region depth:").."]"..
"button_exit[3.5,6.65;1,0.5;look_depth_7;7]"..
"button_exit[4.5,6.65;1,0.5;look_depth_14;14]"..
"button_exit[5.5,6.65;1,0.5;look_depth_21;21]"..
"label[0,7.5;Accuracy:]"..
"label[0,7.5;"..S("Accuracy:").."]"..
"label[0,8;98%]")
return
end,

View File

@ -62,7 +62,7 @@ minetest.register_craftitem("technic:rubber", {
})
minetest.register_abm({
label = "Tools: tree tap",
label = S("Tools: tree tap"),
nodenames = {"moretrees:rubber_tree_trunk_empty"},
interval = 60,
chance = 15,

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("technic_chests")
technic.chests.groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2,
tubedevice=1, tubedevice_receiver=1}
technic.chests.groups_noinv = {snappy=2, choppy=2, oddly_breakable_by_hand=2,
@ -47,20 +49,14 @@ function technic.chests.inv_take(pos, listname, index, stack, player)
end
function technic.chests.on_inv_move(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name()..
" moves stuff in chest at "
..minetest.pos_to_string(pos))
minetest.log("action", S("@1 moves stuff in chest at @2", player:get_player_name(), minetest.pos_to_string(pos)))
end
function technic.chests.on_inv_put(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" moves " .. stack:get_name() ..
" to chest at " .. minetest.pos_to_string(pos))
minetest.log("action", S("@1 moves @2 to chest at @3" ,player:get_player_name(), stack:get_name(), minetest.pos_to_string(pos)))
end
function technic.chests.on_inv_take(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" takes " .. stack:get_name() ..
" from chest at " .. minetest.pos_to_string(pos))
minetest.log("action", S("@1 takes @2 from chest at @3" , player:get_player_name(), stack:get_name(), minetest.pos_to_string(pos)))
end

View File

@ -3,5 +3,4 @@ basic_materials
moreblocks?
moreores?
pipeworks?
intllib?
tubelib?

View File

@ -0,0 +1,42 @@
# textdomain: technic_chests
# German Translation for technic_chests
# Deutsche Übersetzung von technic_chests
# by Xanthin
@1 Chest=@1truhe
@1 Locked Chest=Verschlossene @1truhe
@1 Locked Chest (owned by @2)=Verschlossene @1truhe (gehoert @2)
Color Filter: @1=Farbfilter: @1
Edit chest description:=Bearbeite die Beschreibung
# Colors
Black=Schwarz
Blue=Blau
Brown=Braun
Cyan=Tuerkis
Dark Green=Dunkelgruen
Dark Grey=Dunkelgrau
Green=Gruen
Grey=Grau
Magenta=Magenta
Orange=Orange
Pink=Rosa
Red=Rot
Violet=Violett
White=Weiss
Yellow=Gelb
None=Farblos
# Materials
Copper=Kupfer
Gold=Gold
Iron=Eisen
Mithril=Mithril
Silver=Silber
Wooden=Holz
# Sorting
Sort=
Auto-sort is @1=
Off=
On=

View File

@ -0,0 +1,50 @@
# textdomain: technic_chests
# Carlos Barraza (Actualizacion 2020)
# common.lua
@1 moves stuff in chest at @2=@1 mueve cosas en el cofre en @2
@1 moves @2 to chest at @3=@1 mueve @2 al cofre en @3
@1 takes @2 from chest at @3=@1 toma @2 del cofre en @3
@1 Chest=Cofre de @1
@1 Locked Chest=Cofre de @1 Bloqueado
@1 Locked Chest (owned by @2)=Cofre de @1 Bloqueado (propiedad de @2)
Color Filter: @1=Filtro por Color: @1
Edit chest description:=Editar la descripción del cofre
You do not own this chest.=No eres el dueño de este cofre
a locked chest=un cofre bloqueado
Allow splitting incoming stacks from tubes=Permitir dividir las pilas entrantes
[technic_chests] WARNING: variable or method '@1' not present in dummy pipeworks table - assuming it is a method...=[technic_chests] ADVERTENCIA: la variable o metodo '@1' no esta presente en la tabla de tubería ficticias - suponiendo que sea un metodo...
# Colors
Black=Negro
Blue=Azul
Brown=Café
Cyan=Cian
Dark Green=Verde Oscuro
Dark Grey=Gris Oscuro
Green=Verde
Grey=Gris
Magenta=Magenta
Orange=Naranja
Pink=Rosado
Red=Rojo
Violet=Violeta
White=Blanco
Yellow=Amarillo
None=Ninguno
# Materials
Copper=Cobre
Gold=Oro
Iron=Hierro
Mithril=Mitrilo
Silver=Plata
Wooden=Madera
# Sorting
Sort=Ordenar
Auto-sort is @1=Orden Automático @1
Off=Apagado
On=Encendido

View File

@ -0,0 +1,40 @@
# textdomain: technic_chests
# technic_chests translation template
@1 Chest=Coffre en @1
@1 Locked Chest=Coffre verrouillé en @1
@1 Locked Chest (owned by @2)=Coffre verrouillé en @1 (appartient à @2)
Color Filter: @1=Filtre couleur : @1
Edit chest description:=Editer la description du coffre
# Colors
Black=Noir
Blue=Bleu
Brown=Marron
Cyan=Cyan
Dark Green=Vert foncé
Dark Grey=Gris foncé
Green=Vert
Grey=Gris
Magenta=Magenta
Orange=Orange
Pink=Rose
Red=Rouge
Violet=Violet
White=Blanc
Yellow=Jaune
None=Rien
# Materials
Copper=cuivre
Gold=or
Iron=fer
Mithril=mithril
Silver=argent
Wooden=bois
# Sorting
Sort=Tri
Auto-sort is @1=Tri automatique @1
Off=désactivé
On=activé

View File

@ -0,0 +1,42 @@
# textdomain: technic_chests
# Polish Translation for technic_chests
# Polskie tłumaczenie technic_chests
# by mat9117
@1 Chest=@1 Skrzynia
@1 Locked Chest=@1 Zamknięta skrzynia
@1 Locked Chest (owned by @2)=@1 Zamknięta skrzynia (należy do @2)
Color Filter: @1=Filtr kolorów: @1
Edit chest description:=Edytuj opis skrzyni
# Colors
Black=Czarny
Blue=Niebieski
Brown=Brązowy
Cyan=Cyan
Dark Green=Ciemnozielony
Dark Grey=Ciemnoszary
Green=Zielony
Grey=Szary
Magenta=Magenta
Orange=Pomarańczowy
Pink=Różowy
Red=Czerwony
Violet=Fioletowy
White=Biały
Yellow=Żółty
None=Żaden
# Materials
Copper=Miedziana
Gold=Złota
Iron=Żelazna
Mithril=Mithrilowa
Silver=Srebrna
Wooden=Drewniana
# Sorting
Sort=Sortuj
Auto-sort is @1=Autosortowanie jest @1
Off=Wyłaczone
On=Włączone

View File

@ -0,0 +1,42 @@
# textdomain: technic_chests
# Braziliam portuguese translation for technic_chests
# Tradução portuguesa brasileira para technic_chests
# By Sires
@1 Chest=Baú @1
@1 Locked Chest=Baú Trancado @1
@1 Locked Chest (owned by @2)=Baú Trancado @1 (pertence a/à @2)
Color Filter: @1=Filtro de Cor: @1
Edit chest description:=Editar descrição do baú:
# Colors
Black=Preto
Blue=Azul
Brown=Marrom
Cyan=Ciano
Dark Green=Verde Escuro
Dark Grey=Cinza Escuro
Green=Verde
Grey=Cinza
Magenta=Magenta
Orange=Laranja
Pink=Rosa
Red=Vermelho
Violet=Violeta
White=Branco
Yellow=Amarelo
None=Nada
# Materials
Copper=Cobre
Gold=Ouro
Iron=Ferro
Mithril=Mithril
Silver=Prata
Wooden=de Madeira
# Sorting
Sort=Ordenar
Auto-sort is @1=Auto-ordenação está @1
Off=Desligada
On=Ligada

View File

@ -0,0 +1,49 @@
# textdomain: technic_chests
# common.lua
@1 moves stuff in chest at @2=
@1 moves @2 to chest at @3=
@1 takes @2 from chest at @3=
@1 Chest=
@1 Locked Chest=
@1 Locked Chest (owned by @2)=
Color Filter: @1=
Edit chest description:=
You do not own this chest.=
a locked chest=
Allow splitting incoming stacks from tubes=
[technic_chests] WARNING: variable or method '@1' not present in dummy pipeworks table - assuming it is a method...
# 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=
Off=
On=

View File

@ -0,0 +1,42 @@
# textdomain: technic_chests
# Turkish translation
# mahmutelmas06@hotmail.com
# Türkçe çeviri
@1 Chest=@1 Sandık
@1 Locked Chest=@1 Kilitli sandık
@1 Locked Chest (owned by @2)=@1 Kilitli sandık (Sahibi @2)
Color Filter: @1=Renk süzgeci: @1
Edit chest description:=Sandık bilgilerini düzenle
# Colors - Renkler
Black=Siyah
Blue=Mavi
Brown=Kahverengi
Cyan=Cam göbeği
Dark Green=Koyu yeşil
Dark Grey=Koyu gri
Green=Yeşil
Grey=Gri
Magenta=Mor
Orange=Turuncu
Pink=Pembe
Red=Kırmızı
Violet=Koyu mor
White=Beyaz
Yellow=Sarı
None=Hiç
# Materials - Metaryeller
Copper=Bakır
Gold=Altın
Iron=Demir
Mithril=Mithril
Silver=Gümüş
Wooden=Ahşap
# Sorting - Sıralama
Sort=Sırala
Auto-sort is @1=Otomatik sıralama @1
Off=Kapalı
On=Açık

View File

@ -1,3 +1,3 @@
name = technic_chests
depends = default, basic_materials
optional_depends = moreblocks, moreores, pipeworks, intllib, tubelib
optional_depends = moreblocks, moreores, pipeworks, tubelib

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 = rawget(_G, "fs_helpers")
@ -17,7 +17,7 @@ if not minetest.get_modpath("pipeworks") then
local dummy = function()
end
pipeworks_meta.__index = function(table, key)
print("[technic_chests] WARNING: variable or method '"..key.."' not present in dummy pipeworks table - assuming it is a method...")
print(S("[technic_chests] WARNING: variable or method '@1' not present in dummy pipeworks table - assuming it is a method...",key))
pipeworks[key] = dummy
return dummy
end
@ -26,7 +26,7 @@ if not minetest.get_modpath("pipeworks") then
fs_helpers.cycling_button = function() return "" end
else
fs_helpers = pipeworks.fs_helpers
allow_label = "label[0.9,0.36;Allow splitting incoming stacks from tubes]"
allow_label = "label[0.9,0.36;"..S("Allow splitting incoming stacks from tubes").."]"
shift_edit_field = 3
tube_entry = "^pipeworks_tube_connection_metallic.png"
end
@ -98,7 +98,7 @@ local function set_formspec(pos, data, page)
if data.autosort then
local status = meta:get_int("autosort")
formspec = formspec.."button["..(data.hileft+2)..","..(data.height+1.1)..";3,0.8;autosort_to_"..(1-status)..";"..S("Auto-sort is %s"):format(status == 1 and S("On") or S("Off")).."]"
formspec = formspec.."button["..(data.hileft+2)..","..(data.height+1.1)..";3.1,0.8;autosort_to_"..(1-status)..";"..S("Auto-sort is @1", status == 1 and S("On") or S("Off")).."]"
end
if data.infotext then
local formspec_infotext = minetest.formspec_escape(meta:get_string("infotext"))
@ -122,7 +122,7 @@ local function set_formspec(pos, data, page)
else
colorName = S("None")
end
formspec = formspec.."label["..(data.coleft+0.2)..","..(data.lotop+3)..";"..S("Color Filter: %s"):format(colorName).."]"
formspec = formspec.."label["..(data.coleft+0.2)..","..(data.lotop+3)..";"..S("Color Filter: @1", colorName).."]"
end
meta:set_string("formspec", formspec)
end
@ -188,7 +188,6 @@ end
function technic.chests:definition(name, data)
local lname = name:lower()
name = S(name)
local d = {}
for k, v in pairs(data) do d[k] = v end
data = d
@ -215,7 +214,7 @@ function technic.chests:definition(name, data)
local locked_after_place = nil
local front = {"technic_"..lname.."_chest_front.png"}
data.base_formspec = "size["..data.ovwidth..","..data.ovheight.."]"..
"label[0,0;"..S("%s Chest"):format(name).."]"..
"label[0,0;"..S("@1 Chest", S(name)).."]"..
"list[context;main;"..data.hileft..",1;"..data.width..","..data.height..";]"..
"list[current_player;main;"..data.loleft..","..data.lotop..";8,4;]"..
"background[-0.19,-0.25;"..(data.ovwidth+0.4)..","..(data.ovheight+0.75)..";technic_chest_form_bg.png]"..
@ -224,7 +223,7 @@ function technic.chests:definition(name, data)
"listring[]"
if data.sort then
data.base_formspec = data.base_formspec.."button["..data.hileft..","..(data.height+1.1)..";1,0.8;sort;"..S("Sort").."]"
data.base_formspec = data.base_formspec.."button["..data.hileft..","..(data.height+1.1)..";1.2,0.8;sort;"..S("Sort").."]"
end
if data.color then
data.base_formspec = data.base_formspec..get_color_buttons(data.coleft, data.lotop)
@ -235,8 +234,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)", S(name), meta:get_string("owner")))
pipeworks.after_place(pos)
end
table.insert(front, "technic_"..lname.."_chest_lock_overlay.png")
@ -246,9 +244,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", S(name))
else
desc = S("%s Chest"):format(name)
desc = S("@1 Chest", S(name))
end
local tentry = tube_entry
@ -279,7 +277,7 @@ 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", S(name)))
set_formspec(pos, data, "main")
local inv = meta:get_inventory()
inv:set_size("main", data.width * data.height)
@ -315,7 +313,7 @@ function technic.chests:definition(name, data)
-- verify placer is owner of lockable chest
if owner ~= name then
minetest.record_protection_violation(pos, name)
minetest.chat_send_player(name, "You do not own this chest.")
minetest.chat_send_player(name, S("You do not own this chest."))
return nil
end
@ -325,7 +323,7 @@ function technic.chests:definition(name, data)
meta:set_string("key_lock_secret", secret)
end
return secret, "a locked chest", owner
return secret, S("a locked chest"), owner
end
end
return def

View File

@ -29,7 +29,7 @@ if technic_cnc.use_technic then
allow_metadata_inventory_take = technic.machine_inventory_take
allow_metadata_inventory_move = technic.machine_inventory_move
can_dig = technic.machine_can_dig
desc_tr = S("%s CNC Machine"):format("LV")
desc_tr = S("@1 CNC Machine", S("LV"))
else
minetest.register_craft({
output = 'technic:cnc',
@ -132,7 +132,7 @@ local cnc_formspec =
"image_button[6,4;1,1;technic_cnc_element_edge.png;element_edge; ]"..
"label[0, 5.5;"..S("In:").."]"..
"list[current_name;src;0.5,5.5;1,1;]"..
"list[current_name;src;1,5.5;1,1;]"..
"label[4, 5.5;"..S("Out:").."]"..
"list[current_name;dst;5,5.5;4,1;]"..
@ -222,7 +222,7 @@ local run = function(pos, node)
(not minetest.registered_nodes[result]) or
(not inv:room_for_item("dst", result)) then
technic.swap_node(pos, machine_node)
meta:set_string("infotext", S("%s Idle"):format(machine_name))
meta:set_string("infotext", S("@1 Idle", machine_name))
meta:set_string("cnc_product", "")
meta:set_int("LV_EU_demand", 0)
return
@ -230,10 +230,10 @@ local run = function(pos, node)
if eu_input < demand then
technic.swap_node(pos, machine_node)
meta:set_string("infotext", S("%s Unpowered"):format(machine_name))
meta:set_string("infotext", S("@1 Unpowered", machine_name))
elseif eu_input >= demand then
technic.swap_node(pos, machine_node.."_active")
meta:set_string("infotext", S("%s Active"):format(machine_name))
meta:set_string("infotext", S("@1 Active", machine_name))
meta:set_int("src_time", meta:get_int("src_time") + 1)
if meta:get_int("src_time") >= 3 then -- 3 ticks per output
meta:set_int("src_time", 0)

View File

@ -7,11 +7,7 @@ technic_cnc.technic_modpath = minetest.get_modpath("technic")
technic_cnc.use_technic = technic_cnc.technic_modpath
and minetest.settings:get_bool("technic_cnc_use_technic") ~= false
if rawget(_G, "intllib") then
technic_cnc.getter = intllib.Getter()
else
technic_cnc.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"")else return"@"..o..n..c end end) end
end
technic_cnc.getter = minetest.get_translator("technic_cnc")
dofile(modpath.."/cnc.lua")
dofile(modpath.."/cnc_api.lua")

View File

@ -0,0 +1,38 @@
# textdomain: technic_cnc
## CNC
CNC Machine=CNC-Maschine
@1 CNC Machine=@1 CNC-Maschine
Cylinder=Zylinder
Element Cross=Halbes Kreuzelement
Element Cross Double=Kreuzelement
Element Edge=Halbes Eckelement
Element Edge Double=Eckelement
Element End=Halbes Endelement
Element End Double=Endelement
Element Straight=Halbes aufrechtes Element
Element Straight Double=Aufrechtes Element
Element T=Halbes T-Element
Element T Double=T-Element
Horizontal Cylinder=Liegender Zylinder
One Curved Edge Block=Block mit einer abgerundeten Kante
Pyramid=Pyramide
Slope=Schraege
Slope Edge=Schraege mit Ecke
Slope Inner Edge=Schraege mit Innenecke
Slope Lying=Liegende Schraege
Slope Upside Down=Umgedrehte Schraege
Slope Upside Down Edge=Umgedrehte Schraege mit Ecke
Slope Upside Down Inner Edge=Umgedrehte Schraege mit Innenecke
Sphere=Kugel
Spike=Spitze
Stick=Stange
Two Curved Edge Block=Block mit zwei abgerundeten Kanten
Brick=Ziegel:
Cobble=Pflasterstein:
Dirt=Erde:
Leaves=Laub:
Sandstone=Sandstein:
Stone=Stein:
Tree=Baumstamm:
Wooden=Holz:

View File

@ -0,0 +1,63 @@
# textdomain: technic_cnc
# Carlos Barraza (Actualizacion 2020)
## CNC
CNC Machine=Maquina CNC
@1 CNC Machine=Maquina CNC @1
Choose Milling Program:=Elija el Programa de Fresado:
Slim Elements half / normal height:=Elementos Delgados de Altura Media/Normal:
In:=Entrada
Out:=Salida
Element Edge=Elemento Borde
Element Cross Double=Elemento Cruz Doble
Element T Double=Elemento Doble T
Oblate spheroid=Esferoide Oblato
Two Curved Edge/Corner Block=Dos Bordes Curvos/Bloque de Esquina
Slope Upside Down Inner Edge/Corner=Pendiente al Revés Interior Borde/Esquina
Slope Upside Down Outer Edge/Corner=Pendiente al Revés Exterior Borde/Esquina
Slope Inner Edge/Corner=Pendiente Interior Borde/Esquina
Slope Outer Edge/Corner=Pendiente Exterior Borde/Esquina
Spike=Pica
Element Edge Double=Elemento Borde Doble
Two Curved Edge Block=Dos Bloques de Borde Curvados
Pyramid=Piramide
Slope Upside Down Inner Edge=Borde Interno de Rampa Al Reves
Slope Upside Down Edge=Borde de Rampa Al Reves
Element Straight Double=Elemento Doble Recto
Sphere=Esfera
Element End Double=Doble Fin de Elemento
Element Straight=Recta de Elemento
Horizontal Cylinder=Cilindro Horizontal
Slope Inner Edge=Borde Interno de Rampa
One Curved Edge Block=Un Bloque de Borde Curvado
Element Cross=Cruce de Elementos
Stick=Varita
Element End=Fin de Elemento
Slope Lying=Rampa en Reposo
Slope Upside Down=Rampa al Reves
Slope Edge=Borde de Rampa
Slope=Rampa
Element T=Elemento T
Cylinder=Cilindro
Cobble=Adoquines
Stone=Piedra
Brick=Ladrillo
Dirt=Tierra
Grassy dirt=Tierra con Pasto
Sandstone=Arenisca
Wooden=Madera
Leaves=Hojas
Tree=Arbol
Bronze=Bronce
Steel=Acero
Stainless Steel=Acero Inoxidable
Marble=Mármol
Granite=Granito
Blast-resistant concrete=Concreto Resistente a Exposiones
Concrete=Concreto
Cement=Cemento
Brass block=Bloque de Latón
LV=BV
@1 Idle=@1 Inactivo
@1 Unpowered=@1 Sin Energia
@1 Active=@1 Activo

View File

@ -0,0 +1,38 @@
# textdomain: technic_cnc
## CNC
CNC Machine=Tornio CNC
@1 CNC Machine=Tornio CNC @1
Cylinder=Cilindro
Element Cross=Elemento a croce
Element Cross Double=Elemento a croce doppio
Element Edge=Elemento bordo
Element Edge Double=Elemento bordo doppio
Element End=Elemento finale
Element End Double=Elemento finale doppio
Element Straight=Elemento dritto
Element Straight Double=Elemento dritto doppio
Element T=Elemento a T
Element T Double=Elemento a T doppio
Horizontal Cylinder=Cilindro orizzontale
One Curved Edge Block=Blocco con bordo curvo
Pyramid=Piramide
Slope=Inclinato
Slope Edge=Bordo inclinato
Slope Inner Edge=Bordo interno inclinato
Slope Lying=Pendenza bugiarda
Slope Upside Down=Pendenza capovolta
Slope Upside Down Edge=Bordo inclinato capovolto
Slope Upside Down Inner Edge=Bordo interno inclinato capovolto
Sphere=Sfera
Spike=Spuntone
Stick=Bastone
Two Curved Edge Block=Blocco con bordo a doppia curva
Brick=Mattone
Cobble=Ciottolato
Dirt=Terra
Leaves=Foglie
Sandstone=Arenaria
Stone=Pietra
Tree=Albero
Wooden=Legno

View File

@ -0,0 +1,38 @@
# textdomain: technic_cnc
## CNC
CNC Machine=Obrabiarka CNC
@1 CNC Machine=@1 Obrabiarka CNC
Cylinder=Walec
Element Cross=Część krzyżowa
Element Cross Double=Podwójna część krzyżowa
Element Edge=Krawędź części
Element Edge Double=Podwójna krawędź części
Element End=Końcowa część
Element End Double=Podwójna końcowa część
Element Straight=Prosta część
Element Straight Double=Podwójna prosta część
Element T=Część T
Element T Double=Podwójna część T
Horizontal Cylinder=Poziomy walec
One Curved Edge Block=Blok z zagiętą krawędzią
Pyramid=Ostrosłup
Slope=Spad
Slope Edge=Krawędź spadu
Slope Inner Edge=Wewnętrzna krawędź spadu
Slope Lying=Leżący spad
Slope Upside Down=Odwrócony spad
Slope Upside Down Edge=Krawędź odwróconego spadu
Slope Upside Down Inner Edge=Wewnętrzna krawędz odwróconego spadu
Sphere=Kula
Spike=Kolec
Stick=Patyk
Two Curved Edge Block=Blok z dwoma zagiętymi krawędziami
Brick=Cegła
Cobble=Bruk
Dirt=Ziemia
Leaves=Liście
Sandstone=Piaskowiec
Stone=Kamień
Tree=Drzewo
Wooden=Drewniany

View File

@ -0,0 +1,62 @@
# textdomain: technic_cnc
## CNC
CNC Machine=
@1 CNC Machine=
Choose Milling Program:=
Slim Elements half / normal height:=
In:=
Out:=
Element Edge=
Element Cross Double=
Element T Double=
Oblate spheroid=
Two Curved Edge/Corner Block=
Slope Upside Down Inner Edge/Corner=
Slope Upside Down Outer Edge/Corner=
Slope Inner Edge/Corner=
Slope Outer Edge/Corner=
Spike=
Element Edge Double=
Two Curved Edge Block=
Pyramid=Piramide
Slope Upside Down Inner Edge=
Slope Upside Down Edge=
Element Straight Double=
Sphere=
Element End Double=
Element Straight=
Horizontal Cylinder=
Slope Inner Edge=
One Curved Edge Block=
Element Cross=
Stick=
Element End=
Slope Lying=
Slope Upside Down=
Slope Edge=
Slope=
Element T=
Cylinder=
Cobble=
Stone=
Brick=
Dirt=
Grassy dirt=
Sandstone=
Wooden=
Leaves=
Tree=
Bronze=
Steel=
Stainless Steel=
Marble=
Granite=
Blast-resistant concrete=
Concrete=
Cement=
Brass block=
LV=
@1 Idle=
@1 Unpowered=
@1 Active=

View File

@ -141,6 +141,8 @@ minetest.register_craft({
output = "technic:wrought_iron_ingot",
})
--[[
--This ruins the translations of the other mod, just by modifying steel to iron I don't think it's convenient.
local function for_each_registered_item(action)
local already_reg = {}
for k, _ in pairs(minetest.registered_items) do
@ -187,6 +189,6 @@ end
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")) })
minetest.override_item(item_name, { description = string.gsub(item_def.description, "Steel", "Iron") })
end
end)
end)]]

View File

@ -1,6 +1,5 @@
default
basic_materials
intllib?
mg?
doors?
farming?

View File

@ -2,7 +2,7 @@ local modpath = minetest.get_modpath("technic_worldgen")
technic = rawget(_G, "technic") or {}
technic.worldgen = {
gettext = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end,
gettext = minetest.get_translator("technic_worldgen")
}
dofile(modpath.."/config.lua")

View File

@ -0,0 +1,40 @@
# textdomain: technic_worldgen
# German Translation for technic_worldgen
# Deutsche Übersetzung von technic_worldgen
# by Xanthin
## crafts.lua
Uranium Lump=Uranklumpen
Uranium Ingot=Uranbarren
Chromium Lump=Chromklumpen
Chromium Ingot=Chrombarren
Zinc Lump=Zinkklumpen
Zinc Ingot=Zinkbarren
Brass Ingot=Messingbarren
Wrought Iron Ingot=Schmiedeeisenbarren
Cast Iron Ingot=Gusseisenbarren
Carbon Steel Ingot=Kohlenstoffstahlbarren
Stainless Steel Ingot=Edelstahlbarren
Iron=Eisen
## nodes.lua
Uranium Ore=Uranerz
Chromium Ore=Chromerz
Zinc Ore=Zinkerz
Granite=Granit
Marble=Marmor
Marble Bricks=Marmorziegel
Uranium Block=Uranblock
Chromium Block=Chromblock
Zinc Block=Zinkblock
Wrought Iron Block=Schmiedeeisenblock
Cast Iron Block=Gusseisenblock
Carbon Steel Block=Kohlenstoffstahlblock
Stainless Steel Block=Edelstahlblock
Brass Block=Messingblock
Wrought Iron=Schmiedeeisen
## rubber.lua
Rubber Tree Sapling=Gummibaumsetzling
Rubber Tree=Gummibaum

View File

@ -0,0 +1,44 @@
# textdomain: technic_worldgen
# technic_worldgen traducido por Carlos Barraza
###crafts.lua
Uranium Lump=Pepita de Uranio
Uranium Ingot=Lingote de Uranio
Chromium Lump=Pepita de Cromo
Chromium Ingot=Lingote de Cromo
Zinc Lump=Pepita de Zinc
Zinc Ingot=Lingote de Zinc
Lead Lump=Pepita de Plomo
Lead Ingot=Lingote de Plomo
Sulfur Lump=Pepita de Azufre
Brass Ingot=Lingote de Latón
Wrought Iron Ingot=Lingote de Hierro Forjado
Cast Iron Ingot=Lingote de Hierro Fundido
Carbon Steel Ingot=Lingote de Acero al Carbon
Stainless Steel Ingot=Lingote de Acero inoxidable
Iron=Hierro
###nodes.lua
Uranium Ore=Mineral de Uranio
Chromium Ore=Mineral de Cromo
Zinc Ore=Mineral de Zinc
Lead Ore=Mineral de Plomo
Sulfur Ore=Mineral de Azufre
Granite=Granito
Marble=Mármol
Marble Bricks=Ladrillos de Mármol
Uranium Block=Bloque de Uranio
Chromium Block=Bloque de Cromo
Zinc Block=Bloque de Zinc
Lead Block=Bloque de Plomo
Wrought Iron Block=Bloque de Hierro Forjado
Cast Iron Block=Bloque de Hierro Fundido
Carbon Steel Block=Bloque de Acero al Carbon
Stainless Steel Block=Bloque de Acero Inoxidable
Brass Block=Bloque de Latón
Wrought Iron=Hierro Forjado
###rubber.lua
Rubber Tree Sapling=Retoño de Árbol de Goma
Rubber Tree=Árbol de Goma
Rubber Tree Leaves=Hojas del Árbol de Goma

View File

@ -0,0 +1,38 @@
# textdomain: technic_worldgen
# template.txt
# technic_worldgen translation template
###crafts.lua
Uranium Lump=Morceau d'uranium
Uranium Ingot=Lingot d'uranium
Chromium Lump=Morceau de chrome
Chromium Ingot=Lingot de chrome
Zinc Lump=Morceau de zinc
Zinc Ingot=Lingot de zinc
Brass Ingot=Lingot de laiton
Wrought Iron Ingot=Lingot de fer forgé
Cast Iron Ingot=Lingot de fonte
Carbon Steel Ingot=Lingot d'acier au carbone
Stainless Steel Ingot=Lingot d'acier inoxydable
Iron=Fer
###nodes.lua
Uranium Ore=Minerai d'uranium
Chromium Ore=Minerai de chrome
Zinc Ore=Minerai de zinc
Granite=Granite
Marble=Marbre
Marble Bricks=Briques en marbre
Uranium Block=Bloc d'uranium
Chromium Block=Bloc de chrome
Zinc Block=Bloc de zinc
Wrought Iron Block=Bloc de fer forgé
Cast Iron Block=Bloc de fonte
Carbon Steel Block=Bloc d'acier au carbone
Stainless Steel Block=Bloc d'acier inoxydable
Brass Block=Bloc de laiton
Wrought Iron=Fer forgé
###rubber.lua
Rubber Tree Sapling=Pousse d'arbre à caoutchouc
Rubber Tree=Arbre à caoutchouc

View File

@ -0,0 +1,39 @@
# textdomain: technic_worldgen
# Polish Translation for technic_worldgen
# Polskie tłumaczenie technic_worldgen
# by mat9117
###crafts.lua
Uranium Lump=Bryłka uranu
Uranium Ingot=Sztabka uranu
Chromium Lump=Bryłka chromu
Chromium Ingot=Sztabka chromu
Zinc Lump=Bryłka cynku
Zinc Ingot=Sztabka cynku
Brass Ingot=Sztabka mosiądzu
Wrought Iron Ingot=Sztabka kutego żelaza
Cast Iron Ingot=Sztabka żelaziwa
Carbon Steel Ingot=Sztabka stali węglowej
Stainless Steel Ingot=Sztabka nierdzewnej stali
Iron=Żelazo
###nodes.lua
Uranium Ore=Ruda uranu
Chromium Ore=Ruda chromu
Zinc Ore=Ruda cynku
Granite=Granit
Marble=Marmur
Marble Bricks=Marmurowe cegły
Uranium Block=Blok uranu
Chromium Block=Blok chromu
Zinc Block=Blok cynku
Wrought Iron Block=Blok kutego żelaza
Cast Iron Block=Blok żelaziwa
Carbon Steel Block=Blok stali węglowej
Stainless Steel Block=Blok stali nierdzewnej
Brass Block=Blok mosiądzu
Wrought Iron=Kute żelazo
###rubber.lua
Rubber Tree Sapling=Sadzonka kauczukowca
Rubber Tree=Kauczukowiec

View File

@ -0,0 +1,39 @@
# textdomain: technic_worldgen
# Braziliam portuguese translation for technic_worldgen
# Tradução portuguesa brasileira para technic_worldgen
# By Sires
###crafts.lua
Uranium Lump=Pedaço de Urânio
Uranium Ingot=Lingote de Urânio
Chromium Lump=Pedaço de Crômio
Chromium Ingot=Lingote de Crômio
Zinc Lump=Pedaço de Zinco
Zinc Ingot=Lingote de Zinco
Brass Ingot=Lingote de Latão
Wrought Iron Ingot=Lingote de Ferro Forjado
Cast Iron Ingot=Lingote de Ferro Fundido
Carbon Steel Ingot=Lingote de Aço Carbono
Stainless Steel Ingot= Lingote de Ferro Inoxidável
Iron=Ferro
###nodes.lua
Uranium Ore=Minério de Urânio
Chromium Ore=Minério de Crômio
Zinc Ore=Minério de Zinco
Granite=Granito
Marble=Mármore
Marble Bricks=Tijolos de Mármore
Uranium Block=Bloco de Urânio
Chromium Block=Bloco de Crômio
Zinc Block=Bloco de Zinco
Wrought Iron Block=Bloco de Ferro Forjado
Cast Iron Block=Bloco de Ferro Fundido
Carbon Steel Block=Bloco de Aço Carbono
Stainless Steel Block=Bloco de Aço Inoxidável
Brass Block=Bloco de Latão
Wrought Iron=Ferro Forjado
###rubber.lua
Rubber Tree Sapling=Muda de Árvore de Borracha
Rubber Tree=Árvore de Borracha

View File

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

Some files were not shown because too many files have changed in this diff Show More