technic_cnc: Use client-side translation API (#636)

This commit is contained in:
SmallJoker 2024-04-28 18:41:52 +02:00 committed by GitHub
parent d5ff69d1d9
commit ba2bdf8368
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 156 additions and 210 deletions

View File

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

View File

@ -3,129 +3,61 @@
local S = technic_cnc.getter local S = technic_cnc.getter
-- DIRT local function register_material(nodename, tiles_override, descr_override)
------- local ndef = minetest.registered_nodes[nodename]
technic_cnc.register_all("default:dirt", if not ndef then
{snappy=2,choppy=2,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, return
{"default_dirt.png"}, end
S("Dirt"))
-- (DIRT WITH) GRASS
--------------------
technic_cnc.register_all("default:dirt_with_grass",
{snappy=2,choppy=2,oddly_breakable_by_hand=3,not_in_creative_inventory=1},
{"default_grass.png"},
S("Grassy dirt"))
-- WOOD
-------
technic_cnc.register_all("default:wood",
{snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1},
{"default_wood.png"},
S("Wooden"))
-- STONE
--------
technic_cnc.register_all("default:stone",
{cracky=3, not_in_creative_inventory=1},
{"default_stone.png"},
S("Stone"))
-- COBBLE
---------
technic_cnc.register_all("default:cobble",
{cracky=3, not_in_creative_inventory=1},
{"default_cobble.png"},
S("Cobble"))
-- BRICK
--------
technic_cnc.register_all("default:brick",
{cracky=3, not_in_creative_inventory=1},
{"default_brick.png"},
S("Brick"))
-- SANDSTONE local groups = {
------------ crumbly = ndef.groups.crumbly,
technic_cnc.register_all("default:sandstone", choppy = ndef.groups.choppy,
{crumbly=2, cracky=3, not_in_creative_inventory=1}, flammable = ndef.groups.flammable,
{"default_sandstone.png"}, level = ndef.groups.level,
S("Sandstone")) snappy = ndef.groups.snappy,
wood = ndef.groups.wood,
oddly_breakable_by_hand = ndef.groups.oddly_breakable_by_hand,
not_in_creative_inventory = 1,
}
local tiles = tiles_override or { ndef.tiles[#ndef.tiles] }
assert(tiles and #tiles == 1, "Unknown tile format in node name=" .. nodename)
-- LEAVES technic_cnc.register_all(nodename,
--------- groups,
technic_cnc.register_all("default:leaves", tiles,
{snappy=2, choppy=2, oddly_breakable_by_hand=3, not_in_creative_inventory=1}, descr_override or ndef.description or "<unknown>"
{"default_leaves.png"}, )
S("Leaves"))
-- TREE
-------
technic_cnc.register_all("default:tree",
{snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3, wood=1, not_in_creative_inventory=1},
{"default_tree.png"},
S("Tree"))
-- Bronze
--------
technic_cnc.register_all("default:bronzeblock",
{cracky=1, level=2, not_in_creative_inventory=1},
{"default_bronze_block.png"},
S("Bronze"))
local steeltex = "default_steel_block.png"
local steelname = "Steel"
if technic_cnc.technic_modpath then
steeltex = "technic_wrought_iron_block.png"
steelname = "Wrought Iron"
-- Stainless Steel
--------
technic_cnc.register_all("technic:stainless_steel_block",
{cracky=1, level=2, not_in_creative_inventory=1},
{"technic_stainless_steel_block.png"},
S("Stainless Steel"))
-- Marble
------------
technic_cnc.register_all("technic:marble",
{cracky=3, not_in_creative_inventory=1},
{"technic_marble.png"},
S("Marble"))
-- Granite
------------
technic_cnc.register_all("technic:granite",
{cracky=1, not_in_creative_inventory=1},
{"technic_granite.png"},
S("Granite"))
-- Blast-resistant concrete
---------------------------
technic_cnc.register_all("technic:blast_resistant_concrete",
{cracky=2, level=2, not_in_creative_inventory=1},
{"technic_blast_resistant_concrete_block.png"},
S("Blast-resistant concrete"))
end end
-- STEEL register_material("default:dirt")
--------------- register_material("default:dirt_with_grass", {"default_grass.png"}, S("Grassy dirt"))
technic_cnc.register_all("default:steelblock", register_material("default:wood", nil, S("Wooden"))
{cracky=1, level=2, not_in_creative_inventory=1}, register_material("default:stone")
{steeltex}, register_material("default:cobble")
S(steelname)) register_material("default:sandstone")
register_material("default:leaves")
register_material("default:tree")
register_material("default:bronzeblock", nil, S("Bronze"))
local steelname = S("Steel")
if technic_cnc.technic_modpath then
steelname = S("Wrought Iron")
register_material("technic:stainless_steel_block", nil, S("Stainless Steel"))
register_material("technic:stainless_steel_block")
register_material("technic:marble")
register_material("technic:granite")
register_material("technic:blast_resistant_concrete")
register_material("technic:blast_resistant_concrete")
end
register_material("default:steelblock", nil, steelname)
-- CONCRETE AND CEMENT -- CONCRETE AND CEMENT
---------------------- ----------------------
technic_cnc.register_all("basic_materials:concrete_block", register_material("basic_materials:concrete_block")
{cracky=2, level=2, not_in_creative_inventory=1}, register_material("basic_materials:cement_block")
{"basic_materials_concrete_block.png"}, register_material("basic_materials:brass_block")
S("Concrete"))
technic_cnc.register_all("basic_materials:cement_block",
{cracky=2, level=2, not_in_creative_inventory=1},
{"basic_materials_cement_block.png"},
S("Cement"))
technic_cnc.register_all("basic_materials:brass_block",
{cracky=1, level=2, not_in_creative_inventory=1},
{"basic_materials_brass_block.png"},
S("Brass block"))

View File

@ -3,25 +3,11 @@ local modpath = minetest.get_modpath("technic_cnc")
technic_cnc = {} technic_cnc = {}
technic_cnc.technic_modpath = minetest.get_modpath("technic") technic_cnc.technic_modpath = minetest.get_modpath("technic")
technic_cnc.getter = minetest.get_translator("technic_cnc")
technic_cnc.use_technic = technic_cnc.technic_modpath technic_cnc.use_technic = technic_cnc.technic_modpath
and minetest.settings:get_bool("technic_cnc_use_technic") ~= false and minetest.settings:get_bool("technic_cnc_use_technic") ~= false
if rawget(_G, "intllib") then
technic_cnc.getter = intllib.Getter()
else
-- Intllib copypasta: TODO replace with the client-side translation API
technic_cnc.getter = function(s,a,...)
if a==nil then return s end
a={a,...}
return s:gsub("(@?)@(%(?)(%d+)(%)?)", function(e,o,n,c)
if e==""then
return a[tonumber(n)]..(o==""and c or"")
end
return "@"..o..n..c
end)
end
end
dofile(modpath.."/cnc.lua") dofile(modpath.."/cnc.lua")
dofile(modpath.."/cnc_api.lua") dofile(modpath.."/cnc_api.lua")

View File

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

View File

@ -0,0 +1,50 @@
# textdomain: technic_cnc
## CNC
##[ cnc.lua ]##
CNC Machine=CNC-Maschine
@1 CNC Machine=@1 CNC-Maschine
LV=LV
Choose Milling Program:=Wähle das Fräsprogramm aus:
Slim Elements half / normal height:=Schmale halb- / normalhohe Elemente:
In:=Eingabe:
Out:=Ausgabe:
@1 Idle=@1 (wartend)
@1 Unpowered=@1 (unbestromt)
@1 Active=@1 (aktiv)
##[ cnc_api.lua ]##
Stick=Stock
Element End Double=Endelement
Element Cross Double=Kreuzelement
Element T Double=T-Element
Element Edge Double=Eckelement
Element Straight Double=Gerades Element
Element End=Halbes Endelement
Element Cross=Halbes Kreuzelement
Element T=Halbes T-Element
Element Edge=Halbes Eckelement
Element Straight=Halbes Gerades Eleent
Oblate spheroid=Sphärenstück
Sphere=Sphäre
Horizontal Cylinder=Horizontaler Zylinder
Cylinder=Zylinder
Two Curved Edge/Corner Block=Doppelt gekrümmter Eck/-Randblock
One Curved Edge Block=Einfach gekrümmter Eckblock
Spike=Spitze
Pyramid=Pyramide
Slope Upside Down Inner Edge/Corner=Schräge (kopfüber), innere Ecke
Slope Upside Down Outer Edge/Corner=Schräge (kopfüber), äussere Ecke
Slope Inner Edge/Corner=Schräge, innere Ecke
Slope Outer Edge/Corner=Schräge äussere Ecke
Slope Upside Down=Schräge (kopfüber)
Slope Lying=Liegende Schräge
Slope=Schräge
##[ cnc_materials.lua ]##
Grassy dirt=Erde mit Gras
Wooden=Holz
Bronze=Bronze
Steel=Stahl
Wrought Iron=Schmiedeeisen
Stainless Steel=Edelstahl

View File

@ -1,36 +1,50 @@
# textdomain: technic_cnc
## CNC ## CNC
CNC Machine =
%s CNC Machine = ##[ cnc.lua ]##
Cylinder = CNC Machine=
Element Cross = @1 CNC Machine=
Element Cross Double = LV=
Element Edge = Choose Milling Program:=
Element Edge Double = Slim Elements half / normal height:=
Element End = In:=
Element End Double = Out:=
Element Straight = @1 Idle=
Element Straight Double = @1 Unpowered=
Element T = @1 Active=
Element T Double =
Horizontal Cylinder = ##[ cnc_api.lua ]##
One Curved Edge Block = Stick=
Pyramid = Element End Double=
Slope = Element Cross Double=
Slope Edge = Element T Double=
Slope Inner Edge = Element Edge Double=
Slope Lying = Element Straight Double=
Slope Upside Down = Element End=
Slope Upside Down Edge = Element Cross=
Slope Upside Down Inner Edge = Element T=
Sphere = Element Edge=
Spike = Element Straight=
Stick = Oblate spheroid=
Two Curved Edge Block = Sphere=
Brick = Horizontal Cylinder=
Cobble = Cylinder=
Dirt = Two Curved Edge/Corner Block=
Leaves = One Curved Edge Block=
Sandstone = Spike=
Stone = Pyramid=
Tree = Slope Upside Down Inner Edge/Corner=
Wooden = Slope Upside Down Outer Edge/Corner=
Slope Inner Edge/Corner=
Slope Outer Edge/Corner=
Slope Upside Down=
Slope Lying=
Slope=
##[ cnc_materials.lua ]##
Grassy dirt=
Wooden=
Bronze=
Steel=
Wrought Iron=
Stainless Steel=