From 26a3495e58a532c336486750a0f0efea3cefbf66 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Mon, 4 Nov 2024 13:01:31 +0500 Subject: [PATCH 01/20] Changed the old method of transfers to a new one --- technic/init.lua | 2 +- technic/items.lua | 6 +- technic/locale/technic.de.tr | 168 ++++++++++++++ technic/locale/technic.es.tr | 162 +++++++++++++ technic/locale/technic.fr.tr | 215 ++++++++++++++++++ technic/locale/technic.it.tr | 165 ++++++++++++++ technic/locale/technic.pl.tr | 175 ++++++++++++++ technic/locale/technic.ru.tr | 193 ++++++++++++++++ technic/machines/HV/forcefield.lua | 22 +- technic/machines/register/alloy_furnace.lua | 4 +- technic/machines/register/alloy_recipes.lua | 2 +- technic/machines/register/battery_box.lua | 16 +- technic/machines/register/cables.lua | 6 +- technic/machines/register/centrifuge.lua | 4 +- .../machines/register/centrifuge_recipes.lua | 2 +- technic/machines/register/common.lua | 2 +- technic/machines/register/compressor.lua | 5 +- .../machines/register/compressor_recipes.lua | 4 +- .../machines/register/electric_furnace.lua | 4 +- technic/machines/register/extractor.lua | 4 +- .../machines/register/extractor_recipes.lua | 2 +- technic/machines/register/freezer.lua | 4 +- technic/machines/register/freezer_recipes.lua | 2 +- technic/machines/register/generator.lua | 8 +- technic/machines/register/grinder.lua | 4 +- technic/machines/register/grinder_recipes.lua | 6 +- technic/machines/register/grindings.lua | 4 +- technic/machines/register/machine_base.lua | 20 +- technic/machines/register/solar_array.lua | 8 +- 29 files changed, 1149 insertions(+), 70 deletions(-) create mode 100644 technic/locale/technic.de.tr create mode 100644 technic/locale/technic.es.tr create mode 100644 technic/locale/technic.fr.tr create mode 100644 technic/locale/technic.it.tr create mode 100644 technic/locale/technic.pl.tr create mode 100644 technic/locale/technic.ru.tr diff --git a/technic/init.lua b/technic/init.lua index 7669fafbc..8c99040c2 100644 --- a/technic/init.lua +++ b/technic/init.lua @@ -32,7 +32,7 @@ else end) end end -local S = technic.getter +local S = minetest.get_translator("technic") -- Read configuration file dofile(modpath.."/config.lua") diff --git a/technic/items.lua b/technic/items.lua index d1565d775..ec154db2f 100644 --- a/technic/items.lua +++ b/technic/items.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") minetest.register_craftitem("technic:silicon_wafer", { description = S("Silicon Wafer"), @@ -146,7 +146,7 @@ for p = 0, 35 do local block = "technic:uranium"..psuffix.."_block" local ov = p == 7 and minetest.override_item or nil; (ov or minetest.register_craftitem)(ingot, { - description = string.format(S("%.1f%%-Fissile Uranium Ingot"), p/10), + description = S("@1-Fissile Uranium Ingot", string.format("%.1f%%", p/10)), inventory_image = "technic_uranium_ingot.png", groups = {uranium_ingot=1, not_in_creative_inventory=nici}, }); @@ -183,7 +183,7 @@ for p = 0, 35 do -- a 3.5%-fissile uranium block. local radioactivity = math.floor(math.sqrt((1+5.55*p/35) * 18 / (1+5.55*7/35)) + 0.5); (ov or minetest.register_node)(block, { - description = string.format(S("%.1f%%-Fissile Uranium Block"), p/10), + description = S("@1-Fissile Uranium Block", string.format("%.1f%%", p/10)), tiles = {"technic_uranium_block.png"}, is_ground_content = true, groups = {uranium_block=1, not_in_creative_inventory=nici, diff --git a/technic/locale/technic.de.tr b/technic/locale/technic.de.tr new file mode 100644 index 000000000..45ff38769 --- /dev/null +++ b/technic/locale/technic.de.tr @@ -0,0 +1,168 @@ +# German Translation for Technic Mod +# Deutsche Uebersetzung des Technic Mods +# by Xanthin + +## Misc +[Technic] Loaded in %f seconds = [Technic] ist in %f Sekunden geladen + +## Items +Silicon Wafer = Siliziumscheibe +Doped Silicon Wafer = Dotierte Siliziumscheibe +Enriched Uranium = Angereichertes Uran +Uranium Fuel = Uranbrennstoff +Diamond Drill Head = Diamantbohrkopf +Blue Energy Crystal = Blauer Energiekristall +Green Energy Crystal = Gruener Energiekristall +Red Energy Crystal = Roter Energiekristall +Fine Copper Wire = Feinkupferdraht +Copper Coil = Kupferspule +Electric Motor = Elektromotor +Low Voltage Transformer = Niederspannungstransformator +Medium Voltage Transformer = Mittelspannungstransformator +High Voltage Transformer = Hochspannungstransformator +Control Logic Unit = Steuer- und Regelungseinheit +Mixed Metal Ingot = Mischmetallbarren +Composite Plate = Verbundplatte +Copper Plate = Kupferplatte +Carbon Plate = Kohlefaserplatte +Graphite = Graphit +Carbon Cloth = Kohlefasergewebe +Raw Latex = Rohlatex +Rubber Fiber = Gummifaser +%.1f%%-Fissile Uranium Ingot = +%.1f%%-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. +# $1: Machine name (Includes tier) +@1 Active (@2 EU) = @1 ist eingeschaltet (@2 EU) +%s Active = %s ist eingeschaltet +%s Disabled = %s ist ausgeschaltet +%s Enabled = +%s Idle = %s ist bereit +%s Improperly Placed = %s ist falsch plaziert +%s Unpowered = %s hat keine Stromversorgung +%s Out Of Fuel = %s hat keinen Brennstoff +%s Has Bad Cabling = %s ist falsch verkabelt +%s Has No Network = %s hat kein Netzwerk +%s Finished = %s ist fertig +Enable/Disable = Einschalten/Ausschalten +Range = Reichweite +Upgrade Slots = Verbesserungsfaecher +In: = Rein: +Out: = Raus: +Slot %d = Fach %d +Itemwise = Einzelstuecke +Stackwise = Ganzer Stapel +Owner: = +Unlocked = +Locked = +Radius: = +Enabled = +Disabled = + +## Machine names +# $1: Tier +%s Alloy Furnace = %s Legierungsofen +%s Battery Box = %s Batteriebox +%s Cable = %s Kabel +%s Compressor = %s Kompressor +%s Extractor = %s Extraktor +%s Forcefield Emitter = %s Kraftfeld-Emitter +%s Furnace = %s Ofen +%s Grinder = %s Schleifmaschine +%s Music Player = %s Musikspieler +%s Quarry = %s Steinbruch +%s Tool Workshop = %s Werkzeugwerkstatt +Arrayed Solar %s Generator = %s Solaranlage +Fuel-Fired %s Generator = %s Kohle-Generator +Geothermal %s Generator = %s Geothermie-Generator +Hydro %s Generator = %s Wassermuehle +Nuclear %s Generator Core = %s Reaktorkern +Small Solar %s Generator = %s Solarmodul +Wind %s Generator = %s Windmuehle +Self-Contained Injector = Selbstversorger-Injektor +Constructor Mk%d = Konstruktor Modell %d +Frame = Rahmen +Frame Motor = Rahmenmotor +Template = Schablone +Template (replacing) = Schablone (ersetzend) +Template motor = Schablonenmotor +Template tool = Schablonenwerkzeug +Battery Box = Batteriebox +Supply Converter = Stromumwandler +Switching Station = Schaltanlage +Fuel-Fired Alloy Furnace = Kohle-Legierungsofen +Fuel-Fired Furnace = Kohle-Ofen +Wind Mill Frame = Windmuehlengeruest +Forcefield = Kraftfeld +Nuclear Reactor Rod Compartment = Brennstabfaecher +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 %d%% = Produktion bei %d%% +Choose Milling Program: = Waehle ein Fraesprogramm: +Slim Elements half / normal height: = Schmale Elemente von halber / normaler Hoehe: +Current track %s = Aktueller Titel %s +Stopped = +Keeping %d/%d map blocks loaded = +Digging not started = +Digging finished = +Digging %d m above machine = +Digging %d m below machine = + +## Grinder Recipes +# $1: Name +%s Dust = %sstaub +Akalin = Akalin +Alatro = Alatro +Arol = Arol +Brass = Messing +Bronze = Bronze +Carbon Steel = Kohlenstoffstahl +Cast Iron = Gusseisen +Chromium = Chrom +Coal = Kohle +Copper = Kupfer +Gold = Gold +Mithril = Mithril +Silver = Silber +Stainless Steel = Edelstahl +Talinite = Talinite +Tin = Zinn +Wrought Iron = Schmiedeeisen +Zinc = Zink +%.1f%%-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%d modes. = Halte die Shift-Taste beim Benutzen gedrueckt, um die Funktion des Bergbaubohrers Modell %d zu aendern. +Mining Drill Mk%d Mode %d = Bergbaubohrer Modell %d Funktion %d +Mining Drill Mk%d = Bergbaubohrer Modell %d +Mining Laser Mk%d = Bergbaulaser Modell %d +Single node. = Einzelblock +Sonic Screwdriver = Schallschraubendreher +Tree Tap = Baumzapfhahn + +## Craft descriptions +Alloy cooking = +Grinding = +Compressing = +Extracting = diff --git a/technic/locale/technic.es.tr b/technic/locale/technic.es.tr new file mode 100644 index 000000000..fa669888e --- /dev/null +++ b/technic/locale/technic.es.tr @@ -0,0 +1,162 @@ +# Spanish Translation for Technic Mod +# Traduccion al Español del Mod Technic +# Autor: Diego Martínez + +## Misc +[Technic] Loaded in %f seconds = [Technic] Cargado en %f segundos + +## Items +Silicon Wafer = Oblea de Silicio +Doped Silicon Wafer = Oblea de Silicio Dopada +Enriched Uranium = Uranio Enriquecido +Uranium Fuel = Combustible de Uranio +Diamond Drill Head = Mecha de Taladro de Diamante +Blue Energy Crystal = Cristal de Energia Azul +Green Energy Crystal = Cristal de Energia Verde +Red Energy Crystal = Cristal de Energia Rojo +Fine Copper Wire = Cable Fino de Cobre +Copper Coil = Resorte de Cobre +Electric Motor = Motor Electrico +Low Voltage Transformer = Transformador de Bajo Voltaje +Medium Voltage Transformer = Transformador de Voltaje Medio +High Voltage Transformer = Transformador de Alto Voltaje +Control Logic Unit = Unidad Logica de Control +Mixed Metal Ingot = Lingote de Metal Mezclado +Composite Plate = Placa de Compuestos +Copper Plate = Placa de Cobre +Carbon Plate = Placa de Carbon +Graphite = Grafito +Carbon Cloth = Tela de Carbon +Raw Latex = Latex Crudo +Rubber Fiber = Fibra de Hule +%.1f%%-Fissile Uranium Ingot = +%.1f%%-Fissile Uranium Block = + +## 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 = +# $1: Machine name (Includes tier) +@1 Active (@2 EU) = @1 Activo (@2 EU) +%s Active = %s Activo +%s Enabled = +%s Idle = %s Quieto +%s Unpowered = %s Sin Energia +%s Out Of Fuel = %s Sin Combustible +%s Has Bad Cabling = %s Tiene Mal Cableado +%s Has No Network = %s No Tiene Una Red +%s Finished = %s Terminado +%s Disabled = %s Deshabilitado +%s Improperly Placed = %s No Colocado Apropiadamente +Range = Alcance +Enable/Disable = Habilitar/Deshabilitar +Itemwise = +Stackwise = +Owner: = +Unlocked = +Locked = +Radius: = +Enabled = +Disabled = + +## Machine names +# $1: Tier +%s Alloy Furnace = Horno de Aleacion %s +%s Battery Box = Caja de Bateria %s +%s Cable = Cable %s +%s Compressor = Compresor %s +%s Extractor = Extractor %s +%s Forcefield Emitter = Emisor de Campo de Fuerza %s +%s Furnace = Horno %s +%s Grinder = Amoladora %s +%s Music Player = Reproductor de Musica %s +%s Quarry = Cantera %s +%s Tool Workshop = Taller de Herramientas %s +Arrayed Solar %s Generator = Panel Solar %s +Fuel-Fired %s Generator = Generador a Carbon %s +Geothermal %s Generator = Generador Geotermico %s +Hydro %s Generator = Molino de Agua %s +Nuclear %s Generator Core = Nucleo de Reactor Nuclear %s +Small Solar %s Generator = Panel Solar %s +Wind %s Generator = Molino de Viento %s +Self-Contained Injector = +Constructor Mk%d = +Frame = +Frame Motor = +Template = +Template (replacing) = +Template Motor = +Template Tool = +Supply Converter = Convertidor de Alimentacion +Switching Station = Estacion de Conmutacion +Battery Box = Caja de Baterias +Fuel-Fired Alloy Furnace = Horno de Aleacion a Carbon +Fuel-Fired Furnace = Horno a Carbon +Forcefield = Campo de Fuerza +Nuclear Reactor Rod Compartment = Compartimiento para Vara de Reactor Nuclear +Wind Mill Frame = Armazon de Molino de Viento +Administrative World Anchor = + +## Machine-specific +# $1: Pruduced EU +Charge = Cargar +Discharge = Descargar +Power level = Nivel de Poder +# $1: Tier $2: current_charge $3: max_charge +@1 Battery Box: @2/@3 = Caja de Bateria @1: @2/@3 +# $1: Machine name $2: Supply $3: Demand +@1. Supply: @2 Demand: @3 = @1. Alimentacion: @2 Demanda: @3 +# $1: Production percent +Production at %d%% = Produccion en %d%% +Stopped = +Keeping %d/%d map blocks loaded = +Digging not started = +Digging finished = +Digging %d m above machine = +Digging %d m below machine = + +## Grinder Recipes +# $1: Name +%s Dust = Polvo de %s +Akalin = Akalina +Alatro = Alatro +Arol = Arol +Brass = Laton +Bronze = Bronce +Carbon Steel = Acero al Carbono +Cast Iron = Hierro Fundido +Chromium = Cromo +Coal = Carbon +Copper = Cobre +Gold = Oro +Mithril = Mitrilo +Silver = Plata +Stainless Steel = Acero Inoxidable +Talinite = Talinita +Tin = Estanio +Wrought Iron = Hierro Forjado +Zinc = Zinc +%.1f%%-Fissile Uranium = + +## Tools +RE Battery = +Water Can = Bidon de Agua +Lava Can = Bidon de Lava +Chainsaw = Motosierra +Flashlight = Linterna +3 nodes deep. = 3 nodos de profundo. +3 nodes tall. = 3 nodos de alto. +3 nodes wide. = 3 nodos de ancho. +3x3 nodes. = 3x3 nodos. +Use while sneaking to change Mining Drill Mk%d modes. = Manten pulsado Mayus y Usar para cambiar el modo del Taladro de Mineria Mk%d. +Mining Drill Mk%d Mode %d = Taladro de Mineria Mk%d Modo %d +Mining Drill Mk%d = Taladro de Mineria Mk%d +Mining Laser Mk%d = Laser de Mineria Mk%d +Single node. = Nodo simple. +Sonic Screwdriver = Destonillador Sonico +Tree Tap = Grifo de Arbol + +## Craft descriptions +Alloy cooking = +Grinding = +Compressing = +Extracting = diff --git a/technic/locale/technic.fr.tr b/technic/locale/technic.fr.tr new file mode 100644 index 000000000..6fc8dd48f --- /dev/null +++ b/technic/locale/technic.fr.tr @@ -0,0 +1,215 @@ +# template.txt +# Template for translations of Technic + +## Misc +[Technic] Loaded in %f seconds = [Technic] Chargement en %f secondes + +## Items +Silicon Wafer = Tranche de silicium +Doped Silicon Wafer = Tranche de silicium doppée +Enriched Uranium = Uranium enrichi +Uranium Fuel = Uranium 235 +Diamond Drill Head = Tête de forage en diamant +Blue Energy Crystal = Cristal d'énergie bleu +Green Energy Crystal = Cristal d'énergie vert +Red Energy Crystal = Cristal d'énergie rouge +Fine Copper Wire = Fil en cuivre fin +Fine Gold Wire = Fil en or fin +Fine Silver Wire = Fil en argent fin +Copper Coil = Bobine de cuivre +Electric Motor = Moteur électrique +Low Voltage Transformer = Transformateur basse tension +Medium Voltage Transformer = Transformateur moyenne tension +High Voltage Transformer = Transformateur haute tension +Control Logic Unit = Unité de contrôle logique +Mixed Metal Ingot = Lingot de métal allié +Composite Plate = Plaque composite +Copper Plate = Plaque de cuivre +Carbon Plate = Plaque de carbone +Graphite = Graphite +Carbon Cloth = Fibre de carbone +Raw Latex = Latex brut +Rubber Fiber = Fibre de caoutchouc +%.1f%%-Fissile Uranium Ingot = Lingot d'uranium fissile (%.1f%%) +%.1f%%-Fissile Uranium Block = Bloc d'uranium fissile (%.1f%%) + +## Machine misc +Machine cannot be removed because it is not empty = La machine ne peut pas être retirée car elle n'est pas vide +Inventory move disallowed due to protection = Le mouvement d'inventaire n'est pas autorisé en raison de la protection + +# $1: Machine name (Includes tier) +@1 Active (@2 EU) = @1 Active (@2 EU) +%s Active = %s actif +%s Disabled = %s désactivé +%s Enabled = %s activé +%s Idle = %s au repos +%s Improperly Placed = %s est mal placé +%s is empty = %s est vide +%s Unpowered = %s non alimenté en énergie +%s Out Of Fuel = %s plus de carburant +%s Has Bad Cabling = %s est mal cablé +%s (Slave) = %s (esclave) +%s Has No Network = %s n'a pas de réseau +%s Finished = %s a fini +Enable/Disable = Activer/Désactiver +Range = Plage +Upgrade Slots = Emplacement d'amélioration +In: = Entrée : +Out: = Sortie : +Slot %d = Emplacement %d +Itemwise = Item par Item +Stackwise = Stack par Stack +Ignoring Mesecon Signal = Ignorer le signal Mesecon +Controlled by Mesecon Signal = Contrôlé par signal Mesecon +Owner: = Propriétaire : +Unlocked = Déverrouillé +Locked = Verrouillé +Radius: = Rayon : +Enabled = Activé +Disabled = Désactivé + +## Machine names +# $1: Tier +%s Alloy Furnace = Four à alliage %s +%s Battery Box = Batterie %s +%s Cable = Câble %s +%s CNC Machine = Machine-outils %s +%s Centrifuge = Centrifugeuse %s +%s Compressor = Compresseur %s +%s Extractor = Extracteur %s +%s Forcefield Emitter = Emetteur de champ de force %s +%s Furnace = Four %s +%s Grinder = Broyeur %s +%s Music Player = Grammophone %s +%s Quarry = Carrière %s +%s Tool Workshop = Atelier d'outillage %s +Arrayed Solar %s Generator = Générateur solaire %s +Fuel-Fired %s Generator = Générateur thermique %s +Geothermal %s Generator = Géénarteur géothermique %s +Hydro %s Generator = Générateur hydroélectrique %s +Nuclear %s Generator Core = Générateur nucléaire % +Small Solar %s Generator = Petit générateur solaire %s +Wind %s Generator = Générateur éolien %s +Self-Contained Injector = Injecteur autonome +Constructor Mk%d = Constructeur Mk%d +Frame = Cadre +Frame Motor = Cadre de moteur +Template = Modèle +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 %d%% = Production à %d%% +Choose Milling Program: = Choisissez le programme de fraisage : +Slim Elements half / normal height: = +Current track %s = Morceau actuel %s +Stopped = Arrêté +Keeping %d/%d map blocks loaded = +Digging not started = Creusement non démarré +Digging finished = Creusement terminé +Digging %d m above machine = Creusement à %dm au dessus de la machine +Digging %d m below machine = Creusement à %dm en dessous de la machine +@1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5) + +## CNC +Cylinder = +Element Cross = Elément croisé +Element Cross Double = Elément croisé (double) +Element Edge = Elément de bordure +Element Edge Double = Elément de bordure (double) +Element End = Elément de fin +Element End Double = Elément de fin (double) +Element Straight = Elément droit +Element Straight Double = Elément droit (double) +Element T = Elément en T +Element T Double = Elément en T (double) +Horizontal Cylinder = Cylindre horizontal +One Curved Edge Block = Bloc à un bord incurvé +Pyramid = Pyramide +Slope = Pente +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 +%s Dust = Poudre de %s +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 +%.1f%%-Fissile Uranium = Uranium fissile (%.1f%%) + +## Tools +RE Battery = Batterie RE +Water Can = Jerrycan d'eau +Lava Can = Jerrycan de lave +Chainsaw = Tronçonneuse +Flashlight = Lampe-torche +3 nodes deep. = +3 nodes tall. = +3 nodes wide. = +3x3 nodes. = +Use while sneaking to change Mining Drill Mk%d modes. = +Mining Drill Mk%d Mode %d = Foreuse Mk%d Mode %d +Mining Drill Mk%d = Foreuse Mk%d +Mining Laser Mk%d = Foreuse laser Mk%d +Single node. = Mode simple. +Sonic Screwdriver = Tournevis supersonique +Tree Tap = Robinet à sève + +## Craft descriptions +Alloy cooking = Fonderie d'alliage +Grinding = Broyage +Compressing = Compression +Extracting = Extraction +Separating = Séparation diff --git a/technic/locale/technic.it.tr b/technic/locale/technic.it.tr new file mode 100644 index 000000000..18b0e4fd5 --- /dev/null +++ b/technic/locale/technic.it.tr @@ -0,0 +1,165 @@ + +## Misc +[Technic] Loaded in %f seconds = [Technic] caricato in %f secondi + +## Items +Silicon Wafer = Wafer di silicone +Doped Silicon Wafer = Wafer di silicone dopato +Enriched Uranium = Uranio arricchito +Uranium Fuel = Uranio Combustibile +Diamond Drill Head = Trivella diamantata +Blue Energy Crystal = Cristallo energetico blu +Green Energy Crystal = Cristallo energetico verde +Red Energy Crystal = Cristallo energetico rosso +Fine Copper Wire = Filo di rame fine +Copper Coil = Bobina di rame +Electric Motor = Motore elettrico +Low Voltage Transformer = Trasformatore in bassa tensione +Medium Voltage Transformer = Trasformatore in media tensione +High Voltage Transformer = Trasformatore in alta tensione +Control Logic Unit = Unità di controllo logica +Mixed Metal Ingot = Lingotto in lega ibrida +Composite Plate = Lastra composita +Copper Plate = Lastra di rame +Carbon Plate = Lastra in carbonio +Graphite = Lastra in graffite +Carbon Cloth = Fibra di carbonio +Raw Latex = Latex grezzo +Rubber Fiber = Fibra di gomma +%.1f%%-Fissile Uranium Ingot = %.1f%%-Lingotto di uranio fissile +%.1f%%-Fissile Uranium Block = %.1f%%-Blocco di uranio fissile + +## Machine misc +Machine cannot be removed because it is not empty = La macchina non può essere rimossa perchè non è vuota +Inventory move disallowed due to protection = Impossibile muovere l'inventario a causa della protezione +# $1: Machine name (Includes tier) +@1 Active (@2 EU) = @1 Attivo (@2 EU) +%s Active = %s Attivo +%s Disabled = %s Disabilitato +%s Enabled = %s Abilitato +%s Idle = %s Inattivo +%s Improperly Placed = %s Piazzato impropiamente +%s Unpowered = %s Non alimentato +%s Out Of Fuel = %s senza carburante +%s Has Bad Cabling = %s ha un cablaggio scorretto +%s Has No Network = %s non è collegata +%s Finished = %s Finito +Enable/Disable = Abilita/Disabilita +Range = Raggio +Upgrade Slots = Alloggi di aggiornamento +In: = Ingresso: +Out: = Uscita: +Slot %d = Alloggio %d +Itemwise = Singolo elemento +Stackwise = pila completa +Owner: = Proprietario: +Unlocked = Non chiuso a chiave +Locked = Chiuso a chiave +Radius: = Raggio: +Enabled = Abilitato +Disabled = Disabilitato + +## Machine names +# $1: Tier +%s Alloy Furnace = %s Fornace per leghe +%s Battery Box = %s Box batterie +%s Cable = Cavo %s +%s Compressor = Compressore %s +%s Extractor = Estrattore %s +%s Forcefield Emitter = Emettitore di campo di forza %s +%s Furnace = %s Fornace +%s Grinder = %s Tritatutto +%s Music Player = Music Player %s +%s Quarry = Cava %s +%s Tool Workshop = Officina per attrezzi %s +Arrayed Solar %s Generator = %s Pannello Solare +Fuel-Fired %s Generator = %s Generatore a carbone +Geothermal %s Generator = %s Generatore Geotermico +Hydro %s Generator = Turbina Elettrica %s +Nuclear %s Generator Core = Reattore nucleare %s +Small Solar %s Generator = %s Pannello solare +Wind %s Generator = %s Generatore eolico +Self-Contained Injector = Ignettore +Constructor Mk%d = Costruttore Mk%d +Frame = Cornice +Frame Motor = Cornice del motore +Template = Sagoma +Template (replacing) = Sagoma (di rimpiazzo) +Template Motor = Motore per sagome +Template Tool = Strumento per sagome +Battery Box = Box batterie +Supply Converter = Trasformatore +Switching Station = Stazione di controllo +Fuel-Fired Alloy Furnace = Fornace per leghe a carbone +Fuel-Fired Furnace = Fornace a carbone +Wind Mill Frame = Pala eolica +Forcefield = Campo di forza +Nuclear Reactor Rod Compartment = Compartimento combustibile nucleare +Administrative World Anchor = Ancora-mondo amministrativa + +## Machine-specific +# $1: Pruduced EU +Charge = Carica +Discharge = Scarica +Power level = Livello di potenza +# $1: Tier $2: current_charge $3: max_charge +@1 Battery Box: @2/@3 = @1 Box Batterie: @2/@3 +# $1: Machine name $2: Supply $3: Demand +@1. Supply: @2 Demand: @3 = @1. Prodotto: @2 Consumato: @3 +Production at %d%% = Produzione a %d%% +Choose Milling Program: = Scegliere un programma di Fresatura +Slim Elements half / normal height: = Metà elementi sottili / altezza normale: +Current track %s = Traccia corrente %s +Stopped = Fermato +Keeping %d/%d map blocks loaded = Mantenimento di %d/%d blocchi mappa caricati +Digging not started = Scavo non iniziato +Digging finished = Scavo finito +Digging %d m above machine = Scavo di %d m sopra la macchina +Digging %d m below machine = Scavo di %d m sotto la macchina + +## Grinder Recipes +# $1: Name +%s Dust = Polvere di %s +Akalin = Alcalino +Alatro = Alatro +Arol = Arol +Brass = Ottone +Bronze = Bronzo +Carbon Steel = Acciaio al Carbonio +Cast Iron = Ghisa +Chromium = Cromo +Coal = Carbone +Copper = Rame +Gold = Oro +Mithril = Mithril +Silver = Argento +Stainless Steel = Acciaio Inossidabile +Talinite = Talinite +Tin = Stagno +Wrought Iron = Ferro Battuto +Zinc = Zinco +%.1f%%-Fissile Uranium = %.1f%%-Uranio fissile + +## Tools +RE Battery = Batteria RE +Water Can = Serbatoio d'acqua +Lava Can = Serbatoio di lava +Chainsaw = Motosega +Flashlight = Torcia +3 nodes deep. = 3 nodi in profondità. +3 nodes tall. = 3 nodi in altezza. +3 nodes wide. = 3 nodi in larghezza. +3x3 nodes. = 3x3 nodi. +Use while sneaking to change Mining Drill Mk%d modes. = Premi shift (freccia grossa) e usa per cambiare modalità nella trivella da miniera Mk%d. +Mining Drill Mk%d Mode %d = Trivella mk%d in modalità %d +Mining Drill Mk%d = Trivella da miniera mk%d +Mining Laser Mk%d = Laser da miniera mk%d +Single node. = Nodo singolo. +Sonic Screwdriver = Cacciavite sonico +Tree Tap = Batti albero + +## Craft descriptions +Alloy cooking = Cottura lege +Grinding = Macinazione +Compressing = Compressione +Extracting = Estrazione diff --git a/technic/locale/technic.pl.tr b/technic/locale/technic.pl.tr new file mode 100644 index 000000000..663f80791 --- /dev/null +++ b/technic/locale/technic.pl.tr @@ -0,0 +1,175 @@ +# Polish Translation for Technic mod +# Polskie tłumaczenie Technic mod +# by mat9117 + +## Misc +[Technic] Loaded in %f seconds = [Technic] Wczytany w %f sekund + +## Items +Silicon Wafer = Płytka krzemowa +Doped Silicon Wafer = Domieszkowana płytka krzemowa +Enriched Uranium = Wzbogacony uran +Uranium Fuel = Paliwo uranowe +Diamond Drill Head = Diamentowa głowica wiertła +Blue Energy Crystal = Niebieski kryształ energii +Green Energy Crystal = Zielony kryształ energii +Red Energy Crystal = Czerwony kryształ energii +Fine Copper Wire = Cienki miedziany drut +Copper Coil = Miedziana cewka +Electric Motor = Silnik elektryczny +Low Voltage Transformer = Transformator niskiego napięcia +Medium Voltage Transformer = Transformator średniego napięcia +High Voltage Transformer = Transformator wysokiego napięcia +Control Logic Unit = Jednostka sterująca +Mixed Metal Ingot = Sztabka zmieszanych metali +Composite Plate = Płytka kompozytowa +Copper Plate = Płytka miedziana +Carbon Plate = Płytka węglowa +Graphite = Grafit +Carbon Cloth = Włókno węglowe +Raw Latex = Lateks naturalny +Rubber Fiber = Włókno gumowe +%.1f%%-Fissile Uranium Ingot = %.1f%% Sztabka uranu +%.1f%%-Fissile Uranium Block = %.1f%% Blok uranu + +## Machine misc +Machine cannot be removed because it is not empty = Nie można usunąć maszyny, ponieważ nie jest pusta +Inventory move disallowed due to protection = Przenoszenie rzeczy z ekwipunku niemożliwe z powodu ochrony +# $1: Machine name (Includes tier) +@1 Active (@2 EU) = @1 Aktywny (@2 EU) +%s Active = %s Aktywny/a +%s Disabled = %s Wyłączony/a +%s Enabled = %s Włączony/a +%s Idle = %s Bezczynny/a +%s Improperly Placed = %s Ustawiony/a nieprawidłowo +%s is empty = %s jest pusty/a +%s Unpowered = %s brak zasilania +%s Out Of Fuel = %s brak paliwa +%s Has Bad Cabling = %s Źle podłączono kable +%s (Slave) = +%s Has No Network = %s Nie podłączony/a do sieci +%s Finished = %s Ukończony +Enable/Disable = Włącz/Wyłącz +Range = Zasięg +Upgrade Slots = Miejsca na ulepszenia +In: = Wejście +Out: = Wyjście +Slot %d = Otwór %d +Itemwise = Jeden przedmiot +Stackwise = Cały stack +Ignoring Mesecon Signal = Ignoruj sygnał Mesecon +Controlled by Mesecon Signal = Sterowany sygnałem Mesecon +Owner: = Właściciel: +Unlocked = Odblokowany/a +Locked = Zablokowany/a +Radius: = Promień: +Enabled = Włączony/a +Disabled = Wyłączony/a + +## Machine names +# $1: Tier +%s Alloy Furnace = %s Piec stopowy +%s Battery Box = %s Skrzynka baterii +%s Cable = %s Przewód +%s Centrifuge = %s Centryfuga +%s Compressor = %s Kompresor +%s Extractor = %s Ekstraktor +%s Forcefield Emitter = %s Emiter pola siłowego +%s Furnace = %s Piec +%s Grinder = %s Młynek +%s Music Player = %s Odtwarzacz muzyki +%s Quarry = %s Kamieniołom +%s Tool Workshop = %s Warsztat narzędzi +Arrayed Solar %s Generator = %s Szeregowy generator słoneczny +Fuel-Fired %s Generator = %s Generator zasilany paliwem +Geothermal %s Generator = %s Generator geotermalny +Hydro %s Generator = %s Hydrogenerator +Nuclear %s Generator Core = %s Reaktor atomowy +Small Solar %s Generator = %s Mały generator słoneczny +Wind %s Generator = %s Generator wiatrowy +Self-Contained Injector = Samowystarczalny wtryskiwacz +Constructor Mk%d = Konstruktor Mk%d +Frame = Klatka +Frame Motor = Silnik klatkowy +Template = Szablon +Template (replacing) = Szablon (zastępczy) +Template Motor =Szablon silnika +Template Tool = Szablon narzędzia +Battery Box = Skrzynka baterii +Supply Converter = Konwerter zasilania +Switching Station = Rozdzielnia +Fuel-Fired Alloy Furnace = Piec stopowy zasilany paliwem +Fuel-Fired Furnace = Piec zasilany paliwem +Wind Mill Frame = Klatka wiatraka +Forcefield = Pole siłowe +Nuclear Reactor Rod Compartment = Komora rdzenia reaktora atomowego +Administrative World Anchor = Administracyjna kotwica świata + +## Machine-specific +# $1: Pruduced EU +Charge = Ładuj +Discharge = Rozładuj +Power level = Poziom zasilania +# $1: Tier $2: current_charge $3: max_charge +@1 Battery Box: @2/@3 = @1 Skrzynka baterii: @2/@3 +# $1: Machine name $2: Supply $3: Demand +@1. Supply: @2 Demand: @3 = @1. Zapas: @2 Pobór: @3 +Production at %d%% = Produkowanie w %d%% +Choose Milling Program: = Wybierz program mielenia: +Slim Elements half / normal height: = Małe elementy połowa / normalna wysokość: +Current track %s = +Stopped = Zatrzymany/a +Keeping %d/%d map blocks loaded = Ciągle ładuję %d/%d bloki mapy +Digging not started = Nie rozpoczęto kopania +Digging finished = Kopanie skończone +Digging %d m above machine = Kopię %d m nad maszyną +Digging %d m below machine = Kopię %d m pod maszyną +@1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5) + +## Grinder Recipes +# $1: Name +%s Dust = %s Pył +Akalin = Akalinowy +Alatro = Alatrowy +Arol = Arolowy +Brass = Mosiądzu +Bronze = Brązu +Carbon Steel = Stali węglowej +Cast Iron = Żeliwa +Chromium = Chromu +Coal = Węglowy +Copper = Miedzi +Gold = Złoty +Mithril = Mithrilu +Silver = Srebrny +Stainless Steel = Stali nierdzewnej +Talinite = Talinitu +Tin = Cyny +Wrought Iron = Kutego żelaza +Zinc = Cynku +%.1f%%-Fissile Uranium = %.1f%% Uranu + +## Tools +RE Battery = Bateria ładowalna +Water Can = Kanister wody +Lava Can = Kanister lawy +Chainsaw = Piła łańcuchowa +Flashlight = Latarka +3 nodes deep. = Głęboki na 3 bloki. +3 nodes tall. = Wysoki na 3 bloki. +3 nodes wide. = Szeroki na 3 bloki. +3x3 nodes. = 3x3 bloki. +Use while sneaking to change Mining Drill Mk%d modes. = Użyj podczas skradania, aby zmienić tryby wiertła górniczego Mk%d +Mining Drill Mk%d Mode %d = Tryb wiertła górniczego Mk%d +Mining Drill Mk%d = Wiertło górnicze Mk%d +Mining Laser Mk%d = Laser górniczy Mk%d +Single node. = Pojedynczy blok. +Sonic Screwdriver = Dźwiękowy śrubokręt +Tree Tap = Nacinak drzewny + +## Craft descriptions +Alloy cooking = Stapianie +Grinding = Mielenie +Compressing = Kompresowanie +Extracting = Ekstrakcja +Separating = Oddzielanie diff --git a/technic/locale/technic.ru.tr b/technic/locale/technic.ru.tr new file mode 100644 index 000000000..0a7749004 --- /dev/null +++ b/technic/locale/technic.ru.tr @@ -0,0 +1,193 @@ +# textdomain: technic + + +## Misc +[Technic] Loaded in %f seconds=[Техника] Загружено за %f секунд + +## Items +Silicon Wafer=Кремниевая пластина +Doped Silicon Wafer=Легированная кремниевая пластина +Enriched Uranium=Обогащенный уран +Uranium Fuel=Урановое топливо +Diamond Drill Head=Алмазная буровая головка +Blue Energy Crystal=Синий энергетический кристалл +Green Energy Crystal=Зеленый Энергетический Кристалл +Red Energy Crystal=Красный Энергетический Кристалл +Fine Copper Wire=Тонкая медная проволока +Fine Gold Wire=Тонкая золотая проволока +Fine Silver Wire=Тонкая серебряная проволока +Copper Coil=Медная катушка +Electric Motor=Электрический двигатель +Low Voltage Transformer=Трансформатор низкого напряжения +Medium Voltage Transformer=Трансформатор среднего напряжения +High Voltage Transformer=Трансформатор высокого напряжения +Control Logic Unit=Логический блок управления +Mixed Metal Ingot=Смешанный металлический слиток +Composite Plate=Композитная пластина +Copper Plate=Медная тарелка +Carbon Plate=Карбоновая пластина +Graphite=Графит +Carbon Cloth=Углеродная ткань +Raw Latex=Сырой латекс +Rubber Fiber=Резиновое волокно +@1-Fissile Uranium Ingot=@1-Слиток делящегося урана +@1-Fissile Uranium Block=@1-Делящийся урановый блок +Machine Casing=Корпус машины +Rubber Goo=Резиновая жижа + +## Machine misc +Machine cannot be removed because it is not empty=Машину невозможно удалить, поскольку она не пуста. +Inventory move disallowed due to protection=Перемещение инвентаря запрещено из-за защиты + +# $1: Machine name (Includes tier) +@1 Active (@2 EU)=@1 Актив (@2 EU) +@1 Active=@1 Активен +@1 Disabled=@1 Отключено +@1 Enabled=@1 Включено +@1 Idle=@1 В режиме ожидания +%s Improperly Placed=%s Размещено неправильно +%s is empty=%s пуст +@1 Unpowered=@1 Отключен от питания +@1 Out Of Fuel=@1 закончилось топливо +%s Has Bad Cabling=%s Имеет плохой кабель +%s (Slave)=%s (Подчиненный) +%s Has No Network=%s не имеет сети +%s Finished=%s Завершено +@1 Freezer=@1 Морозильник +Enable/Disable=Включить/Выключить +Range=Диапазон +Upgrade Slots=Обновление слотов +In:=Вход: +Out:=Выход: +Slot %d=Слот %d +Itemwise=По пунктам +Stackwise=Стекообразно +Ignoring Mesecon Signal=Игнорирование сигнала Месекона +Controlled by Mesecon Signal=Управляется сигналом Месекон +Owner:=Владелец: +Unlocked=Разблокировано +Locked=Заблокировано +Radius:=Радиус: +Enabled=Включено +Disabled=Выключено +@1 Unpowered=@1 Без питания +@1 Active=@1 Активный +@1 Forcefield=@1 Силовое поле + +## Machine names +# $1: Tier +@1 Alloy Furnace=@1 Печь для сплава +@1 Battery Box=@1 Батарейный отсек +@1 Cable=@1 Кабель +@1 Cable Plate=@1 Кабельная пластина +@1 Centrifuge=@1 Центрифуга +@1 Compressor=@1 Компрессор +@1 Extractor=@1 Экстрактор +@1 Forcefield Emitter=@1 Эмиттер силового поля +@1 Furnace=@1 Печь +@1 Grinder=@1 Гриндер +%s Music Player=%s Музыкальный проигрыватель +%s Quarry=%s Карьер +%s Tool Workshop=%s Инструментальная мастерская +@1 Battery Box Has No Network=@1 В аккумуляторном ящике нет сети +Arrayed Solar @1 Generator=Массивный солнечный @1 генератор +Fuel-Fired @1 Generator=Топливный @1 генератор +Geothermal %s Generator=Геотермальный %s генератор +Hydro %s Generator=Гидро %s генератор +Nuclear %s Generator Core=Ядро %s ядерного генератора +Small Solar %s Generator=Маленький солнечный %s генератор +Wind %s Generator=Ветеро %s Генератор +Self-Contained Injector=Автономный инжектор +Constructor Mk%d=Конструктор Mk%d +Frame=Рамка +Frame Motor=Рамный двигатель +Template=Шаблон +Template (replacing)=Шаблон (замена) +Template Motor=Мотор шаблона +Template Tool=Инструмент «Шаблон» +Battery Box=Батарейный ящик +Supply Converter=Преобразователь питания +Switching Station=Коммутационная станция +Fuel-Fired Alloy Furnace=Топливная печь для сплавов +Fuel-Fired Furnace=Топливная печь +Wind Mill Frame=Рама ветряной мельницы +Forcefield=Силовое поле +Nuclear Reactor Rod Compartment=Стержневой отсек ядерного реактора +Administrative World Anchor=Административный мировой якорь + +## Machine-specific +# $1: Pruduced EU +Charge=Зарядка +Discharge=Разрядка +Power level=Уровень мощности +# $1: Tier $2: current_charge $3: max_charge +@1 Battery Box: @2 / @3=@1 Батарейный ящик: @2 / @3 +# $1: Machine name $2: Supply $3: Demand +@1. Supply: @2 Demand: @3=@1. Поставляет: @2 Спрос: @3 +Production at %d%%=Производство на %d%% +Choose Milling Program:=Выберите программу фрезерования: +Slim Elements half / normal height:=Slim Elements половинная/нормальная высота: +Current track %s=Текущий трек %s +Stopped=Остановлено +Keeping %d/%d map blocks loaded=Сохранение загруженных блоков карты %d/%d +Digging not started=Копать не начали +Digging finished=Копание закончено +Digging %d m above machine=Копаем %d м над машиной +Digging %d m below machine=Копаем %d м под машиной +@1 (@2 @3 -> @4 @5)=@1 (@2 @3 -> @4 @5) +@1 Grinding=@1 Шлифовка + +## Grinder Recipes +# $1: Name +@1 Dust=@1 Пыль +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=@1-Делящийся уран +Sawdust=Опилки + +## Tools +RE Battery=RE Батарея +Water Can=Банка с водой +Lava Can=Банка с лавой +Chainsaw=Бензопила +Flashlight=Фонарик +3 nodes deep.=Глубина 3 узла. +3 nodes tall.=Высота 3 узла. +3 nodes wide.=Ширина 3 узла. +3x3 nodes.=3х3 узла. +Use while sneaking to change Mining Drill Mk%d modes.=Используйте кнопку подкрадывания, чтобы изменить режимы Горного бура Mk%d. +Mining Drill Mk%d Mode %d=Горный бур Mk%d, режим %d +Mining Drill Mk%d=Горный бур Mk%d +Mining Laser Mk%d=Горный лазер Mk%d +Single node.=Одиночный узел. +Sonic Screwdriver=Звуковая отвертка +Tree Tap=Деревянный кран + +## Craft descriptions +Alloy cooking=Сплав варочный +Grinding=Шлифование +Compressing=Сжатие +Extracting=Извлечение +Separating=Разделение +Freezing=Замораживание + +##Force firld +Sphere=Сфера +Cube=Куб + diff --git a/technic/machines/HV/forcefield.lua b/technic/machines/HV/forcefield.lua index 5b8ff4fa4..971fb4cc2 100644 --- a/technic/machines/HV/forcefield.lua +++ b/technic/machines/HV/forcefield.lua @@ -10,7 +10,7 @@ local digilines_path = minetest.get_modpath("digilines") local forcefield_power_drain = 10 -local S = technic.getter +local S = minetest.get_translator("technic") local cable_entry = "^technic_cable_connection_overlay.png" @@ -115,10 +115,10 @@ local function set_forcefield_formspec(meta) -- TODO: String replacement with %s will stop working with client-side translations if meta:get_int("enabled") == 0 then formspec = formspec.."button[0,1.75;5,1;enable;".. - S("%s Disabled"):format(S("%s Forcefield Emitter"):format("HV")).."]" + S("@1 Disabled", S("@1 Forcefield Emitter", "HV")).."]" else formspec = formspec.."button[0,1.75;5,1;disable;".. - S("%s Enabled"):format(S("%s Forcefield Emitter"):format("HV")).."]" + S("@1 Enabled", S("@1 Forcefield Emitter", "HV")).."]" end meta:set_string("formspec", formspec) end @@ -249,7 +249,7 @@ local function run(pos, node) local eu_input = meta:get_int("HV_EU_input") local enabled = meta:get_int("enabled") ~= 0 and (meta:get_int("mesecon_mode") == 0 or meta:get_int("mesecon_effect") ~= 0) - local machine_name = S("%s Forcefield Emitter"):format("HV") + local machine_name = S("@1 Forcefield Emitter", "HV") local range = meta:get_int("range") local power_requirement @@ -264,14 +264,14 @@ local function run(pos, node) if node.name == "technic:forcefield_emitter_on" then update_forcefield(pos, meta, false) technic.swap_node(pos, "technic:forcefield_emitter_off") - meta:set_string("infotext", S("%s Disabled"):format(machine_name)) + meta:set_string("infotext", S("@1 Disabled", machine_name)) end meta:set_int("HV_EU_demand", 0) return end meta:set_int("HV_EU_demand", power_requirement) if eu_input < power_requirement then - meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + meta:set_string("infotext", S("@1 Unpowered", machine_name)) if node.name == "technic:forcefield_emitter_on" then update_forcefield(pos, meta, false) technic.swap_node(pos, "technic:forcefield_emitter_off") @@ -279,14 +279,14 @@ local function run(pos, node) elseif eu_input >= power_requirement then if node.name == "technic:forcefield_emitter_off" then technic.swap_node(pos, "technic:forcefield_emitter_on") - meta:set_string("infotext", S("%s Active"):format(machine_name)) + meta:set_string("infotext", S("@1 Active", machine_name)) end update_forcefield(pos, meta, true) end end minetest.register_node("technic:forcefield_emitter_off", { - description = S("%s Forcefield Emitter"):format("HV"), + description = S("@1 Forcefield Emitter", "HV"), tiles = { "technic_forcefield_emitter_off.png", "technic_machine_bottom.png"..cable_entry, @@ -308,7 +308,7 @@ minetest.register_node("technic:forcefield_emitter_off", { if digilines_path then meta:set_string("channel", "forcefield"..minetest.pos_to_string(pos)) end - meta:set_string("infotext", S("%s Forcefield Emitter"):format("HV")) + meta:set_string("infotext", S("@1 Forcefield Emitter", "HV")) set_forcefield_formspec(meta) end, mesecons = mesecons, @@ -317,7 +317,7 @@ minetest.register_node("technic:forcefield_emitter_off", { }) minetest.register_node("technic:forcefield_emitter_on", { - description = S("%s Forcefield Emitter"):format("HV"), + description = S("@1 Forcefield Emitter", "HV"), tiles = { "technic_forcefield_emitter_on.png", "technic_machine_bottom.png"..cable_entry, @@ -349,7 +349,7 @@ minetest.register_node("technic:forcefield_emitter_on", { }) minetest.register_node("technic:forcefield", { - description = S("%s Forcefield"):format("HV"), + description = S("@1 Forcefield", "HV"), sunlight_propagates = true, drawtype = "glasslike", groups = {not_in_creative_inventory=1}, diff --git a/technic/machines/register/alloy_furnace.lua b/technic/machines/register/alloy_furnace.lua index 1e3796d2e..1835db28c 100644 --- a/technic/machines/register/alloy_furnace.lua +++ b/technic/machines/register/alloy_furnace.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") function technic.insert_object_unique_stack(pos, node, incoming_stack, direction) local meta = minetest.get_meta(pos) @@ -40,7 +40,7 @@ end function technic.register_alloy_furnace(data) data.typename = "alloy" data.machine_name = "alloy_furnace" - data.machine_desc = S("%s Alloy Furnace") + data.machine_desc = S("@1 Alloy Furnace", data.tier) data.insert_object = technic.insert_object_unique_stack data.can_insert = technic.can_insert_unique_stack diff --git a/technic/machines/register/alloy_recipes.lua b/technic/machines/register/alloy_recipes.lua index 388e0bbaa..89cc1fda0 100644 --- a/technic/machines/register/alloy_recipes.lua +++ b/technic/machines/register/alloy_recipes.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") technic.register_recipe_type("alloy", { description = S("Alloying"), diff --git a/technic/machines/register/battery_box.lua b/technic/machines/register/battery_box.lua index 2fda6825f..9af93d818 100644 --- a/technic/machines/register/battery_box.lua +++ b/technic/machines/register/battery_box.lua @@ -1,7 +1,7 @@ local digilines_path = minetest.get_modpath("digilines") -local S = technic.getter +local S = minetest.get_translator("technic") local tube_entry = "^pipeworks_tube_connection_metallic.png" local cable_entry = "^technic_cable_connection_overlay.png" @@ -92,7 +92,7 @@ local dirtab = { local tube = { insert_object = function(pos, node, stack, direction) - --print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2) + print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2) if direction.y == 1 or (direction.y == 0 and dirtab[direction.x+2+(direction.z+2)*2] == node.param2) then return stack @@ -106,7 +106,7 @@ local tube = { end end, can_insert = function(pos, node, stack, direction) - --print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2) + print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2) if direction.y == 1 or (direction.y == 0 and dirtab[direction.x+2+(direction.z+2)*2] == node.param2) then return false @@ -166,7 +166,7 @@ function technic.register_battery_box(data) "list[context;src;3,1;1,1;]".. "image[4,1;1,1;technic_battery_reload.png]".. "list[context;dst;5,1;1,1;]".. - "label[0,0;"..S("%s Battery Box"):format(tier).."]".. + "label[0,0;"..S("@1 Battery Box",tier).."]".. "label[3,0;"..S("Charge").."]".. "label[5,0;"..S("Discharge").."]".. "label[1,3;"..S("Power level").."]".. @@ -196,7 +196,7 @@ function technic.register_battery_box(data) local network_id = tonumber(meta:get_string(tier.."_network")) if not technic.networks[network_id] then - meta:set_string("infotext", S("%s Battery Box Has No Network"):format(tier)) + meta:set_string("infotext", S("@1 Battery Box Has No Network", tier)) return end @@ -259,7 +259,7 @@ function technic.register_battery_box(data) technic.EU_string(current_charge), technic.EU_string(max_charge)) if eu_input == 0 then - infotext = S("%s Idle"):format(infotext) + infotext = S("@1 Idle", infotext) end meta:set_string("infotext", infotext) end @@ -288,7 +288,7 @@ function technic.register_battery_box(data) end minetest.register_node("technic:"..ltier.."_battery_box"..i, { - description = S("%s Battery Box"):format(tier), + description = S("@1 Battery Box", tier), tiles = { top_tex, bottom_tex, @@ -312,7 +312,7 @@ function technic.register_battery_box(data) local charge = meta:get_int("internal_EU_charge") local cpercent = math.floor(charge / max_charge * 100) local inv = meta:get_inventory() - meta:set_string("infotext", S("%s Battery Box"):format(tier)) + meta:set_string("infotext", S("@1 Battery Box", tier)) meta:set_string("formspec", formspec..add_on_off_buttons(meta, ltier, cpercent)) meta:set_string("channel", ltier.."_battery_box"..minetest.pos_to_string(pos)) meta:set_int(tier.."_EU_demand", 0) diff --git a/technic/machines/register/cables.lua b/technic/machines/register/cables.lua index a87a3a843..e989b0a48 100644 --- a/technic/machines/register/cables.lua +++ b/technic/machines/register/cables.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local cable_tier = {} @@ -178,7 +178,7 @@ function technic.register_cable(tier, size) } minetest.register_node("technic:"..ltier.."_cable", { - description = S("%s Cable"):format(tier), + description = S("@1 Cable", tier), tiles = {"technic_"..ltier.."_cable.png"}, inventory_image = "technic_"..ltier.."_cable_wield.png", wield_image = "technic_"..ltier.."_cable_wield.png", @@ -220,7 +220,7 @@ function technic.register_cable(tier, size) end for p, i in pairs(xyz) do local def = { - description = S("%s Cable Plate"):format(tier), + description = S("@1 Cable Plate", tier), tiles = {"technic_"..ltier.."_cable.png"}, groups = table.copy(groups), sounds = default.node_sound_wood_defaults(), diff --git a/technic/machines/register/centrifuge.lua b/technic/machines/register/centrifuge.lua index dd059777c..924f46c63 100644 --- a/technic/machines/register/centrifuge.lua +++ b/technic/machines/register/centrifuge.lua @@ -1,8 +1,8 @@ -local S = technic.getter +local S = minetest.get_translator("technic") function technic.register_centrifuge(data) data.typename = "separating" data.machine_name = "centrifuge" - data.machine_desc = S("%s Centrifuge") + data.machine_desc = S("@1 Centrifuge", data.tier) technic.register_base_machine(data) end diff --git a/technic/machines/register/centrifuge_recipes.lua b/technic/machines/register/centrifuge_recipes.lua index 11c678872..dcb199257 100644 --- a/technic/machines/register/centrifuge_recipes.lua +++ b/technic/machines/register/centrifuge_recipes.lua @@ -1,4 +1,4 @@ -local S = technic.getter +local S = minetest.get_translator("technic") technic.register_recipe_type("separating", { description = S("Separating"), diff --git a/technic/machines/register/common.lua b/technic/machines/register/common.lua index 0e7658be3..fbf82899f 100644 --- a/technic/machines/register/common.lua +++ b/technic/machines/register/common.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") -- handles the machine upgrades every tick function technic.handle_machine_upgrades(meta) diff --git a/technic/machines/register/compressor.lua b/technic/machines/register/compressor.lua index 49830d7d1..bb1277571 100644 --- a/technic/machines/register/compressor.lua +++ b/technic/machines/register/compressor.lua @@ -1,9 +1,10 @@ -local S = technic.getter +local S = minetest.get_translator("technic") function technic.register_compressor(data) + local tier = data.tier data.typename = "compressing" data.machine_name = "compressor" - data.machine_desc = S("%s Compressor") + data.machine_desc = S("@1 Compressor", tier) technic.register_base_machine(data) end diff --git a/technic/machines/register/compressor_recipes.lua b/technic/machines/register/compressor_recipes.lua index 4cad127b8..e1dca85f7 100644 --- a/technic/machines/register/compressor_recipes.lua +++ b/technic/machines/register/compressor_recipes.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") technic.register_recipe_type("compressing", { description = S("Compressing") }) @@ -78,7 +78,7 @@ local recipes = { {"default:sand 2", "default:sandstone"}, {"default:desert_sand 2", "default:desert_sandstone"}, {"default:silver_sand 2", "default:silver_sandstone"}, - {"default:desert_sand", "default:desert_stone"}, + {"default:desert_sandstone", "default:desert_stone"}, {"technic:mixed_metal_ingot", "technic:composite_plate"}, {"default:copper_ingot 5", "technic:copper_plate"}, {"technic:coal_dust 4", "technic:graphite"}, diff --git a/technic/machines/register/electric_furnace.lua b/technic/machines/register/electric_furnace.lua index 44de16c3c..e998ceffe 100644 --- a/technic/machines/register/electric_furnace.lua +++ b/technic/machines/register/electric_furnace.lua @@ -1,9 +1,9 @@ -local S = technic.getter +local S = minetest.get_translator("technic") function technic.register_electric_furnace(data) data.typename = "cooking" data.machine_name = "electric_furnace" - data.machine_desc = S("%s Furnace") + data.machine_desc = S("@1 Furnace", data.tier) technic.register_base_machine(data) end diff --git a/technic/machines/register/extractor.lua b/technic/machines/register/extractor.lua index eeef9ff91..7afe020bd 100644 --- a/technic/machines/register/extractor.lua +++ b/technic/machines/register/extractor.lua @@ -1,9 +1,9 @@ -local S = technic.getter +local S = minetest.get_translator("technic") function technic.register_extractor(data) data.typename = "extracting" data.machine_name = "extractor" - data.machine_desc = S("%s Extractor") + data.machine_desc = S("@1 Extractor", data.tier) technic.register_base_machine(data) end diff --git a/technic/machines/register/extractor_recipes.lua b/technic/machines/register/extractor_recipes.lua index ba43df50a..66f85421f 100644 --- a/technic/machines/register/extractor_recipes.lua +++ b/technic/machines/register/extractor_recipes.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") technic.register_recipe_type("extracting", { description = S("Extracting") }) diff --git a/technic/machines/register/freezer.lua b/technic/machines/register/freezer.lua index b4da6d92a..fa944cd6b 100644 --- a/technic/machines/register/freezer.lua +++ b/technic/machines/register/freezer.lua @@ -1,9 +1,9 @@ -local S = technic.getter +local S = minetest.get_translator("technic") function technic.register_freezer(data) data.typename = "freezing" data.machine_name = "freezer" - data.machine_desc = S("%s Freezer") + data.machine_desc = S("@1 Freezer", data.tier) technic.register_base_machine(data) end diff --git a/technic/machines/register/freezer_recipes.lua b/technic/machines/register/freezer_recipes.lua index 641b28a3f..9cbceaedf 100644 --- a/technic/machines/register/freezer_recipes.lua +++ b/technic/machines/register/freezer_recipes.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") technic.register_recipe_type("freezing", { description = S("Freezing") }) diff --git a/technic/machines/register/generator.lua b/technic/machines/register/generator.lua index 9120e29a7..4c4c4d151 100644 --- a/technic/machines/register/generator.lua +++ b/technic/machines/register/generator.lua @@ -1,4 +1,4 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local fs_helpers = pipeworks.fs_helpers local tube_entry = "^pipeworks_tube_connection_metallic.png" @@ -36,13 +36,13 @@ function technic.register_generator(data) local generator_formspec = "size[8,9;]".. - "label[0,0;"..S("Fuel-Fired %s Generator"):format(tier).."]".. + "label[0,0;"..S("Fuel-Fired @1 Generator", tier) .."]".. "list[current_name;src;3,1;1,1;]".. "image[4,1;1,1;default_furnace_fire_bg.png]".. "list[current_player;main;0,5;8,4;]".. "listring[]" - local desc = S("Fuel-Fired %s Generator"):format(tier) + local desc = S("Fuel-Fired @1 Generator", tier) local run = function(pos, node) local meta = minetest.get_meta(pos) @@ -65,7 +65,7 @@ function technic.register_generator(data) {method = "fuel", width = 1, items = fuellist}) if not fuel or fuel.time == 0 then - meta:set_string("infotext", S("%s Out Of Fuel"):format(desc)) + meta:set_string("infotext", S("@1 Out Of Fuel", desc)) technic.swap_node(pos, "technic:"..ltier.."_generator") meta:set_int(tier.."_EU_supply", 0) return diff --git a/technic/machines/register/grinder.lua b/technic/machines/register/grinder.lua index 19ea0946d..ff9ebb33e 100644 --- a/technic/machines/register/grinder.lua +++ b/technic/machines/register/grinder.lua @@ -1,9 +1,9 @@ -local S = technic.getter +local S = minetest.get_translator("technic") function technic.register_grinder(data) data.typename = "grinding" data.machine_name = "grinder" - data.machine_desc = S("%s Grinder") + data.machine_desc = S("@1 Grinder", data.tier) technic.register_base_machine(data) end diff --git a/technic/machines/register/grinder_recipes.lua b/technic/machines/register/grinder_recipes.lua index c0e554096..007d892a1 100644 --- a/technic/machines/register/grinder_recipes.lua +++ b/technic/machines/register/grinder_recipes.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") technic.register_recipe_type("grinding", { description = S("Grinding") }) @@ -107,7 +107,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", name), inventory_image = "technic_"..lname.."_dust.png", }) if ingot then @@ -177,7 +177,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}, diff --git a/technic/machines/register/grindings.lua b/technic/machines/register/grindings.lua index 323872599..2d5c0d96f 100644 --- a/technic/machines/register/grindings.lua +++ b/technic/machines/register/grindings.lua @@ -1,4 +1,4 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local moretrees = minetest.get_modpath("moretrees") local dye = minetest.get_modpath("dye") @@ -21,7 +21,7 @@ local function register_tree_grinding(name, tree, wood, extract, grinding_color) inventory_image = inventory_image .. "^[colorize:" .. grinding_color end minetest.register_craftitem(grindings_name, { - description = S("%s Grinding"):format(S(name)), + description = S("@1 Grinding", name), inventory_image = inventory_image, }) minetest.register_craft({ diff --git a/technic/machines/register/machine_base.lua b/technic/machines/register/machine_base.lua index 8e1dee775..ea4443df9 100644 --- a/technic/machines/register/machine_base.lua +++ b/technic/machines/register/machine_base.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local fs_helpers = pipeworks.fs_helpers local tube_entry = "^pipeworks_tube_connection_metallic.png" @@ -54,7 +54,7 @@ function technic.register_base_machine(data) "list[current_name;src;"..(4-input_size)..",1;"..input_size..",1;]".. "list[current_name;dst;5,1;2,2;]".. "list[current_player;main;0,5;8,4;]".. - "label[0,0;"..machine_desc:format(tier).."]".. + "label[0,0;"..machine_desc.."]".. "listring[current_name;dst]".. "listring[current_player;main]".. "listring[current_name;src]".. @@ -83,7 +83,7 @@ function technic.register_base_machine(data) local inv = meta:get_inventory() local eu_input = meta:get_int(tier.."_EU_input") - local machine_desc_tier = machine_desc:format(tier) + local machine_desc_tier = machine_desc local machine_node = data.modname..":"..ltier.."_"..machine_name local machine_demand = data.demand @@ -110,18 +110,18 @@ function technic.register_base_machine(data) local result = technic.get_recipe(typename, inv:get_list("src")) if not result then technic.swap_node(pos, machine_node) - meta:set_string("infotext", S("%s Idle"):format(machine_desc_tier)) + meta:set_string("infotext", S("@1 Idle", machine_desc_tier)) meta:set_int(tier.."_EU_demand", 0) meta:set_int("src_time", 0) return end meta:set_int(tier.."_EU_demand", machine_demand[EU_upgrade+1]) technic.swap_node(pos, machine_node.."_active") - meta:set_string("infotext", S("%s Active"):format(machine_desc_tier)) + meta:set_string("infotext", S("@1 Active", machine_desc_tier)) if meta:get_int("src_time") < round(result.time*10) then if not powered then technic.swap_node(pos, machine_node) - meta:set_string("infotext", S("%s Unpowered"):format(machine_desc_tier)) + meta:set_string("infotext", S("@1 Unpowered", machine_desc_tier)) end return end @@ -143,7 +143,7 @@ function technic.register_base_machine(data) end if not room_for_output then technic.swap_node(pos, machine_node) - meta:set_string("infotext", S("%s Idle"):format(machine_desc_tier)) + meta:set_string("infotext", S("@1 Idle", machine_desc_tier)) meta:set_int(tier.."_EU_demand", 0) meta:set_int("src_time", round(result.time*10)) return @@ -160,7 +160,7 @@ function technic.register_base_machine(data) end minetest.register_node(data.modname..":"..ltier.."_"..machine_name, { - description = machine_desc:format(tier), + description = machine_desc, tiles = { data.modname.."_"..ltier.."_"..machine_name.."_top.png"..tentry, data.modname.."_"..ltier.."_"..machine_name.."_bottom.png"..tentry, @@ -192,7 +192,7 @@ function technic.register_base_machine(data) )..pipeworks.button_label end - meta:set_string("infotext", machine_desc:format(tier)) + meta:set_string("infotext", machine_desc) meta:set_int("tube_time", 0) meta:set_string("formspec", formspec..form_buttons) local inv = meta:get_inventory() @@ -231,7 +231,7 @@ function technic.register_base_machine(data) }) minetest.register_node(data.modname..":"..ltier.."_"..machine_name.."_active",{ - description = machine_desc:format(tier), + description = machine_desc, tiles = { data.modname.."_"..ltier.."_"..machine_name.."_top.png"..tentry, data.modname.."_"..ltier.."_"..machine_name.."_bottom.png"..tentry, diff --git a/technic/machines/register/solar_array.lua b/technic/machines/register/solar_array.lua index 443ac909f..ed7483b34 100644 --- a/technic/machines/register/solar_array.lua +++ b/technic/machines/register/solar_array.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") function technic.register_solar_array(data) local tier = data.tier @@ -13,7 +13,7 @@ function technic.register_solar_array(data) -- To take care of some of it solar panels do not work outside daylight hours or if -- built below 0m local pos1 = {} - local machine_name = S("Arrayed Solar %s Generator"):format(tier) + local machine_name = S("Arrayed Solar @1 Generator", tier) pos1.y = pos.y + 1 pos1.x = pos.x pos1.z = pos.z @@ -34,7 +34,7 @@ function technic.register_solar_array(data) technic.EU_string(charge_to_give))) meta:set_int(tier.."_EU_supply", charge_to_give) else - meta:set_string("infotext", S("%s Idle"):format(machine_name)) + meta:set_string("infotext", S("@1 Idle", machine_name)) meta:set_int(tier.."_EU_supply", 0) end end @@ -46,7 +46,7 @@ function technic.register_solar_array(data) groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1, ["technic_"..ltier]=1}, connect_sides = {"bottom"}, sounds = default.node_sound_wood_defaults(), - description = S("Arrayed Solar %s Generator"):format(tier), + description = S("Arrayed Solar @1 Generator", tier), active = false, drawtype = "nodebox", paramtype = "light", From 71fdf9b9745c789700cc3adb59919a149977be3d Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Fri, 8 Nov 2024 14:13:35 +0500 Subject: [PATCH 02/20] update --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 227a256da..d8369c0d9 100644 --- a/.gitignore +++ b/.gitignore @@ -164,3 +164,4 @@ pip-log.txt #gedit backup files *~ +.idea/ \ No newline at end of file From af1c97d841a38fe94da1f5799714dc1c866240c5 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Sat, 30 Nov 2024 17:23:49 +0500 Subject: [PATCH 03/20] =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=D1=8B?= =?UTF-8?q?,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=80?= =?UTF-8?q?=D1=83=D1=81=D1=81=D0=BA=D0=B8=D0=B9=20=D1=8F=D0=B7=D1=8B=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- concrete/init.lua | 5 ++--- concrete/locale/concrete.ru.tr | 5 +++++ concrete/locale/template.txt | 15 +++++++++------ 3 files changed, 16 insertions(+), 9 deletions(-) create mode 100644 concrete/locale/concrete.ru.tr diff --git a/concrete/init.lua b/concrete/init.lua index 82b409882..f33e2bd6d 100644 --- a/concrete/init.lua +++ b/concrete/init.lua @@ -4,8 +4,7 @@ local technic = rawget(_G, "technic") or {} technic.concrete_posts = {} --- Boilerplate to support localized strings if intllib mod is installed. -local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end +local S = minetest.get_translator("concrete") for i = 0, 31 do minetest.register_alias("technic:concrete_post"..i, @@ -56,7 +55,7 @@ minetest.register_node(":technic:blast_resistant_concrete", { if minetest.get_modpath("moreblocks") then stairsplus:register_all("technic","blast_resistant_concrete","technic:blast_resistant_concrete",{ - description = "Blast-resistant Concrete", + description = S("Blast-resistant Concrete"), tiles = {"technic_blast_resistant_concrete_block.png",}, groups = {cracky=1, level=3, concrete=1}, sounds = default.node_sound_stone_defaults(), diff --git a/concrete/locale/concrete.ru.tr b/concrete/locale/concrete.ru.tr new file mode 100644 index 000000000..07f2eed63 --- /dev/null +++ b/concrete/locale/concrete.ru.tr @@ -0,0 +1,5 @@ +# textdomain: concrete +Blast-resistant Concrete Block=Взрывостойкий бетонный блок +Blast-resistant Concrete=Взрывостойкий бетон +Concrete Post Platform=Бетонная платформа для столбов +Concrete Post=Бетонный столб diff --git a/concrete/locale/template.txt b/concrete/locale/template.txt index 451adaf7a..150d0f41b 100644 --- a/concrete/locale/template.txt +++ b/concrete/locale/template.txt @@ -1,8 +1,11 @@ -# technic_concrete translation template +# textdomain: concrete +Blast-resistant Concrete Block= +Blast-resistant Concrete= +Concrete Post Platform= +Concrete Post= -Rebar = -Concrete Block = -Blast-resistant Concrete Block = -Concrete Post Platform = -Concrete Post = +##### not used anymore ##### + +# technic_concrete translation template +Rebar = From a303a7bd2c2ffe09c239b29bdf6d22c56c29fbdb Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Sat, 30 Nov 2024 17:41:25 +0500 Subject: [PATCH 04/20] =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=D1=8B?= =?UTF-8?q?,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=80?= =?UTF-8?q?=D1=83=D1=81=D1=81=D0=BA=D0=B8=D0=B9=20=D1=8F=D0=B7=D1=8B=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extranodes/init.lua | 3 +-- extranodes/locale/extranodes.ru.tr | 13 +++++++++++++ extranodes/locale/template.txt | 21 ++++++++++++++++----- 3 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 extranodes/locale/extranodes.ru.tr diff --git a/extranodes/init.lua b/extranodes/init.lua index 165ba0d38..936df4714 100644 --- a/extranodes/init.lua +++ b/extranodes/init.lua @@ -1,7 +1,6 @@ -- Minetest 0.4.6 mod: extranodes -- namespace: technic --- Boilerplate to support localized strings if intllib mod is installed. -local S = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end +local S = minetest.get_translator("extranodes") if minetest.get_modpath("moreblocks") then diff --git a/extranodes/locale/extranodes.ru.tr b/extranodes/locale/extranodes.ru.tr new file mode 100644 index 000000000..dc62d2d76 --- /dev/null +++ b/extranodes/locale/extranodes.ru.tr @@ -0,0 +1,13 @@ +# textdomain: extranodes + +Marble=Мрамор +Marble Bricks=Мраморные кирпичи +Granite=Гранит +Granite Bricks=Гранитные кирпичи +Concrete=Конкретный +Zinc Block=Цинковый блок +Cast Iron Block=Чугунный блок +Carbon Steel Block=Блок из углеродистой стали +Stainless Steel Block=Блок из нержавеющей стали +Insulator/cable clip=Изолятор/зажим для кабеля +Steel strut with insulator/cable clip=Стальная стойка с изолятором/кабельным зажимом diff --git a/extranodes/locale/template.txt b/extranodes/locale/template.txt index 2ffe49896..235bf929b 100644 --- a/extranodes/locale/template.txt +++ b/extranodes/locale/template.txt @@ -1,7 +1,18 @@ -# technic_extranodes translation template +# textdomain: extranodes +Marble= +Marble Bricks= +Granite= +Granite Bricks= +Concrete= +Zinc Block= +Cast Iron Block= +Carbon Steel Block= +Stainless Steel Block= +Insulator/cable clip= +Steel strut with insulator/cable clip= -Marble = -Marble Bricks = -Granite = -Concrete = +##### not used anymore ##### + +# technic_extranodes translation template +Marble = From d26d007da2d4aa6eaeaa4538ba5a54df693e577b Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Sun, 1 Dec 2024 17:20:13 +0500 Subject: [PATCH 05/20] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- technic/init.lua | 2 +- technic/locale/technic.de.tr | 200 +++++++++-- technic/locale/technic.es.tr | 211 +++++++++--- technic/locale/technic.fr.tr | 204 +++++++++-- technic/locale/technic.it.tr | 178 +++++++++- technic/locale/technic.pl.tr | 182 +++++++++- technic/locale/technic.ru.tr | 301 +++++++++------- technic/locale/template.txt | 323 ++++++++++-------- technic/machines/LV/geothermal.lua | 10 +- technic/machines/MV/hydro_turbine.lua | 10 +- technic/machines/MV/lighting.lua | 2 +- technic/machines/other/anchor.lua | 5 +- technic/machines/other/coal_alloy_furnace.lua | 6 +- technic/machines/other/constructor.lua | 10 +- technic/machines/register/grinder_recipes.lua | 5 +- technic/radiation.lua | 2 +- technic/tools/mining_drill.lua | 28 +- technic_worldgen/crafts.lua | 5 +- .../locale/technic_worldgen.ru.tr | 37 ++ technic_worldgen/locale/template.txt | 73 ++-- technic_worldgen/nodes.lua | 5 +- 21 files changed, 1323 insertions(+), 476 deletions(-) create mode 100644 technic_worldgen/locale/technic_worldgen.ru.tr diff --git a/technic/init.lua b/technic/init.lua index 8c99040c2..f6639ec59 100644 --- a/technic/init.lua +++ b/technic/init.lua @@ -62,6 +62,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 diff --git a/technic/locale/technic.de.tr b/technic/locale/technic.de.tr index 45ff38769..d1b039e95 100644 --- a/technic/locale/technic.de.tr +++ b/technic/locale/technic.de.tr @@ -1,10 +1,180 @@ +# textdomain: technic +@1 Alloy Furnace= +Alloying= +Administrative World Anchor= +Owner:= +Unlocked= +Locked= +Keeping @1/@2 map blocks loaded= +Radius:= +Disabled= +Enabled= +RE Battery= +@1 Battery Box= +Charge= +Discharge= +Power level= +@1 Battery Box Has No Network= +@1 Battery Box: @2 / @3= +@1 Cable= +@1 Cable Plate= +Water Can= +Lava Can= +River Water Can= +@1 Centrifuge= +Separating= +Chainsaw= +Fuel-Fired Alloy Furnace= +@1 is empty= +@1 Out Of Fuel= +Fuel-Fired Furnace= +Machine cannot be removed because it is not empty= +Inventory move disallowed due to protection= +@1 Compressor= +Compressing= +Constructor Mk@1= +Slot @1= +@1 Furnace= +@1 Extractor= +Extracting= +Flashlight= +Range= +Sphere= +Cube= +@1 Disabled= +@1 Forcefield Emitter= +@1 Enabled= +@1 Forcefield= +@1 Unpowered= +@1 Active= +Ignoring Mesecon Signal= +Controlled by Mesecon Signal= +Frame= +Frame Motor= +Template= +Template (replacing)= +Template Tool= +Template Motor= +@1 Freezer= +Freezing= +Fuel-Fired @1 Generator= +Geothermal @1 Generator= +Geothermal %s Generator= +@1 Grinder= +Grinding= +Dust= +@1 Dust= +@1-Fissile Uranium= +Sawdust= +@1 Grinding= +Hydro @1 Generator= +[Technic] Loaded in @1 seconds= +Self-Contained Injector= +Stackwise= +Itemwise= +Public= +Private= +Silicon Wafer= +Doped Silicon Wafer= +Uranium Fuel= +Diamond Drill Head= +Blue Energy Crystal= +Green Energy Crystal= +Red Energy Crystal= +Copper Coil= +Low Voltage Transformer= +Medium Voltage Transformer= +High Voltage Transformer= +Control Logic Unit= +Mixed Metal Ingot= +Composite Plate= +Copper Plate= +Carbon Plate= +Graphite= +Carbon Cloth= +Machine Casing= +Rubber Goo= +@1-Fissile Uranium Ingot= +@1-Fissile Uranium Block= +@1 Lamp= +@1 Off= +Dummy light source node= +@1 LED= +LV= +someone= +Sorry, @1 owns that spot.= +Yellow Glowlight (thick)= +Yellow Glowlight (thin)= +White Glowlight (thick)= +White Glowlight (thin)= +Yellow Glowlight (small cube)= +White Glowlight (small cube)= +Single node.= +3 nodes deep.= +3 nodes wide.= +3 nodes tall.= +3x3 nodes.= +Mining Drill Mk#1 Mode #2= +Use while sneaking to change Mining Drill Mk@1 modes.= +Mining Drill Mk@1= +Mining Laser Mk%d= +%s Music Player= +Stopped= +Current track %s= +@1 Nuclear Reactor Core= +HV= +Nuclear Reactor Rod Compartment= +@1 Idle= +Power Monitor= +Power Monitor. Supply: @1 Demand: @2= +Power Monitor Has No Network= +Prospector= +%s Quarry= +Digging not started= +Digging finished= +Purging cache= +Restart= +%s purging cache= +%s Finished= +Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.= +%s Unpowered= +%s Active= +%s Disabled= +Chernobylite Block= +Arrayed Solar @1 Generator= +Small Solar %s Generator= +%s Idle= +@1 Active (@2)= +Sonic Screwdriver (left-click rotates face, right-click rotates axis)= +Input Power= +Supply Converter= +%s Enabled= +@1 (@2 @3 -> @4 @5)= +%s Has Bad Cabling= +Switching Station= +%s Already Present= +@1. Supply: @2 Demand: @3= +%s Has No Network= +%s Tool Workshop= +Upgrade Slots= +Tree Tap= +Raw Latex= +Rubber Fiber= +Vacuum Cleaner= +Hydro %s Generator= +Wind Mill Frame= +Wind %s Generator= +%s Improperly Placed= +@1 (@2)= + + +##### not used anymore ##### + # German Translation for Technic Mod # Deutsche Uebersetzung des Technic Mods # by Xanthin - ## Misc [Technic] Loaded in %f seconds = [Technic] ist in %f Sekunden geladen - ## Items Silicon Wafer = Siliziumscheibe Doped Silicon Wafer = Dotierte Siliziumscheibe @@ -29,9 +199,6 @@ Graphite = Graphit Carbon Cloth = Kohlefasergewebe Raw Latex = Rohlatex Rubber Fiber = Gummifaser -%.1f%%-Fissile Uranium Ingot = -%.1f%%-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. @@ -39,7 +206,6 @@ Inventory move disallowed due to protection = Das Inventar ist geschuetzt, Zugri @1 Active (@2 EU) = @1 ist eingeschaltet (@2 EU) %s Active = %s ist eingeschaltet %s Disabled = %s ist ausgeschaltet -%s Enabled = %s Idle = %s ist bereit %s Improperly Placed = %s ist falsch plaziert %s Unpowered = %s hat keine Stromversorgung @@ -55,13 +221,6 @@ Out: = Raus: Slot %d = Fach %d Itemwise = Einzelstuecke Stackwise = Ganzer Stapel -Owner: = -Unlocked = -Locked = -Radius: = -Enabled = -Disabled = - ## Machine names # $1: Tier %s Alloy Furnace = %s Legierungsofen @@ -98,8 +257,6 @@ 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 @@ -113,13 +270,6 @@ Production at %d%% = Produktion bei %d%% Choose Milling Program: = Waehle ein Fraesprogramm: Slim Elements half / normal height: = Schmale Elemente von halber / normaler Hoehe: Current track %s = Aktueller Titel %s -Stopped = -Keeping %d/%d map blocks loaded = -Digging not started = -Digging finished = -Digging %d m above machine = -Digging %d m below machine = - ## Grinder Recipes # $1: Name %s Dust = %sstaub @@ -141,8 +291,6 @@ Talinite = Talinite Tin = Zinn Wrought Iron = Schmiedeeisen Zinc = Zink -%.1f%%-Fissile Uranium = - ## Tools RE Battery = Akkubatterie Water Can = Wasserkanister @@ -160,9 +308,5 @@ Mining Laser Mk%d = Bergbaulaser Modell %d Single node. = Einzelblock Sonic Screwdriver = Schallschraubendreher Tree Tap = Baumzapfhahn - ## Craft descriptions Alloy cooking = -Grinding = -Compressing = -Extracting = diff --git a/technic/locale/technic.es.tr b/technic/locale/technic.es.tr index fa669888e..8923d9d05 100644 --- a/technic/locale/technic.es.tr +++ b/technic/locale/technic.es.tr @@ -1,10 +1,180 @@ +# textdomain: technic +@1 Alloy Furnace= +Alloying= +Administrative World Anchor= +Owner:= +Unlocked= +Locked= +Keeping @1/@2 map blocks loaded= +Radius:= +Disabled= +Enabled= +RE Battery= +@1 Battery Box= +Charge= +Discharge= +Power level= +@1 Battery Box Has No Network= +@1 Battery Box: @2 / @3= +@1 Cable= +@1 Cable Plate= +Water Can= +Lava Can= +River Water Can= +@1 Centrifuge= +Separating= +Chainsaw= +Fuel-Fired Alloy Furnace= +@1 is empty= +@1 Out Of Fuel= +Fuel-Fired Furnace= +Machine cannot be removed because it is not empty= +Inventory move disallowed due to protection= +@1 Compressor= +Compressing= +Constructor Mk@1= +Slot @1= +@1 Furnace= +@1 Extractor= +Extracting= +Flashlight= +Range= +Sphere= +Cube= +@1 Disabled= +@1 Forcefield Emitter= +@1 Enabled= +@1 Forcefield= +@1 Unpowered= +@1 Active= +Ignoring Mesecon Signal= +Controlled by Mesecon Signal= +Frame= +Frame Motor= +Template= +Template (replacing)= +Template Tool= +Template Motor= +@1 Freezer= +Freezing= +Fuel-Fired @1 Generator= +Geothermal @1 Generator= +Geothermal %s Generator= +@1 Grinder= +Grinding= +Dust= +@1 Dust= +@1-Fissile Uranium= +Sawdust= +@1 Grinding= +Hydro @1 Generator= +[Technic] Loaded in @1 seconds= +Self-Contained Injector= +Stackwise= +Itemwise= +Public= +Private= +Silicon Wafer= +Doped Silicon Wafer= +Uranium Fuel= +Diamond Drill Head= +Blue Energy Crystal= +Green Energy Crystal= +Red Energy Crystal= +Copper Coil= +Low Voltage Transformer= +Medium Voltage Transformer= +High Voltage Transformer= +Control Logic Unit= +Mixed Metal Ingot= +Composite Plate= +Copper Plate= +Carbon Plate= +Graphite= +Carbon Cloth= +Machine Casing= +Rubber Goo= +@1-Fissile Uranium Ingot= +@1-Fissile Uranium Block= +@1 Lamp= +@1 Off= +Dummy light source node= +@1 LED= +LV= +someone= +Sorry, @1 owns that spot.= +Yellow Glowlight (thick)= +Yellow Glowlight (thin)= +White Glowlight (thick)= +White Glowlight (thin)= +Yellow Glowlight (small cube)= +White Glowlight (small cube)= +Single node.= +3 nodes deep.= +3 nodes wide.= +3 nodes tall.= +3x3 nodes.= +Mining Drill Mk#1 Mode #2= +Use while sneaking to change Mining Drill Mk@1 modes.= +Mining Drill Mk@1= +Mining Laser Mk%d= +%s Music Player= +Stopped= +Current track %s= +@1 Nuclear Reactor Core= +HV= +Nuclear Reactor Rod Compartment= +@1 Idle= +Power Monitor= +Power Monitor. Supply: @1 Demand: @2= +Power Monitor Has No Network= +Prospector= +%s Quarry= +Digging not started= +Digging finished= +Purging cache= +Restart= +%s purging cache= +%s Finished= +Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.= +%s Unpowered= +%s Active= +%s Disabled= +Chernobylite Block= +Arrayed Solar @1 Generator= +Small Solar %s Generator= +%s Idle= +@1 Active (@2)= +Sonic Screwdriver (left-click rotates face, right-click rotates axis)= +Input Power= +Supply Converter= +%s Enabled= +@1 (@2 @3 -> @4 @5)= +%s Has Bad Cabling= +Switching Station= +%s Already Present= +@1. Supply: @2 Demand: @3= +%s Has No Network= +%s Tool Workshop= +Upgrade Slots= +Tree Tap= +Raw Latex= +Rubber Fiber= +Vacuum Cleaner= +Hydro %s Generator= +Wind Mill Frame= +Wind %s Generator= +%s Improperly Placed= +@1 (@2)= + + +##### not used anymore ##### + # Spanish Translation for Technic Mod # Traduccion al Español del Mod Technic # Autor: Diego Martínez - ## Misc [Technic] Loaded in %f seconds = [Technic] Cargado en %f segundos - ## Items Silicon Wafer = Oblea de Silicio Doped Silicon Wafer = Oblea de Silicio Dopada @@ -29,16 +199,11 @@ Graphite = Grafito Carbon Cloth = Tela de Carbon Raw Latex = Latex Crudo Rubber Fiber = Fibra de Hule -%.1f%%-Fissile Uranium Ingot = -%.1f%%-Fissile Uranium Block = - ## 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 = # $1: Machine name (Includes tier) @1 Active (@2 EU) = @1 Activo (@2 EU) %s Active = %s Activo -%s Enabled = %s Idle = %s Quieto %s Unpowered = %s Sin Energia %s Out Of Fuel = %s Sin Combustible @@ -49,15 +214,6 @@ Inventory move disallowed due to protection = %s Improperly Placed = %s No Colocado Apropiadamente Range = Alcance Enable/Disable = Habilitar/Deshabilitar -Itemwise = -Stackwise = -Owner: = -Unlocked = -Locked = -Radius: = -Enabled = -Disabled = - ## Machine names # $1: Tier %s Alloy Furnace = Horno de Aleacion %s @@ -78,14 +234,6 @@ Hydro %s Generator = Molino de Agua %s Nuclear %s Generator Core = Nucleo de Reactor Nuclear %s Small Solar %s Generator = Panel Solar %s Wind %s Generator = Molino de Viento %s -Self-Contained Injector = -Constructor Mk%d = -Frame = -Frame Motor = -Template = -Template (replacing) = -Template Motor = -Template Tool = Supply Converter = Convertidor de Alimentacion Switching Station = Estacion de Conmutacion Battery Box = Caja de Baterias @@ -94,8 +242,6 @@ Fuel-Fired Furnace = Horno a Carbon Forcefield = Campo de Fuerza Nuclear Reactor Rod Compartment = Compartimiento para Vara de Reactor Nuclear Wind Mill Frame = Armazon de Molino de Viento -Administrative World Anchor = - ## Machine-specific # $1: Pruduced EU Charge = Cargar @@ -107,13 +253,6 @@ Power level = Nivel de Poder @1. Supply: @2 Demand: @3 = @1. Alimentacion: @2 Demanda: @3 # $1: Production percent Production at %d%% = Produccion en %d%% -Stopped = -Keeping %d/%d map blocks loaded = -Digging not started = -Digging finished = -Digging %d m above machine = -Digging %d m below machine = - ## Grinder Recipes # $1: Name %s Dust = Polvo de %s @@ -135,8 +274,6 @@ Talinite = Talinita Tin = Estanio Wrought Iron = Hierro Forjado Zinc = Zinc -%.1f%%-Fissile Uranium = - ## Tools RE Battery = Water Can = Bidon de Agua @@ -154,9 +291,5 @@ Mining Laser Mk%d = Laser de Mineria Mk%d Single node. = Nodo simple. Sonic Screwdriver = Destonillador Sonico Tree Tap = Grifo de Arbol - ## Craft descriptions Alloy cooking = -Grinding = -Compressing = -Extracting = diff --git a/technic/locale/technic.fr.tr b/technic/locale/technic.fr.tr index 6fc8dd48f..e2fc301c6 100644 --- a/technic/locale/technic.fr.tr +++ b/technic/locale/technic.fr.tr @@ -1,9 +1,179 @@ +# textdomain: technic +@1 Alloy Furnace= +Alloying= +Administrative World Anchor= +Owner:= +Unlocked= +Locked= +Keeping @1/@2 map blocks loaded= +Radius:= +Disabled= +Enabled= +RE Battery= +@1 Battery Box= +Charge= +Discharge= +Power level= +@1 Battery Box Has No Network= +@1 Battery Box: @2 / @3= +@1 Cable= +@1 Cable Plate= +Water Can= +Lava Can= +River Water Can= +@1 Centrifuge= +Separating= +Chainsaw= +Fuel-Fired Alloy Furnace= +@1 is empty= +@1 Out Of Fuel= +Fuel-Fired Furnace= +Machine cannot be removed because it is not empty= +Inventory move disallowed due to protection= +@1 Compressor= +Compressing= +Constructor Mk@1= +Slot @1= +@1 Furnace= +@1 Extractor= +Extracting= +Flashlight= +Range= +Sphere= +Cube= +@1 Disabled= +@1 Forcefield Emitter= +@1 Enabled= +@1 Forcefield= +@1 Unpowered= +@1 Active= +Ignoring Mesecon Signal= +Controlled by Mesecon Signal= +Frame= +Frame Motor= +Template= +Template (replacing)= +Template Tool= +Template Motor= +@1 Freezer= +Freezing= +Fuel-Fired @1 Generator= +Geothermal @1 Generator= +Geothermal %s Generator= +@1 Grinder= +Grinding= +Dust= +@1 Dust= +@1-Fissile Uranium= +Sawdust= +@1 Grinding= +Hydro @1 Generator= +[Technic] Loaded in @1 seconds= +Self-Contained Injector= +Stackwise= +Itemwise= +Public= +Private= +Silicon Wafer= +Doped Silicon Wafer= +Uranium Fuel= +Diamond Drill Head= +Blue Energy Crystal= +Green Energy Crystal= +Red Energy Crystal= +Copper Coil= +Low Voltage Transformer= +Medium Voltage Transformer= +High Voltage Transformer= +Control Logic Unit= +Mixed Metal Ingot= +Composite Plate= +Copper Plate= +Carbon Plate= +Graphite= +Carbon Cloth= +Machine Casing= +Rubber Goo= +@1-Fissile Uranium Ingot= +@1-Fissile Uranium Block= +@1 Lamp= +@1 Off= +Dummy light source node= +@1 LED= +LV= +someone= +Sorry, @1 owns that spot.= +Yellow Glowlight (thick)= +Yellow Glowlight (thin)= +White Glowlight (thick)= +White Glowlight (thin)= +Yellow Glowlight (small cube)= +White Glowlight (small cube)= +Single node.= +3 nodes deep.= +3 nodes wide.= +3 nodes tall.= +3x3 nodes.= +Mining Drill Mk#1 Mode #2= +Use while sneaking to change Mining Drill Mk@1 modes.= +Mining Drill Mk@1= +Mining Laser Mk%d= +%s Music Player= +Stopped= +Current track %s= +@1 Nuclear Reactor Core= +HV= +Nuclear Reactor Rod Compartment= +@1 Idle= +Power Monitor= +Power Monitor. Supply: @1 Demand: @2= +Power Monitor Has No Network= +Prospector= +%s Quarry= +Digging not started= +Digging finished= +Purging cache= +Restart= +%s purging cache= +%s Finished= +Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.= +%s Unpowered= +%s Active= +%s Disabled= +Chernobylite Block= +Arrayed Solar @1 Generator= +Small Solar %s Generator= +%s Idle= +@1 Active (@2)= +Sonic Screwdriver (left-click rotates face, right-click rotates axis)= +Input Power= +Supply Converter= +%s Enabled= +@1 (@2 @3 -> @4 @5)= +%s Has Bad Cabling= +Switching Station= +%s Already Present= +@1. Supply: @2 Demand: @3= +%s Has No Network= +%s Tool Workshop= +Upgrade Slots= +Tree Tap= +Raw Latex= +Rubber Fiber= +Vacuum Cleaner= +Hydro %s Generator= +Wind Mill Frame= +Wind %s Generator= +%s Improperly Placed= +@1 (@2)= + + +##### not used anymore ##### + # template.txt # Template for translations of Technic - ## Misc [Technic] Loaded in %f seconds = [Technic] Chargement en %f secondes - ## Items Silicon Wafer = Tranche de silicium Doped Silicon Wafer = Tranche de silicium doppée @@ -32,11 +202,9 @@ Raw Latex = Latex brut Rubber Fiber = Fibre de caoutchouc %.1f%%-Fissile Uranium Ingot = Lingot d'uranium fissile (%.1f%%) %.1f%%-Fissile Uranium Block = Bloc d'uranium fissile (%.1f%%) - ## Machine misc Machine cannot be removed because it is not empty = La machine ne peut pas être retirée car elle n'est pas vide Inventory move disallowed due to protection = Le mouvement d'inventaire n'est pas autorisé en raison de la protection - # $1: Machine name (Includes tier) @1 Active (@2 EU) = @1 Active (@2 EU) %s Active = %s actif @@ -67,7 +235,6 @@ Locked = Verrouillé Radius: = Rayon : Enabled = Activé Disabled = Désactivé - ## Machine names # $1: Tier %s Alloy Furnace = Four à alliage %s @@ -95,9 +262,6 @@ Constructor Mk%d = Constructeur Mk%d 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 @@ -106,31 +270,24 @@ 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 %d%% = Production à %d%% Choose Milling Program: = Choisissez le programme de fraisage : -Slim Elements half / normal height: = Current track %s = Morceau actuel %s Stopped = Arrêté -Keeping %d/%d map blocks loaded = Digging not started = Creusement non démarré Digging finished = Creusement terminé Digging %d m above machine = Creusement à %dm au dessus de la machine Digging %d m below machine = Creusement à %dm en dessous de la machine @1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5) - ## CNC Cylinder = Element Cross = Elément croisé @@ -147,12 +304,6 @@ 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 @@ -165,13 +316,9 @@ Sandstone = Grès Stone = Pierre Tree = Arbre Wooden = Bois - ## Grinder Recipes # $1: Name %s Dust = Poudre de %s -Akalin = -Alatro = -Arol = Brass = Laiton Bronze = Bronze Carbon Steel = Acier au carbone @@ -188,25 +335,18 @@ Tin = Etain Wrought Iron = Fer Zinc = Zinc %.1f%%-Fissile Uranium = Uranium fissile (%.1f%%) - ## Tools RE Battery = Batterie RE Water Can = Jerrycan d'eau Lava Can = Jerrycan de lave Chainsaw = Tronçonneuse Flashlight = Lampe-torche -3 nodes deep. = -3 nodes tall. = -3 nodes wide. = -3x3 nodes. = -Use while sneaking to change Mining Drill Mk%d modes. = Mining Drill Mk%d Mode %d = Foreuse Mk%d Mode %d Mining Drill Mk%d = Foreuse Mk%d Mining Laser Mk%d = Foreuse laser Mk%d Single node. = Mode simple. Sonic Screwdriver = Tournevis supersonique Tree Tap = Robinet à sève - ## Craft descriptions Alloy cooking = Fonderie d'alliage Grinding = Broyage diff --git a/technic/locale/technic.it.tr b/technic/locale/technic.it.tr index 18b0e4fd5..4fa490494 100644 --- a/technic/locale/technic.it.tr +++ b/technic/locale/technic.it.tr @@ -1,7 +1,177 @@ +# textdomain: technic +@1 Alloy Furnace= +Alloying= +Administrative World Anchor= +Owner:= +Unlocked= +Locked= +Keeping @1/@2 map blocks loaded= +Radius:= +Disabled= +Enabled= +RE Battery= +@1 Battery Box= +Charge= +Discharge= +Power level= +@1 Battery Box Has No Network= +@1 Battery Box: @2 / @3= +@1 Cable= +@1 Cable Plate= +Water Can= +Lava Can= +River Water Can= +@1 Centrifuge= +Separating= +Chainsaw= +Fuel-Fired Alloy Furnace= +@1 is empty= +@1 Out Of Fuel= +Fuel-Fired Furnace= +Machine cannot be removed because it is not empty= +Inventory move disallowed due to protection= +@1 Compressor= +Compressing= +Constructor Mk@1= +Slot @1= +@1 Furnace= +@1 Extractor= +Extracting= +Flashlight= +Range= +Sphere= +Cube= +@1 Disabled= +@1 Forcefield Emitter= +@1 Enabled= +@1 Forcefield= +@1 Unpowered= +@1 Active= +Ignoring Mesecon Signal= +Controlled by Mesecon Signal= +Frame= +Frame Motor= +Template= +Template (replacing)= +Template Tool= +Template Motor= +@1 Freezer= +Freezing= +Fuel-Fired @1 Generator= +Geothermal @1 Generator= +Geothermal %s Generator= +@1 Grinder= +Grinding= +Dust= +@1 Dust= +@1-Fissile Uranium= +Sawdust= +@1 Grinding= +Hydro @1 Generator= +[Technic] Loaded in @1 seconds= +Self-Contained Injector= +Stackwise= +Itemwise= +Public= +Private= +Silicon Wafer= +Doped Silicon Wafer= +Uranium Fuel= +Diamond Drill Head= +Blue Energy Crystal= +Green Energy Crystal= +Red Energy Crystal= +Copper Coil= +Low Voltage Transformer= +Medium Voltage Transformer= +High Voltage Transformer= +Control Logic Unit= +Mixed Metal Ingot= +Composite Plate= +Copper Plate= +Carbon Plate= +Graphite= +Carbon Cloth= +Machine Casing= +Rubber Goo= +@1-Fissile Uranium Ingot= +@1-Fissile Uranium Block= +@1 Lamp= +@1 Off= +Dummy light source node= +@1 LED= +LV= +someone= +Sorry, @1 owns that spot.= +Yellow Glowlight (thick)= +Yellow Glowlight (thin)= +White Glowlight (thick)= +White Glowlight (thin)= +Yellow Glowlight (small cube)= +White Glowlight (small cube)= +Single node.= +3 nodes deep.= +3 nodes wide.= +3 nodes tall.= +3x3 nodes.= +Mining Drill Mk#1 Mode #2= +Use while sneaking to change Mining Drill Mk@1 modes.= +Mining Drill Mk@1= +Mining Laser Mk%d= +%s Music Player= +Stopped= +Current track %s= +@1 Nuclear Reactor Core= +HV= +Nuclear Reactor Rod Compartment= +@1 Idle= +Power Monitor= +Power Monitor. Supply: @1 Demand: @2= +Power Monitor Has No Network= +Prospector= +%s Quarry= +Digging not started= +Digging finished= +Purging cache= +Restart= +%s purging cache= +%s Finished= +Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.= +%s Unpowered= +%s Active= +%s Disabled= +Chernobylite Block= +Arrayed Solar @1 Generator= +Small Solar %s Generator= +%s Idle= +@1 Active (@2)= +Sonic Screwdriver (left-click rotates face, right-click rotates axis)= +Input Power= +Supply Converter= +%s Enabled= +@1 (@2 @3 -> @4 @5)= +%s Has Bad Cabling= +Switching Station= +%s Already Present= +@1. Supply: @2 Demand: @3= +%s Has No Network= +%s Tool Workshop= +Upgrade Slots= +Tree Tap= +Raw Latex= +Rubber Fiber= +Vacuum Cleaner= +Hydro %s Generator= +Wind Mill Frame= +Wind %s Generator= +%s Improperly Placed= +@1 (@2)= + + +##### not used anymore ##### ## Misc [Technic] Loaded in %f seconds = [Technic] caricato in %f secondi - ## Items Silicon Wafer = Wafer di silicone Doped Silicon Wafer = Wafer di silicone dopato @@ -28,7 +198,6 @@ Raw Latex = Latex grezzo Rubber Fiber = Fibra di gomma %.1f%%-Fissile Uranium Ingot = %.1f%%-Lingotto di uranio fissile %.1f%%-Fissile Uranium Block = %.1f%%-Blocco di uranio fissile - ## Machine misc Machine cannot be removed because it is not empty = La macchina non può essere rimossa perchè non è vuota Inventory move disallowed due to protection = Impossibile muovere l'inventario a causa della protezione @@ -58,7 +227,6 @@ Locked = Chiuso a chiave Radius: = Raggio: Enabled = Abilitato Disabled = Disabilitato - ## Machine names # $1: Tier %s Alloy Furnace = %s Fornace per leghe @@ -96,7 +264,6 @@ 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 @@ -116,7 +283,6 @@ Digging not started = Scavo non iniziato Digging finished = Scavo finito Digging %d m above machine = Scavo di %d m sopra la macchina Digging %d m below machine = Scavo di %d m sotto la macchina - ## Grinder Recipes # $1: Name %s Dust = Polvere di %s @@ -139,7 +305,6 @@ Tin = Stagno Wrought Iron = Ferro Battuto Zinc = Zinco %.1f%%-Fissile Uranium = %.1f%%-Uranio fissile - ## Tools RE Battery = Batteria RE Water Can = Serbatoio d'acqua @@ -157,7 +322,6 @@ Mining Laser Mk%d = Laser da miniera mk%d Single node. = Nodo singolo. Sonic Screwdriver = Cacciavite sonico Tree Tap = Batti albero - ## Craft descriptions Alloy cooking = Cottura lege Grinding = Macinazione diff --git a/technic/locale/technic.pl.tr b/technic/locale/technic.pl.tr index 663f80791..4d43f12f6 100644 --- a/technic/locale/technic.pl.tr +++ b/technic/locale/technic.pl.tr @@ -1,10 +1,180 @@ +# textdomain: technic +@1 Alloy Furnace= +Alloying= +Administrative World Anchor= +Owner:= +Unlocked= +Locked= +Keeping @1/@2 map blocks loaded= +Radius:= +Disabled= +Enabled= +RE Battery= +@1 Battery Box= +Charge= +Discharge= +Power level= +@1 Battery Box Has No Network= +@1 Battery Box: @2 / @3= +@1 Cable= +@1 Cable Plate= +Water Can= +Lava Can= +River Water Can= +@1 Centrifuge= +Separating= +Chainsaw= +Fuel-Fired Alloy Furnace= +@1 is empty= +@1 Out Of Fuel= +Fuel-Fired Furnace= +Machine cannot be removed because it is not empty= +Inventory move disallowed due to protection= +@1 Compressor= +Compressing= +Constructor Mk@1= +Slot @1= +@1 Furnace= +@1 Extractor= +Extracting= +Flashlight= +Range= +Sphere= +Cube= +@1 Disabled= +@1 Forcefield Emitter= +@1 Enabled= +@1 Forcefield= +@1 Unpowered= +@1 Active= +Ignoring Mesecon Signal= +Controlled by Mesecon Signal= +Frame= +Frame Motor= +Template= +Template (replacing)= +Template Tool= +Template Motor= +@1 Freezer= +Freezing= +Fuel-Fired @1 Generator= +Geothermal @1 Generator= +Geothermal %s Generator= +@1 Grinder= +Grinding= +Dust= +@1 Dust= +@1-Fissile Uranium= +Sawdust= +@1 Grinding= +Hydro @1 Generator= +[Technic] Loaded in @1 seconds= +Self-Contained Injector= +Stackwise= +Itemwise= +Public= +Private= +Silicon Wafer= +Doped Silicon Wafer= +Uranium Fuel= +Diamond Drill Head= +Blue Energy Crystal= +Green Energy Crystal= +Red Energy Crystal= +Copper Coil= +Low Voltage Transformer= +Medium Voltage Transformer= +High Voltage Transformer= +Control Logic Unit= +Mixed Metal Ingot= +Composite Plate= +Copper Plate= +Carbon Plate= +Graphite= +Carbon Cloth= +Machine Casing= +Rubber Goo= +@1-Fissile Uranium Ingot= +@1-Fissile Uranium Block= +@1 Lamp= +@1 Off= +Dummy light source node= +@1 LED= +LV= +someone= +Sorry, @1 owns that spot.= +Yellow Glowlight (thick)= +Yellow Glowlight (thin)= +White Glowlight (thick)= +White Glowlight (thin)= +Yellow Glowlight (small cube)= +White Glowlight (small cube)= +Single node.= +3 nodes deep.= +3 nodes wide.= +3 nodes tall.= +3x3 nodes.= +Mining Drill Mk#1 Mode #2= +Use while sneaking to change Mining Drill Mk@1 modes.= +Mining Drill Mk@1= +Mining Laser Mk%d= +%s Music Player= +Stopped= +Current track %s= +@1 Nuclear Reactor Core= +HV= +Nuclear Reactor Rod Compartment= +@1 Idle= +Power Monitor= +Power Monitor. Supply: @1 Demand: @2= +Power Monitor Has No Network= +Prospector= +%s Quarry= +Digging not started= +Digging finished= +Purging cache= +Restart= +%s purging cache= +%s Finished= +Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.= +%s Unpowered= +%s Active= +%s Disabled= +Chernobylite Block= +Arrayed Solar @1 Generator= +Small Solar %s Generator= +%s Idle= +@1 Active (@2)= +Sonic Screwdriver (left-click rotates face, right-click rotates axis)= +Input Power= +Supply Converter= +%s Enabled= +@1 (@2 @3 -> @4 @5)= +%s Has Bad Cabling= +Switching Station= +%s Already Present= +@1. Supply: @2 Demand: @3= +%s Has No Network= +%s Tool Workshop= +Upgrade Slots= +Tree Tap= +Raw Latex= +Rubber Fiber= +Vacuum Cleaner= +Hydro %s Generator= +Wind Mill Frame= +Wind %s Generator= +%s Improperly Placed= +@1 (@2)= + + +##### not used anymore ##### + # Polish Translation for Technic mod # Polskie tłumaczenie Technic mod # by mat9117 - ## Misc [Technic] Loaded in %f seconds = [Technic] Wczytany w %f sekund - ## Items Silicon Wafer = Płytka krzemowa Doped Silicon Wafer = Domieszkowana płytka krzemowa @@ -31,7 +201,6 @@ Raw Latex = Lateks naturalny Rubber Fiber = Włókno gumowe %.1f%%-Fissile Uranium Ingot = %.1f%% Sztabka uranu %.1f%%-Fissile Uranium Block = %.1f%% Blok uranu - ## Machine misc Machine cannot be removed because it is not empty = Nie można usunąć maszyny, ponieważ nie jest pusta Inventory move disallowed due to protection = Przenoszenie rzeczy z ekwipunku niemożliwe z powodu ochrony @@ -46,7 +215,6 @@ Inventory move disallowed due to protection = Przenoszenie rzeczy z ekwipunku ni %s Unpowered = %s brak zasilania %s Out Of Fuel = %s brak paliwa %s Has Bad Cabling = %s Źle podłączono kable -%s (Slave) = %s Has No Network = %s Nie podłączony/a do sieci %s Finished = %s Ukończony Enable/Disable = Włącz/Wyłącz @@ -65,7 +233,6 @@ Locked = Zablokowany/a Radius: = Promień: Enabled = Włączony/a Disabled = Wyłączony/a - ## Machine names # $1: Tier %s Alloy Furnace = %s Piec stopowy @@ -104,7 +271,6 @@ 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 @@ -117,7 +283,6 @@ Power level = Poziom zasilania Production at %d%% = Produkowanie w %d%% Choose Milling Program: = Wybierz program mielenia: Slim Elements half / normal height: = Małe elementy połowa / normalna wysokość: -Current track %s = Stopped = Zatrzymany/a Keeping %d/%d map blocks loaded = Ciągle ładuję %d/%d bloki mapy Digging not started = Nie rozpoczęto kopania @@ -125,7 +290,6 @@ Digging finished = Kopanie skończone Digging %d m above machine = Kopię %d m nad maszyną Digging %d m below machine = Kopię %d m pod maszyną @1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5) - ## Grinder Recipes # $1: Name %s Dust = %s Pył @@ -148,7 +312,6 @@ Tin = Cyny Wrought Iron = Kutego żelaza Zinc = Cynku %.1f%%-Fissile Uranium = %.1f%% Uranu - ## Tools RE Battery = Bateria ładowalna Water Can = Kanister wody @@ -166,7 +329,6 @@ Mining Laser Mk%d = Laser górniczy Mk%d Single node. = Pojedynczy blok. Sonic Screwdriver = Dźwiękowy śrubokręt Tree Tap = Nacinak drzewny - ## Craft descriptions Alloy cooking = Stapianie Grinding = Mielenie diff --git a/technic/locale/technic.ru.tr b/technic/locale/technic.ru.tr index 0a7749004..bbb4d0945 100644 --- a/technic/locale/technic.ru.tr +++ b/technic/locale/technic.ru.tr @@ -1,23 +1,96 @@ # textdomain: technic - - -## Misc -[Technic] Loaded in %f seconds=[Техника] Загружено за %f секунд - +@1 Alloy Furnace=@1 Печь для сплава +Alloying=Легирование +Administrative World Anchor=Административный мировой якорь +Owner:=Владелец: +Unlocked=Разблокировано +Locked=Заблокировано +Keeping @1/@2 map blocks loaded=Сохранение загруженных блоков карты @1/@2 +Radius:=Радиус: +Disabled=Выключено +Enabled=Включено +## Tools +RE Battery=RE Батарея +@1 Battery Box=@1 Батарейный отсек +## Machine-specific +# $1: Pruduced EU +Charge=Зарядка +Discharge=Разрядка +Power level=Уровень мощности +@1 Battery Box Has No Network=@1 В аккумуляторном ящике нет сети +# $1: Tier $2: current_charge $3: max_charge +@1 Battery Box: @2 / @3=@1 Батарейный ящик: @2 / @3 +@1 Cable=@1 Кабель +@1 Cable Plate=@1 Кабельная пластина +Water Can=Банка с водой +Lava Can=Банка с лавой +River Water Can=Канистра для речной воды +@1 Centrifuge=@1 Центрифуга +Separating=Разделение +Chainsaw=Бензопила +Fuel-Fired Alloy Furnace=Топливная печь для сплавов +@1 is empty=@1 пусто +@1 Out Of Fuel=@1 закончилось топливо +Fuel-Fired Furnace=Топливная печь +## Machine misc +Machine cannot be removed because it is not empty=Машину невозможно удалить, поскольку она не пуста. +Inventory move disallowed due to protection=Перемещение инвентаря запрещено из-за защиты +@1 Compressor=@1 Компрессор +Compressing=Сжатие +Constructor Mk@1=Конструктор Мк@1 +Slot @1=Слот @1 +@1 Furnace=@1 Печь +@1 Extractor=@1 Экстрактор +Extracting=Извлечение +Flashlight=Фонарик +Range=Диапазон +##Force firld +Sphere=Сфера +Cube=Куб +@1 Disabled=@1 Отключено +@1 Forcefield Emitter=@1 Эмиттер силового поля +@1 Enabled=@1 Включено +@1 Forcefield=@1 Силовое поле +@1 Unpowered=@1 Без питания +@1 Active=@1 Активный +Ignoring Mesecon Signal=Игнорирование сигнала Месекона +Controlled by Mesecon Signal=Управляется сигналом Месекон +Frame=Рамка +Frame Motor=Рамный двигатель +Template=Шаблон +Template (replacing)=Шаблон (замена) +Template Tool=Инструмент «Шаблон» +Template Motor=Мотор шаблона +@1 Freezer=@1 Морозильник +Freezing=Замораживание +Fuel-Fired @1 Generator=Топливный @1 генератор +Geothermal @1 Generator=Геотермальный @1 генератор +Geothermal %s Generator= +@1 Grinder=@1 Гриндер +Grinding=Шлифование +Dust=Пыль +## Grinder Recipes +# $1: Name +@1 Dust=@1 Пыль +@1-Fissile Uranium=@1-Делящийся уран +Sawdust=Опилки +@1 Grinding=@1 Шлифовка +Hydro @1 Generator=Гидрогенератор @1 +[Technic] Loaded in @1 seconds=[Техника] Загружено за @1 секунду +Self-Contained Injector=Автономный инжектор +Stackwise=Стекообразно +Itemwise=По пунктам +Public=Публичный +Private=Частный ## Items Silicon Wafer=Кремниевая пластина Doped Silicon Wafer=Легированная кремниевая пластина -Enriched Uranium=Обогащенный уран Uranium Fuel=Урановое топливо Diamond Drill Head=Алмазная буровая головка Blue Energy Crystal=Синий энергетический кристалл Green Energy Crystal=Зеленый Энергетический Кристалл Red Energy Crystal=Красный Энергетический Кристалл -Fine Copper Wire=Тонкая медная проволока -Fine Gold Wire=Тонкая золотая проволока -Fine Silver Wire=Тонкая серебряная проволока Copper Coil=Медная катушка -Electric Motor=Электрический двигатель Low Voltage Transformer=Трансформатор низкого напряжения Medium Voltage Transformer=Трансформатор среднего напряжения High Voltage Transformer=Трансформатор высокого напряжения @@ -28,118 +101,112 @@ Copper Plate=Медная тарелка Carbon Plate=Карбоновая пластина Graphite=Графит Carbon Cloth=Углеродная ткань -Raw Latex=Сырой латекс -Rubber Fiber=Резиновое волокно -@1-Fissile Uranium Ingot=@1-Слиток делящегося урана -@1-Fissile Uranium Block=@1-Делящийся урановый блок Machine Casing=Корпус машины Rubber Goo=Резиновая жижа +@1-Fissile Uranium Ingot=@1-Слиток делящегося урана +@1-Fissile Uranium Block=@1-Делящийся урановый блок +@1 Lamp=@1 Лампа +@1 Off=@1 Выкл. +Dummy light source node=Узел фиктивного источника света +@1 LED=@1 светодиод +LV=ЛВ +someone=кто-то +Sorry, @1 owns that spot.=Извините, это место принадлежит @1. +Yellow Glowlight (thick)=Желтый светящийся свет (густой) +Yellow Glowlight (thin)=Желтый светящийся свет (тонкий) +White Glowlight (thick)=Белый светящийся свет (толстый) +White Glowlight (thin)=Белый светящийся свет (тонкий) +Yellow Glowlight (small cube)=Желтый светящийся свет (маленький куб) +White Glowlight (small cube)=Белый светящийся свет (маленький куб) +Single node.=Одиночный узел. +3 nodes deep.=Глубина 3 узла. +3 nodes wide.=Ширина 3 узла. +3 nodes tall.=Высота 3 узла. +3x3 nodes.=3х3 узла. +Mining Drill Mk%1 Mode %2=Горный бур Mk%1, режим %2 +Use while sneaking to change Mining Drill Mk@1 modes.= +Mining Drill Mk@1=Горный бур Mk@1 +Mining Laser Mk%d= +%s Music Player=%s Музыкальный проигрыватель +Stopped=Остановлено +Current track %s=Текущий трек %s +@1 Nuclear Reactor Core=@1 Активная зона ядерного реактора +HV= +Nuclear Reactor Rod Compartment=Стержневой отсек ядерного реактора +@1 Idle=@1 В режиме ожидания +Power Monitor=Монитор мощности +Power Monitor. Supply: @1 Demand: @2= +Power Monitor Has No Network=У монитора питания нет сети +Prospector=Старатель +%s Quarry=%s Карьер +Digging not started=Копать не начали +Digging finished=Копание закончено +Purging cache=Очистка кэша +Restart=Перезапуск +%s purging cache= +%s Finished=%s Завершено +Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.=Ручное извлечение/удаление из кэша невозможно. Если вы не хотите ждать, перезапустите или отключите карьер, чтобы начать автоматическую очистку. +%s Unpowered= +%s Active= +%s Disabled= +Chernobylite Block=Блок Чернобылит +Arrayed Solar @1 Generator=Массивный солнечный @1 генератор +Small Solar %s Generator=Маленький солнечный %s генератор +%s Idle= +@1 Active (@2)=@1 Активный (@2) +Sonic Screwdriver (left-click rotates face, right-click rotates axis)= +Input Power=Входная мощность +Supply Converter=Преобразователь питания +%s Enabled= +@1 (@2 @3 -> @4 @5)=@1 (@2 @3 -> @4 @5) +%s Has Bad Cabling=%s Имеет плохой кабель +Switching Station=Коммутационная станция +%s Already Present= +@1. Supply: @2 Demand: @3= +%s Has No Network=%s не имеет сети +%s Tool Workshop=%s Инструментальная мастерская +Upgrade Slots=Обновление слотов +Tree Tap=Деревянный кран +Raw Latex=Сырой латекс +Rubber Fiber=Резиновое волокно +Vacuum Cleaner=Пылесос +Hydro %s Generator=Гидро %s генератор +Wind Mill Frame=Рама ветряной мельницы +Wind %s Generator=Ветеро %s Генератор +%s Improperly Placed=%s Размещено неправильно +@1 (@2)= -## Machine misc -Machine cannot be removed because it is not empty=Машину невозможно удалить, поскольку она не пуста. -Inventory move disallowed due to protection=Перемещение инвентаря запрещено из-за защиты +##### not used anymore ##### + +Use while sneaking to change Mining Drill Mk%d modes.=Используйте кнопку подкрадывания, чтобы изменить режимы Горного бура Mk%d. +Mining Laser Mk@1=Горный лазер Mk@1 +[Technic] Loaded in %f seconds=[Техника] Загружено за %f секунд +Constructor Mk%d=Конструктор Mk%d +Slot %d=Слот %d +%s is empty=%s пуст +Keeping %d/%d map blocks loaded=Сохранение загруженных блоков карты %d/%d +Enriched Uranium=Обогащенный уран +Fine Copper Wire=Тонкая медная проволока +Fine Gold Wire=Тонкая золотая проволока +Fine Silver Wire=Тонкая серебряная проволока +Electric Motor=Электрический двигатель # $1: Machine name (Includes tier) @1 Active (@2 EU)=@1 Актив (@2 EU) -@1 Active=@1 Активен -@1 Disabled=@1 Отключено -@1 Enabled=@1 Включено -@1 Idle=@1 В режиме ожидания -%s Improperly Placed=%s Размещено неправильно -%s is empty=%s пуст -@1 Unpowered=@1 Отключен от питания -@1 Out Of Fuel=@1 закончилось топливо -%s Has Bad Cabling=%s Имеет плохой кабель %s (Slave)=%s (Подчиненный) -%s Has No Network=%s не имеет сети -%s Finished=%s Завершено -@1 Freezer=@1 Морозильник Enable/Disable=Включить/Выключить -Range=Диапазон -Upgrade Slots=Обновление слотов In:=Вход: Out:=Выход: -Slot %d=Слот %d -Itemwise=По пунктам -Stackwise=Стекообразно -Ignoring Mesecon Signal=Игнорирование сигнала Месекона -Controlled by Mesecon Signal=Управляется сигналом Месекон -Owner:=Владелец: -Unlocked=Разблокировано -Locked=Заблокировано -Radius:=Радиус: -Enabled=Включено -Disabled=Выключено -@1 Unpowered=@1 Без питания -@1 Active=@1 Активный -@1 Forcefield=@1 Силовое поле - -## Machine names -# $1: Tier -@1 Alloy Furnace=@1 Печь для сплава -@1 Battery Box=@1 Батарейный отсек -@1 Cable=@1 Кабель -@1 Cable Plate=@1 Кабельная пластина -@1 Centrifuge=@1 Центрифуга -@1 Compressor=@1 Компрессор -@1 Extractor=@1 Экстрактор -@1 Forcefield Emitter=@1 Эмиттер силового поля -@1 Furnace=@1 Печь -@1 Grinder=@1 Гриндер -%s Music Player=%s Музыкальный проигрыватель -%s Quarry=%s Карьер -%s Tool Workshop=%s Инструментальная мастерская -@1 Battery Box Has No Network=@1 В аккумуляторном ящике нет сети -Arrayed Solar @1 Generator=Массивный солнечный @1 генератор -Fuel-Fired @1 Generator=Топливный @1 генератор -Geothermal %s Generator=Геотермальный %s генератор -Hydro %s Generator=Гидро %s генератор Nuclear %s Generator Core=Ядро %s ядерного генератора -Small Solar %s Generator=Маленький солнечный %s генератор -Wind %s Generator=Ветеро %s Генератор -Self-Contained Injector=Автономный инжектор -Constructor Mk%d=Конструктор Mk%d -Frame=Рамка -Frame Motor=Рамный двигатель -Template=Шаблон -Template (replacing)=Шаблон (замена) -Template Motor=Мотор шаблона -Template Tool=Инструмент «Шаблон» Battery Box=Батарейный ящик -Supply Converter=Преобразователь питания -Switching Station=Коммутационная станция -Fuel-Fired Alloy Furnace=Топливная печь для сплавов -Fuel-Fired Furnace=Топливная печь -Wind Mill Frame=Рама ветряной мельницы Forcefield=Силовое поле -Nuclear Reactor Rod Compartment=Стержневой отсек ядерного реактора -Administrative World Anchor=Административный мировой якорь - -## Machine-specific -# $1: Pruduced EU -Charge=Зарядка -Discharge=Разрядка -Power level=Уровень мощности -# $1: Tier $2: current_charge $3: max_charge -@1 Battery Box: @2 / @3=@1 Батарейный ящик: @2 / @3 # $1: Machine name $2: Supply $3: Demand @1. Supply: @2 Demand: @3=@1. Поставляет: @2 Спрос: @3 Production at %d%%=Производство на %d%% Choose Milling Program:=Выберите программу фрезерования: Slim Elements half / normal height:=Slim Elements половинная/нормальная высота: -Current track %s=Текущий трек %s -Stopped=Остановлено -Keeping %d/%d map blocks loaded=Сохранение загруженных блоков карты %d/%d -Digging not started=Копать не начали -Digging finished=Копание закончено Digging %d m above machine=Копаем %d м над машиной Digging %d m below machine=Копаем %d м под машиной -@1 (@2 @3 -> @4 @5)=@1 (@2 @3 -> @4 @5) -@1 Grinding=@1 Шлифовка - -## Grinder Recipes -# $1: Name -@1 Dust=@1 Пыль Akalin=Акалин Alatro=Алатро Arol=Арол @@ -158,36 +225,6 @@ Talinite=Талинит Tin=Банка Wrought Iron=Кованое железо Zinc=Цинк -@1-Fissile Uranium=@1-Делящийся уран -Sawdust=Опилки - -## Tools -RE Battery=RE Батарея -Water Can=Банка с водой -Lava Can=Банка с лавой -Chainsaw=Бензопила -Flashlight=Фонарик -3 nodes deep.=Глубина 3 узла. -3 nodes tall.=Высота 3 узла. -3 nodes wide.=Ширина 3 узла. -3x3 nodes.=3х3 узла. -Use while sneaking to change Mining Drill Mk%d modes.=Используйте кнопку подкрадывания, чтобы изменить режимы Горного бура Mk%d. -Mining Drill Mk%d Mode %d=Горный бур Mk%d, режим %d -Mining Drill Mk%d=Горный бур Mk%d -Mining Laser Mk%d=Горный лазер Mk%d -Single node.=Одиночный узел. Sonic Screwdriver=Звуковая отвертка -Tree Tap=Деревянный кран - ## Craft descriptions Alloy cooking=Сплав варочный -Grinding=Шлифование -Compressing=Сжатие -Extracting=Извлечение -Separating=Разделение -Freezing=Замораживание - -##Force firld -Sphere=Сфера -Cube=Куб - diff --git a/technic/locale/template.txt b/technic/locale/template.txt index 796b2d232..2cbf5b1aa 100644 --- a/technic/locale/template.txt +++ b/technic/locale/template.txt @@ -1,178 +1,199 @@ -# template.txt -# Template for translations of Technic +# textdomain: technic +@1 Alloy Furnace= +Alloying= +Administrative World Anchor= +Owner:= +Unlocked= +Locked= +Keeping @1/@2 map blocks loaded= +Radius:= +Disabled= +Enabled= +RE Battery= +@1 Battery Box= +Charge= +Discharge= +Power level= +@1 Battery Box Has No Network= +@1 Battery Box: @2 / @3= +@1 Cable= +@1 Cable Plate= +Water Can= +Lava Can= +River Water Can= +@1 Centrifuge= +Separating= +Chainsaw= +Fuel-Fired Alloy Furnace= +@1 is empty= +@1 Out Of Fuel= +Fuel-Fired Furnace= +Machine cannot be removed because it is not empty= +Inventory move disallowed due to protection= +@1 Compressor= +Compressing= +Constructor Mk@1= +Slot @1= +@1 Furnace= +@1 Extractor= +Extracting= +Flashlight= +Range= +Sphere= +Cube= +@1 Disabled= +@1 Forcefield Emitter= +@1 Enabled= +@1 Forcefield= +@1 Unpowered= +@1 Active= +Ignoring Mesecon Signal= +Controlled by Mesecon Signal= +Frame= +Frame Motor= +Template= +Template (replacing)= +Template Tool= +Template Motor= +@1 Freezer= +Freezing= +Fuel-Fired @1 Generator= +Geothermal @1 Generator= +Geothermal %s Generator= +@1 Grinder= +Grinding= +Dust= +@1 Dust= +@1-Fissile Uranium= +Sawdust= +@1 Grinding= +Hydro @1 Generator= +[Technic] Loaded in @1 seconds= +Self-Contained Injector= +Stackwise= +Itemwise= +Public= +Private= +Silicon Wafer= +Doped Silicon Wafer= +Uranium Fuel= +Diamond Drill Head= +Blue Energy Crystal= +Green Energy Crystal= +Red Energy Crystal= +Copper Coil= +Low Voltage Transformer= +Medium Voltage Transformer= +High Voltage Transformer= +Control Logic Unit= +Mixed Metal Ingot= +Composite Plate= +Copper Plate= +Carbon Plate= +Graphite= +Carbon Cloth= +Machine Casing= +Rubber Goo= +@1-Fissile Uranium Ingot= +@1-Fissile Uranium Block= +@1 Lamp= +@1 Off= +Dummy light source node= +@1 LED= +LV= +someone= +Sorry, @1 owns that spot.= +Yellow Glowlight (thick)= +Yellow Glowlight (thin)= +White Glowlight (thick)= +White Glowlight (thin)= +Yellow Glowlight (small cube)= +White Glowlight (small cube)= +Single node.= +3 nodes deep.= +3 nodes wide.= +3 nodes tall.= +3x3 nodes.= +Mining Drill Mk#1 Mode #2= +Use while sneaking to change Mining Drill Mk@1 modes.= +Mining Drill Mk@1= +Mining Laser Mk%d= +%s Music Player= +Stopped= +Current track %s= +@1 Nuclear Reactor Core= +HV= +Nuclear Reactor Rod Compartment= +@1 Idle= +Power Monitor= +Power Monitor. Supply: @1 Demand: @2= +Power Monitor Has No Network= +Prospector= +%s Quarry= +Digging not started= +Digging finished= +Purging cache= +Restart= +%s purging cache= +%s Finished= +Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.= +%s Unpowered= +%s Active= +%s Disabled= +Chernobylite Block= +Arrayed Solar @1 Generator= +Small Solar %s Generator= +%s Idle= +@1 Active (@2)= +Sonic Screwdriver (left-click rotates face, right-click rotates axis)= +Input Power= +Supply Converter= +%s Enabled= +@1 (@2 @3 -> @4 @5)= +%s Has Bad Cabling= +Switching Station= +%s Already Present= +@1. Supply: @2 Demand: @3= +%s Has No Network= +%s Tool Workshop= +Upgrade Slots= +Tree Tap= +Raw Latex= +Rubber Fiber= +Vacuum Cleaner= +Hydro %s Generator= +Wind Mill Frame= +Wind %s Generator= +%s Improperly Placed= +@1 (@2)= +##### not used anymore ##### + +# template.txt +# Template for translations of Technic ## Misc [Technic] Loaded in %f seconds = - ## Items Silicon Wafer = -Doped Silicon Wafer = -Enriched Uranium = -Uranium Fuel = -Diamond Drill Head = -Blue Energy Crystal = -Green Energy Crystal = -Red Energy Crystal = -Fine Copper Wire = -Fine Gold Wire = -Fine Silver Wire = -Copper Coil = -Electric Motor = -Low Voltage Transformer = -Medium Voltage Transformer = -High Voltage Transformer = -Control Logic Unit = -Mixed Metal Ingot = -Composite Plate = -Copper Plate = -Carbon Plate = -Graphite = -Carbon Cloth = -Raw Latex = -Rubber Fiber = -%.1f%%-Fissile Uranium Ingot = -%.1f%%-Fissile Uranium Block = - ## Machine misc Machine cannot be removed because it is not empty = -Inventory move disallowed due to protection = # $1: Machine name (Includes tier) @1 Active (@2 EU) = -%s Active = -%s Disabled = -%s Enabled = -%s Idle = -%s Improperly Placed = -%s is empty = -%s Unpowered = -%s Out Of Fuel = -%s Has Bad Cabling = -%s (Slave) = -%s Has No Network = -%s Finished = -Enable/Disable = -Range = -Upgrade Slots = -In: = -Out: = -Slot %d = -Itemwise = -Stackwise = -Ignoring Mesecon Signal = -Controlled by Mesecon Signal = -Owner: = -Unlocked = -Locked = -Radius: = -Enabled = -Disabled = - ## Machine names # $1: Tier %s Alloy Furnace = -%s Battery Box = -%s Cable = -%s Centrifuge = -%s Compressor = -%s Extractor = -%s Forcefield Emitter = -%s Furnace = -%s Grinder = -%s Music Player = -%s Quarry = -%s Tool Workshop = -Arrayed Solar %s Generator = -Fuel-Fired %s Generator = -Geothermal %s Generator = -Hydro %s Generator = -Nuclear %s Generator Core = -Small Solar %s Generator = -Wind %s Generator = -Self-Contained Injector = -Constructor Mk%d = -Frame = -Frame Motor = -Template = -Template (replacing) = -Template Motor = -Template Tool = -Battery Box = -Supply Converter = -Switching Station = -Fuel-Fired Alloy Furnace = -Fuel-Fired Furnace = -Wind Mill Frame = -Forcefield = -Nuclear Reactor Rod Compartment = -Administrative World Anchor = - ## Machine-specific # $1: Pruduced EU Charge = -Discharge = -Power level = # $1: Tier $2: current_charge $3: max_charge @1 Battery Box: @2/@3 = # $1: Machine name $2: Supply $3: Demand @1. Supply: @2 Demand: @3 = -Production at %d%% = -Choose Milling Program: = -Slim Elements half / normal height: = -Current track %s = -Stopped = -Keeping %d/%d map blocks loaded = -Digging not started = -Digging finished = -Digging %d m above machine = -Digging %d m below machine = -@1 (@2 @3 -> @4 @5) = - - ## Grinder Recipes # $1: Name %s Dust = -Akalin = -Alatro = -Arol = -Brass = -Bronze = -Carbon Steel = -Cast Iron = -Chromium = -Coal = -Copper = -Gold = -Mithril = -Silver = -Stainless Steel = -Talinite = -Tin = -Wrought Iron = -Zinc = -%.1f%%-Fissile Uranium = - ## Tools RE Battery = -Water Can = -Lava Can = -Chainsaw = -Flashlight = -3 nodes deep. = -3 nodes tall. = -3 nodes wide. = -3x3 nodes. = -Use while sneaking to change Mining Drill Mk%d modes. = -Mining Drill Mk%d Mode %d = -Mining Drill Mk%d = -Mining Laser Mk%d = -Single node. = -Sonic Screwdriver = -Tree Tap = - ## Craft descriptions Alloy cooking = -Grinding = -Compressing = -Extracting = -Separating = diff --git a/technic/machines/LV/geothermal.lua b/technic/machines/LV/geothermal.lua index abe6951d7..1ddccda19 100644 --- a/technic/machines/LV/geothermal.lua +++ b/technic/machines/LV/geothermal.lua @@ -5,7 +5,7 @@ minetest.register_alias("geothermal", "technic:geothermal") -local S = technic.getter +local S = minetest.get_translator("technic") minetest.register_craft({ output = 'technic:geothermal', @@ -21,7 +21,7 @@ minetest.register_craft({ }) minetest.register_craftitem("technic:geothermal", { - description = S("Geothermal %s Generator"):format("LV"), + description = S("Geothermal @1 Generator", "LV"), }) local check_node_around = function(pos) @@ -70,7 +70,7 @@ local run = function(pos, node) end meta:set_string("infotext", - S("Geothermal %s Generator"):format("LV").." ("..production_level.."%)") + S("Geothermal @1 Generator", "LV").." ("..production_level.."%)") if production_level > 0 and minetest.get_node(pos).name == "technic:geothermal" then technic.swap_node (pos, "technic:geothermal_active") @@ -83,7 +83,7 @@ local run = function(pos, node) end minetest.register_node("technic:geothermal", { - description = S("Geothermal %s Generator"):format("LV"), + description = S("Geothermal @1 Generator", "LV"), tiles = {"technic_geothermal_top.png", "technic_machine_bottom.png", "technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png"}, groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, @@ -100,7 +100,7 @@ minetest.register_node("technic:geothermal", { }) minetest.register_node("technic:geothermal_active", { - description = S("Geothermal %s Generator"):format("LV"), + description = S("Geothermal @1 Generator", "LV"), tiles = {"technic_geothermal_top_active.png", "technic_machine_bottom.png", "technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png", "technic_geothermal_side.png"}, paramtype2 = "facedir", diff --git a/technic/machines/MV/hydro_turbine.lua b/technic/machines/MV/hydro_turbine.lua index 0d4904c17..9f2807b2d 100644 --- a/technic/machines/MV/hydro_turbine.lua +++ b/technic/machines/MV/hydro_turbine.lua @@ -1,7 +1,7 @@ -- A Hydro Turbine produces MV EUs by exploiting flowing water across it -- It is a MV EU supplier and fairly high yield (max 1800EUs) -local S = technic.getter +local S = minetest.get_translator("technic") local cable_entry = "^technic_cable_connection_overlay.png" @@ -51,7 +51,7 @@ local run = function(pos, node) meta:set_int("MV_EU_supply", eu_supply) meta:set_string("infotext", - S("Hydro %s Generator"):format("MV").." ("..production_level.."%)") + S("Hydro @1 Generator", "MV").." ("..production_level.."%)") if production_level > 0 and minetest.get_node(pos).name == "technic:hydro_turbine" then technic.swap_node(pos, "technic:hydro_turbine_active") @@ -64,7 +64,7 @@ local run = function(pos, node) end minetest.register_node("technic:hydro_turbine", { - description = S("Hydro %s Generator"):format("MV"), + description = S("Hydro @1 Generator", "MV"), tiles = { "technic_hydro_turbine_top.png", "technic_machine_bottom.png"..cable_entry, @@ -80,14 +80,14 @@ minetest.register_node("technic:hydro_turbine", { sounds = default.node_sound_wood_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("infotext", S("Hydro %s Generator"):format("MV")) + meta:set_string("infotext", S("Hydro @1 Generator", "MV")) meta:set_int("MV_EU_supply", 0) end, technic_run = run, }) minetest.register_node("technic:hydro_turbine_active", { - description = S("Hydro %s Generator"):format("MV"), + description = S("Hydro @1 Generator", "MV"), tiles = {"technic_hydro_turbine_top_active.png", "technic_machine_bottom.png", "technic_hydro_turbine_side.png", "technic_hydro_turbine_side.png", "technic_hydro_turbine_side.png", "technic_hydro_turbine_side.png"}, diff --git a/technic/machines/MV/lighting.lua b/technic/machines/MV/lighting.lua index f7c912400..b1e8aeebd 100644 --- a/technic/machines/MV/lighting.lua +++ b/technic/machines/MV/lighting.lua @@ -25,7 +25,7 @@ function technic_homedecor_node_is_owned(pos, placer) end if ownername ~= false then - minetest.chat_send_player(placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) ) + minetest.chat_send_player(placer:get_player_name(), S("Sorry, @1 owns that spot.", ownername)) return true else return false diff --git a/technic/machines/other/anchor.lua b/technic/machines/other/anchor.lua index 44aeffac0..9c9db275f 100644 --- a/technic/machines/other/anchor.lua +++ b/technic/machines/other/anchor.lua @@ -62,9 +62,8 @@ local function set_display(pos, meta) (meta:get_int("enabled") == 0 and "button[3,2;2,1;enable;"..ESC(S("Disabled")).."]" or "button[3,2;2,1;disable;"..ESC(S("Enabled")).."]").. - "label[0,3;"..ESC(S("Keeping %d/%d map blocks loaded"):format( - #currently_forceloaded_positions(meta), #compute_forceload_positions(pos, meta) - )).."]") + "label[0,3;"..ESC(S("Keeping @1/@2 map blocks loaded", + #currently_forceloaded_positions(meta), #compute_forceload_positions(pos, meta))).."]") end minetest.register_node("technic:admin_anchor", { diff --git a/technic/machines/other/coal_alloy_furnace.lua b/technic/machines/other/coal_alloy_furnace.lua index c2de1511f..14700ce04 100644 --- a/technic/machines/other/coal_alloy_furnace.lua +++ b/technic/machines/other/coal_alloy_furnace.lua @@ -120,7 +120,7 @@ minetest.register_abm({ if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then local percent = math.floor(meta:get_float("fuel_time") / meta:get_float("fuel_totaltime") * 100) - meta:set_string("infotext", S("%s Active"):format(machine_name).." ("..percent.."%)") + meta:set_string("infotext", S("@1 Active", machine_name .. " ("..percent.."%)")) technic.swap_node(pos, "technic:coal_alloy_furnace_active") meta:set_string("formspec", "size[8,9]".. @@ -144,7 +144,7 @@ minetest.register_abm({ if not recipe then if was_active then - meta:set_string("infotext", S("%s is empty"):format(machine_name)) + meta:set_string("infotext", S("@1 is empty",machine_name)) technic.swap_node(pos, "technic:coal_alloy_furnace") meta:set_string("formspec", formspec) end @@ -161,7 +161,7 @@ minetest.register_abm({ end if fuel.time <= 0 then - meta:set_string("infotext", S("%s Out Of Fuel"):format(machine_name)) + meta:set_string("infotext", S("@1 Out Of Fuel", machine_name)) technic.swap_node(pos, "technic:coal_alloy_furnace") meta:set_string("formspec", formspec) return diff --git a/technic/machines/other/constructor.lua b/technic/machines/other/constructor.lua index 9117224c7..9fdd859da 100644 --- a/technic/machines/other/constructor.lua +++ b/technic/machines/other/constructor.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local function deploy_node(inv, slot_name, pos, node, machine_node) if node.param2 > 3 then return end @@ -131,7 +131,7 @@ end local function make_constructor(mark, length) minetest.register_node("technic:constructor_mk"..mark.."_off", { - description = S("Constructor Mk%d"):format(mark), + description = S("Constructor Mk@1", mark), tiles = {"technic_constructor_mk"..mark.."_top_off.png", "technic_constructor_mk"..mark.."_bottom_off.png", "technic_constructor_mk"..mark.."_side2_off.png", @@ -146,16 +146,16 @@ local function make_constructor(mark, length) on_construct = function(pos) local meta = minetest.get_meta(pos) local formspec = "size[8,9;]".. - "label[0,0;"..S("Constructor Mk%d"):format(mark).."]".. + "label[0,0;"..S("Constructor Mk@1",mark).."]".. "list[current_player;main;0,5;8,4;]" for i = 1, length do formspec = formspec - .."label[5,"..(i - 1)..";"..S("Slot %d"):format(i).."]" + .."label[5,"..(i - 1)..";"..S("Slot @1", i).."]" .."list[current_name;slot"..i ..";6,"..(i - 1)..";1,1;]" end meta:set_string("formspec", formspec) - meta:set_string("infotext", S("Constructor Mk%d"):format(mark)) + meta:set_string("infotext", S("Constructor Mk@1", mark)) local inv = meta:get_inventory() for i = 1, length do inv:set_size("slot"..i, 1) diff --git a/technic/machines/register/grinder_recipes.lua b/technic/machines/register/grinder_recipes.lua index 007d892a1..88f3f5301 100644 --- a/technic/machines/register/grinder_recipes.lua +++ b/technic/machines/register/grinder_recipes.lua @@ -103,11 +103,12 @@ for _, data in ipairs(recipes) do end -- Dusts +local dust = S("Dust") local function register_dust(name, ingot) local lname = string.lower(name) lname = string.gsub(lname, ' ', '_') minetest.register_craftitem("technic:"..lname.."_dust", { - description = S("@1 Dust", name), + description = S(name) .. ' ' .. dust, inventory_image = "technic_"..lname.."_dust.png", }) if ingot then @@ -122,7 +123,7 @@ end -- Sorted alphabetically local dusts = { - {"Brass", "basic_materials:brass_ingot"}, + {"Brass", "basic_materials:brass_ingot"}, {"Bronze", "default:bronze_ingot"}, {"Carbon Steel", "technic:carbon_steel_ingot"}, {"Cast Iron", "technic:cast_iron_ingot"}, diff --git a/technic/radiation.lua b/technic/radiation.lua index 7092b6974..5a57b2287 100644 --- a/technic/radiation.lua +++ b/technic/radiation.lua @@ -28,7 +28,7 @@ or complex internal structure should show no radiation resistance. Fractional resistance values are permitted. --]] -local S = technic.getter +local S = minetest.get_translator("technic") local rad_resistance_node = { ["default:brick"] = 13, diff --git a/technic/tools/mining_drill.lua b/technic/tools/mining_drill.lua index 0fe7135c0..404fed63f 100644 --- a/technic/tools/mining_drill.lua +++ b/technic/tools/mining_drill.lua @@ -1,7 +1,7 @@ local max_charge = {50000, 200000, 650000} local power_usage_per_node = {200, 500, 800} -local S = technic.getter +local S = minetest.get_translator("technic") minetest.register_craft({ output = 'technic:mining_drill', @@ -246,20 +246,28 @@ local function pos_is_pointable(pos) return nodedef and nodedef.pointable end +local function replaceMk(str, mk, mode) + local t = {} + t['1'] = mk + t['2'] = mode + local str1 = str + local str2 = string.gsub(str1, "%%(%d+)", t) + return str2 +end + +local mining = S("Mining Drill Mk%1 Mode %2") local function mining_drill_mkX_setmode(user, itemstack, drill_type, max_modes) local player_name = user:get_player_name() local meta = technic.get_stack_meta(itemstack) if not meta:contains("mode") then minetest.chat_send_player(player_name, - S("Use while sneaking to change Mining Drill Mk%d modes."):format(drill_type)) + S("Use while sneaking to change Mining Drill Mk@1 modes.", drill_type)) end local mode = meta:get_int("mode") + 1 if mode > max_modes then mode = 1 end - minetest.chat_send_player(player_name, - S("Mining Drill Mk%d Mode %d"):format(2, mode).. - ": "..mining_drill_mode_text[mode][1]) + replaceMk(mining, drill_type, mode) .. ": "..mining_drill_mode_text[mode][1]) itemstack:set_name(("technic:mining_drill_mk%d_%s"):format(drill_type, mode)) meta:set_int("mode", mode) return itemstack @@ -304,7 +312,7 @@ end technic.register_power_tool("technic:mining_drill", max_charge[1]) minetest.register_tool("technic:mining_drill", { - description = S("Mining Drill Mk%d"):format(1), + description = S("Mining Drill Mk@1", 1), inventory_image = "technic_mining_drill.png", stack_max = 1, wear_represents = "technic_RE_charge", @@ -318,7 +326,7 @@ minetest.register_tool("technic:mining_drill", { -- Mk2 registration minetest.register_tool("technic:mining_drill_mk2", { - description = S("Mining Drill Mk%d"):format(2), + description = S("Mining Drill Mk@1", 2), inventory_image = "technic_mining_drill_mk2.png", wear_represents = "technic_RE_charge", on_refill = technic.refill_RE_charge, @@ -333,7 +341,7 @@ technic.register_power_tool("technic:mining_drill_mk2", max_charge[2]) for i = 1, 4 do technic.register_power_tool("technic:mining_drill_mk2_"..i, max_charge[2]) minetest.register_tool("technic:mining_drill_mk2_"..i, { - description = S("Mining Drill Mk%d Mode %d"):format(2, i), + description = replaceMk(mining, 2, i), inventory_image = "technic_mining_drill_mk2.png^technic_tool_mode"..i..".png", wield_image = "technic_mining_drill_mk2.png", wear_represents = "technic_RE_charge", @@ -349,7 +357,7 @@ end -- Mk3 registration minetest.register_tool("technic:mining_drill_mk3", { - description = S("Mining Drill Mk%d"):format(3), + description = S("Mining Drill Mk@1", 3), inventory_image = "technic_mining_drill_mk3.png", wear_represents = "technic_RE_charge", on_refill = technic.refill_RE_charge, @@ -364,7 +372,7 @@ technic.register_power_tool("technic:mining_drill_mk3", max_charge[3]) for i=1,5,1 do technic.register_power_tool("technic:mining_drill_mk3_"..i, max_charge[3]) minetest.register_tool("technic:mining_drill_mk3_"..i, { - description = S("Mining Drill Mk%d Mode %d"):format(3, i), + description = replaceMk(mining, 3, i), inventory_image = "technic_mining_drill_mk3.png^technic_tool_mode"..i..".png", wield_image = "technic_mining_drill_mk3.png", wear_represents = "technic_RE_charge", diff --git a/technic_worldgen/crafts.lua b/technic_worldgen/crafts.lua index 0590e70f3..6dffd7c7b 100644 --- a/technic_worldgen/crafts.lua +++ b/technic_worldgen/crafts.lua @@ -1,5 +1,5 @@ -local S = technic.worldgen.gettext +local S = minetest.get_translator("technic_worldgen") minetest.register_craftitem(":technic:uranium_lump", { description = S("Uranium Lump"), @@ -184,9 +184,10 @@ for _, i in ipairs({ steel_to_iron[i] = true end +local iron = S("Iron") 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) diff --git a/technic_worldgen/locale/technic_worldgen.ru.tr b/technic_worldgen/locale/technic_worldgen.ru.tr new file mode 100644 index 000000000..cfe7d2c82 --- /dev/null +++ b/technic_worldgen/locale/technic_worldgen.ru.tr @@ -0,0 +1,37 @@ +# textdomain: technic_worldgen + +Uranium Lump=Кусок урана +Uranium Ingot=Урановый слиток +Chromium Lump=Кусок хрома +Chromium Ingot=Слиток хрома +Zinc Lump=Цинк Кусковой +Zinc Ingot=Цинковый слиток +Lead Lump=Кусок свинца +Lead Ingot=Слиток свинца +Sulfur Lump=Серный ком +Wrought Iron Ingot=Слиток кованого железа +Cast Iron Ingot=Чугунный слиток +Carbon Steel Ingot=Слиток углеродистой стали +Stainless Steel Ingot=Слиток нержавеющей стали +Iron=Железо +Uranium Ore=Урановая руда +Chromium Ore=Хромовая руда +Zinc Ore=Цинковая руда +Lead Ore=Свинцовая руда +Sulfur Ore=Серная руда +Granite=Гранит +Granite Bricks=Гранитные кирпичи +Marble=Мрамор +Marble Bricks=Мраморные кирпичи +Uranium Block=Урановый блок +Chromium Block=Хромовый блок +Zinc Block=Цинковый блок +Lead Block=Свинцовый блок +Wrought Iron Block=Блок из кованого железа +Cast Iron Block=Чугунный блок +Carbon Steel Block=Блок из углеродистой стали +Stainless Steel Block=Блок из нержавеющей стали +Wrought Iron=Кованое железо +Rubber Tree Sapling=Саженец каучукового дерева +Rubber Tree=Каучуковое дерево +Rubber Tree Leaves=Листья каучукового дерева diff --git a/technic_worldgen/locale/template.txt b/technic_worldgen/locale/template.txt index 40d002985..fe79e9e45 100644 --- a/technic_worldgen/locale/template.txt +++ b/technic_worldgen/locale/template.txt @@ -1,37 +1,36 @@ -# template.txt -# technic_worldgen translation template - -###crafts.lua -Uranium Lump = -Uranium Ingot = -Chromium Lump = -Chromium Ingot = -Zinc Lump = -Zinc Ingot = -Brass Ingot = -Wrought Iron Ingot = -Cast Iron Ingot = -Carbon Steel Ingot = -Stainless Steel Ingot = -Iron = - -###nodes.lua -Uranium Ore = -Chromium Ore = -Zinc Ore = -Granite = -Marble = -Marble Bricks = -Uranium Block = -Chromium Block = -Zinc Block = -Wrought Iron Block = -Cast Iron Block = -Carbon Steel Block = -Stainless Steel Block = -Brass Block = -Wrought Iron = - -###rubber.lua -Rubber Tree Sapling = -Rubber Tree = +# textdomain: technic_worldgen +Uranium Lump= +Uranium Ingot= +Chromium Lump= +Chromium Ingot= +Zinc Lump= +Zinc Ingot= +Lead Lump= +Lead Ingot= +Sulfur Lump= +Wrought Iron Ingot= +Cast Iron Ingot= +Carbon Steel Ingot= +Stainless Steel Ingot= +Iron= +Uranium Ore= +Chromium Ore= +Zinc Ore= +Lead Ore= +Sulfur Ore= +Granite= +Granite Bricks= +Marble= +Marble Bricks= +Uranium Block= +Chromium Block= +Zinc Block= +Lead Block= +Wrought Iron Block= +Cast Iron Block= +Carbon Steel Block= +Stainless Steel Block= +Wrought Iron= +Rubber Tree Sapling= +Rubber Tree= +Rubber Tree Leaves= diff --git a/technic_worldgen/nodes.lua b/technic_worldgen/nodes.lua index 90888e436..9b1de80e0 100644 --- a/technic_worldgen/nodes.lua +++ b/technic_worldgen/nodes.lua @@ -1,5 +1,5 @@ -local S = technic.worldgen.gettext +local S = minetest.get_translator("technic_worldgen") minetest.register_node( ":technic:mineral_uranium", { description = S("Uranium Ore"), @@ -172,12 +172,13 @@ local function for_each_registered_node(action) end end +local tr_wrought = S("Wrought Iron") for_each_registered_node(function(node_name, node_def) if node_name ~= "default:steelblock" and node_name:find("steelblock", 1, true) and node_def.description:find("Steel", 1, true) then minetest.override_item(node_name, { - description = node_def.description:gsub("Steel", S("Wrought Iron")), + description = node_def.description:gsub("Steel", tr_wrought), }) end local tiles = node_def.tiles or node_def.tile_images From 22857a254b99d6957f90fbd6de794bb71488dab2 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Tue, 3 Dec 2024 00:18:00 +0500 Subject: [PATCH 06/20] translation correction --- technic_worldgen/crafts.lua | 5 +++-- technic_worldgen/locale/technic_worldgen.ru.tr | 2 +- technic_worldgen/locale/template.txt | 1 + technic_worldgen/rubber.lua | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/technic_worldgen/crafts.lua b/technic_worldgen/crafts.lua index 6dffd7c7b..9baf040f0 100644 --- a/technic_worldgen/crafts.lua +++ b/technic_worldgen/crafts.lua @@ -185,9 +185,10 @@ for _, i in ipairs({ end local iron = S("Iron") +local steel = S("Steel") for_each_registered_item(function(item_name) local item_def = minetest.registered_items[item_name] - if steel_to_iron[item_name] and string.find(item_def.description, "Steel") then - minetest.override_item(item_name, { description = string.gsub(item_def.description, "Steel", iron) }) + if steel_to_iron[item_name] and string.find(item_def.description, steel) then + minetest.override_item(item_name, { description = string.gsub(item_def.description, steel, iron) }) end end) diff --git a/technic_worldgen/locale/technic_worldgen.ru.tr b/technic_worldgen/locale/technic_worldgen.ru.tr index cfe7d2c82..7fe3d210b 100644 --- a/technic_worldgen/locale/technic_worldgen.ru.tr +++ b/technic_worldgen/locale/technic_worldgen.ru.tr @@ -1,5 +1,4 @@ # textdomain: technic_worldgen - Uranium Lump=Кусок урана Uranium Ingot=Урановый слиток Chromium Lump=Кусок хрома @@ -14,6 +13,7 @@ Cast Iron Ingot=Чугунный слиток Carbon Steel Ingot=Слиток углеродистой стали Stainless Steel Ingot=Слиток нержавеющей стали Iron=Железо +Steel=Сталь Uranium Ore=Урановая руда Chromium Ore=Хромовая руда Zinc Ore=Цинковая руда diff --git a/technic_worldgen/locale/template.txt b/technic_worldgen/locale/template.txt index fe79e9e45..d27438114 100644 --- a/technic_worldgen/locale/template.txt +++ b/technic_worldgen/locale/template.txt @@ -13,6 +13,7 @@ Cast Iron Ingot= Carbon Steel Ingot= Stainless Steel Ingot= Iron= +Steel= Uranium Ore= Chromium Ore= Zinc Ore= diff --git a/technic_worldgen/rubber.lua b/technic_worldgen/rubber.lua index 11da9ca87..58adae5a9 100644 --- a/technic_worldgen/rubber.lua +++ b/technic_worldgen/rubber.lua @@ -1,6 +1,6 @@ -- Code of rubber tree by PilzAdam -local S = technic.worldgen.gettext +local S = minetest.get_translator("technic_worldgen") minetest.register_node(":moretrees:rubber_tree_sapling", { description = S("Rubber Tree Sapling"), From 61f3b36ed063343a7025117c53a087ba9bf9021d Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Wed, 1 Jan 2025 13:55:29 +0500 Subject: [PATCH 07/20] update translate tool_workshop --- technic/locale/technic.ru.tr | 4 ++-- technic/machines/MV/tool_workshop.lua | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/technic/locale/technic.ru.tr b/technic/locale/technic.ru.tr index bbb4d0945..416ffe1d4 100644 --- a/technic/locale/technic.ru.tr +++ b/technic/locale/technic.ru.tr @@ -163,8 +163,8 @@ Supply Converter=Преобразователь питания Switching Station=Коммутационная станция %s Already Present= @1. Supply: @2 Demand: @3= -%s Has No Network=%s не имеет сети -%s Tool Workshop=%s Инструментальная мастерская +@1 Has No Network=@1 не имеет сети +@1 Tool Workshop=@1 Инструментальная мастерская Upgrade Slots=Обновление слотов Tree Tap=Деревянный кран Raw Latex=Сырой латекс diff --git a/technic/machines/MV/tool_workshop.lua b/technic/machines/MV/tool_workshop.lua index 678a1fd06..00a7668e5 100644 --- a/technic/machines/MV/tool_workshop.lua +++ b/technic/machines/MV/tool_workshop.lua @@ -3,7 +3,7 @@ minetest.register_alias("tool_workshop", "technic:tool_workshop") -local S = technic.getter +local S = minetest.get_translator("technic") local tube_entry = "^pipeworks_tube_connection_wooden.png" @@ -21,7 +21,7 @@ local workshop_demand = {5000, 3500, 2000} local workshop_formspec = "size[8,9;]".. "list[current_name;src;3,1;1,1;]".. - "label[0,0;"..S("%s Tool Workshop"):format("MV").."]".. + "label[0,0;"..S("@1 Tool Workshop", "MV").."]".. "list[current_name;upgrade1;1,3;1,1;]".. "list[current_name;upgrade2;2,3;1,1;]".. "label[1,4;"..S("Upgrade Slots").."]".. @@ -38,7 +38,7 @@ local run = function(pos, node) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() local eu_input = meta:get_int("MV_EU_input") - local machine_name = S("%s Tool Workshop"):format("MV") + local machine_name = S("@1 Tool Workshop", "MV") -- Setup meta data if it does not exist. if not eu_input then @@ -66,15 +66,15 @@ local run = function(pos, node) end end) if not repairable then - meta:set_string("infotext", S("%s Idle"):format(machine_name)) + meta:set_string("infotext", S("@1 Idle", machine_name)) meta:set_int("MV_EU_demand", 0) return end if eu_input < workshop_demand[EU_upgrade+1] then - meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + meta:set_string("infotext", S("@1 Unpowered", machine_name)) elseif eu_input >= workshop_demand[EU_upgrade+1] then - meta:set_string("infotext", S("%s Active"):format(machine_name)) + meta:set_string("infotext", S("@1 Active", machine_name)) srcstack:add_wear(-1000) inv:set_stack("src", 1, srcstack) end @@ -82,7 +82,7 @@ local run = function(pos, node) end minetest.register_node("technic:tool_workshop", { - description = S("%s Tool Workshop"):format("MV"), + description = S("@1 Tool Workshop", "MV"), paramtype2 = "facedir", tiles = { "technic_workshop_top.png"..tube_entry, @@ -98,7 +98,7 @@ minetest.register_node("technic:tool_workshop", { sounds = default.node_sound_wood_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("infotext", S("%s Tool Workshop"):format("MV")) + meta:set_string("infotext", S("@1 Tool Workshop", "MV")) meta:set_string("formspec", workshop_formspec) local inv = meta:get_inventory() inv:set_size("src", 1) From d1381f2a6fa840a583d7cdaaa6bcaeeac22b0737 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Wed, 1 Jan 2025 15:30:08 +0500 Subject: [PATCH 08/20] engine level translation --- technic_chests/copper_chest.lua | 43 +++++++++++----------- technic_chests/gold_chest.lua | 5 ++- technic_chests/iron_chest.lua | 5 ++- technic_chests/locale/technic_chests.ru.tr | 39 ++++++++++++++++++++ technic_chests/mithril_chest.lua | 6 ++- technic_chests/register.lua | 24 +++++------- technic_chests/silver_chest.lua | 6 ++- 7 files changed, 85 insertions(+), 43 deletions(-) create mode 100644 technic_chests/locale/technic_chests.ru.tr diff --git a/technic_chests/copper_chest.lua b/technic_chests/copper_chest.lua index c989bac58..f401572ce 100644 --- a/technic_chests/copper_chest.lua +++ b/technic_chests/copper_chest.lua @@ -1,3 +1,25 @@ +local S = minetest.get_translator("technic_chests") + +technic.chests:register(S("Copper"), "copper", { + width = 12, + height = 5, + sort = true, + autosort = true, + infotext = false, + color = false, + locked = false, +}) + +technic.chests:register(S("Copper"), "copper",{ + width = 12, + height = 5, + sort = true, + autosort = true, + infotext = false, + color = false, + locked = true, +}) + minetest.register_craft({ output = 'technic:copper_chest 1', recipe = { @@ -24,24 +46,3 @@ minetest.register_craft({ 'technic:copper_chest', } }) - -technic.chests:register("Copper", { - width = 12, - height = 5, - sort = true, - autosort = true, - infotext = false, - color = false, - locked = false, -}) - -technic.chests:register("Copper", { - width = 12, - height = 5, - sort = true, - autosort = true, - infotext = false, - color = false, - locked = true, -}) - diff --git a/technic_chests/gold_chest.lua b/technic_chests/gold_chest.lua index 24cbb5c45..f34074f4e 100644 --- a/technic_chests/gold_chest.lua +++ b/technic_chests/gold_chest.lua @@ -1,3 +1,4 @@ +local S = minetest.get_translator("technic_chests") local material_list if minetest.get_modpath("moreores") then @@ -36,7 +37,7 @@ minetest.register_craft({ } }) -technic.chests:register("Gold", { +technic.chests:register(S("Gold"), "gold", { width = 15, height = 6, sort = true, @@ -46,7 +47,7 @@ technic.chests:register("Gold", { locked = false, }) -technic.chests:register("Gold", { +technic.chests:register(S("Gold"), "gold", { width = 15, height = 6, sort = true, diff --git a/technic_chests/iron_chest.lua b/technic_chests/iron_chest.lua index a1945bc16..8c325b2a2 100644 --- a/technic_chests/iron_chest.lua +++ b/technic_chests/iron_chest.lua @@ -1,3 +1,4 @@ +local S = minetest.get_translator("technic_chests") local cast_iron_ingot if minetest.get_modpath("technic_worldgen") then cast_iron_ingot = "technic:cast_iron_ingot" @@ -32,7 +33,7 @@ minetest.register_craft({ } }) -technic.chests:register("Iron", { +technic.chests:register(S("Iron"), "iron", { width = 9, height = 5, sort = true, @@ -42,7 +43,7 @@ technic.chests:register("Iron", { locked = false, }) -technic.chests:register("Iron", { +technic.chests:register(S("Iron"), "iron", { width = 9, height = 5, sort = true, diff --git a/technic_chests/locale/technic_chests.ru.tr b/technic_chests/locale/technic_chests.ru.tr new file mode 100644 index 000000000..74f84f9dc --- /dev/null +++ b/technic_chests/locale/technic_chests.ru.tr @@ -0,0 +1,39 @@ +# technic_chests translation template + +%s Chest = +%s Locked Chest = +%s Locked Chest (owned by %s) = +Color Filter: %s = +Edit chest description: = + +# Colors +Black = Черный +Blue = +Brown = +Cyan = +Dark Green = +Dark Grey = +Green = +Grey = +Magenta = +Orange = +Pink = +Red = +Violet = +White = +Yellow = +None = + +# Materials +Copper = +Gold=Золото +Iron=Железо +Mithril = +Silver = +Wooden = + +# Sorting +Sort=Сортировать +Auto-sort is %s = +Off = +On = diff --git a/technic_chests/mithril_chest.lua b/technic_chests/mithril_chest.lua index 40ea95cd9..e391ac3ec 100644 --- a/technic_chests/mithril_chest.lua +++ b/technic_chests/mithril_chest.lua @@ -1,3 +1,5 @@ +local S = minetest.get_translator("technic_chests") + if minetest.get_modpath("moreores") then minetest.register_craft({ output = 'technic:mithril_chest 1', @@ -27,7 +29,7 @@ minetest.register_craft({ } }) -technic.chests:register("Mithril", { +technic.chests:register(S("Mithril"), "mithril", { width = 15, height = 6, sort = true, @@ -37,7 +39,7 @@ technic.chests:register("Mithril", { locked = false, }) -technic.chests:register("Mithril", { +technic.chests:register(S("Mithril"), "mithril", { width = 15, height = 6, sort = true, diff --git a/technic_chests/register.lua b/technic_chests/register.lua index 2cde3b06a..9e39a5b3e 100644 --- a/technic_chests/register.lua +++ b/technic_chests/register.lua @@ -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 @@ -207,10 +207,7 @@ local function get_receive_fields(name, data) end end -function technic.chests:definition(name, data) - local lname = name:lower() - name = S(name) - +function technic.chests:definition(name, lname, data) -- Calculate formspec positions data.lowidth = 8 data.ovwidth = math.max(data.lowidth, data.width) @@ -234,7 +231,7 @@ function technic.chests:definition(name, data) -- Set up constant formspec fields local fs = { "size["..data.ovwidth..","..data.ovheight.."]", - "label[0,0;"..S("%s Chest"):format(name).."]", + "label[0,0;"..S("@1 Chest", name).."]", "list[context;main;"..data.hileft..",1;"..data.width..","..data.height..";]", "list[current_player;main;"..data.loleft..","..data.lotop..";8,4;]", "listring[]" @@ -260,8 +257,7 @@ function technic.chests:definition(name, data) local meta = minetest.get_meta(pos) meta:set_string("owner", placer:get_player_name() or "") meta:set_string("infotext", - S("%s Locked Chest (owned by %s)") - :format(name, meta:get_string("owner"))) + S("@1 Locked Chest (owned by @2)", name, meta:get_string("owner"))) pipeworks.after_place(pos) end table.insert(front, "technic_"..lname.."_chest_lock_overlay.png") @@ -271,9 +267,9 @@ function technic.chests:definition(name, data) local desc if data.locked then - desc = S("%s Locked Chest"):format(name) + desc = S("@1 Locked Chest", name) else - desc = S("%s Chest"):format(name) + desc = S("@1 Chest", name) end local tentry = tube_entry @@ -304,7 +300,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", name)) set_formspec(pos, data, "main") local inv = meta:get_inventory() inv:set_size("main", data.width * data.height) @@ -386,11 +382,11 @@ local _TUBELIB_CALLBACKS = { end, } -function technic.chests:register(name, data) +function technic.chests:register(name, lname, data) data = table.copy(data) -- drop reference - local def = technic.chests:definition(name, data) + local def = technic.chests:definition(name, lname, data) - local nn = "technic:"..name:lower()..(data.locked and "_locked" or "").."_chest" + local nn = "technic:"..lname..(data.locked and "_locked" or "").."_chest" minetest.register_node(":"..nn, def) registered_chest_data[nn] = data diff --git a/technic_chests/silver_chest.lua b/technic_chests/silver_chest.lua index 6e2ce56fd..e9ce36759 100644 --- a/technic_chests/silver_chest.lua +++ b/technic_chests/silver_chest.lua @@ -1,3 +1,5 @@ +local S = minetest.get_translator("technic_chests") + if minetest.get_modpath("moreores") then minetest.register_craft({ output = 'technic:silver_chest', @@ -27,7 +29,7 @@ minetest.register_craft({ } }) -technic.chests:register("Silver", { +technic.chests:register(S("Silver"), "silver", { width = 12, height = 6, sort = true, @@ -37,7 +39,7 @@ technic.chests:register("Silver", { locked = false, }) -technic.chests:register("Silver", { +technic.chests:register(S("Silver"), "silver",{ width = 12, height = 6, sort = true, From 0eeae4fbe4679c8c765524f16775116522548065 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Wed, 1 Jan 2025 15:51:39 +0500 Subject: [PATCH 09/20] added Russian translations --- technic_chests/locale/technic_chests.ru.tr | 62 +++++++++++----------- technic_chests/register.lua | 2 +- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/technic_chests/locale/technic_chests.ru.tr b/technic_chests/locale/technic_chests.ru.tr index 74f84f9dc..2f91843ad 100644 --- a/technic_chests/locale/technic_chests.ru.tr +++ b/technic_chests/locale/technic_chests.ru.tr @@ -1,39 +1,39 @@ -# technic_chests translation template +# textdomain: technic_chests -%s Chest = -%s Locked Chest = -%s Locked Chest (owned by %s) = -Color Filter: %s = -Edit chest description: = +@1 Chest=@1 Сундук +@1 Locked Chest=@1 Запертый сундук +@1 Locked Chest (owned by @2)=@1 Запертый сундук (принадлежит @2) +Color Filter: @1=Цветовой фильтр: @1 +Edit chest description:=Редактировать описание сундука: # Colors -Black = Черный -Blue = -Brown = -Cyan = -Dark Green = -Dark Grey = -Green = -Grey = -Magenta = -Orange = -Pink = -Red = -Violet = -White = -Yellow = -None = +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 = +Copper=Медный +Gold=Золотой +Iron=Железный +Mithril=Мифриловый +Silver=Серебреный +Wooden=Деревянный # Sorting Sort=Сортировать -Auto-sort is %s = -Off = -On = +Auto-sort is @1=Автоматическая сортировка равна @1 +Off=Выключен +On=Включон \ No newline at end of file diff --git a/technic_chests/register.lua b/technic_chests/register.lua index 9e39a5b3e..14d69d47f 100644 --- a/technic_chests/register.lua +++ b/technic_chests/register.lua @@ -133,7 +133,7 @@ local function set_formspec(pos, data, page) else colorName = S("None") end - fs[#fs + 1] = "label["..(data.coleft+0.2)..","..(data.lotop+3)..";"..S("Color Filter: %s"):format(colorName).."]" + fs[#fs + 1] = "label["..(data.coleft+0.2)..","..(data.lotop+3)..";"..S("Color Filter: @1", colorName).."]" end meta:set_string("formspec", table.concat(fs)) end From 7f378fa6ceb24857204c2f81e6e78f1225d7f871 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Wed, 1 Jan 2025 16:04:47 +0500 Subject: [PATCH 10/20] adjusted the size of the chest shape --- technic_chests/copper_chest.lua | 4 ++-- technic_chests/silver_chest.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/technic_chests/copper_chest.lua b/technic_chests/copper_chest.lua index f401572ce..5b67d4102 100644 --- a/technic_chests/copper_chest.lua +++ b/technic_chests/copper_chest.lua @@ -1,7 +1,7 @@ local S = minetest.get_translator("technic_chests") technic.chests:register(S("Copper"), "copper", { - width = 12, + width = 14, height = 5, sort = true, autosort = true, @@ -11,7 +11,7 @@ technic.chests:register(S("Copper"), "copper", { }) technic.chests:register(S("Copper"), "copper",{ - width = 12, + width = 14, height = 5, sort = true, autosort = true, diff --git a/technic_chests/silver_chest.lua b/technic_chests/silver_chest.lua index e9ce36759..62f4b587c 100644 --- a/technic_chests/silver_chest.lua +++ b/technic_chests/silver_chest.lua @@ -30,7 +30,7 @@ minetest.register_craft({ }) technic.chests:register(S("Silver"), "silver", { - width = 12, + width = 14, height = 6, sort = true, autosort = true, @@ -40,7 +40,7 @@ technic.chests:register(S("Silver"), "silver", { }) technic.chests:register(S("Silver"), "silver",{ - width = 12, + width = 14, height = 6, sort = true, autosort = true, From a98870968ab5668c9461b7d7a5a6e2298e7dd510 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Mon, 6 Jan 2025 21:12:53 +0500 Subject: [PATCH 11/20] deleted old code --- technic/init.lua | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/technic/init.lua b/technic/init.lua index f6639ec59..8803cb9c5 100644 --- a/technic/init.lua +++ b/technic/init.lua @@ -1,39 +1,12 @@ -- namespace: technic -- (c) 2012-2013 by RealBadAngel -if not minetest.get_translator then - error("[technic] Your Minetest version is no longer supported." - .. " (version < 5.0.0)") -end - -local load_start = os.clock() - technic = rawget(_G, "technic") or {} technic.creative_mode = minetest.settings:get_bool("creative_mode") - local modpath = minetest.get_modpath("technic") technic.modpath = modpath - --- Boilerplate to support intllib -if rawget(_G, "intllib") then - technic.getter = intllib.Getter() -else - -- Intllib copypasta: TODO replace with the client-side translation API - technic.getter = function(s,a,...) - if a==nil then return s end - a={a,...} - return s:gsub("(@?)@(%(?)(%d+)(%)?)", function(e,o,n,c) - if e==""then - return a[tonumber(n)]..(o==""and c or"") - end - return "@"..o..n..c - end) - end -end -local S = minetest.get_translator("technic") - -- Read configuration file dofile(modpath.."/config.lua") @@ -61,7 +34,3 @@ dofile(modpath.."/tools/init.lua") -- Aliases for legacy node/item names dofile(modpath.."/legacy.lua") -if minetest.settings:get_bool("log_mods") then - print(S("[Technic] Loaded in @1 seconds", os.clock() - load_start)) -end - From c094a969b391fc06063d04a7704bb49f7094972b Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Mon, 6 Jan 2025 23:42:17 +0500 Subject: [PATCH 12/20] fix --- technic_chests/register.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/technic_chests/register.lua b/technic_chests/register.lua index 14d69d47f..76f3a2926 100644 --- a/technic_chests/register.lua +++ b/technic_chests/register.lua @@ -165,8 +165,7 @@ local function sort_inventory(inv) end end -local function get_receive_fields(name, data) - local lname = name:lower() +local function get_receive_fields(name, lname, data) return function(pos, formname, fields, sender) local meta = minetest.get_meta(pos) local page = "main" @@ -306,7 +305,7 @@ function technic.chests:definition(name, lname, data) inv:set_size("main", data.width * data.height) end, can_dig = self.can_dig, - on_receive_fields = get_receive_fields(name, data), + on_receive_fields = get_receive_fields(name, lname, data), on_metadata_inventory_move = self.on_inv_move, on_metadata_inventory_put = self.on_inv_put, on_metadata_inventory_take = self.on_inv_take, From 143484bb47ad2c4cda027b5c2d70349a81c2572d Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Tue, 7 Jan 2025 14:04:26 +0500 Subject: [PATCH 13/20] Update for translation function --- technic/machines/HV/nuclear_reactor.lua | 2 +- technic/machines/HV/quarry.lua | 8 ++++---- technic/machines/LV/lamp.lua | 2 +- technic/machines/LV/led.lua | 2 +- technic/machines/LV/music_player.lua | 18 +++++++++--------- technic/machines/LV/solar_panel.lua | 10 +++++----- technic/machines/LV/water_mill.lua | 10 +++++----- technic/machines/other/anchor.lua | 2 +- technic/machines/other/coal_alloy_furnace.lua | 2 +- technic/machines/other/coal_furnace.lua | 2 +- technic/machines/other/frames.lua | 2 +- technic/machines/other/injector.lua | 2 +- technic/machines/power_monitor.lua | 2 +- technic/machines/supply_converter.lua | 10 +++++----- technic/machines/switching_station.lua | 2 +- technic/tools/cans.lua | 2 +- technic/tools/chainsaw.lua | 5 ++--- technic/tools/mining_lasers.lua | 4 ++-- technic/tools/prospector.lua | 2 +- technic/tools/sonic_screwdriver.lua | 2 +- technic/tools/tree_tap.lua | 2 +- technic/tools/vacuum.lua | 2 +- 22 files changed, 47 insertions(+), 48 deletions(-) diff --git a/technic/machines/HV/nuclear_reactor.lua b/technic/machines/HV/nuclear_reactor.lua index 431b2ee2f..83568cbf6 100644 --- a/technic/machines/HV/nuclear_reactor.lua +++ b/technic/machines/HV/nuclear_reactor.lua @@ -15,7 +15,7 @@ local fuel_type = "technic:uranium_fuel" -- The reactor burns this local digiline_meltdown = technic.config:get_bool("enable_nuclear_reactor_digiline_selfdestruct") local digiline_remote_path = minetest.get_modpath("digiline_remote") -local S = technic.getter +local S = minetest.get_translator("technic") local reactor_desc = S("@1 Nuclear Reactor Core", S("HV")) local cable_entry = "^technic_cable_connection_overlay.png" diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua index 98a053701..a608560ca 100644 --- a/technic/machines/HV/quarry.lua +++ b/technic/machines/HV/quarry.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local tube_entry = "^pipeworks_tube_connection_metallic.png" local cable_entry = "^technic_cable_connection_overlay.png" @@ -22,7 +22,7 @@ local function set_quarry_formspec(meta) local formspec = "size[6,4.3]".. "list[context;cache;0,1;4,3;]".. "item_image[4.8,0;1,1;technic:quarry]".. - "label[0,0.2;"..S("%s Quarry"):format("HV").."]".. + "label[0,0.2;"..S("@1 Quarry", "HV").."]".. "field[4.3,3.5;2,1;size;"..S("Radius:")..";"..radius.."]" if meta:get_int("enabled") == 0 then formspec = formspec.."button[4,1;2,1;enable;"..S("Disabled").."]" @@ -46,11 +46,11 @@ end local function set_quarry_demand(meta) local radius = meta:get_int("size") local diameter = radius*2 + 1 - local machine_name = S("%s Quarry"):format("HV") + local machine_name = S("@1 Quarry", "HV") local do_purge = meta:get_int("purge_on") == 1 if meta:get_int("enabled") == 0 or do_purge then local infotext = do_purge and - S("%s purging cache") or S("%s Disabled") + S("@1 purging cache") or S("%s Disabled") meta:set_string("infotext", infotext:format(machine_name)) meta:set_int("HV_EU_demand", 0) elseif meta:get_int("dug") == diameter*diameter * (quarry_dig_above_nodes+1+quarry_max_depth) then diff --git a/technic/machines/LV/lamp.lua b/technic/machines/LV/lamp.lua index a4605f23f..ac64ed472 100644 --- a/technic/machines/LV/lamp.lua +++ b/technic/machines/LV/lamp.lua @@ -3,7 +3,7 @@ -- Illuminates a 7x7x3(H) volume below itself with light bright as the sun. -local S = technic.getter +local S = minetest.get_translator("technic") local desc = S("@1 Lamp", S("LV")) local active_desc = S("@1 Active", desc) diff --git a/technic/machines/LV/led.lua b/technic/machines/LV/led.lua index 3786ab747..6b18bb90f 100644 --- a/technic/machines/LV/led.lua +++ b/technic/machines/LV/led.lua @@ -1,7 +1,7 @@ -- LED -- Intended primarily as a core component for LED lamps. -local S = technic.getter +local S = minetest.get_translator("technic") local desc = S("@1 LED", S("LV")) local active_desc = S("@1 Active", desc) diff --git a/technic/machines/LV/music_player.lua b/technic/machines/LV/music_player.lua index 3bbb4412b..3a173049c 100644 --- a/technic/machines/LV/music_player.lua +++ b/technic/machines/LV/music_player.lua @@ -1,7 +1,7 @@ -- LV Music player. -- The player can play music. But it is high ampage! -local S = technic.getter +local S = minetest.get_translator("technic") minetest.register_alias("music_player", "technic:music_player") minetest.register_craft({ @@ -23,7 +23,7 @@ end local run = function(pos, node) local meta = minetest.get_meta(pos) local eu_input = meta:get_int("LV_EU_input") - local machine_name = S("%s Music Player"):format("LV") + local machine_name = S("@1 Music Player", "LV") local demand = 150 local current_track = meta:get_int("current_track") @@ -38,19 +38,19 @@ local run = function(pos, node) end if meta:get_int("active") == 0 then - meta:set_string("infotext", S("%s Idle"):format(machine_name)) + meta:set_string("infotext", S("@1 Idle", machine_name)) meta:set_int("LV_EU_demand", 0) return end if eu_input < demand then - meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) + meta:set_string("infotext", S("@1 Unpowered", machine_name)) if music_handle then minetest.sound_stop(music_handle) music_handle = nil end elseif eu_input >= demand then - meta:set_string("infotext", S("%s Active"):format(machine_name)) + meta:set_string("infotext", S("@1 Active", machine_name)) if not music_handle then music_handle = play_track(pos, current_track) end @@ -72,7 +72,7 @@ local function set_display(meta) meta:set_string("formspec", "size[4,4.5]".. "item_image[0,0;1,1;technic:music_player]".. - "label[1,0;"..S("%s Music Player"):format("LV").."]".. + "label[1,0;"..S("@1 Music Player", "LV").."]".. "button[0,1;1,1;track1;1]".. "button[1,1;1,1;track2;2]".. "button[2,1;1,1;track3;3]".. @@ -86,11 +86,11 @@ local function set_display(meta) "label[0,4;"..minetest.formspec_escape( meta:get_int("active") == 0 and S("Stopped") or - S("Current track %s"):format(meta:get_int("current_track"))).."]") + S("Current track @1", "current_track")).."]") end minetest.register_node("technic:music_player", { - description = S("%s Music Player"):format("LV"), + description = S("@1 Music Player", "LV"), tiles = {"technic_music_player_top.png", "technic_machine_bottom.png", "technic_music_player_side.png", "technic_music_player_side.png", "technic_music_player_side.png", "technic_music_player_side.png"}, groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, @@ -99,7 +99,7 @@ minetest.register_node("technic:music_player", { sounds = default.node_sound_wood_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("infotext", S("%s Music Player"):format("LV")) + meta:set_string("infotext", S("@1 Music Player", "LV")) set_display(meta) end, on_receive_fields = function(pos, formanme, fields, sender) diff --git a/technic/machines/LV/solar_panel.lua b/technic/machines/LV/solar_panel.lua index b3daedc3d..4d9c03009 100644 --- a/technic/machines/LV/solar_panel.lua +++ b/technic/machines/LV/solar_panel.lua @@ -2,7 +2,7 @@ -- They can however also be used separately but with reduced efficiency due to the missing transformer. -- Individual panels are less efficient than when the panels are combined into full arrays. -local S = technic.getter +local S = minetest.get_translator("technic") minetest.register_craft({ @@ -23,7 +23,7 @@ local run = function(pos, node) -- To take care of some of it solar panels do not work outside daylight hours or if -- built below 0m local pos1 = {x=pos.x, y=pos.y+1, z=pos.z} - local machine_name = S("Small Solar %s Generator"):format("LV") + local machine_name = S("Small Solar @1 Generator", "LV") local light = minetest.get_node_light(pos1, nil) local time_of_day = minetest.get_timeofday() @@ -39,7 +39,7 @@ local run = function(pos, node) technic.EU_string(charge_to_give))) meta:set_int("LV_EU_supply", charge_to_give) else - meta:set_string("infotext", S("%s Idle"):format(machine_name)) + meta:set_string("infotext", S("@1 Idle", machine_name)) meta:set_int("LV_EU_supply", 0) end end @@ -51,7 +51,7 @@ minetest.register_node("technic:solar_panel", { technic_machine=1, technic_lv=1}, connect_sides = {"bottom"}, sounds = default.node_sound_wood_defaults(), - description = S("Small Solar %s Generator"):format("LV"), + description = S("Small Solar @1 Generator", "LV"), active = false, drawtype = "nodebox", paramtype = "light", @@ -63,7 +63,7 @@ minetest.register_node("technic:solar_panel", { on_construct = function(pos) local meta = minetest.get_meta(pos) meta:set_int("LV_EU_supply", 0) - meta:set_string("infotext", S("Small Solar %s Generator"):format("LV")) + meta:set_string("infotext", S("Small Solar @1 Generator", "LV")) end, technic_run = run, }) diff --git a/technic/machines/LV/water_mill.lua b/technic/machines/LV/water_mill.lua index e26224e9e..394209e69 100644 --- a/technic/machines/LV/water_mill.lua +++ b/technic/machines/LV/water_mill.lua @@ -2,7 +2,7 @@ -- It is a LV EU supplier and fairly low yield (max 180EUs) -- It is a little over half as good as the thermal generator. -local S = technic.getter +local S = minetest.get_translator("technic") local cable_entry = "^technic_cable_connection_overlay.png" @@ -53,7 +53,7 @@ local run = function(pos, node) meta:set_int("LV_EU_supply", eu_supply) meta:set_string("infotext", - S("Hydro %s Generator"):format("LV").." ("..production_level.."%)") + S("Hydro @1 Generator", "LV").." ("..production_level.."%)") if production_level > 0 and minetest.get_node(pos).name == "technic:water_mill" then @@ -67,7 +67,7 @@ local run = function(pos, node) end minetest.register_node("technic:water_mill", { - description = S("Hydro %s Generator"):format("LV"), + description = S("Hydro @1 Generator", "LV"), tiles = { "technic_water_mill_top.png", "technic_machine_bottom.png"..cable_entry, @@ -83,14 +83,14 @@ minetest.register_node("technic:water_mill", { sounds = default.node_sound_wood_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("infotext", S("Hydro %s Generator"):format("LV")) + meta:set_string("infotext", S("Hydro @1 Generator", "LV")) meta:set_int("LV_EU_supply", 0) end, technic_run = run, }) minetest.register_node("technic:water_mill_active", { - description = S("Hydro %s Generator"):format("LV"), + description = S("Hydro @1 Generator", "LV"), tiles = {"technic_water_mill_top_active.png", "technic_machine_bottom.png", "technic_water_mill_side.png", "technic_water_mill_side.png", "technic_water_mill_side.png", "technic_water_mill_side.png"}, diff --git a/technic/machines/other/anchor.lua b/technic/machines/other/anchor.lua index 9c9db275f..68d5424ab 100644 --- a/technic/machines/other/anchor.lua +++ b/technic/machines/other/anchor.lua @@ -1,4 +1,4 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local desc = S("Administrative World Anchor") diff --git a/technic/machines/other/coal_alloy_furnace.lua b/technic/machines/other/coal_alloy_furnace.lua index 14700ce04..be0e80f31 100644 --- a/technic/machines/other/coal_alloy_furnace.lua +++ b/technic/machines/other/coal_alloy_furnace.lua @@ -1,7 +1,7 @@ -- Fuel driven alloy furnace. This uses no EUs: -local S = technic.getter +local S = minetest.get_translator("technic") minetest.register_craft({ output = 'technic:coal_alloy_furnace', diff --git a/technic/machines/other/coal_furnace.lua b/technic/machines/other/coal_furnace.lua index 53a0f8b4a..7cfd43866 100644 --- a/technic/machines/other/coal_furnace.lua +++ b/technic/machines/other/coal_furnace.lua @@ -1,4 +1,4 @@ -local S = technic.getter +local S = minetest.get_translator("technic") if minetest.registered_nodes["default:furnace"].description == "Furnace" then minetest.override_item("default:furnace", { description = S("Fuel-Fired Furnace") }) diff --git a/technic/machines/other/frames.lua b/technic/machines/other/frames.lua index 421c3a9be..e0216971b 100644 --- a/technic/machines/other/frames.lua +++ b/technic/machines/other/frames.lua @@ -1,4 +1,4 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local infinite_stacks = minetest.settings:get_bool("creative_mode") and minetest.get_modpath("unified_inventory") == nil diff --git a/technic/machines/other/injector.lua b/technic/machines/other/injector.lua index 6bd5a8339..ce9070c9c 100644 --- a/technic/machines/other/injector.lua +++ b/technic/machines/other/injector.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local fs_helpers = pipeworks.fs_helpers diff --git a/technic/machines/power_monitor.lua b/technic/machines/power_monitor.lua index 7e8b85026..5d82a89f8 100644 --- a/technic/machines/power_monitor.lua +++ b/technic/machines/power_monitor.lua @@ -2,7 +2,7 @@ -- The power monitor can be used to monitor how much power is available on a network, -- similarly to the old "slave" switching stations. -local S = technic.getter +local S = minetest.get_translator("technic") local cable_entry = "^technic_cable_connection_overlay.png" diff --git a/technic/machines/supply_converter.lua b/technic/machines/supply_converter.lua index 2ecd61032..ddc24d68b 100644 --- a/technic/machines/supply_converter.lua +++ b/technic/machines/supply_converter.lua @@ -9,7 +9,7 @@ local digilines_path = minetest.get_modpath("digilines") -local S = technic.getter +local S = minetest.get_translator("technic") local cable_entry = "^technic_cable_connection_overlay.png" @@ -30,9 +30,9 @@ local function set_supply_converter_formspec(meta) formspec = formspec.."button[0,1;5,1;mesecon_mode_0;"..S("Controlled by Mesecon Signal").."]" end if meta:get_int("enabled") == 0 then - formspec = formspec.."button[0,1.75;5,1;enable;"..S("%s Disabled"):format(S("Supply Converter")).."]" + formspec = formspec.."button[0,1.75;5,1;enable;"..S("@1 Disabled", S("Supply Converter")).."]" else - formspec = formspec.."button[0,1.75;5,1;disable;"..S("%s Enabled"):format(S("Supply Converter")).."]" + formspec = formspec.."button[0,1.75;5,1;disable;"..S("@1 Enabled", S("Supply Converter")).."]" end meta:set_string("formspec", formspec) end @@ -172,10 +172,10 @@ local run = function(pos, node, run_stage) technic.EU_string(input), from, technic.EU_string(input * efficiency), to)) else - meta:set_string("infotext",S("%s Has No Network"):format(machine_name)) + meta:set_string("infotext",S("@1 Has No Network", machine_name)) end else - meta:set_string("infotext", S("%s Has Bad Cabling"):format(machine_name)) + meta:set_string("infotext", S("@1 Has Bad Cabling", machine_name)) if to then meta:set_int(to.."_EU_supply", 0) end diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index b67158500..79044748c 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -7,7 +7,7 @@ technic.redundant_warn = {} local mesecons_path = minetest.get_modpath("mesecons") local digilines_path = minetest.get_modpath("digilines") -local S = technic.getter +local S = minetest.get_translator("technic") local cable_entry = "^technic_cable_connection_overlay.png" diff --git a/technic/tools/cans.lua b/technic/tools/cans.lua index 52d5eab3f..8f3aa3611 100644 --- a/technic/tools/cans.lua +++ b/technic/tools/cans.lua @@ -1,4 +1,4 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local function set_can_wear(itemstack, level, max_level) local temp diff --git a/technic/tools/chainsaw.lua b/technic/tools/chainsaw.lua index 84afcbaad..9c61d9641 100644 --- a/technic/tools/chainsaw.lua +++ b/technic/tools/chainsaw.lua @@ -11,7 +11,7 @@ local chainsaw_efficiency = 0.92 -- Drops less items local tree_max_radius = 10 local tree_max_height = 70 -local S = technic.getter +local S = minetest.get_translator("technic") --[[ Format: [node_name] = dig_cost @@ -203,8 +203,7 @@ local function chainsaw_dig(player, pos, remaining_charge) end if cutter.stopped_by_safe_cut then - minetest.chat_send_player(player_name, S("The chainsaw could not dig all nodes" .. - " because the safety mechanism was activated.")) + minetest.chat_send_player(player_name, S("The chainsaw could not dig all nodes because the safety mechanism was activated.")) end minetest.sound_play("chainsaw", { diff --git a/technic/tools/mining_lasers.lua b/technic/tools/mining_lasers.lua index 47fcc17a6..694852a26 100644 --- a/technic/tools/mining_lasers.lua +++ b/technic/tools/mining_lasers.lua @@ -6,7 +6,7 @@ local mining_lasers_list = { } local allow_entire_discharging = true -local S = technic.getter +local S = minetest.get_translator("technic") minetest.register_craft({ output = "technic:laser_mk1", @@ -94,7 +94,7 @@ end for _, m in pairs(mining_lasers_list) do technic.register_power_tool("technic:laser_mk"..m[1], m[3]) minetest.register_tool("technic:laser_mk"..m[1], { - description = S("Mining Laser Mk%d"):format(m[1]), + description = S("Mining Laser Mk@1", m[1]), inventory_image = "technic_mining_laser_mk"..m[1]..".png", range = 0, stack_max = 1, diff --git a/technic/tools/prospector.lua b/technic/tools/prospector.lua index 14e518c68..16e50c034 100644 --- a/technic/tools/prospector.lua +++ b/technic/tools/prospector.lua @@ -1,4 +1,4 @@ -local S = technic.getter +local S = minetest.get_translator("technic") technic.register_power_tool("technic:prospector", 300000) diff --git a/technic/tools/sonic_screwdriver.lua b/technic/tools/sonic_screwdriver.lua index ceb52a131..0c01a6484 100644 --- a/technic/tools/sonic_screwdriver.lua +++ b/technic/tools/sonic_screwdriver.lua @@ -1,6 +1,6 @@ local sonic_screwdriver_max_charge = 15000 -local S = technic.getter +local S = minetest.get_translator("technic") technic.register_power_tool("technic:sonic_screwdriver", sonic_screwdriver_max_charge) diff --git a/technic/tools/tree_tap.lua b/technic/tools/tree_tap.lua index ae68b56c7..049e265be 100644 --- a/technic/tools/tree_tap.lua +++ b/technic/tools/tree_tap.lua @@ -1,5 +1,5 @@ -local S = technic.getter +local S = minetest.get_translator("technic") local mesecons_materials = minetest.get_modpath("mesecons_materials") minetest.register_tool("technic:treetap", { diff --git a/technic/tools/vacuum.lua b/technic/tools/vacuum.lua index a715d99ba..05477265a 100644 --- a/technic/tools/vacuum.lua +++ b/technic/tools/vacuum.lua @@ -3,7 +3,7 @@ local vacuum_max_charge = 10000 -- 10000 - Maximum charge of the vacuum c local vacuum_charge_per_object = 100 -- 100 - Capable of picking up 50 objects local vacuum_range = 8 -- 8 - Area in which to pick up objects -local S = technic.getter +local S = minetest.get_translator("technic") technic.register_power_tool("technic:vacuum", vacuum_max_charge) From 9cba8a3165ca010edc7e72faa00362f7e84eef68 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Tue, 7 Jan 2025 15:43:43 +0500 Subject: [PATCH 14/20] fix translate --- technic/machines/switching_station.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index 79044748c..1ca59d7d9 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -286,7 +286,7 @@ minetest.register_abm({ if meta:get_int("active") ~= 1 then minetest.forceload_free_block(pos) minetest.forceload_free_block(cable_pos) - meta:set_string("infotext",S("%s Already Present"):format(machine_name)) + meta:set_string("infotext",S("@1 Already Present", machine_name)) local poshash = minetest.hash_node_position(pos) @@ -306,7 +306,7 @@ minetest.register_abm({ PR_nodes, BA_nodes, RE_nodes = get_network(pos, cable_pos, tier) else --dprint("Not connected to a network") - meta:set_string("infotext", S("%s Has No Network"):format(machine_name)) + meta:set_string("infotext", S("@1 Has No Network", machine_name)) minetest.forceload_free_block(pos) minetest.forceload_free_block(cable_pos) return @@ -494,7 +494,7 @@ minetest.register_abm({ if technic_machine and not has_network then local nodedef = minetest.registered_nodes[node.name] local meta = minetest.get_meta(pos) - meta:set_string("infotext", S("%s Has No Network"):format(nodedef.description)) + meta:set_string("infotext", S("@1 Has No Network", nodedef.description)) if nodedef.technic_disabled_machine_name then node.name = nodedef.technic_disabled_machine_name minetest.swap_node(pos, node) From 4d7f6e870bf8fe87fd9a0d892ac6231c90fabf44 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Thu, 9 Jan 2025 19:01:06 +0500 Subject: [PATCH 15/20] update translate --- technic_worldgen/nodes.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/technic_worldgen/nodes.lua b/technic_worldgen/nodes.lua index 9b1de80e0..422128992 100644 --- a/technic_worldgen/nodes.lua +++ b/technic_worldgen/nodes.lua @@ -178,7 +178,7 @@ for_each_registered_node(function(node_name, node_def) node_name:find("steelblock", 1, true) and node_def.description:find("Steel", 1, true) then minetest.override_item(node_name, { - description = node_def.description:gsub("Steel", tr_wrought), + description = "Steel".. tr_wrought, }) end local tiles = node_def.tiles or node_def.tile_images From b96a1fdbe6af2730173b268bef32dd04bca56770 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Thu, 9 Jan 2025 12:33:38 +0500 Subject: [PATCH 16/20] code analiz --- technic/machines/switching_station.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index 1ca59d7d9..622b05ef9 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -121,8 +121,10 @@ end -- Generic function to add found connected nodes to the right classification array -- !! IMPORTANT: register/cables.lua -> clear_networks() must be kept in sync local check_node_subp = function(network, pos, machines, sw_pos, from_below, network_id, queue) + --minetest.log('action', 'Check node: ' .. dump(pos)) technic.get_or_load_node(pos) local name = minetest.get_node(pos).name + minetest.log('action', 'Check node name: ' .. dump(network.tier)) if technic.is_tier_cable(name, network.tier) then add_cable_node(network.all_nodes, pos, network_id, queue) @@ -185,6 +187,7 @@ end local touch_nodes = function(list, tier) for _, pos in ipairs(list) do + --minetest.log("action", 'pos: ' .. dump(pos)) local meta = minetest.get_meta(pos) meta:set_int(tier.."_EU_timeout", 2) -- Touch node end From dea737e5e4c3358db689423670d7ef4098784fa8 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Thu, 9 Jan 2025 12:49:54 +0500 Subject: [PATCH 17/20] update translate --- technic/machines/LV/geothermal.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/technic/machines/LV/geothermal.lua b/technic/machines/LV/geothermal.lua index 1ddccda19..8d512bec5 100644 --- a/technic/machines/LV/geothermal.lua +++ b/technic/machines/LV/geothermal.lua @@ -93,7 +93,7 @@ minetest.register_node("technic:geothermal", { sounds = default.node_sound_wood_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("infotext", S("Geothermal %s Generator"):format("LV")) + meta:set_string("infotext", S("Geothermal @1 Generator", "LV")) meta:set_int("LV_EU_supply", 0) end, technic_run = run, From 54490da73212890da5272d3802861a41153807d9 Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Thu, 9 Jan 2025 20:42:38 +0500 Subject: [PATCH 18/20] =?UTF-8?q?=D0=92=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20=D1=84=D0=B8=D0=BA=20=D0=BF=D0=B8=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- technic/machines/register/cables.lua | 169 +++++++++++-------------- technic/machines/switching_station.lua | 2 +- 2 files changed, 74 insertions(+), 97 deletions(-) diff --git a/technic/machines/register/cables.lua b/technic/machines/register/cables.lua index e989b0a48..2210db431 100644 --- a/technic/machines/register/cables.lua +++ b/technic/machines/register/cables.lua @@ -43,106 +43,84 @@ local function check_connections(pos) return connections end -local clear_networks - -local function clear_network(network_id) - if not network_id then - return - end - - for _,v in pairs(technic.networks[network_id].all_nodes) do - local pos1 = minetest.hash_node_position(v) - technic.cables[pos1] = nil - end - local network_bckup = technic.networks[network_id] - technic.networks[network_id] = nil - - for _,n_pos in pairs(network_bckup.PR_nodes) do - clear_networks(n_pos) - end - for _,n_pos in pairs(network_bckup.RE_nodes) do - clear_networks(n_pos) - end - for _,n_pos in pairs(network_bckup.BA_nodes) do - clear_networks(n_pos) - end -end - -clear_networks = function(pos) +local function clear_networks(pos) local node = minetest.get_node(pos) local meta = minetest.get_meta(pos) local placed = node.name ~= "air" local positions = check_connections(pos) - if #positions < 1 then return end + local dead_end = #positions == 1 + for _,connected_pos in pairs(positions) do + local net = technic.cables[minetest.hash_node_position(connected_pos)] + if net and technic.networks[net] then + if dead_end and placed then + -- Dead end placed, add it to the network + -- Get the network + local network_id = technic.cables[minetest.hash_node_position(positions[1])] + if not network_id then + -- We're evidently not on a network, nothing to add ourselves to + return + end + local sw_pos = minetest.get_position_from_hash(network_id) + sw_pos.y = sw_pos.y + 1 + local network = technic.networks[network_id] + local tier = network.tier - if #positions == 1 then - if placed then - -- Dead end placed, add it to the network - -- Get the network - local network_id = technic.cables[minetest.hash_node_position(positions[1])] - if not network_id then - -- We're evidently not on a network, nothing to add ourselves to - return - end - local network = technic.networks[network_id] - local tier = network.tier - - -- Actually add it to the (cached) network - -- !! IMPORTANT: ../switching_station.lua -> check_node_subp() must be kept in sync - if technic.is_tier_cable(node.name, tier) then + -- Actually add it to the (cached) network + -- !! IMPORTANT: ../switching_station.lua -> check_node_subp() must be kept in sync technic.cables[minetest.hash_node_position(pos)] = network_id - table.insert(network.all_nodes,pos) - elseif technic.machines[tier][node.name] then - -- Found a machine - local eu_type = technic.machines[tier][node.name] - meta:set_string(tier.."_network", string.format("%.20g", network_id)) - meta:set_int(tier.."_EU_timeout", 2) - if eu_type == technic.producer then - table.insert(network.PR_nodes, pos) - elseif eu_type == technic.receiver then - table.insert(network.RE_nodes, pos) - elseif eu_type == technic.producer_receiver then - table.insert(network.PR_nodes, pos) - table.insert(network.RE_nodes, pos) - elseif eu_type == technic.battery then - table.insert(network.BA_nodes, pos) + pos.visited = 1 + if technic.is_tier_cable(node.name, tier) then + -- Found a cable + table.insert(network.all_nodes,pos) + elseif technic.machines[tier][node.name] then + -- Found a machine + local eu_type = technic.machines[tier][node.name] + meta:set_string(tier.."_network", string.format("%.20g", network_id)) + if eu_type == technic.producer then + table.insert(network.PR_nodes, pos) + elseif eu_type == technic.receiver then + table.insert(network.RE_nodes, pos) + elseif eu_type == technic.producer_receiver then + table.insert(network.PR_nodes, pos) + table.insert(network.RE_nodes, pos) + elseif eu_type == technic.battery then + table.insert(network.BA_nodes, pos) + end + -- Note: SPECIAL (i.e. switching station) is not traversed! end - -- Note: SPECIAL (i.e. switching station) is not traversed! - end - else - -- Dead end removed, remove it from the network - -- Get the network - local network_id = technic.cables[minetest.hash_node_position(positions[1])] - if not network_id then - -- We're evidently not on a network, nothing to add ourselves to - return - end - local network = technic.networks[network_id] + elseif dead_end and not placed then + -- Dead end removed, remove it from the network + -- Get the network + local network_id = technic.cables[minetest.hash_node_position(positions[1])] + if not network_id then + -- We're evidently not on a network, nothing to add ourselves to + return + end + local network = technic.networks[network_id] - -- Search for and remove machine - technic.cables[minetest.hash_node_position(pos)] = nil - for tblname,table in pairs(network) do - if tblname ~= "tier" then - for machinenum,machine in pairs(table) do - if machine.x == pos.x - and machine.y == pos.y - and machine.z == pos.z then - table[machinenum] = nil + -- Search for and remove machine + technic.cables[minetest.hash_node_position(pos)] = nil + for tblname,table in pairs(network) do + if tblname ~= "tier" then + for machinenum,machine in pairs(table) do + if machine.x == pos.x + and machine.y == pos.y + and machine.z == pos.z then + table[machinenum] = nil + end end end end + else + -- Not a dead end, so the whole network needs to be recalculated + for _,v in pairs(technic.networks[net].all_nodes) do + local pos1 = minetest.hash_node_position(v) + technic.cables[pos1] = nil + end + technic.networks[net] = nil end end - return - end - - clear_network(technic.cables[minetest.hash_node_position(pos)]) - - for _,connected_pos in pairs(positions) do - local network_id = technic.cables[minetest.hash_node_position(connected_pos)] - -- Not a dead end, so the whole network needs to be recalculated - clear_network(network_id) end end @@ -152,8 +130,8 @@ local function item_place_override_node(itemstack, placer, pointed, node) temp_itemstack:set_name(node.name) local original_count = temp_itemstack:get_count() temp_itemstack = - minetest.item_place(temp_itemstack, placer, pointed, node.param2) or - temp_itemstack + minetest.item_place(temp_itemstack, placer, pointed, node.param2) or + temp_itemstack -- Remove the same number of items from the real itemstack itemstack:take_item(original_count - temp_itemstack:get_count()) return itemstack @@ -164,7 +142,7 @@ function technic.register_cable(tier, size) cable_tier["technic:"..ltier.."_cable"] = tier local groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, - ["technic_"..ltier.."_cable"] = 1} + ["technic_"..ltier.."_cable"] = 1} local node_box = { type = "connected", @@ -190,9 +168,9 @@ function technic.register_cable(tier, size) drawtype = "nodebox", node_box = node_box, connects_to = {"group:technic_"..ltier.."_cable", - "group:technic_"..ltier, "group:technic_all_tiers"}, + "group:technic_"..ltier, "group:technic_all_tiers"}, on_construct = clear_networks, - after_destruct = clear_networks, + on_destruct = clear_networks, }) local xyz = { @@ -230,9 +208,9 @@ function technic.register_cable(tier, size) drawtype = "nodebox", node_box = table.copy(node_box), connects_to = {"group:technic_"..ltier.."_cable", - "group:technic_"..ltier, "group:technic_all_tiers"}, + "group:technic_"..ltier, "group:technic_all_tiers"}, on_construct = clear_networks, - after_destruct = clear_networks, + on_destruct = clear_networks, } def.node_box.fixed = { {-size, -size, -size, size, size, size}, @@ -271,8 +249,8 @@ function technic.register_cable(tier, size) end end return item_place_override_node( - itemstack, placer, pointed_thing, - {name = "technic:"..ltier.."_cable_plate_"..num} + itemstack, placer, pointed_thing, + {name = "technic:"..ltier.."_cable_plate_"..num} ) end else @@ -324,4 +302,3 @@ end minetest.register_on_placenode(clear_nets_if_machine) minetest.register_on_dignode(clear_nets_if_machine) - diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua index 622b05ef9..4b4b6ae44 100644 --- a/technic/machines/switching_station.lua +++ b/technic/machines/switching_station.lua @@ -124,7 +124,7 @@ local check_node_subp = function(network, pos, machines, sw_pos, from_below, net --minetest.log('action', 'Check node: ' .. dump(pos)) technic.get_or_load_node(pos) local name = minetest.get_node(pos).name - minetest.log('action', 'Check node name: ' .. dump(network.tier)) + --minetest.log('action', 'Check node name: ' .. dump(network.tier)) if technic.is_tier_cable(name, network.tier) then add_cable_node(network.all_nodes, pos, network_id, queue) From 1d828dbce40b5d85f3a43cf61141fc7233fac91b Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Thu, 9 Jan 2025 20:52:37 +0500 Subject: [PATCH 19/20] update translate --- technic/machines/HV/quarry.lua | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/technic/machines/HV/quarry.lua b/technic/machines/HV/quarry.lua index a608560ca..84526467c 100644 --- a/technic/machines/HV/quarry.lua +++ b/technic/machines/HV/quarry.lua @@ -50,15 +50,15 @@ local function set_quarry_demand(meta) local do_purge = meta:get_int("purge_on") == 1 if meta:get_int("enabled") == 0 or do_purge then local infotext = do_purge and - S("@1 purging cache") or S("%s Disabled") + S("purging cache") or S("Disabled") meta:set_string("infotext", infotext:format(machine_name)) meta:set_int("HV_EU_demand", 0) elseif meta:get_int("dug") == diameter*diameter * (quarry_dig_above_nodes+1+quarry_max_depth) then - 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 local infotext = meta:get_int("HV_EU_input") >= quarry_demand - and S("%s Active") or S("%s Unpowered") + and S("Active") or S("Unpowered") meta:set_string("infotext", infotext:format(machine_name)) meta:set_int("HV_EU_demand", quarry_demand) end @@ -224,8 +224,7 @@ end local function send_move_error(player) minetest.chat_send_player(player:get_player_name(), - S("Manually taking/removing from cache by hand is not possible. ".. - "If you can't wait, restart or disable the quarry to start automatic purge.")) + S("Manually taking/removing from cache by hand is not possible. If you can't wait, restart or disable the quarry to start automatic purge.")) return 0 end @@ -257,7 +256,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", "HV")) meta:set_int("size", 4) set_quarry_formspec(meta) set_quarry_demand(meta) From c8f51c357cc1c1810ff785894747f46f76183379 Mon Sep 17 00:00:00 2001 From: Vitaliy olkhin Date: Sat, 26 Jul 2025 01:34:23 +0500 Subject: [PATCH 20/20] formatting function removed --- technic/items.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/technic/items.lua b/technic/items.lua index ec154db2f..06055a538 100644 --- a/technic/items.lua +++ b/technic/items.lua @@ -146,7 +146,7 @@ for p = 0, 35 do local block = "technic:uranium"..psuffix.."_block" local ov = p == 7 and minetest.override_item or nil; (ov or minetest.register_craftitem)(ingot, { - description = S("@1-Fissile Uranium Ingot", string.format("%.1f%%", p/10)), + description = S("@1%-Fissile Uranium Ingot", p/10), inventory_image = "technic_uranium_ingot.png", groups = {uranium_ingot=1, not_in_creative_inventory=nici}, });