From 0b43f0428559cd477da796d7f27648814cc8cfe8 Mon Sep 17 00:00:00 2001
From: TenPlus1 <kinsellaja@yahoo.com>
Date: Thu, 9 Jun 2016 15:08:34 +0100
Subject: [PATCH] Added intllib support

---
 bonemeal.lua        |   6 +-
 crystal.lua         |  19 ++--
 depends.txt         |   1 +
 dirt.lua            |  18 ++--
 extra.lua           |  20 ++--
 fences.lua          |  20 ++--
 fishing.lua         |  17 ++--
 food.lua            |  22 +++--
 gates.lua           |  20 ++--
 init.lua            |  11 ++-
 leaves.lua          |  30 +++---
 locale/de.txt       | 220 ++++++++++++++++++++++++++++++++++++++++++++
 locale/template.txt | 218 +++++++++++++++++++++++++++++++++++++++++++
 mushroom.lua        |   4 +-
 onion.lua           |   4 +-
 plantlife.lua       |  28 +++---
 sapling.lua         |   8 +-
 sealife.lua         |  14 +--
 stairs.lua          | 138 +++++++++++++--------------
 strawberry.lua      |   4 +-
 water.lua           |   6 +-
 wood.lua            |  36 ++++----
 22 files changed, 675 insertions(+), 189 deletions(-)
 create mode 100644 locale/de.txt
 create mode 100644 locale/template.txt

diff --git a/bonemeal.lua b/bonemeal.lua
index b1a0174..4b50ba3 100644
--- a/bonemeal.lua
+++ b/bonemeal.lua
@@ -1,7 +1,9 @@
 
+local S = ethereal.intllib
+
 -- bone item
 minetest.register_craftitem("ethereal:bone", {
-	description = "Bone",
+	description = S("Bone"),
 	inventory_image = "bone.png",
 })
 
