Wikipedia
madwiki
https://mad.wikipedia.org/wiki/Tan%C3%A8yan
MediaWiki 1.47.0-wmf.10
first-letter
Mèḍia
Spesial
Pakanḍhâ'ân
Pangangghuy
Pakanḍhâ'ânna pangangghuy
Wikipèḍia
Pakanḍhâ'ânna Wikipèḍia
Bhengkek
Pakanḍhâ'ânna bhengkek
MèḍiaWiki
Pakanḍhâ'ânna MèḍiaWiki
Cèṭa'an
Pakanḍhâ'ânna cèṭa'an
Bhântowan
Pakanḍhâ'ânna bhântowan
Bhângsa
Pakanḍhâ'ânna bhângsa
TimedText
TimedText talk
Modul
Pembicaraan Modul
Acara
Pembicaraan Acara
Modul:Params
828
3367
64874
64688
2026-07-09T20:15:58Z
Grufo
5223
[[:mw:Module:Params|Upstream]] updates
64874
Scribunto
text/plain
require[[strict]]
--- ---
--- PRIVATE ENVIRONMENT ---
--- ________________________________ ---
--- ---
--[[ Abstract utilities ]]--
----------------------------
-- Helper function for `string.gsub()` (for managing zero-padded numbers)
local function zero_padded (str)
return ('%03d%s'):format(#str, str)
end
-- Helper function for `table.sort()` (for natural sorting)
local function natural_sort (var1, var2)
return var1:gsub('%d+', zero_padded) < var2:gsub('%d+', zero_padded)
end
-- Return a copy or a reference to a table
local function copy_or_ref_table (src, refonly)
if refonly then return src end
local newtab = {}
for key, val in pairs(src) do newtab[key] = val end
return newtab
end
-- Remove some numeric elements from a table, shifting everything to the left
local function remove_numeric_keys (tbl, idx, len)
local cache, tmp = {}, idx + len - 1
for key, val in pairs(tbl) do
if type(key) == 'number' and key >= idx then
if key > tmp then cache[key - len] = val end
tbl[key] = nil
end
end
for key, val in pairs(cache) do tbl[key] = val end
end
-- Make a reduced copy of a table (shifting in both directions if necessary)
local function copy_table_reduced (tbl, idx, len)
local ret, tmp = {}, idx + len - 1
if idx > 0 then
for key, val in pairs(tbl) do
if type(key) ~= 'number' or key < idx then
ret[key] = val
elseif key > tmp then ret[key - len] = val end
end
elseif tmp > 0 then
local nshift = 1 - idx
for key, val in pairs(tbl) do
if type(key) ~= 'number' then ret[key] = val
elseif key > tmp then ret[key - tmp] = val
elseif key < idx then ret[key + nshift] = val end
end
else
for key, val in pairs(tbl) do
if type(key) ~= 'number' or key > tmp then
ret[key] = val
elseif key < idx then ret[key + len] = val end
end
end
return ret
end
-- Make an expanded copy of a table (shifting in both directions if necessary)
local function copy_table_expanded (tbl, idx, len)
local ret, tmp = {}, idx + len - 1
if idx > 0 then
for key, val in pairs(tbl) do
if type(key) ~= 'number' or key < idx then
ret[key] = val
else ret[key + len] = val end
end
elseif tmp > 0 then
local nshift = idx - 1
for key, val in pairs(tbl) do
if type(key) ~= 'number' then ret[key] = val
elseif key > 0 then ret[key + tmp] = val
elseif key < 1 then ret[key + nshift] = val end
end
else
for key, val in pairs(tbl) do
if type(key) ~= 'number' or key > tmp then
ret[key] = val
else ret[key - len] = val end
end
end
return ret
end
-- Given a table, create two new tables containing the sorted list of keys
local function get_key_list_sorted (tbl, sort_fn)
local nums, words, nn, nw = {}, {}, 0, 0
for key, val in pairs(tbl) do
if type(key) == 'number' then
nn = nn + 1
nums[nn] = key
else
nw = nw + 1
words[nw] = key
end
end
table.sort(nums)
table.sort(words, sort_fn)
return nums, words, nn, nw
end
-- Parse a parameter name string and return it as a string or a number
local function get_parameter_name (par_str)
local ret = par_str:match'^%s*(.-)%s*$'
if ret ~= '0' and ret:find'^%-?[1-9]%d*$' == nil then return ret end
return tonumber(ret)
end
-- Move a key from a table to another, but only if under a different name and
-- always parsing numeric strings as numbers
local function steal_if_renamed (val, src, skey, dest, dkey)
local realkey = get_parameter_name(dkey)
if skey ~= realkey then
dest[realkey] = val
src[skey] = nil
end
end
--[[ Public strings ]]--
------------------------
-- Special match keywords (functions and modifiers MUST avoid these names)
local mkeywords = {
['or'] = 0,
pattern = 1,
plain = 2,
strict = 3
}
-- Sort functions (functions and modifiers MUST avoid these names)
local sortfunctions = {
alphabetically = false,
naturally = natural_sort
}
-- Callback styles for the `mapping_*` and `renaming_*` class of modifiers
-- (functions and modifiers MUST avoid these names)
--[[
Meanings of the columns:
col[1] = Loop type (0-3)
col[2] = Number of module arguments that the style requires (1-3)
col[3] = Minimum number of sequential parameters passed to the callback
col[4] = Name of the callback parameter where to place each parameter name
col[5] = Name of the callback parameter where to place each parameter value
col[6] = Argument in the modifier's invocation that will override `col[4]`
col[7] = Argument in the modifier's invocation that will override `col[5]`
A value of `-1` indicates that no meaningful value is stored (i.e. `nil`)
]]--
local mapping_styles = {
names_and_values = { 3, 2, 2, 1, 2, -1, -1 },
values_and_names = { 3, 2, 2, 2, 1, -1, -1 },
values_only = { 1, 2, 1, -1, 1, -1, -1 },
names_only = { 2, 2, 1, 1, -1, -1, -1 },
names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 },
names_only_as = { 2, 3, 0, -1, -1, 2, -1 },
values_only_as = { 1, 3, 0, -1, -1, -1, 2 },
blindly = { 0, 2, 0, -1, -1, -1, -1 }
}
-- Memory slots (functions and modifiers MUST avoid these names)
local memoryslots = {
h = 'header',
f = 'footer',
i = 'itersep',
l = 'lastsep',
n = 'ifngiven',
p = 'pairsep',
s = 'oxfordsep'
}
-- Possible trimming modes for the `parsing` modifier
local trim_parse_opts = {
trim_none = { false, false },
trim_positional = { false, true },
trim_named = { true, false },
trim_all = { true, true }
}
-- Possible string modes for the iteration separator in the `parsing` and
-- `reinterpreting` modifiers
local isep_parse_opts = {
splitter_pattern = false,
splitter_string = true
}
-- Possible string modes for the key-value separator in the `parsing` and
-- `reinterpreting` modifiers
local psep_parse_opts = {
setter_pattern = false,
setter_string = true
}
-- Possible position references for the `splicing` modifier
local position_references = {
add_nothing = 0,
add_smallest_number = 1,
add_last_of_sequence = 2,
add_largest_number = 3
}
-- Functions and modifiers MUST avoid these names too: `let`, `here`,
-- `in_substack`, `without_sorting`
--[[ Private constants ]]--
---------------------------
-- Hard-coded name of the module (to avoid going through `frame:getTitle()`)
local modulename = 'Module:Params'
-- The functions listed here declare that they don't need the `frame.args`
-- metatable to be copied into a regular table; if they are modifiers they also
-- guarantee that they will make their own (modified) copy available
local refpipe = {
call_for_each_group = true,
--coins = true,
count = true,
evaluating = true,
for_each = true,
list = true,
list_values = true,
list_maybe_with_names = true,
value_of = true
}
-- The functions listed here declare that they don't need the
-- `frame:getParent().args` metatable to be copied into a regular table; if
-- they are modifiers they also guarantee that they will make their own
-- (modified) copy available
local refparams = {
call_for_each_group = true,
combining = true,
combining_by_calling = true,
combining_values = true,
concat_and_call = true,
concat_and_invoke = true,
concat_and_magic = true,
count = true,
grouping_by_calling = true,
mixing_names_and_values = true,
renaming_by_mixing = true,
renaming_to_sequence = true,
renaming_to_uppercase = true,
renaming_to_lowercase = true,
--renaming_to_values = true,
shifting = true,
splicing = true,
--swapping_names_and_values = true,
value_of = true,
with_name_matching = true
}
-- Maximum number of numeric parameters that can be filled, if missing (we
-- chose an arbitrary number for this constant; you can discuss about its
-- optimal value at Module talk:Params)
local maxfill = 1024
-- The private table of functions
local library = {}
-- Functions and modifiers that can only be invoked in first position
local static_iface = {}
--[[ Private functions ]]--
---------------------------
-- Create a new context
local function context_new (child_frame)
local ctx = {}
ctx.frame = child_frame:getParent()
ctx.opipe = child_frame.args
ctx.oparams = ctx.frame.args
ctx.firstposonly = static_iface
ctx.iterfunc = pairs
ctx.sorttype = 0
ctx.n_parents = 0
ctx.n_children = 0
ctx.n_available = maxfill
return ctx
end
-- Move to the next action within the user-given list
local function context_iterate (ctx, n_forward)
local nextfn
if ctx.pipe[n_forward] ~= nil then
nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)'
end
if nextfn == nil then error(modulename ..
': You must specify a function to call', 0) end
if library[nextfn] == nil then
if ctx.firstposonly[nextfn] == nil then error(modulename ..
': The function ‘' .. nextfn .. '’ does not exist', 0)
else error(modulename .. ': The ‘' .. nextfn ..
'’ directive can only appear in first position', 0)
end
end
remove_numeric_keys(ctx.pipe, 1, n_forward)
return library[nextfn]
end
-- Main loop
local function main_loop (ctx, start_with)
local fn = start_with
repeat fn = fn(ctx) until not fn
if ctx.n_parents > 0 then error(modulename ..
': One or more ‘merging_substack’ directives are missing', 0) end
if ctx.n_children > 0 then error(modulename ..
', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end
end
-- Load a `setting`-like directive string into the `dest` table
local function set_strings (dest, opts, start_from)
local cmd
if opts[start_from] == nil then return start_from - 1 end
cmd = opts[start_from]:gsub('%s+', ''):gsub('/+', '/')
:match'^/*(.*[^/])'
if cmd == nil then return start_from end
local amap, sep, argc = {}, string.byte('/'), start_from + 1
local vname
local chr
for idx = 1, #cmd do
chr = cmd:byte(idx)
if chr == sep then
for key, val in ipairs(amap) do
dest[val] = opts[argc]
amap[key] = nil
end
argc = argc + 1
else
vname = memoryslots[string.char(chr)]
if vname == nil then error(modulename ..
', ‘setting’: Unknown slot ‘' ..
string.char(chr) .. '’', 0) end
table.insert(amap, vname)
end
end
for key, val in ipairs(amap) do dest[val] = opts[argc] end
return argc
end
-- Add a new stack of parameters to `ctx.children`
local function new_substack (ctx)
local newparams = {}
local currsnap = ctx.n_children + 1
if ctx.children == nil then ctx.children = { newparams }
else ctx.children[currsnap] = newparams end
ctx.n_children = currsnap
return newparams
end
-- Parse a raw argument containing a `sortfunctions` directive, or
-- `'without_sorting'`, or `nil`
local function load_sort_opt (raw_arg)
if raw_arg == nil then return nil, 1, false end
local tmp = raw_arg:match'^%s*(.-)%s*$'
if tmp == 'without_sorting' then return nil, 2, false end
tmp = sortfunctions[tmp]
if tmp == nil then return nil, 1, false end
return tmp or nil, 2, true
end
-- Parse optional user arguments of type `...|[let]|[...][number of additional
-- parameters]|[parameter 1]|[parameter 2]|[...]`
local function load_child_opts (src, start_from, append_after)
local tbl, pin = {}, start_from
local tnamed
while src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and
src[pin + 1] ~= nil and src[pin + 2] ~= nil
do
tbl[get_parameter_name(src[pin + 1])] = src[pin + 2]
pin = pin + 3
end
if pin ~= start_from then tnamed, tbl = tbl, {} end
local tmp = tonumber(src[pin])
if tmp ~= nil and math.floor(tmp) == tmp then
if tmp < 0 then tmp = -1 end
local shf = append_after - pin
for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end
pin = pin + tmp + 1
end
if tnamed ~= nil then
for key, val in pairs(tnamed) do tbl[key] = val end
end
return tbl, pin
end
-- Load the optional arguments of some of the `mapping_*` and `renaming_*`
-- class of modifiers
local function load_callback_opts (src, n_skip, default_style)
local style
local shf
local tmp = src[n_skip + 1]
if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end
if style == nil then style, shf = default_style, n_skip - 1
else shf = n_skip end
local n_exist, karg, varg = style[3], style[4], style[5]
tmp = style[6]
if tmp > -1 then
karg = src[tmp + shf]:match'^%s*(.-)%s*$'
if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then
karg = tonumber(karg)
n_exist = math.max(n_exist, karg)
end
end
tmp = style[7]
if tmp > -1 then
varg = src[tmp + shf]:match'^%s*(.-)%s*$'
if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then
varg = tonumber(varg)
n_exist = math.max(n_exist, varg)
end
end
local dest, nargs = load_child_opts(src, style[2] + shf, n_exist)
tmp = style[1]
if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then
tmp = tmp - 2 end
if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then
tmp = tmp - 1 end
return dest, nargs, tmp, karg, varg
end
-- Parse the arguments of some of the `mapping_*` and `renaming_*` class of
-- modifiers
local function load_replace_args (opts, whoami)
if opts[1] == nil then error(modulename ..
', ‘' .. whoami .. '’: No pattern string was given', 0) end
if opts[2] == nil then error(modulename ..
', ‘' .. whoami .. '’: No replacement string was given', 0) end
local ptn, repl, nmax, argc = opts[1], opts[2], tonumber(opts[3]), 3
if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end
local flg = opts[argc]
if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end
if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end
return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or
(flg == 3 and ptn == repl)
end
-- Parse the arguments of the `with_*_matching` class of modifiers
local function load_pattern_args (opts, whoami)
local ptns, state, nptns, cnt = {}, 0, 0, 1
local keyw
for _, val in ipairs(opts) do
if state == 0 then
nptns, state = nptns + 1, -1
ptns[nptns] = { val, false, false }
else
keyw = val:match'^%s*(.*%S)'
if keyw == nil or mkeywords[keyw] == nil or (
state > 0 and mkeywords[keyw] > 0
) then break
else
state = mkeywords[keyw]
if state > 1 then ptns[nptns][2] = true end
if state == 3 then ptns[nptns][3] = true end
end
end
cnt = cnt + 1
end
if state == 0 then error(modulename .. ', ‘' .. whoami ..
'’: No pattern was given', 0) end
return ptns, nptns, cnt
end
-- Load the optional arguments of the `parsing`, `reinterpreting` and
-- `evaluating` modifiers
local function load_parse_opts (opts, start_from, isp, psp)
local tmp
local optslots, noptslots, argc = { true, true, true }, 3, start_from
local trimn, trimu, iplain, pplain = true, false, true, true
repeat
noptslots, tmp = noptslots - 1, opts[argc]
if tmp == nil then break end
tmp = tmp:match'^%s*(.-)%s*$'
if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then
tmp = trim_parse_opts[tmp]
trimn, trimu = tmp[1], tmp[2]
optslots[1] = nil
elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then
argc = argc + 1
iplain, isp = isep_parse_opts[tmp], opts[argc]
optslots[2] = nil
elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then
argc = argc + 1
pplain, psp = psep_parse_opts[tmp], opts[argc]
optslots[3] = nil
else break end
argc = argc + 1
until noptslots < 1
return isp, iplain, psp, pplain, trimn, trimu, argc
end
-- Map parameters' values using a custom callback and a referenced table
local value_maps = {
[0] = function (tbl, margs, karg, varg, fn)
for key in pairs(tbl) do tbl[key] = fn() end
end,
[1] = function (tbl, margs, karg, varg, fn)
for key, val in pairs(tbl) do
margs[varg] = val
tbl[key] = fn()
end
end,
[2] = function (tbl, margs, karg, varg, fn)
for key in pairs(tbl) do
margs[karg] = key
tbl[key] = fn()
end
end,
[3] = function (tbl, margs, karg, varg, fn)
for key, val in pairs(tbl) do
margs[karg] = key
margs[varg] = val
tbl[key] = fn()
end
end
}
-- Private table for `map_names()`
local name_thieves = {
[0] = function (cache, tbl, rargs, karg, varg, fn)
for key, val in pairs(tbl) do
steal_if_renamed(val, tbl, key, cache, fn())
end
end,
[1] = function (cache, tbl, rargs, karg, varg, fn)
for key, val in pairs(tbl) do
rargs[varg] = val
steal_if_renamed(val, tbl, key, cache, fn())
end
end,
[2] = function (cache, tbl, rargs, karg, varg, fn)
for key, val in pairs(tbl) do
rargs[karg] = key
steal_if_renamed(val, tbl, key, cache, fn())
end
end,
[3] = function (cache, tbl, rargs, karg, varg, fn)
for key, val in pairs(tbl) do
rargs[karg] = key
rargs[varg] = val
steal_if_renamed(val, tbl, key, cache, fn())
end
end
}
-- Map parameters' names using a custom callback and a referenced table
local function map_names (tbl, rargs, karg, varg, looptype, fn)
local cache = {}
name_thieves[looptype](cache, tbl, rargs, karg, varg, fn)
for key, val in pairs(cache) do tbl[key] = val end
end
-- Return a new table that contains `src` regrouped according to the numeric
-- suffixes in its keys
local function make_groups (src)
-- NOTE: `src` might be the original metatable!
local prefix
local gid
local groups = {}
for key, val in pairs(src) do
-- `key` must only be a string or a number...
if type(key) == 'string' then
prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$'
gid = tonumber(gid) or ''
else
prefix = ''
gid = key
end
if groups[gid] == nil then groups[gid] = {} end
if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then
prefix = tonumber(prefix)
if prefix < 1 then prefix = prefix - 1 end
end
groups[gid][prefix] = val
end
return groups
end
-- Split into parts a string containing the `$#` and `$@` placeholders and
-- return the information as a skeleton table, a canvas table and a length
local function parse_placeholder_string (target)
local skel = {}
local canvas = {}
local idx = 1
local s_pos = 1
local e_pos = string.find(target, '%$[@#]', 1, false)
while e_pos ~= nil do
canvas[idx] = target:sub(s_pos, e_pos - 1)
skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@'
idx = idx + 2
s_pos = e_pos + 2
e_pos = string.find(target, '%$[@#]', s_pos, false)
end
if (s_pos > target:len()) then idx = idx - 1
else canvas[idx] = target:sub(s_pos) end
return skel, canvas, idx
end
-- Populate a table by parsing a parameter string (heavy lifting for `parsing`,
-- `reinterpreting` and `evaluating`)
local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru)
local key
local val
local spos1
local spos2
local pos1
local pos2
local pos3 = 0
local idx = 1
local lenplone = #str + 1
if isp == nil or isp == '' then
if psp == nil or psp == '' then
if tru then tbl[idx] = str:match'^%s*(.-)%s*$'
else tbl[idx] = str end
return idx
end
spos1, spos2 = str:find(psp, 1, ppl)
if spos1 == nil then
key = idx
if tru then val = str:match'^%s*(.-)%s*$'
else val = str end
idx = idx + 1
else
key = get_parameter_name(str:sub(1, spos1 - 1))
val = str:sub(spos2 + 1)
if trn then val = val:match'^%s*(.-)%s*$' end
end
tbl[key] = val
return idx
end
if psp == nil or psp == '' then
repeat
pos1 = pos3 + 1
pos2, pos3 = str:find(isp, pos1, ipl)
val = str:sub(pos1, (pos2 or lenplone) - 1)
if tru then val = val:match'^%s*(.-)%s*$' end
tbl[idx] = val
idx = idx + 1
until pos2 == nil
return idx
end
repeat
pos1 = pos3 + 1
pos2, pos3 = str:find(isp, pos1, ipl)
val = str:sub(pos1, (pos2 or lenplone) - 1)
spos1, spos2 = val:find(psp, 1, ppl)
if spos1 == nil then
key = idx
if tru then val = val:match'^%s*(.-)%s*$' end
idx = idx + 1
else
key = get_parameter_name(val:sub(1, spos1 - 1))
val = val:sub(spos2 + 1)
if trn then val = val:match'^%s*(.-)%s*$' end
end
tbl[key] = val
until pos2 == nil
return idx
end
-- Heavy lifting for `combining` and `combining_values`
local function combine_parameters (ctx, keyval_fn, whoami)
-- NOTE: `ctx.params` might be the original metatable! This function
-- MUST create a copy of it before returning
local opts = ctx.pipe
if ctx.pipe[1] == nil then error(modulename ..
', ‘' .. whoami .. '’: No parameter name was provided', 0) end
local tbl = ctx.params
local vars = {}
local sortfn, tmp, do_sort = load_sort_opt(opts[2])
local argc = set_strings(vars, opts, tmp + 1)
if argc < tmp then error(modulename ..
', ‘' .. whoami .. '’: No setting directive was given', 0) end
if next(tbl) == nil then
if vars.ifngiven ~= nil then
ctx.params = {
[get_parameter_name(ctx.pipe[1])] = vars.ifngiven
}
elseif tbl == ctx.oparams then ctx.params = {} end
return argc
end
local cache
local len
if do_sort then
local words
cache, words, len, tmp = get_key_list_sorted(tbl, sortfn)
for idx = 1, tmp do cache[len + idx] = words[idx] end
len = len + tmp
else
cache = {}
len = 0
for key in pairs(tbl) do
len = len + 1
cache[len] = key
end
end
local pmap, nss, kvs, pps = {}, 0, vars.pairsep or '', vars.itersep or ''
for idx = 1, len do
tmp = cache[idx]
pmap[nss + 1] = pps
pmap[nss + 2] = keyval_fn(tmp, tbl[tmp], kvs)
nss = nss + 2
end
tmp = vars.oxfordsep or vars.lastsep
if tmp ~= nil and nss > 4 then pmap[nss - 1] = tmp
elseif nss > 2 and vars.lastsep ~= nil then
pmap[nss - 1] = vars.lastsep
end
pmap[1] = vars.header or ''
if vars.footer ~= nil then pmap[nss + 1] = vars.footer end
ctx.params = { [get_parameter_name(ctx.pipe[1])] = table.concat(pmap) }
return argc
end
-- Concatenate the numeric keys from the table of parameters to the numeric
-- keys from the table of options; non-numeric keys from the table of options
-- will prevail over colliding non-numeric keys from the table of parameters
local function concat_params (ctx)
local retval, tbl, nmax = {}, ctx.params, table.maxn(ctx.pipe)
if ctx.subset == 1 then
-- We need only the sequence
for key, val in ipairs(tbl) do retval[key + nmax] = val end
else
if ctx.subset == -1 then
for key in ipairs(tbl) do tbl[key] = nil end
end
for key, val in pairs(tbl) do
if type(key) == 'number' and key > 0 then
retval[key + nmax] = val
else retval[key] = val end
end
end
for key, val in pairs(ctx.pipe) do retval[key] = val end
return retval
end
-- Flush the parameters by calling a custom function for each value (after this
-- function has been invoked `ctx.params` will be no longer usable)
local function flush_params (ctx, fn)
local tbl = ctx.params
if ctx.subset == 1 then
for key, val in ipairs(tbl) do fn(key, val) end
return
end
if ctx.subset == -1 then
for key, val in ipairs(tbl) do tbl[key] = nil end
end
if ctx.sorttype > 0 then
local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort)
if ctx.sorttype == 2 then
for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end
for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end
return
end
for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end
for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end
return
end
if ctx.subset ~= -1 then
for key, val in ipairs(tbl) do
fn(key, val)
tbl[key] = nil
end
end
for key, val in pairs(tbl) do fn(key, val) end
end
-- Flush the parameters by calling one of two custom functions for each value
-- (after this function has been invoked `ctx.params` will be no longer usable)
local function mixed_flush_params (ctx, fn_seq, fn_oth)
if ctx.subset == 1 then
for key, val in ipairs(ctx.params) do fn_seq(key, val) end
return
end
if ctx.subset == -1 then
flush_params(ctx, fn_oth)
return
end
local tbl = ctx.params
if ctx.sorttype > 0 then
local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort)
local sequence = {}
for key, val in ipairs(tbl) do sequence[key] = val end
if ctx.sorttype == 2 then
for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end
end
for idx = 1, nn do
if sequence[nums[idx]] then
fn_seq(nums[idx], sequence[nums[idx]])
else
fn_oth(nums[idx], tbl[nums[idx]])
end
end
if ctx.sorttype ~= 2 then
for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end
end
return
end
for key, val in ipairs(tbl) do
fn_seq(key, val)
tbl[key] = nil
end
for key, val in pairs(tbl) do fn_oth(key, val) end
end
-- Finalize and return a concatenated list
local function finalize_and_return_concatenated_list (ctx, lst, len, modsize)
if len > 0 then
local tmp = ctx.oxfordsep or ctx.lastsep
if tmp ~= nil and len > modsize * 2 then
lst[len - modsize + 1] = tmp
elseif len > modsize and ctx.lastsep ~= nil then
lst[len - modsize + 1] = ctx.lastsep
end
lst[1] = ctx.header or ''
if ctx.footer ~= nil then lst[len + 1] = ctx.footer end
ctx.text = table.concat(lst)
else ctx.text = ctx.ifngiven or '' end
end
--- ---
--- PUBLIC ENVIRONMENT ---
--- ________________________________ ---
--- ---
--[[ Modifiers ]]--
-------------------
-- Syntax: #invoke:params|sequential|pipe to
library.sequential = function (ctx)
if ctx.subset == 1 then error(modulename ..
': The ‘sequential’ directive has been provided more than once', 0) end
if ctx.subset == -1 then error(modulename ..
': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end
if ctx.sorttype > 0 then error(modulename ..
': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end
ctx.iterfunc = ipairs
ctx.subset = 1
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|non-sequential|pipe to
library['non-sequential'] = function (ctx)
if ctx.subset == -1 then error(modulename ..
': The ‘non-sequential’ directive has been provided more than once', 0) end
if ctx.subset == 1 then error(modulename ..
': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end
ctx.iterfunc = pairs
ctx.subset = -1
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|all_sorted|pipe to
library.all_sorted = function (ctx)
if ctx.sorttype == 1 then error(modulename ..
': The ‘all_sorted’ directive has been provided more than once', 0) end
if ctx.subset == 1 then error(modulename ..
': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end
if ctx.sorttype == 2 then error(modulename ..
': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end
ctx.sorttype = 1
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|reassorted|pipe to
library.reassorted = function (ctx)
if ctx.sorttype == 2 then error(modulename ..
': The ‘reassorted’ directive has been provided more than once', 0) end
if ctx.subset == 1 then error(modulename ..
': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end
if ctx.sorttype == 1 then error(modulename ..
': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end
ctx.sorttype = 2
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|setting|directives|...|pipe to
library.setting = function (ctx)
local argc = set_strings(ctx, ctx.pipe, 1)
if argc < 2 then error(modulename ..
', ‘setting’: No directive was given', 0) end
return context_iterate(ctx, argc + 1)
end
-- Syntax: #invoke:params|scoring|new parameter name|[container]|pipe to
library.scoring = function (ctx)
if ctx.pipe[1] == nil then error(modulename ..
', ‘scoring’: No parameter name was provided', 0) end
local tmp
local retval, opts = 0, ctx.pipe
for _ in pairs(ctx.params) do retval = retval + 1 end
if opts[2] ~= nil then tmp = opts[2]:match'^%s*(.*%S)' end
if tmp == 'here' then
ctx.params[get_parameter_name(opts[1])] = tostring(retval)
return context_iterate(ctx, 3)
end
new_substack(ctx)[get_parameter_name(opts[1])] = tostring(retval)
return context_iterate(ctx, tmp == 'in_substack' and 3 or 2)
end
-- Syntax: #invoke:params|squeezing|pipe to
library.squeezing = function (ctx)
local store, indices, tbl, newlen = {}, {}, ctx.params, 0
for key, val in pairs(tbl) do
if type(key) == 'number' then
newlen = newlen + 1
indices[newlen] = key
store[key] = val
tbl[key] = nil
end
end
table.sort(indices)
for idx = 1, newlen do tbl[idx] = store[indices[idx]] end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|filling_the_gaps|pipe to
library.filling_the_gaps = function (ctx)
local tbl, tmp, nmin, nmax, nnums = ctx.params, {}, 1, nil, -1
for key, val in pairs(tbl) do
if type(key) == 'number' then
if nmax == nil then
if key < nmin then nmin = key end
nmax = key
elseif key > nmax then nmax = key
elseif key < nmin then nmin = key end
nnums = nnums + 1
tmp[key] = val
end
end
if nmax ~= nil and nmax - nmin > nnums then
ctx.n_available = ctx.n_available + nmin + nnums - nmax
if ctx.n_available < 0 then error(modulename ..
', ‘filling_the_gaps’: It is possible to fill at most ' ..
tostring(maxfill) .. ' parameters', 0) end
for idx = nmin, nmax, 1 do tbl[idx] = '' end
for key, val in pairs(tmp) do tbl[key] = val end
end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|clearing|pipe to
library.clearing = function (ctx)
local tbl = ctx.params
local numerics = {}
for key, val in pairs(tbl) do
if type(key) == 'number' then
numerics[key] = val
tbl[key] = nil
end
end
for key, val in ipairs(numerics) do tbl[key] = val end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|cutting|left cut|right cut|pipe to
library.cutting = function (ctx)
local lcut = tonumber(ctx.pipe[1])
if lcut == nil or math.floor(lcut) ~= lcut then error(modulename ..
', ‘cutting’: Left cut must be an integer number', 0) end
local rcut = tonumber(ctx.pipe[2])
if rcut == nil or math.floor(rcut) ~= rcut then error(modulename ..
', ‘cutting’: Right cut must be an integer number', 0) end
local tbl = ctx.params
local len = #tbl
if lcut < 0 then lcut = len + lcut end
if rcut < 0 then rcut = len + rcut end
local tot = lcut + rcut
if tot > 0 then
local cache = {}
if tot >= len then
for key in ipairs(tbl) do tbl[key] = nil end
tot = len
else
for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end
for idx = 1, lcut, 1 do tbl[idx] = nil end
end
for key, val in pairs(tbl) do
if type(key) == 'number' and key > 0 then
if key > len then cache[key - tot] = val
else cache[key - lcut] = val end
tbl[key] = nil
end
end
for key, val in pairs(cache) do tbl[key] = val end
end
return context_iterate(ctx, 3)
end
-- Syntax: #invoke:params|cropping|left crop|right crop|pipe to
library.cropping = function (ctx)
local lcut = tonumber(ctx.pipe[1])
if lcut == nil or math.floor(lcut) ~= lcut then error(modulename ..
', ‘cropping’: Left crop must be an integer number', 0) end
local rcut = tonumber(ctx.pipe[2])
if rcut == nil or math.floor(rcut) ~= rcut then error(modulename ..
', ‘cropping’: Right crop must be an integer number', 0) end
local tbl = ctx.params
local nmin
local nmax
for key in pairs(tbl) do
if type(key) == 'number' then
if nmin == nil then nmin, nmax = key, key
elseif key > nmax then nmax = key
elseif key < nmin then nmin = key end
end
end
if nmin ~= nil then
local len = nmax - nmin + 1
if lcut < 0 then lcut = len + lcut end
if rcut < 0 then rcut = len + rcut end
if lcut + rcut - len > -1 then
for key in pairs(tbl) do
if type(key) == 'number' then tbl[key] = nil end
end
elseif lcut + rcut > 0 then
for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end
for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end
local lshift = nmin + lcut - 1
if lshift > 0 then
for idx = lshift + 1, nmax, 1 do
tbl[idx - lshift] = tbl[idx]
tbl[idx] = nil
end
end
end
end
return context_iterate(ctx, 3)
end
-- Syntax: #invoke:params|purging|start offset|length|pipe to
library.purging = function (ctx)
local idx = tonumber(ctx.pipe[1])
if idx == nil or math.floor(idx) ~= idx then error(modulename ..
', ‘purging’: Start offset must be an integer number', 0) end
local len = tonumber(ctx.pipe[2])
if len == nil or math.floor(len) ~= len then error(modulename ..
', ‘purging’: Length must be an integer number', 0) end
local tbl = ctx.params
if len < 1 then
len = len + table.maxn(tbl)
if idx > len then return context_iterate(ctx, 3) end
len = len - idx + 1
end
ctx.params = copy_table_reduced(tbl, idx, len)
return context_iterate(ctx, 3)
end
-- Syntax: #invoke:params|backpurging|start offset|length|pipe to
library.backpurging = function (ctx)
local last = tonumber(ctx.pipe[1])
if last == nil or math.floor(last) ~= last then error(modulename ..
', ‘backpurging’: Start offset must be an integer number', 0) end
local len = tonumber(ctx.pipe[2])
if len == nil or math.floor(len) ~= len then error(modulename ..
', ‘backpurging’: Length must be an integer number', 0) end
local idx
local tbl = ctx.params
if len > 0 then
idx = last - len + 1
else
for key in pairs(tbl) do
if type(key) == 'number' and (idx == nil or
key < idx) then idx = key end
end
if idx == nil then return context_iterate(ctx, 3) end
idx = idx - len
if last < idx then return context_iterate(ctx, 3) end
len = last - idx + 1
end
ctx.params = copy_table_reduced(ctx.params, idx, len)
return context_iterate(ctx, 3)
end
-- Syntax: #invoke:params|shifting|addend|pipe to
library.shifting = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local nshift = tonumber(ctx.pipe[1])
if nshift == nil or nshift == 0 or math.floor(nshift) ~= nshift then
error(modulename .. ', ‘shifting’: A non-zero integer number must be provided', 0) end
local tbl = {}
for key, val in pairs(ctx.params) do
if type(key) == 'number' then tbl[key + nshift] = val
else tbl[key] = val end
end
ctx.params = tbl
return context_iterate(ctx, 2)
end
-- Syntax: #invoke:params|reversing_numeric_names|pipe to
library.reversing_numeric_names = function (ctx)
local tbl, numerics, nmax = ctx.params, {}, 0
for key, val in pairs(tbl) do
if type(key) == 'number' then
numerics[key] = val
tbl[key] = nil
if key > nmax then nmax = key end
end
end
for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|pivoting_numeric_names|pipe to
--[[
library.pivoting_numeric_names = function (ctx)
local tbl = ctx.params
local shift = #tbl + 1
if shift < 2 then return library.reversing_numeric_names(ctx) end
local numerics = {}
for key, val in pairs(tbl) do
if type(key) == 'number' then
numerics[key] = val
tbl[key] = nil
end
end
for key, val in pairs(numerics) do tbl[shift - key] = val end
return context_iterate(ctx, 1)
end
]]--
-- Syntax: #invoke:params|mirroring_numeric_names|pipe to
--[[
library.mirroring_numeric_names = function (ctx)
local tbl, numerics = ctx.params, {}
local nmax
local nmin
for key, val in pairs(tbl) do
if type(key) == 'number' then
numerics[key] = val
tbl[key] = nil
if nmax == nil then nmin, nmax = key, key
elseif key > nmax then nmax = key
elseif key < nmin then nmin = key end
end
end
for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end
return context_iterate(ctx, 1)
end
]]--
-- Syntax: #invoke:params|swapping_numeric_names|pipe to
--[[
library.swapping_numeric_names = function (ctx)
local tbl, cache, nsize = ctx.params, {}, 0
local tmp
for key in pairs(tbl) do
if type(key) == 'number' then
nsize = nsize + 1
cache[nsize] = key
end
end
table.sort(cache)
for idx = math.floor(nsize / 2), 1, -1 do
tmp = tbl[cache[idx] ]
tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ]
tbl[cache[nsize - idx + 1] ] = tmp
end
return context_iterate(ctx, 1)
end
]]--
-- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to
library.sorting_sequential_values = function (ctx)
local sortfn
if ctx.pipe[1] ~= nil then
sortfn = sortfunctions[ctx.pipe[1]:match'^%s*(.-)%s*$']
end
if sortfn then table.sort(ctx.params, sortfn)
else table.sort(ctx.params) end -- i.e. either `false` or `nil`
if sortfn == nil then return context_iterate(ctx, 1) end
return context_iterate(ctx, 2)
end
-- Syntax: #invoke:params|splicing|[add to position]|position|increment|
-- [number of elements to write]|...|pipe to
library.splicing = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local opts, tbl = ctx.pipe, ctx.params
local tmp1 = opts[1]
local tmp2
local argc
local pos
local refp
if tmp1 ~= nil then
tmp2 = tonumber(tmp1)
if tmp2 == nil or math.floor(tmp2) ~= tmp2 then
pos, argc, tmp2 = tonumber(opts[2]), 4,
tmp1:match'^%s*(.*%S)'
if tmp2 ~= nil then
refp = position_references[tmp2]
if refp == nil then error(modulename ..
', ‘splicing’: ‘' .. tostring(tmp2) ..
'’ is not a valid first argument', 0) end
else refp = 0 end
else pos, argc, refp = tmp2, 3, 0 end
else pos, argc, refp = tonumber(opts[2]), 4, 0 end
if pos == nil or math.floor(pos) ~= pos then error(modulename ..
', ‘splicing’: The position must be an integer number', 0) end
local len = tonumber(opts[argc - 1])
if len == nil or math.floor(len) ~= len then error(modulename ..
', ‘splicing’: The increment must be an integer number', 0) end
if refp == 2 then
for _ in ipairs(tbl) do pos = pos + 1 end
refp = 0
end
tmp1, tmp2 = nil, nil
if refp ~= 0 or len ~= 0 then
for key, val in pairs(tbl) do
if type(key) == 'number' then
if tmp1 == nil then tmp1, tmp2 = key, key
elseif key < tmp1 then tmp1 = key
elseif key > tmp2 then tmp2 = key end
end
end
end
if tmp2 == nil then len = 0
elseif refp == 3 then pos = pos + tmp2
elseif refp == 1 then pos = pos + tmp1 end
if len > 0 and pos + len > tmp1 and pos <= tmp2 then
tbl = copy_table_expanded(tbl, pos, len)
elseif len < 0 and pos - len > tmp1 and pos <= tmp2 then
tbl = copy_table_reduced(tbl, pos, -len)
else tbl = copy_or_ref_table(tbl, tbl ~= ctx.oparams) end
ctx.params = tbl
tmp1 = tonumber(opts[argc])
if len == 0 and (tmp1 == nil or tmp1 < 1) then error(modulename ..
', ‘splicing’: When the increment is zero the number of elements to add cannot be zero', 0) end
if tmp1 == nil or tmp1 < 0 or math.floor(tmp1) ~= tmp1 then
return context_iterate(ctx, argc)
end
tmp2 = argc - pos + 1
for key = pos, pos + tmp1 - 1 do tbl[key] = opts[key + tmp2] end
return context_iterate(ctx, argc + tmp1 + 1)
end
-- Syntax: #invoke:params|imposing|name|value|pipe to
library.imposing = function (ctx)
if ctx.pipe[1] == nil then error(modulename ..
', ‘imposing’: Missing parameter name to impose', 0) end
ctx.params[get_parameter_name(ctx.pipe[1])] = ctx.pipe[2]
return context_iterate(ctx, 3)
end
-- Syntax: #invoke:params|providing|name|value|pipe to
library.providing = function (ctx)
if ctx.pipe[1] == nil then error(modulename ..
', ‘providing’: Missing parameter name to provide', 0) end
local key = get_parameter_name(ctx.pipe[1])
if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end
return context_iterate(ctx, 3)
end
-- Syntax: #invoke:params|discarding|name|[how many]|pipe to
library.discarding = function (ctx)
if ctx.pipe[1] == nil then error(modulename ..
', ‘discarding’: Missing parameter name to discard', 0) end
local len = tonumber(ctx.pipe[2])
if len == nil then
ctx.params[get_parameter_name(ctx.pipe[1])] = nil
return context_iterate(ctx, 2)
end
local key = tonumber(ctx.pipe[1])
if key == nil or math.floor(key) ~= key then error(modulename ..
', ‘discarding’: A range was provided, but the initial parameter name is not an integer number', 0) end
if len < 1 or math.floor(len) ~= len then error(modulename ..
', ‘discarding’: A range can only be an integer number greater than zero', 0) end
for idx = key, key + len - 1 do ctx.params[idx] = nil end
return context_iterate(ctx, 3)
end
-- Syntax: #invoke:params|excluding_non-numeric_names|pipe to
library['excluding_non-numeric_names'] = function (ctx)
local tmp = ctx.params
for key, val in pairs(tmp) do
if type(key) ~= 'number' then tmp[key] = nil end
end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|excluding_numeric_names|pipe to
library.excluding_numeric_names = function (ctx)
local tmp = ctx.params
for key, val in pairs(tmp) do
if type(key) == 'number' then tmp[key] = nil end
end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or]
-- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag
-- N]|pipe to
library.with_name_matching = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local targets, nptns, argc = load_pattern_args(ctx.pipe,
'with_name_matching')
local tmp
local ptn
local tbl = ctx.params
local newparams = {}
for idx = 1, nptns do
ptn = targets[idx]
if ptn[3] then
tmp = ptn[1]
if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then
tmp = tonumber(tmp)
end
newparams[tmp] = tbl[tmp]
else
for key, val in pairs(tbl) do
if tostring(key):find(ptn[1], 1, ptn[2]) then
newparams[key] = val
end
end
end
end
ctx.params = newparams
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1]
-- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain
-- flag N]|pipe to
library.with_name_not_matching = function (ctx)
local targets, nptns, argc = load_pattern_args(ctx.pipe,
'with_name_not_matching')
local tbl = ctx.params
if nptns == 1 and targets[1][3] then
local tmp = targets[1][1]
if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then
tbl[tonumber(tmp)] = nil
else tbl[tmp] = nil end
return context_iterate(ctx, argc)
end
local yesmatch
local ptn
for key in pairs(tbl) do
yesmatch = true
for idx = 1, nptns do
ptn = targets[idx]
if ptn[3] then
if tostring(key) ~= ptn[1] then
yesmatch = false
break
end
elseif not tostring(key):find(ptn[1], 1, ptn[2]) then
yesmatch = false
break
end
end
if yesmatch then tbl[key] = nil end
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or]
-- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag
-- N]|pipe to
library.with_value_matching = function (ctx)
local tbl = ctx.params
local targets, nptns, argc = load_pattern_args(ctx.pipe,
'with_value_matching')
local nomatch
local ptn
for key, val in pairs(tbl) do
nomatch = true
for idx = 1, nptns do
ptn = targets[idx]
if ptn[3] then
if val == ptn[1] then
nomatch = false
break
end
elseif val:find(ptn[1], 1, ptn[2]) then
nomatch = false
break
end
end
if nomatch then tbl[key] = nil end
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1]
-- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain
-- flag N]|pipe to
library.with_value_not_matching = function (ctx)
local tbl = ctx.params
local targets, nptns, argc = load_pattern_args(ctx.pipe,
'with_value_not_matching')
local yesmatch
local ptn
for key, val in pairs(tbl) do
yesmatch = true
for idx = 1, nptns do
ptn = targets[idx]
if ptn[3] then
if val ~= ptn[1] then
yesmatch = false
break
end
elseif not val:find(ptn[1], 1, ptn[2]) then
yesmatch = false
break
end
end
if yesmatch then tbl[key] = nil end
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|trimming_values|pipe to
library.trimming_values = function (ctx)
local tbl = ctx.params
for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|mapping_to_lowercase|pipe to
library.mapping_to_lowercase = function (ctx)
local tbl = ctx.params
for key, val in pairs(tbl) do tbl[key] = val:lower() end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|mapping_to_uppercase|pipe to
library.mapping_to_uppercase = function (ctx)
local tbl = ctx.params
for key, val in pairs(tbl) do tbl[key] = val:upper() end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|mapping_by_calling|template name|[call
-- style]|[let]|[...][number of additional parameters]|[parameter
-- 1]|[parameter 2]|[...]|[parameter N]|pipe to
library.mapping_by_calling = function (ctx)
local opts = ctx.pipe
local tname
if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end
if tname == nil then error(modulename ..
', ‘mapping_by_calling’: No template name was provided', 0) end
local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1,
mapping_styles.values_only)
local model = { title = tname, args = margs }
value_maps[looptype](ctx.params, margs, karg, varg, function ()
return ctx.frame:expandTemplate(model)
end)
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|mapping_by_invoking|module name|function
-- name|[call style]|[let]|[...]|[number of additional
-- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to
library.mapping_by_invoking = function (ctx)
local opts = ctx.pipe
local mname
local fname
if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end
if mname == nil then error(modulename ..
', ‘mapping_by_invoking’: No module name was provided', 0) end
if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end
if fname == nil then error(modulename ..
', ‘mapping_by_invoking’: No function name was provided', 0) end
local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2,
mapping_styles.values_only)
local model = { title = 'Module:' .. mname, args = margs }
local mfunc = require(model.title)[fname]
if mfunc == nil then error(modulename ..
', ‘mapping_by_invoking’: The function ‘' .. fname ..
'’ does not exist', 0) end
value_maps[looptype](ctx.params, margs, karg, varg, function ()
return tostring(mfunc(ctx.frame:newChild(model)))
end)
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|mapping_by_magic|parser function|[call
-- style]|[let]|[...][number of additional arguments]|[argument
-- 1]|[argument 2]|[...]|[argument N]|pipe to
library.mapping_by_magic = function (ctx)
local opts = ctx.pipe
local magic
if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end
if magic == nil then error(modulename ..
', ‘mapping_by_magic’: No parser function was provided', 0) end
local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1,
mapping_styles.values_only)
value_maps[looptype](ctx.params, margs, karg, varg, function ()
return ctx.frame:callParserFunction(magic, margs)
end)
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain
-- flag]|pipe to
library.mapping_by_replacing = function (ctx)
local ptn, repl, nmax, flg, argc, die =
load_replace_args(ctx.pipe, 'mapping_by_replacing')
if die then return context_iterate(ctx, argc) end
local tbl = ctx.params
if flg == 3 then
for key, val in pairs(tbl) do
if val == ptn then tbl[key] = repl end
end
else
if flg == 2 then
-- Copied from Module:String's `str._escapePattern()`
ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0')
end
for key, val in pairs(tbl) do
tbl[key] = val:gsub(ptn, repl, nmax)
end
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to
library.mapping_by_mixing = function (ctx)
if ctx.pipe[1] == nil then error(modulename ..
', ‘mapping_by_mixing’: No mixing string was provided', 0) end
local mix = ctx.pipe[1]
local tbl = ctx.params
if mix == '$#' then
for key in pairs(tbl) do tbl[key] = tostring(key) end
return context_iterate(ctx, 2)
end
local skel, cnv, n_parts = parse_placeholder_string(mix)
for key, val in pairs(tbl) do
for idx = 2, n_parts, 2 do
if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end
end
tbl[key] = table.concat(cnv)
end
return context_iterate(ctx, 2)
end
-- Syntax: #invoke:params|mapping_to_names|pipe to
--[[
library.mapping_to_names = function (ctx)
local tbl = ctx.params
for key in pairs(tbl) do tbl[key] = tostring(key) end
return context_iterate(ctx, 1)
end
]]--
-- Syntax: #invoke:params|renaming_to_lowercase|pipe to
library.renaming_to_lowercase = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local cache = {}
for key, val in pairs(ctx.params) do
if type(key) == 'string' then cache[key:lower()] = val else
cache[key] = val end
end
ctx.params = cache
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|renaming_to_uppercase|pipe to
library.renaming_to_uppercase = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local cache = {}
for key, val in pairs(ctx.params) do
if type(key) == 'string' then cache[key:upper()] = val else
cache[key] = val end
end
ctx.params = cache
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|renaming_to_sequence|[sort order]|pipe to
library.renaming_to_sequence = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local tbl = ctx.params
local sortfn, argc, do_sort = load_sort_opt(ctx.pipe[1])
local cache
local len
if do_sort then
local words
local wl
cache, words, len, wl = get_key_list_sorted(tbl, sortfn)
for idx = 1, len do cache[idx] = tbl[cache[idx]] end
for idx = 1, wl do cache[len + idx] = tbl[words[idx]] end
else
cache = {}
len = 0
for _, val in pairs(tbl) do
len = len + 1
cache[len] = val
end
end
ctx.params = cache
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|renaming_by_calling|template name|[call
-- style]|[let]|[...][number of additional parameters]|[parameter
-- 1]|[parameter 2]|[...]|[parameter N]|pipe to
library.renaming_by_calling = function (ctx)
local opts = ctx.pipe
local tname
if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end
if tname == nil then error(modulename ..
', ‘renaming_by_calling’: No template name was provided', 0) end
local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1,
mapping_styles.names_only)
local model = { title = tname, args = rargs }
map_names(ctx.params, rargs, karg, varg, looptype, function ()
return ctx.frame:expandTemplate(model)
end)
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|renaming_by_invoking|module name|function
-- name|[call style]|[let]|[...]|[number of additional
-- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to
library.renaming_by_invoking = function (ctx)
local opts = ctx.pipe
local mname
local fname
if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end
if mname == nil then error(modulename ..
', ‘renaming_by_invoking’: No module name was provided', 0) end
if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end
if fname == nil then error(modulename ..
', ‘renaming_by_invoking’: No function name was provided', 0) end
local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2,
mapping_styles.names_only)
local model = { title = 'Module:' .. mname, args = rargs }
local mfunc = require(model.title)[fname]
if mfunc == nil then error(modulename ..
', ‘renaming_by_invoking’: The function ‘' .. fname ..
'’ does not exist', 0) end
map_names(ctx.params, rargs, karg, varg, looptype, function ()
return tostring(mfunc(ctx.frame:newChild(model)))
end)
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|renaming_by_magic|parser function|[call
-- style]|[let]|[...][number of additional arguments]|[argument
-- 1]|[argument 2]|[...]|[argument N]|pipe to
library.renaming_by_magic = function (ctx)
local opts = ctx.pipe
local magic
if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end
if magic == nil then error(modulename ..
', ‘renaming_by_magic’: No parser function was provided', 0) end
local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1,
mapping_styles.names_only)
map_names(ctx.params, rargs, karg, varg, looptype, function ()
return ctx.frame:callParserFunction(magic, rargs)
end)
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain
-- flag]|pipe to
library.renaming_by_replacing = function (ctx)
local ptn, repl, nmax, flg, argc, die =
load_replace_args(ctx.pipe, 'renaming_by_replacing')
if die then return context_iterate(ctx, argc) end
local tbl = ctx.params
if flg == 3 then
ptn = get_parameter_name(ptn)
local val = tbl[ptn]
if val ~= nil then
tbl[ptn] = nil
tbl[get_parameter_name(repl)] = val
end
else
if flg == 2 then
-- Copied from Module:String's `str._escapePattern()`
ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0')
end
local cache = {}
for key, val in pairs(tbl) do
steal_if_renamed(val, tbl, key, cache,
tostring(key):gsub(ptn, repl, nmax))
end
for key, val in pairs(cache) do tbl[key] = val end
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to
library.renaming_by_mixing = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
if ctx.pipe[1] == nil then error(modulename ..
', ‘renaming_by_mixing’: No mixing string was provided', 0) end
local mix = ctx.pipe[1]:match'^%s*(.-)%s*$'
local cache = {}
if mix == '$@' then
for _, val in pairs(ctx.params) do
cache[get_parameter_name(val)] = val
end
else
local skel, canvas, n_parts = parse_placeholder_string(mix)
for key, val in pairs(ctx.params) do
for idx = 2, n_parts, 2 do
if skel[idx] then canvas[idx] = val
else canvas[idx] = tostring(key) end
end
cache[get_parameter_name(table.concat(canvas))] = val
end
end
ctx.params = cache
return context_iterate(ctx, 2)
end
-- Syntax: #invoke:params|renaming_to_values|pipe to
--[[
library.renaming_to_values = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local cache = {}
for _, val in pairs(ctx.params) do cache[val] = val end
ctx.params = cache
return context_iterate(ctx, 1)
end
]]--
-- Syntax: #invoke:params|grouping_by_calling|template
-- name|[let]|[...]|[number of additional arguments]|[argument
-- 1]|[argument 2]|[...]|[argument N]|pipe to
library.grouping_by_calling = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local opts = ctx.pipe
local tmp
if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end
if tmp == nil then error(modulename ..
', ‘grouping_by_calling’: No template name was provided', 0) end
local model = { title = tmp }
local argc
tmp, argc = load_child_opts(opts, 2, 0)
local gargs = {}
for key, val in pairs(tmp) do
if type(key) == 'number' and key < 1 then gargs[key - 1] = val
else gargs[key] = val end
end
local groups = make_groups(ctx.params)
for gid, group in pairs(groups) do
for key, val in pairs(gargs) do group[key] = val end
group[0] = gid
model.args = group
groups[gid] = ctx.frame:expandTemplate(model)
end
ctx.params = groups
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration
-- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to
library.parsing = function (ctx)
local opts = ctx.pipe
if opts[1] == nil then error(modulename ..
', ‘parsing’: No string to parse was provided', 0) end
local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc =
load_parse_opts(opts, 2, '|', '=')
parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain,
trimnamed, trimunnamed)
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim
-- flag]|[iteration delimiter setter]|[...]|[key-value delimiter
-- setter]|[...]|pipe to
library.reinterpreting = function (ctx)
local opts = ctx.pipe
if opts[1] == nil then error(modulename ..
', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end
local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc =
load_parse_opts(opts, 2, '|', '=')
local tbl, tmp = ctx.params, get_parameter_name(opts[1])
local str = tbl[tmp]
if str ~= nil then
tbl[tmp] = nil
parse_parameter_string(tbl, str, isep, iplain, psep, pplain,
trimnamed, trimunnamed)
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|evaluating|string to parse|[trim flag]|[iteration
-- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to
library.evaluating = function (ctx)
-- NOTE: `ctx.pipe` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local opts = ctx.pipe
if opts[1] == nil then error(modulename ..
', ‘evaluating’: No string to parse was provided', 0) end
local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc =
load_parse_opts(opts, 2, '!', ':')
if opts[1]:match'^%s*(.*%S)' == nil then
ctx.pipe = copy_or_ref_table(opts, opts ~= ctx.opipe)
return context_iterate(ctx, argc)
end
local new_opts, cache = {}, {}
local shift = parse_parameter_string(cache, opts[1], isep, iplain,
psep, pplain, trimnamed, trimunnamed) - argc
for key, val in pairs(opts) do
if type(key) ~= 'number' or key < 1 then new_opts[key] = val
elseif key >= argc then new_opts[key + shift] = val end
end
for key, val in pairs(cache) do new_opts[key] = val end
ctx.pipe = new_opts
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to
library.mixing_names_and_values = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
if ctx.pipe[1] == nil then error(modulename ..
', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end
if ctx.pipe[2] == nil then error(modulename ..
', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end
local cache = {}
local mix_k, mix_v = ctx.pipe[1]:match'^%s*(.-)%s*$', ctx.pipe[2]
local tmp
if mix_k == '$@' and mix_v == '$@' then
for _, val in pairs(ctx.params) do
cache[get_parameter_name(val)] = val
end
elseif mix_k == '$@' and mix_v == '$#' then
for key, val in pairs(ctx.params) do
cache[get_parameter_name(val)] = tostring(key)
end
elseif mix_k == '$#' and mix_v == '$#' then
for key in pairs(ctx.params) do cache[key] = tostring(key) end
else
local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k)
local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v)
for key, val in pairs(ctx.params) do
tmp = tostring(key)
for idx = 2, n_parts_k, 2 do
if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end
end
for idx = 2, n_parts_v, 2 do
if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end
end
cache[get_parameter_name(table.concat(cnv_k))] =
table.concat(cnv_v)
end
end
ctx.params = cache
return context_iterate(ctx, 3)
end
-- Syntax: #invoke:params|swapping_names_and_values|pipe to
--[[
library.swapping_names_and_values = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local cache = {}
for key, val in pairs(ctx.params) do cache[val] = key end
ctx.params = cache
return context_iterate(ctx, 1)
end
]]--
-- Syntax: #invoke:params|combining|new parameter name|[sort order]|setting
-- directives|...|pipe to
library.combining = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
return context_iterate(ctx, combine_parameters(
ctx,
function (key, val, kvs) return key .. kvs .. val end,
'combining'
) + 1)
end
-- Syntax: #invoke:params|combining_values|new parameter name|[sort
-- order]|setting directives|...|pipe to
library.combining_values = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
return context_iterate(ctx, combine_parameters(
ctx,
function (key, val, kvs) return val end,
'combining_values'
) + 1)
end
-- Syntax: #invoke:params|combining_by_calling|template name|new parameter
-- name|pipe to
library.combining_by_calling = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local tname = ctx.pipe[1]
if tname ~= nil then tname = tname:match'^%s*(.*%S)'
else error(modulename ..
', ‘combining_by_calling’: No template name was provided', 0) end
if ctx.pipe[2] == nil then error(modulename ..
', ‘combining_by_calling’: No parameter name was provided', 0) end
ctx.params = {
[get_parameter_name(ctx.pipe[2])] = ctx.frame:expandTemplate{
title = tname,
args = ctx.params
}
}
return context_iterate(ctx, 3)
end
-- Syntax: #invoke:params|combining_by_invoking|module name|function name|new
-- parameter name|pipe to
library.combining_by_invoking = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local mname = ctx.pipe[1]
if mname ~= nil then mname = mname:match'^%s*(.*%S)'
else error(modulename ..
', ‘combining_by_invoking’: No module name was provided', 0) end
local fname = ctx.pipe[2]
if fname ~= nil then fname = fname:match'^%s*(.*%S)'
else error(modulename ..
', ‘combining_by_invoking’: No function name was provided', 0) end
if ctx.pipe[3] == nil then error(modulename ..
', ‘combining_by_invoking’: No parameter name was provided', 0) end
local model = { title = 'Module:' .. mname, args = ctx.params }
local mfunc = require(model.title)[fname]
if mfunc == nil then error(modulename ..
', ‘mapping_by_invoking’: The function ‘' .. fname ..
'’ does not exist', 0) end
ctx.params = {
[get_parameter_name(ctx.pipe[3])] =
tostring(mfunc(ctx.frame:newChild(model)))
}
return context_iterate(ctx, 4)
end
-- Syntax: #invoke:params|combining_by_magic|parser function|new parameter
-- name|pipe to
library.combining_by_magic = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local magic = ctx.pipe[1]
if magic ~= nil then magic = magic:match'^%s*(.*%S)'
else error(modulename ..
', ‘combining_by_magic’: No parser function was provided', 0) end
if ctx.pipe[2] == nil then error(modulename ..
', ‘combining_by_magic’: No parameter name was provided', 0) end
ctx.params = {
[get_parameter_name(ctx.pipe[2])] =
ctx.frame:callParserFunction(magic, ctx.params)
}
return context_iterate(ctx, 3)
end
-- Syntax: #invoke:params|snapshotting|pipe to
library.snapshotting = function (ctx)
local stack = new_substack(ctx)
for key, val in pairs(ctx.params) do stack[key] = val end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|remembering|pipe to
library.remembering = function (ctx)
local stack = new_substack(ctx)
for key, val in pairs(ctx.oparams) do stack[key] = val end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|entering_substack|[new]|pipe to
library.entering_substack = function (ctx)
local tbl = ctx.params
local ncurrparent = ctx.n_parents + 1
if ctx.parents == nil then ctx.parents = { tbl }
else ctx.parents[ncurrparent] = tbl end
ctx.n_parents = ncurrparent
if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then
ctx.params = {}
return context_iterate(ctx, 2)
end
local currsnap = ctx.n_children
if currsnap > 0 then
ctx.params = ctx.children[currsnap]
ctx.children[currsnap] = nil
ctx.n_children = currsnap - 1
else
local newparams = {}
for key, val in pairs(tbl) do newparams[key] = val end
ctx.params = newparams
end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|pulling|parameter name|pipe to
library.pulling = function (ctx)
local opts = ctx.pipe
if opts[1] == nil then error(modulename ..
', ‘pulling’: No parameter to pull was provided', 0) end
local parent
local tmp = ctx.n_parents
if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end
tmp = get_parameter_name(opts[1])
if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end
return context_iterate(ctx, 2)
end
-- Syntax: #invoke:params|detaching_substack|pipe to
library.detaching_substack = function (ctx)
local ncurrparent = ctx.n_parents
if ncurrparent < 1 then error(modulename ..
', ‘detaching_substack’: No substack has been created', 0) end
local parent = ctx.parents[ncurrparent]
for key in pairs(ctx.params) do parent[key] = nil end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|dropping_substack|pipe to
library.dropping_substack = function (ctx)
local ncurrparent = ctx.n_parents
if ncurrparent < 1 then error(modulename ..
', ‘dropping_substack’: No substack has been created', 0) end
ctx.params = ctx.parents[ncurrparent]
ctx.parents[ncurrparent] = nil
ctx.n_parents = ncurrparent - 1
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|leaving_substack|pipe to
library.leaving_substack = function (ctx)
local ncurrparent = ctx.n_parents
if ncurrparent < 1 then error(modulename ..
', ‘leaving_substack’: No substack has been created', 0) end
local currsnap = ctx.n_children + 1
if ctx.children == nil then ctx.children = { ctx.params }
else ctx.children[currsnap] = ctx.params end
ctx.params = ctx.parents[ncurrparent]
ctx.parents[ncurrparent] = nil
ctx.n_parents = ncurrparent - 1
ctx.n_children = currsnap
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|merging_substack|pipe to
library.merging_substack = function (ctx)
local ncurrparent = ctx.n_parents
if ncurrparent < 1 then error(modulename ..
', ‘merging_substack’: No substack has been created', 0) end
local parent = ctx.parents[ncurrparent]
local child = ctx.params
ctx.params = parent
ctx.parents[ncurrparent] = nil
ctx.n_parents = ncurrparent - 1
for key, val in pairs(child) do parent[key] = val end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|flushing|pipe to
library.flushing = function (ctx)
if ctx.n_children < 1 then error(modulename ..
', ‘flushing’: There are no substacks to flush', 0) end
local parent = ctx.params
local currsnap = ctx.n_children
for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end
ctx.children[currsnap] = nil
ctx.n_children = currsnap - 1
return context_iterate(ctx, 1)
end
--[[ Functions ]]--
-----------------------------
-- Syntax: #invoke:params|count
library.count = function (ctx)
-- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables!
local retval = 0
for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end
if ctx.subset == -1 then retval = retval - #ctx.params end
ctx.text = retval
return false
end
-- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2]
-- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value
-- n]|[...]
library.concat_and_call = function (ctx)
-- NOTE: `ctx.params` might be the original metatable!
local opts = ctx.pipe
local tname
if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end
if tname == nil then error(modulename ..
', ‘concat_and_call’: No template name was provided', 0) end
remove_numeric_keys(opts, 1, 1)
ctx.text = ctx.frame:expandTemplate{
title = tname,
args = concat_params(ctx)
}
return false
end
-- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend
-- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named
-- item n=value n]|[...]
library.concat_and_invoke = function (ctx)
-- NOTE: `ctx.params` might be the original metatable!
local opts = ctx.pipe
local mname
local fname
if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end
if mname == nil then error(modulename ..
', ‘concat_and_invoke’: No module name was provided', 0) end
if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end
if fname == nil then error(modulename ..
', ‘concat_and_invoke’: No function name was provided', 0) end
remove_numeric_keys(opts, 1, 2)
local mfunc = require('Module:' .. mname)[fname]
if mfunc == nil then error(modulename ..
', ‘concat_and_invoke’: The function ‘' .. fname ..
'’ does not exist', 0) end
ctx.text = mfunc(ctx.frame:newChild{
title = 'Module:' .. mname,
args = concat_params(ctx)
})
return false
end
-- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend
-- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n=
-- value n]|[...]
library.concat_and_magic = function (ctx)
-- NOTE: `ctx.params` might be the original metatable!
local opts = ctx.pipe
local magic
if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end
if magic == nil then error(modulename ..
', ‘concat_and_magic’: No parser function was provided', 0) end
remove_numeric_keys(opts, 1, 1)
ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx))
return false
end
-- Syntax: #invoke:params|value_of|parameter name
library.value_of = function (ctx)
-- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables!
local opts = ctx.pipe
if opts[1] == nil then error(modulename ..
', ‘value_of’: No parameter name was provided', 0) end
local val
local key = opts[1]:match'^%s*(.-)%s*$'
if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then
key = tonumber(key)
val = ctx.params[key]
-- No worries: #ctx.params is unused when the modifier is in
-- first position (and therefore `ctx.params` is a metatable)
if val ~= nil and (
ctx.subset ~= -1 or key > #ctx.params or key < 1
) and (
ctx.subset ~= 1 or (key <= #ctx.params and key > 0)
) then
ctx.text = (ctx.header or '') .. val .. (ctx.footer or '')
else ctx.text = ctx.ifngiven or '' end
else
val = ctx.params[key]
if ctx.subset ~= 1 and val ~= nil then
ctx.text = (ctx.header or '') .. val .. (ctx.footer or '')
else ctx.text = ctx.ifngiven or '' end
end
return false
end
-- Syntax: #invoke:params|list
library.list = function (ctx)
-- NOTE: `ctx.pipe` might be the original metatable!
local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or ''
flush_params(
ctx,
function (key, val)
ret[nss + 1] = pps
ret[nss + 2] = key
ret[nss + 3] = kvs
ret[nss + 4] = val
nss = nss + 4
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 4)
return false
end
-- Syntax: #invoke:params|list_values
library.list_values = function (ctx)
-- NOTE: `ctx.pipe` might be the original metatable!
-- NOTE: `library.coins()` and `library.unique_coins()` rely on us
local ret, nss, pps = {}, 0, ctx.itersep or ''
flush_params(
ctx,
function (key, val)
ret[nss + 1] = pps
ret[nss + 2] = val
nss = nss + 2
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|list_maybe_with_names
library.list_maybe_with_names = function (ctx)
-- NOTE: `ctx.pipe` might be the original metatable!
local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or ''
mixed_flush_params(
ctx,
function (key, val)
ret[nss + 1] = pps
ret[nss + 2] = ''
ret[nss + 3] = ''
ret[nss + 4] = val
nss = nss + 4
end,
function (key, val)
ret[nss + 1] = pps
ret[nss + 2] = key
ret[nss + 3] = kvs
ret[nss + 4] = val
nss = nss + 4
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 4)
return false
end
-- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value
-- 2]|[...]|[last coin = value N]
--[[
library.coins = function (ctx)
-- NOTE: `ctx.pipe` might be the original metatable!
local opts, tbl = ctx.pipe, ctx.params
for key, val in pairs(tbl) do tbl[key] = opts[get_parameter_name(val)] end
return library.list_values(ctx)
end
]]--
-- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin =
-- value 2]|[...]|[last coin = value N]
library.unique_coins = function (ctx)
local opts, tbl = ctx.pipe, ctx.params
local tmp
for key, val in pairs(tbl) do
tmp = get_parameter_name(val)
tbl[key] = opts[tmp]
opts[tmp] = nil
end
return library.list_values(ctx)
end
-- Syntax: #invoke:params|for_each|wikitext
library.for_each = function (ctx)
-- NOTE: `ctx.pipe` might be the original metatable!
local ret, nss, pps, txt = {}, 0, ctx.itersep or '', ctx.pipe[1] or ''
local skel, cnv, n_parts = parse_placeholder_string(txt)
flush_params(
ctx,
function (key, val)
for idx = 2, n_parts, 2 do
if skel[idx] then cnv[idx] = val
else cnv[idx] = tostring(key) end
end
ret[nss + 1] = pps
ret[nss + 2] = table.concat(cnv)
nss = nss + 2
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2]
-- |[...]|[append n]|[named param 1=value 1]|[...]|[named param
-- n=value n]|[...]
library.call_for_each = function (ctx)
local opts = ctx.pipe
local tname
if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end
if tname == nil then error(modulename ..
', ‘call_for_each’: No template name was provided', 0) end
local model = { title = tname, args = opts }
local ret, nss, ccs = {}, 0, ctx.itersep or ''
table.insert(opts, 1, true)
flush_params(
ctx,
function (key, val)
opts[1] = key
opts[2] = val
ret[nss + 1] = ccs
ret[nss + 2] = ctx.frame:expandTemplate(model)
nss = nss + 2
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|invoke_for_each|module name|module function|[append
-- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...]
-- |[named param n=value n]|[...]
library.invoke_for_each = function (ctx)
local opts = ctx.pipe
local mname
local fname
if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end
if mname == nil then error(modulename ..
', ‘invoke_for_each’: No module name was provided', 0) end
if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end
if fname == nil then error(modulename ..
', ‘invoke_for_each’: No function name was provided', 0) end
local model = { title = 'Module:' .. mname, args = opts }
local mfunc = require(model.title)[fname]
local ret, nss, ccs = {}, 0, ctx.itersep or ''
flush_params(
ctx,
function (key, val)
opts[1] = key
opts[2] = val
ret[nss + 1] = ccs
ret[nss + 2] = mfunc(ctx.frame:newChild(model))
nss = nss + 2
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2]
-- |[...]|[append n]|[named param 1=value 1]|[...]|[named param
-- n=value n]|[...]
library.magic_for_each = function (ctx)
local opts = ctx.pipe
local magic
if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end
if magic == nil then error(modulename ..
', ‘magic_for_each’: No parser function was provided', 0) end
local ret, nss, ccs = {}, 0, ctx.itersep or ''
table.insert(opts, 1, true)
flush_params(
ctx,
function (key, val)
opts[1] = key
opts[2] = val
ret[nss + 1] = ccs
ret[nss + 2] = ctx.frame:callParserFunction(magic, opts)
nss = nss + 2
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append
-- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param
-- n=value n]|[...]
library.call_for_each_value = function (ctx)
local opts = ctx.pipe
local tname
if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end
if tname == nil then error(modulename ..
', ‘call_for_each_value’: No template name was provided', 0) end
local model = { title = tname, args = opts }
local ret, nss, ccs = {}, 0, ctx.itersep or ''
flush_params(
ctx,
function (key, val)
opts[1] = val
ret[nss + 1] = ccs
ret[nss + 2] = ctx.frame:expandTemplate(model)
nss = nss + 2
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append
-- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param
-- n=value n]|[...]
library.invoke_for_each_value = function (ctx)
local opts = ctx.pipe
local mname
local fname
if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end
if mname == nil then error(modulename ..
', ‘invoke_for_each_value’: No module name was provided', 0) end
if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end
if fname == nil then error(modulename ..
', ‘invoke_for_each_value’: No function name was provided', 0) end
local model = { title = 'Module:' .. mname, args = opts }
local mfunc = require(model.title)[fname]
local ret, nss, ccs = {}, 0, ctx.itersep or ''
remove_numeric_keys(opts, 1, 1)
flush_params(
ctx,
function (key, val)
opts[1] = val
ret[nss + 1] = ccs
ret[nss + 2] = mfunc(ctx.frame:newChild(model))
nss = nss + 2
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1]
-- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named
-- param n=value n]|[...]
library.magic_for_each_value = function (ctx)
local opts = ctx.pipe
local magic
if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end
if magic == nil then error(modulename ..
', ‘magic_for_each_value’: No parser function was provided', 0) end
local ret, nss, ccs = {}, 0, ctx.itersep or ''
flush_params(
ctx,
function (key, val)
opts[1] = val
ret[nss + 1] = ccs
ret[nss + 2] = ctx.frame:callParserFunction(magic, opts)
nss = nss + 2
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append
-- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param
-- n=value n]|[...]
library.call_for_each_group = function (ctx)
-- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables!
local tmp
if ctx.pipe[1] ~= nil then tmp = ctx.pipe[1]:match'^%s*(.*%S)' end
if tmp == nil then error(modulename ..
', ‘call_for_each_group’: No template name was provided', 0) end
local model = { title = tmp }
local opts, ret, nss, ccs = {}, {}, 0, ctx.itersep or ''
for key, val in pairs(ctx.pipe) do
if type(key) == 'number' then opts[key - 1] = val
else opts[key] = val end
end
ctx.pipe = opts
ctx.params = make_groups(ctx.params)
flush_params(
ctx,
function (gid, group)
for key, val in pairs(opts) do group[key] = val end
group[0] = gid
model.args = group
ret[nss + 1] = ccs
ret[nss + 2] = ctx.frame:expandTemplate(model)
nss = nss + 2
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
--[[ First-position-only modifiers ]]--
---------------------------------------
-- Syntax: #invoke:params|new|pipe to
static_iface.new = function (child_frame)
local ctx = context_new(child_frame)
ctx.pipe = copy_or_ref_table(ctx.opipe, false)
ctx.params = {}
main_loop(ctx, context_iterate(ctx, 1))
return ctx.text
end
--[[ First-position-only functions ]]--
---------------------------------------
-- Syntax: #invoke:params|self
static_iface.self = function (frame)
return frame:getParent():getTitle()
end
--[[ Public metatable of functions ]]--
---------------------------------------
return setmetatable({}, {
__index = function (_, query)
local fname = query:match'^%s*(.*%S)'
if fname == nil then error(modulename ..
': You must specify a function to call', 0) end
local func = static_iface[fname]
if func ~= nil then return func end
func = library[fname]
if func == nil then error(modulename ..
': The function ‘' .. fname .. '’ does not exist', 0) end
return function (child_frame)
local ctx = context_new(child_frame)
ctx.pipe = copy_or_ref_table(ctx.opipe, refpipe[fname])
ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname])
main_loop(ctx, func)
return ctx.text
end
end
})
bx8a2av95b6jpca3zvf7xnia4bz7hsf
Maimun Saleh
0
15062
64883
56218
2026-07-10T03:02:50Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64883
wikitext
text/x-wiki
{{Stub}}
'''Sersan''' '''Mayor Udara (Anumèrta) Maimun Saleh''' (14 Mèi 1929 – Tangghâl 1 Agustus 1952) èngghi panèka sala sèttong pahlawan nasional Inḍonèsia. <ref>[https://web.archive.org/web/20170721190519/http://portalsatu.com/read/histori/kisah-maimun-saleh-si-penerbang-dari-aceh-8690 ""Kisah Maimun Saleh Si Penerbang dari Aceh""]. È arsip ḍâri [http://portalsatu.com/read/histori/kisah-maimun-saleh-si-penerbang-dari-aceh-8690 asli] tangghâl 2017-07-21. Èaksès 2025-12-26.</ref> <ref>{{Cite web |title=Not Found {{!}} TNI AU |url=https://tni-au.mil.id/content/lanud-maimun-saleh-0 |access-date=2026-01-10 |website=tni-au.mil.id |archive-date=2025-08-09 |archive-url=https://web.archive.org/web/20250809172945/https://tni-au.mil.id/content/lanud-maimun-saleh-0 |url-status=dead }}</ref> Maimun Saleh ètârèma mènangka moreḍ è sâkola'an penerbangan è Koetaraḍja (Banda Acèh) sè èpinḍa ka sâkola'an penerbangan è Kaliḍjati è taon 1950 bân bisa ollè ijaza mènangka pilot kellas 3 è taon 1951. Sa'ellana jârèya, Maimun Saleh maso' Skuadron IV bân noro' è sakabbhina operasi udara sè dhâddhi tanggung jawab kasatowanna. Namong, è tangghâl 1 Agustus 1952, Sersan Maimun Saleh sè mângabbher molo' intai Auster IV-R-80 ghâghâr è Pangkalan Udara Semplak, Bogor bân sèdhâ mènangka pahlawan nasional. <ref>[http://www.portal-komando.com/2017/07/lanud-sim-bersihkan-monumen-pesawat.html "Sekilas mengenai Sersan Mayor Maimun Saleh"] Èaksès 2026-01-10.</ref>
Samangkèn, asma Serma Anumerta Maemun Saleh è abadi'aghi sareng Angkatan Uḍara Inḍonèsia mènangka asma Pangkalan Angkatan Uḍara Inḍonèsia è Polo Sabang, Propènsi Nanggroe Acèh Ḍarussalam.
== Karir ==
[[Bhengkek:Bombardier Dash 8 Q300 VH-SBG from 74 Sunbury St Geebung IMGP4448.jpg|jmpl]]
È bulân Agustus 1949 Maimun Saleh ètarèma mènangka mahasiswa pilot è Kotaraḍja bân è taon 1950 èpinḍa ka Sâkola'an Penerbangan è Kaliḍjati, [[Kabhupatèn Subang|Subang]] è ḍimma salèrana bisa ollè sertifikat mènangka pilot kellas 3 è tangghâl 1 Pèbruwari 1951. saterrossa salèrana maso' Skuaḍron IV (Pengintaian Ḍarat) bân noro' è sakabbhina operasi sè èjhâlânè sareng Skuaḍron. Kalabân sèḍhâna Maimun Saleh, Angkatan Uḍara Inḍonèsia jhughân ka'èlangan orèng sè ḍegghik bhâkal makowat è ḍâlem perkembhângan Angkatan Uḍara Inḍonèsia. Ahèrra, ḍâ' kâlowarga almarhum Maimun, kaulâ saḍhâjâ ḍâri Angkasa atas nyama saḍhâjâ angghuta AURI ta' loppa nyampayaghi takziah atas sèḍhâna Maimun Saleh.
Almarhum panèka pilot Wilaya Khusus Aceh, sè sèḍhâ è tangghâl 1 Agustus 1952 è omor 23 taon bân èkobhur è Aneuek Galong Sibreh, Kâcamadhân Suka Makmur, Kabhupatèn Aceh Besar. Ka'angghuy ḍhâḍḍhi kenangan, nyama: MAIMUN SALEH ampon è'abaḍi'aghi ghâbây Banḍara Militèr LHO' NGA bân Ḍetasemen Banda Acèh AURI (sâbelunna Koetaradja) tangghâl 9 April 1954 sareng Angkatan Uḍara Inḍonèsia.
== Auster IV-R-80 ==
È arè Juma'at, 1 Agustus 1952, pokol 09.25, pesawat pengintai Auster IV–R–80 ghâgghâr è Pangkalan Uḍara Semplak (Bogor) sè èpiloti sareng Sersan Udara Maimun Saleh. È ḍâlem kâcâlaka’an panèka, Maimun Saleh langsong sèḍhâ. Bisa èjhârbâ'aghi lebbi jhâu jhâ' kaḍhâḍḍhiyân sè cè' sossa'na panèka kaḍhâḍḍhiyân è bâkto latèyan rutin è Komando Pangkalan Uḍara Semplak bân sâbabbhâ kabâdâ'an ghi' ta' èkataowè. Tangghâl 2 Agustus 1952 pokol 06.35 mayyit almarhum Maimun è ghibâ sareng molo' ḍâri Pangkalan Uḍara Tjililitan ka Kotaraḍja ([[Acèh]]), ka’ḍimma salèrana è bhâbbhâraghi.
== Sombher ==
ltp0ag9ke8uqennnr2yyrescj1xq5e3
Papèda
0
15167
64885
50568
2026-07-10T04:15:03Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64885
wikitext
text/x-wiki
{{Infobox food}}
'''Papèda''' panèka [[Makanan|kakanan aropa]] [[bubur]] [[sagu]] sè asalla dâri [[Kepulauan Maluku|Polo Maluku]] bân paseser bârâ[[Papua (wilayah Indonesia)|' Papua]] . Kakanan panèka biasana èghâbây kalabân [[Ikan tongkol|tongkol otabâ jhuko' tuna]] sè èbumbui [[kunyit|konyi']].<ref name="Khas">{{Cite web |last=Prasasti |first=Rati |year=2013 |title=Papeda Makanan Khas Dari Timur Indonesia |url=http://mediapublica.co/2013/04/02/papeda-makanan-khas-dari-timur-indonesia/ |access-date=9 Mei 2014 |publisher=Media Publica |archive-date=2015-04-08 |archive-url=https://web.archive.org/web/20150408170928/http://mediapublica.co/2013/04/02/papeda-makanan-khas-dari-timur-indonesia/ |url-status=dead }}</ref> Papèda bârnana [[Putih|potè]] bân aghâdhui tèkstur sè lengket, akadhi [[lem]] kalabân rassa sè bek tabâr.<ref name="Khas" /> Papèda bânnya' serat, rèndhâ [[kolesterol]], bân cè' bergizina.<ref name="tribun">{{Cite news |last=Santoso |first=Agung Budi |year=2013 |editor-last=Gultom |editor-first=Hasiolan Eko P |title=Papeda, Makanan Sehat Khas Papua |url=http://www.tribunnews.com/lifestyle/2013/12/10/papeda-makanan-sehat-khas-papua |accessdate=9 Mei 2014 |work=[[Tribunnews|Tribunnews.com]] |publisher= |language=id}}</ref>
== Sejarah ==
È pan-bârâmpan daèrah pasèsèr bân daèrah rèndhâ è Papua, sagu panèka bahan dhâsar dâlem pan-bârâmpan kakanan.<ref name="NatGeo">{{Cite web |last=Wisanggeni |first=Aryo |year=2013 |title=Belanga dan Papeda |url=http://nationalgeographic.co.id/berita/2013/12/belanga-dan-papeda |archive-url=https://web.archive.org/web/20131225071920/http://nationalgeographic.co.id/berita/2013/12/belanga-dan-papeda |archive-date=2013-12-25 |access-date=9 Mei 2014 |publisher=National Geographic Indonesia}}</ref> [[Sagu bakar|Sagu pangghâng]], sagu rata, bân bola sagu panèka kakanan sè palèng èkennal è bhân-sabbhân penjuru Papua, khusussa è tradisi kuliner masyarakat pribumi è Kabupaten Mappi, [[Asmat]], bân [[Mimika]].<ref name="NatGeo" /> Papèda panèka kakanan sagu khas sè cè' ghâmpangngah ètemmoè, khusussa è wilayah Maluku bân Papua.<ref name="NatGeo" /> [[Antropolog]] bân Kepala Lembaga Penelitian Papua, Johszua Robert Mansoben, nyataaghi jhâ' papèda lebbi èkennal è dâlem tradisi orèng asli [[Suku Sentani|Sentani]] è [[Danau Sentani|Tase' Sentani]], [[Suku Taikat|Taikat]] è [[Arso, Keerom|Arso]], bân [[Manokwari]].<ref name="NatGeo" />
== Macemma menu ==
Umumna, papèda èkakan kalabân jhuko' tongkol.<ref name="Maluku">{{Cite web |title=Papeda, Maluku: Bubur 'Lem' Segar Bergizi |url=http://www.femina.co.id/kuliner/info.kuliner/papeda.maluku.bubur.lem.segar.bergizi/004/002/234 |access-date=14 April 2014 |publisher=Femina}}</ref> Namong, papèda bisa jhughân èkombinasiaghi sareng [[Kakap merah|kakap mèra]], [[Kuwe gerong|bubara]].<ref name="Maluku" /> Salaèn sop jhuko' konèng,<ref>{{Cite web |last=adminpotret |first=potretmaluku.id |date=2021-07-06 |title=Talucu Lidah di Ikan Kuah Kuning - Potret Maluku |url=https://potretmaluku.id/talucu-lidah-di-ikan-kuah-kuning/ |access-date=2022-05-18 |website=potretmaluku.id |language=en-US}}</ref> papeda bisa jhughân ènikmati kalabân sayur ''ganemo'' sè èkaghâbây dâri dâun [[melinjo]] ngodâ sè èghuring kalabân kembhâng katès ngodâ bân [[cabbhi]] mèra.<ref name="Maluku" />
== Sombher ==
<references />
nyj9pyswd4ihrrza29205ne7cfuwrrq
Uli
0
15186
64891
52115
2026-07-10T06:11:56Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64891
wikitext
text/x-wiki
Uli otabâ jâdah iyaâ arèya kakanan sè èghâbây ḍari bherres plotan, daun panḍân kalabân cara èbhungkos. Uli èbento' kalabân è ra'-kerra' samarèna cellep. È bâkto èkakanna, uli bisa èkakan bân oncom, ghulâ pasèr, otabâ nyèor sangngar. Macem laènna ḍâri uli iyâ arèya tapay uli, panèka uli sè èkakan bân tapay sè ḍâri plotan.
== Macem-macemma Uli ==
=== Uli Ghulâng ===
Uli blondo iyâ arèya uli sè èsajiyâghi bân ghulâng bân bannya' ètemmuè è Solo. Carana aghâbây iyâ arèya kalabân cara anowap bherres plotan bân parotan nyèor. Mon marè massa', adhunan kasebbhut bhâkal è tèttè kantos alos bân èsajiyâghi dhing la cellep. Ghulâng iyâ arèya ampassa patè sè èghuring kantos kalowar minnya' abentu' ghumpalan-ghumpalan kèni' è dimma pangolaenna bhuto bâkto a jhâm-jhâm.<ref>{{Cite web |title=Pemerintah Kota Surakarta |url=https://surakarta.go.id/?p=12796 |access-date=2025-12-27 |website=surakarta.go.id |archive-date=2023-03-31 |archive-url=https://web.archive.org/web/20230331161842/https://surakarta.go.id/?p=12796 |url-status=dead }}</ref><ref>{{Cite web|last=Jatmiko Adi/JIBI/Solopos|first=Bayu|date=2017-12-05WIB15:15:19+00:00|title=KULINER SOLO : Gurih Manis Jadah Blondo Menggoyang Lidah|url=https://www.solopos.com/kuliner-solo-gurih-manis-jadah-blondo-menggoyang-lidah-874246|website=Solopos.com|language=id|access-date=2022-07-06}}</ref>
=== Uli Tèmpè ===
Uli Tèmpè iyâ arèya uli sè èsajiyâghi kalabân tèmpè bân bânnya' ètemmo è Yogyakarta. Tèmpè sè èsajiyâghi iyâ arèya macem tèmpè bacem kantos ngalowaraghi rassa manès bân seddhâ' bâkto èkakan. Awalla uli tèmpè iyâ arèya kakanan kona biyasa bân èjhuwâl è Kaliurang bân èkennallaghi sè dhimèn è taon 1950-an sareng mba Carik otabâ Sastro Dinomo. Kakanan rèya dhâddhi èkennal bân orèng-orèng bannya' bâkto Sri Sultan Hamengkubuwono IX arassaè uli tèmpè. Nyatana Panjânnângèpon senneng bân toman nyoro pengawalla kaangghuy mellè uli tèmpè ḍâ' Kaliurang. Sajjhâkka jârèya uli tèmpè dhâddhi kaonang bân ḍhâddhi kakanan khas Yogyakarta kantos satèya.<ref>{{Cite web |title=Pemerintah Kabupaten Sleman » Blog Archive » Jadah Tempe, Makanan Tradisional Kegemaran Sultan |url=http://www.slemankab.go.id/3844/jadah-tempe-makanan-tradisional-kegemaran-sultan.slm |archive-url=https://web.archive.org/web/20230320103650/http://www.slemankab.go.id/3844/jadah-tempe-makanan-tradisional-kegemaran-sultan.slm |archive-date=2023-03-20 |access-date=2025-12-27 |website=www.slemankab.go.id |url-status=dead }}</ref><ref>{{Cite web |last=Dania |first=Rachma |title=Sejarah Jadah Tempe: Makanan Khas Yogyakarta Kesukaan Sultan |url=https://tirto.id/sejarah-jadah-tempe-makanan-khas-yogyakarta-kesukaan-sultan-efgE |access-date=2025-12-27 |website=tirto.id |language=id}}</ref>
=== Uli Mantan ===
Uli mantan iyâ arèya jhâjhân kona Yogyakarta sè èghâbây ḍari plotan, patè, bân dhâghing, bisa cebbhirân ajâm otabâ sapè, dhâddhi essena, lajhu èbhungkos bân tellor dhâddhâr bân acora' paḍâ'â bân lemper. È kennângan laèn, jhâjhân rèya jhughân èkennal kalabân nyama ''semar mendem'' kalabân panyajiyân ta' parlo èjhitèng.<ref>{{Cite news|last=Lyliana|first=Lea|date=2021-11-27|title=Resep Jadah Manten Khas Yogyakarta, Kudapan dari Ketan Isi Daging Ayam|url=https://www.kompas.com/food/read/2021/11/27/170600875/resep-jadah-manten-khas-yogyakarta-kudapan-dari-ketan-isi-daging-ayam|work=[[Kompas.com]]|language=id|access-date=2025-12-27|editor-last=Lyliana|editor-first=Lea}}</ref>
== Sombher ==
pgryoo5qkqucuq2yhnkged55b0xnxs9
Tari Alang Suntiang Panghulu
0
15588
64889
57363
2026-07-10T05:49:46Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64889
wikitext
text/x-wiki
'''Tari Alang Suntiang Panghulu''' èngghi panèka tarian tradisional sè asalla ḍâri Nagari Padang Laweh, [[Kabhupatèn Agam|Kabupatèn Agam]], [[Sumatra Bârâ’|Propinsi Sumatera Bârâ']].<ref>{{Cite web |last=Sedyawati |first=Edi |last2=Parani |first2=Yulianti |date=1995 |others=Djoko Soebandono |title=Ensiklopedi tari Indonesia |url=https://pustaka.kebudayaan.kemdikbud.go.id/index.php?p=show_detail&id=3258&keywords=ensiklopedi+tari |access-date=2025-12-29 |website=pustaka.kebudayaan.kemdikbud.go.id |language=id}}</ref> Lambâ', tarian ka'ḍinto èlampa'aghi è ḍaèra Luhak Nan Tigo è [[Orèng Minangkabau|Minangkabau]], èngghi ka'ḍinto Luhak Tanah Datar, Luhak Agam sareng Luhak Limo Puluh Koto, tor aropa'aghi tarian tradisional sè aropa'aghi kapara ''Pangulu'' (Pamèmpèn Adhât).<ref>''[https://repositori.kemendikdasmen.go.id/12474/1/Khasanah%20Budaya%20Nusantara%20VII.pdf Khasanah Budaya Nusantara VII] {{Webarchive|url=https://web.archive.org/web/20260106060947/https://repositori.kemendikdasmen.go.id/12474/1/Khasanah%20Budaya%20Nusantara%20VII.pdf |date=2026-01-06 }}''. Repositori Kemendikdasmen. Èyaksès tangghâl 29 Ḍèsèmber 2025.</ref> Tarian ka’ḍinto namong èlampa’aghi neng acara-acara khusus sè akaè’ sareng ''Pangulu''.
Saèstona, tari panèka ampon abit ta' èkalako. Namong, ka'angghuy mastèyaghi tari panèka ta' elang, Pak Djarmis mabâli polè è taon 1960-an. Pak Djarmis nyèpta’aghi polè ghulina sè khas ḍâri tari Alang Suntiang Panngulu bân ngajhâri ḍâ’ na'-kana' ngoḍâ è tello’ kampong. Pak Djarmis jhughân aghâbây tari tradisional ḍaèra panèka ka kotta [[Kottha Bukittinggi|Bukittinggi]], sè aghâbây tari panèka lebbi kalonta è lowar dhisa.<ref name=":0">{{Cite journal |last=Wahyuni |first=Wahida |last2=Yusfil |first2=Yusfil |last3=Suharti |first3=Suharti |date=2018 |title=TARI ALANG SUNTIANG PANGULU: TARIAN ADAT MASYARAKAT PADANG LAWEH DI MINANGKABAU(TANTANGAN DAN PROBLEMATIKA) |url=https://dipro.isi-ska.ac.id/index.php/SemHas/article/view/19 |journal=PROSIDING: SENI, TEKNOLOGI, DAN MASYARAKAT |language=en |issue=3 |pages=66–71 |issn=2715-4351}}</ref>
== Sajhârâ ==
Maskè panalètèyan tor ola'an ''informasi'' ampon èlampa’aghi è lapangan sareng ''sejarawan'', ghi’ ta’ èkaonèngè kalabân pastè bilâ tari Alang Suntiang Panghulu sè ḍâ’-aḍa’na ècèpta’aghi. Ca’èpon, tari ka’ḍinto ghi’ dhimèn namong ''pertunjukan'' tari sè èlampa’aghi saccara spontan è bâkto acara pangangka'an sèttong pangolo otabâ “''batagak pangulu''” mènangka sellèngan tor bur-lèburân è ḍâlem acara ka’ḍinto. Sampè’ samangkèn tradisi pangangka'an sèttong pangolo è kampong Padang Laweh, [[Kabhupatèn Agam|Kabupatèn Agam]], pagghun èjhâlânnaghi kalabân èyèrèngngè kalabân tari ka'ḍinto. Acara pangangka'an ka’ḍinto jhughân aropa’aghi pasaroju'ân masyarakat ka'angghuy ngangka' sèttong pangolo sè aghântè’è pangolo sè ampon sèdhâ.<ref>Imran, Mhd Nefi; Noerdin, Sajoeti (1991). "[http://repository.unp.ac.id/id/eprint/1689/ Analisis Etnologi Tari Alang Suntiang Pangulu]". ''repository.unp.ac.id'' (ḍâlem bhâsa Inggris). kaca. 4-5.</ref> Salaèn ghânèka, sajhârâ tari Alang Suntiang Pangulu cokop lanjhâng bân jhughân èkennal è dhisa lokal. Hal ka’ḍinto ètandhèi kalabân bâḍâna pan-bârâmpan kalompo’ tari sè langsong èbina sareng saseppo sè ampon alampa’aghi tari ka’ḍinto. ''Penampilan'' otabâ palampa’anna tari Alang Suntiang Pangulo ampon segghut kalowar ḍâlem acem-macem kagiyadhân akadhi upacara adhât, paraya’an tor ngambâ' tamoy sè ḍâteng ḍâri lowar. È taon 1973, tari ka’ḍinto èlampa’aghi ka'angghuy ngambâ' Wâkkèl Prèsiḍèn [[Inḍonèsia|RI]] bâkto ka’ḍinto [[Hamengkubuwana IX|Sri Sultan Hamengkubuwono IX]], sè rabu ka Ambun Pagi, Matur, Kabupatèn Agam.<ref name=":0" />
== Sombher ==
q53hmufb81ecdk8pzziatnva5y916id
Olympe de Gouges
0
15868
64884
52900
2026-07-10T04:09:17Z
InternetArchiveBot
639
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64884
wikitext
text/x-wiki
Olympe de Gouges lahir Marie Gouze è taon 1748 è Montauban, Prancis lao'. Bâ'na dâtâng dâri kalowarga kellas tengnga; èkennal resmi mènangka pottrana Pierre Gouze, tukang daging, sanajân bâdâ spekulasi jhâjhârbâ'ân jhâ' ramana kandungna panèka bangsawan lokal, Jean-Jacques Lefranc de Pompignan. Latar sosial panèka nyaba'aghi è antarana dunnyana orèng biasa bân elit intelektual, posisi sè bhâkal mapangaro perspektif kritisna dâ' hierarki sosial<ref>{{Cite web |last=seobeta01 |date=2023-05-07 |title=Olympe de Gouges, Singa Betina Revolusi Perancis |url=https://www.berdikarionline.com/olympe-de-gouges-singa-betina-revolusi-perancis/ |access-date=2026-01-01 |website=Berdikari Online |archive-date=2025-11-20 |archive-url=https://web.archive.org/web/20251120000836/http://www.berdikarionline.com/olympe-de-gouges-singa-betina-revolusi-perancis/ |url-status=dead }}</ref>. akadhi bânnya' bhâbinè'an abad ke-18, Marie Gouze ta' narèma pendidikan tèngghi sè resmi. Sabaligga, èpon ngèmbangaghi kamampowan intelektual lèbât pendidikan dhibi' lèbât maos, adiskusi, bân terlibat dâlem kalangan sastra. Saellana akabin ghi' ngodâ bân saterrossa dhâddhi randhâ, èpon apinda ka Paris bân ngobâ nyamana dâddhi Olympe de Gouges, sèttong lalakon simbolis kaangghuy mabâdâhaghi identitas anyar mènangka bhâbinè' bebas bân sastrawan umum.
È Paris, èpon maso' ka salon intelektual bân kalangan teater, è dhissa' èpon ngasah katerampilanna è dâlem nolès drama, pamflet politik, bân esai. Pangalamanna mènangka bhâbinè' sè ta' andi' perlindungan hukum sè samporna baik è dâlem parkawinan otabâ masyarakat maènga' kasadaranna dâ' ketimpangan gender bân aghâbây èpon aghâdhui tolesan mènangka alat perjuangan politik.
[[Bhengkek:Marie-Olympe-de-Gouges.jpg|jmpl|Olympe de Gouges]]
== Karirre ==
Maso' ka Paris è taon 1770-an, Olympe de Gouges aktif mènangka penulis drama bân pamfletis politik. Bâ'na aghuna'aghi teater mènangka media kritik sosial, khusussa kaangghuy nolak perbudakan, ketimpangan kelas, bân subordinasi bhâbinè'an. Sala sèttong karyana sè palèng kontroversial panèka drama L'Esclavage des Noirs (1785), sè secara terbuka nolak perbudakan è koloni Perancis posisi sè berani bân ta' èkasennengi è antarana elit ekonomi è bâkto jârèya<ref>{{Cite web |last=seobeta01 |date=2023-05-07 |title=Olympe de Gouges, Singa Betina Revolusi Perancis |url=https://www.berdikarionline.com/olympe-de-gouges-singa-betina-revolusi-perancis/ |access-date=2026-01-01 |website=Berdikari Online}}</ref>. Bâkto Revolusi Perancis èmolaè è taon 1789, de Gouges terlibat langsung dâlem debat umum. Bâ'na nolès ratosan pamflet bân selebaran sè ngritik kegagalan revolusi kaangghuy mamaso' bhâbinè'an mènangka subjek politik. Puncak dâri pekkeranna panèka Deklarasi Hak-hak Bhâbinè' bân Warga (1791), jawaban langsung dâ' Deklarasi Hak-hak Lakè' bân Warga Negara, sè secara implisit èkalowarè bhâbinè'. È dâlem teks panèka, de Gouges aghâdhui jhâ' bhâbinè'an lahir bebas bân padâ sareng lakè' è dâlem hak-hak sipil, politik, bân hukum, è antarana hak mèlè bân hak ghâbây aghâdhui.
Salaèn masalah gender, de Gouges jhughân nolak hukuman matè, è antarana Rato Louis XVI, bân nganjuraghi demokrasi konstitusional. Sikap moderat bân humanis aghâbây èpon ta' cocok sareng fraksi Jacobin sè sajân radikal, khusussa è bâbâna pimpinan Maximilien Robespierre.
E bâkto Teror Revolusioner (1793), tolesan Olympe de Gouges èangghep subversif. ètangkep polana ètuduh nolak republik bân nyebbâlaghhi ide-ide kontra-revolusioner. È dâlem pangadilan sè panḍâ' bân ta' adil, ètolak pertahanan sè teppa'<ref>{{Cite web |last=seobeta01 |date=2023-05-07 |title=Olympe de Gouges, Singa Betina Revolusi Perancis |url=https://www.berdikarionline.com/olympe-de-gouges-singa-betina-revolusi-perancis/ |access-date=2026-01-01 |website=Berdikari Online |archive-date=2025-11-20 |archive-url=https://web.archive.org/web/20251120000836/http://www.berdikarionline.com/olympe-de-gouges-singa-betina-revolusi-perancis/ |url-status=dead }}</ref>. Olympe de Gouges èeksekusi kalabân guillotine è tanggal 3 November 1793, è Paris. E bâkto matè, èpon aghâdhui hak sè padâ kaangghuy naè' ka platform politik bân polana jârèya jhughân kaangghuy naè' ka taruhan algojo, ironi paè' dâri revolusi sè èproklamasiaghi kabebasanna bân kasetaraan.
Maske ampon abit èpaèlang dâri narasi resmi Revolusi Perancis, Olympe de Gouges samangkèn èkennal mènangka pelopor feminisme modern bân pemikir HAM. Pèkkèran-pèkkèranna tentang kesetaraan hukum, representasi politik bhâbinè'an, bân penolakan kekerasan naghara ampon dhâddhi referensi penting dâlem pangajharan feminisme, demokrasi, bân filsafat politik.
Carèta odi'na nojjhuaghi paradoks revolusi: cara perjuangan kaangghuy merdeka bisa aoba dâddhi alat penindasan bâkto sowara kritis otamana sowara bhâbinè'an èpèyara.
== Sombher ==
<references />
9ptzrkfxry633y0vg2tpz7jzmv56faw
Anggia Ermarini
0
16840
64876
60419
2026-07-10T00:25:36Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64876
wikitext
text/x-wiki
{{Infobox orang}}
'''Ḍatuk Seri Dr. Hajah Anggia Ermarini''', S.Pd., M.K.M. (lahèr 25 Sèptèmber 1974) panèka sala sèttong politisi Inḍonèsia ḍâri Partai Kebangkitan Bangsa (PKB) & Partai Keaḍilan Rakyat (PKR). Abggia jhughân atugas dhâddhi bâkkèl Sekretaris Jenḍeral Ḍewan Eksekutif Pusat (ḌPP) PKB, Katowa Umum PP Fatayat Nahdlatul Ulama (NU), bân Sekretaris Lembaga Kasèhadhân PP NU (LKNU).<ref>{{Cite web |title=Profil Anggia Erma Rini, Wakil Sekretaris Jenderal DPP PKB 2019-2024, Wakil Ketua Komisi IV DPR RI |url=https://www.tribunnews.com/mata-lokal-memilih/2022/11/26/profil-anggia-erma-rini-wakil-sekretaris-jenderal-dpp-pkb-2019-2024-wakil-ketua-komisi-iv-dpr-ri |access-date=2026-01-09 |website=Tribunnews.com |language=id-ID}}</ref><ref>Anggia Ermarini, Panglima Baru Fatayat. {{Cite web |url=http://thayyiba.com/2015/09/22/1076/anggia-ermarini-panglima-baru-fatayat/ |title=Archive copy |access-date=2026-01-09 |archive-date=2018-03-23 |archive-url=https://web.archive.org/web/20180323092925/http://thayyiba.com/2015/09/22/1076/anggia-ermarini-panglima-baru-fatayat/ |url-status=bot: unknown }} Diakses dari situs berita thayyiba.com pada 12 November 2017</ref> Sabellunna ampon aktif è ḍâlem Pergerakan Mahasiswa Islam Inḍonèsia (PMII) tor ekaparcajâi ka'angguy alampa’aghi manḍat dhâddhi Katowa Korps Putri PMII Cabang Kotta Malang taon 1996-1997 tor Katoa 1 Korps Putri PB PMII taon 1997-2000. Anggia jhughân dhâddhi Katowa Umum PKB [[Sumatra Bârâ’]] è taon 2021.<ref>{{Cite web |last=Arrazzi |first=Fakhruddin |date=2021-01-18 |title=Harapan Febby pada Anggia Ermarini, "Mem-PKB-Kan" dan "Meng-NU-kan" Sumbar |url=https://padangkita.com/harapan-febby-pada-anggia-ermarini-mem-pkb-kan-dan-meng-nu-kan-sumbar/ |access-date=2026-01-09 |website=Padangkita.com |language=id}}</ref>
== Penḍiḍighân ==
Penḍiḍighân Anggi èmolaè ḍâri:
* SḌN 1 Gonḍang Sragen
* SMPN 1 Gonḍang Sragen
* SMAN 1 Sragen (1993)
* Sarjana Penḍiḍighân Bhâsa Inggris Universitas Negeri Malang (1997)
* Magister Kesehatan Masyarakat Universitas Indonesia (2014)
* Ḍoktor Program Stuḍi Ilmu Administrasi Konsentrasi Aḍministrasi Publik Universitas Padjajaran (2023)<ref>Anggia Erma Rini Raih Gelar Doktor di Program Studi Administrasi Publik | Fakultas Ilmu Sosial & Ilmu Politik". 2024-02-12. Diakses tanggal 2024-06-25.</ref>
== Karier ==
* Katowa Korp PMII Puteri Cab. Malang 1996-1997 <ref>{{Cite web |last=KBR |title=KBR :: KENALI CALEG - ANGGIA ERMA RINI : info caleg terlengkap |url=https://kbr.id/kenalicaleg/caleg/kualitas_detail/id/3615 |access-date=2026-01-09 |website=kbr.id |language=id |archive-date=2024-06-25 |archive-url=https://web.archive.org/web/20240625145951/https://kbr.id/kenalicaleg/caleg/kualitas_detail/id/3615 |url-status=dead }}</ref>
* Katowa 1 PB Korp PMII Putri 1997-2000
* Biḍang Advokasi PP Fatayat NU 2005
* Katowa Ḍepartemen Kepenḍuḍukan PP LKKNU 2005-2010
* Project Officer GNKL PBNU
* Sekjen INTERNA
* Sekretaris Lembaga Kesehatan NU
* Katowa Umum PP Fatayat NU 2015-2020
* Staff Khusus Menteri Biḍang Komunikasi bân Kemitraan Kementerian Pemuḍa bân Olahraga Republik Inḍonèsia
* Wasekjen Partai Kebangkitan Bangsa
* Angghuta ḌPR RI (Perioḍe 2019-2024, 2024-2029)
* bâkkèl Katowa Komisi IV ḌPR RI (2019-2024) <ref>{{Cite web |title=Profil Dr. ANGGIA ERMA RINI, M.K.M. |url=https://www.lezen.id/profil-calon/dpr/jawa-timur-vi/3506/dr-anggia-erma-rini-mkm/6586 |access-date=2026-01-09 |website=Info Pemilu |language=id}}</ref>
* Katowa ḌPW Partai Kebangkitan Bangsa somattra Bârâ' 2020 - 2023
* Katowa Komisi VI ḌPR RI (2024-Samangkèn)
== Sombher ==
<references />
lca7dhy3l5zuk121773u908dt1fmcx9
Tarumanagara
0
17045
64890
56433
2026-07-10T05:59:34Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64890
wikitext
text/x-wiki
{{Infobox former country
| conventional_long_name = Tarumanagara
| native_name = {{lang|su|ᮒᮛᮥᮙᮔᮌᮛ}}
| common_name = Tarumanagara
| today = {{flag|Indonesia}}
| religion = [[Hinḍu]] bân [[Bhuddhâ]]
| p1 = Kraton Kutai Martapura
| s1 = Kraton Sondhâ
| s2 = Kraton Meḍang
| year_start = Abad ka-5
| year_end = Abad ka-7
| date_start =
| date_end =
| event_start = [[Prasasti Ciaruteun]]
| event_end = Arebbhu' [[Sriwijaya]]
| image_map = Tarumanagara id.svg
| image_map_caption = Wilajâ Tarumanagara
| capital = Sundapura
| official_languages = [[Bhâsa Sanskerta|Sanskèrta]]
| government_type = Monarki
| title_leader = [[Rato]]
| leader1 = [[Purnawarman]]
| year_leader1 = Abad ka-5
| footnotes = Purnawarman: Rato Tarumanagara sè èkataowè kalabân dhâsar temmowan prasasti [[prasasti Ciaruteun|Ciaruteun]], [[prasasti Jambu|Jambu]], bân [[prasasti Tugu|Tugu]].<br> Prasasti Ciaruteun: [[Prasasti Ciaruteun]]: bhuktè palèng towa paningghâlân kraton Tarumanagara sè asalla ḍâri abad ka-5 M.
| currency = emmas bân sakala
}}
'''Tarumanagara''' otabâ Kraton Taruma ([[bhâsa Sondhâ]]: ᮒᮛᮥᮙᮔᮌᮛ) panèka sala sèttong kraton palèng towa kapèng ḍuwâ' è Nusantara sa'amponna [[Kraton Kutai Martapura|Kraton Kutai]], sè aningghâllaghi bhuktè ''arkeologi''. Kraton Tarumanagara panèka toma kobâsa è wilajâ bârâ' ḍâri polo [[Jhâbâ]] è abad ka-5 kantos abad ka-7 M. Bhuktè palèng towa paningghâlân arkeologi ḍâri Kraton Tarumanagara panèka prasasti Ciaruteun, aropa bâto parèngeddhân ḍâri abad ka-5 M sè ètandhâi kalabân bh`angon dhâpa'an soko rato [[Purnawarman]].<ref>{{Cite web |last=https://disbudpar.bogorkab.go.id |title=PRASASTI CIARUTEUN |url=https://disbudpar.bogorkab.go.id/berita/Seputar-OPD/prasasti-ciaruteun |access-date=2026-01-11 |website=Dinas Kebudayaan dan Pariwisata Kabupaten Bogor |language=en}}</ref><ref>{{Cite book |last=Soekmono |first=R. |url=https://books.google.co.id/books/about/Pengantar_sejarah_kebudayaan_Indonesia.html?id=N84bAAAAMAAJ&redir_esc=y |title=Pengantar sejarah kebudayaan Indonesia |date=1973 |publisher=Yayasan Kanisius |language=id}}</ref>
== Prasasti Ciaruteun ==
Kennengngan Prasati Ciaruteun è dhisa Ciaruteun, kacamatan Cibungbulang, kabupatèn Bogor ètemmowaghi è alèran Ci Aruteun, Bogor taon 1863, prasasti panèka bâḍâ abâgi dhâddhi ḍuwâ' bâgiyân. Èngghi ka'ḍinto Prasti Ciaruteun A sè atolès kalabân [[Bhâsa Sanskerta|bhâsa Sanskèrta]] bân aksara Pallawa bâḍâ empa' bhâris puisi Inḍia (''irama anustubh''), bân Prasasti Ciaruteun B èssè ghurisân dhâpa' soko bân ''motif'' bâ-labâ sè ghi' ta' èkataowè ma'nana, mènorot jhuru koncèna Prasasti Ciaruteun, lambang sè bâḍâ è prasti Ciaruteun B nandhâ'aghi Rato Purnawarman sè ghâghâ bân akobâsa. Prasasti panèka anḍi' okoran 2 mèter kalabân tèngghi 1,5 mèter, berrâ'ân 8 ton.
Allè aksara ḍâri prasati Ciaruteun ka'ḍinto:
* Bhâris kapèng sèttong: ''vikkrantasya vanipateh''
* Bhâris kapèng ḍuwâ': ''srimatah purnnavarmmanah''
* Bhâris kapèng tello': ''tarumanagarendrasya''
* Bhâris kapèng empa': ''visnor-iva padadvayam''
<blockquote>Artèna:
''Panèka sapasang (dhâpa') soko, sè akadhi (dhâpa' soko) Ḍewa Wisnu, panèka dhâpa' sokona sè moljâ Purnawarman, rato è naghârâ Taruma (Tarumanagara), rato sè ghâghâ è dhunnya.<ref>{{Cite web |last=Qadarsih |first=Maharani |date=2023-11-27 |others=Didin Ansori |title=Laeflet 7 Prasati Kerajaan Tarumanegara |url=https://repositori.kemendikdasmen.go.id/25742/ |access-date=2026-01-11 |website=Laeflet 7 Prasati Kerajaan Tarumanegara |language=id |archive-date=2026-01-21 |archive-url=https://web.archive.org/web/20260121155129/https://repositori.kemendikdasmen.go.id/25742/ |url-status=dead }}</ref>''</blockquote>
== Sombher ==
lhj0r53pfnke599ga1y6t5s190q0r0k
Safzen Noerdin
0
17065
64888
63903
2026-07-10T05:00:23Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64888
wikitext
text/x-wiki
{{Infobox orang}}
Safzen Noerdin<ref>{{Cite web |title=Safzen Noerdin, TNI Angkatan Laut {{!}} Ensiklopedi Tokoh Indonesia |url=http://www.tokohindonesia.com/ensiklopedi/s/safzen-noerdin/index.shtml |archive-url=https://web.archive.org/web/20060112090018/http://www.tokohindonesia.com/ensiklopedi/s/safzen-noerdin/index.shtml |archive-date=2006-01-12 |access-date=2026-01-11 |website=www.tokohindonesia.com}}</ref> (lahèr 25 Jânuwari 1952) panèka ''purnawirawan TNI-AL'' sè palèng akhèr ajabat mènangka ''Inspèktur Jènderal Departemèn Pertahanan (Irjèn Dephan).''<ref>{{Cite web |last=Gie |first=Yap Hong |date=2008-04-25 |title=[Marinir] MAYJEN TNI (MAR) SAFZEN NOERDIN, S.IP. JABAT IRJEN DEPHAN |url=http://www.polarhome.com/pipermail/marinir/2008-April/001442.html |access-date=2026-01-11 |archive-date=2021-01-16 |archive-url=https://web.archive.org/web/20210116124151/http://www.polarhome.com/pipermail/marinir/2008-April/001442.html |url-status=dead }}</ref>
Safzen panèka lolosân palèng saè ḍâri ''Akademi Angkatan Laut (AAL)'' angkadhân sè kapèng-XX/taon 1975. Jabadhân palèng akhèr ḍâri jènderal bintang tèllo' panèka ''Irjenal.''
Safzen Noerdin perna ajabât ''Komisaris Utama PT. Pindad.'' Abâ'na samangkèn ajabât mènangka ''Duta Besar RI'' ka'angghuy Ira' sajjhek bulân Maret.<ref>{{Cite news |last=dotMe |first=Lintas |title=Putra Aceh dilantik jadi Duta Besar Untuk Irak - inilahaceh.com |url=http://www.lintas.me/news/politik-hukum/inilahaceh.com/putra-aceh-dilantik-jadi-duta-besar-untuk-irak |access-date=2026-01-11 |work=Lintas.me |language=id |archive-date=2014-04-13 |archive-url=https://web.archive.org/web/20140413155116/http://www.lintas.me/news/politik-hukum/inilahaceh.com/putra-aceh-dilantik-jadi-duta-besar-untuk-irak |url-status=dead }}</ref><ref>{{Cite web |title={{!}} LIPUTAN INDONESIA NEWS |url=https://liputanindonesianews.com/detail/4142/letjen-tni-mar-purn-safzen-noerdin-luncurkan-buku-harihari-rawan-di-irak.html |archive-url=https://web.archive.org/web/20210120153830/https://liputanindonesianews.com/detail/4142/letjen-tni-mar-purn-safzen-noerdin-luncurkan-buku-harihari-rawan-di-irak.html |archive-date=2021-01-20 |access-date=2026-01-11 |website={{!}} LIPUTAN INDONESIA NEWS |language=en-US |url-status=live }}</ref>
== Riwayât Panḍhiḍhighân ==
* ''AAL (1975)''
* ''Dikko Marinir''
* ''Diklapa-I Marinir (1977/1978)''
* ''Sustafpur TNI AD (1987)''
* ''Sus Dan Yon/Inf TNI AD (1989)''
* ''Seskoal'' Angkadhân''-29 (1991/1992)''
* ''Sesko ABRI'' Angkadhân''-23 (1996/1997)''
* ''Lemhannas KRA XXXIII (2000)''
== Riwayât jabadhân ==
* ''Komandan Peleton (1976)''
* ''Komandan Kompi (1983)''
* ''Komandan Batalyon Infanteri 6/Marinir (1993—1995)''
* ''Komandan Satuan Marinir Armada Timur (1997)''
* ''Asisten Dankormar Bidang Operasi (1998—1999)''
* ''Komandan Brigif-2 Marinir (1999—2001)''
* ''Wakil Gubernur AAL (2001—2002)''
* ''Kaskormar (2002—2004)''
* ''Dankodikal (2004—2005)''
* ''Dankormar<ref>{{Cite web |last=PUSPEN TNI, Puspen Mabes TNI |title=PERGANTIAN JABATAN KOMANDAN KORPS MARINIR {{!}} WEBSITE TENTARA NASIONAL INDONESIA |url=https://tni.mil.id/view-5799-pergantian-jabatan-komandan-korps-marinir.html |archive-url=https://web.archive.org/web/20230211000702/https://tni.mil.id/view-5799-pergantian-jabatan-komandan-korps-marinir.html |archive-date=2023-02-11 |access-date=2026-01-11 |website=www.tni.mil.id |language=en |url-status=live }}</ref> (2005—2007)''
* ''Irjenal (2007—2008)''
* ''Irjen Kemhan (2008—2010)''
== Sombher ==
b2mdvs3tz7l2tovx1oa2zmeb236t9l0
Wuspo Lukito
0
17083
64892
57778
2026-07-10T06:42:51Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64892
wikitext
text/x-wiki
{{Infobox orang}}
Wuspo Lukito (lahèr 29 Sèptèmber 1961) panèka ''purnawirawan perwira'' tèngghi TNI-AL sè palèng akhèr) ajabat mènangka Bakkèl Kopala ''Staf TNI Angkatan Laut.''
Wuspo panèka ''alumnus Akademi Angkatan Laut (AAL)'' angkadhân sè kapèng-XXXI/taon 1986. Jabadhân palèng akhèr ḍâri jènderal bintang tèllo' panèka ''Gubernur Akademi Angkatan Laut''.
== Panḍhiḍhighân Militer ==
* ''AAL (1986)''
* ''Suspaja (1986)''
* ''Sus Mantak (1989)''
* ''Diklapa-1 (1990)''
* ''Sus Pariksa (1992)''
* ''Diklapa II (1993)''
* ''Dikualsus Sishanudnas (1997)''
* ''Seskoal'' angkadhân sè kapèng-37 (1999)
* ''Sus Opsgab TNI (2005)''
* ''Sesko TNI'' angkadhân sè kapèng-36 (2009)
* ''Lemhannas'' angkadhân XLVIII (2012)
* S1 Èkonomi
* S2 Èkonomi
== Lampa’an Militèr ==
* ''As Padiv Nagi KRI Yohannes 332 (1985)''
* ''Padiv Kom KRI Yohannes 332 (1986)''
* ''Padiv Kom KRI Martadinata 342 (1988)''
* ''Padiv Kom KRI Fatahillah 361 (1991)''
* ''Kadep Ops KRI Wiratno 379 (1993)''
* ''Palaksa KRI Wiratno 379 (1996)''
* ''Komandan KRI Sutanto 377 (1998)''
* ''Komandan KRI Memet Sastrawiria 380 (2001)''
* ''Komandan KRI Keris 624 (2002)''
* ''Komandan KRI Malahayati 362 (2002)''
* ''Komandan KRI Oswald Siahaan 354 (2004)''
* ''Komandan Lanal Kendari (2005)''
* ''Komandan Satfib Koarmatim (2006)''
* ''Dansat Puslat Kaprang Kolatarmatim (2007)''
* ''Dansatlinlamil Sorbhâjâ (2008)''
* ''Dankolat Koarmabar (2009)<ref>{{Cite web |title=Harian Pelita |url=http://www.pelita.or.id/cetakartikel.php?id=87363 |archive-url=https://web.archive.org/web/20161130190342/http://www.pelita.or.id/cetakartikel.php?id=87363 |archive-date=2016-11-30 |access-date=2026-01-11 |website=www.pelita.or.id}}</ref>''
* ''Dosen Sesko TNI (2010)''
* ''Paban II Ops Sopsal Mabesal (2011)''
* ''Danguskamlatim (2012)<ref>{{Cite news |last=Ali |first=Achmad |date=2013-01-08 |title=Kolonel Laut (P) Wuspo Lukito Jabat Komandan Guskamlatim - LensaIndonesia.com |url=http://www.lensaindonesia.com/2013/01/08/kolonel-laut-p-wuspo-lukito-jabat-komandan-guskamlatim.html |access-date=2026-01-11 |work=LensaIndonesia.com |language=en-US |archive-date=2016-11-30 |archive-url=https://web.archive.org/web/20161130185216/http://www.lensaindonesia.com/2013/01/08/kolonel-laut-p-wuspo-lukito-jabat-komandan-guskamlatim.html |url-status=dead }}</ref>''
* ''Kapus Kooropskamla Bakamla (2014)''
* ''Staf Khusus Kasal (2016)<ref>{{Cite web |url=http://www.beritasatu.com/nasional/370315-tni-lakukan-mutasi-besarbesaran.html |title="TNI Lakukan Mutasi Besar-Besaran" |access-date=2026-01-12 |archive-date=2020-08-04 |archive-url=https://web.archive.org/web/20200804003815/https://www.beritasatu.com/nasional/370315-tni-lakukan-mutasi-besarbesaran.html |url-status=dead }}</ref>''
* ''Gubernur AAL (2016)<ref>{{Cite web |url=http://aal.ac.id/2016/12/22/laksma-tni-wuspo-lukito-s-e-m-m-gubernur-aal-yang-baru/ |title="LAKSMA TNI WUSPO LUKITO, S.E., M.M. GUBERNUR AAL YANG BARU" |access-date=2026-01-12 |archive-date=2017-04-26 |archive-url=https://web.archive.org/web/20170426043256/http://aal.ac.id/2016/12/22/laksma-tni-wuspo-lukito-s-e-m-m-gubernur-aal-yang-baru/ |dead-url=yes }}</ref>''
* ''Wakasal (2018)''
* ''Pati Mabesal'' (neng ḍâlem rangka pansiun) (2019)<ref>{{Cite web |last=PUSPEN TNI, Puspen Mabes TNI |title=TNI Mutasi dan Promosi Jabatan 69 Perwira Tinggi {{!}} WEBSITE TENTARA NASIONAL INDONESIA |url=https://tni.mil.id/view-160395-tni-mutasi-dan-promosi-jabatan-69-perwira-tinggi.html |archive-url=https://web.archive.org/web/20210829035533/https://tni.mil.id/view-160395-tni-mutasi-dan-promosi-jabatan-69-perwira-tinggi.html |archive-date=2021-08-29 |access-date=2026-01-11 |website=tni.mil.id |language=en |url-status=live }}</ref>
== Sombher ==
5clerlyl99mcnnu262e5xeh5ldc9hov
Yuhastihar
0
17191
64893
61981
2026-07-10T06:51:36Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64893
wikitext
text/x-wiki
{{Infobox orang}}
Yuhastihar ''gelar'' Datuak Indo Mangkuto (lahèr 30 Juni 1960)<ref>{{Cite web |last=KBR |title=KBR :: KENALI CALEG - LAKSDA TNI (Purn) Ir. YUHASTIHAR, M.M. (Daerah Pemilihan Jawa Timur I) |url=https://kbr.id/kenalicaleg/2019/caleg/laksda-tni--purn--ir--yuhastihar--m-m/2197.html |access-date=2026-01-13 |website=kbr.id |language=id |archive-date=2023-07-24 |archive-url=https://web.archive.org/web/20230724082134/https://kbr.id/kenalicaleg/2019/caleg/laksda-tni--purn--ir--yuhastihar--m-m/2197.html |url-status=dead }}</ref> panèka ''purnawirawan TNI-AL'' sè palèng akhèr ajabbat mènangka ''Deputi Pemantapan Nilai-Nilai Kebangsaan Lembaga Ketahanan Nasional (Lemhannas) RI.''
Yuhastihar panèka ''alumnus Akademi Angkatan Laut (AAL)'' angkadhân sè kapèng-XXVIII/taon 1983.<ref>{{Cite web |title=Akademi Angkatan Laut |url=https://www.aal.ac.id/alumniaal/37/ANGKATAN-XXVIII/ |access-date=2026-01-13 |website=www.aal.ac.id |archive-date=2023-12-23 |archive-url=https://web.archive.org/web/20231223104110/https://www.aal.ac.id/alumniaal/37/ANGKATAN-XXVIII/ |url-status=dead }}</ref> Jabadhân palèng akhèr ḍâri jènderal bintang ḍuwâ' panèka ''Kadiskomlekal''. Salaèn ḍâri ka'dinto, abâ'na jhughân pottrâ dâèrah Somattra Bârâ' sè asalla ḍâri Balimbing, Rambatan, Tanah Datar.<ref>{{Cite web |last=novri |title=K3B JAYA |url=https://k3bjaya.wordpress.com/ |access-date=2026-01-13 |website=K3B JAYA |language=en}}</ref><ref>{{Cite web |last=metro |first=kabar |title=Menuju DPR RI Bersama PDI Perjuangan, Laksda TNI (Purna) Yuhastihar Silaturahmi dengan Ketua DPC PDI Perjuangan Padang Pariaman - http://kabarmetro.id/ |url=https://kabarmetro.id/menuju-dpr-ri-bersama-pdi-perjuangan-laksda-tni-purna-yuhastihar-silaturahmi-dengan-ketua-dpc-pdi-perjuangan-padang-pariaman/ |archive-url=https://web.archive.org/web/20251126110527/https://kabarmetro.id/menuju-dpr-ri-bersama-pdi-perjuangan-laksda-tni-purna-yuhastihar-silaturahmi-dengan-ketua-dpc-pdi-perjuangan-padang-pariaman/ |archive-date=2025-11-26 |access-date=2026-01-13 |website=kabarmetro.id |language=id |url-status=live }}</ref>
== Karièr ==
Yuhastihar èparèngè amânat sareng ''PDIP'' mènangka ''Caleg DPR RI'' kaangghuy Dapil Jhâbâ Tèmor I (Sorbhâjâ – Sidoarjo) kalabân nomor urut 3 neng pèmèlèyan omom sè èlakonè areng-bhâreng è tangghâl 17 April 2019.<ref>{{Cite web |title=Kunjungi TribunJatim, Cak Yuhas Beber Alasan PDIP Rekrut Banyak Purnawirawan Jenderal TNI Maju Caleg |url=https://jatim.tribunnews.com/2018/10/17/kunjungi-tribunjatim-cak-yuhas-beber-alasan-pdip-rekrut-banyak-purnawirawan-jenderal-tni-maju-caleg |access-date=2026-01-13 |website=Tribunjatim.com |language=id-ID}}</ref> Lolosân palèng saè ''Akabri Laut'' 1983 ka'dinto mare'è panḍhiḍhighân S1 Jurusân Tèknik Èlèktro STTAL 1994 bân Sèskoal 1997, lolos ''Lemhannas'' 2012, lolos S2 neng Unkris Jakarta, bân lolos S3 Èlmu Manajemèn neng Universitas Negeri Jakarta 2022.<ref>{{Cite web |last=redaksi |date=2019-03-08 |title=Kedatangan Yuhastihar ke Surabaya TV Di Terima Penuh Kekeluargaan |url=https://nawacita.co/index.php/2019/03/08/kedatangan-yuhastihar-ke-surabaya-tv-di-terima-penuh-kekeluargaan/ |access-date=2026-01-13 |website=Nawacita |language=en-US}}</ref> Tèsissâ anyama "Èvaluasi Program Pemantabhân Nèlai-Nèlai ''Kebangsaan Lembaga Ketahanan Nasional'' Rèpublik Indonèsia ''(LEMHANNAS RI)''".
== Sombher ==
d7sj0yofw2p87m5c7z9uc5cidtn6tae
Adinia Wirasti
0
17248
64875
57018
2026-07-10T00:03:43Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64875
wikitext
text/x-wiki
{{Infobox orang}}
'''Aḍinia Wirasti Wijayanto''' (lahèr è tangghâl 19 Jânuwari 1987) panèka sala sèttong aktris bân moḍel asal Inḍonesia. Aḍinia panèka ale'na aktris bân panyanyi Inḍonesia Sara Wijayanto.
Aḍinia panèka aktris palèng ngoḍâ è ḍâlem jhâjhârbâ'ân filem Inḍonesia sè mennang piala Citra kalabân ''Aktris Penḍukung Terbaik'' è omorra 18 taon è taon 2005 neng è filem ''Tentang'' ''Ḍia''.
== Kaoḍi'ân Awwâl ==
Aḍinia Wirasti katoronan Jhâbâ. E bâkto ghi' kènè', èkennalaghi ḍâ' kabhudhâjâ'an Jhâbâ, akadhi bâjâng (wayang), sareng embana.<ref>{{Cite web |last=Bhisma |first=Mahardian Prawira |title=Bakat Seni Sudah Mengalir Sejak Adinia Wirasti Kecil |url=https://hot.detik.com/celeb-of-the-month/d-3498420/bakat-seni-sudah-mengalir-sejak-adinia-wirasti-kecil |access-date=2026-01-13 |website=detikhot |language=id-ID}}</ref>
== kalakoan ==
Aḍinia molaè alako dhâddhi moḍel ghâbây majalah rèmaja. Ḍebut aktingnga è taon 2002 ''Aḍa Apa ḍengan Cinta'' dhâddhi Karmen.
Aḍinia mennang piala Citra untuk Aktris Penḍukung Terbaik è Festival Film Inḍonesia 2005 polana peranna è ''Tentang Dia''.<ref>{{Cite web |last=Copied! |first=Ulin Share Link |date=2007-11-15 |title='TENTANG DIA', Ketulusan Cinta dan Persahabatan |url=https://www.kapanlagi.com/film/indonesia/tentang-dia-ketulusan-cinta-dan-persahabatan.html |access-date=2026-01-13 |website=KapanLagi.com |language=id}}</ref> è filem, Aḍinia aperan Ruḍy. Aḍinia jhughân narèma Pangarghâ'ân è Festival Film Banḍung ghâbây filem sè paḍâ.<ref>{{Cite web |title=Gatra.Com |url=http://www.gatra.com/2005-02-13/artikel.php?pil=23&id=52955 |archive-url=https://web.archive.org/web/20090704114951/http://www.gatra.com/2005-02-13/artikel.php?pil=23&id=52955 |archive-date=2009-07-04 |access-date=2026-01-13 |website=www.gatra.com}}</ref>
È taon 2006, Aḍinia abhuktèaghi polè ka'ahlian aktingnga è filem ''Ḍunia Mereka'' bân ''Ruang''. E bulân Maret 2007, Aḍinia abâli è film ''3 Hari untuk Selamanya'' sè èsutraḍarai bân Riri Riza.<ref>{{Cite web |last=Copied! |first=Yunita Rachmawati Share Link |date=2007-05-30 |title='3 HARI UNTUK SELAMANYA' Disensor, Adinia Wirasti Pasrah |url=https://www.kapanlagi.com/showbiz/film/indonesia/3-hari-untuk-selamanya-disensor-adinia-wirasti-pasrah-v1osoi4.html |access-date=2026-01-13 |website=KapanLagi.com |language=id}}</ref><ref>{{Cite web |title=Adinia Wirasti Sulit Cium Bibir Nicholas Saputra |url=https://hot.detik.com/movie/d-781769/adinia-wirasti-sulit-cium-bibir-nicholas-saputra |access-date=2026-01-13 |website=detikhot |language=id-ID}}</ref>
È taon 2013, Aḍinia mennang polè Piala Citra dhâddhi Aktris Otama Terbaik è Festival Film Inḍonesia 2013 polana peranna è ''Laura & Marsha''.<ref>{{Cite web |last=Liputan6.com |date=2013-03-31 |title=Sstt.. Adinia Wirasti Tampil Topless di 'Laura & Marsha' |url=https://www.liputan6.com/showbiz/read/548935/sstt-adinia-wirasti-tampil-topless-di-laura-amp-marsha |access-date=2026-01-13 |website=liputan6.com |language=id}}</ref><ref>{{Cite web |url=https://www.beritasatu.com/hiburan/154339/reza-rahardian-dan-adinia-wirasti-berjaya-di-piala-citra-ffi-2013 |title=Archive copy |access-date=2026-01-13 |archive-date=2023-06-30 |archive-url=https://web.archive.org/web/20230630093536/https://www.beritasatu.com/hiburan/154339/reza-rahardian-dan-adinia-wirasti-berjaya-di-piala-citra-ffi-2013 |url-status=dead }}</ref>
== Sombher ==
<references />
gxcx6jbzee31zululy9avona8y1yzgu
Enggartiasto Lukita
0
17574
64877
58453
2026-07-10T01:28:36Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64877
wikitext
text/x-wiki
Enggartiasto Lukita (lahèr 12 Oktober 1951) panèka politikus bân pangusaha Bhângsa Indonèsia sè toman dhâddhi mantan Menteri Pardhâghângan sejjhâk 27 Juli 2016 kantos 20 Oktober 2019. Nyamana èkennal luwas bâkto dhâddhi angghuta DPR RI dâri Partai Golkar (periode 1999–2004, 2004–2009, bân 2009–2014). Tapè sejjhâk taon 2013 Enggartiasto Lukita dhâddhi bâgiyân dâri partai anyar, panèka Partai NasDem. Bân è Pèlèyan Umum 2014, kapèlè polè mènangka angghuta DPR RI. Enggartiasto Lukita ècatet toman negghu' jabadhân mènangka Katua Umum Real Estate Indonèsia (REI), periode 1992-1995.<ref>http://profil.merdeka.com/indonesia/e/enggartiasto-lukita/ {{Webarchive|url=https://web.archive.org/web/20160917171517/http://profil.merdeka.com//indonesia/e/enggartiasto-lukita/ |date=2016-09-17 }} Èaksès tangghâl 7 April 2015</ref><ref>http://www.beritasatu.com/nasional/207936-enggartiasto-lukita-pengusaha-properti-yang-inginkan-perubahan.html {{Webarchive|url=https://web.archive.org/web/20180824135015/http://www.beritasatu.com/nasional/207936-enggartiasto-lukita-pengusaha-properti-yang-inginkan-perubahan.html |date=2018-08-24 }}, Èaksès tangghâl 7 April 2015</ref><ref>http://www.tokohindonesia.com/biografi/article/286-direktori/1144-pengusaha-yang-aktif-berorganisasi {{Webarchive|url=https://web.archive.org/web/20160308042256/http://www.tokohindonesia.com/biografi/article/286-direktori/1144-pengusaha-yang-aktif-berorganisasi |date=2016-03-08 }}, Èarsipaghi 2016-03-08 è Wayback Machine., Èaksès 7 April 2015</ref> Salèrana jhughân ajabat mènangka Katua Ikatan Alumni Univèrsitas Pendidikan Indonèsia (IKA UPI) duwâ' periode abiddhâ.<ref>"DWITUNGGAL ENGGAR-TETEN KEMBALI PIMPIN IKA UPI". Èarsipaghi ḍâri vèrsi aslina tangghâl 2018-01-05. Èaksès tangghâl 2018-01-04.</ref> Salèrana èyangka' mènangka Menteri Pardhâghângan bâkto reshuffle Kabinèt Karjâ Jilid II È tangghâl 27 Juli 2016 aghentè'è Thomas Trikasih Lembong sè èpinda dhâddhi Kapala Koordinasi Pananemman Modal.<ref>http://news.detik.com/berita/3262256/ini-daftar-lengkap-reshuffle-kabinet-kerja-jilid-ii Èaksès tangghâl 27 Juli 2016</ref>
== Kaodi'ân ==
Enggartiasto Lukita lahèr è Cirebon, Jhâbâ Bârâ' tangghâl 12 Oktober 1951. Mamarè pendidighânna è Fakultas Èlmo Pendidikan Sosial, Univèrsitas Pendidikan Indonèsia. Sejjhâk è omor ngodâ, ampon akrab dâ' dhunnya organisasi. Salèrana ècatet toman mimpin pan-bârâmpan organisasi sa-nasional, akadhi Real Estate Indonesia (REI). Salèrana ngawwâli karirra è bidang politik bâkto dhâddhi bâgiyân dâri Partai Golongan Karya mènangka bekkèl Bendahara Umum. Lèbât partai ka'dinto polè salèrana èpèlè mènangka angghuta DPR RI ghâbây tello' periode, dâri taon 2000 kantos 2013. È taon 2013, Enggar apinda afiliasi ka Partai NasDem bân nyorot dâri jabadhânna mènangka angghuta DPR. È partai ka'dinto, Enggar èkaparcajâ ajabat mènangka Katua Bidang Hubungan Lowar Naghârâ. È dhunnya usaha, Enggartiasto Lukita fokus è bidang properti bân ajabat pan-bârâmpan perusahaan akadhi mènangka Komisaris Otama PT Unicora Aghung, Dirut PT Kartika Karisma Indah, Dirut PT Kemang Pratama, Dirut PT Bangun Tjipta Pratama, bân Dirèktur PT Supradinakarya Multijaya (1994-2004).
== Karir ==
* Komisaris Otama PT Unicora Aghung
* Dirut PT Kartika Karisma Indah
* Dirut PT Kemang Pratama
* Dirut PT Bangun Tjipta Pratama
* Dirèktur PT Supradinakarya Multijaya, 1994–2004
* Komisaris Otama PT Bersatu Digital Indonèsia, 2022–samangkèn
== Sombher-sombher ==
<references />
4gwdrt0zjbp9m18axat9q68zla7yrwq
Rudiantara
0
17634
64886
58183
2026-07-10T04:55:03Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64886
wikitext
text/x-wiki
Rudiantara (lahèr 3 Mèi 1959<ref>{{Cite web |url=http://www.beritasatu.com/nasional/220302-profil-singkat-menteri-komunikasi-dan-informatika-rudiantara.html |title=Archive copy |access-date=2026-01-16 |archive-date=2018-08-09 |archive-url=https://web.archive.org/web/20180809121753/http://www.beritasatu.com/nasional/220302-profil-singkat-menteri-komunikasi-dan-informatika-rudiantara.html |url-status=dead }}</ref>) panèka Mantan Menteri Komunikasi bân Digital Indonèsia Kalèma' è Kabinèt Karjâ (2014–2019). Salèrana panèka profèsional è bidang Tèlèkomunikasi bân toman akarir è Indosat, Telkomsel, Excelcomindo (samangkèn XL Axiata), bân Telkom.<ref>http://tekno.kompas.com/read/2014/10/26/17383417/Rudiantara.Menkominfo.di.Kabinet.Kerja</ref> Salèrana jhughân toman alako è PT PLN (Persero) mènangka bekkèl Dirèktur Otama. Bâkto èyangka' dhâddhi menteri, salèrana ajabat mènangka angghuta komisaris è Indosat.
== Pendidikan ==
Salèrana amolaè Pendidikan Tèngghi è Univèrsitas Padjadjaran jurusan Statistika bân ollè gellar sarjana taon 1984. Salèrana alanjutaghi ka IPPM (Institut Pendidikan bân Pambina'an Manajemen) sè samangkèn anyama PPM School of Management, bân ollè gellar MBA taon 1988.<ref>http://investing.businessweek.com/research/stocks/private/person.asp?personId=25054815&privcapId=6296392, Èaksès dâri situs berita Businessweek 26 Oktober 2014</ref>
== Karir ==
Salèrana amolaè karir è taon 1996 è Indosat mènangka General Manager Business Development. Salèrana jhughân toman dhâddhi Chief Operating Officer PT Tèlèkomindo Primabhakti sejjhâk 1996 bân ollè pan-bârâmpan jabadhân èksekutif 11 taon abiddhâ è Indosat bân Telkomsel kantos 2006. Salèrana ajabat mènangka bekkèl Prèsidèn Dirèktur PT Semèn Gresik (Persero), Prèsidèn Dirèktur bân CEO PT Bukit Asam Transpacific Railways tor PT Rajawali Asia Resources. Salèrana toman dhâddhi bekkèl Prèsidèn Dirèktur PT Perusahaan Listrik Naghârâ (Persero) sejjhâk 2008 bân dhâddhi direkturra, Dirèktur Hubungan Korporat PT XL Axiata Tbk dâri Maret 2005 kantos 2008 tor dhâddhi dirèkturra. Bân mènangka Dirèktur pajhuwâlân bân marketing ghâbây Solusi Bisnis bulân Juni 2003. Salèrana jhughân toman dhâddhi bekkèl Prèsidèn Dirèktur PT Semèn Indonèsia (Persero), Tbk bân Semèn Gresik Persero, jhughân mènangka Dirèktur.
Bâkto è PLN, salèrana dhâddhi kasohor saellana noro' bâgiyân dâri nyarè pandanaan perusahaan khusussa ènjeman ghâbây proyèk pembangkit listrik 10 èbuh mègawatt. Saellana, salèrana nyorot polana arassa ampon mamarè tugas profèsional sè èberri'i bân patabârân lèbur laènna. Polana èman kalabân bakat sè èka'anḍi', pamarènta usaha ghâbây aberri' salèrana jabadhân è Indosat.<ref>http://finance.detik.com/read/2010/01/22/140944/1284007/4/pemerintah-tak-mau-rudiantara-dibajak-swasta Èaksès situs berita Detik 26 Agustus 2014</ref> Tangghâl 17 Sèptèmber 2012, salèrana èyangka' dhâddhi Komisaris.<ref>http://economy.okezone.com/read/2012/09/17/278/691132/indosat-ganti-dirut-angkat-rudiantara-jadi-komisaris, Èaksès situs Berita Okezone 26 Oktober 2014</ref>
Tangghâl 27 Sèptèmber 2024, Rudiantara èyangka' mènangka Katua Pangurus Yayasan Pangembhângan Tata Kelola Indonèsia (YPTKI) ghâbây aghentè'è Sigit Pramono.<ref>"Serah Terima Jabatan Ketua Pengurus YPTKI Senin, 2 September 2024 Sumba Room, Hotel Borobudur, Jakarta". ''IICD''. 9 September 2024. Èaksès tangghâl 15 September 2025.</ref>
== Pangangka'an mènangka menteri ==
Rudiantara makarè nyama-nyama orèng laènna akadhi Ahli Èkonomi Digital bân Tèlèkomunikasi Heru Sutadi sè jhughân mantan angghuta Bhâdhân Règulasi Tèlèkomunikasi Indonèsia (BRTI), Niken Widiastuti, Dirut RRI, Richardus Eko Indrajit, Katua APTIKOM, Gatot S. Dewa Broto, Dèputi Bidang Harmonisasi bân Kamitraan Kemenpora, Mantan Humas Kemenkominfo bân Onno W. Purbo, Akademisi tor Praktisi TI.<ref>http://www.tribunnews.com/nasional/2014/10/26/profil-menkominfo-rudiantara, Èaksès situs berita TribunNews 26 Oktober 2014</ref><ref>http://news.okezone.com/read/2014/12/02/17/1073528/rudiantara</ref>
== Sombher ==
<references />
n2d714l26m44yf85880uuy18ipzm6u7
Aldi Taher
0
17635
64873
58189
2026-07-09T13:07:30Z
~2026-38768-75
5337
/* */
64873
wikitext
text/x-wiki
https://myaccount.google.com/?hl=en&utm_source=OGB&utm_medium=act&gar=WzJd
== Kaoḍi'ân awwâlna ==
Aldi Taher èlahèraghi kalabân asma Rahmat Aldiansyah, mènangka dhâddhi pottra sè nomer tello' ḍâri ennem satarètanan sè orèng seppona katoronan Minangkabau, èngghi panèka Ramlis Saputra Sidi Rusli Taher sareng Rosita Bagindo Oedin, saèngghâ salèrana tamaso' kompoy ḍâri orèng sè maddhek Universitas Jayabaya, èngghi panèka Moeslim Taher.<ref>{{Cite news |title=Aldi Taher Bangga Kisah Kakek-Neneknya Dijadikan Buku |url=https://hot.detik.com/celeb/2287662/aldi-taher-bangga-kisah-kakek-neneknya-dijadikan-buku |access-date=2026-01-16 |work=detikhot}}</ref>
== Karèr ==
Aldi amolaè akarèr è ḍunia hiburân kalabân noro' lomba moḍèl sè èlaksanaaghi sareng majalah Anèka Yess! è taon 2001. Salèrana molaè èkennal sareng orèng bânynya' saamponna dhâddhi moḍèl kaangghuy vidèo klip dari grup musik Ada Band kalabân juḍul laghu "[[Manossa]] sè Bhudhu". Aldi jhughân dhâddhi finalis è lomba MTV VJ Hunt.
Salèrana jhughân toman aghâbây grup musik sè ènyamaè Radio asareng [[Raffi Ahmad|Raffi]] [[Raffi Ahmad|Ahmad]], Irwansyah, Indra Perdana Sinaga, Mende, sareng Okin, tor jhughân aghâbây grup musik duo sè ènyamaè Kingkong - sè toman makalowar sèttong album sè ajuḍul Nyarè Orèng Binè' Laèn è taon 20008.<ref>Puteri Avantika. "[https://www.idntimes.com/hype/entertainment/aldi-taher-raffi-ahmad-dan-irwansyah-c1c2-01-nzrkj-stmc7x Pernah Satu Band, 9 Momen Reuni Aldi Taher, Raffi Ahmad, dan Irwansyah"] . IDN Times. 2023-02-17. Aksès 2026-01-16. </ref> Salèrana jhughân aghâbây laghu kaangghuy filem Leak asareng Nadia Vega.
È taon 2013 sampè' 2016, salèrana jhughân toman agabung ḍâlem grup vokal bâgiyân Lakè'an sè anyama Trio Ubur Ubur, sè èpaddhek karana sèrial tèlèvisi Emak Ijah Terro Èntara Ka Mekka (2013 - 2015).<ref>{{Cite web |last=Santi |title=Lama Tak Tampil di TV, Apa Kabar Trio Ubur Ubur? |url=https://www.insertlive.com/hot-gossip/20200207190202-7-80039/lama-tak-tampil-di-tv-apa-kabar-trio-ubur-ubur |access-date=2026-01-16 |website=hot-gossip |language=id-ID}}</ref>
È taon 2022, Aldi kalonta polè karana anyanyè laghu "[[Lesti Kejora|Lesti]] Sayang [[Rizky Billar|Rizky]] [[Rizky Billar|Billar]]".<ref>Surya Hadiansyah. "[https://www.liputan6.com/showbiz/read/5095820/aldi-taher-ciptakan-lagu-untuk-dukung-lesti-kejora-dan-rizky-billar-berdamai Aldi Taher Ciptakan Lagu untuk Dukung Lesti Kejora dan Rizky Billar Berdamai"] . Liputan 6. 2022-10-13. Èyaksès 2026-01-16.</ref>
== Sombher ==
<references />
o0a3cqkrpmuajtr3uqit173b92ttytn
Safaruddin
0
18432
64887
60463
2026-07-10T04:58:37Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64887
wikitext
text/x-wiki
{{Infobox orang}}
Irjen. Pol. (Purn.) Drs. '''Safaruddin''', M.I.Kom (lahèr 10 Fèbruwari 1960) panèka pènsiunan perwira tèngghi ''Polri'' bân ''politikus'' Inḍonèsia. Samangkèn, abâi'na dhâddhi Angghuta ''DPR-RI'' molaè taon 2019 sè abakkèlè dâèra pèlèyan Kalimantan Tèmor. Sabellunna, abâ'na dhâddhi ''Kapolda'' Kalimantan Tèmor molaè 2015 sampè' 2018. Safaruddin panèka ''kader Partai PDIP'' bân enneng è ''Komisi III.''<ref>{{Cite web |last=Putri |first=Cantika Adinda |title=Catat! Ini Daftar Anggota DPR RI di Komisi I Hingga Komisi XI |url=https://www.cnbcindonesia.com/news/20191030063226-4-111185/catat-ini-daftar-anggota-dpr-ri-di-komisi-i-hingga-komisi-xi |access-date=2026-01-20 |website=CNBC Indonesia |language=id}}</ref><ref>{{Cite web |last=KBR |title=KBR :: KENALI CALEG - G. BUDISATRIO DJIWANDONO (Daerah Pemilihan Kalimantan Timur) |url=https://kbr.id/kenalicaleg/2019/caleg/g--budisatrio-djiwandono/1761.html |access-date=2026-01-20 |website=kbr.id |language=id |archive-date=2023-10-07 |archive-url=https://web.archive.org/web/20231007104741/https://kbr.id/kenalicaleg/2019/caleg/g--budisatrio-djiwandono/1761.html |url-status=dead }}</ref>
Safaruddin panèka lulusân Akpol taon 1984 bân bânnya' pangalamânna è bidâng ''Intel.''
== Panḍhiḍhighân: ==
* ''Akademi'' Kepolisiân (1984)
* Parghuruwân Tèngghi Èlmo Kepolisiân (1992)
* ''Sespim (1999)''
* ''Sespati (2008)''
* ''Lembaga Ketahanan Nasional (2013)''
== Tanḍhâ Jhâsa ==
{| style="margin:1em auto; text-align:center;"
|-
|{{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Bintang Bhayangkara Pratama.png|width=100}} {{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Bintang Bhayangkara Nararya.png|width=100}}
|-
|{{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Pengabdian XXIV.png|width=100}} {{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Pengabdian XVI.png|width=100}} {{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Pengabdian VIII.png|width=100}}
|-
|{{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Jana Utama.png|width=100}} {{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Ksatria Bhayangkara.png|width=100}} {{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Karya Bhakti.png|width=100}}
|-
|{{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Bhakti Pendidikan.png|width=100}} {{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Dharma Nusa.png|width=100}} {{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Seroja.png|width=100}}
|-
|{{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Bhakti Nusa.png|width=100}} {{Ribbon devices|number=0|type=award-star|ribbon=Pita (Ribbon) Satyalencana Kebhaktian Sosial.png|width=100}} {{Ribbon devices|number=0|ribbon=Satyalencana GOM VII.gif|width=100}}
|}
{| class="wikitable" style="margin:1em auto; text-align:center;"
|-
!Bhâris ke-1
| colspan="9"|''Bintang Bhayangkara Pratama<ref>{{Cite web|date=2023-06-30|title=Kapolri Sematkan Tanda Kehormatan Bintang Bhayangkara Pratama ke 22 Pati Polri|url=https://republika.co.id/share/rx21o1349|website=Republika Online|language=id|access-date=2026-01-20}}</ref> (2023)''
|-
!Bhâris ke-2
| colspan="3"|''Bintang Bhayangkara Nararya''
| colspan="3"|''Satyalancana Pengabdiân 24 Taon''
| colspan="3"|''Satyalancana Pengabdiân 16 Taon''
|-
!Bhâris ke-3
| colspan="3"|''Satyalancana Pengabdiân 8 Taon''
| colspan="3"|''Satyalancana Ksatria Bhayangkara''
| colspan="3"|''Satyalancana Karya Bhakt''
|-
!Bhâris ke-4
| colspan="3"|''Satyalancana Bhakti Panḍhiḍhighân''
| colspan="3"|''Satyalancana Dharma Nusa''
| colspan="3"|''Satyalancana Seroja''
|-
!Bhâris ke-5
| colspan="3"|''Satyalancana Bhakti Nusa''
| colspan="3"|''Satyalancana Kebaktian Sosial''
| colspan="3"|''Satyalancana G.O.M VII''
|}
== Sombher ==
8mv94mx9kidgpow3pqr6jyzj762zs0m
Khichuri alos
0
19033
64881
63780
2026-07-10T02:34:33Z
InternetArchiveBot
639
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
64881
wikitext
text/x-wiki
[[Bhengkek:ꠁꠍꠔꠣꠞꠤ ১১.jpg|jmpl|kakanan tradisional abhuka powasa Sylheti kalabân Kisuri]]
'''Khichuri''' '''Alos''' (bhâsa [[Bhâsa Inggris|ènggris]]: '''''Soft Khichuri'''''; bhâsa Bengali: পাতলা খিচুড়ি ''Pātalā'' ''Khichuṛi''), jhughân è kennal mènangka '''Norom Kisuri''' panèka sala sèttong kakanan sè bahan poko'na [[bherrâs]] sè olaanna paḍâ kalabân tajhin sè mashur è wilayah Sylhet, [[Bangladesh]].<ref>{{Cite web |date=2024-07-26 |title=From Beginner to Expert: How to Cook Khichuri Step by Step - OliviaOven |url=https://oliviaoven.com/how-to-cook-khichuri/ |access-date=2026-02-25 |website=oliviaoven.com |language=en-US}}</ref> kakanan nèka kakanan tradisional bân sa' massa'na Sylheti sè è robhâ'aghi è sabâgiyân rajâ mèjâ ngakan è bulân soccè [[Romadon]] ka'angghuy kakanan poko' è [[Powasa|bâkto abhuka]].<ref name=":0">{{Cite web |last=Pratidin |first=Bangladesh |date=2016-06-12 |title=সিলেটের ঐতিহ্য আখনি ও পাতলা খিচুড়ি {{!}} |url=https://www.bd-pratidin.com/last-page/2016/06/12/150507 |access-date=2026-02-25 |website=bd-pratidin.com |language=bn |archive-date=2023-11-18 |archive-url=https://web.archive.org/web/20231118152459/https://www.bd-pratidin.com/last-page/2016/06/12/150507 |url-status=dead }}</ref> Khichuri alos bân Akhni panèka kakanan tradisi Sylhet sè biasa è robhâ'aghi ḍâ' tamuy.<ref>{{Cite web |title=ভোরের কাগজ {{!}} বাংলা সংবাদপত্র {{!}} বাংলা নিউজ পেপার |url=http://www.bhorerkagoj.com/ |access-date=2026-02-25 |website=Bhorer Kagoj |language=bn}}</ref> Nasè' aromatik sè è campor kalabân pan bârâmpan palappa tamaso' mènyyak samèn, nigella, bân [[klabhet]] panèka bahan ḍâsar ka'angghuy amassa' Kisuri.<ref name=":0" /><ref>{{Cite web |last=Silas |date=2026-01-14 |title=Mastering Khichuri: An Easy, Authentic One-Pot Recipe |url=https://eathealthy365.com/mastering-khichuri-an-easy-authentic-one-pot-recipe/ |access-date=2026-02-25 |website=Flavor365 |language=en-US}}</ref> Bâḍâ duwâ' macem Khichuri Alos, ''khichuri alos potè'' (jau/zau) bân ''skhichuri alos'' ''konèng'' (kisuri).<ref>{{Cite web |last=Fenice |date=2023-06-26 |title=White/Shada Khichuri by Jannatul Farhana Rupa - The Wannabe Cook {{!}} Authentic Bengali Recipes & Cooking Tips |url=https://thewannabecook.com/white-shada-khichuri/ |access-date=2026-02-25 |website=The Wannabe Cook |language=en-US}}</ref>
== Bahan-bahan ==
[[Bherrâs]], dal, bhâbâng bucay, [[jhâi]], minyyak sakonnè' otabâ mantèghâ, [[klabhet]], bân bujâ.<ref>{{Cite web |last=SAMAKAL |title=SAMAKAL {{!}} GET THE LATEST ONLINE BANGLA NEWS |url=https://samakal.com/todays-print-edition/tp-mohanagar/article/1706297960/%E0%A6%87%E0%A6%AB%E0%A6%A4%E0%A6%BE%E0%A6%B0%E0%A7%87%E0%A6%B0-%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%B6%E0%A6%BE%E0%A6%A8%E0%A7%8D%E0%A6%A4%E0%A6%BF-%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%B2%E0%A6%BE-%E0%A6%96%E0%A6%BF%E0%A6%9A%E0%A7%81%E0%A7%9C%E0%A6%BF%E0%A6%A4%E0%A7%87 |archive-url=https://web.archive.org/web/20241208092050/https://samakal.com/todays-print-edition/tp-mohanagar/article/1706297960/%E0%A6%87%E0%A6%AB%E0%A6%A4%E0%A6%BE%E0%A6%B0%E0%A7%87%E0%A6%B0-%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%B6%E0%A6%BE%E0%A6%A8%E0%A7%8D%E0%A6%A4%E0%A6%BF-%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%B2%E0%A6%BE-%E0%A6%96%E0%A6%BF%E0%A6%9A%E0%A7%81%E0%A7%9C%E0%A6%BF%E0%A6%A4%E0%A7%87 |archive-date=2024-12-08 |access-date=2026-02-25 |website=samakal.com |language=en |url-status=live }}</ref><ref>{{Cite web |date=2021-09-17 |title=Resep Khichuri oleh Rejeki 2021 |url=https://cookpad.com/id/resep/15513936 |access-date=2026-02-25 |website=Cookpad |language=id}}</ref>
== Sombher ==
<references />
[[Bhângsa:Kakanan bhuka pasa]]
5v0sy9skif31erwyjos5j7huiino085
Soetran
0
19368
64880
64861
2026-07-10T02:19:43Z
Oikivivi
2325
64880
wikitext
text/x-wiki
{{infobox orang}}
[[Brigadir Jenderal]] [[Tentara Nasional Indonesia|TNI]] (HOR) (Purn.) '''Soetran''' (EBI: '''Sutran''', 5 April 1921 – 1 Juli 1987) iyâ arèya tokoh militèr bân politisi [[Inḍonèsia]] sè dhâddhi Bupati Trenggalèk ḍari taon 1968 sampè' 1975 bân Gubernur Irian Jaya ḍari taon 1975 sampè' 1981. <ref>Junaedi, Didi. [https://books.google.co.id/books?hl=id&lr=&id=p216CgAAQBAJ&oi=fnd&pg=PA97&dq=info:PuSPXvz4BxwJ:scholar.google.com/&ots=mfIQ59rO3G&sig=NPeC1zS7Awpt7i1L5RTbTokdk-s&redir_esc=y#v=onepage&q&f=false Pahlawan-pahlawan Indonesia sepanjang masa]. IndonesiaTera, 2014. Diaksès 2026-06-09. </ref>
Lahèr è [[Kabhupatèn Siḍoarjo|Siḍoarjo]], Soetran kodhu ambu ḍari [[Sakola'an|sakola]] ḍâsar è kellas 4 bân alako sakabbina kalakowan. Neng taon 1942, Soetran masok ka ḍâlem organisasi [[Pembèla Tanah Air]] (PETA) kalabân pangkat ''budancho'' (setingkat [[Sersan|sèrsan]]). Samarèna [[Proklamasi Kemerdekaan Indonesia|kamardhika'an Inḍonèsia]], Soetran masok [[Tentara Nasional Indonesia|Tentara Nasional Inḍonèsia]] (TNI), bân dhâddhi mènangka Komandan Distrik Militèr (Dandim) è Mèrauke bân [[Kabhupatèn Trènggalèk|Trenggalèk]]. Soetran ngaollè jabatan politik pertamana è bákto la èpèlè mènangka Bupati Trenggalèk neng taon 1968. Salah sèttong karakteristik kepemimpinanna iyâ arèya sistem komando sè è anut bi' pamarènta daerah. Pencapaian sè palèng rajâ Soetran dhâddhi bupati iyâ arèya madhâddhi Trenggalèk mènangka pusat cengkè sa- [[Jhâbâ Tèmor]]. Soetran jhughân ngosollaghi kebijakan ''tembokisasi'' (pembangunan geddhung) bân [[reboisasi]] è wilayah Trenggalèk mènangka upaya ka'angghuy ningkataghi taraf oḍi' rakyat Trenggalèk. Soetran ètunjuk polè ka'angghuy masa jabatan sè Kaḍuwe' neng taon 1973, bân Trenggalèk narèma penghargaan Parasamya Purnakarya Nugraha mènangka Kabupatèn sè palèng bhâghus neng taon 1974.
Mènangka penghargaan atas pencapaianna è Trenggalèk, Soetran ètunjuk ka'angghuy dhâddhi Gubernur Irian Jaya è taon 1975. Neng masa kepemimpinanna, Soetran nerrapaghi program wâjib Namen Cengkè sè èwâjibaghi hampir sakabbina penduduk bân instansi è Irian Jaya ka'angghuy namen cengkè. Polana program kasebbhut, Soetran èkoca' mènangka "Gubernur Cengkè". Maskè deyyeh, program kasebbhut gagal polana pelaksana'enna sè ru-kabhuru, ta' tao carana namen cengkè, keputusân ka'angghuy ngimpor cengkè ḍari Trenggalèk maskè ghita' è uji kelayakanna, bân korangnga sosialisasi program. Propènsi kasebbhut jhughân ngalamè ḍuwe' kalè lèndhu è taon 1976. Soetran ngahèrrè masa jabatânna mènangka gubernur è taon 1981, ra kèra empa' bulân lebbi abit ḍari sè èrencana'aghi. Samarèna mundur ḍari jabatân gubernur, Soetran neng neng è [[Kottha Sorbhâjâ|Sorbâjâ]]. Soetran dhingghâl omor è taon 1987.
== Bâkto kènnè' bân karir militèr ==
Soetran èlahèrraghi è tangghâl 5 April 1921 è dhisa Cangkring, Sidoarjo, ḍari kalowarga rèng tanè. Polana kabâḍâ'en eppa'en sè buta, dhibi'en ambu asakola è bangku kellas 4 sakola ḍâsar (SD) bân molaè nyarè kalakowan. Soetran mulaè alakonè pan-bârâmpan macem kalakowan, akadhi mènangka tanè, penampil è hajatân, bân pemaèn ludruk kalèlèng.
È taon 1942, nyusol pendudukân Jeppang è Inḍonèsia, Soetran ajâlânè pendidikan militèr è Renseitai, akademi militèr sè èbangun bi' tentara Jeppang. Soetran kantos dhâddhi angghuta satuan [[Pembèla Tanah Air]] samarèna lulus bân ngaollè pangkat ''budancho'' (setara kalabân [[Sersan|sèrsan ).]] Samarèna Inḍonèsia mardhika, Soetran agabung ka dâlem Badan Keamanan Rakyat (cikal bakal [[Tentara Nasional Indonesia|TNI]]) bân ètempataghi mènangka komandan sèksi neng Batalion Tjipto sajjhâ' tangghâl 17 Sèptèmber 1945.<ref>Bachtiar, Harsya W. (1988). [https://books.google.co.id/books?id=IyQgAAAAMAAJ&redir_esc=y Siapa dia? Perwira Tinggi Tentara Nasional Indonesia Angkatan Darat (TNI-AD).] Jakarta. hlm. 417. [[:id:Istimewa:Sumber_buku/9789794281000|ISBN 9789794281000]]. Diaksès 2026-06-10. </ref>
Samarèna [[Revolusi Nasional Indonesia|Rèvolusi Nasional Inḍonèsia]] la marè neng taon 1949, Soetran nuro' Latihan Persamaan Perwira bân lulus dhâddhi Lètnan sèttong neng taon 1950. Soetran kantos nuro' pan bârâmpan pendidikân militèr laènna, è antarana Pendidikan Persiapan Untuk Perwira è [[Kabhupatèn Jhembher|Jember]] (lulus 1956) bân Kursus Perwira Lanjutân Satu è [[Kottha Banḍung|Banḍung]] (lulus 1957).
Neng taon 1958, Soetran dhâddhi Bhâkkèl komandan Batalyon Infanteri 511 kalabân pangkat Lètnan sèttong. Empa' taon kantos, pangkatdhâ èpaongghâ ka kaptèn bân dhibi'en dhâddhi komandan Batalyon Infanteri 511. Korang ḍari sataon kantos, neng taon 1963, Soetran èpangallè ka [[Papua (Wilayah Indonesia)|Irian Jaya]] bân dhâddhi komandan distrik militèr (Dandim) è Tanah Merah, Boven Digoel. Neng taon 1967, dhibi'en abâli èpangallè ka Jhâbâ Tèmor, dhâddhi Dandim Trenggalèk. Soetran jhughân narèma kenaikan pangkat dhâddhi mayor.<ref>Ariyanto, Danny Rizky. [https://repository.um.ac.id/54813/ Biografi Soetran (1921-1987)]. Diss. Universitas Negeri Malang, 2015. Diaksès 2026-06-10. </ref>
Neng ahèr masa jabatanna dhâddhi Gubernur Irian Jaya neng taon 1980, Soetran narèma kenaikan pangkat kehormatân ḍari kolonèl dhâddhi [[Brigadir Jenderal|brigadir jènderal.]]
== Bupati Trenggalèk ==
=== Penamenan cengkè ===
Soetran èlantik dhâddhi Bupati Trenggalèk neng tangghâl 3 Oktobèr 1968, aghântè'aghi Moeladi<ref name=":1">Rahayu, Endah (27 Juli 2005). [https://data.kompas.id/ "Trenggalek "Wiwitan lan Wibawa""]. Kompas. hlm. 9. Diarsipkan dari versi aslinya tanggal 15 Desember 2020. Diaksès 2026-06-12. </ref>. Sabellunna dhibi'en tojhu' neng korsè bupati, Trenggalèk èkennal mènangka daèrah sè miskèn bân segghut ngalamè musèm nèmor lanjhâng sè nyebabaghi kakerrèngan neng daèrah kasebbhut. [[Gaplèk]], kananan utama penduduk Trenggalèk, ta' bisa ètamen bân èpolong mon ghi' musèm nèmor.
Soetran molaè nyarè solusi ka'angghuy masalah kakerrèngan samarèna dhibi'en negghu' jabatân dhâddhi Bupati Trenggalèk. È bâbâna Soetran, pamarènta daèrah Trenggalèk anḍi' usaha ka'angghuy nyarè komoditas sè anḍi' nilai tèngghi sè sesuai kalabân lahan rakyat. Samarèna nemmo jhâ' cengkè aropa'aghi taneman sè palèng cocok ka'angghuy daerah kasebbhut, Soetran molaè nik sakonnik maksa penduduk Trenggalèk ka'angghuy namen cengkè.
Panamenan cengkè kasebbhut abuwâ'aghi hasèl nik sakonnik è bâkto samarena èmolaè. Tana Trenggalèk sè tandus èobâ dhâddhi tana sè bhiru kalabân cengkè bân Kabupatèn kasebbhut dhâddhi pusat produksi cengkè è Jhâbâ Tèmor. Maskè'epon perkebunan cengkè ghun 16,21% ḍari sakabbina luas tana sè bâḍâ, produksi cengkè nambâ pendapatân masyarakat Trenggalèk ra kèra 21 miliar rupiah per taon. Wilayah Trenggalèk kantos dhâddhi idèntik kalabân cengkè, bân penduduk è ḍissa kantos ghun ngandâllaghi cengkè mènangka tong-sèttongnga sombher penghasilân.
Donald K. Emmerson, seorang peneliti politik, anḍi' pendapat jhâ' keberhasilân pembangunan Trenggalèk è bâbâna pamarèntana Soetran polana sistem kepemimpinan komando sè èanut. Emmerson anḍi' pendapat jhâ' Soetran anḍi' tanggung jawab penuh ḍâ' prosès pembangunan è wilayah kasebbhut bân ajelen aghi pamarènta daèrah mènangka perpanjangan tanganna dhibi'.
=== Tembokisasi bân rèboisasi ===
Sabellunna penunjukkânna dhâddhi bupati, kantor-kantor pamarènta bân militèr ghi' aghuna'aghi gubuk sè rèyot. Soetran anḍi' usaha ka'angghuy mabhâghus kabâḍâ'en rèya lèbât konsèp tembokisasi. Konsèp sè èkoca'aghi kasebbhut Ngajhâ' masyarakat Trenggalèk ka'angghuy abangun geddhung è sakètar romana bâng-sèbânga. Sampe' taon 1972, hampèr sakabbina roma è Trenggalèk la anḍi' geddhung.
Salaèn program tembokisasi, Soetran jhughân menggalakkan rèboisasi è Trenggalèk. Soetran aberri' instruksi ka masyarakat Trenggalèk jhâ' "ta' ollè sajengkal tana sè kosong ḍari tamenan". Kebijakân rèboisasi Soetran ajâghâ wilayah Trenggalèk aman ḍari bencana kakerrèngan sè lanjhâng bân abârrè' tambá'en pendapatân ka Kabupatèn ḍari èkspor kajhu-kajhu akadhi pinus, jâtè, bân akasia.
=== Paobâ'en nyama Trenggalèk ===
Neng taon 1971, kalabân alasan ka'angghuy ngobâ citra jhubâ'en Trenggalèk, Soetran ngusullaghi parobâ'en nyama Trenggalèk dhâddhi Trenggalèh. Mènorot Soetran, oca' sè ahèrrè bi' suku oca' -ek ḍâlem bhâsa Jhâbâ anḍi' konotasi sè jhubâ' (conto: jelek/elek, kemenyek, tekek). Soetran ngoca' jhâ' nyama Trenggalèk segghut èkaghâbây bahan èjèk bi' orèng Jhâbâ mènangka singkatân ḍari terang enggone wong elek (jellas-jellas tempattâ orèng jhubâ') dhâddhi Trenggalih, kalabân singkatânna Terang Ing Galih (terrang è atè sadhâjâ).
Bânnya' pejabat Trenggalèk sè nolak rencana Soetran kasebbhut. Mereka anḍi' pendapat jhâ' paobâ'en nyama parlo prosès administratif bân birokratik sè cè' malaratdhâ. Maskè ollè tentangan, Soetran tettep ajhâlânaghi rencana bân nèng taon sè padá dhibi'en abântuk tim sè menginvèstigasi asal-usul nyama Trenggalèk, kamunculân sè tartolès awwâl ḍari nyama Trenggalèk, bân kemungkinan anyamaè ulang Trenggalèk kalabân arujuk ka kamunculân sè awwâl ḍâri nyamana. Proyèk rèya tettep èjâlânnaghi pan-bârâmpan taon samarèna Soetran ningghâllaghi jabatân bupati Trenggalèk. Tim kasebbhut berhasil nemmo bân adokumèntasi'aghi awwâl mola berdirina Trenggalèk bân kamunculân awwâl nyama Trenggalèk. Namong, tim kasebbhut nolak usulân ka'angghuy ngobâ nyama Trenggalèk.
=== Parasamya Purnakarya Nugraha ===
Polana èyangghep suksès mènangka Bupati Trenggalèk lèbât program namen cengkè, Soetran èpèlè polè mènangka bupati ghâbây pèriode kaduwâ' è taon 1973. È taon 1974, Kabupatèn Trenggalèk narèma pangarghâ'ân `dâri Prèsidèn [[Soeharto]] sè aropa'aghi Parasamya Purnakarya Nugraha,<ref name=":1" /> sèttong pangarghâ'ân ghâbây Bupati/Provinsi kalabân hasèl pembangonan sè palèng bhâgus è bâkto pâlaksanaan Rencana Pembangonan Lèma Taon.<ref>{{Cite book |last=Jackson |first=Karl D. |url=https://books.google.co.id/books?id=ktP7qHLI8gcC&printsec=frontcover&hl=id#v=onepage&q=Soetran&f=false |title=Political Power and Communications in Indonesia |last2=Pye |first2=Lucian W. |date=1980-01-01 |publisher=University of California Press |isbn=978-0-520-04205-6 |language=en}}</ref> Pengaarghâ'ân panèka ètarèma sareng Gubernur Jhâbâ Tèmor [[Mohammad Noer]] ḍâri Prèsidèn Soeharto è sèttong upacara sè èlaksana'aghi è tangghâl 21 Agustus 1974 è Stadion Tambaksari.<ref>{{Cite book |last=Noer |first=Mohammad |url=https://books.google.co.id/books?id=qC9wAAAAMAAJ |title=Pamong mengabdi desa: biografi Mohammad Noer |last2=Siahaan |first2=Hotman |date=1997 |publisher=Yayasan Keluarga Bhakti dan Surabaya Post |language=id}}</ref>
== Gubernur Irian Jaya ==
[[Bhengkek:Soetran with regents from Irian Jaya.jpg|jmpl|Presiden Soeharto mèrri' Parasamya Purnakarya Nugraha ka'angghuy Trenggalek ḍâ' Gubernur Jâbâ Tèmor, Mohammad Noer.]]
Sa'amponna dhâdhhi bhupatè Trenggalek duwâ' periode, Soetran ètunjuk sareng Menteri Dâlem Negeri Amirmachmud ka'anggghuy dhâddhi Gubernur [[Papua (Wilayah Indonesia)|Irian Jaya]].Soetran èpadhâddhi pejabat gubernur è tangghâl 31 April 1975, ghâbây gântèna Acub Zainal.<ref>{{Cite web |title=KompasData |url=https://data.kompas.id/ |access-date=2026-06-08 |website=data.kompas.id |language=en}}</ref> Masa jabatana sè dhâddhi penjabat gubernur lamarè tèppa' èpon èlantik dhâddhi gubernur definitif è tangghâl 12 Agustus 1975.<ref>{{Cite web |last=PT Kompas Media Nusantara |title=KompasData |url=http://www.kompasdata.id/Search/News?ref=http://www.kompasdata.id/Search/NewsDetail/19369617 |archive-url=https://web.archive.org/web/20201215073232/http://www.kompasdata.id/Search/News?ref=http://www.kompasdata.id/Search/NewsDetail/19369617 |archive-date=2020-12-15 |access-date=2026-06-08 |website=KompasData |language=en}}</ref> Masa jabatanna koḍu marè è tangghâl 4 Sèptèmber 1980, tapè polana sobung gântèna gubernur,<ref>{{Cite web |last=PT Kompas Media Nusantara |title=KompasData |url=http://www.kompasdata.id/Search/News?ref=http://www.kompasdata.id/Search/NewsDetail/19484777 |archive-url=https://web.archive.org/web/20201215073233/http://www.kompasdata.id/Search/News?ref=http://www.kompasdata.id/Search/NewsDetail/19484777 |archive-date=2020-12-15 |access-date=2026-06-08 |website=KompasData |language=en}}</ref> masa jabatanna èpaterros sampè' 20 Jânuwari 1981.<ref>{{Cite book |url=https://books.google.com/books?id=EsvVB-Z85GcC&pg=RA7-PA14 |title=Mimbar |date=1980 |publisher=Departemen Dalam Negeri |language=id}}</ref>
=== '''Wajib Nanem Cengkè''' ===
[[Bhengkek:Minister of Internal Affairs handing over the project list to Governor Soetran.jpg|jmpl|Soetran (kanan) menerima DIP Proyek pambangonan Nasional ka'angghuy Provinsi Irian Jaya ḍâri Menteri Ḍâlem Negeri Amirmachmud.]]
Sa'amponna dhâddhi penjabat gubernur Irian Jaya, Soetran molay nerapaghi program sè ampon èpon lakoni è Trenggalek kabit pètto' taon. È tangghâl 20 Mèi 1975, Soetran mencanangkan program Wâjib nanem Cengkè (WTC).<ref>{{Cite news |last=Administrator |date=1976-12-11 |title=Lain trenggalek, lain di sini |url=https://majalah.tempo.co/read/daerah/70670/lain-trenggalek-lain-di-sini |access-date=2026-06-08 |work=Tempo |language=id-ID}}</ref> Soetran berpendapat cengkè bisa mèrri' hasèl sè rajâ ḍâ' penghasèlana ḍaèra Irian Jaya. Polana program kasebhut, Soetran èolok "Gubernur Cengkè".<ref>{{Cite book |last=Griapon |first=Alexander |url=https://books.google.co.id/books?id=R-NRAQAAMAAJ&redir_esc=y |title=Lembaga musyawarah adat: 10 tahun terakhir dari 30 tahun awal pemerintahan propinsi di tanah Papua |date=2010 |publisher=Kerjasama Penerbit Arika dengan Pemerintah Kabupaten Jayapura |isbn=978-602-95705-3-3 |language=id}}</ref>
Mènorot èssèna komando sè èpakaloar Soetran, satèyap kopala kalowarga è Irian Jaya è kenning wâjib namen. kalowarga sè oḍi' è dhisa koḍu namen cengkè palèng sakonnè' 20 bhungka, kalowarga sè oḍi' è pèngghir kottha koḍu namen 5—10, bân kalowarga sè oḍi' è kottha koḍu namen palèng sakonnè' 5 bhungka. Kantor-kantor, sakola, asrama, kennenga ibâdâ, bân pramuka jhughân èwajibaghi ka'angghuy namen cengkè. salaèn ḍâri namen skala kènni' sareng penduduk, Soetran jhughân manaddhek kebbhun cengkè sè èkalola sareng pamarènta kabupatèn bân provinsi.<ref name=":0">{{Cite news |last=Administrator |date=1976-12-11 |title=Lain trenggalek, lain di sini |url=https://majalah.tempo.co/read/daerah/70670/lain-trenggalek-lain-di-sini |access-date=2026-06-08 |work=Tempo |language=id-ID}}</ref>
Pan-bârâmpan arè sa'amponna program èmolaè, Soetran nyo'on pèssè ḍâri Prèsidèn Soeharto. Parnyo'onanna èkabbhuli, bân Soeharto aberri' hibah atahap sebânnya' 250 juta rupia è tangghâl 20 Novèmber 1975, kalabân 50 juta rupia èberri'i è taon partama. Rencanana Soetran melleya nè-binèna cengkè ka Trenggalèk sè arghâna 35 juta rupia.<ref name=":0" />
Namong, ta' abit sa'ampona èmolaè, proyèk panèka ennas. È dâlem tanam cengkeh sè èlaksanaaghi sareng [[Pegawai negeri sipil|PNS]] è Kantor Gubernur Irian Jaya, namong ra-kèra 10% ḍâri bibit cengkè sè bisa ètamen è taon partama. Orèng ahli pertanian nyata'aghi jhâ' ka ennasân panèka polana instruksi Soetran sè agher bân PNS sè ghita' ngartè carana namen cengkè. Alasan laènna èngghi panèka Soetran ampon alanggar dekrit Mentri Pertanian sè anyata'aghi jhâ' nè-binèna cengkè coma bisa è impor ḍâri empa' kennangan: [[Selokaton, Sukorejo, Kendal|Selokaton]], Branggah Banaran, Bogor, bân Maluku. Kapotosanna Soetran ka'angguy mamaso' nè-binèna cengkè ḍâri Trenggalèk èyangghâp sala raje sabhâb nè-binèna cengkè ḍâri Trenggalèk ghita' toman èteliti kalayakanna.<ref name=":0" />
Julius Ary Mollet, paneliti ḍâri [[Universitas Cenderawasih|Universitas Cendrawasih]], nyala'aghi ka ennasân Soetran è sosialisasi sè korang ka masyarakat. Mènorot Julius, masyarakat dhâddhi ta' segghân sè molonga bân nyuwâllâ cengkè polana koranga sosialisasi tentang kaontonga ḍâri namen cengkè.<ref>{{Cite web |title=KompasData |url=https://data.kompas.id/ |access-date=2026-06-29 |website=data.kompas.id |language=en}}</ref>
Sa'ampona Soetran toron dâri kalaghungan Gubernur Irian Jaya, penerussa, [[Busiri Suryowinoto]], atanya kabijaghân Wâjib Namen Cengkè-na. Busiri aghântè'è program Soetran kalabân namen tanaman kakanan, polana èparcajâ cengkè ta' cocok ghâbây wilaya Irian Jaya.<ref>{{Cite news |last=Administrator |date=1981-01-24 |title=Busiri, setelah soetran busiri, setelah soetran |url=https://majalah.tempo.co/read/daerah/48872/busiri-setelah-soetran-busiri-setelah-soetran |access-date=2026-06-29 |work=Tempo |language=id-ID}}</ref>
=== Lènḍhu Irian Jaya ===
È bâkto pamarènta'ana Soetran, Provinsi Irian Jaya èkenning duwâ' lènḍhu kalabân berturut-turut. lènḍhu sè kabidhân, è tangghâl 26 Juniè 1976 bân okoranna 7,1 [[Skala Richter]], alangsong selama saminggu. Akibatâ, 12 kampong rajâ è [[Lembah Baliem]] è nyata'aghi èlang. Kecamatan Kurima, Okbibab, bân Oksibil, Sè sakabbhina bâḍâ è Kabupatèn Jayawijaya, sakabbhina ancor polana lènḍhu. Sampè' kalabân tangghâl 5 Juli 1976, 369 orèng tèmmu sèdhâ bân 5.001 orèng ènyata'aghi èlang.<ref>{{Cite web |date=17 Juli 1976 {{!}} 00.00 WIB |title=Ujian Berat Buat Soetran |url=https://www.tempo.co/politik/ujian-berat-buat-soetran-1094390 |access-date=2026-07-06 |website=Tempo |language=id}}</ref>
Samarèna lènḍhu kasebbhut, para penyintas èevakuasi bân ètampong ḍâlem kamp pangungsiân.<ref>{{Cite web |title=KompasData |url=https://data.kompas.id/ |access-date=2026-07-06 |website=data.kompas.id |language=en}}</ref> Seorang pejabat pamarènta'an nghâmbhâraghi kondisi è kamp pangungsiân kasebhut kalabân "marèngès bân tako' ". Sèkrètaris Daerah Irian Jaya, Syarifuddin Harahap, ngèrèmaghi sejumlah radiogram ḍâ' departemen bân perusahaan è Irian Jaya bân mènta mereka ka'angghuy ngèrèmaghi bântowan. Prèsidèn Soeharto nangghâpi kalabân marènta lembaga pamarènta'an ka'angghuy abento' suatu satuan tugas ka'angghuy ngaḍhepi lèndhu kasebhut. bântowan kabidhân sè èberri' èbâghi ḍâ' penyintas sè terisolasi bân klaparan abento' sak [[Sabbhrâng longghâ|obi]] sè è paghâgghâr ḍâri odârâ. Tapè, sejumlah obi sèttong sak ancor polana sak la ancor. È tangghâl 3 Juli, pamarènta [[Papua Nugini|Papua Nugin]]<nowiki/>i abânto proses nyarè bân penyelamatan ḍâlem bento' sebuah pesawat [[Cessna]].<ref>{{Cite web |date=17 Juli 1976 {{!}} 00.00 WIB |title=Ujian Berat Buat Soetran |url=https://www.tempo.co/politik/ujian-berat-buat-soetran-1094390 |access-date=2026-07-06 |website=Tempo |language=id}}</ref>
Soetran terbang ḍâ' Jakarta è tangghâl 10 Juli ka'angghuy abahas masalah kasebhut kalabân Prèsidèn Soeharto.<ref>{{Cite web |title=KompasData |url=https://data.kompas.id/ |access-date=2026-07-06 |website=data.kompas.id |language=en}}</ref> Soeharto mherri' bântowan sebesar 100 juta rupiya ka'angghuy nangani cobhâ'ân kasebhut bân nyata'aghi jhâ' lenḍhu panèka chobâ'ân nasional.<ref>{{Cite web |last=PT Kompas Media Nusantara |title=KompasData |url=http://www.kompasdata.id/Search/News?ref=http://www.kompasdata.id/Search/NewsDetail/19237898 |archive-url=https://web.archive.org/web/20201215073235/http://www.kompasdata.id/Search/News?ref=http://www.kompasdata.id/Search/NewsDetail/19237898 |archive-date=2020-12-15 |access-date=2026-07-06 |website=KompasData |language=en}}</ref>
Soetran mengeluhkan laona bhântowana pamerènta ḍâ' chobâ'ân alam kasebhut. È tangghâl 19 Juli, Soetran nyampè'aghi ta' puwasa Soetran kalabân penanganan pamarènta pusat ḍâ' chobâ'ân kasebhut. Ta' puwas polana satgas sè èbènto' sareng pamarènta pusat ghilok dhik ḍâteng.<ref>{{Cite web |title=KompasData |url=https://data.kompas.id/ |access-date=2026-07-06 |website=data.kompas.id |language=en}}</ref> Èpon jhughân ngoca' jhâ' sampè' kalabân tangghâl 19 Juli, coma 2 dokter bân 10 perabât sè bâḍâ è kennanga chobâ'ân.<ref>{{Cite web |last=PT Kompas Media Nusantara |title=KompasData |url=http://www.kompasdata.id/Search/News?ref=http://www.kompasdata.id/Search/NewsDetail/19372490 |archive-url=https://web.archive.org/web/20201215073254/http://www.kompasdata.id/Search/News?ref=http://www.kompasdata.id/Search/NewsDetail/19372490 |archive-date=2020-12-15 |access-date=2026-07-06 |website=KompasData |language=en}}</ref> Ḍâlem sebuah pertemuana kalabân Soeharto, Soetran jhughân mengkritisi korangan bhântowana pesawat bân medis sè èberri' sareng pamarènta pusat.<ref>{{Cite web |last=PT Kompas Media Nusantara |title=KompasData |url=http://www.kompasdata.id/Search/News?ref=http://www.kompasdata.id/Search/NewsDetail/19461819 |archive-url=https://web.archive.org/web/20201215073250/http://www.kompasdata.id/Search/News?ref=http://www.kompasdata.id/Search/NewsDetail/19461819 |archive-date=2020-12-15 |access-date=2026-07-06 |website=KompasData |language=en}}</ref>
Menurut Kantor Koordinasi Orosan Penanggulangan Chobâ'ân Perserikatan Bhângsa-Bhângsa (UNDRO), sampè' kalabân tangghâl 30 Sèptèmber, ra kèra sèttong satengga juta dolar AS ampon èbherri' sareng organisasi ḍâri cem macem naghârâ ka'angghuy nanganaghi chobâ'ân è Irian Jaya. UNDRO ngèra'aghi pamarènta mataḍâ' setidaknya 10 èbu dolar satiyap bulâna ka'angghuy maghâgghâr obi ḍâri oḍârâ.<ref name=":2">{{Cite web |date=4 Desember 1976 {{!}} 00.00 WIB |title=Pindah Atau Tidak ? |url=https://www.tempo.co/politik/pindah-atau-tidak--1093573 |access-date=2026-07-06 |website=Tempo |language=id}}</ref>
Lèndu sè kaduwâ' è bulân November 1976. Lèndhu kasebhut berdampak ḍâ' [[Ghunong Jayawijaya|paghunongan Jayawijaya]], bân ra kèra 110 orèng seḍhâ polana lèndhu kasebhut. Lèndhu sè nomer duwâ' andi' skala sè lebbhi kecil bân narèma lebbhi dhiddi' peliputan ḍâri media.<ref name=":2" />
=== Atokar kalabân Elias Paprindey ===
Elias Paprindey, panèka birokrat asli Papua, ètoddhu sareng Soetran dhâddhi bâkkèl gubernur ngântè Jan Mamoribo sè sèḍhâ è tangghâl 19 Oktober 1976.<ref>{{Cite web |last=Tempo |title=Keputusan Presiden Indonesia Nomor 32/M Tahun 1977 |url=https://perpustakaan.bappenas.go.id/lontar/file?file=digital%2F148437-%5B_Konten_%5D-KEPRES%20NO.%2032-M%20TAHUN%201977.PDF |access-date=2026-07-06 |archive-date=2021-01-11 |archive-url=https://web.archive.org/web/20210111055809/https://perpustakaan.bappenas.go.id/lontar/file?file=digital%2F148437-%5B_Konten_%5D-KEPRES%20NO.%2032-M%20TAHUN%201977.PDF |url-status=dead }}</ref> Sa'ampona dhâddhi bâkkèl Gubernur, Paprindey molay atokar kalabân Soetran mengenai proses pembangonan è Irian Jaya.<ref>{{Cite web |date=11 Agustus 1979 {{!}} 00.00 WIB |title=Irian Jaya, 10 Tahun Kemudian |url=https://www.tempo.co/politik/irian-jaya-10-tahun-kemudian-1086208 |access-date=2026-07-06 |website=Tempo |language=id}}</ref> Paprindey kemudian menuduh jabatan bâkkèl gubernur "tak lebbhi ḍâri simbol belaka".<ref>{{Cite web |date=1980-11-29 |title=Dari Wagub Sampai Trikora |url=https://www.tempo.co/politik/dari-wagub-sampai-trikora-1083071 |access-date=2026-07-06 |website=Tempo |language=id}}</ref> Bâkto ètanya sareng wartawan ''[[Tèmpo|Tempo]]'' Widi Yarmanto mengenai atokaran kasebhut, Soetran ta' ngako hal kasebhut bân nyata'aghi jhâ' "Hubungan lako [kami] pagghun bhâghus [bân] kalakoan [kami pagghun] bhânjhur."<ref>{{Cite web |date=11 Agustus 1979 {{!}} 00.00 WIB |title=Sesungguhnya Tak Ada Apa-apa |url=https://www.tempo.co/politik/sesungguhnya-tak-ada-apa-apa-1086206 |access-date=2026-07-06 |website=Tempo |language=id}}</ref>
Lamun berita atokaran kashebut èkataoè penduduk, PNS penduduk asli Irian Jaya molay ngungkapaghin katako'ana mereka kalabân pamarènta daerah. Orèng panglako negeri nyata'aghi "Lamun keadaan èḍinna' dèyye to', lebbhi bhâghus kami ḍâ' [[Papua Nugini|PNG]] bhâin."<ref>{{Cite web |date=11 Agustus 1979 {{!}} 00.00 WIB |title=Irian Jaya, 10 Tahun Kemudian |url=https://www.tempo.co/politik/irian-jaya-10-tahun-kemudian-1086208 |access-date=2026-07-06 |website=Tempo |language=id}}</ref>
== Sombher ==
<references />
[[Bhângsa:Gubernur Papua]]
[[Bhângsa:Tokoh TNI]]
[[Bhângsa:Bupati Trenggalek]]
[[Bhângsa:Kalahèran 1921]]
[[Bhângsa:Sèḍhâ 1987]]
[[Bhângsa:Sèḍhâ omur 66]]
seibf96dij2p3eeu5if56s99kyjkbqw
Han So-hee
0
19442
64882
64855
2026-07-10T02:40:12Z
Alfiyah Rizzy Afdiquni
9
nambâ kothak info
64882
wikitext
text/x-wiki
{{infobox orang}}
'''Lee So-hee''' (Bhâsa Korèa; lahèr 18 November 1993), <ref name=":3">{{Cite web |title=배우 한소희, 눈부신 미녀의 ‘HAPPY BIRTHDAY’ |url=https://m.entertain.naver.com/home/article/144/0000775176 |access-date=2026-04-27 |website=m.entertain.naver.com |language=ko}}</ref> lebbi èkennal kalabân nyamana panggung Han So-hee (Bhâsa Korèa ), panèka aktris ḍâri Korèa Sèlatan.
Saellana molaè karir mènangka aktor pendukung è serial televisi akadhi ''100 Days My Prince'' (2018) bân ''Abyss'' (2019), èkennal è bânnya' orèng lèbât peranna è ḍrama ''The World of the Married'' (2020). Ia saterrossa aperan è bhân-sabbhân serial akadhi ''Nevertheless'' (2021), ''My Name'' (2021), bân ''Gyeongseong Creature'' (2023–2024). èpon jhughân ampon mo'dul è pan-bârâmpan video musik, è antarana "Seven" sareng Jungkook . <ref>{{Cite web |date=2023-07-01 |title=Jungkook BTS Bakal Rilis MV 'Seven' Bulan Juli, Dibintangi Han So Hee! |url=https://yoursay.suara.com/entertainment/2023/07/01/103822/jungkook-bts-bakal-rilis-mv-seven-bulan-juli-dibintangi-han-so-hee |access-date=2026-04-27 |website=Yoursay.id |language=id}}</ref>
== Kaoḍhi'an awwâl ==
Ia lahèr kalabân nyama Lee So-hee è tanghâl 18 November 1993 è Ulsan, Korèa Sèlatan. <ref name=":32">{{Cite web |title=배우 한소희, 눈부신 미녀의 ‘HAPPY BIRTHDAY’ |url=https://m.entertain.naver.com/home/article/144/0000775176 |access-date=2026-04-27 |website=m.entertain.naver.com |language=ko}}</ref> <ref>{{Cite web |title=[단독] 한소희, 실제 나이 1살 많은 1993년생(31살)…안타까운 가정사 있었다 |url=https://m.entertain.naver.com/home/article/312/0000687088 |access-date=2026-04-27 |website=m.entertain.naver.com |language=ko}}</ref> Ia asakola è SMA Seni Ulsan, jurusan seni . <ref>{{Cite web |last=시민일보 |date=2021-10-17 |title=′한소희′ 일상은?... 출연 드라마 인기 속 그녀의 인스타그램 ′화제′ |url=https://www.siminilbo.co.kr/news/newsview.php?ncode=1065605683551588 |access-date=2026-04-27 |website=www.siminilbo.co.kr |language=ko}}</ref> È taon ahèr SMA, èpon apinda ka Seoul ka'angghuy oḍi' è bâbâna èmba bân alakoh è cèm macèm tempat paroh-bâkto ka'angghuy nyarèh kaoḍhi'ân. <ref>{{Cite web |date=2023-06-17 |title=Profile {{!}} Meet Han So-hee, My Name actress who’s had a meteoric rise to stardom |url=https://www.scmp.com/lifestyle/k-pop/k-drama/article/3224002/who-han-so-hee-korean-actress-and-star-k-dramas-my-name-and-world-married-who-enjoyed-meteoric-rise |access-date=2026-04-27 |website=South China Morning Post |language=en}}</ref>
Èmolaè, ia ta' anḍi' rèncana maso' ka industri bur-lebur bân terro nerrossaghi sekola sè tèngghi è Prancis. Namong, ia ta' bisa entar polana kendala pèssè ka'angghuy èkennal visa, sè parlo saldo tabungan ₩ 60 juta. <ref>{{Cite web |last=Seoul |first=SBS 뉴스 |date=2024-01-14 |title=한소희, 인생 바꾼 2000만 원짜리 과자 광고…프랑스 유학 포기한 이유? |url=https://news.sbs.co.kr/news/endPage.do?news_id=N1007498170 |access-date=2026-04-27 |website=SBS NEWS |language=ko}}</ref> Bâkto alako paroh-bâkto è bar bir bân model iklan ka'angghuy hemat pèssè, kapala agenna salastarèna èbujuk ka'angghuy nyoba' akting.
== Lako ==
=== 2016-2019: Debut Aktris ===
Ia aghâbây debut model sareng SHINee è MV sè ajuḍhul ''"Tell Me What To Do"'' è taon 2016. Bâ'na aghâbây debut akting lèbât peran pendukung è serial televisi ''Reunited Worlds'' (2017). È taon 2018, ia ollè peran awwâl è ḍâlem serial televisi ''Money Flower'' è MBC TV bân ''100 Days My Prince'' è tvN. Ia jhughân abâdâh è ḍrama khusus ''After The Rain'' è KBS2 bân muncul è video musik ''"The Hardest Part"'' karjâ Roy Kim. Saterrossa, ia aghâdhui peran pendukung è ḍrama ''Abyss'' è bâbâna aktor otama Ahn Hyo-seop bân Park Bo-young.
=== 2020: Pangakuwan sè lebhâr ===
È taon 2020, ia ka'angguy aghâdhui è serial televisi JTBC ''The World of the Married'' mènangka Yeo Da-kyung. <ref name=":2">{{Cite web |last=Hong |first=Hye-min |date=7 Oktober 2019 |title=한소희, ‘부부의 세계’ 출연 확정..김희애∙백해준과 호흡 [공식] |url=http://star.hankookilbo.com/News/Read/201910070899093767 |archive-url=https://web.archive.org/web/20191101033035/http://star.hankookilbo.com/News/Read/201910070899093767 |archive-date=2019-11-01 |access-date=1 November 2019 |website=Hankook Ilbo |language=ko}}</ref> Serial panèka èsambhât mènangka ḍrama sè palèng tèngghi è ḍâlem jhâjhârbâ'ân televisi kabel Korèa Sèlatan. Berkat kesuksesan serial panèka, ia èkennal è bânnya' orèng. Polana ropana, ia narèma nominasi ghâbây Aktris Anyar sè paleng bhâgus – Televisi è Baeksang Arts Awards ka-56. <ref>{{Cite web |title=[2020 백상예술대상] 안효섭X김다미, TV부문 신인상 영예 |url=https://m.entertain.naver.com/home/article/009/0004589709 |access-date=2026-04-27 |website=m.entertain.naver.com |language=ko}}</ref>
Popularitas ia jhughân ampon aghâbây bânnya' tawaran kolaborasi sareng bânnya' merek iklan. È bulân September 2020, èpon èkonfirmasi bhâkal abintang è serial aksi Netflix, ''My Name.'' <ref>{{Cite web |last=Larasati |first=Delia Arnindita |title=Confirmed! Han So Hee Jadi Mata-mata di Drakor Terbaru Netflix Undercover |url=https://hot.detik.com/kdrama/d-5182905/confirmed-han-so-hee-jadi-mata-mata-di-drakor-terbaru-netflix-undercover |access-date=2026-04-27 |website=detikhot |language=id-ID}}</ref>
=== 2021–satèya: Peran otama ===
È taon 2021, ia ka'angguy aghâdhui è ḍrama romansa JTBC ''Nevertheless'' èbârengngè Song Kang. è taon sè paḍâ, ia èpèlè è serial aksi-kriminal Netflix ''My Name,'' mènangka bhâbinè' sè rèncanana mâles è attas kamatèanna eppa'. Serial panèka è peringkat empa' è ḍhaftar acara televisi global sè palèng èkasennengi Netflix. polana penampilanna è ''My Name'', ia narèma nominasi ghâbây Aktris sè paleng bhâgus – Televisi è 58th Baeksang Arts Awards. è bulân Maret 2022, ia mo'dul è miniseri Disney+ empa' episode Soundtrack #1 èbârengngè Park Hyung-sik. è taon sè paḍâ, ia èpèlè mènangka duta global ghâbây merek mode Balenciaga. Saterrossa èbintangi è ḍrama sajârâ Netflix Gyeongseong Creature (2023–2024) è bâbâna Park Seo-joon. È bulân Juli 2023, ia mo'dul è video musik ghâbây laghu"Seven" karjâ Jungkook BTS.
== Duta merek bân iklan ==
Ia ampon aktif mènangka moḍel molaè taon 2016. <ref>{{Cite web |date=2020-05-23 |title=‘부세계’ 한소희, 데뷔 3년 만에 ‘대세’가 된 신흥 CF퀸 |url=https://www.newsen.com/news_view.php?uid=202005221536511810 |access-date=2026-04-27 |website=‘부세계’ 한소희, 데뷔 3년 만에 ‘대세’가 된 신흥 CF퀸 - 손에 잡히는 뉴스 눈에 보이는 뉴스 - 뉴스엔 |language=ko}}</ref> Ia ampon membintangi è iklan ghâbây bânnya' merek, è antarana CJ Group, <ref>{{Cite web |last=CJ |title=error |url=https://www.cj.net/error/ |access-date=2026-04-27 |website=www.cj.net |language=ko}}</ref> J.Estina, <ref>{{Cite web |last=조선일보 |date=2020-07-21 |title=신예 배우 한소희, 제이에스티나 뷰티 모델로 발탁 |url=https://www.chosun.com/site/data/html_dir/2017/04/20/2017042001819.html |access-date=2026-04-27 |website=조선일보 |language=ko}}</ref> Banila Co., ''Eider,'' ''Charlotte Tilbury Beauty'', <ref>{{Cite web |last=틸버리 |first=샬롯 |date=2021-06-02 |title=배우 한소희, 영국 뷰티 브랜드 ‘샬롯 틸버리’ 한국 첫 모델로 발탁 - 뉴스와이어 |url=https://www.newswire.co.kr/newsRead.php?no=924475 |access-date=2026-04-27 |website=www.newswire.co.kr |language=ko}}</ref> ''L'Oréal'', bân Giano Internasional. <ref>{{Cite web |title=Han So-hee and Cha Eun-woo Play a Gorgeous Couple in Giordano's Latest Fashion Film |url=https://www.lofficielsingapore.com/fashion/han-so-hee-cha-eun-woo-play-gorgeous-couple-giordano-fall-fashion-film-2023 |access-date=2026-04-27 |website=L'Officiel Singapore |language=en}}</ref>
È taon 2022, ia ḍhâddhi duta merek global ghâbây roma mode Balenciaga bân merek jem tanang mewah Swiss Omega SA . <ref>{{Cite web |last=Pool |title=7 Gaya Elegan dan Misterius Han So Hee Jadi Global Brand Ambassador Balenciaga |url=https://wolipop.detik.com/celeb-style/d-6003876/7-gaya-elegan-dan-misterius-han-so-hee-jadi-global-brand-ambassador-balenciaga |access-date=2026-04-27 |website=wolipop |language=id}}</ref> <ref>{{Cite web |date=2022-05-09 |title=Aktris Korea Pertama, Han So Hee Ditunjuk Sebagai Duta Global Omega |url=https://yoursay.suara.com/entertainment/2022/05/09/170710/aktris-korea-pertama-han-so-hee-ditunjuk-sebagai-duta-global-omega |access-date=2026-04-27 |website=Yoursay.id |language=id}}</ref> Ia jhughân mo'dul mènangka moḍel è kampanye kolaborasi Spring/National 2023 antara Balenciaga bân Adidas.
È taon 2023, èmommaghi mènangka duta merek global ghâbây label mode Singapura Charles & Keith, <ref>{{Cite web |title=HAN SO HEE – NEWEST GLOBAL BRAND AMBASSADOR |url=https://www.charleskeithgroup.com/news/han-so-hee-newest-global-brand-ambassador/ |access-date=2026-04-27 |website=CHARLES & KEITH Group |language=en-US}}</ref> roma perhiasan mewah Perancis Boucheron, <ref>{{Cite web |date=2023-07-04 |title=Melebur dengan Berlian, Intip Pesona Han So Hee sebagai Global Ambassador Boucheron! |url=https://editorial.femaledaily.com/blog/2023/07/04/melebur-dengan-berlian-intip-pesona-han-so-hee-sebagai-global-ambassador-boucheron |access-date=2026-04-27 |website=Female Daily |language=en}}</ref> bân merek kalambi olahraga Fila. <ref>{{Cite web |last=Natasya |first=Dina |title=Sporty dan Stylish, Han So Hee Resmi Terpilih Menjadi Global Ambassador FILA |url=https://www.beautynesia.id/life/sporty-dan-stylish-han-so-hee-resmi-terpilih-menjadi-global-ambassador-fila/b-279795 |access-date=2026-04-27 |website=life |language=id-ID}}</ref> È taon sè paḍâ, Lotte Chilsung mèlè ia mènangka mowana anyar ghâbây produk soju Chum Churum. <ref>{{Cite web |last=이상현 |date=2023-03-03 |title=롯데칠성음료, ‘처음처럼’ 새 얼굴로 배우 한소희 발탁 |url=https://www.mk.co.kr/news/business/10666530 |access-date=2026-04-27 |website=매일경제 |language=ko}}</ref>
È taon 2024, Han èpèlè mènangka duta merek global ghâbây merek peralatan roma Shark. <ref>{{Cite web |title=[단독] 한소희, 광고 블루칩 이상無...'샤크' 글로벌 모델 최초 발탁 |url=https://m.entertain.naver.com/home/article/109/0005045334 |access-date=2026-04-27 |website=m.entertain.naver.com |language=ko}}</ref>
== Sombhâr ==
<references />
nx9nfcixxtjtuspj30bapfidv78zh05
Gaplèk
0
19447
64878
2026-07-10T02:17:28Z
Oikivivi
2325
←Membuat halaman berisi 'Gaplèk (ḍari bhâsâ Jhâbâ: gaplèk) iyâ arèya obi kajhu (tenggâng) sè la èkombi' bân èpakerrèng (èjemmor). Polana kerrèng, gaplèk lebbi awèt èsabâ' ḍâlem jangka bâkto sè abit ta' katah tenggâng sè segger, bân polana segghut èghuna'aghi ghâbây sombher bahan pangan pokok è kennengngan sè malarat ètamennè padi. Biasana pangerrèngan gaplèk rèya èlakonè lèbât prosès è jemmor è bâbâna sinar mata'arè, saèngghâ segg...'
64878
wikitext
text/x-wiki
Gaplèk (ḍari bhâsâ Jhâbâ: gaplèk) iyâ arèya obi kajhu (tenggâng) sè la èkombi' bân èpakerrèng (èjemmor). Polana kerrèng, gaplèk lebbi awèt èsabâ' ḍâlem jangka bâkto sè abit ta' katah tenggâng sè segger, bân polana segghut èghuna'aghi ghâbây sombher bahan pangan pokok è kennengngan sè malarat ètamennè padi. Biasana pangerrèngan gaplèk rèya èlakonè lèbât prosès è jemmor è bâbâna sinar mata'arè, saèngghâ segghut ètombuè kapang otabâ kolat sabellunna gaplèk cè' kerrèngnga, bân dhâddhi gaplèk sè abârna kakonèngan otabâ cèllèng.
348fmekhyyk4ehn6d97jt2y7hdypdp9
64879
64878
2026-07-10T02:17:48Z
Oikivivi
2325
64879
wikitext
text/x-wiki
'''Gaplèk''' (ḍari bhâsâ Jhâbâ: gaplèk) iyâ arèya obi kajhu (tenggâng) sè la èkombi' bân èpakerrèng (èjemmor). Polana kerrèng, gaplèk lebbi awèt èsabâ' ḍâlem jangka bâkto sè abit ta' katah tenggâng sè segger, bân polana segghut èghuna'aghi ghâbây sombher bahan pangan pokok è kennengngan sè malarat ètamennè padi. Biasana pangerrèngan gaplèk rèya èlakonè lèbât prosès è jemmor è bâbâna sinar mata'arè, saèngghâ segghut ètombuè kapang otabâ kolat sabellunna gaplèk cè' kerrèngnga, bân dhâddhi gaplèk sè abârna kakonèngan otabâ cèllèng.
4osbxo53jhy5ir65k1zvaere22o2f4a