@@ -220,7 +222,7 @@ end
 
 -- bonemeal item
 minetest.register_craftitem("ethereal:bonemeal", {
-	description = "Bone Meal",
+	description = S("Bone Meal"),
 	inventory_image = "bonemeal.png",
 
 	on_use = function(itemstack, user, pointed_thing)
diff --git a/crystal.lua b/crystal.lua
index 38c02e2..43afac5 100644
--- a/crystal.lua
+++ b/crystal.lua
@@ -1,6 +1,9 @@
+
+local S = ethereal.intllib
+
 -- Crystal Spike (Hurts if you touch it - thanks to ZonerDarkRevention for his DokuCraft DeviantArt crystal texture)
 minetest.register_node("ethereal:crystal_spike", {
-	description = "Crystal Spike",
+	description = S("Crystal Spike"),
 	drawtype = "plantlike",
 	tiles = { "crystal_spike.png" },
 	inventory_image = "crystal_spike.png",
@@ -20,7 +23,7 @@ minetest.register_node("ethereal:crystal_spike", {
 
 -- Crystal Ingot
 minetest.register_craftitem("ethereal:crystal_ingot", {
-	description = "Crystal Ingot",
+	description = S("Crystal Ingot"),
 	inventory_image = "crystal_ingot.png",
 	wield_image = "crystal_ingot.png",
 })
@@ -35,7 +38,7 @@ minetest.register_craft({
 
 -- Crystal Block
 minetest.register_node("ethereal:crystal_block", {
-	description = "Crystal Block",
+	description = S("Crystal Block"),
 	tiles = {"crystal_block.png"},
 	light_source = 9,
 	is_ground_content = false,
@@ -61,7 +64,7 @@ minetest.register_craft({
 
 -- Crystal Sword (Powerful wee beastie)
 minetest.register_tool("ethereal:sword_crystal", {
-	description = "Crystal Sword",
+	description = S("Crystal Sword"),
 	inventory_image = "crystal_sword.png",
 	wield_image = "crystal_sword.png",
 	tool_capabilities = {
@@ -89,7 +92,7 @@ minetest.register_craft({
 
 -- Crystal Axe
 minetest.register_tool("ethereal:axe_crystal", {
-	description = "Crystal Axe",
+	description = S("Crystal Axe"),
 	inventory_image = "crystal_axe.png",
 	wield_image = "crystal_axe.png",
 	tool_capabilities = {
@@ -117,7 +120,7 @@ minetest.register_craft({
 
 -- Crystal Pick (This will last a while)
 minetest.register_tool("ethereal:pick_crystal", {
-	description = "Crystal Pickaxe",
+	description = S("Crystal Pickaxe"),
 	inventory_image = "crystal_pick.png",
 	wield_image = "crystal_pick.png",
 	tool_capabilities = {
@@ -145,7 +148,7 @@ minetest.register_craft({
 
 -- Crystal Shovel (with Soft Touch so player can dig up dirt with grass intact)
 minetest.register_tool("ethereal:shovel_crystal", {
-	description = "Crystal (soft touch) Shovel",
+	description = S("Crystal (soft touch) Shovel"),
 	inventory_image = "crystal_shovel.png",
 	wield_image = "crystal_shovel.png^[transformR90",
 
@@ -193,7 +196,7 @@ minetest.register_craft({
 
 -- Crystal Gilly Staff (replenishes air supply when used)
 minetest.register_tool("ethereal:crystal_gilly_staff", {
-	description = "Crystal Gilly Staff",
+	description = S("Crystal Gilly Staff"),
 	inventory_image = "crystal_gilly_staff.png",
 	wield_image = "crystal_gilly_staff.png",
 
diff --git a/depends.txt b/depends.txt
index be3d92a..f0c9272 100644
--- a/depends.txt
+++ b/depends.txt
@@ -5,3 +5,4 @@ flowers
 doors
 bakedclay?
 moreblocks?
+intllib?
diff --git a/dirt.lua b/dirt.lua
index f68cb8d..c14f6a4 100644
--- a/dirt.lua
+++ b/dirt.lua
@@ -1,10 +1,12 @@
 
+local S = ethereal.intllib
+
 -- override default dirt (to stop caves cutting away dirt)
 minetest.override_item("default:dirt", {is_ground_content = ethereal.cavedirt})
 
 -- green dirt
 minetest.register_node("ethereal:green_dirt", {
-	description = "Green Dirt",
+	description = S("Green Dirt"),
 	tiles = {
 		"default_grass.png",
 		"default_dirt.png",
@@ -23,7 +25,7 @@ minetest.register_node("ethereal:green_dirt", {
 
 -- dry dirt
 minetest.register_node("ethereal:dry_dirt", {
-	description = "Dried Dirt",
+	description = S("Dried Dirt"),
 	tiles = {"ethereal_dry_dirt.png"},
 	is_ground_content = ethereal.cavedirt,
 	groups = {crumbly = 3},
@@ -48,7 +50,7 @@ for n = 1, #dirts do
 	local name = desc:lower()
 
 	minetest.register_node("ethereal:"..name.."_dirt", {
-		description = desc.." Dirt",
+		description = S(desc.." Dirt"),
 		tiles = {
 			"ethereal_grass_"..name.."_top.png",
 			"default_dirt.png",
@@ -156,7 +158,7 @@ minetest.register_abm({
 if not minetest.get_modpath("bakedclay") then
 
 	minetest.register_node(":bakedclay:red", {
-		description = "Red Baked Clay",
+		description = S("Red Baked Clay"),
 		tiles = {"baked_clay_red.png"},
 		groups = {cracky = 3},
 		is_ground_content = ethereal.cavedirt,
@@ -164,7 +166,7 @@ if not minetest.get_modpath("bakedclay") then
 	})
 
 	minetest.register_node(":bakedclay:orange", {
-		description = "Orange Baked Clay",
+		description = S("Orange Baked Clay"),
 		tiles = {"baked_clay_orange.png"},
 		groups = {cracky = 3},
 		is_ground_content = ethereal.cavedirt,
@@ -172,7 +174,7 @@ if not minetest.get_modpath("bakedclay") then
 	})
 
 	minetest.register_node(":bakedclay:grey", {
-		description = "Grey Baked Clay",
+		description = S("Grey Baked Clay"),
 		tiles = {"baked_clay_grey.png"},
 		groups = {cracky = 3},
 		is_ground_content = ethereal.cavedirt,
@@ -184,7 +186,7 @@ end
 -- Quicksand (old style, sinking inside shows black instead of yellow effect,
 -- works ok with noclip enabled though)
 minetest.register_node("ethereal:quicksand", {
-	description = "Quicksand",
+	description = S("Quicksand"),
 	tiles = {"default_sand.png"},
 	drop = "default:sand",
 	liquid_viscosity = 15,
@@ -204,7 +206,7 @@ minetest.register_node("ethereal:quicksand", {
 -- Quicksand (new style, sinking inside shows yellow effect with or without noclip,
 -- but old quicksand is shown as black until block placed nearby to update light)
 minetest.register_node("ethereal:quicksand2", {
-	description = "Quicksand",
+	description = S("Quicksand"),
 	tiles = {"default_sand.png"},
 	drawtype = "glasslike",
 	paramtype = "light",
diff --git a/extra.lua b/extra.lua
index 6dfd552..7c0553d 100644
--- a/extra.lua
+++ b/extra.lua
@@ -1,7 +1,9 @@
 
+local S = ethereal.intllib
+
 -- Bamboo Flooring
 minetest.register_node("ethereal:bamboo_floor", {
-	description = ("Bamboo Floor"),
+	description = S("Bamboo Floor"),
 	drawtype = 'nodebox',
 	tiles = { "bamboo_floor.png" },
 	wield_image = "bamboo_floor.png",
@@ -73,7 +75,7 @@ minetest.register_craft({
 
 -- Palm Wax
 minetest.register_craftitem("ethereal:palm_wax", {
-	description = "Palm Wax",
+	description = S("Palm Wax"),
 	inventory_image = "palm_wax.png",
 	wield_image = "palm_wax.png",
 })
@@ -87,7 +89,7 @@ minetest.register_craft({
 
 -- Candle from Wax and String/Cotton
 minetest.register_node("ethereal:candle", {
-	description = "Candle",
+	description = S("Candle"),
 	drawtype = "plantlike",
 	inventory_image = "candle_static.png",
 	wield_image = "candle_static.png",
@@ -125,7 +127,7 @@ minetest.register_craft({
 
 -- Wooden Bowl
 minetest.register_craftitem("ethereal:bowl", {
-	description = "Bowl",
+	description = S("Bowl"),
 	inventory_image = "bowl.png",
 })
 
@@ -139,7 +141,7 @@ minetest.register_craft({
 
 -- stone Ladder
 minetest.register_node("ethereal:stone_ladder", {
-	description = "Stone Ladder",
+	description = S("Stone Ladder"),
 	drawtype = "signlike",
 	tiles = {"stone_ladder.png"},
 	inventory_image = "stone_ladder.png",
@@ -170,7 +172,7 @@ minetest.register_craft({
 -- Paper Wall
 minetest.register_node("ethereal:paper_wall", {
 	drawtype = "nodebox",
-	description = ("Paper Wall"),
+	description = S("Paper Wall"),
 	tiles = {"paper_wall.png"},
 	inventory_image_image = "paper_wall.png",
 	wield_image = "paper_wall.png",
@@ -204,7 +206,7 @@ minetest.register_craft({
 
 -- Glostone (A little bit of light decoration)
 minetest.register_node("ethereal:glostone", {
-	description = "Glo Stone",
+	description = S("Glo Stone"),
 	tiles = {"glostone.png"},
 	groups = {cracky = 3},
 	light_source = 13,
@@ -221,7 +223,7 @@ minetest.register_craft({
 
 -- Charcoal Lump
 minetest.register_craftitem("ethereal:charcoal_lump", {
-	description = "Lump of Charcoal",
+	description = S("Lump of Charcoal"),
 	inventory_image = "charcoal_lump.png",
 	wield_image = "charcoal_lump.png",
 })
@@ -257,7 +259,7 @@ minetest.register_craft({
 
 -- Staff of Light (by Xanthin)
 minetest.register_tool("ethereal:light_staff", {
-	description = "Staff of Light",
+	description = S("Staff of Light"),
 	inventory_image = "light_staff.png",
 	wield_image = "light_staff.png",
 	stack_max = 1,
diff --git a/fences.lua b/fences.lua
index a513612..97386c3 100644
--- a/fences.lua
+++ b/fences.lua
@@ -1,6 +1,8 @@
 
+local S = ethereal.intllib
+
 default.register_fence("ethereal:fence_scorched", {
-	description = "Scorched Fence",
+	description = S("Scorched Fence"),
 	texture = "scorched_tree.png",
 	material = "ethereal:scorched_tree",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
@@ -8,7 +10,7 @@ default.register_fence("ethereal:fence_scorched", {
 })
 
 default.register_fence("ethereal:fence_frostwood", {
-	description = "Frost Fence",
+	description = S("Frost Fence"),
 	texture = "frost_wood.png",
 	material = "ethereal:frost_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
@@ -16,7 +18,7 @@ default.register_fence("ethereal:fence_frostwood", {
 })
 
 default.register_fence("ethereal:fence_redwood", {
-	description = "Redwood Fence",
+	description = S("Redwood Fence"),
 	texture = "redwood_wood.png",
 	material = "ethereal:redwood_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
@@ -24,7 +26,7 @@ default.register_fence("ethereal:fence_redwood", {
 })
 
 default.register_fence("ethereal:fence_willow", {
-	description = "Willow Fence",
+	description = S("Willow Fence"),
 	texture = "willow_wood.png",
 	material = "ethereal:willow_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
@@ -32,7 +34,7 @@ default.register_fence("ethereal:fence_willow", {
 })
 
 default.register_fence("ethereal:fence_yellowwood", {
-	description = "Healing Wood Fence",
+	description = S("Healing Wood Fence"),
 	texture = "yellow_wood.png",
 	material = "ethereal:yellow_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
@@ -40,7 +42,7 @@ default.register_fence("ethereal:fence_yellowwood", {
 })
 
 default.register_fence("ethereal:fence_palm", {
-	description = "Palm Fence",
+	description = S("Palm Fence"),
 	texture = "moretrees_palm_wood.png",
 	material = "ethereal:palm_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
@@ -48,7 +50,7 @@ default.register_fence("ethereal:fence_palm", {
 })
 
 default.register_fence("ethereal:fence_banana", {
-	description = "Banana Wood Fence",
+	description = S("Banana Wood Fence"),
 	texture = "banana_wood.png",
 	material = "ethereal:banana_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
@@ -56,7 +58,7 @@ default.register_fence("ethereal:fence_banana", {
 })
 
 default.register_fence("ethereal:fence_mushroom", {
-	description = "Mushroom Fence",
+	description = S("Mushroom Fence"),
 	texture = "mushroom_trunk.png",
 	material = "ethereal:mushroom_trunk",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
@@ -64,7 +66,7 @@ default.register_fence("ethereal:fence_mushroom", {
 })
 
 default.register_fence("ethereal:fence_birch", {
-	description = "Birch Fence",
+	description = S("Birch Fence"),
 	texture = "moretrees_birch_wood.png",
 	material = "ethereal:birch_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
diff --git a/fishing.lua b/fishing.lua
index ff40c73..e87c461 100644
--- a/fishing.lua
+++ b/fishing.lua
@@ -1,6 +1,9 @@
+
+local S = ethereal.intllib
+
 -- Raw Fish (Thanks to Altairas for her Fish image on DeviantArt)
 minetest.register_craftitem("ethereal:fish_raw", {
-	description = "Raw Fish",
+	description = S("Raw Fish"),
 	inventory_image = "fish_raw.png",
 	wield_image = "fish_raw.png",
 	on_use = minetest.item_eat(2),
@@ -8,7 +11,7 @@ minetest.register_craftitem("ethereal:fish_raw", {
 
 -- Cooked Fish
 minetest.register_craftitem("ethereal:fish_cooked", {
-	description = "Cooked Fish",
+	description = S("Cooked Fish"),
 	inventory_image = "fish_cooked.png",
 	wield_image = "fish_cooked.png",
 	on_use = minetest.item_eat(5),
@@ -23,7 +26,7 @@ minetest.register_craft({
 
 -- Sashimi (Thanks to Natalia Grosner for letting me use the sashimi image)
 minetest.register_craftitem("ethereal:sashimi", {
-	description = "Sashimi",
+	description = S("Sashimi"),
 	inventory_image = "sashimi.png",
 	wield_image = "sashimi.png",
 	on_use = minetest.item_eat(4),
@@ -38,14 +41,14 @@ minetest.register_craft({
 
 -- Worm
 minetest.register_craftitem("ethereal:worm", {
-	description = "Worm",
+	description = S("Worm"),
 	inventory_image = "worm.png",
 	wield_image = "worm.png",
 })
 
 -- Fishing Rod
 minetest.register_craftitem("ethereal:fishing_rod", {
-	description = "Fishing Rod",
+	description = S("Fishing Rod"),
 	inventory_image = "fishing_rod.png",
 	wield_image = "fishing_rod.png",
 })
@@ -80,7 +83,7 @@ end
 
 -- Fishing Rod (Baited)
 minetest.register_craftitem("ethereal:fishing_rod_baited", {
-	description = "Baited Fishing Rod",
+	description = S("Baited Fishing Rod"),
 	inventory_image = "fishing_rod_baited.png",
 	wield_image = "fishing_rod_wield.png",
 	stack_max = 1,
@@ -108,7 +111,7 @@ minetest.register_craftitem("ethereal:fishing_rod_baited", {
 				return {name = "ethereal:fishing_rod"}
 			else
 				minetest.chat_send_player(user:get_player_name(),
-					"Inventory full, Fish Got Away!")
+					S("Inventory full, Fish Got Away!"))
 			end
 		end
 	end,
diff --git a/food.lua b/food.lua
index 3078225..ea62728 100644
--- a/food.lua
+++ b/food.lua
@@ -1,4 +1,6 @@
 
+local S = ethereal.intllib
+
 -- fix apples hanging in sky when no tree around
 minetest.override_item("default:apple", {
 	drop = "default:apple",
@@ -6,7 +8,7 @@ minetest.override_item("default:apple", {
 
 -- Banana (Heals one heart when eaten)
 minetest.register_node("ethereal:banana", {
-	description = "Banana",
+	description = S("Banana"),
 	drawtype = "torchlike",
 	visual_scale = 1.0,
 	tiles = {"banana_single.png"},
@@ -35,7 +37,7 @@ minetest.register_node("ethereal:banana", {
 
 -- Banana Dough
 minetest.register_craftitem("ethereal:banana_dough", {
-	description = "Banana Dough",
+	description = S("Banana Dough"),
 	inventory_image = "banana_dough.png",
 })
 
@@ -54,7 +56,7 @@ minetest.register_craft({
 
 -- Orange (Heals 2 hearts when eaten)
 minetest.register_node("ethereal:orange", {
-	description = "Orange",
+	description = S("Orange"),
 	drawtype = "plantlike",
 	visual_scale = 1.0,
 	tiles = {"farming_orange.png"},
@@ -83,7 +85,7 @@ minetest.register_node("ethereal:orange", {
 
 -- Pine Nuts (Heals 1/2 heart when eaten)
 minetest.register_craftitem("ethereal:pine_nuts", {
-	description = "Pine Nuts",
+	description = S("Pine Nuts"),
 	inventory_image = "pine_nuts.png",
 	wield_image = "pine_nuts.png",
 	on_use = minetest.item_eat(1),
@@ -91,7 +93,7 @@ minetest.register_craftitem("ethereal:pine_nuts", {
 
 -- Banana Loaf (Heals 3 hearts when eaten)
 minetest.register_craftitem("ethereal:banana_bread", {
-	description = "Banana Loaf",
+	description = S("Banana Loaf"),
 	inventory_image = "banana_bread.png",
 	wield_image = "banana_bread.png",
 	on_use = minetest.item_eat(6),
@@ -99,7 +101,7 @@ minetest.register_craftitem("ethereal:banana_bread", {
 
 -- Coconut (Gives 4 coconut slices, each heal 1/2 heart)
 minetest.register_node("ethereal:coconut", {
-	description = "Coconut",
+	description = S("Coconut"),
 	drawtype = "plantlike",
 	walkable = false,
 	paramtype = "light",
@@ -121,7 +123,7 @@ minetest.register_node("ethereal:coconut", {
 
 -- Coconut Slice (Heals half heart when eaten)
 minetest.register_craftitem("ethereal:coconut_slice", {
-	description = "Coconut Slice",
+	description = S("Coconut Slice"),
 	inventory_image = "moretrees_coconut_slice.png",
 	wield_image = "moretrees_coconut_slice.png",
 	on_use = minetest.item_eat(1),
@@ -129,7 +131,7 @@ minetest.register_craftitem("ethereal:coconut_slice", {
 
 -- Golden Apple (Found on Healing Tree, heals all 10 hearts)
 minetest.register_node("ethereal:golden_apple", {
-	description = "Golden Apple",
+	description = S("Golden Apple"),
 	drawtype = "plantlike",
 	visual_scale = 1.0,
 	tiles = {"default_apple_gold.png"},
@@ -158,7 +160,7 @@ minetest.register_node("ethereal:golden_apple", {
 
 -- Hearty Stew (Heals 5 hearts - thanks to ZonerDarkRevention for his DokuCraft DeviantArt bowl texture)
 minetest.register_craftitem("ethereal:hearty_stew", {
-	description = "Hearty Stew",
+	description = S("Hearty Stew"),
 	inventory_image = "hearty_stew.png",
 	wield_image = "hearty_stew.png",
 	on_use = minetest.item_eat(10, "ethereal:bowl"),
@@ -187,7 +189,7 @@ end
 
 -- Bucket of Cactus Pulp
 minetest.register_craftitem("ethereal:bucket_cactus", {
-	description = "Bucket of Cactus Pulp",
+	description = S("Bucket of Cactus Pulp"),
 	inventory_image = "bucket_cactus.png",
 	wield_image = "bucket_cactus.png",
 	stack_max = 1,
diff --git a/gates.lua b/gates.lua
index d921b20..f51f108 100644
--- a/gates.lua
+++ b/gates.lua
@@ -1,64 +1,66 @@
 
+local S = ethereal.intllib
+
 -- register Ethereal wood type gates
 
 doors.register_fencegate("ethereal:fencegate_scorched", {
-	description = "Scorched Wood Fence Gate",
+	description = S("Scorched Wood Fence Gate"),
 	texture = "scorched_tree.png",
 	material = "ethereal:scorched_tree",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
 })
 
 doors.register_fencegate("ethereal:fencegate_frostwood", {
-	description = "Frost Wood Fence Gate",
+	description = S("Frost Wood Fence Gate"),
 	texture = "frost_wood.png",
 	material = "ethereal:frost_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
 })
 
 doors.register_fencegate("ethereal:fencegate_redwood", {
-	description = "Redwood Fence Gate",
+	description = S("Redwood Fence Gate"),
 	texture = "redwood_wood.png",
 	material = "ethereal:redwood_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
 })
 
 doors.register_fencegate("ethereal:fencegate_willow", {
-	description = "Willow Wood Fence Gate",
+	description = S("Willow Wood Fence Gate"),
 	texture = "willow_wood.png",
 	material = "ethereal:willow_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
 })
 
 doors.register_fencegate("ethereal:fencegate_yellowwood", {
-	description = "Healing Wood Fence Gate",
+	description = S("Healing Wood Fence Gate"),
 	texture = "yellow_wood.png",
 	material = "ethereal:yellow_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
 })
 
 doors.register_fencegate("ethereal:fencegate_palm", {
-	description = "Palm Wood Fence Gate",
+	description = S("Palm Wood Fence Gate"),
 	texture = "moretrees_palm_wood.png",
 	material = "ethereal:palm_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
 })
 
 doors.register_fencegate("ethereal:fencegate_banana", {
-	description = "Banana Wood Fence Gate",
+	description = S("Banana Wood Fence Gate"),
 	texture = "banana_wood.png",
 	material = "ethereal:banana_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
 })
 
 doors.register_fencegate("ethereal:fencegate_mushroom", {
-	description = "Mushroom Trunk Fence Gate",
+	description = S("Mushroom Trunk Fence Gate"),
 	texture = "mushroom_trunk.png",
 	material = "ethereal:mushroom_trunk",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
 })
 
 doors.register_fencegate("ethereal:fencegate_birch", {
-	description = "Birch Wood Fence Gate",
+	description = S("Birch Wood Fence Gate"),
 	texture = "moretrees_birch_wood.png",
 	material = "ethereal:birch_wood",
 	groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
diff --git a/init.lua b/init.lua
index 757d4c5..907efd3 100644
--- a/init.lua
+++ b/init.lua
@@ -38,6 +38,15 @@ ethereal.savannah  = 1 -- Dry yellow grass with acacia tree's
 ethereal.fiery     = 1 -- Red grass with lava craters
 ethereal.sandclay  = 1 -- Sand areas with clay underneath
 
+-- Intllib
+local S
+if minetest.get_modpath("intllib") then
+	S = intllib.Getter()
+else
+	S = function(s) return s end
+end
+ethereal.intllib = S
+
 local path = minetest.get_modpath("ethereal")
 
 dofile(path .. "/plantlife.lua")
@@ -67,4 +76,4 @@ if minetest.get_modpath("xanadu") then
 	dofile(path .. "/plantpack.lua")
 end
 
-print ("[MOD] Ethereal loaded")
+print (S("[MOD] Ethereal loaded"))
diff --git a/leaves.lua b/leaves.lua
index ab42122..41d00b9 100644
--- a/leaves.lua
+++ b/leaves.lua
@@ -1,4 +1,6 @@
 
+local S = ethereal.intllib
+
 -- set leaftype (value inside init.lua)
 local leaftype = "plantlike"
 
@@ -62,7 +64,7 @@ minetest.override_item("default:aspen_leaves", {
 
 -- willow twig
 minetest.register_node("ethereal:willow_twig", {
-	description = "Willow Twig",
+	description = S("Willow Twig"),
 	drawtype = "plantlike",
 	tiles = {"willow_twig.png"},
 	inventory_image = "willow_twig.png",
@@ -85,7 +87,7 @@ minetest.register_node("ethereal:willow_twig", {
 
 -- redwood leaves
 minetest.register_node("ethereal:redwood_leaves", {
-	description = "Redwood Leaves",
+	description = S("Redwood Leaves"),
 	drawtype = leaftype,
 	visual_scale = 1.2,
 	tiles = {"redwood_leaves.png"},
@@ -108,7 +110,7 @@ minetest.register_node("ethereal:redwood_leaves", {
 
 -- orange tree leaves
 minetest.register_node("ethereal:orange_leaves", {
-	description = "Orange Leaves",
+	description = S("Orange Leaves"),
 	drawtype = leaftype,
 	visual_scale = 1.2,
 	tiles = {"orange_leaves.png"},
@@ -131,7 +133,7 @@ minetest.register_node("ethereal:orange_leaves", {
 
 -- banana tree leaves
 minetest.register_node("ethereal:bananaleaves", {
-	description = "Banana Leaves",
+	description = S("Banana Leaves"),
 	drawtype = leaftype,
 	visual_scale = 1.2,
 	tiles = {"banana_leaf.png"},
@@ -154,7 +156,7 @@ minetest.register_node("ethereal:bananaleaves", {
 
 -- healing tree leaves
 minetest.register_node("ethereal:yellowleaves", {
-	description = "Healing Tree Leaves",
+	description = S("Healing Tree Leaves"),
 	drawtype = leaftype,
 	visual_scale = 1.2,
 	tiles = {"yellow_leaves.png"},
@@ -180,7 +182,7 @@ minetest.register_node("ethereal:yellowleaves", {
 
 -- palm tree leaves
 minetest.register_node("ethereal:palmleaves", {
-	description = "Palm Leaves",
+	description = S("Palm Leaves"),
 	drawtype = leaftype,
 	visual_scale = 1.2,
 	tiles = {"moretrees_palm_leaves.png"},
@@ -203,7 +205,7 @@ minetest.register_node("ethereal:palmleaves", {
 
 -- birch tree leaves
 minetest.register_node("ethereal:birch_leaves", {
-	description = "Birch Leaves",
+	description = S("Birch Leaves"),
 	drawtype = leaftype,
 	visual_scale = 1.2,
 	tiles = {"moretrees_birch_leaves.png"},
@@ -226,7 +228,7 @@ minetest.register_node("ethereal:birch_leaves", {
 
 -- frost tree leaves
 minetest.register_node("ethereal:frost_leaves", {
-	description = "Frost Leaves",
+	description = S("Frost Leaves"),
 	drawtype = leaftype,
 	visual_scale = 1.2,
 	tiles = {"ethereal_frost_leaves.png"},
@@ -250,7 +252,7 @@ minetest.register_node("ethereal:frost_leaves", {
 
 -- bamboo stalk leaves
 minetest.register_node("ethereal:bamboo_leaves", {
-	description = "Bamboo Leaves",
+	description = S("Bamboo Leaves"),
 	drawtype = leaftype,
 	visual_scale = 1.2,
 	tiles = {"bamboo_leaves.png"},
@@ -273,7 +275,7 @@ minetest.register_node("ethereal:bamboo_leaves", {
 
 -- mushroom tops
 minetest.register_node("ethereal:mushroom", {
-	description = "Mushroom Cap",
+	description = S("Mushroom Cap"),
 	tiles = {"mushroom_block.png"},
 	groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
 	drop = {
@@ -294,7 +296,7 @@ minetest.register_craft({
 
 -- mushroom pore (spongelike material found inside giant shrooms)
 minetest.register_node("ethereal:mushroom_pore", {
-	description = "Mushroom Pore",
+	description = S("Mushroom Pore"),
 	tiles = {"mushroom_pore.png"},
 	groups = {
 		snappy = 3, cracky = 3, choppy = 3, oddly_breakable_by_hand = 3,
@@ -305,7 +307,7 @@ minetest.register_node("ethereal:mushroom_pore", {
 
 -- hedge block
 minetest.register_node("ethereal:bush", {
-	description = "Bush",
+	description = S("Bush"),
 	tiles = {"ethereal_bush.png"},
 	walkable = true,
 	groups = {snappy = 3, flammable = 2},
@@ -324,7 +326,7 @@ minetest.register_craft({
 -- bush block #2
 minetest.register_node("ethereal:bush2", {
 	drawtype = "allfaces_optional",
-	description = "Bush #2",
+	description = S("Bush #2"),
 	tiles = {"default_aspen_leaves.png"},
 	paramtype = "light",
 	walkable = true,
@@ -344,7 +346,7 @@ minetest.register_craft({
 -- bush block #3
 minetest.register_node("ethereal:bush3", {
 	drawtype = "allfaces_optional",
-	description = "Bush #3",
+	description = S("Bush #3"),
 	tiles = {"default_pine_needles.png"},
 	paramtype = "light",
 	walkable = true,
diff --git a/locale/de.txt b/locale/de.txt
new file mode 100644
index 0000000..9c9c9d7
--- /dev/null
+++ b/locale/de.txt
@@ -0,0 +1,220 @@
+# German Translation for ethereal mod
+# Deutsche Übersetzung der ethereal Mod
+# last update: 2016/May/25
+# Author: Xanthin
+
+#bonemeal.lua
+Bone = Knochen
+Bone Meal = Knochenmehl
+
+#crystal.lua
+Crystal Spike = Kristallnadel
+Crystal Ingot = Kristallbarren
+Crystal Block = Kristallblock
+Crystal Sword = Kristallschwert
+Crystal Axe = Kristallaxt
+Crystal Pickaxe = Kristallspitzhacke
+Crystal (soft touch) Shovel = Kristallschaufel (Behutsamkeit)
+Crystal Gilly Staff = Kristallener Gilly-Stab
+
+#dirt.lua
+Green Dirt = Grüne Erde
+Dried Dirt = Vertrocknete Erde
+Bamboo Dirt = Bambuserde
+Jungle Dirt = Tropenerde
+Grove Dirt = Hainerde
+Prairie Dirt = Prärieerde
+Cold Dirt = Kalte Erde
+Crystal Dirt = Kristallerde
+Mushroom Dirt = Pilzerde
+Fiery Dirt = Feuerrote Erde
+Gray Dirt = Graue Erde
+Red Baked Clay = Roter gebrannter Ton
+Orange Baked Clay = Oranger gebrannter Ton
+Grey Baked Clay = Grauer gebrannter Ton
+Quicksand = Treibsand
+
+#extra.lua
+Bamboo Floor = Bambusboden
+Palm Wax = Palmwachs
+Candle = Kerze
+Bowl = Schale
+Stone Ladder = Steinleiter
+Paper Wall = Papierwand
+Glo Stone = Leuchtstein
+Lump of Charcoal = Holzkohlestück
+Staff of Light = Stab des Lichts
+
+#fences.lua
+Scorched Fence = Verbrannter Zaun
+Frost Fence = Frostzaun
+Redwood Fence = Mammutbaumzaun
+Willow Fence = Weidenzaun
+Healing Wood Fence = Lebensholzzaun
+Palm Fence = Palmzaun
+Banana Wood Fence = Bananenholzzaun
+Mushroom Fence = Pilzzaun
+Birch Fence = Birkenzaun
+
+#fishing.lua
+Raw Fish = Roher Fisch
+Cooked Fish = Gekochter Fisch
+Sashimi = Sashimi
+Worm = Wurm
+Fishing Rod = Angelrute
+Baited Fishing Rod = Angelrute mit Köder
+Inventory full, Fish Got Away! = Inventar voll, Fisch entkam!
+
+#food.lua
+Banana = Banane
+Banana Dough = Bananenteig
+Orange = Orange
+Pine Nuts = Pinienkerne
+Banana Loaf = Bananenbrot
+Coconut = Kokosnuss
+Coconut Slice = Kokosscheibe
+Golden Apple = Goldener Apfel 
+Hearty Stew = Deftiger Eintopf
+Bucket of Cactus Pulp = Eimer Kaktusmark
+
+#gates.lua
+Scorched Wood Fence Gate = Verbranntes Holzzauntor
+Frost Wood Fence Gate = Frostholzzauntor
+Redwood Fence Gate = Mammutbaumzauntor
+Willow Wood Fence Gate = Weidenholztor
+Healing Wood Fence Gate = Lebensholzzauntor
+Palm Wood Fence Gate = Palmholzzauntor
+Banana Wood Fence Gate = Bananenholzzauntor
+Mushroom Trunk Fence Gate = Pilzstammzauntor
+Birch Wood Fence Gate = Birkenholzzauntor
+
+#init.lua
+[MOD] Ethereal loaded = [MOD] Ethereal geladen
+
+#leaves.lua
+Willow Twig = Weidenrute
+Redwood Leaves = Mammutbaumlaub
+Orange Leaves = Orangenlaub
+Banana Leaves = Bananenblätter
+Healing Tree Leaves = Lebensbaumlaub
+Palm Leaves = Palmenblätter
+Birch Leaves = Birkenlaub
+Frost Leaves = Frostlaub
+Bamboo Leaves = Bambuslaub
+Mushroom Cap = Pilzkappe
+Mushroom Pore = Pilzpore
+Bush = Busch
+Bush #2 = Busch #2
+Bush #3 = Busch #3
+
+#mushroom.lua
+Mushroom Soup = Pilzsuppe
+
+#onion.lua
+Wild Onion = Wilde Zwiebel
+
+#plantlife.lua
+Fire Flower = Feuerblume
+Fire Dust = Feuerstaub
+Vine = Weinrebe
+Light String Vine = Leuchtschnurrebe
+Fern = Farn
+Fern Tubers = Farnsporenkapseln
+Fiery Dry Shrub = Feuerroter vertrockneter Strauch
+Snowy Grass = Verschneites Gras
+Crystal Grass = Kristallgras
+Crystal Moss = Kristallmoos
+Mushroom Moss = Pilzmoos
+Fiery Moss = Feuerrotes Moos
+Gray Moss = Graues Moos
+Green Moss = Grünes Moos
+Red Illumishroom = Roter Leuchtpilz
+Green Illumishroom = Grüner Leuchtpilz
+Cyan Illumishroom = Türkiser Leuchtpilz
+
+#sapling.lua
+Bamboo Sprout = Bambussprosse
+Willow Tree Sapling = Weidenbaumsetzling
+Healing Tree Sapling = Lebensbaumsetzling
+Apple Tree Sapling = Apfelbaumsetzling
+Jungle Tree Sapling = Tropenbaumsetzling
+Pine Tree Sapling = Piniensetzling
+Big Tree Sapling = Großer-Baum-Setzling
+Banana Tree Sapling = Bananensetzling
+Frost Tree Sapling = Frostbaumsetzling
+Mushroom Tree Sapling = Pilzbaumsetzling
+Palm Tree Sapling = Palmensetzling
+Redwood Tree Sapling = Mammutbaumsetzling
+Orange Tree Sapling = Orangenbaumsetzling
+Acacia Tree Sapling = Akaziensetzling
+Birch Tree Sapling = Birkensetzling
+Schematic not found = Schema nicht gefunden
+
+#sealife.lua
+Seaweed = Seetang
+Blue Coral = Blaue Koralle
+Orange Coral = Orange Koralle
+Pink Coral = Rosa Koralle
+Green Coral = Grüne Koralle
+Sandy = Sandy
+
+#stairs.lua
+Crystal Block Stair = Kristallblocktreppe
+Crystal Block Slab = Kristallblockplatte
+Ice Brick Stair = Eisziegeltreppe
+Ice Brick Slab = Eisziegelplatte
+Snow Brick Stair = Schneeziegeltreppe
+Snow Brick Slab = Schneeziegelplatte
+Dry Dirt Stair = Vertrocknete Erdtreppe
+Dry Dirt Slab = vertrocknete Erdplatte
+Mushroom Trunk Stair = Pilzstammtreppe
+Mushroom Trunk Slab = Pilzstammplatte
+Mushroom Top Stair = Pilzkappentreppe
+Mushroom Top Slab = Pilzkappenplatte
+Frost Wood Stair = Frostholztreppe
+Frost Wood Slab = Frostholzplatte
+Healing Wood Stair = Lebensholztreppe
+Healing Wood Slab = Lebensholzplatte
+Palm Wood Stair = Palmholztreppe
+Palm Wood Slab = Palmholzplatte
+Birch Wood Stair = Birkenholztreppe
+Birch Wood Slab = Birkenholzplatte
+Banana Wood Stair = Bananenholztreppe
+Banana Wood Slab = Bananenholzplatte
+Willow Wood Stair = Weidenholztreppe
+Willow Wood Slab = Weidenholzplatte
+Redwood Stair = Mammutbaumtreppe
+Redwood Slab = Mammutbaumplatte
+Bamboo Stair = Bambustreppe
+Bamboo Slab = Bambusplatte
+Dry Dirt = Vertrocknete Erde
+Mushroom Trunk = Pilzstamm
+Mushroom Top = Pilzkappe
+Healing Wood = Lebensholz
+Redwood = Mammutbaum
+
+#strawberry.lua
+Strawberry = Erdbeere
+
+#water.lua
+Ice Brick = Eisziegel
+Snow Brick = Schneeziegel
+
+#wood.lua
+Willow Trunk = Weidenstamm
+Willow Wood = Weidenholz
+Redwood Trunk = Mammutbaumstamm
+Redwood Wood = Mammutbaumholz
+Frost Tree = Frostbaum
+Frost Wood = Frostholz
+Healing Tree Trunk = Lebensbaumstamm
+Healing Tree Wood = Lebensbaumholz
+Palm Trunk = Palmstamm
+Palm Wood = Palmholz
+Banana Trunk = Bananenstamm
+Banana Wood = Bananenholz
+Scorched Tree = Verbrannter Baum
+Mushroom = Pilz
+Birch Trunk = Birkenstamm
+Birch Wood = Birkenholz
+Bamboo = Bambus
\ No newline at end of file
diff --git a/locale/template.txt b/locale/template.txt
new file mode 100644
index 0000000..d9a795e
--- /dev/null
+++ b/locale/template.txt
@@ -0,0 +1,218 @@
+# Template for translations of ethereal mod
+# last update: 2016/May/25
+
+#bonemeal.lua
+Bone = 
+Bone Meal = 
+
+#crystal.lua
+Crystal Spike = 
+Crystal Ingot = 
+Crystal Block = 
+Crystal Sword = 
+Crystal Axe = 
+Crystal Pickaxe = 
+Crystal (soft touch) Shovel = 
+Crystal Gilly Staff = 
+
+#dirt.lua
+Green Dirt = 
+Dried Dirt = 
+Bamboo Dirt = 
+Jungle Dirt = 
+Grove Dirt = 
+Prairie Dirt = 
+Cold Dirt = 
+Crystal Dirt = 
+Mushroom Dirt = 
+Fiery Dirt = 
+Gray Dirt = 
+Red Baked Clay = 
+Orange Baked Clay = 
+Grey Baked Clay = 
+Quicksand = 
+
+#extra.lua
+Bamboo Floor = 
+Palm Wax = 
+Candle = 
+Bowl = 
+Stone Ladder = 
+Paper Wall = 
+Glo Stone = 
+Lump of Charcoal = 
+Staff of Light = 
+
+#fences.lua
+Scorched Fence = 
+Frost Fence = 
+Redwood Fence = 
+Willow Fence = 
+Healing Wood Fence = 
+Palm Fence = 
+Banana Wood Fence = 
+Mushroom Fence = 
+Birch Fence = 
+
+#fishing.lua
+Raw Fish = 
+Cooked Fish = 
+Sashimi = 
+Worm = 
+Fishing Rod = 
+Baited Fishing Rod = 
+Inventory full, Fish Got Away! = 
+
+#food.lua
+Banana = 
+Banana Dough = 
+Orange = 
+Pine Nuts = 
+Banana Loaf = 
+Coconut = 
+Coconut Slice = 
+Golden Apple = 
+Hearty Stew = 
+Bucket of Cactus Pulp = 
+
+#gates.lua
+Scorched Wood Fence Gate = 
+Frost Wood Fence Gate = 
+Redwood Fence Gate = 
+Willow Wood Fence Gate = 
+Healing Wood Fence Gate = 
+Palm Wood Fence Gate = 
+Banana Wood Fence Gate = 
+Mushroom Trunk Fence Gate = 
+Birch Wood Fence Gate = 
+
+#init.lua
+[MOD] Ethereal loaded = 
+
+#leaves.lua
+Willow Twig = 
+Redwood Leaves = 
+Orange Leaves = 
+Banana Leaves = 
+Healing Tree Leaves = 
+Palm Leaves = 
+Birch Leaves = 
+Frost Leaves = 
+Bamboo Leaves = 
+Mushroom Cap = 
+Mushroom Pore = 
+Bush = 
+Bush #2 = 
+Bush #3 = 
+
+#mushroom.lua
+Mushroom Soup = 
+
+#onion.lua
+Wild Onion = 
+
+#plantlife.lua
+Fire Flower = 
+Fire Dust = 
+Vine = 
+Light String Vine = 
+Fern = 
+Fern Tubers = 
+Fiery Dry Shrub = 
+Snowy Grass = 
+Crystal Grass = 
+Crystal Moss = 
+Mushroom Moss = 
+Fiery Moss = 
+Gray Moss = 
+Green Moss = 
+Red Illumishroom = 
+Green Illumishroom = 
+Cyan Illumishroom = 
+
+#sapling.lua
+Bamboo Sprout = 
+Willow Tree Sapling = 
+Healing Tree Sapling = 
+Apple Tree Sapling = 
+Jungle Tree Sapling = 
+Pine Tree Sapling = 
+Big Tree Sapling = 
+Banana Tree Sapling = 
+Frost Tree Sapling = 
+Mushroom Tree Sapling = 
+Palm Tree Sapling = 
+Redwood Tree Sapling = 
+Orange Tree Sapling = 
+Acacia Tree Sapling = 
+Birch Tree Sapling = 
+Schematic not found = 
+
+#sealife.lua
+Seaweed = 
+Blue Coral = 
+Orange Coral = 
+Pink Coral = 
+Green Coral = 
+Sandy = 
+
+#stairs.lua
+Crystal Block Stair = 
+Crystal Block Slab = 
+Ice Brick Stair = 
+Ice Brick Slab = 
+Snow Brick Stair = 
+Snow Brick Slab = 
+Dry Dirt Stair = 
+Dry Dirt Slab = 
+Mushroom Trunk Stair = 
+Mushroom Trunk Slab = 
+Mushroom Top Stair = 
+Mushroom Top Slab = 
+Frost Wood Stair = 
+Frost Wood Slab = 
+Healing Wood Stair = 
+Healing Wood Slab = 
+Palm Wood Stair = 
+Palm Wood Slab = 
+Birch Wood Stair = 
+Birch Wood Slab = 
+Banana Wood Stair = 
+Banana Wood Slab = 
+Willow Wood Stair = 
+Willow Wood Slab = 
+Redwood Stair = 
+Redwood Slab = 
+Bamboo Stair = 
+Bamboo Slab = 
+Dry Dirt = 
+Mushroom Trunk = 
+Mushroom Top = 
+Healing Wood = 
+Redwood = 
+
+#strawberry.lua
+Strawberry = 
+
+#water.lua
+Ice Brick = 
+Snow Brick = 
+
+#wood.lua
+Willow Trunk = 
+Willow Wood = 
+Redwood Trunk = 
+Redwood Wood = 
+Frost Tree = 
+Frost Wood = 
+Healing Tree Trunk = 
+Healing Tree Wood = 
+Palm Trunk = 
+Palm Wood = 
+Banana Trunk = 
+Banana Wood = 
+Scorched Tree = 
+Mushroom = 
+Birch Trunk = 
+Birch Wood = 
+Bamboo = 
\ No newline at end of file
diff --git a/mushroom.lua b/mushroom.lua
index 3df858b..91947e1 100644
--- a/mushroom.lua
+++ b/mushroom.lua
@@ -1,7 +1,9 @@
 
+local S = ethereal.intllib
+
 -- mushroom soup (Heals 1 heart)
 minetest.register_craftitem("ethereal:mushroom_soup", {
-	description = "Mushroom Soup",
+	description = S("Mushroom Soup"),
 	inventory_image = "mushroom_soup.png",
 	on_use = minetest.item_eat(5, "ethereal:bowl"),
 })
diff --git a/onion.lua b/onion.lua
index 4678ca5..69eb8f5 100644
--- a/onion.lua
+++ b/onion.lua
@@ -1,7 +1,9 @@
 
+local S = ethereal.intllib
+
 -- wild onion
 minetest.register_craftitem("ethereal:wild_onion_plant", {
-	description = "Wild Onion",
+	description = S("Wild Onion"),
 	inventory_image = "wild_onion.png",
 	wield_image = "wild_onion.png",
 	on_place = function(itemstack, placer, pointed_thing)
diff --git a/plantlife.lua b/plantlife.lua
index 7d5bca5..98ba936 100644
--- a/plantlife.lua
+++ b/plantlife.lua
@@ -1,7 +1,9 @@
 
+local S = ethereal.intllib
+
 -- Fire Flower
 minetest.register_node("ethereal:fire_flower", {
-	description = "Fire Flower",
+	description = S("Fire Flower"),
 	drawtype = "plantlike",
 	tiles = { "ethereal_fire_flower.png" },
 	inventory_image = "ethereal_fire_flower.png",
@@ -36,7 +38,7 @@ minetest.register_craft({
 
 -- Fire Dust
 minetest.register_craftitem("ethereal:fire_dust", {
-	description = "Fire Dust",
+	description = S("Fire Dust"),
 	inventory_image = "fire_dust.png",
 })
 
@@ -55,7 +57,7 @@ minetest.register_craft({
 
 -- vines
 minetest.register_node("ethereal:vine", {
-	description = "Vine",
+	description = S("Vine"),
 	drawtype = "signlike",
 	tiles = {"vine.png"},
 	inventory_image = "vine.png",
@@ -84,7 +86,7 @@ minetest.register_craft({
 
 -- light strings (glowing vine)
 minetest.register_node("ethereal:lightstring", {
-	description = "Light String Vine",
+	description = S("Light String Vine"),
 	drawtype = "signlike",
 	tiles = {"lightstring.png"},
 	inventory_image = "lightstring.png",
@@ -114,7 +116,7 @@ minetest.register_craft({
 
 -- Fern (boston)
 minetest.register_node("ethereal:fern", {
-	description = "Fern",
+	description = S("Fern"),
 	drawtype = "plantlike",
 	visual_scale = 1.2,
 	tiles = {"fern.png"},
@@ -142,14 +144,14 @@ minetest.register_node("ethereal:fern", {
 
 -- Boston Ferns sometimes drop edible Tubers (heals 1/2 heart when eaten)
 minetest.register_craftitem("ethereal:fern_tubers", {
-	description = "Fern Tubers",
+	description = S("Fern Tubers"),
 	inventory_image = "fern_tubers.png",
 	on_use = minetest.item_eat(1),
 })
 
 -- Red Shrub (not flammable)
 minetest.register_node("ethereal:dry_shrub", {
-	description = "Fiery Dry Shrub",
+	description = S("Fiery Dry Shrub"),
 	drawtype = "plantlike",
 	visual_scale = 1.0,
 	tiles = {"ethereal_dry_shrub.png"},
@@ -170,7 +172,7 @@ minetest.register_node("ethereal:dry_shrub", {
 
 -- Grey Shrub (not Flammable - too cold to burn)
 minetest.register_node("ethereal:snowygrass", {
-	description = "Snowy Grass",
+	description = S("Snowy Grass"),
 	drawtype = "plantlike",
 	visual_scale = 0.9,
 	tiles = {"ethereal_snowygrass.png"},
@@ -191,7 +193,7 @@ minetest.register_node("ethereal:snowygrass", {
 
 -- Crystal Shrub (not Flammable - too cold to burn)
 minetest.register_node("ethereal:crystalgrass", {
-	description = "Crystal Grass",
+	description = S("Crystal Grass"),
 	drawtype = "plantlike",
 	visual_scale = 0.9,
 	tiles = {"ethereal_crystalgrass.png"},
@@ -214,7 +216,7 @@ minetest.register_node("ethereal:crystalgrass", {
 function ethereal.add_moss(typ, descr, texture, receipe_item)
 
 	minetest.register_node("ethereal:" .. typ .. "_moss", {
-		description = descr .. " Moss",
+		description = S(descr .. " Moss"),
 		tiles = {texture},
 		groups = {crumbly = 3},
 		sounds = default.node_sound_dirt_defaults()
@@ -234,7 +236,7 @@ ethereal.add_moss( "green", "Green", "default_grass.png", "default:jungleleaves"
 
 -- Illuminated Cave Shrooms (Red, Green and Blue)
 minetest.register_node("ethereal:illumishroom", {
-	description = "Red Illumishroom",
+	description = S("Red Illumishroom"),
 	drawtype = "plantlike",
 	tiles = { "illumishroom.png" },
 	inventory_image = "illumishroom.png",
@@ -252,7 +254,7 @@ minetest.register_node("ethereal:illumishroom", {
 })
 
 minetest.register_node("ethereal:illumishroom2", {
-	description = "Green Illumishroom",
+	description = S("Green Illumishroom"),
 	drawtype = "plantlike",
 	tiles = { "illumishroom2.png" },
 	inventory_image = "illumishroom2.png",
@@ -270,7 +272,7 @@ minetest.register_node("ethereal:illumishroom2", {
 })
 
 minetest.register_node("ethereal:illumishroom3", {
-	description = "Cyan Illumishroom",
+	description = S("Cyan Illumishroom"),
 	drawtype = "plantlike",
 	tiles = { "illumishroom3.png" },
 	inventory_image = "illumishroom3.png",
diff --git a/sapling.lua b/sapling.lua
index f0007a5..ceee452 100644
--- a/sapling.lua
+++ b/sapling.lua
@@ -1,7 +1,9 @@
 
+local S = ethereal.intllib
+
 -- Bamboo Sprout
 minetest.register_node("ethereal:bamboo_sprout", {
-	description = "Bamboo Sprout",
+	description = S("Bamboo Sprout"),
 	drawtype = "plantlike",
 	tiles = {"bamboo_sprout.png"},
 	inventory_image = "bamboo_sprout.png",
@@ -25,7 +27,7 @@ minetest.register_node("ethereal:bamboo_sprout", {
 ethereal.register_sapling = function(name, desc, texture)
 
 	minetest.register_node(name .. "_sapling", {
-		description = desc .. " Tree Sapling",
+		description = S(desc .. " Tree Sapling"),
 		drawtype = "plantlike",
 		visual_scale = 1.0,
 		tiles = {texture .. ".png"},
@@ -61,7 +63,7 @@ ethereal.register_sapling("ethereal:birch", "Birch", "moretrees_birch_sapling")
 ethereal.add_tree = function (pos, ofx, ofy, ofz, schem)
 	-- check for schematic
 	if not schem then
-		print ("Schematic not found")
+		print (S("Schematic not found"))
 		return
 	end
 	-- remove sapling and place schematic
diff --git a/sealife.lua b/sealife.lua
index ceb27a6..9d0a1f7 100644
--- a/sealife.lua
+++ b/sealife.lua
@@ -1,7 +1,9 @@
 
+local S = ethereal.intllib
+
 -- Seaweed
 minetest.register_node("ethereal:seaweed", {
-	description = "Seaweed",
+	description = S("Seaweed"),
 	drawtype = "plantlike",
 	tiles = {"seaweed.png"},
 	inventory_image = "seaweed.png",
@@ -31,7 +33,7 @@ minetest.register_craft( {
 
 -- Blue Coral
 minetest.register_node("ethereal:coral2", {
-	description = "Blue Coral",
+	description = S("Blue Coral"),
 	drawtype = "plantlike",
 	tiles = {"coral2.png"},
 	inventory_image = "coral2.png",
@@ -54,7 +56,7 @@ minetest.register_craft( {
 
 -- Orange Coral
 minetest.register_node("ethereal:coral3", {
-	description = "Orange Coral",
+	description = S("Orange Coral"),
 	drawtype = "plantlike",
 	tiles = {"coral3.png"},
 	inventory_image = "coral3.png",
@@ -77,7 +79,7 @@ minetest.register_craft( {
 
 -- Pink Coral
 minetest.register_node("ethereal:coral4", {
-	description = "Pink Coral",
+	description = S("Pink Coral"),
 	drawtype = "plantlike",
 	tiles = {"coral4.png"},
 	inventory_image = "coral4.png",
@@ -100,7 +102,7 @@ minetest.register_craft( {
 
 -- Green Coral
 minetest.register_node("ethereal:coral5", {
-	description = "Green Coral",
+	description = S("Green Coral"),
 	drawtype = "plantlike",
 	tiles = {"coral5.png"},
 	inventory_image = "coral5.png",
@@ -123,7 +125,7 @@ minetest.register_craft( {
 
 -- Undersea Sand
 minetest.register_node("ethereal:sandy", {
-	description = "Sandy",
+	description = S("Sandy"),
 	tiles = {"default_sand.png"},
 	is_ground_content = true,
 	groups = {
diff --git a/stairs.lua b/stairs.lua
index aa4236a..5cf51ff 100644
--- a/stairs.lua
+++ b/stairs.lua
@@ -1,26 +1,28 @@
 
+local S = ethereal.intllib
+
 -- Stairs Redo
 if stairs and stairs.mod and stairs.mod == "redo" then
 
 stairs.register_all("crystal_block", "ethereal:crystal_block",
 	{cracky = 1, level = 2},
 	{"crystal_block.png"},
-	"Crystal Block Stair",
-	"Crystal Block Slab",
+	S("Crystal Block Stair"),
+	S("Crystal Block Slab"),
 	default.node_sound_glass_defaults())
 
 stairs.register_all("icebrick", "ethereal:icebrick",
 	{crumbly = 3, melts = 1},
 	{"brick_ice.png"},
-	"Ice Brick Stair",
-	"Ice Brick Slab",
+	S("Ice Brick Stair"),
+	S("Ice Brick Slab"),
 	default.node_sound_glass_defaults())
 		
 stairs.register_all("snowbrick", "ethereal:snowbrick",
 	{crumbly = 3, melts = 1},
 	{"brick_snow.png"},
-	"Snow Brick Stair",
-	"Snow Brick Slab",
+	S("Snow Brick Stair"),
+	S("Snow Brick Slab"),
 	default.node_sound_dirt_defaults({
 		footstep = {name = "default_snow_footstep", gain = 0.25},
 		dug = {name = "default_snow_footstep", gain = 0.75},
@@ -29,99 +31,99 @@ stairs.register_all("snowbrick", "ethereal:snowbrick",
 stairs.register_all("dry_dirt", "ethereal:dry_dirt",
 	{crumbly = 3},
 	{"ethereal_dry_dirt.png"},
-	"Dry Dirt Stair",
-	"Dry Dirt Slab",
+	S("Dry Dirt Stair"),
+	S("Dry Dirt Slab"),
 	default.node_sound_dirt_defaults())
 
 stairs.register_all("mushroom_trunk", "ethereal:mushroom_trunk",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
 	{"mushroom_trunk.png"},
-	"Mushroom Trunk Stair",
-	"Mushroom Trunk Slab",
+	S("Mushroom Trunk Stair"),
+	S("Mushroom Trunk Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_all("mushroom", "ethereal:mushroom",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
 	{"mushroom_block.png"},
-	"Mushroom Top Stair",
-	"Mushroom Top Slab",
+	S("Mushroom Top Stair"),
+	S("Mushroom Top Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_all("frost_wood", "ethereal:frost_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
 	{"frost_wood.png"},
-	"Frost Wood Stair",
-	"Frost Wood Slab",
+	S("Frost Wood Stair"),
+	S("Frost Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_all("yellow_wood", "ethereal:yellow_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
 	{"yellow_wood.png"},
-	"Healing Wood Stair",
-	"Healing Wood Slab",
+	S("Healing Wood Stair"),
+	S("Healing Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_all("palm_wood", "ethereal:palm_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"moretrees_palm_wood.png"},
-	"Palm Wood Stair",
-	"Palm Wood Slab",
+	S("Palm Wood Stair"),
+	S("Palm Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_all("birch_wood", "ethereal:birch_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"moretrees_birch_wood.png"},
-	"Birch Wood Stair",
-	"Birch Wood Slab",
+	S("Birch Wood Stair"),
+	S("Birch Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_all("banana_wood", "ethereal:banana_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"banana_wood.png"},
-	"Banana Wood Stair",
-	"Banana Wood Slab",
+	S("Banana Wood Stair"),
+	S("Banana Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_all("willow_wood", "ethereal:willow_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"willow_wood.png"},
-	"Willow Wood Stair",
-	"Willow Wood Slab",
+	S("Willow Wood Stair"),
+	S("Willow Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_all("redwood_wood", "ethereal:redwood_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"redwood_wood.png"},
-	"Redwood stair",
-	"Redwood Slab",
+	S("Redwood stair"),
+	S("Redwood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_all("bamboo_wood", "ethereal:bamboo_floor",
 	{snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"bamboo_floor.png"},
-	"Bamboo stair",
-	"Bamboo Slab",
+	S("Bamboo stair"),
+	S("Bamboo Slab"),
 	default.node_sound_wood_defaults())
 
 -- Stairs Plus (in More Blocks)
 elseif minetest.global_exists("stairsplus") then
 
 stairsplus:register_all("ethereal", "crystal_block", "ethereal:crystal_block", {
-	description = "Crystal block",
+	description = S("Crystal block"),
 	tiles = {"crystal_block.png"},
 	groups = {cracky = 1, falling_node = 1, puts_out_fire = 1},
 	sounds = default.node_sound_glass_defaults(),
 })
 
 stairsplus:register_all("ethereal", "icebrick", "ethereal:icebrick", {
-	description = "Ice Brick",
+	description = S("Ice Brick"),
 	tiles = {"brick_ice.png"},
 	groups = {crumbly = 3, melts = 1},
 	sounds = default.node_sound_glass_defaults(),
 })
 
 stairsplus:register_all("ethereal", "snowbrick", "ethereal:snowbrick", {
-	description = "Snow Brick",
+	description = S("Snow Brick"),
 	tiles = {"brick_snow.png"},
 	groups = {crumbly = 3, melts = 1},
 	sounds = default.node_sound_dirt_defaults({
@@ -131,77 +133,77 @@ stairsplus:register_all("ethereal", "snowbrick", "ethereal:snowbrick", {
 })
 
 stairsplus:register_all("ethereal", "dry_dirt", "ethereal:dry_dirt", {
-	description = "Dry Dirt",
+	description = S("Dry Dirt"),
 	tiles = {"ethereal_dry_dirt.png"},
 	groups = {crumbly = 3},
 	sounds = default.node_sound_dirt_defaults(),
 })
 
 stairsplus:register_all("ethereal", "mushroom_trunk", "ethereal:mushroom_trunk", {
-	description = "Mushroom Trunk",
+	description = S("Mushroom Trunk"),
 	tiles = {"mushroom_trunk.png"},
 	groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
 	sounds = default.node_sound_wood_defaults(),
 })
 
 stairsplus:register_all("ethereal", "mushroom", "ethereal:mushroom", {
-	description = "Mushroom Top",
+	description = S("Mushroom Top"),
 	tiles = {"mushroom_block.png"},
 	groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
 	sounds = default.node_sound_wood_defaults(),
 })
 
 stairsplus:register_all("ethereal", "frost_wood", "ethereal:frost_wood", {
-	description = "Frost Wood",
+	description = S("Frost Wood"),
 	tiles = {"frost_wood.png"},
 	groups = {choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
 	sounds = default.node_sound_wood_defaults(),
 })
 
 stairsplus:register_all("ethereal", "yellow_wood", "ethereal:yellow_wood", {
-	description = "Healing Wood",
+	description = S("Healing Wood"),
 	tiles = {"yellow_wood.png"},
 	groups = {choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
 	sounds = default.node_sound_wood_defaults(),
 })
 
 stairsplus:register_all("ethereal", "palm_wood", "ethereal:palm_wood", {
-	description = "Palm Wood",
+	description = S("Palm Wood"),
 	tiles = {"moretrees_palm_wood.png"},
 	groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	sounds = default.node_sound_wood_defaults(),
 })
 
 stairsplus:register_all("ethereal", "birch_wood", "ethereal:birch_wood", {
-	description = "Birch Wood",
+	description = S("Birch Wood"),
 	tiles = {"moretrees_birch_wood.png"},
 	groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	sounds = default.node_sound_wood_defaults(),
 })
 
 stairsplus:register_all("ethereal", "banana_wood", "ethereal:banana_wood", {
-	description = "Banana Wood",
+	description = S("Banana Wood"),
 	tiles = {"banana_wood.png"},
 	groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	sounds = default.node_sound_wood_defaults(),
 })
 
 stairsplus:register_all("ethereal", "willow_wood", "ethereal:willow_wood", {
-	description = "Willow Wood",
+	description = S("Willow Wood"),
 	tiles = {"willow_wood.png"},
 	groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	sounds = default.node_sound_wood_defaults(),
 })
 
 stairsplus:register_all("ethereal", "redwood_wood", "ethereal:redwood_wood", {
-	description = "Redwood",
+	description = S("Redwood"),
 	tiles = {"redwood_wood.png"},
 	groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	sounds = default.node_sound_wood_defaults(),
 })
 
 stairsplus:register_all("ethereal", "bamboo_wood", "ethereal:bamboo_floor", {
-	description = "Bamboo",
+	description = S("Bamboo"),
 	tiles = {"bamboo_floor.png"},
 	groups = {snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	sounds = default.node_sound_wood_defaults(),
@@ -213,22 +215,22 @@ else
 stairs.register_stair_and_slab("crystal_block", "ethereal:crystal_block",
 	{cracky = 1, level = 2},
 	{"crystal_block.png"},
-	"Crystal Block Stair",
-	"Crystal Block Slab",
+	S("Crystal Block Stair"),
+	S("Crystal Block Slab"),
 	default.node_sound_glass_defaults())
 
 stairs.register_stair_and_slab("icebrick", "ethereal:icebrick",
 	{crumbly = 3, melts = 1},
 	{"brick_ice.png"},
-	"Ice Brick Stair",
-	"Ice Brick Slab",
+	S("Ice Brick Stair"),
+	S("Ice Brick Slab"),
 	default.node_sound_glass_defaults())
 		
 stairs.register_stair_and_slab("snowbrick", "ethereal:snowbrick",
 	{crumbly = 3, melts = 1},
 	{"brick_snow.png"},
-	"Snow Brick Stair",
-	"Snow Brick Slab",
+	S("Snow Brick Stair"),
+	S("Snow Brick Slab"),
 	default.node_sound_dirt_defaults({
 		footstep = {name = "default_snow_footstep", gain = 0.25},
 		dug = {name = "default_snow_footstep", gain = 0.75},
@@ -237,43 +239,43 @@ stairs.register_stair_and_slab("snowbrick", "ethereal:snowbrick",
 stairs.register_stair_and_slab("dry_dirt", "ethereal:dry_dirt",
 	{crumbly = 3},
 	{"ethereal_dry_dirt.png"},
-	"Dry Dirt Stair",
-	"Dry Dirt Slab",
+	S("Dry Dirt Stair"),
+	S("Dry Dirt Slab"),
 	default.node_sound_dirt_defaults())
 
 stairs.register_stair_and_slab("mushroom_trunk", "ethereal:mushroom_trunk",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
 	{"mushroom_trunk.png"},
-	"Mushroom Trunk Stair",
-	"Mushroom Trunk Slab",
+	S("Mushroom Trunk Stair"),
+	S("Mushroom Trunk Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_stair_and_slab("mushroom", "ethereal:mushroom",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
 	{"mushroom_block.png"},
-	"Mushroom Top Stair",
-	"Mushroom Top Slab",
+	S("Mushroom Top Stair"),
+	S("Mushroom Top Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_stair_and_slab("frost_wood", "ethereal:frost_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
 	{"frost_wood.png"},
-	"Frost Wood Stair",
-	"Frost Wood Slab",
+	S("Frost Wood Stair"),
+	S("Frost Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_stair_and_slab("yellow_wood", "ethereal:yellow_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
 	{"yellow_wood.png"},
-	"Healing Wood Stair",
-	"Healing Wood Slab",
+	S("Healing Wood Stair"),
+	S("Healing Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_stair_and_slab("palm_wood", "ethereal:palm_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"moretrees_palm_wood.png"},
-	"Palm Wood Stair",
-	"Palm Wood Slab",
+	S("Palm Wood Stair"),
+	S("Palm Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_stair_and_slab("birch_wood", "ethereal:birch_wood",
@@ -286,29 +288,29 @@ stairs.register_stair_and_slab("birch_wood", "ethereal:birch_wood",
 stairs.register_stair_and_slab("banana_wood", "ethereal:banana_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"banana_wood.png"},
-	"Banana Wood Stair",
-	"Banana Wood Slab",
+	S("Banana Wood Stair"),
+	S("Banana Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_stair_and_slab("willow_wood", "ethereal:willow_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"willow_wood.png"},
-	"Willow Wood Stair",
-	"Willow Wood Slab",
+	S("Willow Wood Stair"),
+	S("Willow Wood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_stair_and_slab("redwood_wood", "ethereal:redwood_wood",
 	{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"redwood_wood.png"},
-	"Redwood stair",
-	"Redwood Slab",
+	S("Redwood stair"),
+	S("Redwood Slab"),
 	default.node_sound_wood_defaults())
 
 stairs.register_stair_and_slab("bamboo_wood", "ethereal:bamboo_floor",
 	{snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
 	{"bamboo_floor.png"},
-	"Bamboo stair",
-	"Bamboo Slab",
+	S("Bamboo stair"),
+	S("Bamboo Slab"),
 	default.node_sound_wood_defaults())
 
 end
diff --git a/strawberry.lua b/strawberry.lua
index 22cbdae..0147d43 100644
--- a/strawberry.lua
+++ b/strawberry.lua
@@ -1,7 +1,9 @@
 
+local S = ethereal.intllib
+
 -- Strawberry (can also be planted as seed)
 minetest.register_craftitem("ethereal:strawberry", {
-	description = "Strawberry",
+	description = S("Strawberry"),
 	inventory_image = "strawberry.png",
 	wield_image = "strawberry.png",
 	on_place = function(itemstack, placer, pointed_thing)
diff --git a/water.lua b/water.lua
index c9d58ec..8784ac8 100644
--- a/water.lua
+++ b/water.lua
@@ -1,7 +1,9 @@
 
+local S = ethereal.intllib
+
 -- Ice Brick
 minetest.register_node("ethereal:icebrick", {
-	description = "Ice Brick",
+	description = S("Ice Brick"),
 	tiles = {"brick_ice.png"},
 	paramtype = "light",
 	freezemelt = "default:water_source",
@@ -20,7 +22,7 @@ minetest.register_craft({
 
 -- Snow Brick
 minetest.register_node("ethereal:snowbrick", {
-	description = "Snow Brick",
+	description = S("Snow Brick"),
 	tiles = {"brick_snow.png"},
 	paramtype = "light",
 	freezemelt = "default:water_source",
diff --git a/wood.lua b/wood.lua
index febdd39..3e63846 100644
--- a/wood.lua
+++ b/wood.lua
@@ -1,7 +1,9 @@
 
+local S = ethereal.intllib
+
 -- willow trunk
 minetest.register_node("ethereal:willow_trunk", {
-	description = "Willow Trunk",
+	description = S("Willow Trunk"),
 	tiles = {
 		"willow_trunk_top.png",
 		"willow_trunk_top.png",
@@ -15,7 +17,7 @@ minetest.register_node("ethereal:willow_trunk", {
 
 -- willow wood
 minetest.register_node("ethereal:willow_wood", {
-	description = "Willow Wood",
+	description = S("Willow Wood"),
 	tiles = {"willow_wood.png"},
 	is_ground_content = false,
 	groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
@@ -29,7 +31,7 @@ minetest.register_craft({
 
 -- redwood trunk
 minetest.register_node("ethereal:redwood_trunk", {
-	description = "Redwood Trunk",
+	description = S("Redwood Trunk"),
 	tiles = {
 		"redwood_trunk_top.png",
 		"redwood_trunk_top.png",
@@ -43,7 +45,7 @@ minetest.register_node("ethereal:redwood_trunk", {
 
 -- redwood wood
 minetest.register_node("ethereal:redwood_wood", {
-	description = "Redwood Wood",
+	description = S("Redwood Wood"),
 	tiles = {"redwood_wood.png"},
 	is_ground_content = false,
 	groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
@@ -57,7 +59,7 @@ minetest.register_craft({
 
 -- frost trunk
 minetest.register_node("ethereal:frost_tree", {
-	description = "Frost Tree",
+	description = S("Frost Tree"),
 	tiles = {
 		"ethereal_frost_tree_top.png",
 		"ethereal_frost_tree_top.png",
@@ -71,7 +73,7 @@ minetest.register_node("ethereal:frost_tree", {
 
 -- frost wood
 minetest.register_node("ethereal:frost_wood", {
-	description = "Frost Wood",
+	description = S("Frost Wood"),
 	tiles = {"frost_wood.png"},
 	is_ground_content = false,
 	groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
@@ -85,7 +87,7 @@ minetest.register_craft({
 
 -- healing trunk
 minetest.register_node("ethereal:yellow_trunk", {
-	description = "Healing Tree Trunk",
+	description = S("Healing Tree Trunk"),
 	tiles = {
 		"yellow_tree_top.png",
 		"yellow_tree_top.png",
@@ -99,7 +101,7 @@ minetest.register_node("ethereal:yellow_trunk", {
 
 -- healing wood
 minetest.register_node("ethereal:yellow_wood", {
-	description = "Healing Tree Wood",
+	description = S("Healing Tree Wood"),
 	tiles = {"yellow_wood.png"},
 	is_ground_content = false,
 	groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
@@ -113,7 +115,7 @@ minetest.register_craft({
 
 -- palm trunk (thanks to VanessaE for palm textures)
 minetest.register_node("ethereal:palm_trunk", {
-	description = "Palm Trunk",
+	description = S("Palm Trunk"),
 	tiles = {
 		"moretrees_palm_trunk_top.png",
 		"moretrees_palm_trunk_top.png",
@@ -127,7 +129,7 @@ minetest.register_node("ethereal:palm_trunk", {
 
 -- palm wood
 minetest.register_node("ethereal:palm_wood", {
-	description = "Palm Wood",
+	description = S("Palm Wood"),
 	tiles = {"moretrees_palm_wood.png"},
 	is_ground_content = false,
 	groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
@@ -141,7 +143,7 @@ minetest.register_craft({
 
 -- banana trunk
 minetest.register_node("ethereal:banana_trunk", {
-	description = "Banana Trunk",
+	description = S("Banana Trunk"),
 	tiles = {
 		"banana_trunk_top.png",
 		"banana_trunk_top.png",
@@ -155,7 +157,7 @@ minetest.register_node("ethereal:banana_trunk", {
 
 -- banana wood
 minetest.register_node("ethereal:banana_wood", {
-	description = "Banana Wood",
+	description = S("Banana Wood"),
 	tiles = {"banana_wood.png"},
 	is_ground_content = false,
 	groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
@@ -169,7 +171,7 @@ minetest.register_craft({
 
 -- scorched trunk
 minetest.register_node("ethereal:scorched_tree", {
-	description = "Scorched Tree",
+	description = S("Scorched Tree"),
 	tiles = {
 		"scorched_tree_top.png",
 		"scorched_tree_top.png",
@@ -192,7 +194,7 @@ minetest.register_craft({
 
 -- mushroom trunk
 minetest.register_node("ethereal:mushroom_trunk", {
-	description = "Mushroom",
+	description = S("Mushroom"),
 	tiles = {
 		"mushroom_trunk_top.png",
 		"mushroom_trunk_top.png",
@@ -206,7 +208,7 @@ minetest.register_node("ethereal:mushroom_trunk", {
 
 -- birch trunk (thanks to VanessaE for birch textures)
 minetest.register_node("ethereal:birch_trunk", {
-	description = "Birch Trunk",
+	description = S("Birch Trunk"),
 	tiles = {
 		"moretrees_birch_trunk_top.png",
 		"moretrees_birch_trunk_top.png",
@@ -220,7 +222,7 @@ minetest.register_node("ethereal:birch_trunk", {
 
 -- birch wood
 minetest.register_node("ethereal:birch_wood", {
-	description = "Birch Wood",
+	description = S("Birch Wood"),
 	tiles = {"moretrees_birch_wood.png"},
 	is_ground_content = false,
 	groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
@@ -234,7 +236,7 @@ minetest.register_craft({
 
 -- Bamboo (thanks to Nelo-slay on DeviantArt for the free Bamboo base image)
 minetest.register_node("ethereal:bamboo", {
-	description = "bamboo",
+	description = S("Bamboo"),
 	drawtype = "plantlike",
 	tiles = {"bamboo.png"},
 	inventory_image = "bamboo.png",
-- 
GitLab