Wikikamus
mswiktionary
https://ms.wiktionary.org/wiki/Wikikamus:Laman_Utama
MediaWiki 1.47.0-wmf.21
case-sensitive
Media
Khas
Perbincangan
Pengguna
Perbincangan pengguna
Wikikamus
Perbincangan Wikikamus
Fail
Perbincangan fail
MediaWiki
Perbincangan MediaWiki
Templat
Perbincangan templat
Bantuan
Perbincangan bantuan
Kategori
Perbincangan kategori
Lampiran
Perbincangan lampiran
Rima
Perbincangan rima
Tesaurus
Perbincangan tesaurus
Indeks
Perbincangan indeks
Petikan
Perbincangan petikan
Rekonstruksi
Perbincangan rekonstruksi
Padanan isyarat
Perbincangan padanan isyarat
Konkordans
Perbincangan konkordans
TimedText
TimedText talk
Modul
Perbincangan modul
Acara
Perbincangan acara
hana kīwila
0
18219
376790
330862
2026-09-28T00:09:31Z
InternetArchiveBot
5017
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.6
376790
wikitext
text/x-wiki
==Bahasa Hawaii==
===Kata nama===
{{haw-kn}}
# [[perkhidmatan awam]]
===Sebutan===
*{{haw-AFA}}
===Rujukam===
* "[https://web.archive.org/web/20051210100843/http://wehewehe.org/ hana kīwila]" dalam ''Nā Puke Wehewehe ʻŌlelo Hawaiʻi''
52suguiea56mqcbe9qem85cp85fyq3q
Modul:headword/page
828
51771
376774
375598
2026-09-27T18:23:30Z
SNN95
2113
kemaskini
376774
Scribunto
text/plain
local export = {}
local languages_module = "Module:languages"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local string_compare_module = "Module:string/compare"
local string_decode_entities_module = "Module:string/decodeEntities"
local string_remove_comments_module = "Module:string/removeComments"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local template_parser_module = "Module:template parser"
local mw = mw
local string = string
local table = table
local ustring = mw.ustring
local concat = table.concat
local find = string.find
local format = string.format
local gsub = string.gsub
local insert = table.insert
local load_data = mw.loadData
local match = string.match
local new_title = mw.title.new
local pairs = pairs
local require = require
local sub = string.sub
local toNFC = ustring.toNFC
local toNFD = ustring.toNFD
local ugsub = ustring.gsub
local function class_else_type(...)
class_else_type = require(template_parser_module).class_else_type
return class_else_type(...)
end
local function decode_entities(...)
decode_entities = require(string_decode_entities_module)
return decode_entities(...)
end
local function encode_entities(...)
encode_entities = require(string_utilities_module).encode_entities
return encode_entities(...)
end
local function get_category(...)
get_category = require(maintenance_category_module).get_category
return get_category(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function list_to_set(...)
list_to_set = require(table_module).listToSet
return list_to_set(...)
end
local function parse(...)
parse = require(template_parser_module).parse
return parse(...)
end
local function remove_comments(...)
remove_comments = require(string_remove_comments_module)
return remove_comments(...)
end
local function physical_to_logical_pagename_if_mammoth(...)
physical_to_logical_pagename_if_mammoth = require(pages_module).physical_to_logical_pagename_if_mammoth
return physical_to_logical_pagename_if_mammoth(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function string_compare(...)
string_compare = require(string_compare_module)
return string_compare(...)
end
local function uupper(...)
uupper = require(string_utilities_module).upper
return uupper(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local langnames
local function get_langnames()
langnames, get_langnames = load_data("Module:languages/canonical names"), nil
return langnames
end
-- Combining character data used when categorising unusual characters. These resolve into two patterns, used to find
-- single combining characters (i.e. character + diacritic(s)) or double combining characters (i.e. character +
-- diacritic(s) + character).
-- Charsets are in the format used by Unicode's UnicodeSet tool: https://util.unicode.org/UnicodeJsps/list-unicodeset.jsp.
-- Single combining characters.
-- Charset: [[:M:]&[:^Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]]
-- Note: concatenating hundreds of lines at once gives an error, so () are used every 150 lines to break it up into chunks.
local comb_chars_single =
("\204\128-\205\142" .. -- U+0300-U+034E
"\205\144-\205\155" .. -- U+0350-U+035B
"\205\163-\205\175" .. -- U+0363-U+036F
"\210\131-\210\137" .. -- U+0483-U+0489
"\214\145-\214\189" .. -- U+0591-U+05BD
"\214\191" .. -- U+05BF
"\215\129" .. -- U+05C1
"\215\130" .. -- U+05C2
"\215\132" .. -- U+05C4
"\215\133" .. -- U+05C5
"\215\135" .. -- U+05C7
"\216\144-\216\154" .. -- U+0610-U+061A
"\217\139-\217\159" .. -- U+064B-U+065F
"\217\176" .. -- U+0670
"\219\150-\219\156" .. -- U+06D6-U+06DC
"\219\159-\219\164" .. -- U+06DF-U+06E4
"\219\167" .. -- U+06E7
"\219\168" .. -- U+06E8
"\219\170-\219\173" .. -- U+06EA-U+06ED
"\220\145" .. -- U+0711
"\220\176-\221\138" .. -- U+0730-U+074A
"\222\166-\222\176" .. -- U+07A6-U+07B0
"\223\171-\223\179" .. -- U+07EB-U+07F3
"\223\189" .. -- U+07FD
"\224\160\150-\224\160\153" .. -- U+0816-U+0819
"\224\160\155-\224\160\163" .. -- U+081B-U+0823
"\224\160\165-\224\160\167" .. -- U+0825-U+0827
"\224\160\169-\224\160\173" .. -- U+0829-U+082D
"\224\161\153-\224\161\155" .. -- U+0859-U+085B
"\224\162\151-\224\162\159" .. -- U+0897-U+089F
"\224\163\138-\224\163\161" .. -- U+08CA-U+08E1
"\224\163\163-\224\164\131" .. -- U+08E3-U+0903
"\224\164\186-\224\164\188" .. -- U+093A-U+093C
"\224\164\190-\224\165\143" .. -- U+093E-U+094F
"\224\165\145-\224\165\151" .. -- U+0951-U+0957
"\224\165\162" .. -- U+0962
"\224\165\163" .. -- U+0963
"\224\166\129-\224\166\131" .. -- U+0981-U+0983
"\224\166\188" .. -- U+09BC
"\224\166\190-\224\167\132" .. -- U+09BE-U+09C4
"\224\167\135" .. -- U+09C7
"\224\167\136" .. -- U+09C8
"\224\167\139-\224\167\141" .. -- U+09CB-U+09CD
"\224\167\151" .. -- U+09D7
"\224\167\162" .. -- U+09E2
"\224\167\163" .. -- U+09E3
"\224\167\190" .. -- U+09FE
"\224\168\129-\224\168\131" .. -- U+0A01-U+0A03
"\224\168\188" .. -- U+0A3C
"\224\168\190-\224\169\130" .. -- U+0A3E-U+0A42
"\224\169\135" .. -- U+0A47
"\224\169\136" .. -- U+0A48
"\224\169\139-\224\169\141" .. -- U+0A4B-U+0A4D
"\224\169\145" .. -- U+0A51
"\224\169\176" .. -- U+0A70
"\224\169\177" .. -- U+0A71
"\224\169\181" .. -- U+0A75
"\224\170\129-\224\170\131" .. -- U+0A81-U+0A83
"\224\170\188" .. -- U+0ABC
"\224\170\190-\224\171\133" .. -- U+0ABE-U+0AC5
"\224\171\135-\224\171\137" .. -- U+0AC7-U+0AC9
"\224\171\139-\224\171\141" .. -- U+0ACB-U+0ACD
"\224\171\162" .. -- U+0AE2
"\224\171\163" .. -- U+0AE3
"\224\171\186-\224\171\191" .. -- U+0AFA-U+0AFF
"\224\172\129-\224\172\131" .. -- U+0B01-U+0B03
"\224\172\188" .. -- U+0B3C
"\224\172\190-\224\173\132" .. -- U+0B3E-U+0B44
"\224\173\135" .. -- U+0B47
"\224\173\136" .. -- U+0B48
"\224\173\139-\224\173\141" .. -- U+0B4B-U+0B4D
"\224\173\149-\224\173\151" .. -- U+0B55-U+0B57
"\224\173\162" .. -- U+0B62
"\224\173\163" .. -- U+0B63
"\224\174\130" .. -- U+0B82
"\224\174\190-\224\175\130" .. -- U+0BBE-U+0BC2
"\224\175\134-\224\175\136" .. -- U+0BC6-U+0BC8
"\224\175\138-\224\175\141" .. -- U+0BCA-U+0BCD
"\224\175\151" .. -- U+0BD7
"\224\176\128-\224\176\132" .. -- U+0C00-U+0C04
"\224\176\188" .. -- U+0C3C
"\224\176\190-\224\177\132" .. -- U+0C3E-U+0C44
"\224\177\134-\224\177\136" .. -- U+0C46-U+0C48
"\224\177\138-\224\177\141" .. -- U+0C4A-U+0C4D
"\224\177\149" .. -- U+0C55
"\224\177\150" .. -- U+0C56
"\224\177\162" .. -- U+0C62
"\224\177\163" .. -- U+0C63
"\224\178\129-\224\178\131" .. -- U+0C81-U+0C83
"\224\178\188" .. -- U+0CBC
"\224\178\190-\224\179\132" .. -- U+0CBE-U+0CC4
"\224\179\134-\224\179\136" .. -- U+0CC6-U+0CC8
"\224\179\138-\224\179\141" .. -- U+0CCA-U+0CCD
"\224\179\149" .. -- U+0CD5
"\224\179\150" .. -- U+0CD6
"\224\179\162" .. -- U+0CE2
"\224\179\163" .. -- U+0CE3
"\224\179\179" .. -- U+0CF3
"\224\180\128-\224\180\131" .. -- U+0D00-U+0D03
"\224\180\187" .. -- U+0D3B
"\224\180\188" .. -- U+0D3C
"\224\180\190-\224\181\132" .. -- U+0D3E-U+0D44
"\224\181\134-\224\181\136" .. -- U+0D46-U+0D48
"\224\181\138-\224\181\141" .. -- U+0D4A-U+0D4D
"\224\181\151" .. -- U+0D57
"\224\181\162" .. -- U+0D62
"\224\181\163" .. -- U+0D63
"\224\182\129-\224\182\131" .. -- U+0D81-U+0D83
"\224\183\138" .. -- U+0DCA
"\224\183\143-\224\183\148" .. -- U+0DCF-U+0DD4
"\224\183\150" .. -- U+0DD6
"\224\183\152-\224\183\159" .. -- U+0DD8-U+0DDF
"\224\183\178" .. -- U+0DF2
"\224\183\179" .. -- U+0DF3
"\224\184\177" .. -- U+0E31
"\224\184\180-\224\184\186" .. -- U+0E34-U+0E3A
"\224\185\135-\224\185\142" .. -- U+0E47-U+0E4E
"\224\186\177" .. -- U+0EB1
"\224\186\180-\224\186\188" .. -- U+0EB4-U+0EBC
"\224\187\136-\224\187\142" .. -- U+0EC8-U+0ECE
"\224\188\152" .. -- U+0F18
"\224\188\153" .. -- U+0F19
"\224\188\181" .. -- U+0F35
"\224\188\183" .. -- U+0F37
"\224\188\185" .. -- U+0F39
"\224\188\190" .. -- U+0F3E
"\224\188\191" .. -- U+0F3F
"\224\189\177-\224\190\132" .. -- U+0F71-U+0F84
"\224\190\134" .. -- U+0F86
"\224\190\135" .. -- U+0F87
"\224\190\141-\224\190\151" .. -- U+0F8D-U+0F97
"\224\190\153-\224\190\188" .. -- U+0F99-U+0FBC
"\224\191\134" .. -- U+0FC6
"\225\128\171-\225\128\190" .. -- U+102B-U+103E
"\225\129\150-\225\129\153" .. -- U+1056-U+1059
"\225\129\158-\225\129\160" .. -- U+105E-U+1060
"\225\129\162-\225\129\164" .. -- U+1062-U+1064
"\225\129\167-\225\129\173" .. -- U+1067-U+106D
"\225\129\177-\225\129\180" .. -- U+1071-U+1074
"\225\130\130-\225\130\141" .. -- U+1082-U+108D
"\225\130\143" .. -- U+108F
"\225\130\154-\225\130\157" .. -- U+109A-U+109D
"\225\141\157-\225\141\159" .. -- U+135D-U+135F
"\225\156\146-\225\156\149" .. -- U+1712-U+1715
"\225\156\178-\225\156\180" .. -- U+1732-U+1734
"\225\157\146" .. -- U+1752
"\225\157\147" .. -- U+1753
"\225\157\178" .. -- U+1772
"\225\157\179" .. -- U+1773
"\225\158\180-\225\159\147") .. -- U+17B4-U+17D3
("\225\159\157" .. -- U+17DD
"\225\162\133" .. -- U+1885
"\225\162\134" .. -- U+1886
"\225\162\169" .. -- U+18A9
"\225\164\160-\225\164\171" .. -- U+1920-U+192B
"\225\164\176-\225\164\187" .. -- U+1930-U+193B
"\225\168\151-\225\168\155" .. -- U+1A17-U+1A1B
"\225\169\149-\225\169\158" .. -- U+1A55-U+1A5E
"\225\169\160-\225\169\188" .. -- U+1A60-U+1A7C
"\225\169\191" .. -- U+1A7F
"\225\170\176-\225\171\142" .. -- U+1AB0-U+1ACE
"\225\172\128-\225\172\132" .. -- U+1B00-U+1B04
"\225\172\180-\225\173\132" .. -- U+1B34-U+1B44
"\225\173\171-\225\173\179" .. -- U+1B6B-U+1B73
"\225\174\128-\225\174\130" .. -- U+1B80-U+1B82
"\225\174\161-\225\174\173" .. -- U+1BA1-U+1BAD
"\225\175\166-\225\175\179" .. -- U+1BE6-U+1BF3
"\225\176\164-\225\176\183" .. -- U+1C24-U+1C37
"\225\179\144-\225\179\146" .. -- U+1CD0-U+1CD2
"\225\179\148-\225\179\168" .. -- U+1CD4-U+1CE8
"\225\179\173" .. -- U+1CED
"\225\179\180" .. -- U+1CF4
"\225\179\183-\225\179\185" .. -- U+1CF7-U+1CF9
"\225\183\128-\225\183\140" .. -- U+1DC0-U+1DCC
"\225\183\142-\225\183\187" .. -- U+1DCE-U+1DFB
"\225\183\189-\225\183\191" .. -- U+1DFD-U+1DFF
"\226\131\144-\226\131\176" .. -- U+20D0-U+20F0
"\226\179\175-\226\179\177" .. -- U+2CEF-U+2CF1
"\226\181\191" .. -- U+2D7F
"\226\183\160-\226\183\191" .. -- U+2DE0-U+2DFF
"\227\128\170-\227\128\175" .. -- U+302A-U+302F
"\227\130\153" .. -- U+3099
"\227\130\154" .. -- U+309A
"\234\153\175-\234\153\178" .. -- U+A66F-U+A672
"\234\153\180-\234\153\189" .. -- U+A674-U+A67D
"\234\154\158" .. -- U+A69E
"\234\154\159" .. -- U+A69F
"\234\155\176" .. -- U+A6F0
"\234\155\177" .. -- U+A6F1
"\234\160\130" .. -- U+A802
"\234\160\134" .. -- U+A806
"\234\160\139" .. -- U+A80B
"\234\160\163-\234\160\167" .. -- U+A823-U+A827
"\234\160\172" .. -- U+A82C
"\234\162\128" .. -- U+A880
"\234\162\129" .. -- U+A881
"\234\162\180-\234\163\133" .. -- U+A8B4-U+A8C5
"\234\163\160-\234\163\177" .. -- U+A8E0-U+A8F1
"\234\163\191" .. -- U+A8FF
"\234\164\166-\234\164\173" .. -- U+A926-U+A92D
"\234\165\135-\234\165\147" .. -- U+A947-U+A953
"\234\166\128-\234\166\131" .. -- U+A980-U+A983
"\234\166\179-\234\167\128" .. -- U+A9B3-U+A9C0
"\234\167\165" .. -- U+A9E5
"\234\168\169-\234\168\182" .. -- U+AA29-U+AA36
"\234\169\131" .. -- U+AA43
"\234\169\140" .. -- U+AA4C
"\234\169\141" .. -- U+AA4D
"\234\169\187-\234\169\189" .. -- U+AA7B-U+AA7D
"\234\170\176" .. -- U+AAB0
"\234\170\178-\234\170\180" .. -- U+AAB2-U+AAB4
"\234\170\183" .. -- U+AAB7
"\234\170\184" .. -- U+AAB8
"\234\170\190" .. -- U+AABE
"\234\170\191" .. -- U+AABF
"\234\171\129" .. -- U+AAC1
"\234\171\171-\234\171\175" .. -- U+AAEB-U+AAEF
"\234\171\181" .. -- U+AAF5
"\234\171\182" .. -- U+AAF6
"\234\175\163-\234\175\170" .. -- U+ABE3-U+ABEA
"\234\175\172" .. -- U+ABEC
"\234\175\173" .. -- U+ABED
"\239\172\158" .. -- U+FB1E
"\239\184\160-\239\184\175" .. -- U+FE20-U+FE2F
"\240\144\135\189" .. -- U+101FD
"\240\144\139\160" .. -- U+102E0
"\240\144\141\182-\240\144\141\186" .. -- U+10376-U+1037A
"\240\144\168\129-\240\144\168\131" .. -- U+10A01-U+10A03
"\240\144\168\133" .. -- U+10A05
"\240\144\168\134" .. -- U+10A06
"\240\144\168\140-\240\144\168\143" .. -- U+10A0C-U+10A0F
"\240\144\168\184-\240\144\168\186" .. -- U+10A38-U+10A3A
"\240\144\168\191" .. -- U+10A3F
"\240\144\171\165" .. -- U+10AE5
"\240\144\171\166" .. -- U+10AE6
"\240\144\180\164-\240\144\180\167" .. -- U+10D24-U+10D27
"\240\144\181\169-\240\144\181\173" .. -- U+10D69-U+10D6D
"\240\144\186\171" .. -- U+10EAB
"\240\144\186\172" .. -- U+10EAC
"\240\144\187\188-\240\144\187\191" .. -- U+10EFC-U+10EFF
"\240\144\189\134-\240\144\189\144" .. -- U+10F46-U+10F50
"\240\144\190\130-\240\144\190\133" .. -- U+10F82-U+10F85
"\240\145\128\128-\240\145\128\130" .. -- U+11000-U+11002
"\240\145\128\184-\240\145\129\134" .. -- U+11038-U+11046
"\240\145\129\176" .. -- U+11070
"\240\145\129\179" .. -- U+11073
"\240\145\129\180" .. -- U+11074
"\240\145\129\191-\240\145\130\130" .. -- U+1107F-U+11082
"\240\145\130\176-\240\145\130\186" .. -- U+110B0-U+110BA
"\240\145\131\130" .. -- U+110C2
"\240\145\132\128-\240\145\132\130" .. -- U+11100-U+11102
"\240\145\132\167-\240\145\132\180" .. -- U+11127-U+11134
"\240\145\133\133" .. -- U+11145
"\240\145\133\134" .. -- U+11146
"\240\145\133\179" .. -- U+11173
"\240\145\134\128-\240\145\134\130" .. -- U+11180-U+11182
"\240\145\134\179-\240\145\135\128" .. -- U+111B3-U+111C0
"\240\145\135\137-\240\145\135\140" .. -- U+111C9-U+111CC
"\240\145\135\142" .. -- U+111CE
"\240\145\135\143" .. -- U+111CF
"\240\145\136\172-\240\145\136\183" .. -- U+1122C-U+11237
"\240\145\136\190" .. -- U+1123E
"\240\145\137\129" .. -- U+11241
"\240\145\139\159-\240\145\139\170" .. -- U+112DF-U+112EA
"\240\145\140\128-\240\145\140\131" .. -- U+11300-U+11303
"\240\145\140\187" .. -- U+1133B
"\240\145\140\188" .. -- U+1133C
"\240\145\140\190-\240\145\141\132" .. -- U+1133E-U+11344
"\240\145\141\135" .. -- U+11347
"\240\145\141\136" .. -- U+11348
"\240\145\141\139-\240\145\141\141" .. -- U+1134B-U+1134D
"\240\145\141\151" .. -- U+11357
"\240\145\141\162" .. -- U+11362
"\240\145\141\163" .. -- U+11363
"\240\145\141\166-\240\145\141\172" .. -- U+11366-U+1136C
"\240\145\141\176-\240\145\141\180" .. -- U+11370-U+11374
"\240\145\142\184-\240\145\143\128" .. -- U+113B8-U+113C0
"\240\145\143\130" .. -- U+113C2
"\240\145\143\133" .. -- U+113C5
"\240\145\143\135-\240\145\143\138" .. -- U+113C7-U+113CA
"\240\145\143\140-\240\145\143\144" .. -- U+113CC-U+113D0
"\240\145\143\146" .. -- U+113D2
"\240\145\143\161" .. -- U+113E1
"\240\145\143\162" .. -- U+113E2
"\240\145\144\181-\240\145\145\134" .. -- U+11435-U+11446
"\240\145\145\158" .. -- U+1145E
"\240\145\146\176-\240\145\147\131" .. -- U+114B0-U+114C3
"\240\145\150\175-\240\145\150\181" .. -- U+115AF-U+115B5
"\240\145\150\184-\240\145\151\128" .. -- U+115B8-U+115C0
"\240\145\151\156" .. -- U+115DC
"\240\145\151\157" .. -- U+115DD
"\240\145\152\176-\240\145\153\128" .. -- U+11630-U+11640
"\240\145\154\171-\240\145\154\183" .. -- U+116AB-U+116B7
"\240\145\156\157-\240\145\156\171" .. -- U+1171D-U+1172B
"\240\145\160\172-\240\145\160\186" .. -- U+1182C-U+1183A
"\240\145\164\176-\240\145\164\181" .. -- U+11930-U+11935
"\240\145\164\183" .. -- U+11937
"\240\145\164\184" .. -- U+11938
"\240\145\164\187-\240\145\164\190" .. -- U+1193B-U+1193E
"\240\145\165\128") .. -- U+11940
("\240\145\165\130" .. -- U+11942
"\240\145\165\131" .. -- U+11943
"\240\145\167\145-\240\145\167\151" .. -- U+119D1-U+119D7
"\240\145\167\154-\240\145\167\160" .. -- U+119DA-U+119E0
"\240\145\167\164" .. -- U+119E4
"\240\145\168\129-\240\145\168\138" .. -- U+11A01-U+11A0A
"\240\145\168\179-\240\145\168\185" .. -- U+11A33-U+11A39
"\240\145\168\187-\240\145\168\190" .. -- U+11A3B-U+11A3E
"\240\145\169\135" .. -- U+11A47
"\240\145\169\145-\240\145\169\155" .. -- U+11A51-U+11A5B
"\240\145\170\138-\240\145\170\153" .. -- U+11A8A-U+11A99
"\240\145\176\175-\240\145\176\182" .. -- U+11C2F-U+11C36
"\240\145\176\184-\240\145\176\191" .. -- U+11C38-U+11C3F
"\240\145\178\146-\240\145\178\167" .. -- U+11C92-U+11CA7
"\240\145\178\169-\240\145\178\182" .. -- U+11CA9-U+11CB6
"\240\145\180\177-\240\145\180\182" .. -- U+11D31-U+11D36
"\240\145\180\186" .. -- U+11D3A
"\240\145\180\188" .. -- U+11D3C
"\240\145\180\189" .. -- U+11D3D
"\240\145\180\191-\240\145\181\133" .. -- U+11D3F-U+11D45
"\240\145\181\135" .. -- U+11D47
"\240\145\182\138-\240\145\182\142" .. -- U+11D8A-U+11D8E
"\240\145\182\144" .. -- U+11D90
"\240\145\182\145" .. -- U+11D91
"\240\145\182\147-\240\145\182\151" .. -- U+11D93-U+11D97
"\240\145\187\179-\240\145\187\182" .. -- U+11EF3-U+11EF6
"\240\145\188\128" .. -- U+11F00
"\240\145\188\129" .. -- U+11F01
"\240\145\188\131" .. -- U+11F03
"\240\145\188\180-\240\145\188\186" .. -- U+11F34-U+11F3A
"\240\145\188\190-\240\145\189\130" .. -- U+11F3E-U+11F42
"\240\145\189\154" .. -- U+11F5A
"\240\147\145\128" .. -- U+13440
"\240\147\145\135-\240\147\145\149" .. -- U+13447-U+13455
"\240\150\132\158-\240\150\132\175" .. -- U+1611E-U+1612F
"\240\150\171\176-\240\150\171\180" .. -- U+16AF0-U+16AF4
"\240\150\172\176-\240\150\172\182" .. -- U+16B30-U+16B36
"\240\150\189\143" .. -- U+16F4F
"\240\150\189\145-\240\150\190\135" .. -- U+16F51-U+16F87
"\240\150\190\143-\240\150\190\146" .. -- U+16F8F-U+16F92
"\240\150\191\164" .. -- U+16FE4
"\240\150\191\176" .. -- U+16FF0
"\240\150\191\177" .. -- U+16FF1
"\240\155\178\157" .. -- U+1BC9D
"\240\155\178\158" .. -- U+1BC9E
"\240\156\188\128-\240\156\188\173" .. -- U+1CF00-U+1CF2D
"\240\156\188\176-\240\156\189\134" .. -- U+1CF30-U+1CF46
"\240\157\133\165-\240\157\133\169" .. -- U+1D165-U+1D169
"\240\157\133\173-\240\157\133\178" .. -- U+1D16D-U+1D172
"\240\157\133\187-\240\157\134\130" .. -- U+1D17B-U+1D182
"\240\157\134\133-\240\157\134\139" .. -- U+1D185-U+1D18B
"\240\157\134\170-\240\157\134\173" .. -- U+1D1AA-U+1D1AD
"\240\157\137\130-\240\157\137\132" .. -- U+1D242-U+1D244
"\240\157\168\128-\240\157\168\182" .. -- U+1DA00-U+1DA36
"\240\157\168\187-\240\157\169\172" .. -- U+1DA3B-U+1DA6C
"\240\157\169\181" .. -- U+1DA75
"\240\157\170\132" .. -- U+1DA84
"\240\157\170\155-\240\157\170\159" .. -- U+1DA9B-U+1DA9F
"\240\157\170\161-\240\157\170\175" .. -- U+1DAA1-U+1DAAF
"\240\158\128\128-\240\158\128\134" .. -- U+1E000-U+1E006
"\240\158\128\136-\240\158\128\152" .. -- U+1E008-U+1E018
"\240\158\128\155-\240\158\128\161" .. -- U+1E01B-U+1E021
"\240\158\128\163" .. -- U+1E023
"\240\158\128\164" .. -- U+1E024
"\240\158\128\166-\240\158\128\170" .. -- U+1E026-U+1E02A
"\240\158\130\143" .. -- U+1E08F
"\240\158\132\176-\240\158\132\182" .. -- U+1E130-U+1E136
"\240\158\138\174" .. -- U+1E2AE
"\240\158\139\172-\240\158\139\175" .. -- U+1E2EC-U+1E2EF
"\240\158\147\172-\240\158\147\175" .. -- U+1E4EC-U+1E4EF
"\240\158\151\174" .. -- U+1E5EE
"\240\158\151\175" .. -- U+1E5EF
"\240\158\163\144-\240\158\163\150" .. -- U+1E8D0-U+1E8D6
"\240\158\165\132-\240\158\165\138") -- U+1E944-U+1E94A
-- Double combining characters.
-- Charset: [[:M:]&[:Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]]
local comb_chars_double =
"\205\156-\205\162" .. -- U+035C-U+0362
"\225\183\141" .. -- U+1DCD
"\225\183\188" -- U+1DFC
-- Variation selectors etc.; separated out so that we don't get categories for them.
-- Charset: [[:M:]&[[:subhead=Grapheme joiner:][:Variation_Selector=Yes:]]].
local comb_chars_other =
"\205\143" .. -- U+034F
"\225\160\139-\225\160\141" .. -- U+180B-U+180D
"\225\160\143" .. -- U+180F
"\239\184\128-\239\184\143" .. -- U+FE00-U+FE0F
"\243\160\132\128-\243\160\135\175" -- U+E0100-U+E01EF
local comb_chars_all = comb_chars_single .. comb_chars_double .. comb_chars_other
local comb_chars = {
combined_single = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]+%f[^" .. comb_chars_all .. "]",
combined_double = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]*[" .. comb_chars_double .. "]+[" .. comb_chars_all .. "]*.[" .. comb_chars_single .. comb_chars_other .. "]*",
diacritics_single = "[" .. comb_chars_single .. "]",
diacritics_double = "[" .. comb_chars_double .. "]",
diacritics_all = "[" .. comb_chars_all .. "]"
}
-- Somewhat curated list from https://unicode.org/Public/emoji/16.0/emoji-sequences.txt.
-- NOTE: There are lots more emoji sequences involving non-emoji Plane 0 symbols followed by 0xFE0F, which we don't
-- (yet?) handle.
local emoji_chars =
"\226\140\154" .. -- U+231A (⌚)
"\226\140\155" .. -- U+231B (⌛)
"\226\140\168" .. -- U+2328 (⌨)
"\226\143\143" .. -- U+23CF (⏏)
"\226\143\169-\226\143\179" .. -- U+23E9-U+23F3 (⏩-⏳)
"\226\143\184-\226\143\186" .. -- U+23F8-U+23FA (⏸-⏺)
"\226\150\170" .. -- U+25AA (▪)
"\226\150\171" .. -- U+25AB (▫)
"\226\150\182" .. -- U+25B6 (▶)
"\226\151\128" .. -- U+25C0 (◀)
"\226\151\187-\226\151\190" .. -- U+25FB-U+25FE (◻-◾)
"\226\152\128-\226\152\132" .. -- U+2600-U+2604 (☀-☄)
"\226\152\142" .. -- U+260E (☎)
"\226\152\145" .. -- U+2611 (☑)
"\226\152\148" .. -- U+2614 (☔)
"\226\152\149" .. -- U+2615 (☕)
"\226\152\152" .. -- U+2618 (☘)
"\226\152\157" .. -- U+261D (☝)
"\226\152\160" .. -- U+2620 (☠)
"\226\152\162" .. -- U+2622 (☢)
"\226\152\163" .. -- U+2623 (☣)
"\226\152\166" .. -- U+2626 (☦)
"\226\152\170" .. -- U+262A (☪)
"\226\152\174" .. -- U+262E (☮)
"\226\152\175" .. -- U+262F (☯)
"\226\152\184-\226\152\186" .. -- U+2638-U+263A (☸-☺)
"\226\153\136-\226\153\147" .. -- U+2648-U+2653 (♈-♓)
"\226\153\159" .. -- U+265F (♟)
"\226\153\160" .. -- U+2660 (♠)
"\226\153\163" .. -- U+2663 (♣)
"\226\153\165" .. -- U+2665 (♥)
"\226\153\166" .. -- U+2666 (♦)
"\226\153\168" .. -- U+2668 (♨)
"\226\153\187" .. -- U+267B (♻)
"\226\153\190" .. -- U+267E (♾)
"\226\153\191" .. -- U+267F (♿)
"\226\154\146-\226\154\151" .. -- U+2692-U+2697 (⚒-⚗)
"\226\154\153" .. -- U+2699 (⚙)
"\226\154\155" .. -- U+269B (⚛)
"\226\154\156" .. -- U+269C (⚜)
"\226\154\160" .. -- U+26A0 (⚠)
"\226\154\161" .. -- U+26A1 (⚡)
"\226\154\170" .. -- U+26AA (⚪)
"\226\154\171" .. -- U+26AB (⚫)
"\226\154\176" .. -- U+26B0 (⚰)
"\226\154\177" .. -- U+26B1 (⚱)
"\226\154\189" .. -- U+26BD (⚽)
"\226\154\190" .. -- U+26BE (⚾)
"\226\155\132" .. -- U+26C4 (⛄)
"\226\155\133" .. -- U+26C5 (⛅)
"\226\155\136" .. -- U+26C8 (⛈)
"\226\155\142" .. -- U+26CE (⛎)
"\226\155\143" .. -- U+26CF (⛏)
"\226\155\145" .. -- U+26D1 (⛑)
"\226\155\147" .. -- U+26D3 (⛓)
"\226\155\148" .. -- U+26D4 (⛔)
"\226\155\169" .. -- U+26E9 (⛩)
"\226\155\170" .. -- U+26EA (⛪)
"\226\155\176-\226\155\181" .. -- U+26F0-U+26F5 (⛰-⛵)
"\226\155\183-\226\155\186" .. -- U+26F7-U+26FA (⛷-⛺)
"\226\155\189" .. -- U+26FD (⛽)
"\226\156\130" .. -- U+2702 (✂)
"\226\156\133" .. -- U+2705 (✅)
"\226\156\136-\226\156\141" .. -- U+2708-U+270D (✈-✍)
"\226\156\143" .. -- U+270F (✏)
"\226\156\146" .. -- U+2712 (✒)
"\226\156\148" .. -- U+2714 (✔)
"\226\156\150" .. -- U+2716 (✖)
"\226\156\157" .. -- U+271D (✝)
"\226\156\161" .. -- U+2721 (✡)
"\226\156\168" .. -- U+2728 (✨)
"\226\156\179" .. -- U+2733 (✳)
"\226\156\180" .. -- U+2734 (✴)
"\226\157\132" .. -- U+2744 (❄)
"\226\157\135" .. -- U+2747 (❇)
"\226\157\140" .. -- U+274C (❌)
"\226\157\142" .. -- U+274E (❎)
"\226\157\147-\226\157\149" .. -- U+2753-U+2755 (❓-❕)
"\226\157\151" .. -- U+2757 (❗)
"\226\157\163" .. -- U+2763 (❣)
"\226\157\164" .. -- U+2764 (❤)
"\226\158\149-\226\158\151" .. -- U+2795-U+2797 (➕-➗)
"\226\158\161" .. -- U+27A1 (➡)
"\226\158\176" .. -- U+27B0 (➰)
"\226\158\191" .. -- U+27BF (➿)
"\226\164\180" .. -- U+2934 (⤴)
"\226\164\181" .. -- U+2935 (⤵)
"\226\172\133-\226\172\135" .. -- U+2B05-U+2B07 (⬅-⬇)
"\226\172\155" .. -- U+2B1B (⬛)
"\226\172\156" .. -- U+2B1C (⬜)
"\226\173\144" .. -- U+2B50 (⭐)
"\226\173\149" .. -- U+2B55 (⭕)
"\227\128\176" .. -- U+3030 (〰)
"\227\128\189" .. -- U+303D (〽)
"\227\138\151" .. -- U+3297 (㊗)
"\227\138\153" .. -- U+3299 (㊙)
"\240\159\128\132" .. -- U+1F004 (🀄)
"\240\159\131\143" .. -- U+1F0CF (🃏)
"\240\159\133\176" .. -- U+1F170 (🅰)
"\240\159\133\177" .. -- U+1F171 (🅱)
"\240\159\133\190" .. -- U+1F17E (🅾)
"\240\159\133\191" .. -- U+1F17F (🅿)
"\240\159\134\142" .. -- U+1F18E (🆎)
"\240\159\134\145-\240\159\134\154" .. -- U+1F191-U+1F19A (🆑-🆚)
"\240\159\136\129" .. -- U+1F201 (🈁)
"\240\159\136\130" .. -- U+1F202 (🈂)
"\240\159\136\154" .. -- U+1F21A (🈚)
"\240\159\136\175" .. -- U+1F22F (🈯)
"\240\159\136\178-\240\159\136\186" .. -- U+1F232-U+1F23A (🈲-🈺)
"\240\159\137\144" .. -- U+1F250 (🉐)
"\240\159\137\145" .. -- U+1F251 (🉑)
"\240\159\140\128-\240\159\153\143" .. -- U+1F300-U+1F64F (🌀-🙏)
"\240\159\154\128-\240\159\155\151" .. -- U+1F680-U+1F6D7 (🚀-🛗)
"\240\159\155\156-\240\159\155\172" .. -- U+1F6DC-U+1F6EC (🛜-🛬)
"\240\159\155\176-\240\159\155\188" .. -- U+1F6F0-U+1F6FC (🛰-🛼)
"\240\159\159\160-\240\159\159\171" .. -- U+1F7E0-U+1F7EB (🟠-🟫)
"\240\159\159\176" .. -- U+1F7F0 (🟰)
"\240\159\164\140-\240\159\169\147" .. -- U+1F90C-U+1FA53 (🤌-🩓)
"\240\159\169\160-\240\159\169\173" .. -- U+1FA60-U+1FA6D (🩠-🩭)
"\240\159\169\176-\240\159\169\188" .. -- U+1FA70-U+1FA7C (🩰-🩼)
"\240\159\170\128-\240\159\170\137" .. -- U+1FA80-U+1FA89 (🪀-)
"\240\159\170\143-\240\159\171\134" .. -- U+1FA8F-U+1FAC6 (-)
"\240\159\171\142-\240\159\171\156" .. -- U+1FACE-U+1FADC (🫎-)
"\240\159\171\159-\240\159\171\169" .. -- U+1FADF-U+1FAE9 (-)
"\240\159\171\176-\240\159\171\184" -- U+1FAF0-U+1FAF8 (🫰-🫸)
local unsupported_characters
local function get_unsupported_characters()
unsupported_characters, get_unsupported_characters = {}, nil
for k, v in pairs(load_data("Module:links/data").unsupported_characters) do
unsupported_characters[v] = k
end
return unsupported_characters
end
-- The list of unsupported titles and invert it (so the keys are pagenames and values are canonical titles).
local unsupported_titles
local function get_unsupported_titles()
unsupported_titles, get_unsupported_titles = {}, nil
for k, v in pairs(load_data("Module:links/data").unsupported_titles) do
unsupported_titles[v] = k
end
return unsupported_titles
end
-- To save on memory, we only cache names with either non-ASCII characters in them or ASCII characters to be removed or
-- transformed (apostrophe, double quote, hyphen).
local L2_sort_key_cache = {}
function export.get_L2_sort_key(L2)
if L2 == "Rentas bahasa" then
return "\1"
elseif L2 == "Bahasa Melayu" then
return "\2"
elseif match(L2, "^[%z\1-\b\14-!#-&(-,.-\127]+$") then
return L2
end
local sort_key = L2_sort_key_cache[L2]
if sort_key then
return sort_key
end
sort_key = toNFC(ugsub(ugsub(toNFD(L2), "[" .. comb_chars_all .. "'\"ʻʼ]+", ""), "[%s%-]+", " "))
L2_sort_key_cache[L2] = sort_key
return sort_key
end
--[==[
Given a pagename (or {nil} for the current page), create and return a data structure describing the page. The returned
object includes the following fields:
* `comb_chars`: A table containing various Lua character class patterns for different types of combined characters
(those that decompose into multiple characters in the NFD decomposition). The patterns are meant to be used with
{mw.ustring.find()}. The keys are:
** `single`: Single combining characters (character + diacritic), without surrounding brackets;
** `double`: Double combining characters (character + diacritic + character), without surrounding brackets;
** `vs`: Variation selectors, without surrounding brackets;
** `all`: Concatenation of `single` + `double` + `vs`, without surrounding brackets;
** `diacritics_single`: Like `single` but with surrounding brackets;
** `diacritics_double`: Like `double` but with surrounding brackets;
** `diacritics_all`: Like `all` but with surrounding brackets;
** `combined_single`: Lua pattern for matching a spacing character followed by one or more single combining characters;
** `combined_double`: Lua pattern for matching a combination of two spacing characters separated by one or more double
combining characters, possibly also with single combining characters;
* `emoji_pattern`: A Lua character class pattern (including surrounding brackets) that matches emojis. Meant to be used
with {mw.ustring.find()}.
* `L2_list`: Ordered list of L2 headings on the page, with the extra key `n` that gives the length of the list.
* `L2_sections`: Lookup table of L2 headings on the page, where the key is the section number assigned by the preprocessor, and the value is the L2 heading name. Once an invocation has got its actual section number from get_current_L2 in [[Module:pages]], it can use this table to determine its parent L2. TODO: We could expand this to include subsections, to check POS headings are correct etc.
* `unsupported_titles`: Map from pagenames to canonical titles for unsupported-title pages.
* `namespace`: Namespace of the pagename.
* `ns`: Namespace table for the page from mw.site.namespaces (TODO: merge with `namespace` above).
* `full_raw_pagename`: Full version of the '''RAW''' pagename (i.e. unsupported-title pages aren't canonicalized);
including the namespace and the base (portion before the slash).
* `pagename`: Canonicalized subpage portion of the pagename (unsupported-title pages are canonicalized).
* `pagename_with_base`: Same as `pagename` in the main namespace; otherwise, the whole pagename without the namespace.
* `decompose_pagename`: Equivalent of `pagename` in NFD decomposition.
* `pagename_len`: Length of `pagename` in Unicode chars, where combinations of spacing character + decomposed diacritic
are treated as single characters.
* `explode_pagename`: Set of characters found in `pagename`. The keys are characters (where combinations of spacing
character + decomposed diacritic are treated as single characters).
* `encoded_pagename`: FIXME: Document me.
* `pagename_defaultsort`: FIXME: Document me.
* `raw_defaultsort`: FIXME: Document me.
* `wikitext_topic_cat`: FIXME: Document me.
* `wikitext_langname_cat`: FIXME: Document me.
`no_fetch_content` says to not fetch and parse the content or set a DEFAULTSORT sort key, in order to save time on
test and documentation pages that have lots of template invocations that set `|pagename=`. It turns out nearly all the
time of this function is contained in the line `frame:callParserFunction("DEFAULTSORT", data.pagename_defaultsort)`,
so we skip it on test and documentation pages where it accomplishes nothing in any case.
]==]
function export.process_page(pagename, no_fetch_content)
local data = {
comb_chars = comb_chars,
emoji_pattern = "[" .. emoji_chars .. "]",
unsupported_titles = unsupported_titles or get_unsupported_titles()
}
local cats = {}
data.cats = cats
-- We cannot store `raw_title` in `data` because it contains a metatable.
local raw_title
local function bad_pagename()
if not pagename then
error("Internal error: Something wrong, `data.pagename` not specified but current title contains illegal characters")
else
error(format("Bad value for `data.pagename`: '%s', which must not contain illegal characters", pagename))
end
end
if pagename then -- for testing, doc pages, etc.
raw_title = new_title(pagename)
if not raw_title then
bad_pagename()
end
else
raw_title = mw.title.getCurrentTitle()
end
local nsText = raw_title.nsText
local namespace_is_reconstruction = nsText == "Rekonstruksi"
data.namespace = nsText
data.ns = mw.site.namespaces[raw_title.namespace]
local full_raw_pagename = raw_title.fullText
data.full_raw_pagename = full_raw_pagename
local frame = mw.getCurrentFrame()
-- WARNING: `content` may be nil, e.g. if we're substing a template like {{ja-new}} on a not-yet-created page
-- or if the module specifies the subpage as `data.pagename` (which many modules do) and we're in an Appendix
-- or other non-mainspace page. We used to make the latter an error but there are too many modules that do it,
-- and substing on a nonexistent page is totally legit, and we don't actually need to be able to access the
-- content of the page.
local content = not no_fetch_content and raw_title:getContent() or nil
-- Get the pagename.
pagename = physical_to_logical_pagename_if_mammoth(raw_title)
pagename = gsub(pagename, "^Tajuk tidak disokong/(.+)", function(m)
insert(cats, "Tajuk tidak disokong")
local title = (unsupported_titles or get_unsupported_titles())[m]
if title then
return title
end
-- Substitute pairs of "`". Those not used for escaping should be escaped as "`grave`", but might not be,
-- so if a pair don't form a match, the closing "`" should become the opening "`" of the next match attempt.
-- This has to be done manually, instead of using gsub.
local open_pos = find(m, "`")
if not open_pos then
return m
end
title = {sub(m, 1, open_pos - 1)}
while true do
local close_pos = find(m, "`", open_pos + 1)
if not close_pos then
-- Add "`" plus any remaining characters.
insert(title, sub(m, open_pos))
break
end
local escape = sub(m, open_pos, close_pos)
local ch = (unsupported_characters or get_unsupported_characters())[escape]
-- Match found, so substitute the character and move to the first "`" after the match if found, or
-- otherwise return.
if ch then
insert(title, ch)
local nxt_pos = close_pos + 1
open_pos = find(m, "`", nxt_pos)
-- Add any characters between the match and the next "`" or end.
if open_pos then
insert(title, sub(m, nxt_pos, open_pos - 1))
else
insert(title, sub(m, nxt_pos))
break
end
-- Match not found, so make the closing "`" the opening "`" of the next attempt.
else
-- Add the failed match, except for the closing "`".
insert(title, sub(m, open_pos, close_pos - 1))
open_pos = close_pos
end
end
return concat(title)
end)
-- Save pagename, as the local variable will be destructively modified.
data.pagename = pagename
if nsText == "" then
data.pagename_with_base = pagename
else
data.pagename_with_base = raw_title.text
end
-- Decompose the pagename in Unicode normalization form D.
data.decompose_pagename = toNFD(pagename)
-- Explode the current page name into a character table, taking decomposed combining characters into account.
local explode_pagename = {}
local pagename_len = 0
local function explode(char)
explode_pagename[char] = true
pagename_len = pagename_len + 1
return ""
end
pagename = ugsub(pagename, comb_chars.combined_double, explode)
pagename = gsub(ugsub(pagename, comb_chars.combined_single, explode), ".[\128-\191]*", explode)
data.explode_pagename = explode_pagename
data.pagename_len = pagename_len
-- Generate DEFAULTSORT.
data.encoded_pagename = encode_entities(data.pagename)
data.pagename_defaultsort = get_lang("mul"):makeSortKey(data.encoded_pagename)
if not no_fetch_content then
frame:callParserFunction("DEFAULTSORT", data.pagename_defaultsort)
end
data.raw_defaultsort = uupper(raw_title.text)
-- Make `L2_list` and `L2_sections`, note raw wikitext use of {{DEFAULTSORT:}} and {{DISPLAYTITLE:}}, then add categories if any unwanted L1 headings are found, the L2 headings are in the wrong order, or they don't match a canonical language name.
-- Note: HTML comments shouldn't be removed from `content` until after this step, as they can affect the result.
do
local L2_list, L2_list_len, L2_sections = {}, 0, {}
local prev, rc
local new_cats, L2_wrong_order = {}
local function handle_heading(heading)
local level = heading.level
if level > 2 then
return
end
local name = heading:get_name()
-- heading:get_name() will return nil if there are any newline characters in the preprocessed heading name (e.g. from an expanded template). In such cases, the preprocessor section count still increments (since it's calculated pre-expansion), but the heading will fail, so the L2 count shouldn't be incremented.
if name == nil then
return
end
L2_list_len = L2_list_len + 1
L2_list[L2_list_len] = name
L2_sections[heading.section] = name
-- Also add any L1s, since they terminate the preceding L2, but add a maintenance category since it's probably a mistake.
if level == 1 then
new_cats["Laman dengan pengepala L1 tidak dikehendaki"] = true
end
-- Check the heading is in the right order.
-- FIXME: we need a more sophisticated sorting method which handles non-diacritic special characters (e.g. Magɨ).
if prev and not (
L2_wrong_order or
string_compare(export.get_L2_sort_key(prev), export.get_L2_sort_key(name))
) then
new_cats["Laman dengan pengepala bahasa dalam susunan salah"] = true
L2_wrong_order = true
end
-- Check it's a canonical language name.
local canonical_name = name:match("^Bahasa (.+)$")
local valid_heading = name == "Rentas bahasa"
or (
canonical_name ~= nil
and (langnames or get_langnames())[canonical_name] ~= nil
)
if not valid_heading then
new_cats["Laman dengan pengepala bahasa tidak piawai"] = true
end
prev = name
end
local function handle_template(template)
-- Turn off redirect checking except in the Reconstruction namespace because the rc flag is only
-- used in the Reconstruction namespace and the other names are parser functions, which AFAIK can't
-- be redirected to.
local name = template:get_name(nil, not namespace_is_reconstruction and "no_redirect" or nil)
if name == "DEFAULTSORT:" then
new_cats["Laman dengan percanggahan DEFAULTSORT"] = true
elseif name == "DISPLAYTITLE:" then
new_cats["Laman dengan percanggahan DISPLAYTITLE"] = true
elseif name == "reconstructed" then
rc = true
end
end
if content then
for node in parse(content):iterate_nodes() do
local node_class = class_else_type(node)
if node_class == "heading" then
handle_heading(node)
elseif node_class == "template" then
handle_template(node)
elseif node_class == "parameter" then
new_cats["Laman dengan parameter templat bertanda kurung dakap ganda tiga"] = true
end
end
end
L2_list.n = L2_list_len
data.L2_list = L2_list
data.L2_sections = L2_sections
insert(cats, get_category("Laman dengan lema"))
insert(cats, get_category(format("Laman dengan %s lema", L2_list_len)))
for cat in pairs(new_cats) do
insert(cats, get_category(cat))
end
if namespace_is_reconstruction and not rc then
local langname = match(full_raw_pagename, "^Rekonstruksi:([^/]+)/.")
if langname then
insert(cats, get_category("Lema bahasa " .. langname .. " kehilangan Templat:reconstructed"))
end
end
end
------ 4. Parse page for maintenance categories. ------
-- Use of tab characters.
if content and find(content, "\t", 1, true) then
insert(cats, get_category("Laman dengan aksara tab"))
end
-- Unencoded character(s) in title.
local IDS = list_to_set{"⿰", "⿱", "⿲", "⿳", "⿴", "⿵", "⿶", "⿷", "⿸", "⿹", "⿺", "⿻", "", "", "", "", ""}
for char in pairs(explode_pagename) do
if IDS[char] and char ~= data.pagename then
insert(cats, "Perkataan mengandungi aksara tidak dikodkan")
break
end
end
-- Raw wikitext use of a topic or langname category. Also check if any raw sortkeys have been used.
do
local wikitext_topic_cat = {}
local wikitext_langname_cat = {}
local raw_sortkey
-- If a raw sortkey has been found, add it to the relevant table.
-- If there's no table (or the index is just `true`), create one first.
local function add_cat_table(t, lang, sortkey)
local t_lang = t[lang]
if not sortkey then
if not t_lang then
t[lang] = true
end
return
elseif t_lang == true or not t_lang then
t_lang = {}
t[lang] = t_lang
end
t_lang[uupper(decode_entities(sortkey))] = true
end
local function process_category(content, cat, colon, nxt)
local pipe = find(cat, "|", colon + 1, true)
-- Categories cannot end "|]]".
if pipe == #cat then
return
end
local title = new_title(pipe and sub(cat, 1, pipe - 1) or cat)
if not (title and title.namespace == 14) then
return
end
-- Get the sortkey (if any), then canonicalize category title.
local sortkey = pipe and sub(cat, pipe + 1) or nil
cat = title.text
if sortkey then
raw_sortkey = true
-- If the sortkey contains "[", the first "]" of a final "]]]" is treated as part of the sortkey.
if find(sortkey, "[", 1, true) and sub(content, nxt, nxt) == "]" then
sortkey = sortkey .. "]"
end
end
local code = match(cat, "^([%w%-.]+):")
if code then
add_cat_table(wikitext_topic_cat, code, sortkey)
return
end
-- Split by word.
cat = split(cat, " ", true, true)
-- Formerly we looked for the language name anywhere in the category. This is simply wrong
-- because there are no categories like 'Alsatian French lemmas' (only L2 languages
-- have langname categories), but doing it this way wrongly catches things like [[Category:Shapsug Adyghe]]
-- in [[Category:Adyghe entries with language name categories using raw markup]].
local n = #cat - 1
if n <= 0 then
return
end
-- Go from longest to shortest and stop once we've found a language name. Going from shortest
-- to longest or not stopping after a match risks falsely matching (e.g.) German Low German
-- categories as German.
repeat
local name = concat(cat, " ", 1, n)
if "Bahasa " and (langnames or get_langnames())[name] then
add_cat_table(wikitext_langname_cat, name, sortkey)
return
end
n = n - 1
until n == 0
end
if content then
-- Remove comments, then iterate over category links.
content = remove_comments(content, "BOTH")
local head = find(content, "[[", 1, true)
while head do
local close = find(content, "]]", head + 2, true)
if not close then
break
end
-- Make sure there are no intervening "[[" between head and close.
local open = find(content, "[[", head + 2, true)
while open and open < close do
head = open
open = find(content, "[[", head + 2, true)
end
local cat = sub(content, head + 2, close - 1)
-- Locate the colon, and weed out most unwanted links. "[ _\128-\244]*" catches valid whitespace, and ensures any category links using the colon trick are ignored. We match all non-ASCII characters, as there could be multibyte spaces, and mw.title.new will filter out any remaining false-positives; this is a lot faster than running mw.title.new on every link.
local colon = match(cat, "^[ _\128-\244]*[Kk][Aa][Tt][EeGgOoRrIi _\128-\244]*():")
if colon then
process_category(content, cat, colon, close + 2)
end
head = open
end
end
data.wikitext_topic_cat = wikitext_topic_cat
data.wikitext_langname_cat = wikitext_langname_cat
if raw_sortkey then
insert(cats, get_category("Laman dengan kunci isih mentah"))
end
end
return data
end
return export
afdlcg8ctxd8ntgsc94o9crswylev82
376873
376774
2026-09-28T04:21:39Z
Hakimi97
2668
Membatalkan semakan [[Special:Diff/376774|376774]] oleh [[Special:Contributions/SNN95|SNN95]] ([[User talk:SNN95|bincang]]), kembalikan balik "Laman dengan entri" berbanding "Laman dengan lema" buat masa ini sebab pokok kategori belum dikemas kini
376873
Scribunto
text/plain
local export = {}
local languages_module = "Module:languages"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local string_compare_module = "Module:string/compare"
local string_decode_entities_module = "Module:string/decodeEntities"
local string_remove_comments_module = "Module:string/removeComments"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local template_parser_module = "Module:template parser"
local mw = mw
local string = string
local table = table
local ustring = mw.ustring
local concat = table.concat
local find = string.find
local format = string.format
local gsub = string.gsub
local insert = table.insert
local load_data = mw.loadData
local match = string.match
local new_title = mw.title.new
local pairs = pairs
local require = require
local sub = string.sub
local toNFC = ustring.toNFC
local toNFD = ustring.toNFD
local ugsub = ustring.gsub
local function class_else_type(...)
class_else_type = require(template_parser_module).class_else_type
return class_else_type(...)
end
local function decode_entities(...)
decode_entities = require(string_decode_entities_module)
return decode_entities(...)
end
local function encode_entities(...)
encode_entities = require(string_utilities_module).encode_entities
return encode_entities(...)
end
local function get_category(...)
get_category = require(maintenance_category_module).get_category
return get_category(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function list_to_set(...)
list_to_set = require(table_module).listToSet
return list_to_set(...)
end
local function parse(...)
parse = require(template_parser_module).parse
return parse(...)
end
local function remove_comments(...)
remove_comments = require(string_remove_comments_module)
return remove_comments(...)
end
local function physical_to_logical_pagename_if_mammoth(...)
physical_to_logical_pagename_if_mammoth = require(pages_module).physical_to_logical_pagename_if_mammoth
return physical_to_logical_pagename_if_mammoth(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function string_compare(...)
string_compare = require(string_compare_module)
return string_compare(...)
end
local function uupper(...)
uupper = require(string_utilities_module).upper
return uupper(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local langnames
local function get_langnames()
langnames, get_langnames = load_data("Module:languages/canonical names"), nil
return langnames
end
-- Combining character data used when categorising unusual characters. These resolve into two patterns, used to find
-- single combining characters (i.e. character + diacritic(s)) or double combining characters (i.e. character +
-- diacritic(s) + character).
-- Charsets are in the format used by Unicode's UnicodeSet tool: https://util.unicode.org/UnicodeJsps/list-unicodeset.jsp.
-- Single combining characters.
-- Charset: [[:M:]&[:^Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]]
-- Note: concatenating hundreds of lines at once gives an error, so () are used every 150 lines to break it up into chunks.
local comb_chars_single =
("\204\128-\205\142" .. -- U+0300-U+034E
"\205\144-\205\155" .. -- U+0350-U+035B
"\205\163-\205\175" .. -- U+0363-U+036F
"\210\131-\210\137" .. -- U+0483-U+0489
"\214\145-\214\189" .. -- U+0591-U+05BD
"\214\191" .. -- U+05BF
"\215\129" .. -- U+05C1
"\215\130" .. -- U+05C2
"\215\132" .. -- U+05C4
"\215\133" .. -- U+05C5
"\215\135" .. -- U+05C7
"\216\144-\216\154" .. -- U+0610-U+061A
"\217\139-\217\159" .. -- U+064B-U+065F
"\217\176" .. -- U+0670
"\219\150-\219\156" .. -- U+06D6-U+06DC
"\219\159-\219\164" .. -- U+06DF-U+06E4
"\219\167" .. -- U+06E7
"\219\168" .. -- U+06E8
"\219\170-\219\173" .. -- U+06EA-U+06ED
"\220\145" .. -- U+0711
"\220\176-\221\138" .. -- U+0730-U+074A
"\222\166-\222\176" .. -- U+07A6-U+07B0
"\223\171-\223\179" .. -- U+07EB-U+07F3
"\223\189" .. -- U+07FD
"\224\160\150-\224\160\153" .. -- U+0816-U+0819
"\224\160\155-\224\160\163" .. -- U+081B-U+0823
"\224\160\165-\224\160\167" .. -- U+0825-U+0827
"\224\160\169-\224\160\173" .. -- U+0829-U+082D
"\224\161\153-\224\161\155" .. -- U+0859-U+085B
"\224\162\151-\224\162\159" .. -- U+0897-U+089F
"\224\163\138-\224\163\161" .. -- U+08CA-U+08E1
"\224\163\163-\224\164\131" .. -- U+08E3-U+0903
"\224\164\186-\224\164\188" .. -- U+093A-U+093C
"\224\164\190-\224\165\143" .. -- U+093E-U+094F
"\224\165\145-\224\165\151" .. -- U+0951-U+0957
"\224\165\162" .. -- U+0962
"\224\165\163" .. -- U+0963
"\224\166\129-\224\166\131" .. -- U+0981-U+0983
"\224\166\188" .. -- U+09BC
"\224\166\190-\224\167\132" .. -- U+09BE-U+09C4
"\224\167\135" .. -- U+09C7
"\224\167\136" .. -- U+09C8
"\224\167\139-\224\167\141" .. -- U+09CB-U+09CD
"\224\167\151" .. -- U+09D7
"\224\167\162" .. -- U+09E2
"\224\167\163" .. -- U+09E3
"\224\167\190" .. -- U+09FE
"\224\168\129-\224\168\131" .. -- U+0A01-U+0A03
"\224\168\188" .. -- U+0A3C
"\224\168\190-\224\169\130" .. -- U+0A3E-U+0A42
"\224\169\135" .. -- U+0A47
"\224\169\136" .. -- U+0A48
"\224\169\139-\224\169\141" .. -- U+0A4B-U+0A4D
"\224\169\145" .. -- U+0A51
"\224\169\176" .. -- U+0A70
"\224\169\177" .. -- U+0A71
"\224\169\181" .. -- U+0A75
"\224\170\129-\224\170\131" .. -- U+0A81-U+0A83
"\224\170\188" .. -- U+0ABC
"\224\170\190-\224\171\133" .. -- U+0ABE-U+0AC5
"\224\171\135-\224\171\137" .. -- U+0AC7-U+0AC9
"\224\171\139-\224\171\141" .. -- U+0ACB-U+0ACD
"\224\171\162" .. -- U+0AE2
"\224\171\163" .. -- U+0AE3
"\224\171\186-\224\171\191" .. -- U+0AFA-U+0AFF
"\224\172\129-\224\172\131" .. -- U+0B01-U+0B03
"\224\172\188" .. -- U+0B3C
"\224\172\190-\224\173\132" .. -- U+0B3E-U+0B44
"\224\173\135" .. -- U+0B47
"\224\173\136" .. -- U+0B48
"\224\173\139-\224\173\141" .. -- U+0B4B-U+0B4D
"\224\173\149-\224\173\151" .. -- U+0B55-U+0B57
"\224\173\162" .. -- U+0B62
"\224\173\163" .. -- U+0B63
"\224\174\130" .. -- U+0B82
"\224\174\190-\224\175\130" .. -- U+0BBE-U+0BC2
"\224\175\134-\224\175\136" .. -- U+0BC6-U+0BC8
"\224\175\138-\224\175\141" .. -- U+0BCA-U+0BCD
"\224\175\151" .. -- U+0BD7
"\224\176\128-\224\176\132" .. -- U+0C00-U+0C04
"\224\176\188" .. -- U+0C3C
"\224\176\190-\224\177\132" .. -- U+0C3E-U+0C44
"\224\177\134-\224\177\136" .. -- U+0C46-U+0C48
"\224\177\138-\224\177\141" .. -- U+0C4A-U+0C4D
"\224\177\149" .. -- U+0C55
"\224\177\150" .. -- U+0C56
"\224\177\162" .. -- U+0C62
"\224\177\163" .. -- U+0C63
"\224\178\129-\224\178\131" .. -- U+0C81-U+0C83
"\224\178\188" .. -- U+0CBC
"\224\178\190-\224\179\132" .. -- U+0CBE-U+0CC4
"\224\179\134-\224\179\136" .. -- U+0CC6-U+0CC8
"\224\179\138-\224\179\141" .. -- U+0CCA-U+0CCD
"\224\179\149" .. -- U+0CD5
"\224\179\150" .. -- U+0CD6
"\224\179\162" .. -- U+0CE2
"\224\179\163" .. -- U+0CE3
"\224\179\179" .. -- U+0CF3
"\224\180\128-\224\180\131" .. -- U+0D00-U+0D03
"\224\180\187" .. -- U+0D3B
"\224\180\188" .. -- U+0D3C
"\224\180\190-\224\181\132" .. -- U+0D3E-U+0D44
"\224\181\134-\224\181\136" .. -- U+0D46-U+0D48
"\224\181\138-\224\181\141" .. -- U+0D4A-U+0D4D
"\224\181\151" .. -- U+0D57
"\224\181\162" .. -- U+0D62
"\224\181\163" .. -- U+0D63
"\224\182\129-\224\182\131" .. -- U+0D81-U+0D83
"\224\183\138" .. -- U+0DCA
"\224\183\143-\224\183\148" .. -- U+0DCF-U+0DD4
"\224\183\150" .. -- U+0DD6
"\224\183\152-\224\183\159" .. -- U+0DD8-U+0DDF
"\224\183\178" .. -- U+0DF2
"\224\183\179" .. -- U+0DF3
"\224\184\177" .. -- U+0E31
"\224\184\180-\224\184\186" .. -- U+0E34-U+0E3A
"\224\185\135-\224\185\142" .. -- U+0E47-U+0E4E
"\224\186\177" .. -- U+0EB1
"\224\186\180-\224\186\188" .. -- U+0EB4-U+0EBC
"\224\187\136-\224\187\142" .. -- U+0EC8-U+0ECE
"\224\188\152" .. -- U+0F18
"\224\188\153" .. -- U+0F19
"\224\188\181" .. -- U+0F35
"\224\188\183" .. -- U+0F37
"\224\188\185" .. -- U+0F39
"\224\188\190" .. -- U+0F3E
"\224\188\191" .. -- U+0F3F
"\224\189\177-\224\190\132" .. -- U+0F71-U+0F84
"\224\190\134" .. -- U+0F86
"\224\190\135" .. -- U+0F87
"\224\190\141-\224\190\151" .. -- U+0F8D-U+0F97
"\224\190\153-\224\190\188" .. -- U+0F99-U+0FBC
"\224\191\134" .. -- U+0FC6
"\225\128\171-\225\128\190" .. -- U+102B-U+103E
"\225\129\150-\225\129\153" .. -- U+1056-U+1059
"\225\129\158-\225\129\160" .. -- U+105E-U+1060
"\225\129\162-\225\129\164" .. -- U+1062-U+1064
"\225\129\167-\225\129\173" .. -- U+1067-U+106D
"\225\129\177-\225\129\180" .. -- U+1071-U+1074
"\225\130\130-\225\130\141" .. -- U+1082-U+108D
"\225\130\143" .. -- U+108F
"\225\130\154-\225\130\157" .. -- U+109A-U+109D
"\225\141\157-\225\141\159" .. -- U+135D-U+135F
"\225\156\146-\225\156\149" .. -- U+1712-U+1715
"\225\156\178-\225\156\180" .. -- U+1732-U+1734
"\225\157\146" .. -- U+1752
"\225\157\147" .. -- U+1753
"\225\157\178" .. -- U+1772
"\225\157\179" .. -- U+1773
"\225\158\180-\225\159\147") .. -- U+17B4-U+17D3
("\225\159\157" .. -- U+17DD
"\225\162\133" .. -- U+1885
"\225\162\134" .. -- U+1886
"\225\162\169" .. -- U+18A9
"\225\164\160-\225\164\171" .. -- U+1920-U+192B
"\225\164\176-\225\164\187" .. -- U+1930-U+193B
"\225\168\151-\225\168\155" .. -- U+1A17-U+1A1B
"\225\169\149-\225\169\158" .. -- U+1A55-U+1A5E
"\225\169\160-\225\169\188" .. -- U+1A60-U+1A7C
"\225\169\191" .. -- U+1A7F
"\225\170\176-\225\171\142" .. -- U+1AB0-U+1ACE
"\225\172\128-\225\172\132" .. -- U+1B00-U+1B04
"\225\172\180-\225\173\132" .. -- U+1B34-U+1B44
"\225\173\171-\225\173\179" .. -- U+1B6B-U+1B73
"\225\174\128-\225\174\130" .. -- U+1B80-U+1B82
"\225\174\161-\225\174\173" .. -- U+1BA1-U+1BAD
"\225\175\166-\225\175\179" .. -- U+1BE6-U+1BF3
"\225\176\164-\225\176\183" .. -- U+1C24-U+1C37
"\225\179\144-\225\179\146" .. -- U+1CD0-U+1CD2
"\225\179\148-\225\179\168" .. -- U+1CD4-U+1CE8
"\225\179\173" .. -- U+1CED
"\225\179\180" .. -- U+1CF4
"\225\179\183-\225\179\185" .. -- U+1CF7-U+1CF9
"\225\183\128-\225\183\140" .. -- U+1DC0-U+1DCC
"\225\183\142-\225\183\187" .. -- U+1DCE-U+1DFB
"\225\183\189-\225\183\191" .. -- U+1DFD-U+1DFF
"\226\131\144-\226\131\176" .. -- U+20D0-U+20F0
"\226\179\175-\226\179\177" .. -- U+2CEF-U+2CF1
"\226\181\191" .. -- U+2D7F
"\226\183\160-\226\183\191" .. -- U+2DE0-U+2DFF
"\227\128\170-\227\128\175" .. -- U+302A-U+302F
"\227\130\153" .. -- U+3099
"\227\130\154" .. -- U+309A
"\234\153\175-\234\153\178" .. -- U+A66F-U+A672
"\234\153\180-\234\153\189" .. -- U+A674-U+A67D
"\234\154\158" .. -- U+A69E
"\234\154\159" .. -- U+A69F
"\234\155\176" .. -- U+A6F0
"\234\155\177" .. -- U+A6F1
"\234\160\130" .. -- U+A802
"\234\160\134" .. -- U+A806
"\234\160\139" .. -- U+A80B
"\234\160\163-\234\160\167" .. -- U+A823-U+A827
"\234\160\172" .. -- U+A82C
"\234\162\128" .. -- U+A880
"\234\162\129" .. -- U+A881
"\234\162\180-\234\163\133" .. -- U+A8B4-U+A8C5
"\234\163\160-\234\163\177" .. -- U+A8E0-U+A8F1
"\234\163\191" .. -- U+A8FF
"\234\164\166-\234\164\173" .. -- U+A926-U+A92D
"\234\165\135-\234\165\147" .. -- U+A947-U+A953
"\234\166\128-\234\166\131" .. -- U+A980-U+A983
"\234\166\179-\234\167\128" .. -- U+A9B3-U+A9C0
"\234\167\165" .. -- U+A9E5
"\234\168\169-\234\168\182" .. -- U+AA29-U+AA36
"\234\169\131" .. -- U+AA43
"\234\169\140" .. -- U+AA4C
"\234\169\141" .. -- U+AA4D
"\234\169\187-\234\169\189" .. -- U+AA7B-U+AA7D
"\234\170\176" .. -- U+AAB0
"\234\170\178-\234\170\180" .. -- U+AAB2-U+AAB4
"\234\170\183" .. -- U+AAB7
"\234\170\184" .. -- U+AAB8
"\234\170\190" .. -- U+AABE
"\234\170\191" .. -- U+AABF
"\234\171\129" .. -- U+AAC1
"\234\171\171-\234\171\175" .. -- U+AAEB-U+AAEF
"\234\171\181" .. -- U+AAF5
"\234\171\182" .. -- U+AAF6
"\234\175\163-\234\175\170" .. -- U+ABE3-U+ABEA
"\234\175\172" .. -- U+ABEC
"\234\175\173" .. -- U+ABED
"\239\172\158" .. -- U+FB1E
"\239\184\160-\239\184\175" .. -- U+FE20-U+FE2F
"\240\144\135\189" .. -- U+101FD
"\240\144\139\160" .. -- U+102E0
"\240\144\141\182-\240\144\141\186" .. -- U+10376-U+1037A
"\240\144\168\129-\240\144\168\131" .. -- U+10A01-U+10A03
"\240\144\168\133" .. -- U+10A05
"\240\144\168\134" .. -- U+10A06
"\240\144\168\140-\240\144\168\143" .. -- U+10A0C-U+10A0F
"\240\144\168\184-\240\144\168\186" .. -- U+10A38-U+10A3A
"\240\144\168\191" .. -- U+10A3F
"\240\144\171\165" .. -- U+10AE5
"\240\144\171\166" .. -- U+10AE6
"\240\144\180\164-\240\144\180\167" .. -- U+10D24-U+10D27
"\240\144\181\169-\240\144\181\173" .. -- U+10D69-U+10D6D
"\240\144\186\171" .. -- U+10EAB
"\240\144\186\172" .. -- U+10EAC
"\240\144\187\188-\240\144\187\191" .. -- U+10EFC-U+10EFF
"\240\144\189\134-\240\144\189\144" .. -- U+10F46-U+10F50
"\240\144\190\130-\240\144\190\133" .. -- U+10F82-U+10F85
"\240\145\128\128-\240\145\128\130" .. -- U+11000-U+11002
"\240\145\128\184-\240\145\129\134" .. -- U+11038-U+11046
"\240\145\129\176" .. -- U+11070
"\240\145\129\179" .. -- U+11073
"\240\145\129\180" .. -- U+11074
"\240\145\129\191-\240\145\130\130" .. -- U+1107F-U+11082
"\240\145\130\176-\240\145\130\186" .. -- U+110B0-U+110BA
"\240\145\131\130" .. -- U+110C2
"\240\145\132\128-\240\145\132\130" .. -- U+11100-U+11102
"\240\145\132\167-\240\145\132\180" .. -- U+11127-U+11134
"\240\145\133\133" .. -- U+11145
"\240\145\133\134" .. -- U+11146
"\240\145\133\179" .. -- U+11173
"\240\145\134\128-\240\145\134\130" .. -- U+11180-U+11182
"\240\145\134\179-\240\145\135\128" .. -- U+111B3-U+111C0
"\240\145\135\137-\240\145\135\140" .. -- U+111C9-U+111CC
"\240\145\135\142" .. -- U+111CE
"\240\145\135\143" .. -- U+111CF
"\240\145\136\172-\240\145\136\183" .. -- U+1122C-U+11237
"\240\145\136\190" .. -- U+1123E
"\240\145\137\129" .. -- U+11241
"\240\145\139\159-\240\145\139\170" .. -- U+112DF-U+112EA
"\240\145\140\128-\240\145\140\131" .. -- U+11300-U+11303
"\240\145\140\187" .. -- U+1133B
"\240\145\140\188" .. -- U+1133C
"\240\145\140\190-\240\145\141\132" .. -- U+1133E-U+11344
"\240\145\141\135" .. -- U+11347
"\240\145\141\136" .. -- U+11348
"\240\145\141\139-\240\145\141\141" .. -- U+1134B-U+1134D
"\240\145\141\151" .. -- U+11357
"\240\145\141\162" .. -- U+11362
"\240\145\141\163" .. -- U+11363
"\240\145\141\166-\240\145\141\172" .. -- U+11366-U+1136C
"\240\145\141\176-\240\145\141\180" .. -- U+11370-U+11374
"\240\145\142\184-\240\145\143\128" .. -- U+113B8-U+113C0
"\240\145\143\130" .. -- U+113C2
"\240\145\143\133" .. -- U+113C5
"\240\145\143\135-\240\145\143\138" .. -- U+113C7-U+113CA
"\240\145\143\140-\240\145\143\144" .. -- U+113CC-U+113D0
"\240\145\143\146" .. -- U+113D2
"\240\145\143\161" .. -- U+113E1
"\240\145\143\162" .. -- U+113E2
"\240\145\144\181-\240\145\145\134" .. -- U+11435-U+11446
"\240\145\145\158" .. -- U+1145E
"\240\145\146\176-\240\145\147\131" .. -- U+114B0-U+114C3
"\240\145\150\175-\240\145\150\181" .. -- U+115AF-U+115B5
"\240\145\150\184-\240\145\151\128" .. -- U+115B8-U+115C0
"\240\145\151\156" .. -- U+115DC
"\240\145\151\157" .. -- U+115DD
"\240\145\152\176-\240\145\153\128" .. -- U+11630-U+11640
"\240\145\154\171-\240\145\154\183" .. -- U+116AB-U+116B7
"\240\145\156\157-\240\145\156\171" .. -- U+1171D-U+1172B
"\240\145\160\172-\240\145\160\186" .. -- U+1182C-U+1183A
"\240\145\164\176-\240\145\164\181" .. -- U+11930-U+11935
"\240\145\164\183" .. -- U+11937
"\240\145\164\184" .. -- U+11938
"\240\145\164\187-\240\145\164\190" .. -- U+1193B-U+1193E
"\240\145\165\128") .. -- U+11940
("\240\145\165\130" .. -- U+11942
"\240\145\165\131" .. -- U+11943
"\240\145\167\145-\240\145\167\151" .. -- U+119D1-U+119D7
"\240\145\167\154-\240\145\167\160" .. -- U+119DA-U+119E0
"\240\145\167\164" .. -- U+119E4
"\240\145\168\129-\240\145\168\138" .. -- U+11A01-U+11A0A
"\240\145\168\179-\240\145\168\185" .. -- U+11A33-U+11A39
"\240\145\168\187-\240\145\168\190" .. -- U+11A3B-U+11A3E
"\240\145\169\135" .. -- U+11A47
"\240\145\169\145-\240\145\169\155" .. -- U+11A51-U+11A5B
"\240\145\170\138-\240\145\170\153" .. -- U+11A8A-U+11A99
"\240\145\176\175-\240\145\176\182" .. -- U+11C2F-U+11C36
"\240\145\176\184-\240\145\176\191" .. -- U+11C38-U+11C3F
"\240\145\178\146-\240\145\178\167" .. -- U+11C92-U+11CA7
"\240\145\178\169-\240\145\178\182" .. -- U+11CA9-U+11CB6
"\240\145\180\177-\240\145\180\182" .. -- U+11D31-U+11D36
"\240\145\180\186" .. -- U+11D3A
"\240\145\180\188" .. -- U+11D3C
"\240\145\180\189" .. -- U+11D3D
"\240\145\180\191-\240\145\181\133" .. -- U+11D3F-U+11D45
"\240\145\181\135" .. -- U+11D47
"\240\145\182\138-\240\145\182\142" .. -- U+11D8A-U+11D8E
"\240\145\182\144" .. -- U+11D90
"\240\145\182\145" .. -- U+11D91
"\240\145\182\147-\240\145\182\151" .. -- U+11D93-U+11D97
"\240\145\187\179-\240\145\187\182" .. -- U+11EF3-U+11EF6
"\240\145\188\128" .. -- U+11F00
"\240\145\188\129" .. -- U+11F01
"\240\145\188\131" .. -- U+11F03
"\240\145\188\180-\240\145\188\186" .. -- U+11F34-U+11F3A
"\240\145\188\190-\240\145\189\130" .. -- U+11F3E-U+11F42
"\240\145\189\154" .. -- U+11F5A
"\240\147\145\128" .. -- U+13440
"\240\147\145\135-\240\147\145\149" .. -- U+13447-U+13455
"\240\150\132\158-\240\150\132\175" .. -- U+1611E-U+1612F
"\240\150\171\176-\240\150\171\180" .. -- U+16AF0-U+16AF4
"\240\150\172\176-\240\150\172\182" .. -- U+16B30-U+16B36
"\240\150\189\143" .. -- U+16F4F
"\240\150\189\145-\240\150\190\135" .. -- U+16F51-U+16F87
"\240\150\190\143-\240\150\190\146" .. -- U+16F8F-U+16F92
"\240\150\191\164" .. -- U+16FE4
"\240\150\191\176" .. -- U+16FF0
"\240\150\191\177" .. -- U+16FF1
"\240\155\178\157" .. -- U+1BC9D
"\240\155\178\158" .. -- U+1BC9E
"\240\156\188\128-\240\156\188\173" .. -- U+1CF00-U+1CF2D
"\240\156\188\176-\240\156\189\134" .. -- U+1CF30-U+1CF46
"\240\157\133\165-\240\157\133\169" .. -- U+1D165-U+1D169
"\240\157\133\173-\240\157\133\178" .. -- U+1D16D-U+1D172
"\240\157\133\187-\240\157\134\130" .. -- U+1D17B-U+1D182
"\240\157\134\133-\240\157\134\139" .. -- U+1D185-U+1D18B
"\240\157\134\170-\240\157\134\173" .. -- U+1D1AA-U+1D1AD
"\240\157\137\130-\240\157\137\132" .. -- U+1D242-U+1D244
"\240\157\168\128-\240\157\168\182" .. -- U+1DA00-U+1DA36
"\240\157\168\187-\240\157\169\172" .. -- U+1DA3B-U+1DA6C
"\240\157\169\181" .. -- U+1DA75
"\240\157\170\132" .. -- U+1DA84
"\240\157\170\155-\240\157\170\159" .. -- U+1DA9B-U+1DA9F
"\240\157\170\161-\240\157\170\175" .. -- U+1DAA1-U+1DAAF
"\240\158\128\128-\240\158\128\134" .. -- U+1E000-U+1E006
"\240\158\128\136-\240\158\128\152" .. -- U+1E008-U+1E018
"\240\158\128\155-\240\158\128\161" .. -- U+1E01B-U+1E021
"\240\158\128\163" .. -- U+1E023
"\240\158\128\164" .. -- U+1E024
"\240\158\128\166-\240\158\128\170" .. -- U+1E026-U+1E02A
"\240\158\130\143" .. -- U+1E08F
"\240\158\132\176-\240\158\132\182" .. -- U+1E130-U+1E136
"\240\158\138\174" .. -- U+1E2AE
"\240\158\139\172-\240\158\139\175" .. -- U+1E2EC-U+1E2EF
"\240\158\147\172-\240\158\147\175" .. -- U+1E4EC-U+1E4EF
"\240\158\151\174" .. -- U+1E5EE
"\240\158\151\175" .. -- U+1E5EF
"\240\158\163\144-\240\158\163\150" .. -- U+1E8D0-U+1E8D6
"\240\158\165\132-\240\158\165\138") -- U+1E944-U+1E94A
-- Double combining characters.
-- Charset: [[:M:]&[:Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]]
local comb_chars_double =
"\205\156-\205\162" .. -- U+035C-U+0362
"\225\183\141" .. -- U+1DCD
"\225\183\188" -- U+1DFC
-- Variation selectors etc.; separated out so that we don't get categories for them.
-- Charset: [[:M:]&[[:subhead=Grapheme joiner:][:Variation_Selector=Yes:]]].
local comb_chars_other =
"\205\143" .. -- U+034F
"\225\160\139-\225\160\141" .. -- U+180B-U+180D
"\225\160\143" .. -- U+180F
"\239\184\128-\239\184\143" .. -- U+FE00-U+FE0F
"\243\160\132\128-\243\160\135\175" -- U+E0100-U+E01EF
local comb_chars_all = comb_chars_single .. comb_chars_double .. comb_chars_other
local comb_chars = {
combined_single = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]+%f[^" .. comb_chars_all .. "]",
combined_double = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]*[" .. comb_chars_double .. "]+[" .. comb_chars_all .. "]*.[" .. comb_chars_single .. comb_chars_other .. "]*",
diacritics_single = "[" .. comb_chars_single .. "]",
diacritics_double = "[" .. comb_chars_double .. "]",
diacritics_all = "[" .. comb_chars_all .. "]"
}
-- Somewhat curated list from https://unicode.org/Public/emoji/16.0/emoji-sequences.txt.
-- NOTE: There are lots more emoji sequences involving non-emoji Plane 0 symbols followed by 0xFE0F, which we don't
-- (yet?) handle.
local emoji_chars =
"\226\140\154" .. -- U+231A (⌚)
"\226\140\155" .. -- U+231B (⌛)
"\226\140\168" .. -- U+2328 (⌨)
"\226\143\143" .. -- U+23CF (⏏)
"\226\143\169-\226\143\179" .. -- U+23E9-U+23F3 (⏩-⏳)
"\226\143\184-\226\143\186" .. -- U+23F8-U+23FA (⏸-⏺)
"\226\150\170" .. -- U+25AA (▪)
"\226\150\171" .. -- U+25AB (▫)
"\226\150\182" .. -- U+25B6 (▶)
"\226\151\128" .. -- U+25C0 (◀)
"\226\151\187-\226\151\190" .. -- U+25FB-U+25FE (◻-◾)
"\226\152\128-\226\152\132" .. -- U+2600-U+2604 (☀-☄)
"\226\152\142" .. -- U+260E (☎)
"\226\152\145" .. -- U+2611 (☑)
"\226\152\148" .. -- U+2614 (☔)
"\226\152\149" .. -- U+2615 (☕)
"\226\152\152" .. -- U+2618 (☘)
"\226\152\157" .. -- U+261D (☝)
"\226\152\160" .. -- U+2620 (☠)
"\226\152\162" .. -- U+2622 (☢)
"\226\152\163" .. -- U+2623 (☣)
"\226\152\166" .. -- U+2626 (☦)
"\226\152\170" .. -- U+262A (☪)
"\226\152\174" .. -- U+262E (☮)
"\226\152\175" .. -- U+262F (☯)
"\226\152\184-\226\152\186" .. -- U+2638-U+263A (☸-☺)
"\226\153\136-\226\153\147" .. -- U+2648-U+2653 (♈-♓)
"\226\153\159" .. -- U+265F (♟)
"\226\153\160" .. -- U+2660 (♠)
"\226\153\163" .. -- U+2663 (♣)
"\226\153\165" .. -- U+2665 (♥)
"\226\153\166" .. -- U+2666 (♦)
"\226\153\168" .. -- U+2668 (♨)
"\226\153\187" .. -- U+267B (♻)
"\226\153\190" .. -- U+267E (♾)
"\226\153\191" .. -- U+267F (♿)
"\226\154\146-\226\154\151" .. -- U+2692-U+2697 (⚒-⚗)
"\226\154\153" .. -- U+2699 (⚙)
"\226\154\155" .. -- U+269B (⚛)
"\226\154\156" .. -- U+269C (⚜)
"\226\154\160" .. -- U+26A0 (⚠)
"\226\154\161" .. -- U+26A1 (⚡)
"\226\154\170" .. -- U+26AA (⚪)
"\226\154\171" .. -- U+26AB (⚫)
"\226\154\176" .. -- U+26B0 (⚰)
"\226\154\177" .. -- U+26B1 (⚱)
"\226\154\189" .. -- U+26BD (⚽)
"\226\154\190" .. -- U+26BE (⚾)
"\226\155\132" .. -- U+26C4 (⛄)
"\226\155\133" .. -- U+26C5 (⛅)
"\226\155\136" .. -- U+26C8 (⛈)
"\226\155\142" .. -- U+26CE (⛎)
"\226\155\143" .. -- U+26CF (⛏)
"\226\155\145" .. -- U+26D1 (⛑)
"\226\155\147" .. -- U+26D3 (⛓)
"\226\155\148" .. -- U+26D4 (⛔)
"\226\155\169" .. -- U+26E9 (⛩)
"\226\155\170" .. -- U+26EA (⛪)
"\226\155\176-\226\155\181" .. -- U+26F0-U+26F5 (⛰-⛵)
"\226\155\183-\226\155\186" .. -- U+26F7-U+26FA (⛷-⛺)
"\226\155\189" .. -- U+26FD (⛽)
"\226\156\130" .. -- U+2702 (✂)
"\226\156\133" .. -- U+2705 (✅)
"\226\156\136-\226\156\141" .. -- U+2708-U+270D (✈-✍)
"\226\156\143" .. -- U+270F (✏)
"\226\156\146" .. -- U+2712 (✒)
"\226\156\148" .. -- U+2714 (✔)
"\226\156\150" .. -- U+2716 (✖)
"\226\156\157" .. -- U+271D (✝)
"\226\156\161" .. -- U+2721 (✡)
"\226\156\168" .. -- U+2728 (✨)
"\226\156\179" .. -- U+2733 (✳)
"\226\156\180" .. -- U+2734 (✴)
"\226\157\132" .. -- U+2744 (❄)
"\226\157\135" .. -- U+2747 (❇)
"\226\157\140" .. -- U+274C (❌)
"\226\157\142" .. -- U+274E (❎)
"\226\157\147-\226\157\149" .. -- U+2753-U+2755 (❓-❕)
"\226\157\151" .. -- U+2757 (❗)
"\226\157\163" .. -- U+2763 (❣)
"\226\157\164" .. -- U+2764 (❤)
"\226\158\149-\226\158\151" .. -- U+2795-U+2797 (➕-➗)
"\226\158\161" .. -- U+27A1 (➡)
"\226\158\176" .. -- U+27B0 (➰)
"\226\158\191" .. -- U+27BF (➿)
"\226\164\180" .. -- U+2934 (⤴)
"\226\164\181" .. -- U+2935 (⤵)
"\226\172\133-\226\172\135" .. -- U+2B05-U+2B07 (⬅-⬇)
"\226\172\155" .. -- U+2B1B (⬛)
"\226\172\156" .. -- U+2B1C (⬜)
"\226\173\144" .. -- U+2B50 (⭐)
"\226\173\149" .. -- U+2B55 (⭕)
"\227\128\176" .. -- U+3030 (〰)
"\227\128\189" .. -- U+303D (〽)
"\227\138\151" .. -- U+3297 (㊗)
"\227\138\153" .. -- U+3299 (㊙)
"\240\159\128\132" .. -- U+1F004 (🀄)
"\240\159\131\143" .. -- U+1F0CF (🃏)
"\240\159\133\176" .. -- U+1F170 (🅰)
"\240\159\133\177" .. -- U+1F171 (🅱)
"\240\159\133\190" .. -- U+1F17E (🅾)
"\240\159\133\191" .. -- U+1F17F (🅿)
"\240\159\134\142" .. -- U+1F18E (🆎)
"\240\159\134\145-\240\159\134\154" .. -- U+1F191-U+1F19A (🆑-🆚)
"\240\159\136\129" .. -- U+1F201 (🈁)
"\240\159\136\130" .. -- U+1F202 (🈂)
"\240\159\136\154" .. -- U+1F21A (🈚)
"\240\159\136\175" .. -- U+1F22F (🈯)
"\240\159\136\178-\240\159\136\186" .. -- U+1F232-U+1F23A (🈲-🈺)
"\240\159\137\144" .. -- U+1F250 (🉐)
"\240\159\137\145" .. -- U+1F251 (🉑)
"\240\159\140\128-\240\159\153\143" .. -- U+1F300-U+1F64F (🌀-🙏)
"\240\159\154\128-\240\159\155\151" .. -- U+1F680-U+1F6D7 (🚀-🛗)
"\240\159\155\156-\240\159\155\172" .. -- U+1F6DC-U+1F6EC (🛜-🛬)
"\240\159\155\176-\240\159\155\188" .. -- U+1F6F0-U+1F6FC (🛰-🛼)
"\240\159\159\160-\240\159\159\171" .. -- U+1F7E0-U+1F7EB (🟠-🟫)
"\240\159\159\176" .. -- U+1F7F0 (🟰)
"\240\159\164\140-\240\159\169\147" .. -- U+1F90C-U+1FA53 (🤌-🩓)
"\240\159\169\160-\240\159\169\173" .. -- U+1FA60-U+1FA6D (🩠-🩭)
"\240\159\169\176-\240\159\169\188" .. -- U+1FA70-U+1FA7C (🩰-🩼)
"\240\159\170\128-\240\159\170\137" .. -- U+1FA80-U+1FA89 (🪀-)
"\240\159\170\143-\240\159\171\134" .. -- U+1FA8F-U+1FAC6 (-)
"\240\159\171\142-\240\159\171\156" .. -- U+1FACE-U+1FADC (🫎-)
"\240\159\171\159-\240\159\171\169" .. -- U+1FADF-U+1FAE9 (-)
"\240\159\171\176-\240\159\171\184" -- U+1FAF0-U+1FAF8 (🫰-🫸)
local unsupported_characters
local function get_unsupported_characters()
unsupported_characters, get_unsupported_characters = {}, nil
for k, v in pairs(load_data("Module:links/data").unsupported_characters) do
unsupported_characters[v] = k
end
return unsupported_characters
end
-- The list of unsupported titles and invert it (so the keys are pagenames and values are canonical titles).
local unsupported_titles
local function get_unsupported_titles()
unsupported_titles, get_unsupported_titles = {}, nil
for k, v in pairs(load_data("Module:links/data").unsupported_titles) do
unsupported_titles[v] = k
end
return unsupported_titles
end
-- To save on memory, we only cache names with either non-ASCII characters in them or ASCII characters to be removed or
-- transformed (apostrophe, double quote, hyphen).
local L2_sort_key_cache = {}
function export.get_L2_sort_key(L2)
if L2 == "Rentas bahasa" then
return "\1"
elseif L2 == "Bahasa Melayu" then
return "\2"
elseif match(L2, "^[%z\1-\b\14-!#-&(-,.-\127]+$") then
return L2
end
local sort_key = L2_sort_key_cache[L2]
if sort_key then
return sort_key
end
sort_key = toNFC(ugsub(ugsub(toNFD(L2), "[" .. comb_chars_all .. "'\"ʻʼ]+", ""), "[%s%-]+", " "))
L2_sort_key_cache[L2] = sort_key
return sort_key
end
--[==[
Given a pagename (or {nil} for the current page), create and return a data structure describing the page. The returned
object includes the following fields:
* `comb_chars`: A table containing various Lua character class patterns for different types of combined characters
(those that decompose into multiple characters in the NFD decomposition). The patterns are meant to be used with
{mw.ustring.find()}. The keys are:
** `single`: Single combining characters (character + diacritic), without surrounding brackets;
** `double`: Double combining characters (character + diacritic + character), without surrounding brackets;
** `vs`: Variation selectors, without surrounding brackets;
** `all`: Concatenation of `single` + `double` + `vs`, without surrounding brackets;
** `diacritics_single`: Like `single` but with surrounding brackets;
** `diacritics_double`: Like `double` but with surrounding brackets;
** `diacritics_all`: Like `all` but with surrounding brackets;
** `combined_single`: Lua pattern for matching a spacing character followed by one or more single combining characters;
** `combined_double`: Lua pattern for matching a combination of two spacing characters separated by one or more double
combining characters, possibly also with single combining characters;
* `emoji_pattern`: A Lua character class pattern (including surrounding brackets) that matches emojis. Meant to be used
with {mw.ustring.find()}.
* `L2_list`: Ordered list of L2 headings on the page, with the extra key `n` that gives the length of the list.
* `L2_sections`: Lookup table of L2 headings on the page, where the key is the section number assigned by the preprocessor, and the value is the L2 heading name. Once an invocation has got its actual section number from get_current_L2 in [[Module:pages]], it can use this table to determine its parent L2. TODO: We could expand this to include subsections, to check POS headings are correct etc.
* `unsupported_titles`: Map from pagenames to canonical titles for unsupported-title pages.
* `namespace`: Namespace of the pagename.
* `ns`: Namespace table for the page from mw.site.namespaces (TODO: merge with `namespace` above).
* `full_raw_pagename`: Full version of the '''RAW''' pagename (i.e. unsupported-title pages aren't canonicalized);
including the namespace and the base (portion before the slash).
* `pagename`: Canonicalized subpage portion of the pagename (unsupported-title pages are canonicalized).
* `pagename_with_base`: Same as `pagename` in the main namespace; otherwise, the whole pagename without the namespace.
* `decompose_pagename`: Equivalent of `pagename` in NFD decomposition.
* `pagename_len`: Length of `pagename` in Unicode chars, where combinations of spacing character + decomposed diacritic
are treated as single characters.
* `explode_pagename`: Set of characters found in `pagename`. The keys are characters (where combinations of spacing
character + decomposed diacritic are treated as single characters).
* `encoded_pagename`: FIXME: Document me.
* `pagename_defaultsort`: FIXME: Document me.
* `raw_defaultsort`: FIXME: Document me.
* `wikitext_topic_cat`: FIXME: Document me.
* `wikitext_langname_cat`: FIXME: Document me.
`no_fetch_content` says to not fetch and parse the content or set a DEFAULTSORT sort key, in order to save time on
test and documentation pages that have lots of template invocations that set `|pagename=`. It turns out nearly all the
time of this function is contained in the line `frame:callParserFunction("DEFAULTSORT", data.pagename_defaultsort)`,
so we skip it on test and documentation pages where it accomplishes nothing in any case.
]==]
function export.process_page(pagename, no_fetch_content)
local data = {
comb_chars = comb_chars,
emoji_pattern = "[" .. emoji_chars .. "]",
unsupported_titles = unsupported_titles or get_unsupported_titles()
}
local cats = {}
data.cats = cats
-- We cannot store `raw_title` in `data` because it contains a metatable.
local raw_title
local function bad_pagename()
if not pagename then
error("Internal error: Something wrong, `data.pagename` not specified but current title contains illegal characters")
else
error(format("Bad value for `data.pagename`: '%s', which must not contain illegal characters", pagename))
end
end
if pagename then -- for testing, doc pages, etc.
raw_title = new_title(pagename)
if not raw_title then
bad_pagename()
end
else
raw_title = mw.title.getCurrentTitle()
end
local nsText = raw_title.nsText
local namespace_is_reconstruction = nsText == "Rekonstruksi"
data.namespace = nsText
data.ns = mw.site.namespaces[raw_title.namespace]
local full_raw_pagename = raw_title.fullText
data.full_raw_pagename = full_raw_pagename
local frame = mw.getCurrentFrame()
-- WARNING: `content` may be nil, e.g. if we're substing a template like {{ja-new}} on a not-yet-created page
-- or if the module specifies the subpage as `data.pagename` (which many modules do) and we're in an Appendix
-- or other non-mainspace page. We used to make the latter an error but there are too many modules that do it,
-- and substing on a nonexistent page is totally legit, and we don't actually need to be able to access the
-- content of the page.
local content = not no_fetch_content and raw_title:getContent() or nil
-- Get the pagename.
pagename = physical_to_logical_pagename_if_mammoth(raw_title)
pagename = gsub(pagename, "^Tajuk tidak disokong/(.+)", function(m)
insert(cats, "Tajuk tidak disokong")
local title = (unsupported_titles or get_unsupported_titles())[m]
if title then
return title
end
-- Substitute pairs of "`". Those not used for escaping should be escaped as "`grave`", but might not be,
-- so if a pair don't form a match, the closing "`" should become the opening "`" of the next match attempt.
-- This has to be done manually, instead of using gsub.
local open_pos = find(m, "`")
if not open_pos then
return m
end
title = {sub(m, 1, open_pos - 1)}
while true do
local close_pos = find(m, "`", open_pos + 1)
if not close_pos then
-- Add "`" plus any remaining characters.
insert(title, sub(m, open_pos))
break
end
local escape = sub(m, open_pos, close_pos)
local ch = (unsupported_characters or get_unsupported_characters())[escape]
-- Match found, so substitute the character and move to the first "`" after the match if found, or
-- otherwise return.
if ch then
insert(title, ch)
local nxt_pos = close_pos + 1
open_pos = find(m, "`", nxt_pos)
-- Add any characters between the match and the next "`" or end.
if open_pos then
insert(title, sub(m, nxt_pos, open_pos - 1))
else
insert(title, sub(m, nxt_pos))
break
end
-- Match not found, so make the closing "`" the opening "`" of the next attempt.
else
-- Add the failed match, except for the closing "`".
insert(title, sub(m, open_pos, close_pos - 1))
open_pos = close_pos
end
end
return concat(title)
end)
-- Save pagename, as the local variable will be destructively modified.
data.pagename = pagename
if nsText == "" then
data.pagename_with_base = pagename
else
data.pagename_with_base = raw_title.text
end
-- Decompose the pagename in Unicode normalization form D.
data.decompose_pagename = toNFD(pagename)
-- Explode the current page name into a character table, taking decomposed combining characters into account.
local explode_pagename = {}
local pagename_len = 0
local function explode(char)
explode_pagename[char] = true
pagename_len = pagename_len + 1
return ""
end
pagename = ugsub(pagename, comb_chars.combined_double, explode)
pagename = gsub(ugsub(pagename, comb_chars.combined_single, explode), ".[\128-\191]*", explode)
data.explode_pagename = explode_pagename
data.pagename_len = pagename_len
-- Generate DEFAULTSORT.
data.encoded_pagename = encode_entities(data.pagename)
data.pagename_defaultsort = get_lang("mul"):makeSortKey(data.encoded_pagename)
if not no_fetch_content then
frame:callParserFunction("DEFAULTSORT", data.pagename_defaultsort)
end
data.raw_defaultsort = uupper(raw_title.text)
-- Make `L2_list` and `L2_sections`, note raw wikitext use of {{DEFAULTSORT:}} and {{DISPLAYTITLE:}}, then add categories if any unwanted L1 headings are found, the L2 headings are in the wrong order, or they don't match a canonical language name.
-- Note: HTML comments shouldn't be removed from `content` until after this step, as they can affect the result.
do
local L2_list, L2_list_len, L2_sections = {}, 0, {}
local prev, rc
local new_cats, L2_wrong_order = {}
local function handle_heading(heading)
local level = heading.level
if level > 2 then
return
end
local name = heading:get_name()
-- heading:get_name() will return nil if there are any newline characters in the preprocessed heading name (e.g. from an expanded template). In such cases, the preprocessor section count still increments (since it's calculated pre-expansion), but the heading will fail, so the L2 count shouldn't be incremented.
if name == nil then
return
end
L2_list_len = L2_list_len + 1
L2_list[L2_list_len] = name
L2_sections[heading.section] = name
-- Also add any L1s, since they terminate the preceding L2, but add a maintenance category since it's probably a mistake.
if level == 1 then
new_cats["Laman dengan pengepala L1 tidak dikehendaki"] = true
end
-- Check the heading is in the right order.
-- FIXME: we need a more sophisticated sorting method which handles non-diacritic special characters (e.g. Magɨ).
if prev and not (
L2_wrong_order or
string_compare(export.get_L2_sort_key(prev), export.get_L2_sort_key(name))
) then
new_cats["Laman dengan pengepala bahasa dalam susunan salah"] = true
L2_wrong_order = true
end
-- Check it's a canonical language name.
local canonical_name = name:match("^Bahasa (.+)$")
local valid_heading = name == "Rentas bahasa"
or (
canonical_name ~= nil
and (langnames or get_langnames())[canonical_name] ~= nil
)
if not valid_heading then
new_cats["Laman dengan pengepala bahasa tidak piawai"] = true
end
prev = name
end
local function handle_template(template)
-- Turn off redirect checking except in the Reconstruction namespace because the rc flag is only
-- used in the Reconstruction namespace and the other names are parser functions, which AFAIK can't
-- be redirected to.
local name = template:get_name(nil, not namespace_is_reconstruction and "no_redirect" or nil)
if name == "DEFAULTSORT:" then
new_cats["Laman dengan percanggahan DEFAULTSORT"] = true
elseif name == "DISPLAYTITLE:" then
new_cats["Laman dengan percanggahan DISPLAYTITLE"] = true
elseif name == "reconstructed" then
rc = true
end
end
if content then
for node in parse(content):iterate_nodes() do
local node_class = class_else_type(node)
if node_class == "heading" then
handle_heading(node)
elseif node_class == "template" then
handle_template(node)
elseif node_class == "parameter" then
new_cats["Laman dengan parameter templat bertanda kurung dakap ganda tiga"] = true
end
end
end
L2_list.n = L2_list_len
data.L2_list = L2_list
data.L2_sections = L2_sections
insert(cats, get_category("Laman dengan entri"))
insert(cats, get_category(format("Laman dengan %s entri", L2_list_len)))
for cat in pairs(new_cats) do
insert(cats, get_category(cat))
end
if namespace_is_reconstruction and not rc then
local langname = match(full_raw_pagename, "^Rekonstruksi:([^/]+)/.")
if langname then
insert(cats, get_category("Entri bahasa " .. langname .. " kehilangan Templat:reconstructed"))
end
end
end
------ 4. Parse page for maintenance categories. ------
-- Use of tab characters.
if content and find(content, "\t", 1, true) then
insert(cats, get_category("Laman dengan aksara tab"))
end
-- Unencoded character(s) in title.
local IDS = list_to_set{"⿰", "⿱", "⿲", "⿳", "⿴", "⿵", "⿶", "⿷", "⿸", "⿹", "⿺", "⿻", "", "", "", "", ""}
for char in pairs(explode_pagename) do
if IDS[char] and char ~= data.pagename then
insert(cats, "Perkataan mengandungi aksara tidak dikodkan")
break
end
end
-- Raw wikitext use of a topic or langname category. Also check if any raw sortkeys have been used.
do
local wikitext_topic_cat = {}
local wikitext_langname_cat = {}
local raw_sortkey
-- If a raw sortkey has been found, add it to the relevant table.
-- If there's no table (or the index is just `true`), create one first.
local function add_cat_table(t, lang, sortkey)
local t_lang = t[lang]
if not sortkey then
if not t_lang then
t[lang] = true
end
return
elseif t_lang == true or not t_lang then
t_lang = {}
t[lang] = t_lang
end
t_lang[uupper(decode_entities(sortkey))] = true
end
local function process_category(content, cat, colon, nxt)
local pipe = find(cat, "|", colon + 1, true)
-- Categories cannot end "|]]".
if pipe == #cat then
return
end
local title = new_title(pipe and sub(cat, 1, pipe - 1) or cat)
if not (title and title.namespace == 14) then
return
end
-- Get the sortkey (if any), then canonicalize category title.
local sortkey = pipe and sub(cat, pipe + 1) or nil
cat = title.text
if sortkey then
raw_sortkey = true
-- If the sortkey contains "[", the first "]" of a final "]]]" is treated as part of the sortkey.
if find(sortkey, "[", 1, true) and sub(content, nxt, nxt) == "]" then
sortkey = sortkey .. "]"
end
end
local code = match(cat, "^([%w%-.]+):")
if code then
add_cat_table(wikitext_topic_cat, code, sortkey)
return
end
-- Split by word.
cat = split(cat, " ", true, true)
-- Formerly we looked for the language name anywhere in the category. This is simply wrong
-- because there are no categories like 'Alsatian French lemmas' (only L2 languages
-- have langname categories), but doing it this way wrongly catches things like [[Category:Shapsug Adyghe]]
-- in [[Category:Adyghe entries with language name categories using raw markup]].
local n = #cat - 1
if n <= 0 then
return
end
-- Go from longest to shortest and stop once we've found a language name. Going from shortest
-- to longest or not stopping after a match risks falsely matching (e.g.) German Low German
-- categories as German.
repeat
local name = concat(cat, " ", 1, n)
if "Bahasa " and (langnames or get_langnames())[name] then
add_cat_table(wikitext_langname_cat, name, sortkey)
return
end
n = n - 1
until n == 0
end
if content then
-- Remove comments, then iterate over category links.
content = remove_comments(content, "BOTH")
local head = find(content, "[[", 1, true)
while head do
local close = find(content, "]]", head + 2, true)
if not close then
break
end
-- Make sure there are no intervening "[[" between head and close.
local open = find(content, "[[", head + 2, true)
while open and open < close do
head = open
open = find(content, "[[", head + 2, true)
end
local cat = sub(content, head + 2, close - 1)
-- Locate the colon, and weed out most unwanted links. "[ _\128-\244]*" catches valid whitespace, and ensures any category links using the colon trick are ignored. We match all non-ASCII characters, as there could be multibyte spaces, and mw.title.new will filter out any remaining false-positives; this is a lot faster than running mw.title.new on every link.
local colon = match(cat, "^[ _\128-\244]*[Kk][Aa][Tt][EeGgOoRrIi _\128-\244]*():")
if colon then
process_category(content, cat, colon, close + 2)
end
head = open
end
end
data.wikitext_topic_cat = wikitext_topic_cat
data.wikitext_langname_cat = wikitext_langname_cat
if raw_sortkey then
insert(cats, get_category("Laman dengan kunci isih mentah"))
end
end
return data
end
return export
0cfxsst8v2bgdkaawb46xehh2uvtum4
Wikikamus:Bahasa Indonesia
4
77622
376900
279891
2026-09-28T09:11:40Z
Rachmat04
3001
376900
wikitext
text/x-wiki
{{Gerbang bahasa
| bahasa = Indonesia
| kod = id
| keterangan = Bahasa Indonesia (kod bahasa: <code>id</code>) ialah bahasa rasmi dan bahasa kebangsaan di Indonesia. Bahasa Indonesia merupakan bahasa kelainan yang dibakukan dari bahasa Melayu, sebuah bahasa rumpun Austronesia yang digolongkan ke dalam rumpun Melayik yang merupakan cabang turunan dari cabang Melayu-Polinesia.
}}
=Glosari (Melayu-Indonesia)=
; kata nama (''noun'')
: nomina, kata benda
; kata kerja (''verb'')
: verba, kata kerja
; kata sifat (''adjective'')
: adjektiva, kata sifat
; kata nama khas (''proper noun'')
: nama diri
<!--tambahkan nanti-->
[[Kategori:Bahasa Indonesia| ]]
p3107s4vn7xyrdn9fvazbmdr777oxtd
Modul:etymon/categories
828
82358
376771
375913
2026-09-27T17:53:28Z
SNN95
2113
terjemah
376771
Scribunto
text/plain
local export = {}
local M = require("Module:module loader").init({
require = {
etymology = "Module:etymology",
affix = "Module:affix",
etymology_specialized = "Module:etymology/specialized",
utilities = "Module:utilities",
roots = "Module:roots",
},
loadData = {
data = "Module:etymon/data",
},
})
-- Fungsi utiliti untuk huruf besar
local function ucfirst(text)
if not text then return text end
return mw.ustring.upper(mw.ustring.sub(text, 1, 1)) .. mw.ustring.sub(text, 2)
end
-- Nilaikan sama ada kata kunci adalah transitif bagi sesuatu istilah
local function is_transitive(transitive_mode, page_lang, term_lang)
if transitive_mode == M.data.TRANSITIVE.ALWAYS then
return true
elseif transitive_mode == M.data.TRANSITIVE.NEVER then
return false
elseif transitive_mode == M.data.TRANSITIVE.CROSS_LANG then
return page_lang:getCode() ~= term_lang:getCode()
elseif transitive_mode == M.data.TRANSITIVE.CROSS_LANG_NO_INTERNAL_SOURCE then
return page_lang:getCode() ~= term_lang:getCode()
end
error("Mod transitif tidak diketahui: " .. tostring(transitive_mode))
end
-- Dapatkan konfigurasi kata kunci dengan pengesampingan khusus bahasa
local function get_keyword_config(keyword, lang_exc)
local base_config = M.data.keywords[keyword]
if not base_config then
return nil -- Kata kunci tidak sah
end
local overrides = lang_exc and lang_exc.keyword_overrides and lang_exc.keyword_overrides[keyword]
if not overrides then
return base_config
end
-- Gabungkan pengesampingan ke dalam konfigurasi asas
local merged = {}
for k, v in pairs(base_config) do
merged[k] = v
end
for k, v in pairs(overrides) do
merged[k] = v
end
return merged
end
function export.get_cat_name(source)
local _, cat_name = M.etymology.get_display_and_cat_name(source, true)
return cat_name
end
-- Normalkan alias jenis imbuhan
local aftype_aliases = {
["pre"] = "awalan",
["suf"] = "akhiran",
["in"] = "infix",
["inter"] = "interfix",
["circum"] = "circumfix",
["naf"] = "non-affix",
["root"] = "non-affix",
}
local function add_category(categories, cat_name, sort_key, sort_base)
if categories[cat_name] == nil then
categories[cat_name] = {
sort_key = sort_key,
sort_base = sort_base,
}
return
end
local existing = categories[cat_name]
if existing.sort_key == nil and sort_key ~= nil then
existing.sort_key = sort_key
end
if existing.sort_base == nil and sort_base ~= nil then
existing.sort_base = sort_base
end
end
-- Kumpulkan kategori imbuhan daripada bekas kumpulan peringkat atas
local function collect_affix_categories(node, page_lang, available_etymon_ids, senseid_parent_etymon, lang_exc)
local parts = {}
local part_index = 1
for _, container in ipairs(node.children or {}) do
local config = container.keyword_info
if config and config.affix_categories then
for _, term in ipairs(container.terms or {}) do
if not term.unknown_term then
local part_data = {
term = term.title,
tr = term.tr,
ts = term.ts,
alt = term.alt,
itemno = part_index,
orig_index = part_index
}
-- Tentukan jenis imbuhan: aftype tersurat > pos=root > auto-kesan
local aftype = term.aftype
if aftype then
aftype = aftype_aliases[aftype] or aftype
part_data.type = aftype
elseif term.args and term.args.pos and term.args.pos == "root" then
part_data.type = "non-affix"
end
if term.lang:getCode() ~= page_lang:getCode() then
part_data.lang = term.lang
end
local target_ids = available_etymon_ids[term.target_key]
local has_multiple_ids = target_ids and #target_ids > 1
local id_exists_in_disambiguation = false
local matched_id = nil
-- Hitung senseid yang tersedia untuk laman sasaran
local senseid_count = 0
local target_prefix = term.target_key .. ":"
if senseid_parent_etymon then
for key, _ in pairs(senseid_parent_etymon) do
if key:sub(1, #target_prefix) == target_prefix then
senseid_count = senseid_count + 1
end
end
end
local has_multiple_senseids = senseid_count > 1
if term.id then
-- Periksa jika pengguna menyediakan senseid yang sah
local senseid_key = term.target_key .. ":" .. term.id
if senseid_parent_etymon and senseid_parent_etymon[senseid_key] then
if has_multiple_senseids then
-- senseid kabur: gunakan senseid
matched_id = term.id
id_exists_in_disambiguation = true
elseif has_multiple_ids then
-- senseid unik tetapi etimon kabur: gunakan ID etimon
matched_id = term.etymon_id or term.id
id_exists_in_disambiguation = true
end
else
-- Periksa jika pengguna menyediakan ID etimon yang sah
if has_multiple_ids and target_ids then
for _, id_data in ipairs(target_ids) do
local stored_id = type(id_data) == "table" and id_data.id or id_data
if stored_id == term.id then
-- Etimon kabur: gunakan ID etimon
id_exists_in_disambiguation = true
matched_id = term.id
break
end
end
end
-- Sandaran: periksa etymon_id yang diselesaikan (cth. daripada langkah-langkah sebelumnya)
if not id_exists_in_disambiguation and has_multiple_ids and term.etymon_id and target_ids then
for _, id_data in ipairs(target_ids) do
local stored_id = type(id_data) == "table" and id_data.id or id_data
if stored_id == term.etymon_id then
id_exists_in_disambiguation = true
matched_id = term.etymon_id
break
end
end
end
end
end
-- Gunakan ID yang sepadan jika dijumpai
if term.override or id_exists_in_disambiguation then
part_data.id = matched_id or term.id
end
table.insert(parts, part_data)
part_index = part_index + 1
end
end
end
end
if #parts == 0 then return {} end
local affix_data = {
lang = page_lang,
parts = parts,
pos = "perkataan",
sort_key = nil,
}
if #parts == 1 then
affix_data.allow_no_affixes_or_compounds = true
end
local affix_categories = M.affix.get_affix_categories_only(affix_data)
local result = {}
for _, cat in ipairs(affix_categories) do
if type(cat) == "table" then
table.insert(result, { cat = cat.cat, sort_key = cat.sort_key, sort_base = cat.sort_base })
else
table.insert(result, { cat = cat })
end
end
return result
end
local function lang_is_source(page_lang, source)
return page_lang:getCode() == source:getCode() or page_lang:hasParent(source)
end
local function is_borrowing_keyword_config(config)
return config and (config.borrowing_type or config.specialized_borrowing)
end
local function add_reborrow_category(categories, page_lang)
local lang_name = page_lang:getFullName()
add_category(categories, "Perkataan " .. lang_name .. " yang dipinjam kembali ke dalam " .. lang_name)
end
local function borrow_returns_to_page_lang(page_lang, source, in_foreign_branch)
if not in_foreign_branch then
return false
end
if source:getFullCode() == page_lang:getFullCode() then
return true
end
return page_lang:hasParent(source)
end
local function node_borrows_from_lang(node, page_lang, visited, in_foreign_branch)
visited = visited or {}
if not node or visited[node] then
return false
end
visited[node] = true
if node.is_duplicate then
if node.duplicate_of then
return node_borrows_from_lang(node.duplicate_of, page_lang, visited, in_foreign_branch)
end
return false
end
local node_is_foreign = in_foreign_branch
or (node.lang and node.lang:getFullCode() ~= page_lang:getFullCode())
for _, container in ipairs(node.children or {}) do
if is_borrowing_keyword_config(container.keyword_info) then
for _, child_term in ipairs(container.terms or {}) do
if borrow_returns_to_page_lang(page_lang, child_term.lang, node_is_foreign) then
return true
end
end
end
for _, child_term in ipairs(container.terms or {}) do
if child_term.status == M.data.STATUS.OK or child_term.status == M.data.STATUS.INLINE then
if node_borrows_from_lang(child_term, page_lang, visited, node_is_foreign) then
return true
end
end
end
end
return false
end
local function should_add_reborrow_category(page_lang, term)
if page_lang:getCode() == term.lang:getCode() then
return false
end
if term.status ~= M.data.STATUS.OK and term.status ~= M.data.STATUS.INLINE then
return false
end
return node_borrows_from_lang(term, page_lang, {}, false)
end
-- Tambah kategori berkaitan peminjaman (peringkat atas sahaja)
local function collect_borrowing_categories(categories, page_lang, term, config, check_reborrow_path)
if check_reborrow_path and should_add_reborrow_category(page_lang, term) then
add_reborrow_category(categories, page_lang)
end
if config.borrowing_type == "borrowed" and not lang_is_source(page_lang, term.lang) then
local temp_categories = {}
M.etymology.insert_borrowed_cat(temp_categories, page_lang, term.lang)
for _, cat in ipairs(temp_categories) do
add_category(categories, cat)
end
end
if config.specialized_borrowing and not lang_is_source(page_lang, term.lang) then
local result = M.etymology_specialized.specialized_borrowing {
bortype = config.specialized_borrowing,
lang = page_lang,
sources = { term.lang },
terms = { { lang = term.lang, term = "-" } },
notext = true,
nocat = false,
}
for cat_name in result:gmatch("%[%[Category:([^%]]+)%]%]") do
add_category(categories, cat_name)
end
end
end
-- Tambah kategori terbitan berasaskan sumber (peringkat atas sahaja)
local function collect_source_derivation_categories(categories, page_lang, term, config)
if not config.source_category_type then
return
end
local temp_categories = {}
M.etymology.insert_source_cat_get_display {
lang = page_lang,
source = term.lang,
categories = temp_categories,
borrowing_type = config.source_category_type,
nocat = false,
}
for _, cat in ipairs(temp_categories) do
add_category(categories, cat)
end
end
-- Tambah kategori bahasa sumber
local function collect_source_categories(categories, page_lang, term, chain, get_norm_lang_func)
if page_lang:getCode() == get_norm_lang_func(term.lang):getCode() then
return
end
local temp_categories = {}
M.etymology.insert_source_cat_get_display {
lang = page_lang,
source = term.lang,
categories = temp_categories,
nocat = false,
}
for _, cat in ipairs(temp_categories) do
add_category(categories, cat)
end
if chain.inherited then
temp_categories = {}
M.etymology.insert_source_cat_get_display {
lang = page_lang,
source = term.lang,
categories = temp_categories,
borrowing_type = "diwariskan",
nocat = false,
}
for _, cat in ipairs(temp_categories) do
add_category(categories, cat)
end
end
end
-- Tambah kategori akar/perkataan
local function collect_pos_categories(categories, page_lang, root_title, term, available_etymon_ids, chain,
get_norm_lang_func, lang_exc, keyword)
local pos_types = { root = "akar", word = "perkataan" }
-- Tentukan pos: daripada postype istilah, pos_override kata kunci, atau args.pos
local pos
local config = get_keyword_config(keyword, lang_exc)
if term.postype then
-- Pengubahsuai postype peringkat istilah mengambil keutamaan tertinggi
pos = term.postype
elseif config and config.pos_override then
pos = config.pos_override
elseif type(term.args) == "table" and term.args.pos then
pos = term.args.pos
end
local pos_type = pos_types[pos]
if not pos_type or term.unknown_term then
return
end
-- Langkau kategori akar/perkataan untuk keturunan kumpulan imbuhan
-- if pos_type then
-- return
-- end
local same_language = get_norm_lang_func(page_lang):getFullCode() == get_norm_lang_func(term.lang):getFullCode()
-- Langkau rujukan kendiri
if same_language and root_title == term.title then
return
end
local entry_name
if pos_type == "akar" then
entry_name = term.title
M.roots.assert_root(term.lang, entry_name)
else
entry_name = term.lang:makeEntryName(term.title)
end
local lang_name = page_lang:getCanonicalName()
local cat_name
if chain.passed_through then
local etymon_lang_name = export.get_cat_name(term.lang)
cat_name = "Perkataan " .. lang_name .. " yang diterbitkan daripada " .. pos_type .. " " .. etymon_lang_name .. " " .. entry_name
else
cat_name = "Perkataan " .. lang_name .. " yang tergolong dalam " .. pos_type .. " " .. entry_name
end
-- Tambah penyahkaburan ID jika perlu (untuk akar/perkataan: gunakan etymon_id jika diselesaikan melalui senseid, jika tidak gunakan id)
local target_ids = available_etymon_ids[term.target_key]
local effective_id = term.etymon_id or term.id -- etymon_id jika senseid, jika tidak id sudah pun merupakan id etimon
if target_ids and effective_id then
local same_pos_count = 0
for _, id_data in ipairs(target_ids) do
if type(id_data) == "table" and id_data.pos == pos then
same_pos_count = same_pos_count + 1
end
end
if same_pos_count > 1 then
cat_name = cat_name .. " (" .. effective_id .. ")"
end
end
add_category(categories, cat_name)
end
-- Hitung keadaan rantaian untuk suatu istilah berdasarkan rantaian induk dan konfigurasi kata kunci
-- Corak sengkang untuk pengesanan imbuhan (sengkang biasa + khusus skrip)
local AFFIX_HYPHEN_PATTERN = "[%-%־ـ᠊]" -- sengkang biasa, maqqef Ibrani, tatweel Arab, sengkang Mongolia
-- Periksa jika suatu istilah merupakan imbuhan sebenar (bukan ahli bukan imbuhan dalam kumpulan imbuhan)
local function is_actual_affix(term)
-- Periksa pengubahsuai aftype tersurat
if term.aftype then
local normalized = aftype_aliases[term.aftype] or term.aftype
return normalized ~= "non-affix"
end
-- Periksa jika pos=root (dilayan sebagai bukan imbuhan)
if term.args and term.args.pos and term.args.pos == "root" then
return false
end
-- Auto-kesan menggunakan sengkang: awalan berakhir dengan -, akhiran bermula dengan -, dsb.
if term.title then
local title = term.title
-- Tanggalkan * di hadapan untuk istilah yang direkonstruksi sebelum memeriksa sengkang
title = title:gsub("^%*", "")
-- Periksa sengkang di awal atau akhir (mengendalikan sengkang khusus skrip juga)
if title:match("^" .. AFFIX_HYPHEN_PATTERN) or title:match(AFFIX_HYPHEN_PATTERN .. "$") then
return true
end
end
-- Lalai: bukan imbuhan
return false
end
local function compute_category_chain(parent_chain, config, page_lang, term_lang, get_norm_lang_func, parent_term_lang, term)
-- Jejak jika kita berada di dalam imbuhan sebenar (untuk menindas kategori akar pada keturunan)
-- Hanya tetapkan jika istilah tersebut merupakan imbuhan sebenar (awalan, akhiran, dsb.), bukan ahli bukan imbuhan
local inside_affix = parent_chain.inside_affix
if config.affix_categories and term and is_actual_affix(term) then
inside_affix = true
end
-- Jika no_child_categories ditetapkan, lumpuhkan semuanya
if config.no_child_categories then
return {
passed_through = parent_chain.passed_through or page_lang:getCode() ~= get_norm_lang_func(term_lang):getCode(),
inherited = false,
source = false,
pos = false,
recurse = false,
inside_affix = inside_affix,
}
end
local term_is_transitive = is_transitive(config.transitive, page_lang, term_lang)
local new_source = parent_chain.source and term_is_transitive
-- Untuk CROSS_LANG_NO_INTERNAL_SOURCE: jejak konteks bahasa terbitan dalaman
-- Periksa jika istilah ini adalah dalaman secara relatif terhadap bahasa istilah induk (jika parent_term_lang disediakan)
-- atau secara relatif terhadap bahasa laman (jika tiada parent_term_lang)
local internal_lang = parent_chain.internal_lang
local is_internal_in_context = false
if config.transitive == M.data.TRANSITIVE.CROSS_LANG_NO_INTERNAL_SOURCE then
local check_lang = parent_term_lang or page_lang
local term_lang_code = get_norm_lang_func(term_lang):getCode()
local check_lang_code = get_norm_lang_func(check_lang):getCode()
if internal_lang then
-- Sudah berada dalam konteks terbitan dalaman: periksa jika istilah ini juga dalaman
is_internal_in_context = term_lang_code == internal_lang
else
-- Periksa jika istilah ini adalah dalaman secara relatif terhadap istilah induk (atau laman jika tiada induk)
is_internal_in_context = term_lang_code == check_lang_code
end
end
-- Tingkah laku rantaian sumber untuk CROSS_LANG_NO_INTERNAL_SOURCE
if config.transitive == M.data.TRANSITIVE.CROSS_LANG_NO_INTERNAL_SOURCE then
if is_internal_in_context then
-- Terbitan dalaman
new_source = false
internal_lang = get_norm_lang_func(term_lang):getCode()
else
-- Merentas bahasa
new_source = parent_chain.source and term_is_transitive
internal_lang = nil
end
end
local new_pos = parent_chain.pos
return {
passed_through = parent_chain.passed_through or page_lang:getCode() ~= get_norm_lang_func(term_lang):getCode(),
inherited = parent_chain.inherited and config.inherited_chain,
source = new_source,
pos = new_pos,
internal_lang = internal_lang,
recurse = new_source or new_pos,
inside_affix = inside_affix,
}
end
function export.render(opts)
opts = opts or {}
local data_tree = opts.data_tree
local page_lang = opts.page_lang
local available_etymon_ids = opts.available_etymon_ids
local senseid_parent_etymon = opts.senseid_parent_etymon
local get_norm_lang_func = opts.get_norm_lang_func
local lang_exc = opts.lang_exc
local categories = {}
local seen = {}
local lang_name = page_lang:getCanonicalName()
local root_title = data_tree.title
-- Kumpulkan pepohon secara rekursif
local function collect(node, parent_chain, is_toplevel)
-- Elakkan memproses nod yang sama dua kali
if not node.unknown_term and node.title then
local key = node.lang:getFullCode() .. ":" .. (node.title or "") .. ":" .. (node.id or "")
if seen[key] then return end
seen[key] = true
end
-- Kumpulkan kategori imbuhan pada peringkat atas sahaja
if is_toplevel then
local affix_cats = collect_affix_categories(node, page_lang, available_etymon_ids, senseid_parent_etymon, lang_exc)
for _, cat in ipairs(affix_cats) do
-- Buang cantuman "lang_name" dari sini kerana Modul:affix sudah menjana nama bahasa yang lengkap
add_category(categories, cat.cat, cat.sort_key, cat.sort_base)
end
if node.supplements then
for _, supplement in ipairs(node.supplements) do
local config = supplement.config
if config and config.toplevel_category then
add_category(categories, ucfirst(config.toplevel_category) .. " bahasa " .. lang_name)
end
end
end
end
-- Proses setiap bekas
for _, container in ipairs(node.children or {}) do
local keyword = container.keyword
local config = get_keyword_config(keyword, lang_exc)
-- Langkau kata kunci yang tidak sah
if config then
-- Proses setiap istilah dalam bekas
for _, term in ipairs(container.terms or {}) do
local term_chain = compute_category_chain(parent_chain, config, page_lang, term.lang, get_norm_lang_func, node.lang, term)
local no_child_categories = config.no_child_categories == true
local term_is_transitive = is_transitive(config.transitive, page_lang, term.lang)
-- Pemprosesan peringkat atas sahaja
if is_toplevel then
-- Penjejakan etimon yang hilang/kabur
if not term.unknown_term and (term.status == M.data.STATUS.MISSING or term.status == M.data.STATUS.REDLINK) then
add_category(categories, "Lema bahasa " .. lang_name .. " yang merujuk etimon yang hilang")
end
if not term.unknown_term and term.status == M.data.STATUS.AMBIGUOUS then
add_category(categories, "Lema bahasa " .. lang_name .. " yang merujuk etimon yang kabur")
end
if term.missing_descendants_header then
add_category(categories, "Lema bahasa " .. lang_name .. " yang merujuk etimon tanpa bahagian Keturunan")
end
if term.missing_descendants_entry then
add_category(categories, "Lema bahasa " .. lang_name .. " yang merujuk etimon tanpa istilah ini dalam bahagian Keturunan")
end
-- Kategori peringkat atas (cth., "terbitan tidak ditakrifkan")
if config.toplevel_category then
add_category(categories, ucfirst(config.toplevel_category) .. " bahasa " .. lang_name)
end
-- Kategori peminjaman (bor, lbor, slbor, ubor, obor)
if config.borrowing_type or config.specialized_borrowing then
collect_borrowing_categories(categories, page_lang, term, config, true)
end
-- Kategori peminjaman daripada pengubahsuai <bor>, <lbor>, atau <slbor> pada istilah kumpulan imbuhan
local kw_config = M.data.keywords[keyword]
if kw_config and kw_config.affix_categories then
if term.bor then
local bor_config = { borrowing_type = "borrowed" }
collect_borrowing_categories(categories, page_lang, term, bor_config, true)
elseif term.lbor then
local bor_config = { specialized_borrowing = "learned" }
collect_borrowing_categories(categories, page_lang, term, bor_config, true)
elseif term.slbor then
local bor_config = { specialized_borrowing = "semi-learned" }
collect_borrowing_categories(categories, page_lang, term, bor_config, true)
end
end
-- Kategori terbitan berasaskan sumber (sl, calque, pcal)
if config.source_category_type then
collect_source_derivation_categories(categories, page_lang, term, config)
end
-- Langkau semua pengkategorian anak jika no_child_categories ditetapkan
if not no_child_categories then
-- Kategori sumber hanya jika transitif
if term_is_transitive then
collect_source_categories(categories, page_lang, term, term_chain, get_norm_lang_func)
end
-- Kategori pos sentiasa (melainkan no_child_categories)
collect_pos_categories(categories, page_lang, root_title, term, available_etymon_ids, term_chain,
get_norm_lang_func, lang_exc, keyword)
end
else
-- Di bawah peringkat atas, patuhi rantaian induk
if parent_chain.source then
collect_source_categories(categories, page_lang, term, term_chain, get_norm_lang_func)
end
if parent_chain.pos then
collect_pos_categories(categories, page_lang, root_title, term, available_etymon_ids, term_chain,
get_norm_lang_func, lang_exc, keyword)
end
end
-- Rekursi ke dalam anak istilah jika perlu dan status membenarkan
if term_chain.recurse and (term.status == M.data.STATUS.OK or term.status == M.data.STATUS.INLINE) then
collect(term, term_chain, false)
end
end
end
end
end
-- Keadaan rantaian awal
local initial_chain = {
passed_through = false,
inherited = true,
source = true,
pos = true,
internal_lang = nil,
recurse = true,
inside_affix = false,
}
collect(data_tree, initial_chain, true)
local cat_list = {}
for cat_name, sort_data in pairs(categories) do
if sort_data.sort_key ~= nil or sort_data.sort_base ~= nil then
table.insert(cat_list, {
name = cat_name,
sort_key = sort_data.sort_key,
sort_base = sort_data.sort_base,
})
else
table.insert(cat_list, cat_name)
end
end
return cat_list
end
function export.build(opts)
opts = opts or {}
local categories = {}
if not opts.suppress_categories and not opts.nocat then
categories = export.render({
data_tree = opts.data_tree,
page_lang = opts.page_lang,
available_etymon_ids = opts.available_etymon_ids,
senseid_parent_etymon = opts.senseid_parent_etymon,
get_norm_lang_func = opts.get_norm_lang_func,
lang_exc = opts.lang_exc,
})
end
local page_lang = opts.page_lang
if not page_lang then
return categories
end
local lang_name = page_lang:getCanonicalName()
table.insert(categories, "Laman dengan etimon")
table.insert(categories, "Lema bahasa " .. lang_name .. " dengan etimon")
if opts.tree then
table.insert(categories, "Laman dengan pepohon etimologi")
table.insert(categories, "Lema bahasa " .. lang_name .. " dengan pepohon etimologi")
end
if opts.text then
table.insert(categories, "Lema bahasa " .. lang_name .. " dengan teks etimologi")
end
if opts.exnihilo then
table.insert(categories, "Perkataan " .. lang_name .. " yang dicipta ex nihilo")
end
if opts.toplevel_has_inline_etymology then
table.insert(categories, "Laman dengan etimon sebaris untuk pautan merah")
end
if opts.toplevel_redundant_etymology then
table.insert(categories, "Laman dengan etimon sebaris lewah")
end
if opts.toplevel_idless_etymon then
table.insert(categories, "Laman yang menggunakan etimon tanpa ID")
end
if opts.has_mismatched_id then
table.insert(categories, "Lema bahasa " .. lang_name .. " yang merujuk etimon dengan ID yang tidak sepadan")
end
if opts.linked_page_multiple_etymons_idless then
table.insert(categories,
"Lema bahasa " .. lang_name .. " yang merujuk laman dengan berbilang etimon yang kehilangan ID")
end
if opts.linked_page_partial_etymology_sections then
table.insert(categories,
"Lema bahasa " .. lang_name .. " yang merujuk laman dengan bahagian etimologi yang kehilangan etimon")
end
if opts.text_stop_lang_missing then
table.insert(categories, "Laman dengan bahasa henti teks etimologi bukan dalam rantaian")
table.insert(categories, "Lema bahasa " .. lang_name .. " dengan bahasa henti teks etimologi bukan dalam rantaian")
end
return categories
end
function export.format(entries, lang)
if type(entries) ~= "table" or #entries == 0 then
return ""
end
local parts = {}
for _, category in ipairs(entries) do
if type(category) == "table" and type(category.name) == "string" then
table.insert(parts, M.utilities.format_categories({ category.name }, lang, category.sort_key, category.sort_base))
elseif type(category) == "string" then
table.insert(parts, M.utilities.format_categories({ category }, lang))
end
end
return table.concat(parts)
end
return export
a99dvps9ncxffd784973idznesxcyqm
Modul:etymon/descendants
828
118629
376772
342822
2026-09-27T18:02:00Z
SNN95
2113
kemaskini
376772
Scribunto
text/plain
local export = {}
local M = require("Module:module loader").init({
require = {
template_parser = "Module:template parser",
links = "Module:links",
languages = "Module:languages",
},
})
local TRACKABLE_KEYWORDS = {
inherited = true,
bor = true,
lbor = true,
slbor = true,
derived = true,
uder = true,
}
local DESCENDANT_TEMPLATES = {
["desc"] = true,
["descendant"] = true,
["desctree"] = true,
["descendants tree"] = true,
}
local SKIPPED_TERMS = {
[""] = true,
["-"] = true,
}
local CHECK_MISSING_HEADER = { missing_header = true, missing_entry = false }
local STRIPPED_REF_TEMPLATES = {
ref = true,
refn = true,
}
local ENABLE_DESCENDANTS_TRACKING = false
local function _resolve_explicit_cache_id(explicit_id, parent_etymon)
if parent_etymon then
return parent_etymon.id or "*"
end
return explicit_id
end
local function _resolve_single_cache_id(id_data)
return (type(id_data) == "table" and id_data.id) or id_data or "*"
end
local function _resolve_cache_id(lookup)
if not lookup then
return nil
end
if lookup.id then
return lookup.id
end
if lookup.explicit_id then
return _resolve_explicit_cache_id(lookup.explicit_id, lookup.parent_etymon)
end
if lookup.id_data ~= nil then
return _resolve_single_cache_id(lookup.id_data)
end
return nil
end
local function _get_cached_check(cache_table, is_toplevel, base_key, cache_id)
if not is_toplevel or not cache_table or not base_key or not cache_id then
return nil
end
return cache_table[base_key .. ":" .. cache_id]
end
local function _store_checks(cache_table, lang_page_key, checks_by_id, redirected_from)
if not cache_table or not lang_page_key or not checks_by_id then
return
end
for id, check in pairs(checks_by_id) do
cache_table[lang_page_key .. ":" .. id] = check
end
if redirected_from then
for id, check in pairs(checks_by_id) do
cache_table[redirected_from .. ":" .. id] = check
end
end
end
local function _strip_refs(value)
if type(value) ~= "string" or value == "" then
return value
end
local get_node_class = M.template_parser.class_else_type
local function trim_local(text)
return (type(text) == "string" and text:match("^%s*(.-)%s*$")) or ""
end
local function lower_local(text)
return text and mw.ustring.lower(text) or text
end
local function template_name_unexpanded(template_node)
return lower_local(trim_local(tostring(template_node[1]) or ""))
end
local function stringify_without_ref_templates(node)
if type(node) ~= "table" then
return node == nil and "" or tostring(node)
end
local node_class = get_node_class(node)
if node_class == "template" and STRIPPED_REF_TEMPLATES[template_name_unexpanded(node)] then
return ""
end
if node_class == "template" then
return tostring(node)
end
if node_class == "heading" then
return tostring(node)
end
if node_class and node_class ~= "wikitext" then
return tostring(node)
end
local pieces = {}
for i = 1, #node do
pieces[i] = stringify_without_ref_templates(node[i])
end
return table.concat(pieces)
end
local parsed = M.template_parser.parse(value)
local cleaned = stringify_without_ref_templates(parsed)
local changed = true
while changed do
local next_cleaned = mw.ustring.gsub(cleaned, "<%s*[Rr][Ee][Ff][^>]-/>", "")
next_cleaned = mw.ustring.gsub(next_cleaned, "<%s*[Rr][Ee][Ff][^>]*>.-<%s*/%s*[Rr][Ee][Ff]%s*>", "")
next_cleaned = mw.ustring.gsub(next_cleaned, "{{%s*[Rr][Ee][Ff]%s*}}", "")
next_cleaned = mw.ustring.gsub(next_cleaned, "{{%s*[Rr][Ee][Ff]%s*|[^{}]-}}", "")
changed = next_cleaned ~= cleaned
cleaned = next_cleaned
end
return cleaned
end
local function _trim(value)
if type(value) ~= "string" then
return nil
end
return value:match("^%s*(.-)%s*$")
end
local function _lower(value)
return value and mw.ustring.lower(value) or value
end
local function _is_index_in_range(index, start_index, end_index)
return index and index >= start_index and index <= end_index
end
local function _build_parse_index(lang_section)
local parsed = M.template_parser.parse(lang_section)
local headings = {}
local templates = {}
for heading in parsed:iterate_nodes("heading") do
local heading_name = heading:get_name()
table.insert(headings, {
index = heading.index or 1,
level = heading.level or 0,
name = heading_name and _lower(_trim(heading_name) or "") or nil,
length = #tostring(heading),
})
end
for template in parsed:iterate_nodes("template") do
local template_name = template:get_name()
local template_args = template:get_arguments()
table.insert(templates, {
index = template.index or 1,
name = template_name and _lower(_trim(template_name) or "") or "",
args = template_args or {},
})
end
return {
headings = headings,
templates = templates,
}
end
local function _build_regions(lang_section, headings)
local content_length = #lang_section
local etymology_headings = {}
for _, heading in ipairs(headings) do
if heading.level == 3 and heading.name and mw.ustring.match(heading.name, "^etimologi") then
table.insert(etymology_headings, heading)
end
end
if #etymology_headings == 0 then
return {
{ start_index = 1, end_index = content_length }
}
end
local regions = {}
for i = 1, #etymology_headings do
local heading = etymology_headings[i]
local next_heading = etymology_headings[i + 1]
local start_index = heading.index
local end_index = next_heading and (next_heading.index - 1) or content_length
if i == 1 and heading.index > 1 then
local preamble = lang_section:sub(1, heading.index - 1)
if preamble:match("%S") then
start_index = 1
end
end
table.insert(regions, {
start_index = start_index,
end_index = end_index,
})
end
return regions
end
local function _count_region_etymons(region, templates, etymon_lang_code)
local count = 0
for _, template in ipairs(templates) do
if _is_index_in_range(template.index, region.start_index, region.end_index)
and template.name == "etymon"
and template.args[1] == etymon_lang_code then
count = count + 1
end
end
return count
end
local function _get_descendants_sections(region, headings)
local sections = {}
for i = 1, #headings do
local heading = headings[i]
if _is_index_in_range(heading.index, region.start_index, region.end_index)
and heading.name == "turunan" then
local body_start = heading.index + heading.length
local body_end = region.end_index
for j = i + 1, #headings do
local next_heading = headings[j]
if next_heading.index > region.end_index then
break
end
if next_heading.level <= heading.level then
body_end = next_heading.index - 1
break
end
end
table.insert(sections, {
start_index = body_start,
end_index = body_end,
})
end
end
return sections
end
local function _template_lang_matches_entry(template_lang_code, entry_full_code, cache)
local normalized_code = _trim(template_lang_code)
if not normalized_code or normalized_code == "" then
return false
end
local cached = cache[normalized_code]
if cached ~= nil then
return cached
end
local template_lang = M.languages.getByCode(normalized_code, nil, true)
local is_match = template_lang and template_lang:getFullCode() == entry_full_code or false
cache[normalized_code] = is_match
return is_match
end
local function _template_lists_target(template_args, first_term_index, target_page_lower, entry_lang)
for arg_index = first_term_index, #template_args do
local template_term = _trim(template_args[arg_index])
if template_term and not SKIPPED_TERMS[template_term] then
if _lower(template_term) == target_page_lower then
return true
end
local template_page = M.links.get_link_page(template_term, entry_lang)
if _lower(template_page) == target_page_lower then
return true
end
end
end
return false
end
local function _is_target_listed_in_descendants(descendants_sections, templates, entry_title, entry_lang)
if #descendants_sections == 0 then
return false
end
local target_page = M.links.get_link_page(entry_title, entry_lang)
local target_page_lower = _lower(target_page)
local entry_full_code = entry_lang:getFullCode()
local lang_match_cache = {}
for _, section in ipairs(descendants_sections) do
for _, template in ipairs(templates) do
if _is_index_in_range(template.index, section.start_index, section.end_index)
and DESCENDANT_TEMPLATES[template.name] then
local lang_arg_index = nil
for arg_index = 1, #template.args do
if _template_lang_matches_entry(template.args[arg_index], entry_full_code, lang_match_cache) then
lang_arg_index = arg_index
break
end
end
if lang_arg_index and _template_lists_target(template.args, lang_arg_index + 1, target_page_lower, entry_lang) then
return true
end
end
end
end
return false
end
local function _region_has_descendant_template(region, templates)
for _, template in ipairs(templates) do
if _is_index_in_range(template.index, region.start_index, region.end_index)
and DESCENDANT_TEMPLATES[template.name] then
return true
end
end
return false
end
local function _get_region_check(region, parsed_index, entry_title, entry_lang)
local descendants_sections = _get_descendants_sections(region, parsed_index.headings)
if #descendants_sections == 0 then
if _region_has_descendant_template(region, parsed_index.templates) then
local fallback_sections = { {
start_index = region.start_index,
end_index = region.end_index,
} }
return {
missing_header = false,
missing_entry = not _is_target_listed_in_descendants(fallback_sections, parsed_index.templates, entry_title, entry_lang),
}
end
return CHECK_MISSING_HEADER
end
return {
missing_header = false,
missing_entry = not _is_target_listed_in_descendants(descendants_sections, parsed_index.templates, entry_title, entry_lang),
}
end
local function _build_checks_by_id(lang_section, etymon_lang_code, found_templates_for_lang, entry_title, entry_lang)
local checks_by_id = {}
local parsed_index = _build_parse_index(lang_section)
local regions = _build_regions(lang_section, parsed_index.headings)
local template_list_index = 1
local mapping_failed = false
for _, region in ipairs(regions) do
local region_etymon_count = _count_region_etymons(region, parsed_index.templates, etymon_lang_code)
local region_check = nil
if region_etymon_count > 0 then
region_check = _get_region_check(region, parsed_index, entry_title, entry_lang)
end
for _ = 1, region_etymon_count do
local found_template_args = found_templates_for_lang[template_list_index]
if not found_template_args then
mapping_failed = true
break
end
checks_by_id[found_template_args.id or "*"] = region_check
template_list_index = template_list_index + 1
end
if mapping_failed then
break
end
end
if mapping_failed or template_list_index ~= (#found_templates_for_lang + 1) then
local global_region = { start_index = 1, end_index = #lang_section }
local fallback_check = _get_region_check(global_region, parsed_index, entry_title, entry_lang)
checks_by_id = {}
for _, template_args in ipairs(found_templates_for_lang) do
checks_by_id[template_args.id or "*"] = fallback_check
end
end
return checks_by_id
end
local function _compute_checks_for_page(opts)
opts = opts or {}
local found_templates_for_lang = opts.found_templates_for_lang or {}
if #found_templates_for_lang == 0 then
return {}
end
local entry_title = opts.entry_title
local entry_lang = opts.entry_lang
local etymon_lang_code = opts.etymon_lang_code
if not entry_title or not entry_lang or not etymon_lang_code then
return {}
end
local sanitized_lang_section = _strip_refs(opts.lang_section or "")
return _build_checks_by_id(
sanitized_lang_section,
etymon_lang_code,
found_templates_for_lang,
entry_title,
entry_lang
)
end
function export.cache_page_checks(opts)
if not ENABLE_DESCENDANTS_TRACKING then
return {}
end
opts = opts or {}
local cache_table = opts.cached_descendants_checks
local lang_page_key = opts.lang_page_key
if not cache_table or not lang_page_key then
return {}
end
local checks_by_id = _compute_checks_for_page(opts)
_store_checks(cache_table, lang_page_key, checks_by_id, opts.redirected_from)
return checks_by_id
end
function export.get_lookup_check(opts)
if not ENABLE_DESCENDANTS_TRACKING then
return nil
end
opts = opts or {}
return _get_cached_check(
opts.cached_descendants_checks,
opts.is_toplevel,
opts.base_key,
_resolve_cache_id(opts.lookup)
)
end
function export.get_term_sync_flags(keyword, term_status, descendants_check)
if not ENABLE_DESCENDANTS_TRACKING then
return false, false
end
local should_track = term_status == "ok"
and TRACKABLE_KEYWORDS[keyword] == true
and descendants_check ~= nil
if not should_track then
return false, false
end
return descendants_check.missing_header or false, descendants_check.missing_entry or false
end
return export
4s7fgrrzlyrph9b5wi7wes38xjypdvh
376791
376772
2026-09-28T00:45:30Z
Hakimi97
2668
Betulkan regex
376791
Scribunto
text/plain
local export = {}
local M = require("Module:module loader").init({
require = {
template_parser = "Module:template parser",
links = "Module:links",
languages = "Module:languages",
},
})
local TRACKABLE_KEYWORDS = {
inherited = true,
bor = true,
lbor = true,
slbor = true,
derived = true,
uder = true,
}
local DESCENDANT_TEMPLATES = {
["desc"] = true,
["descendant"] = true,
["desctree"] = true,
["descendants tree"] = true,
}
local SKIPPED_TERMS = {
[""] = true,
["-"] = true,
}
local CHECK_MISSING_HEADER = { missing_header = true, missing_entry = false }
local STRIPPED_REF_TEMPLATES = {
ref = true,
refn = true,
}
local ENABLE_DESCENDANTS_TRACKING = false
local function _resolve_explicit_cache_id(explicit_id, parent_etymon)
if parent_etymon then
return parent_etymon.id or "*"
end
return explicit_id
end
local function _resolve_single_cache_id(id_data)
return (type(id_data) == "table" and id_data.id) or id_data or "*"
end
local function _resolve_cache_id(lookup)
if not lookup then
return nil
end
if lookup.id then
return lookup.id
end
if lookup.explicit_id then
return _resolve_explicit_cache_id(lookup.explicit_id, lookup.parent_etymon)
end
if lookup.id_data ~= nil then
return _resolve_single_cache_id(lookup.id_data)
end
return nil
end
local function _get_cached_check(cache_table, is_toplevel, base_key, cache_id)
if not is_toplevel or not cache_table or not base_key or not cache_id then
return nil
end
return cache_table[base_key .. ":" .. cache_id]
end
local function _store_checks(cache_table, lang_page_key, checks_by_id, redirected_from)
if not cache_table or not lang_page_key or not checks_by_id then
return
end
for id, check in pairs(checks_by_id) do
cache_table[lang_page_key .. ":" .. id] = check
end
if redirected_from then
for id, check in pairs(checks_by_id) do
cache_table[redirected_from .. ":" .. id] = check
end
end
end
local function _strip_refs(value)
if type(value) ~= "string" or value == "" then
return value
end
local get_node_class = M.template_parser.class_else_type
local function trim_local(text)
return (type(text) == "string" and text:match("^%s*(.-)%s*$")) or ""
end
local function lower_local(text)
return text and mw.ustring.lower(text) or text
end
local function template_name_unexpanded(template_node)
return lower_local(trim_local(tostring(template_node[1]) or ""))
end
local function stringify_without_ref_templates(node)
if type(node) ~= "table" then
return node == nil and "" or tostring(node)
end
local node_class = get_node_class(node)
if node_class == "template" and STRIPPED_REF_TEMPLATES[template_name_unexpanded(node)] then
return ""
end
if node_class == "template" then
return tostring(node)
end
if node_class == "heading" then
return tostring(node)
end
if node_class and node_class ~= "wikitext" then
return tostring(node)
end
local pieces = {}
for i = 1, #node do
pieces[i] = stringify_without_ref_templates(node[i])
end
return table.concat(pieces)
end
local parsed = M.template_parser.parse(value)
local cleaned = stringify_without_ref_templates(parsed)
local changed = true
while changed do
local next_cleaned = mw.ustring.gsub(cleaned, "<%s*[Rr][Ee][Ff][^>]-/>", "")
next_cleaned = mw.ustring.gsub(next_cleaned, "<%s*[Rr][Ee][Ff][^>]*>.-<%s*/%s*[Rr][Ee][Ff]%s*>", "")
next_cleaned = mw.ustring.gsub(next_cleaned, "{{%s*[Rr][Ee][Ff]%s*}}", "")
next_cleaned = mw.ustring.gsub(next_cleaned, "{{%s*[Rr][Ee][Ff]%s*|[^{}]-}}", "")
changed = next_cleaned ~= cleaned
cleaned = next_cleaned
end
return cleaned
end
local function _trim(value)
if type(value) ~= "string" then
return nil
end
return value:match("^%s*(.-)%s*$")
end
local function _lower(value)
return value and mw.ustring.lower(value) or value
end
local function _is_index_in_range(index, start_index, end_index)
return index and index >= start_index and index <= end_index
end
local function _build_parse_index(lang_section)
local parsed = M.template_parser.parse(lang_section)
local headings = {}
local templates = {}
for heading in parsed:iterate_nodes("heading") do
local heading_name = heading:get_name()
table.insert(headings, {
index = heading.index or 1,
level = heading.level or 0,
name = heading_name and _lower(_trim(heading_name) or "") or nil,
length = #tostring(heading),
})
end
for template in parsed:iterate_nodes("template") do
local template_name = template:get_name()
local template_args = template:get_arguments()
table.insert(templates, {
index = template.index or 1,
name = template_name and _lower(_trim(template_name) or "") or "",
args = template_args or {},
})
end
return {
headings = headings,
templates = templates,
}
end
local function _build_regions(lang_section, headings)
local content_length = #lang_section
local etymology_headings = {}
for _, heading in ipairs(headings) do
if heading.level == 3 and heading.name and mw.ustring.match(heading.name, "^[Ee]timologi") then
table.insert(etymology_headings, heading)
end
end
if #etymology_headings == 0 then
return {
{ start_index = 1, end_index = content_length }
}
end
local regions = {}
for i = 1, #etymology_headings do
local heading = etymology_headings[i]
local next_heading = etymology_headings[i + 1]
local start_index = heading.index
local end_index = next_heading and (next_heading.index - 1) or content_length
if i == 1 and heading.index > 1 then
local preamble = lang_section:sub(1, heading.index - 1)
if preamble:match("%S") then
start_index = 1
end
end
table.insert(regions, {
start_index = start_index,
end_index = end_index,
})
end
return regions
end
local function _count_region_etymons(region, templates, etymon_lang_code)
local count = 0
for _, template in ipairs(templates) do
if _is_index_in_range(template.index, region.start_index, region.end_index)
and template.name == "etymon"
and template.args[1] == etymon_lang_code then
count = count + 1
end
end
return count
end
local function _get_descendants_sections(region, headings)
local sections = {}
for i = 1, #headings do
local heading = headings[i]
if _is_index_in_range(heading.index, region.start_index, region.end_index)
and heading.name == "turunan" then
local body_start = heading.index + heading.length
local body_end = region.end_index
for j = i + 1, #headings do
local next_heading = headings[j]
if next_heading.index > region.end_index then
break
end
if next_heading.level <= heading.level then
body_end = next_heading.index - 1
break
end
end
table.insert(sections, {
start_index = body_start,
end_index = body_end,
})
end
end
return sections
end
local function _template_lang_matches_entry(template_lang_code, entry_full_code, cache)
local normalized_code = _trim(template_lang_code)
if not normalized_code or normalized_code == "" then
return false
end
local cached = cache[normalized_code]
if cached ~= nil then
return cached
end
local template_lang = M.languages.getByCode(normalized_code, nil, true)
local is_match = template_lang and template_lang:getFullCode() == entry_full_code or false
cache[normalized_code] = is_match
return is_match
end
local function _template_lists_target(template_args, first_term_index, target_page_lower, entry_lang)
for arg_index = first_term_index, #template_args do
local template_term = _trim(template_args[arg_index])
if template_term and not SKIPPED_TERMS[template_term] then
if _lower(template_term) == target_page_lower then
return true
end
local template_page = M.links.get_link_page(template_term, entry_lang)
if _lower(template_page) == target_page_lower then
return true
end
end
end
return false
end
local function _is_target_listed_in_descendants(descendants_sections, templates, entry_title, entry_lang)
if #descendants_sections == 0 then
return false
end
local target_page = M.links.get_link_page(entry_title, entry_lang)
local target_page_lower = _lower(target_page)
local entry_full_code = entry_lang:getFullCode()
local lang_match_cache = {}
for _, section in ipairs(descendants_sections) do
for _, template in ipairs(templates) do
if _is_index_in_range(template.index, section.start_index, section.end_index)
and DESCENDANT_TEMPLATES[template.name] then
local lang_arg_index = nil
for arg_index = 1, #template.args do
if _template_lang_matches_entry(template.args[arg_index], entry_full_code, lang_match_cache) then
lang_arg_index = arg_index
break
end
end
if lang_arg_index and _template_lists_target(template.args, lang_arg_index + 1, target_page_lower, entry_lang) then
return true
end
end
end
end
return false
end
local function _region_has_descendant_template(region, templates)
for _, template in ipairs(templates) do
if _is_index_in_range(template.index, region.start_index, region.end_index)
and DESCENDANT_TEMPLATES[template.name] then
return true
end
end
return false
end
local function _get_region_check(region, parsed_index, entry_title, entry_lang)
local descendants_sections = _get_descendants_sections(region, parsed_index.headings)
if #descendants_sections == 0 then
if _region_has_descendant_template(region, parsed_index.templates) then
local fallback_sections = { {
start_index = region.start_index,
end_index = region.end_index,
} }
return {
missing_header = false,
missing_entry = not _is_target_listed_in_descendants(fallback_sections, parsed_index.templates, entry_title, entry_lang),
}
end
return CHECK_MISSING_HEADER
end
return {
missing_header = false,
missing_entry = not _is_target_listed_in_descendants(descendants_sections, parsed_index.templates, entry_title, entry_lang),
}
end
local function _build_checks_by_id(lang_section, etymon_lang_code, found_templates_for_lang, entry_title, entry_lang)
local checks_by_id = {}
local parsed_index = _build_parse_index(lang_section)
local regions = _build_regions(lang_section, parsed_index.headings)
local template_list_index = 1
local mapping_failed = false
for _, region in ipairs(regions) do
local region_etymon_count = _count_region_etymons(region, parsed_index.templates, etymon_lang_code)
local region_check = nil
if region_etymon_count > 0 then
region_check = _get_region_check(region, parsed_index, entry_title, entry_lang)
end
for _ = 1, region_etymon_count do
local found_template_args = found_templates_for_lang[template_list_index]
if not found_template_args then
mapping_failed = true
break
end
checks_by_id[found_template_args.id or "*"] = region_check
template_list_index = template_list_index + 1
end
if mapping_failed then
break
end
end
if mapping_failed or template_list_index ~= (#found_templates_for_lang + 1) then
local global_region = { start_index = 1, end_index = #lang_section }
local fallback_check = _get_region_check(global_region, parsed_index, entry_title, entry_lang)
checks_by_id = {}
for _, template_args in ipairs(found_templates_for_lang) do
checks_by_id[template_args.id or "*"] = fallback_check
end
end
return checks_by_id
end
local function _compute_checks_for_page(opts)
opts = opts or {}
local found_templates_for_lang = opts.found_templates_for_lang or {}
if #found_templates_for_lang == 0 then
return {}
end
local entry_title = opts.entry_title
local entry_lang = opts.entry_lang
local etymon_lang_code = opts.etymon_lang_code
if not entry_title or not entry_lang or not etymon_lang_code then
return {}
end
local sanitized_lang_section = _strip_refs(opts.lang_section or "")
return _build_checks_by_id(
sanitized_lang_section,
etymon_lang_code,
found_templates_for_lang,
entry_title,
entry_lang
)
end
function export.cache_page_checks(opts)
if not ENABLE_DESCENDANTS_TRACKING then
return {}
end
opts = opts or {}
local cache_table = opts.cached_descendants_checks
local lang_page_key = opts.lang_page_key
if not cache_table or not lang_page_key then
return {}
end
local checks_by_id = _compute_checks_for_page(opts)
_store_checks(cache_table, lang_page_key, checks_by_id, opts.redirected_from)
return checks_by_id
end
function export.get_lookup_check(opts)
if not ENABLE_DESCENDANTS_TRACKING then
return nil
end
opts = opts or {}
return _get_cached_check(
opts.cached_descendants_checks,
opts.is_toplevel,
opts.base_key,
_resolve_cache_id(opts.lookup)
)
end
function export.get_term_sync_flags(keyword, term_status, descendants_check)
if not ENABLE_DESCENDANTS_TRACKING then
return false, false
end
local should_track = term_status == "ok"
and TRACKABLE_KEYWORDS[keyword] == true
and descendants_check ~= nil
if not should_track then
return false, false
end
return descendants_check.missing_header or false, descendants_check.missing_entry or false
end
return export
hz3frtg1989idt47ecdmpmox102vq5y
Rekonstruksi:Bahasa Jermanik Purba/fuhsaz
110
145829
376769
375902
2026-09-27T16:59:34Z
SNN95
2113
/* Lihat juga */
376769
wikitext
text/x-wiki
{{reconstructed}}
==Bahasa Jermanik Purba==
===Etimologi===
{{etymon|gem-pro|id=Q8331|:inh|ine-pro:*púḱsos<id:?>}}
Daripada {{inh|gem-pro|ine-pro|*púḱsos||yang berekor}}. Kognat dengan {{cog|sa|पुच्छ|tr=púccha|t=ekor, batang}},<ref name="EDPG">{{R:gem:EDPG|pages=157-8|head=*fuhsa-}}</ref> {{cog|ae|𐬞𐬎𐬯𐬀}}.
===Sebutan===
* {{IPA|gem-pro|/ˈɸux.sɑz/}}
===Kata nama===
{{gem-noun|m}}<ref name="EDPG" />{{tlb|gem-pro|Jermanik Barat}}
# [[musang]]
====Infleksi====
{{gem-decl-noun}}
====Perkataan berkaitan====
* {{l|gem-pro|*fuhsinī|gloss=vixen}}
* {{l|gem-pro|*fuhǭ|gloss=vixen}}
====Turunan====
* {{desctree|gmw-pro|*fuhs}}
===Lihat juga===
* {{l+|gmq-pro|*rebaʀ|t=musang}}
===Rujukan===
{{reflist}}
{{C|gem-pro|Musang}}
tp6uytdet99l0wd9j3mn2amumv4cjo3
Wikikamus:id/piring
4
146101
376861
376720
2026-09-28T03:56:21Z
~2026-52009-81
11534
376861
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# pinggan
#:{{cp|id|saya makan di atas '''piring'''|Saya makan menggunakan '''pinggan'''}}
as0z5lecevyb8b477tnoafeatbcwd2t
Wikikamus:id/acak
4
146163
376854
376644
2026-09-28T03:28:45Z
Rachmat04
3001
376854
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
=== Kata nama ===
# gambaran sesuatu pemilihan yang tidak terbatas atau, jika terbatas, hendaklah diwujudkan dengan menggunakan pemilihan secara kebetulan
===Kata sifat===
# [[rawak]]
#: {{cp|id|Pemenang undian dipilih secara '''acak''' oleh sistem.|Pemenang cabutan bertuah dipilih secara '''rawak''' oleh sistem.}}
===Sebutan===
* {{penyempangan|id|a|cak}}
===Pautan luar===
* {{R:KBBI Daring}}
06p6xao2dtmgmg9tb84zr7j8lpm0s9z
Wikikamus:bdr/enselan
4
146276
376736
2026-09-27T13:59:57Z
Sipatung
10839
Mencipta laman
376736
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata nama===
{{inti|bdr|kata nama}}
# {{label|1=bdr|2=dialek|3=Sabah}} minyak {{cp|bdr|Aku meli '''enselan''' ta' kadai Gui.|Saya beli '''[[minyak]]''' di kedai Gui.}}
7nu7tdnr5fj77meyjme9zpaougg9rvq
Wikikamus:id/tenung
4
146277
376737
2026-09-27T16:00:36Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # kemahiran dll. untuk mengetahui (meramalkan) sesuatu yang ghaib (seperti meramalkan nasib, mencari orang hilang) # ilmu hitam untuk mencederakan orang'
376737
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# kemahiran dll. untuk mengetahui (meramalkan) sesuatu yang ghaib (seperti meramalkan nasib, mencari orang hilang)
# ilmu hitam untuk mencederakan orang
px7qcvioyymycuza9h74qw7jkumdhkn
Wikikamus:id/tenunan
4
146278
376738
2026-09-27T16:01:20Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # produk tenunan; barangan tenunan'
376738
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# produk tenunan; barangan tenunan
256lymgndne7d3w9wkoctbowuu1seh1
Wikikamus:id/tenun
4
146279
376739
2026-09-27T16:02:30Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # produk kraf dalam bentuk bahan (kain) yang diperbuat daripada benang (kapas, sutera, dll.) dengan memasukkan pakan secara melintang ke dalam lungsin'
376739
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata kerja}}
# produk kraf dalam bentuk bahan (kain) yang diperbuat daripada benang (kapas, sutera, dll.) dengan memasukkan pakan secara melintang ke dalam lungsin
di92p4i96rf81p3ku84130g6cpht4jo
Wikikamus:id/menenun
4
146280
376740
2026-09-27T16:03:13Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # membuat barangan tenunan (daripada kapas, benang sutera)'
376740
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# membuat barangan tenunan (daripada kapas, benang sutera)
g78mwxaneggxjnfk6hgg88u5p6fwevy
Wikikamus:id/menentukan
4
146281
376741
2026-09-27T16:04:22Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # memastikan (pasti); menetapkan; memastikan # memutuskan; membuat peruntukan # untuk menentukan (mentakrifkan)'
376741
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# memastikan (pasti); menetapkan; memastikan
# memutuskan; membuat peruntukan
# untuk menentukan (mentakrifkan)
2hi5wjyvqb9kwjci0mo2bg0hazfq3vh
Modul:gem-decl-noun
828
146282
376742
2026-09-27T16:04:31Z
SNN95
2113
letak dulu, terjemah kemudian
376742
Scribunto
text/plain
local export = {}
local m_inflection_table = require("Module:inflection-table")
local m_pron = require("Module:gem-pronunc")
local m_links = require("Module:links")
local m_utils = require("Module:utilities")
local lang = require("Module:languages").getByCode("gem-pro")
local i_muts = m_pron.i_mutations
local decl_data = require("Module:gem-decl-noun/data")
local decl_data_irreg = require("Module:gem-decl-noun/data/irreg")
local endings = {
["az"] = "a-m", ["ą"] = "a-n", ["iz"] = "i-mf", ["i"] = "i-n", ["ī"] = "ijo-f", ["į̄"] = "in-f",
["ǭ"] = "n-f", ["ō"] = "o-f", ["ēr"] = "r-mf", ["uz"] = "u-mf", ["u"] = "u-n"
}
local endings_reverse = {
["a-m"] = "az", ["a-n"] = "ą", ["cons-n"] = "", ["i-mf"] = "iz", ["i-m"] = "iz", ["i-f"] = "iz", ["i-n"] = "i",
["ijo-f"] = "ī", ["in-f"] = "į̄", ["n-m"] = "ô", ["n-n"] = "ô", ["n-f"] = "ǭ", ["o-f"] = "ō", ["r-mf"] = "ēr", ["r-m"] = "ēr",
["r-f"] = "ēr", ["u-mf"] = "uz", ["u-m"] = "uz", ["u-f"] = "uz", ["u-n"] = "u", ["z-n"] = "az",
}
local function detect_decl(word, stem, gender)
if stem and gender then
local decl = stem .. "-" .. gender
return decl, {mw.ustring.sub(word, 1, -(mw.ustring.len(endings_reverse[decl]) + 1))}
elseif stem == "z" and mw.ustring.sub(word, -2) == "az" then -- z-stem
return "z-n", {mw.ustring.sub(word, 1, -3)}
elseif mw.ustring.find(word, "ô$") then -- an-stem
if gender then
return "n-" .. gender, {mw.ustring.sub(word, 1, -2)}
else
error("Gender must be specified for an-stems.")
end
else
for ending, decl in pairs(endings) do
if mw.ustring.find(word, ending .. "$") then
return decl, {mw.ustring.sub(word, 1, -(mw.ustring.len(ending) + 1))}
end
end
-- No matches, assume consonant stem. Now check for s-stems
local stem = ""
if mw.ustring.sub(word, -1, -1) == "s" and not mw.ustring.find(mw.ustring.sub(word, -2, -2), "[fhkptþ]") then
stem = word
else
stem = mw.ustring.sub(word, 1, -2)
end
return (gender and "cons-" .. gender or "cons-mf"), {stem}
end
end
local function add_asterisks(forms, data)
for _, form in ipairs(forms) do
for i, subform in ipairs(data.forms[form]) do
data.forms[form][i] = "*" .. subform
end
end
end
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local parent_args = frame:getParent().args
if mw.title.getCurrentTitle().nsText ~= "Reconstruction" then return end
local stems = nil
local decl_type = {}
local word = mw.loadData("Module:headword/data").pagename
local args = {}
if not decl_data_irreg[word] then
if frame.args.decl then
decl_type = frame.args.decl
else
if parent_args.stem and parent_args.g and parent_args[1] then
decl_type = parent_args.stem .. "-" .. parent_args.g
stems = {parent_args[1]}
else
decl_type, stems = detect_decl(word, parent_args.stem, parent_args.g)
end
end
if not decl_type then
error("Unknown declension '" .. decl_type .. "'")
end
args = require("Module:parameters").process(parent_args, decl_data[decl_type].params, true)
if stems then
for i, stem in ipairs(stems) do
args[i] = stem
end
end
end
local data = {forms = {}, categories = {}}
data.head = parent_args["head"] or nil
-- Generate the forms
if decl_data_irreg[word] then
table.insert(data.categories, "Proto-Germanic irregular nouns")
decl_data_irreg[word](parent_args, data)
else
decl_data[decl_type](args, data)
end
-- Make the table
return make_table(data)
end
function make_table(data)
local function show_form(form)
if not form then
return "—"
end
local ret = {}
for key, subform in ipairs(form) do
if mw.ustring.find(subform, "[iīįǐj]") or mw.ustring.find(subform, "e[mn]") then
subform = i_muts(subform)
end
if subform ~= "—" then
subform = "*" .. subform
end
table.insert(ret, subform)
end
return table.concat(ret, ", ")
end
local function repl(param)
if param == "decl_type" then
return data.decl_type
elseif param == "title" then
return "*" .. data.forms.nom_sg[1]
else
return show_form(data.forms[param])
end
end
local function make_cases(data)
local cases = {"nominative", "vocative", "accusative", "genitive", "dative", "instrumental"}
local ret = {}
for _, case in ipairs(cases) do
local case_short = mw.ustring.sub(case, 1, 3)
-- assert(false, case_short)
table.insert(ret, "|- \n! | " .. case .. "\n")
table.insert(ret, "| " .. show_form(data.forms[case_short .. "_sg"]) .. "\n")
if data.forms[case_short .. "_pl"] then
table.insert(ret, "| " .. show_form(data.forms[case_short .. "_pl"]) .. "\n")
end
end
return table.concat(ret)
end
local no_plural = data.forms.nom_pl == nil
local table_top = m_inflection_table.make_top{
title = 'Declension of <span lang="gem-pro">{{{title}}}</span> ({{{decl_type}}})',
palette = 'orange',
tall = 'yes',
}
local table_bottom = m_inflection_table.make_bottom{}
local wikicode = table_top .. [=[
! class="outer" |
! class="outer" | singular ]=] .. (no_plural and "\n" or [=[
! class="outer" | plural
]=]) .. make_cases(data) .. [=[
]=] .. table_bottom
return (mw.ustring.gsub(wikicode, "{{{([a-z0-9_]+)}}}", repl)) .. m_utils.format_categories(data.categories, lang)
end
return export
89syd5978ofs1ge46mm2h98jy1gta1q
376750
376742
2026-09-27T16:29:17Z
SNN95
2113
kemaskini
376750
Scribunto
text/plain
local export = {}
local m_inflection_table = require("Module:inflection-table")
local m_pron = require("Module:gem-pronunc")
local m_links = require("Module:links")
local m_utils = require("Module:utilities")
local lang = require("Module:languages").getByCode("gem-pro")
local i_muts = m_pron.i_mutations
local decl_data = require("Module:gem-decl-noun/data")
local decl_data_irreg = require("Module:gem-decl-noun/data/irreg")
local endings = {
["az"] = "a-m", ["ą"] = "a-n", ["iz"] = "i-mf", ["i"] = "i-n", ["ī"] = "ijo-f", ["į̄"] = "in-f",
["ǭ"] = "n-f", ["ō"] = "o-f", ["ēr"] = "r-mf", ["uz"] = "u-mf", ["u"] = "u-n"
}
local endings_reverse = {
["a-m"] = "az", ["a-n"] = "ą", ["cons-n"] = "", ["i-mf"] = "iz", ["i-m"] = "iz", ["i-f"] = "iz", ["i-n"] = "i",
["ijo-f"] = "ī", ["in-f"] = "į̄", ["n-m"] = "ô", ["n-n"] = "ô", ["n-f"] = "ǭ", ["o-f"] = "ō", ["r-mf"] = "ēr", ["r-m"] = "ēr",
["r-f"] = "ēr", ["u-mf"] = "uz", ["u-m"] = "uz", ["u-f"] = "uz", ["u-n"] = "u", ["z-n"] = "az",
}
local function detect_decl(word, stem, gender)
if stem and gender then
local decl = stem .. "-" .. gender
return decl, {mw.ustring.sub(word, 1, -(mw.ustring.len(endings_reverse[decl]) + 1))}
elseif stem == "z" and mw.ustring.sub(word, -2) == "az" then -- z-stem
return "z-n", {mw.ustring.sub(word, 1, -3)}
elseif mw.ustring.find(word, "ô$") then -- an-stem
if gender then
return "n-" .. gender, {mw.ustring.sub(word, 1, -2)}
else
error("Gender must be specified for an-stems.")
end
else
for ending, decl in pairs(endings) do
if mw.ustring.find(word, ending .. "$") then
return decl, {mw.ustring.sub(word, 1, -(mw.ustring.len(ending) + 1))}
end
end
-- No matches, assume consonant stem. Now check for s-stems
local stem = ""
if mw.ustring.sub(word, -1, -1) == "s" and not mw.ustring.find(mw.ustring.sub(word, -2, -2), "[fhkptþ]") then
stem = word
else
stem = mw.ustring.sub(word, 1, -2)
end
return (gender and "cons-" .. gender or "cons-mf"), {stem}
end
end
local function add_asterisks(forms, data)
for _, form in ipairs(forms) do
for i, subform in ipairs(data.forms[form]) do
data.forms[form][i] = "*" .. subform
end
end
end
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local parent_args = frame:getParent().args
if mw.title.getCurrentTitle().nsText ~= "Rekonstruksi" then return end
local stems = nil
local decl_type = {}
local word = mw.loadData("Module:headword/data").pagename
local args = {}
if not decl_data_irreg[word] then
if frame.args.decl then
decl_type = frame.args.decl
else
if parent_args.stem and parent_args.g and parent_args[1] then
decl_type = parent_args.stem .. "-" .. parent_args.g
stems = {parent_args[1]}
else
decl_type, stems = detect_decl(word, parent_args.stem, parent_args.g)
end
end
if not decl_type then
error("Unknown declension '" .. decl_type .. "'")
end
args = require("Module:parameters").process(parent_args, decl_data[decl_type].params, true)
if stems then
for i, stem in ipairs(stems) do
args[i] = stem
end
end
end
local data = {forms = {}, categories = {}}
data.head = parent_args["head"] or nil
-- Generate the forms
if decl_data_irreg[word] then
table.insert(data.categories, "Kata nama tak teratur bahasa Jermanik Purba")
decl_data_irreg[word](parent_args, data)
else
decl_data[decl_type](args, data)
end
-- Make the table
return make_table(data)
end
function make_table(data)
local function show_form(form)
if not form then
return "—"
end
local ret = {}
for key, subform in ipairs(form) do
if mw.ustring.find(subform, "[iīįǐj]") or mw.ustring.find(subform, "e[mn]") then
subform = i_muts(subform)
end
if subform ~= "—" then
subform = "*" .. subform
end
table.insert(ret, subform)
end
return table.concat(ret, ", ")
end
local function repl(param)
if param == "decl_type" then
return data.decl_type
elseif param == "title" then
return "*" .. data.forms.nom_sg[1]
else
return show_form(data.forms[param])
end
end
local function make_cases(data)
local cases = {"nominatif", "vokatif", "akusatif", "genitif", "datif", "instrumental"}
local ret = {}
for _, case in ipairs(cases) do
local case_short = mw.ustring.sub(case, 1, 3)
-- assert(false, case_short)
table.insert(ret, "|- \n! | " .. case .. "\n")
table.insert(ret, "| " .. show_form(data.forms[case_short .. "_sg"]) .. "\n")
if data.forms[case_short .. "_pl"] then
table.insert(ret, "| " .. show_form(data.forms[case_short .. "_pl"]) .. "\n")
end
end
return table.concat(ret)
end
local no_plural = data.forms.nom_pl == nil
local table_top = m_inflection_table.make_top{
title = 'Deklensi bagi <span lang="gem-pro">{{{title}}}</span> ({{{decl_type}}})',
palette = 'orange',
tall = 'yes',
}
local table_bottom = m_inflection_table.make_bottom{}
local wikicode = table_top .. [=[
! class="outer" |
! class="outer" | singular ]=] .. (no_plural and "\n" or [=[
! class="outer" | plural
]=]) .. make_cases(data) .. [=[
]=] .. table_bottom
return (mw.ustring.gsub(wikicode, "{{{([a-z0-9_]+)}}}", repl)) .. m_utils.format_categories(data.categories, lang)
end
return export
m2962kawvqg4tyhxwbnu9mgnw39fxvl
376751
376750
2026-09-27T16:31:57Z
SNN95
2113
376751
Scribunto
text/plain
local export = {}
local m_inflection_table = require("Module:inflection-table")
local m_pron = require("Module:gem-pronunc")
local m_links = require("Module:links")
local m_utils = require("Module:utilities")
local lang = require("Module:languages").getByCode("gem-pro")
local i_muts = m_pron.i_mutations
local decl_data = require("Module:gem-decl-noun/data")
local decl_data_irreg = require("Module:gem-decl-noun/data/irreg")
local endings = {
["az"] = "a-m", ["ą"] = "a-n", ["iz"] = "i-mf", ["i"] = "i-n", ["ī"] = "ijo-f", ["į̄"] = "in-f",
["ǭ"] = "n-f", ["ō"] = "o-f", ["ēr"] = "r-mf", ["uz"] = "u-mf", ["u"] = "u-n"
}
local endings_reverse = {
["a-m"] = "az", ["a-n"] = "ą", ["cons-n"] = "", ["i-mf"] = "iz", ["i-m"] = "iz", ["i-f"] = "iz", ["i-n"] = "i",
["ijo-f"] = "ī", ["in-f"] = "į̄", ["n-m"] = "ô", ["n-n"] = "ô", ["n-f"] = "ǭ", ["o-f"] = "ō", ["r-mf"] = "ēr", ["r-m"] = "ēr",
["r-f"] = "ēr", ["u-mf"] = "uz", ["u-m"] = "uz", ["u-f"] = "uz", ["u-n"] = "u", ["z-n"] = "az",
}
local function detect_decl(word, stem, gender)
if stem and gender then
local decl = stem .. "-" .. gender
return decl, {mw.ustring.sub(word, 1, -(mw.ustring.len(endings_reverse[decl]) + 1))}
elseif stem == "z" and mw.ustring.sub(word, -2) == "az" then -- z-stem
return "z-n", {mw.ustring.sub(word, 1, -3)}
elseif mw.ustring.find(word, "ô$") then -- an-stem
if gender then
return "n-" .. gender, {mw.ustring.sub(word, 1, -2)}
else
error("Gender must be specified for an-stems.")
end
else
for ending, decl in pairs(endings) do
if mw.ustring.find(word, ending .. "$") then
return decl, {mw.ustring.sub(word, 1, -(mw.ustring.len(ending) + 1))}
end
end
-- No matches, assume consonant stem. Now check for s-stems
local stem = ""
if mw.ustring.sub(word, -1, -1) == "s" and not mw.ustring.find(mw.ustring.sub(word, -2, -2), "[fhkptþ]") then
stem = word
else
stem = mw.ustring.sub(word, 1, -2)
end
return (gender and "cons-" .. gender or "cons-mf"), {stem}
end
end
local function add_asterisks(forms, data)
for _, form in ipairs(forms) do
for i, subform in ipairs(data.forms[form]) do
data.forms[form][i] = "*" .. subform
end
end
end
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local parent_args = frame:getParent().args
if mw.title.getCurrentTitle().nsText ~= "Rekonstruksi" then return end
local stems = nil
local decl_type = {}
local word = mw.loadData("Module:headword/data").pagename
local args = {}
if not decl_data_irreg[word] then
if frame.args.decl then
decl_type = frame.args.decl
else
if parent_args.stem and parent_args.g and parent_args[1] then
decl_type = parent_args.stem .. "-" .. parent_args.g
stems = {parent_args[1]}
else
decl_type, stems = detect_decl(word, parent_args.stem, parent_args.g)
end
end
if not decl_type then
error("Unknown declension '" .. decl_type .. "'")
end
args = require("Module:parameters").process(parent_args, decl_data[decl_type].params, true)
if stems then
for i, stem in ipairs(stems) do
args[i] = stem
end
end
end
local data = {forms = {}, categories = {}}
data.head = parent_args["head"] or nil
-- Generate the forms
if decl_data_irreg[word] then
table.insert(data.categories, "Kata nama tak teratur bahasa Jermanik Purba")
decl_data_irreg[word](parent_args, data)
else
decl_data[decl_type](args, data)
end
-- Make the table
return make_table(data)
end
function make_table(data)
local function show_form(form)
if not form then
return "—"
end
local ret = {}
for key, subform in ipairs(form) do
if mw.ustring.find(subform, "[iīįǐj]") or mw.ustring.find(subform, "e[mn]") then
subform = i_muts(subform)
end
if subform ~= "—" then
subform = "*" .. subform
end
table.insert(ret, subform)
end
return table.concat(ret, ", ")
end
local function repl(param)
if param == "decl_type" then
return data.decl_type
elseif param == "title" then
return "*" .. data.forms.nom_sg[1]
else
return show_form(data.forms[param])
end
end
local function make_cases(data)
local cases = {"nominatif", "vokatif", "akusatif", "genitif", "datif", "instrumental"}
local ret = {}
for _, case in ipairs(cases) do
local case_short = mw.ustring.sub(case, 1, 3)
-- assert(false, case_short)
table.insert(ret, "|- \n! | " .. case .. "\n")
table.insert(ret, "| " .. show_form(data.forms[case_short .. "_sg"]) .. "\n")
if data.forms[case_short .. "_pl"] then
table.insert(ret, "| " .. show_form(data.forms[case_short .. "_pl"]) .. "\n")
end
end
return table.concat(ret)
end
local no_plural = data.forms.nom_pl == nil
local table_top = m_inflection_table.make_top{
title = 'Deklensi bagi <span lang="gem-pro">{{{title}}}</span> ({{{decl_type}}})',
palette = 'orange',
tall = 'yes',
}
local table_bottom = m_inflection_table.make_bottom{}
local wikicode = table_top .. [=[
! class="outer" |
! class="outer" | tunggal ]=] .. (no_plural and "\n" or [=[
! class="outer" | jamak
]=]) .. make_cases(data) .. [=[
]=] .. table_bottom
return (mw.ustring.gsub(wikicode, "{{{([a-z0-9_]+)}}}", repl)) .. m_utils.format_categories(data.categories, lang)
end
return export
84ukqfje5lqnqh9ga8909u4wsgy37v1
376792
376751
2026-09-28T00:49:19Z
Hakimi97
2668
Deklensi > Tasrif, Tunggal > Mufrad
376792
Scribunto
text/plain
local export = {}
local m_inflection_table = require("Module:inflection-table")
local m_pron = require("Module:gem-pronunc")
local m_links = require("Module:links")
local m_utils = require("Module:utilities")
local lang = require("Module:languages").getByCode("gem-pro")
local i_muts = m_pron.i_mutations
local decl_data = require("Module:gem-decl-noun/data")
local decl_data_irreg = require("Module:gem-decl-noun/data/irreg")
local endings = {
["az"] = "a-m", ["ą"] = "a-n", ["iz"] = "i-mf", ["i"] = "i-n", ["ī"] = "ijo-f", ["į̄"] = "in-f",
["ǭ"] = "n-f", ["ō"] = "o-f", ["ēr"] = "r-mf", ["uz"] = "u-mf", ["u"] = "u-n"
}
local endings_reverse = {
["a-m"] = "az", ["a-n"] = "ą", ["cons-n"] = "", ["i-mf"] = "iz", ["i-m"] = "iz", ["i-f"] = "iz", ["i-n"] = "i",
["ijo-f"] = "ī", ["in-f"] = "į̄", ["n-m"] = "ô", ["n-n"] = "ô", ["n-f"] = "ǭ", ["o-f"] = "ō", ["r-mf"] = "ēr", ["r-m"] = "ēr",
["r-f"] = "ēr", ["u-mf"] = "uz", ["u-m"] = "uz", ["u-f"] = "uz", ["u-n"] = "u", ["z-n"] = "az",
}
local function detect_decl(word, stem, gender)
if stem and gender then
local decl = stem .. "-" .. gender
return decl, {mw.ustring.sub(word, 1, -(mw.ustring.len(endings_reverse[decl]) + 1))}
elseif stem == "z" and mw.ustring.sub(word, -2) == "az" then -- z-stem
return "z-n", {mw.ustring.sub(word, 1, -3)}
elseif mw.ustring.find(word, "ô$") then -- an-stem
if gender then
return "n-" .. gender, {mw.ustring.sub(word, 1, -2)}
else
error("Gender must be specified for an-stems.")
end
else
for ending, decl in pairs(endings) do
if mw.ustring.find(word, ending .. "$") then
return decl, {mw.ustring.sub(word, 1, -(mw.ustring.len(ending) + 1))}
end
end
-- No matches, assume consonant stem. Now check for s-stems
local stem = ""
if mw.ustring.sub(word, -1, -1) == "s" and not mw.ustring.find(mw.ustring.sub(word, -2, -2), "[fhkptþ]") then
stem = word
else
stem = mw.ustring.sub(word, 1, -2)
end
return (gender and "cons-" .. gender or "cons-mf"), {stem}
end
end
local function add_asterisks(forms, data)
for _, form in ipairs(forms) do
for i, subform in ipairs(data.forms[form]) do
data.forms[form][i] = "*" .. subform
end
end
end
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local parent_args = frame:getParent().args
if mw.title.getCurrentTitle().nsText ~= "Rekonstruksi" then return end
local stems = nil
local decl_type = {}
local word = mw.loadData("Module:headword/data").pagename
local args = {}
if not decl_data_irreg[word] then
if frame.args.decl then
decl_type = frame.args.decl
else
if parent_args.stem and parent_args.g and parent_args[1] then
decl_type = parent_args.stem .. "-" .. parent_args.g
stems = {parent_args[1]}
else
decl_type, stems = detect_decl(word, parent_args.stem, parent_args.g)
end
end
if not decl_type then
error("Unknown declension '" .. decl_type .. "'")
end
args = require("Module:parameters").process(parent_args, decl_data[decl_type].params, true)
if stems then
for i, stem in ipairs(stems) do
args[i] = stem
end
end
end
local data = {forms = {}, categories = {}}
data.head = parent_args["head"] or nil
-- Generate the forms
if decl_data_irreg[word] then
table.insert(data.categories, "Kata nama tak teratur bahasa Jermanik Purba")
decl_data_irreg[word](parent_args, data)
else
decl_data[decl_type](args, data)
end
-- Make the table
return make_table(data)
end
function make_table(data)
local function show_form(form)
if not form then
return "—"
end
local ret = {}
for key, subform in ipairs(form) do
if mw.ustring.find(subform, "[iīįǐj]") or mw.ustring.find(subform, "e[mn]") then
subform = i_muts(subform)
end
if subform ~= "—" then
subform = "*" .. subform
end
table.insert(ret, subform)
end
return table.concat(ret, ", ")
end
local function repl(param)
if param == "decl_type" then
return data.decl_type
elseif param == "title" then
return "*" .. data.forms.nom_sg[1]
else
return show_form(data.forms[param])
end
end
local function make_cases(data)
local cases = {"nominatif", "vokatif", "akusatif", "genitif", "datif", "instrumental"}
local ret = {}
for _, case in ipairs(cases) do
local case_short = mw.ustring.sub(case, 1, 3)
-- assert(false, case_short)
table.insert(ret, "|- \n! | " .. case .. "\n")
table.insert(ret, "| " .. show_form(data.forms[case_short .. "_sg"]) .. "\n")
if data.forms[case_short .. "_pl"] then
table.insert(ret, "| " .. show_form(data.forms[case_short .. "_pl"]) .. "\n")
end
end
return table.concat(ret)
end
local no_plural = data.forms.nom_pl == nil
local table_top = m_inflection_table.make_top{
title = 'Tasrif bagi <span lang="gem-pro">{{{title}}}</span> ({{{decl_type}}})',
palette = 'orange',
tall = 'yes',
}
local table_bottom = m_inflection_table.make_bottom{}
local wikicode = table_top .. [=[
! class="outer" |
! class="outer" | mufrad ]=] .. (no_plural and "\n" or [=[
! class="outer" | jamak
]=]) .. make_cases(data) .. [=[
]=] .. table_bottom
return (mw.ustring.gsub(wikicode, "{{{([a-z0-9_]+)}}}", repl)) .. m_utils.format_categories(data.categories, lang)
end
return export
og1l8y3cyd7g41sfiopqln0rz62p95g
Wikikamus:id/kenaikan
4
146283
376743
2026-09-27T16:05:37Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # mengenai peningkatan; peningkatan; penambahan # kenderaan; tunggangan'
376743
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# mengenai peningkatan; peningkatan; penambahan
# kenderaan; tunggangan
jn7rs098gu0n74qxkb6yd72iwcf7cyl
Templat:gem-decl-noun
10
146284
376744
2026-09-27T16:06:04Z
SNN95
2113
Mencipta laman baru dengan kandungan '{{#invoke:gem-decl-noun|show}}<!-- --><noinclude>{{documentation}}</noinclude>'
376744
wikitext
text/x-wiki
{{#invoke:gem-decl-noun|show}}<!--
--><noinclude>{{documentation}}</noinclude>
4jkmu1vnoswk63rgnvmj4pwdy9ubj5q
Wikikamus:id/kejayaan
4
146285
376745
2026-09-27T16:07:17Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # keagungan; kebesaran; kemasyhuran # keadaan yang stabil dan menguntungkan (baik dari segi material mahupun jiwa)'
376745
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# keagungan; kebesaran; kemasyhuran
# keadaan yang stabil dan menguntungkan (baik dari segi material mahupun jiwa)
mbaegwoe5f690f36h331cbrc5koz1i2
Modul:gem-pronunc
828
146286
376746
2026-09-27T16:07:35Z
SNN95
2113
letak dulu, terjemah kemudian
376746
Scribunto
text/plain
local export = {}
local m_IPA = require("Module:IPA")
local lang = require("Module:languages").getByCode("gem-pro")
local letters_internal = {
{ "ai", "aj" }, { "au", "aw" }, { "eu", "ew" }, { "iu", "iw" },
{ "hw", "hʷ" }, { "kw", "kʷ" }, { "gw", "gʷ" },
{ "ē₂", "ë" }, { "į̄", "ǐ" }, { "ǫ̂", "ơ" },
}
local phonetic_rules = {
{ "a", "ɑ" },
{ "ā", "ɑː" }, { "ë", "eː" }, { "ē", "ɛː" }, { "ī", "iː" }, { "ō", "ɔː" }, { "ū", "uː" },
{ "ê", "ɛːː" }, { "ô", "ɔːː" },
{ "ą", "ɑ̃" }, { "į", "ĩ" }, { "ų", "ũ" },
{ "ǐ", "ĩː" }, { "ǭ", "ɔ̃ː" },
{ "ơ", "ɔ̃ːː" },
{ "f", "ɸ" }, { "þ", "θ" },
{ "h", "x" }, { "hʷ", "xʷ" },
{ "^x", "h" }, { "^xʷ", "hʷ" },
{ "b", "β" }, { "^β", "b" }, { "mβ", "mb" },
{ "d", "ð" }, { "^ð", "d" }, { "([nlz])ð", "%1d" },
{ "g", "ɣ" }, { "nɣʷ", "ŋʷɡʷ" }, { "nɣ", "ŋɡ" },
}
local vowels = {
"a", "e", "i", "u",
"ā", "ē", "ë", "ī", "ō", "ū",
"ê", "ô",
"ą", "į", "ų",
"ǐ", "ǭ",
"ơ",
"-"
}
local onsets = {
"b", "p", "d", "t", "þ",
"g", "k", "kʷ", "gʷ",
"f", "s", "h", "hʷ", "z",
"l", "m", "n", "r", "j", "w",
"bl", "pl", "fl", "br", "pr", "fr", "þl", "wl",
"dr", "tr", "þr",
"gl", "kl", "hl", "gr", "kr", "hr", "wr",
"gn", "kn", "hn", "fn",
"dw", "tw", "þw", "kw", "hw",
"sp", "st", "sk", "sw", "sl", "sm", "sn", "sw",
"spr", "str", "skr",
"spl", "skl",
}
local codas = {
"b", "p", "pp", "þ", "d", "t", "f", "g", "k", "h",
"s", "z",
"l", "m", "n", "r", "j", "w",
"hʷ", "ww", "wz",
"sp", "st", "sk",
"lp", "lt", "lk",
"lb", "ld", "lg",
"lf", "lþ", "lh",
"rp", "rt", "rk",
"rb", "rd", "rg",
"rf", "rþ", "rh",
"mp", "nt", "nk", "nn",
"mb", "nd", "ng",
"mf", "nþ", "nh", "nhs",
"lm", "rl", "rm", "rn", "wh", "wr", "wl", "fl", "sl",
"ps", "ts", "ks", "hs", "ls", "ns", "rs", "þs", "sts", "hts",
"lks", "lhs", "nks", "rks", "rgz", "rhs", "nþs", "hsl",
"lms", "rls", "rms", "rns", "hst", "hsl", "rht", "rkt",
"ht", "rht",
"nz", "ndz", "dz", "gz", "ngz", "rz", "rbz", "rdz", "zn",
"ndr", "ntr", "ngr", "nkr", "nstr",
"jp", "jb", "js", "jz", "jt", "jd", "jþ", "jf", "jk", "jg", "jh", "jr",
"jst", "jzd", "jts", "jdz", "jks", "jgz", "jsk", "jzg", "jstr", "jzdr",
"jn", "jm", "jw", "jþm",
"kr", "jgl", "br", "t(t)",
}
for _, val in ipairs(vowels) do
vowels[val] = true
end
for _, val in ipairs(onsets) do
onsets[val] = true
end
for _, val in ipairs(codas) do
codas[val] = true
end
local function letters_to_internal(word)
local phonemes = {}
for _, rule in ipairs(letters_internal) do
word = mw.ustring.gsub(word, rule[1], rule[2])
end
mw.ustring.gsub(word, ".", function(c)
table.insert(phonemes, c)
end)
return phonemes
end
local function word_from_internal(word)
for _, rule in ipairs(letters_internal) do
word = mw.ustring.gsub(word, rule[2], rule[1])
end
return word
end
local function get_onset(syll)
local consonants = {}
for i = 1, #syll do
if vowels[syll[i]] then
break
end
table.insert(consonants, syll[i])
end
return table.concat(consonants)
end
local function get_coda(syll)
local consonants = {}
for i = #syll, 1, -1 do
if vowels[syll[i]] then
break
end
table.insert(consonants, 1, syll[i])
end
return table.concat(consonants)
end
local function get_vowel(syll)
for i = 1, #syll do
if vowels[syll[i]] then return syll[i] end
end
end
-- Split the word into syllables of CV shape
local function split_syllables(remainder)
local syllables = {}
local syll = {}
while #remainder > 0 do
local phoneme = table.remove(remainder, 1)
if vowels[phoneme] then
table.insert(syll, phoneme)
table.insert(syllables, syll)
syll = {}
else
table.insert(syll, phoneme)
end
end
-- If there are phonemes left, then the word ends in a consonant
-- Add them to the last syllable
for _, phoneme in ipairs(syll) do
table.insert(syllables[#syllables], phoneme)
end
-- Split consonant clusters between syllables
for i, current in ipairs(syllables) do
if i > 1 then
local previous = syllables[i - 1]
local onset = get_onset(current)
-- Shift over consonants until the syllable onset is valid
while not (onset == "" or onsets[onset]) do
table.insert(previous, table.remove(current, 1))
onset = get_onset(current)
end
-- If there is no vowel at all in this syllable
if not get_vowel(current) then
for j = 1, #current do
table.insert(syllables[i - 1], table.remove(current, 1))
end
table.remove(syllables, i)
end
end
end
for _, syll in ipairs(syllables) do
local onset = get_onset(syll)
local coda = get_coda(syll)
if not (onset == "" or onsets[onset]) then
require("Module:debug").track("gem-ipa/bad onset")
error("onset error: [" .. onset .. "]")
end
if not (coda == "" or codas[coda]) then
require("Module:debug").track("gem-ipa/bad coda")
error("coda error: [" .. coda .. "]")
end
end
return syllables
end
local function convert_word(word)
-- Convert word to a better internal representation
local phonemes = letters_to_internal(word)
-- Split into syllables
local syllables = split_syllables(phonemes)
for i, syll in ipairs(syllables) do
for j = 1, #syll - 1 do
if syll[j] == syll[j + 1] then
syll[j + 1] = ""
end
end
syllables[i] = table.concat(syll)
end
word = table.concat(syllables, ".")
for _, rule in ipairs(phonetic_rules) do
word = mw.ustring.gsub(word, rule[1], rule[2])
end
return word
end
local function convert_words(words)
words = mw.ustring.lower(words)
local result = {}
for word in mw.text.gsplit(words, " ") do
table.insert(result, convert_word(word))
end
return table.concat(result, " ")
end
function export.show_full(frame)
local params = {
[1] = { default = mw.title.getCurrentTitle().nsText ~= "Reconstruction" and "wurdą" or mw.loadData("Module:headword/data").pagename }
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local words = args[1]:lower()
local categories = {}
local out = m_IPA.format_IPA_full { lang = lang, items = {{ pron = "/" .. convert_words(words) .. "/" }} }
return out .. require("Module:utilities").format_categories(categories)
end
function export.show(words)
if type(words) == "table" then -- assume a frame
words = words.args[1]:lower() or mw.loadData("Module:headword/data").pagename:lower()
end
return convert_words(words)
end
local function i_mutation(word)
local upperc = false
--local dash = false
if mw.ustring.find(word, "^%u") then
word = mw.ustring.lower(word)
upperc = true
end
--[[if mw.ustring.find(word, "^%-") then
word = mw.ustring.sub(word, 2)
dash = true
end]]
local repeated = false
local phonemes = letters_to_internal(word)
-- Split into syllables
local syllables = split_syllables(phonemes)
for i, syll in ipairs(syllables) do
--[[for j=1, #syll-1 do
if syll[j]==syll[j+1] then
syll[j+1] = ""
repeated = true
end
end]]
syllables[i] = table.concat(syll)
end
for i = #syllables, 1, -1 do
mw.ustring.gsub(syllables[i], "e([mn])", "i%1")
if mw.ustring.find(syllables[i], "[bdfghjklmnprstþwz][iīįǐj]") then
if not mw.ustring.find(syllables[i], "je") then
syllables[i] = mw.ustring.gsub(syllables[i], "e", "i")
end
if i ~= 1 then
syllables[i - 1] = mw.ustring.gsub(syllables[i - 1], "e", "i")
end
end
end
local new_word = table.concat(syllables)
local vowels_s = "aeiuāēëīōūêôąįųǭį̄ǫ̂"
new_word = word_from_internal(new_word)
new_word = mw.ustring.gsub(new_word, "uu", "wu")
new_word = mw.ustring.gsub(new_word, "([" .. vowels_s .. "]i)u", "%1w")
new_word = mw.ustring.gsub(new_word, "([aei])u([" .. vowels_s .. "w])", "%1w%2")
new_word = mw.ustring.gsub(new_word, "([aei])i([" .. vowels_s .. "j])", "%1j%2")
new_word = mw.ustring.gsub(new_word, "([" .. vowels_s .. "])uj", "%1wj")
-- Exception for compound words
new_word = mw.ustring.gsub(new_word, "andaulit", "andawlit")
if upperc then
return mw.ustring.upper(mw.ustring.sub(new_word, 1, 1)) .. mw.ustring.sub(new_word, 2)
--elseif dash then
-- return "-" .. new_word
else
return new_word
end
end
function export.determine_sievers(stem)
if mw.ustring.find(stem, "[aeiu].[aeiu].$") then
-- Two light syllables = one heavy
return "ij"
elseif mw.ustring.find(stem, "^[aeiu][iubdfghjklmnprstþwz]$") or mw.ustring.find(stem, "[bdfgkjklmnprstþwz][aeiu][iubdfghjklmnprstþwz]$") or mw.ustring.find(stem, "[āēīōū]$") then
return "j"
else
return "ij"
end
end
function export.i_mutations(word)
local words = mw.text.split(word, " ")
if #words > 1 then
local new_word = i_mutation(words[#words])
table.remove(words)
table.insert(words, new_word)
return table.concat(words, " ")
else
return i_mutation(word)
end
end
return export
b70ow7498repd8vh9e4moz9btxq4dqv
376755
376746
2026-09-27T16:40:02Z
SNN95
2113
376755
Scribunto
text/plain
local export = {}
local m_IPA = require("Module:IPA")
local lang = require("Module:languages").getByCode("gem-pro")
local letters_internal = {
{ "ai", "aj" }, { "au", "aw" }, { "eu", "ew" }, { "iu", "iw" },
{ "hw", "hʷ" }, { "kw", "kʷ" }, { "gw", "gʷ" },
{ "ē₂", "ë" }, { "į̄", "ǐ" }, { "ǫ̂", "ơ" },
}
local phonetic_rules = {
{ "a", "ɑ" },
{ "ā", "ɑː" }, { "ë", "eː" }, { "ē", "ɛː" }, { "ī", "iː" }, { "ō", "ɔː" }, { "ū", "uː" },
{ "ê", "ɛːː" }, { "ô", "ɔːː" },
{ "ą", "ɑ̃" }, { "į", "ĩ" }, { "ų", "ũ" },
{ "ǐ", "ĩː" }, { "ǭ", "ɔ̃ː" },
{ "ơ", "ɔ̃ːː" },
{ "f", "ɸ" }, { "þ", "θ" },
{ "h", "x" }, { "hʷ", "xʷ" },
{ "^x", "h" }, { "^xʷ", "hʷ" },
{ "b", "β" }, { "^β", "b" }, { "mβ", "mb" },
{ "d", "ð" }, { "^ð", "d" }, { "([nlz])ð", "%1d" },
{ "g", "ɣ" }, { "nɣʷ", "ŋʷɡʷ" }, { "nɣ", "ŋɡ" },
}
local vowels = {
"a", "e", "i", "u",
"ā", "ē", "ë", "ī", "ō", "ū",
"ê", "ô",
"ą", "į", "ų",
"ǐ", "ǭ",
"ơ",
"-"
}
local onsets = {
"b", "p", "d", "t", "þ",
"g", "k", "kʷ", "gʷ",
"f", "s", "h", "hʷ", "z",
"l", "m", "n", "r", "j", "w",
"bl", "pl", "fl", "br", "pr", "fr", "þl", "wl",
"dr", "tr", "þr",
"gl", "kl", "hl", "gr", "kr", "hr", "wr",
"gn", "kn", "hn", "fn",
"dw", "tw", "þw", "kw", "hw",
"sp", "st", "sk", "sw", "sl", "sm", "sn", "sw",
"spr", "str", "skr",
"spl", "skl",
}
local codas = {
"b", "p", "pp", "þ", "d", "t", "f", "g", "k", "h",
"s", "z",
"l", "m", "n", "r", "j", "w",
"hʷ", "ww", "wz",
"sp", "st", "sk",
"lp", "lt", "lk",
"lb", "ld", "lg",
"lf", "lþ", "lh",
"rp", "rt", "rk",
"rb", "rd", "rg",
"rf", "rþ", "rh",
"mp", "nt", "nk", "nn",
"mb", "nd", "ng",
"mf", "nþ", "nh", "nhs",
"lm", "rl", "rm", "rn", "wh", "wr", "wl", "fl", "sl",
"ps", "ts", "ks", "hs", "ls", "ns", "rs", "þs", "sts", "hts",
"lks", "lhs", "nks", "rks", "rgz", "rhs", "nþs", "hsl",
"lms", "rls", "rms", "rns", "hst", "hsl", "rht", "rkt",
"ht", "rht",
"nz", "ndz", "dz", "gz", "ngz", "rz", "rbz", "rdz", "zn",
"ndr", "ntr", "ngr", "nkr", "nstr",
"jp", "jb", "js", "jz", "jt", "jd", "jþ", "jf", "jk", "jg", "jh", "jr",
"jst", "jzd", "jts", "jdz", "jks", "jgz", "jsk", "jzg", "jstr", "jzdr",
"jn", "jm", "jw", "jþm",
"kr", "jgl", "br", "t(t)",
}
for _, val in ipairs(vowels) do
vowels[val] = true
end
for _, val in ipairs(onsets) do
onsets[val] = true
end
for _, val in ipairs(codas) do
codas[val] = true
end
local function letters_to_internal(word)
local phonemes = {}
for _, rule in ipairs(letters_internal) do
word = mw.ustring.gsub(word, rule[1], rule[2])
end
mw.ustring.gsub(word, ".", function(c)
table.insert(phonemes, c)
end)
return phonemes
end
local function word_from_internal(word)
for _, rule in ipairs(letters_internal) do
word = mw.ustring.gsub(word, rule[2], rule[1])
end
return word
end
local function get_onset(syll)
local consonants = {}
for i = 1, #syll do
if vowels[syll[i]] then
break
end
table.insert(consonants, syll[i])
end
return table.concat(consonants)
end
local function get_coda(syll)
local consonants = {}
for i = #syll, 1, -1 do
if vowels[syll[i]] then
break
end
table.insert(consonants, 1, syll[i])
end
return table.concat(consonants)
end
local function get_vowel(syll)
for i = 1, #syll do
if vowels[syll[i]] then return syll[i] end
end
end
-- Split the word into syllables of CV shape
local function split_syllables(remainder)
local syllables = {}
local syll = {}
while #remainder > 0 do
local phoneme = table.remove(remainder, 1)
if vowels[phoneme] then
table.insert(syll, phoneme)
table.insert(syllables, syll)
syll = {}
else
table.insert(syll, phoneme)
end
end
-- If there are phonemes left, then the word ends in a consonant
-- Add them to the last syllable
for _, phoneme in ipairs(syll) do
table.insert(syllables[#syllables], phoneme)
end
-- Split consonant clusters between syllables
for i, current in ipairs(syllables) do
if i > 1 then
local previous = syllables[i - 1]
local onset = get_onset(current)
-- Shift over consonants until the syllable onset is valid
while not (onset == "" or onsets[onset]) do
table.insert(previous, table.remove(current, 1))
onset = get_onset(current)
end
-- If there is no vowel at all in this syllable
if not get_vowel(current) then
for j = 1, #current do
table.insert(syllables[i - 1], table.remove(current, 1))
end
table.remove(syllables, i)
end
end
end
for _, syll in ipairs(syllables) do
local onset = get_onset(syll)
local coda = get_coda(syll)
if not (onset == "" or onsets[onset]) then
require("Module:debug").track("gem-ipa/bad onset")
error("onset error: [" .. onset .. "]")
end
if not (coda == "" or codas[coda]) then
require("Module:debug").track("gem-ipa/bad coda")
error("coda error: [" .. coda .. "]")
end
end
return syllables
end
local function convert_word(word)
-- Convert word to a better internal representation
local phonemes = letters_to_internal(word)
-- Split into syllables
local syllables = split_syllables(phonemes)
for i, syll in ipairs(syllables) do
for j = 1, #syll - 1 do
if syll[j] == syll[j + 1] then
syll[j + 1] = ""
end
end
syllables[i] = table.concat(syll)
end
word = table.concat(syllables, ".")
for _, rule in ipairs(phonetic_rules) do
word = mw.ustring.gsub(word, rule[1], rule[2])
end
return word
end
local function convert_words(words)
words = mw.ustring.lower(words)
local result = {}
for word in mw.text.gsplit(words, " ") do
table.insert(result, convert_word(word))
end
return table.concat(result, " ")
end
function export.show_full(frame)
local params = {
[1] = { default = mw.title.getCurrentTitle().nsText ~= "Rekonstruksi" and "wurdą" or mw.loadData("Module:headword/data").pagename }
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local words = args[1]:lower()
local categories = {}
local out = m_IPA.format_IPA_full { lang = lang, items = {{ pron = "/" .. convert_words(words) .. "/" }} }
return out .. require("Module:utilities").format_categories(categories)
end
function export.show(words)
if type(words) == "table" then -- assume a frame
words = words.args[1]:lower() or mw.loadData("Module:headword/data").pagename:lower()
end
return convert_words(words)
end
local function i_mutation(word)
local upperc = false
--local dash = false
if mw.ustring.find(word, "^%u") then
word = mw.ustring.lower(word)
upperc = true
end
--[[if mw.ustring.find(word, "^%-") then
word = mw.ustring.sub(word, 2)
dash = true
end]]
local repeated = false
local phonemes = letters_to_internal(word)
-- Split into syllables
local syllables = split_syllables(phonemes)
for i, syll in ipairs(syllables) do
--[[for j=1, #syll-1 do
if syll[j]==syll[j+1] then
syll[j+1] = ""
repeated = true
end
end]]
syllables[i] = table.concat(syll)
end
for i = #syllables, 1, -1 do
mw.ustring.gsub(syllables[i], "e([mn])", "i%1")
if mw.ustring.find(syllables[i], "[bdfghjklmnprstþwz][iīįǐj]") then
if not mw.ustring.find(syllables[i], "je") then
syllables[i] = mw.ustring.gsub(syllables[i], "e", "i")
end
if i ~= 1 then
syllables[i - 1] = mw.ustring.gsub(syllables[i - 1], "e", "i")
end
end
end
local new_word = table.concat(syllables)
local vowels_s = "aeiuāēëīōūêôąįųǭį̄ǫ̂"
new_word = word_from_internal(new_word)
new_word = mw.ustring.gsub(new_word, "uu", "wu")
new_word = mw.ustring.gsub(new_word, "([" .. vowels_s .. "]i)u", "%1w")
new_word = mw.ustring.gsub(new_word, "([aei])u([" .. vowels_s .. "w])", "%1w%2")
new_word = mw.ustring.gsub(new_word, "([aei])i([" .. vowels_s .. "j])", "%1j%2")
new_word = mw.ustring.gsub(new_word, "([" .. vowels_s .. "])uj", "%1wj")
-- Exception for compound words
new_word = mw.ustring.gsub(new_word, "andaulit", "andawlit")
if upperc then
return mw.ustring.upper(mw.ustring.sub(new_word, 1, 1)) .. mw.ustring.sub(new_word, 2)
--elseif dash then
-- return "-" .. new_word
else
return new_word
end
end
function export.determine_sievers(stem)
if mw.ustring.find(stem, "[aeiu].[aeiu].$") then
-- Two light syllables = one heavy
return "ij"
elseif mw.ustring.find(stem, "^[aeiu][iubdfghjklmnprstþwz]$") or mw.ustring.find(stem, "[bdfgkjklmnprstþwz][aeiu][iubdfghjklmnprstþwz]$") or mw.ustring.find(stem, "[āēīōū]$") then
return "j"
else
return "ij"
end
end
function export.i_mutations(word)
local words = mw.text.split(word, " ")
if #words > 1 then
local new_word = i_mutation(words[#words])
table.remove(words)
table.insert(words, new_word)
return table.concat(words, " ")
else
return i_mutation(word)
end
end
return export
jdalnyqoo3ocs3sp3qqueb0hislqppl
Wikikamus:id/kejatuhan
4
146287
376747
2026-09-27T16:08:56Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # dilanggar oleh sesuatu yang jatuh{{cp|id|'''Kejatuhan''' daun-daun yang berguguran|Gugurnya daun-daun yang gugur}}'
376747
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# dilanggar oleh sesuatu yang jatuh{{cp|id|'''Kejatuhan''' daun-daun yang berguguran|Gugurnya daun-daun yang gugur}}
tsqr1dl0dqyhhwifnen4nbeemchlukp
Modul:gem-decl-noun/data
828
146288
376748
2026-09-27T16:09:24Z
SNN95
2113
letak dulu, terjemah kemudian
376748
Scribunto
text/plain
local decl_data = {}
decl_data["a-m"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["a-m"], {__call = function(self, args, data)
local stem = args[1]
local stem_i = ""
if mw.ustring.sub(stem, -2) == "ij" then
stem_i = mw.ustring.sub(stem, 1, -3) .. "ī"
data.decl_type = "masculine ja-stem"
table.insert(data.categories, "Proto-Germanic ja-stem nouns")
elseif mw.ustring.sub(stem, -1) == "j" then
stem_i = mw.ustring.sub(stem, 1, -2) .. "i"
data.decl_type = "masculine ja-stem"
table.insert(data.categories, "Proto-Germanic ja-stem nouns")
else
stem_i = stem
data.decl_type = "masculine a-stem"
table.insert(data.categories, "Proto-Germanic a-stem nouns")
end
data.forms["nom_sg"] = {stem .. "az"}
data.forms["voc_sg"] = {stem_i == stem and stem or stem_i}
data.forms["acc_sg"] = {stem .. "ą"}
data.forms["gen_sg"] = {stem .. "as", stem_i .. (stem_i == stem and "is" or "s")}
data.forms["dat_sg"] = {stem .. "ai"}
data.forms["ins_sg"] = {stem .. "ō"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "ōz", args[1] .. "ōs"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {stem .. "anz"}
data.forms["gen_pl"] = {stem .. "ǫ̂"}
data.forms["dat_pl"] = {stem .. "amaz"}
data.forms["ins_pl"] = {stem .. "amiz"}
end
end
})
decl_data["a-n"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["a-n"], {__call = function(self, args, data)
decl_data["a-m"](args, data)
data.decl_type = data.decl_type:gsub("masculine", "neuter")
data.forms["nom_sg"] = data.forms["acc_sg"]
data.forms["voc_sg"] = data.forms["acc_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "ō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {args[1] .. "ǫ̂"}
data.forms["dat_pl"] = {args[1] .. "amaz"}
data.forms["ins_pl"] = {args[1] .. "amiz"}
end
end
})
decl_data["acoll-n"] = {
params = {
[1] = {},
[2] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["acoll-n"], {__call = function(self, args, data)
decl_data["a-m"](args, data)
data.decl_type = data.decl_type:gsub("masculine", "neuter")
data.forms["nom_sg"] = data.forms["acc_sg"]
data.forms["voc_sg"] = data.forms["acc_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[2] .. "ō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {args[2] .. "ǫ̂"}
data.forms["dat_pl"] = {args[2] .. "amaz"}
data.forms["ins_pl"] = {args[2] .. "amiz"}
end
end
})
decl_data["cons-mf"] = {
params = {
[1] = {},
["nopl"] = {},
["nomsg"] = {},
["vocsg"] = {},
},
}
setmetatable(decl_data["cons-mf"], {__call = function(self, args, data)
local pagename = mw.loadData("Module:headword/data").pagename
local s = mw.ustring.sub(pagename, -1, -1)
-- Check for s-stems
if mw.ustring.sub(pagename, -1, -1) == "s" and not mw.ustring.find(mw.ustring.sub(pagename, -2, -2), "[fhkptþ]") then
s = ""
end
-- (mw.ustring.find(mw.ustring.sub(args[1], -1, -1), "[fhkptþ]") and "s" or "z")
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {args.nomsg or (args[1] .. s)}
data.forms["voc_sg"] = {args.vocsg or args[1]}
data.forms["acc_sg"] = {args[1] .. "ų"}
data.forms["gen_sg"] = {args[1] .. "iz"}
data.forms["dat_sg"] = {args[1] .. "i"}
data.forms["ins_sg"] = {args[1] .. "ē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "iz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "unz"}
data.forms["gen_pl"] = {args[1] .. "ǫ̂"}
data.forms["dat_pl"] = {args[1] .. "umaz"}
data.forms["ins_pl"] = {args[1] .. "umiz"}
end
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
})
decl_data["cons-n"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["cons-n"], {__call = function(self, args, data)
decl_data["cons-mf"](args, data)
data.decl_type = "neuter consonant stem"
data.forms["nom_sg"] = {args[1]}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[1]}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
end
end
})
decl_data["i-mf"] = {
params = {
[1] = {},
["nopl"] = {},
["j"] = {},
},
}
setmetatable(decl_data["i-mf"], {__call = function(self, args, data)
data.decl_type = "i-stem"
local j = args.j or require("Module:gem-pronunc").determine_sievers(args[1])
data.forms["nom_sg"] = {args[1] .. "iz"}
data.forms["voc_sg"] = {args[1] .. "i"}
data.forms["acc_sg"] = {args[1] .. "į"}
data.forms["gen_sg"] = {args[1] .. "īz"}
data.forms["dat_sg"] = {args[1] .. "ī"}
data.forms["ins_sg"] = {args[1] .. "ī"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "īz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "inz"}
data.forms["gen_pl"] = {args[1] .. (j or "") .. "ǫ̂"}
data.forms["dat_pl"] = {args[1] .. "imaz"}
data.forms["ins_pl"] = {args[1] .. "imiz"}
end
table.insert(data.categories, "Proto-Germanic i-stem nouns")
end
})
decl_data["tis-f"] = {
params = {
[1] = {},
[2] = {},
["nopl"] = {},
["j"] = {},
},
}
setmetatable(decl_data["tis-f"], {__call = function(self, args, data)
data.decl_type = "feminine i-stem"
local j = args.j or require("Module:gem-pronunc").determine_sievers(args[2])
data.forms["nom_sg"] = {args[1] .. "iz"}
data.forms["voc_sg"] = {args[1] .. "i"}
data.forms["acc_sg"] = {args[1] .. "į"}
data.forms["gen_sg"] = {args[2] .. "īz"}
data.forms["dat_sg"] = {args[2] .. "ī"}
data.forms["ins_sg"] = {args[2] .. "ī"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "īz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "inz"}
data.forms["gen_pl"] = {args[2] .. (j or "") .. "ǫ̂"}
data.forms["dat_pl"] = {args[2] .. "imaz"}
data.forms["ins_pl"] = {args[2] .. "imiz"}
end
table.insert(data.categories, "Proto-Germanic i-stem nouns")
end
})
decl_data["i-n"] = {
params = {
[1] = {},
["nopl"] = {},
["j"] = {},
},
}
setmetatable(decl_data["i-n"], {__call = function(self, args, data)
decl_data["i-mf"](args, data)
data.decl_type = "neuter i-stem"
data.forms["nom_sg"] = data.forms["voc_sg"]
data.forms["acc_sg"] = data.forms["voc_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "ī"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
end
end
})
decl_data["ijo-f"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["ijo-f"], {__call = function(self, args, data)
data.decl_type = "ī/jō-stem"
local stem = args[1] .. require("Module:gem-pronunc").determine_sievers(args[1])
data.forms["nom_sg"] = {args[1] .. "ī"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {stem .. "ǭ"}
data.forms["gen_sg"] = {stem.. "ōz"}
data.forms["dat_sg"] = {stem .. "ōi"}
data.forms["ins_sg"] = {stem .. "ō"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "ôz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {stem .. "ōz"}
data.forms["gen_pl"] = {stem .. "ǫ̂"}
data.forms["dat_pl"] = {stem .. "ōmaz"}
data.forms["ins_pl"] = {stem .. "ōmiz"}
end
table.insert(data.categories, "Proto-Germanic ī/jō-stem nouns")
end
})
decl_data["n-f"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["n-f"], {__call = function(self, args, data)
data.decl_type = "ōn-stem"
data.forms["nom_sg"] = {args[1] .. "ǭ"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {args[1] .. "ōnų"}
data.forms["gen_sg"] = {args[1] .. "ōniz"}
data.forms["dat_sg"] = {args[1] .. "ōni"}
data.forms["ins_sg"] = {args[1] .. "ōnē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "ōniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "ōnunz"}
data.forms["gen_pl"] = {args[1] .. "ōnǫ̂"}
data.forms["dat_pl"] = {args[1] .. "ōmaz"}
data.forms["ins_pl"] = {args[1] .. "ōmiz"}
end
table.insert(data.categories, "Proto-Germanic ōn-stem nouns")
end
})
decl_data["n-m"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["n-m"], {__call = function(self, args, data)
data.decl_type = "masculine an-stem"
data.forms["nom_sg"] = {args[1] .. "ô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {args[1] .. "anų"}
data.forms["gen_sg"] = {args[1].. "iniz"}
data.forms["dat_sg"] = {args[1] .. "ini"}
data.forms["ins_sg"] = {args[1] .. "inē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "aniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "anunz"}
data.forms["gen_pl"] = {args[1] .. "anǫ̂"}
data.forms["dat_pl"] = {args[1] .. "ammaz"}
data.forms["ins_pl"] = {args[1] .. "ammiz"}
end
table.insert(data.categories, "Proto-Germanic an-stem nouns")
end
})
decl_data["namphi-m"] = {
params = {
[1] = {},
[2] = {},
[3] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["namphi-m"], {__call = function(self, args, data)
data.decl_type = "masculine an-stem"
data.forms["nom_sg"] = {args[1] .. "ô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {args[1] .. "anų"}
data.forms["gen_sg"] = {args[2].. "az"}
data.forms["dat_sg"] = {args[3] .. "ini"}
data.forms["ins_sg"] = {args[2] .. "ē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "aniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[2] .. "unz"}
data.forms["gen_pl"] = {args[2] .. "ǫ̂"}
data.forms["dat_pl"] = {args[3] .. "ummaz"}
data.forms["ins_pl"] = {args[3] .. "ummiz"}
end
table.insert(data.categories, "Proto-Germanic an-stem nouns")
end
})
decl_data["n-n"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["n-n"], {__call = function(self, args, data)
decl_data["n-m"](args, data)
data.decl_type = "neuter an-stem"
data.forms["acc_sg"] = data.forms["nom_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "ōnō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
end
table.insert(data.categories, "Proto-Germanic an-stem nouns")
end
})
decl_data["in-f"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["in-f"], {__call = function(self, args, data)
data.decl_type = "īn-stem"
data.forms["nom_sg"] = {args[1] .. "į̄"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {args[1] .. "īnų"}
data.forms["gen_sg"] = {args[1] .. "īniz"}
data.forms["dat_sg"] = {args[1] .. "īni"}
data.forms["ins_sg"] = {args[1] .. "īnē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "īniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "īnunz"}
data.forms["gen_pl"] = {args[1] .. "īnǫ̂"}
data.forms["dat_pl"] = {args[1] .. "īmaz"}
data.forms["ins_pl"] = {args[1] .. "īmiz"}
end
table.insert(data.categories, "Proto-Germanic īn-stem nouns")
end
})
decl_data["o-f"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["o-f"], {__call = function(self, args, data)
data.decl_type = "ō-stem"
data.forms["nom_sg"] = {args[1] .. "ō"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {args[1] .. "ǭ"}
data.forms["gen_sg"] = {args[1] .. "ōz"}
data.forms["dat_sg"] = {args[1] .. "ōi"}
data.forms["ins_sg"] = data.forms["nom_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "ôz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "ōz"}
data.forms["gen_pl"] = {args[1] .. "ǫ̂"}
data.forms["dat_pl"] = {args[1] .. "ōmaz"}
data.forms["ins_pl"] = {args[1] .. "ōmiz"}
end
table.insert(data.categories, "Proto-Germanic ō-stem nouns")
end
})
decl_data["r-mf"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["r-mf"], {__call = function(self, args, data)
data.decl_type = "r-stem"
data.forms["nom_sg"] = {args[1] .. "ēr"}
data.forms["voc_sg"] = {args[1] .. "er"}
data.forms["acc_sg"] = {args[1] .. "erų"}
data.forms["gen_sg"] = {args[1] .. "urz"}
data.forms["dat_sg"] = {args[1] .. "ri"}
data.forms["ins_sg"] = {args[1] .. "rē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "riz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "runz"}
data.forms["gen_pl"] = {args[1] .. "rǫ̂"}
data.forms["dat_pl"] = {args[1] .. "rumaz"}
data.forms["ins_pl"] = {args[1] .. "rumiz"}
end
table.insert(data.categories, "Proto-Germanic r-stem nouns")
end
})
decl_data["u-mf"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["u-mf"], {__call = function(self, args, data)
data.decl_type = "u-stem"
data.forms["nom_sg"] = {args[1] .. "uz"}
data.forms["voc_sg"] = {args[1] .. "u"}
data.forms["acc_sg"] = {args[1] .. "ų"}
data.forms["gen_sg"] = {args[1] .. "auz"}
data.forms["dat_sg"] = {args[1] .. "iwi"}
data.forms["ins_sg"] = {args[1] .. "ū"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "iwiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "unz"}
data.forms["gen_pl"] = {args[1] .. "iwǫ̂"}
data.forms["dat_pl"] = {args[1] .. "umaz"}
data.forms["ins_pl"] = {args[1] .. "umiz"}
end
table.insert(data.categories, "Proto-Germanic u-stem nouns")
end
})
decl_data["u-n"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["u-n"], {__call = function(self, args, data)
decl_data["u-mf"](args, data)
data.decl_type = "neuter u-stem"
data.forms["nom_sg"] = data.forms["voc_sg"]
data.forms["acc_sg"] = data.forms["voc_sg"]
if not args.nopl then
data.forms["nom_pl"] = data.forms["ins_sg"]
data.forms["voc_pl"] = data.forms["ins_sg"]
data.forms["acc_pl"] = data.forms["ins_sg"]
end
end
})
decl_data["z-n"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["z-n"], {__call = function(self, args, data)
data.decl_type = "z-stem"
data.forms["nom_sg"] = {args[1] .. "az"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {args[1] .. "iziz"}
data.forms["dat_sg"] = {args[1] .. "izi"}
data.forms["ins_sg"] = {args[1] .. "izē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "izō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {args[1] .. "izǫ̂"}
data.forms["dat_pl"] = {args[1] .. "izumaz"}
data.forms["ins_pl"] = {args[1] .. "izumiz"}
end
table.insert(data.categories, "Proto-Germanic z-stem nouns")
end
})
decl_data["irreg"] = {}
setmetatable(decl_data["irreg"], {__call = function(self, args, data)
local word = mw.loadData("Module:headword/data").pagename
irreg_data = require("Module:gem-decl-noun/data/irreg")
if irreg_data.irreg[word] then
irreg_data.irreg[word](args, data)
else
error("Irregular inflection not found. Please check Module:gem-decl-noun/data.")
end
table.insert(data.categories, "Proto-Germanic irregular nouns")
end
})
return decl_data
njah7lvoj6isg1vsr8avl1uh1mfq1n3
376768
376748
2026-09-27T16:58:51Z
SNN95
2113
kemaskini
376768
Scribunto
text/plain
local decl_data = {}
decl_data["a-m"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["a-m"], {__call = function(self, args, data)
local stem = args[1]
local stem_i = ""
if mw.ustring.sub(stem, -2) == "ij" then
stem_i = mw.ustring.sub(stem, 1, -3) .. "ī"
data.decl_type = "pangkal ja maskulin"
table.insert(data.categories, "Proto-Germanic ja-stem nouns")
elseif mw.ustring.sub(stem, -1) == "j" then
stem_i = mw.ustring.sub(stem, 1, -2) .. "i"
data.decl_type = "pangkal ja maskulin"
table.insert(data.categories, "Proto-Germanic ja-stem nouns")
else
stem_i = stem
data.decl_type = "pangkal a maskulin"
table.insert(data.categories, "Kata nama pangkal a bahasa Jermanik Purba")
end
data.forms["nom_sg"] = {stem .. "az"}
data.forms["voc_sg"] = {stem_i == stem and stem or stem_i}
data.forms["acc_sg"] = {stem .. "ą"}
data.forms["gen_sg"] = {stem .. "as", stem_i .. (stem_i == stem and "is" or "s")}
data.forms["dat_sg"] = {stem .. "ai"}
data.forms["ins_sg"] = {stem .. "ō"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "ōz", args[1] .. "ōs"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {stem .. "anz"}
data.forms["gen_pl"] = {stem .. "ǫ̂"}
data.forms["dat_pl"] = {stem .. "amaz"}
data.forms["ins_pl"] = {stem .. "amiz"}
end
end
})
decl_data["a-n"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["a-n"], {__call = function(self, args, data)
decl_data["a-m"](args, data)
data.decl_type = data.decl_type:gsub("maskulin", "neuter")
data.forms["nom_sg"] = data.forms["acc_sg"]
data.forms["voc_sg"] = data.forms["acc_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "ō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {args[1] .. "ǫ̂"}
data.forms["dat_pl"] = {args[1] .. "amaz"}
data.forms["ins_pl"] = {args[1] .. "amiz"}
end
end
})
decl_data["acoll-n"] = {
params = {
[1] = {},
[2] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["acoll-n"], {__call = function(self, args, data)
decl_data["a-m"](args, data)
data.decl_type = data.decl_type:gsub("maskulin", "neuter")
data.forms["nom_sg"] = data.forms["acc_sg"]
data.forms["voc_sg"] = data.forms["acc_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[2] .. "ō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {args[2] .. "ǫ̂"}
data.forms["dat_pl"] = {args[2] .. "amaz"}
data.forms["ins_pl"] = {args[2] .. "amiz"}
end
end
})
decl_data["cons-mf"] = {
params = {
[1] = {},
["nopl"] = {},
["nomsg"] = {},
["vocsg"] = {},
},
}
setmetatable(decl_data["cons-mf"], {__call = function(self, args, data)
local pagename = mw.loadData("Module:headword/data").pagename
local s = mw.ustring.sub(pagename, -1, -1)
-- Check for s-stems
if mw.ustring.sub(pagename, -1, -1) == "s" and not mw.ustring.find(mw.ustring.sub(pagename, -2, -2), "[fhkptþ]") then
s = ""
end
-- (mw.ustring.find(mw.ustring.sub(args[1], -1, -1), "[fhkptþ]") and "s" or "z")
data.decl_type = "pangkal konsonan"
data.forms["nom_sg"] = {args.nomsg or (args[1] .. s)}
data.forms["voc_sg"] = {args.vocsg or args[1]}
data.forms["acc_sg"] = {args[1] .. "ų"}
data.forms["gen_sg"] = {args[1] .. "iz"}
data.forms["dat_sg"] = {args[1] .. "i"}
data.forms["ins_sg"] = {args[1] .. "ē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "iz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "unz"}
data.forms["gen_pl"] = {args[1] .. "ǫ̂"}
data.forms["dat_pl"] = {args[1] .. "umaz"}
data.forms["ins_pl"] = {args[1] .. "umiz"}
end
table.insert(data.categories, "Kata nama konsonan bahasa Jermanik Purba")
end
})
decl_data["cons-n"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["cons-n"], {__call = function(self, args, data)
decl_data["cons-mf"](args, data)
data.decl_type = "neuter pangkal konsonan"
data.forms["nom_sg"] = {args[1]}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[1]}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
end
end
})
decl_data["i-mf"] = {
params = {
[1] = {},
["nopl"] = {},
["j"] = {},
},
}
setmetatable(decl_data["i-mf"], {__call = function(self, args, data)
data.decl_type = "pangkal i"
local j = args.j or require("Module:gem-pronunc").determine_sievers(args[1])
data.forms["nom_sg"] = {args[1] .. "iz"}
data.forms["voc_sg"] = {args[1] .. "i"}
data.forms["acc_sg"] = {args[1] .. "į"}
data.forms["gen_sg"] = {args[1] .. "īz"}
data.forms["dat_sg"] = {args[1] .. "ī"}
data.forms["ins_sg"] = {args[1] .. "ī"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "īz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "inz"}
data.forms["gen_pl"] = {args[1] .. (j or "") .. "ǫ̂"}
data.forms["dat_pl"] = {args[1] .. "imaz"}
data.forms["ins_pl"] = {args[1] .. "imiz"}
end
table.insert(data.categories, "Kata nama pangkal i bahasa Jermanik Purba")
end
})
decl_data["tis-f"] = {
params = {
[1] = {},
[2] = {},
["nopl"] = {},
["j"] = {},
},
}
setmetatable(decl_data["tis-f"], {__call = function(self, args, data)
data.decl_type = "pangkal i feminin"
local j = args.j or require("Module:gem-pronunc").determine_sievers(args[2])
data.forms["nom_sg"] = {args[1] .. "iz"}
data.forms["voc_sg"] = {args[1] .. "i"}
data.forms["acc_sg"] = {args[1] .. "į"}
data.forms["gen_sg"] = {args[2] .. "īz"}
data.forms["dat_sg"] = {args[2] .. "ī"}
data.forms["ins_sg"] = {args[2] .. "ī"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "īz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "inz"}
data.forms["gen_pl"] = {args[2] .. (j or "") .. "ǫ̂"}
data.forms["dat_pl"] = {args[2] .. "imaz"}
data.forms["ins_pl"] = {args[2] .. "imiz"}
end
table.insert(data.categories, "Kata nama pangkal i bahasa Jermanik Purba")
end
})
decl_data["i-n"] = {
params = {
[1] = {},
["nopl"] = {},
["j"] = {},
},
}
setmetatable(decl_data["i-n"], {__call = function(self, args, data)
decl_data["i-mf"](args, data)
data.decl_type = "pangkal i neuter"
data.forms["nom_sg"] = data.forms["voc_sg"]
data.forms["acc_sg"] = data.forms["voc_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "ī"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
end
end
})
decl_data["ijo-f"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["ijo-f"], {__call = function(self, args, data)
data.decl_type = "pangkal ī/jō"
local stem = args[1] .. require("Module:gem-pronunc").determine_sievers(args[1])
data.forms["nom_sg"] = {args[1] .. "ī"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {stem .. "ǭ"}
data.forms["gen_sg"] = {stem.. "ōz"}
data.forms["dat_sg"] = {stem .. "ōi"}
data.forms["ins_sg"] = {stem .. "ō"}
if not args.nopl then
data.forms["nom_pl"] = {stem .. "ôz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {stem .. "ōz"}
data.forms["gen_pl"] = {stem .. "ǫ̂"}
data.forms["dat_pl"] = {stem .. "ōmaz"}
data.forms["ins_pl"] = {stem .. "ōmiz"}
end
table.insert(data.categories, "Kata nama pangkal ī/jō bahasa Jermanik Purba")
end
})
decl_data["n-f"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["n-f"], {__call = function(self, args, data)
data.decl_type = "pangkal ōn"
data.forms["nom_sg"] = {args[1] .. "ǭ"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {args[1] .. "ōnų"}
data.forms["gen_sg"] = {args[1] .. "ōniz"}
data.forms["dat_sg"] = {args[1] .. "ōni"}
data.forms["ins_sg"] = {args[1] .. "ōnē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "ōniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "ōnunz"}
data.forms["gen_pl"] = {args[1] .. "ōnǫ̂"}
data.forms["dat_pl"] = {args[1] .. "ōmaz"}
data.forms["ins_pl"] = {args[1] .. "ōmiz"}
end
table.insert(data.categories, "Kata nama pangkal ōn bahasa Jermanik Purba")
end
})
decl_data["n-m"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["n-m"], {__call = function(self, args, data)
data.decl_type = "pangkal an maskulin"
data.forms["nom_sg"] = {args[1] .. "ô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {args[1] .. "anų"}
data.forms["gen_sg"] = {args[1].. "iniz"}
data.forms["dat_sg"] = {args[1] .. "ini"}
data.forms["ins_sg"] = {args[1] .. "inē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "aniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "anunz"}
data.forms["gen_pl"] = {args[1] .. "anǫ̂"}
data.forms["dat_pl"] = {args[1] .. "ammaz"}
data.forms["ins_pl"] = {args[1] .. "ammiz"}
end
table.insert(data.categories, "Kata nama pangkal an bahasa Jermanik Purba")
end
})
decl_data["namphi-m"] = {
params = {
[1] = {},
[2] = {},
[3] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["namphi-m"], {__call = function(self, args, data)
data.decl_type = "pangkal an maskulin"
data.forms["nom_sg"] = {args[1] .. "ô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {args[1] .. "anų"}
data.forms["gen_sg"] = {args[2].. "az"}
data.forms["dat_sg"] = {args[3] .. "ini"}
data.forms["ins_sg"] = {args[2] .. "ē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "aniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[2] .. "unz"}
data.forms["gen_pl"] = {args[2] .. "ǫ̂"}
data.forms["dat_pl"] = {args[3] .. "ummaz"}
data.forms["ins_pl"] = {args[3] .. "ummiz"}
end
table.insert(data.categories, "Kata nama pangkal an bahasa Jermanik Purba")
end
})
decl_data["n-n"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["n-n"], {__call = function(self, args, data)
decl_data["n-m"](args, data)
data.decl_type = "pangkal an neuter"
data.forms["acc_sg"] = data.forms["nom_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "ōnō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
end
table.insert(data.categories, "Kata nama pangkal an bahasa Jermanik Purba")
end
})
decl_data["in-f"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["in-f"], {__call = function(self, args, data)
data.decl_type = "pangkal īn"
data.forms["nom_sg"] = {args[1] .. "į̄"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {args[1] .. "īnų"}
data.forms["gen_sg"] = {args[1] .. "īniz"}
data.forms["dat_sg"] = {args[1] .. "īni"}
data.forms["ins_sg"] = {args[1] .. "īnē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "īniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "īnunz"}
data.forms["gen_pl"] = {args[1] .. "īnǫ̂"}
data.forms["dat_pl"] = {args[1] .. "īmaz"}
data.forms["ins_pl"] = {args[1] .. "īmiz"}
end
table.insert(data.categories, "Kata nama pangkal īn bahasa Jermanik Purba")
end
})
decl_data["o-f"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["o-f"], {__call = function(self, args, data)
data.decl_type = "pangkal ō"
data.forms["nom_sg"] = {args[1] .. "ō"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {args[1] .. "ǭ"}
data.forms["gen_sg"] = {args[1] .. "ōz"}
data.forms["dat_sg"] = {args[1] .. "ōi"}
data.forms["ins_sg"] = data.forms["nom_sg"]
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "ôz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "ōz"}
data.forms["gen_pl"] = {args[1] .. "ǫ̂"}
data.forms["dat_pl"] = {args[1] .. "ōmaz"}
data.forms["ins_pl"] = {args[1] .. "ōmiz"}
end
table.insert(data.categories, "Kata nama pangkal ō bahasa Jermanik Purba")
end
})
decl_data["r-mf"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["r-mf"], {__call = function(self, args, data)
data.decl_type = "r-stem"
data.forms["nom_sg"] = {args[1] .. "ēr"}
data.forms["voc_sg"] = {args[1] .. "er"}
data.forms["acc_sg"] = {args[1] .. "erų"}
data.forms["gen_sg"] = {args[1] .. "urz"}
data.forms["dat_sg"] = {args[1] .. "ri"}
data.forms["ins_sg"] = {args[1] .. "rē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "riz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "runz"}
data.forms["gen_pl"] = {args[1] .. "rǫ̂"}
data.forms["dat_pl"] = {args[1] .. "rumaz"}
data.forms["ins_pl"] = {args[1] .. "rumiz"}
end
table.insert(data.categories, "Kata nama pangkal r bahasa Jermanik Purba")
end
})
decl_data["u-mf"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["u-mf"], {__call = function(self, args, data)
data.decl_type = "pangkal u"
data.forms["nom_sg"] = {args[1] .. "uz"}
data.forms["voc_sg"] = {args[1] .. "u"}
data.forms["acc_sg"] = {args[1] .. "ų"}
data.forms["gen_sg"] = {args[1] .. "auz"}
data.forms["dat_sg"] = {args[1] .. "iwi"}
data.forms["ins_sg"] = {args[1] .. "ū"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "iwiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "unz"}
data.forms["gen_pl"] = {args[1] .. "iwǫ̂"}
data.forms["dat_pl"] = {args[1] .. "umaz"}
data.forms["ins_pl"] = {args[1] .. "umiz"}
end
table.insert(data.categories, "Kata nama pangkal u bahasa Jermanik Purba")
end
})
decl_data["u-n"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["u-n"], {__call = function(self, args, data)
decl_data["u-mf"](args, data)
data.decl_type = "neuter pangkal u"
data.forms["nom_sg"] = data.forms["voc_sg"]
data.forms["acc_sg"] = data.forms["voc_sg"]
if not args.nopl then
data.forms["nom_pl"] = data.forms["ins_sg"]
data.forms["voc_pl"] = data.forms["ins_sg"]
data.forms["acc_pl"] = data.forms["ins_sg"]
end
end
})
decl_data["z-n"] = {
params = {
[1] = {},
["nopl"] = {},
},
}
setmetatable(decl_data["z-n"], {__call = function(self, args, data)
data.decl_type = "pangkal z"
data.forms["nom_sg"] = {args[1] .. "az"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {args[1] .. "iziz"}
data.forms["dat_sg"] = {args[1] .. "izi"}
data.forms["ins_sg"] = {args[1] .. "izē"}
if not args.nopl then
data.forms["nom_pl"] = {args[1] .. "izō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {args[1] .. "izǫ̂"}
data.forms["dat_pl"] = {args[1] .. "izumaz"}
data.forms["ins_pl"] = {args[1] .. "izumiz"}
end
table.insert(data.categories, "Kata nama pangkal z bahasa Jermanik Purba")
end
})
decl_data["irreg"] = {}
setmetatable(decl_data["irreg"], {__call = function(self, args, data)
local word = mw.loadData("Module:headword/data").pagename
irreg_data = require("Module:gem-decl-noun/data/irreg")
if irreg_data.irreg[word] then
irreg_data.irreg[word](args, data)
else
error("Irregular inflection not found. Please check Module:gem-decl-noun/data.")
end
table.insert(data.categories, "Kata nama tak tentu bahasa Jermanik Purba")
end
})
return decl_data
o8ijrlq28v0qv040v7ga3btiqpf03rs
Modul:gem-decl-noun/data/irreg
828
146289
376749
2026-09-27T16:11:31Z
SNN95
2113
Mencipta laman baru dengan kandungan 'irreg_data = {} ------ Consonant stems ------ irreg_data["aigin"] = function(args, data) data.decl_type = "neuter consonant stem" data.forms["nom_sg"] = {"aigin"} data.forms["voc_sg"] = data.forms["nom_sg"] data.forms["acc_sg"] = data.forms["nom_sg"] data.forms["gen_sg"] = {"aiginþiz"} data.forms["dat_sg"] = {"aiginþi"} data.forms["ins_sg"] = {"aiginþē"} data.forms["nom_pl"] = {"aiginþ"} data.forms["voc_pl"] = data.forms["nom_pl"] d...'
376749
Scribunto
text/plain
irreg_data = {}
------ Consonant stems ------
irreg_data["aigin"] = function(args, data)
data.decl_type = "neuter consonant stem"
data.forms["nom_sg"] = {"aigin"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"aiginþiz"}
data.forms["dat_sg"] = {"aiginþi"}
data.forms["ins_sg"] = {"aiginþē"}
data.forms["nom_pl"] = {"aiginþ"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"aiginþǫ̂"}
data.forms["dat_pl"] = {"aiginþumaz"}
data.forms["ins_pl"] = {"aiginþumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["alu"] = function(args, data)
data.decl_type = "neuter consonant stem"
data.forms["nom_sg"] = {"alu"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"aluþiz"}
data.forms["dat_sg"] = {"aluþi"}
data.forms["ins_sg"] = {"aluþē"}
data.forms["nom_pl"] = {"aluþ"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"aluþǫ̂"}
data.forms["dat_pl"] = {"aluþumaz"}
data.forms["ins_pl"] = {"aluþumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["asunz"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"asunz"}
data.forms["voc_sg"] = {"asų"}
data.forms["acc_sg"] = {"asnų"}
data.forms["gen_sg"] = {"asniz"}
data.forms["dat_sg"] = {"asni"}
data.forms["ins_sg"] = {"asnē"}
data.forms["nom_pl"] = {"asniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"asnunz"}
data.forms["gen_pl"] = {"asnǫ̂"}
data.forms["dat_pl"] = {"asnumaz"}
data.forms["ins_pl"] = {"asnumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["berô"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"berô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {"bernų"}
data.forms["gen_sg"] = {"berniz"}
data.forms["dat_sg"] = {"berni"}
data.forms["ins_sg"] = {"bernē"}
data.forms["nom_pl"] = {"berniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"bernunz"}
data.forms["gen_pl"] = {"bernǫ̂"}
data.forms["dat_pl"] = {"bernumaz"}
data.forms["ins_pl"] = {"bernumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["ēbanþs"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"ēbanþs"}
data.forms["voc_sg"] = {"ēbanþ"}
data.forms["acc_sg"] = {"ēbanþų"}
data.forms["gen_sg"] = {"ēbundiz"}
data.forms["dat_sg"] = {"ēbundi"}
data.forms["ins_sg"] = {"ēbundē"}
data.forms["nom_pl"] = {"ēbanþiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"ēbanþunz"}
data.forms["gen_pl"] = {"ēbundǫ̂"}
data.forms["dat_pl"] = {"ēbundumaz"}
data.forms["ins_pl"] = {"ēbundumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["gǭ"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"gǭ"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {"gōmų"}
data.forms["gen_sg"] = {"gimiz"}
data.forms["dat_sg"] = {"gimi"}
data.forms["ins_sg"] = {"gimē"}
data.forms["nom_pl"] = {"gōmiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"gōmunz"}
data.forms["gen_pl"] = {"gimǫ̂"}
data.forms["dat_pl"] = {"gimaz"}
data.forms["ins_pl"] = {"gimiz"}
table.insert(data.categories, "Proto-Germanic irregular nouns")
end
irreg_data["ili"] = function(args, data)
data.decl_type = "neuter consonant stem"
data.forms["nom_sg"] = {"ili"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"iliþiz"}
data.forms["dat_sg"] = {"iliþi"}
data.forms["ins_sg"] = {"iliþē"}
data.forms["nom_pl"] = {"iliþ"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"iliþǫ̂"}
data.forms["dat_pl"] = {"iliþumaz"}
data.forms["ins_pl"] = {"iliþumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["kōz"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"kōz"}
data.forms["voc_sg"] = {"kō"}
data.forms["acc_sg"] = {"kōǭ"}
data.forms["gen_sg"] = {"kūiz"}
data.forms["dat_sg"] = {"kūī"}
data.forms["ins_sg"] = {"kūē"}
data.forms["nom_pl"] = {"kōiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"kōnz"}
data.forms["gen_pl"] = {"kūǫ̂"}
data.forms["dat_pl"] = {"kūmaz"}
data.forms["ins_pl"] = {"kūmiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["mann-"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"mann-", "manô", "mannô"}
data.forms["voc_sg"] = {"mann"}
data.forms["acc_sg"] = {"mannų"}
data.forms["gen_sg"] = {"manniz"}
data.forms["dat_sg"] = {"manni"}
data.forms["ins_sg"] = {"mannē"}
data.forms["nom_pl"] = {"manniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"mannunz"}
data.forms["gen_pl"] = {"mannǫ̂"}
data.forms["dat_pl"] = {"mannumaz"}
data.forms["ins_pl"] = {"mannumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["gawjamann-"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"gawjamann-", "gawjamanô", "gawjamannô"}
data.forms["voc_sg"] = {"gawjamann"}
data.forms["acc_sg"] = {"gawjamannų"}
data.forms["gen_sg"] = {"gawjamanniz"}
data.forms["dat_sg"] = {"gawjamanni"}
data.forms["ins_sg"] = {"gawjamannē"}
data.forms["nom_pl"] = {"gawjamanniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"gawjamannunz"}
data.forms["gen_pl"] = {"gawjamannǫ̂"}
data.forms["dat_pl"] = {"gawjamannumaz"}
data.forms["ins_pl"] = {"gawjamannumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["kaupamann-"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"kaupamann-", "kaupamanô", "kaupamannô"}
data.forms["voc_sg"] = {"kaupamann"}
data.forms["acc_sg"] = {"kaupamannų"}
data.forms["gen_sg"] = {"kaupamanniz"}
data.forms["dat_sg"] = {"kaupamanni"}
data.forms["ins_sg"] = {"kaupamannē"}
data.forms["nom_pl"] = {"kaupamanniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"kaupamannunz"}
data.forms["gen_pl"] = {"kaupamannǫ̂"}
data.forms["dat_pl"] = {"kaupamannumaz"}
data.forms["ins_pl"] = {"kaupamannumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["skipamann-"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"skipamann-", "skipamanô", "skipamannô"}
data.forms["voc_sg"] = {"skipamann"}
data.forms["acc_sg"] = {"skipamannų"}
data.forms["gen_sg"] = {"skipamanniz"}
data.forms["dat_sg"] = {"skipamanni"}
data.forms["ins_sg"] = {"skipamannē"}
data.forms["nom_pl"] = {"skipamanniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"skipamannunz"}
data.forms["gen_pl"] = {"skipamannǫ̂"}
data.forms["dat_pl"] = {"skipamannumaz"}
data.forms["ins_pl"] = {"skipamannumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["harjamann-"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"harjamann-", "harjamanô", "harjamannô"}
data.forms["voc_sg"] = {"harjamann"}
data.forms["acc_sg"] = {"harjamannų"}
data.forms["gen_sg"] = {"harjamanniz"}
data.forms["dat_sg"] = {"harjamanni"}
data.forms["ins_sg"] = {"harjamannē"}
data.forms["nom_pl"] = {"harjamanniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"harjamannunz"}
data.forms["gen_pl"] = {"harjamannǫ̂"}
data.forms["dat_pl"] = {"harjamannumaz"}
data.forms["ins_pl"] = {"harjamannumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["metaþs"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"metaþs"}
data.forms["voc_sg"] = {"metaþ"}
data.forms["acc_sg"] = {"metaþų"}
data.forms["gen_sg"] = {"metadiz"}
data.forms["dat_sg"] = {"metadi"}
data.forms["ins_sg"] = {"metadē"}
data.forms["nom_pl"] = {"metaþiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"metaþunz"}
data.forms["gen_pl"] = {"metadǫ̂"}
data.forms["dat_pl"] = {"metadumaz"}
data.forms["ins_pl"] = {"metadumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["mili"] = function(args, data)
data.decl_type = "neuter consonant stem"
data.forms["nom_sg"] = {"mili"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"milidiz"}
data.forms["dat_sg"] = {"milidi"}
data.forms["ins_sg"] = {"milidē"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["stuþs"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"stuþs"}
data.forms["voc_sg"] = {"stuþ"}
data.forms["acc_sg"] = {"stuþų"}
data.forms["gen_sg"] = {"studiz"}
data.forms["dat_sg"] = {"studi"}
data.forms["ins_sg"] = {"studē"}
data.forms["nom_pl"] = {"stuþiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"stuþunz"}
data.forms["gen_pl"] = {"studǫ̂"}
data.forms["dat_pl"] = {"studumaz"}
data.forms["ins_pl"] = {"studumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["sūz"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"sūz"}
data.forms["voc_sg"] = {"sū"}
data.forms["acc_sg"] = {"suwų"}
data.forms["gen_sg"] = {"suwiz"}
data.forms["dat_sg"] = {"suwi"}
data.forms["ins_sg"] = {"sūē"}
data.forms["nom_pl"] = {"suwiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"suwunz"}
data.forms["gen_pl"] = {"sūǫ̂"}
data.forms["dat_pl"] = {"suwumaz"}
data.forms["ins_pl"] = {"suwumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["tanþs"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"tanþs"}
data.forms["voc_sg"] = {"tanþ"}
data.forms["acc_sg"] = {"tanþų"}
data.forms["gen_sg"] = {"tundiz"}
data.forms["dat_sg"] = {"tundi"}
data.forms["ins_sg"] = {"tundē"}
data.forms["nom_pl"] = {"tanþiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"tanþunz"}
data.forms["gen_pl"] = {"tundǫ̂"}
data.forms["dat_pl"] = {"tundumaz"}
data.forms["ins_pl"] = {"tundumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
irreg_data["wrōts"] = function(args, data)
data.decl_type = "consonant stem"
data.forms["nom_sg"] = {"wrōts"}
data.forms["voc_sg"] = {"wrōt"}
data.forms["acc_sg"] = {"wrōtų"}
data.forms["gen_sg"] = {"wurtiz"}
data.forms["dat_sg"] = {"wurti"}
data.forms["ins_sg"] = {"wurtē"}
data.forms["nom_pl"] = {"wrōtiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"wrōtunz"}
data.forms["gen_pl"] = {"wurtǫ̂"}
data.forms["dat_pl"] = {"wurtumaz"}
data.forms["ins_pl"] = {"wurtumiz"}
table.insert(data.categories, "Proto-Germanic consonant stem nouns")
end
------ i-stems ------
irreg_data["burþiz"] = function(args, data)
if not args[1] then
irreg_data["burþiz"]({""}, data)
return
end
data.decl_type = "i-stem"
data.forms["nom_sg"] = {args[1] .. "burþiz"}
data.forms["voc_sg"] = {args[1] .. "burþi"}
data.forms["acc_sg"] = {args[1] .. "burþį"}
data.forms["gen_sg"] = {args[1] .. "burdīz"}
data.forms["dat_sg"] = {args[1] .. "burdī"}
data.forms["ins_sg"] = {args[1] .. "burdī"}
data.forms["nom_pl"] = {args[1] .. "burþīz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {args[1] .. "burþīnz"}
data.forms["gen_pl"] = {args[1] .. "burdijǫ̂"}
data.forms["dat_pl"] = {args[1] .. "burdimaz"}
data.forms["ins_pl"] = {args[1] .. "burdimiz"}
table.insert(data.categories, "Proto-Germanic i-stem nouns")
end
irreg_data["fraburþiz"] = function(args, data)
irreg_data["burþiz"]({"fra"}, data)
end
irreg_data["gaburþiz"] = function(args, data)
irreg_data["burþiz"]({"ga"}, data)
end
irreg_data["kinþiz"] = function(args, data)
data.decl_type = "i-stem"
data.forms["nom_sg"] = {"kinþiz"}
data.forms["voc_sg"] = {"kinþi"}
data.forms["acc_sg"] = {"kinþį"}
data.forms["gen_sg"] = {"kundīz"}
data.forms["dat_sg"] = {"kundī"}
data.forms["ins_sg"] = {"kundī"}
data.forms["nom_pl"] = {"kinþīz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"kinþīnz"}
data.forms["gen_pl"] = {"kundijǫ̂"}
data.forms["dat_pl"] = {"kundimaz"}
data.forms["ins_pl"] = {"kundimiz"}
table.insert(data.categories, "Proto-Germanic i-stem nouns")
end
irreg_data["kumþiz"] = function(args, data)
data.decl_type = "i-stem"
data.forms["nom_sg"] = {"kumþiz"}
data.forms["voc_sg"] = {"kumþi"}
data.forms["acc_sg"] = {"kumþį"}
data.forms["gen_sg"] = {"kundīz"}
data.forms["dat_sg"] = {"kundī"}
data.forms["ins_sg"] = {"kundī"}
data.forms["nom_pl"] = {"kumþīz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"kumþīnz"}
data.forms["gen_pl"] = {"kundijǫ̂"}
data.forms["dat_pl"] = {"kundimaz"}
data.forms["ins_pl"] = {"kundimiz"}
table.insert(data.categories, "Proto-Germanic i-stem nouns")
end
------ u-stems ------
irreg_data["grunduz"] = function(args, data)
data.decl_type = "u-stem"
data.forms["nom_sg"] = {"grumþuz"}
data.forms["voc_sg"] = {"grumþu"}
data.forms["acc_sg"] = {"grumþų"}
data.forms["gen_sg"] = {"grundauz"}
data.forms["dat_sg"] = {"grundiwi"}
data.forms["ins_sg"] = {"grundū"}
data.forms["nom_pl"] = {"grumþiwiz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"grumþunz"}
data.forms["gen_pl"] = {"grundiwǫ̂"}
data.forms["dat_pl"] = {"grundumaz"}
data.forms["ins_pl"] = {"grundumiz"}
table.insert(data.categories, "Proto-Germanic u-stem nouns")
end
------ i/jo stems ------
irreg_data["akwisī"] = function(args, data)
data.decl_type = "ī/jō-stem"
data.forms["nom_sg"] = {"akwisī"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {"akuzijǭ"}
data.forms["gen_sg"] = {"akuzijōz"}
data.forms["dat_sg"] = {"akuzijōi"}
data.forms["ins_sg"] = {"akuzijō"}
data.forms["nom_pl"] = {"akuzijôz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"akuzijōz"}
data.forms["gen_pl"] = {"akuzijǫ̂"}
data.forms["dat_pl"] = {"akuzijōmaz"}
data.forms["ins_pl"] = {"akuzijōmiz"}
table.insert(data.categories, "Proto-Germanic ī/jō-stem nouns")
end
------ n-stems ------
irreg_data["abô"] = function(args, data)
data.decl_type = "masculine an-stem"
data.forms["nom_sg"] = {"abô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {"abanų"}
data.forms["gen_sg"] = {"abniz"}
data.forms["dat_sg"] = {"abni"}
data.forms["ins_sg"] = {"abnē"}
data.forms["nom_pl"] = {"abniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"abnuz"}
data.forms["gen_pl"] = {"abnǫ̂"}
data.forms["dat_pl"] = {"abnamaz"}
data.forms["ins_pl"] = {"abnamiz"}
table.insert(data.categories, "Proto-Germanic an-stem nouns")
end
irreg_data["arô"] = function(args, data)
data.decl_type = "masculine an-stem"
data.forms["nom_sg"] = {"arô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {"arnų"}
data.forms["gen_sg"] = {"arniz"}
data.forms["dat_sg"] = {"arni"}
data.forms["ins_sg"] = {"arnē"}
data.forms["nom_pl"] = {"arniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"arnunz"}
data.forms["gen_pl"] = {"arnǫ̂"}
data.forms["dat_pl"] = {"arnumaz"}
data.forms["ins_pl"] = {"arnumiz"}
table.insert(data.categories, "Proto-Germanic an-stem nouns")
end
irreg_data["hersô"] = function(args, data)
data.decl_type = "neuter an-stem"
data.forms["nom_sg"] = {"hersô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {"hersnų"}
data.forms["gen_sg"] = {"hirzniz"}
data.forms["dat_sg"] = {"hirzni"}
data.forms["ins_sg"] = {"hirznē"}
data.forms["nom_pl"] = {"hersnō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"herznǫ̂"}
data.forms["dat_pl"] = {"herznamaz"}
data.forms["ins_pl"] = {"herznamiz"}
table.insert(data.categories, "Proto-Germanic an-stem nouns")
end
irreg_data["namô"] = function(args, data)
data.decl_type = "neuter an-stem"
data.forms["nom_sg"] = {"namô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"namniz"}
data.forms["dat_sg"] = {"namni"}
data.forms["ins_sg"] = {"namnē"}
data.forms["nom_pl"] = {"namnō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"namnǫ̂"}
data.forms["dat_pl"] = {"namnamaz"}
data.forms["ins_pl"] = {"namnamiz"}
table.insert(data.categories, "Proto-Germanic an-stem nouns")
end
irreg_data["sēmô"] = function(args, data)
data.decl_type = "neuter an-stem"
data.forms["nom_sg"] = {"sēmô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"sēmniz"}
data.forms["dat_sg"] = {"sēmni"}
data.forms["ins_sg"] = {"sēmnē"}
data.forms["nom_pl"] = {"sēmnō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"sēmnǫ̂"}
data.forms["dat_pl"] = {"sēmnamaz"}
data.forms["ins_pl"] = {"sēmnamiz"}
table.insert(data.categories, "Proto-Germanic an-stem nouns")
end
irreg_data["uhsô"] = function(args, data)
data.decl_type = "masculine an-stem"
data.forms["nom_sg"] = {"uhsô"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {"uhsanų"}
data.forms["gen_sg"] = {"uhsniz"}
data.forms["dat_sg"] = {"uhsni"}
data.forms["ins_sg"] = {"uhsnē"}
data.forms["nom_pl"] = {"uhsniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"uhsnuz"}
data.forms["gen_pl"] = {"uhsnǫ̂"}
data.forms["dat_pl"] = {"uhsnamaz"}
data.forms["ins_pl"] = {"uhsnamiz"}
table.insert(data.categories, "Proto-Germanic an-stem nouns")
end
irreg_data["bijǭ"] = function(args, data)
data.decl_type = "feminine on-stem"
data.forms["nom_sg"] = {"bijǭ"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {"bijōnų"}
data.forms["gen_sg"] = {"biniz"}
data.forms["dat_sg"] = {"binini"}
data.forms["ins_sg"] = {"binē"}
data.forms["nom_pl"] = {"bijōniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"binunz"}
data.forms["gen_pl"] = {"binǫ̂"}
data.forms["dat_pl"] = {"bijummiz"}
data.forms["ins_pl"] = {"binōmiz"}
table.insert(data.categories, "Proto-Germanic irregular nouns")
end
irreg_data["rīgǭ"] = function(args, data)
data.decl_type = "feminine on-stem"
data.forms["nom_sg"] = {"rīgǭ"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = {"rīgōnų"}
data.forms["gen_sg"] = {"rikkiz"}
data.forms["dat_sg"] = {"rikkini"}
data.forms["ins_sg"] = {"rikkē"}
data.forms["nom_pl"] = {"rīgōniz"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = {"rikkunz"}
data.forms["gen_pl"] = {"rikkǫ̂"}
data.forms["dat_pl"] = {"rīgummiz"}
data.forms["ins_pl"] = {"rikkōmiz"}
table.insert(data.categories, "Proto-Germanic irregular nouns")
end
------ Miscellaneous ------
irreg_data["fōr"] = function(args, data)
data.decl_type = "paradigm " .. args[1]
data.forms["nom_sg"] = {"fōr"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
if args[1] == "1" then
data.forms["gen_sg"] = {"funiz"}
data.forms["dat_sg"] = {"funi"}
data.forms["ins_sg"] = {"funē"}
elseif args[1] == "2" then
data.forms["gen_sg"] = {"fuiniz"}
data.forms["dat_sg"] = {"fuini"}
data.forms["ins_sg"] = {"fuinē"}
elseif args[1] == "3" then
data.forms["gen_sg"] = {"funiniz"}
data.forms["dat_sg"] = {"funini"}
data.forms["ins_sg"] = {"funinē"}
end
end
irreg_data["watōr"] = function(args, data)
data.decl_type = "heteroclitic, irregular"
data.forms["nom_sg"] = {"watōr"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"watiniz"}
data.forms["dat_sg"] = {"watini"}
data.forms["ins_sg"] = {"watinē"}
data.forms["nom_pl"] = {"watnō"}
data.forms["voc_pl"] = data.forms["nom_pl"]
data.forms["acc_pl"] = data.forms["nom_pl"]
data.forms["gen_pl"] = {"watnǫ̂"}
data.forms["dat_pl"] = {"watnamaz"}
data.forms["ins_pl"] = {"watnamiz"}
end
irreg_data["eudur"] = function(args, data)
data.decl_type = "heteroclitic, irregular"
data.forms["nom_sg"] = {"eudur"}
data.forms["voc_sg"] = data.forms["nom_sg"]
data.forms["acc_sg"] = data.forms["nom_sg"]
data.forms["gen_sg"] = {"ūdraz"}
data.forms["dat_sg"] = {"ūdiri"}
data.forms["ins_sg"] = {"ūdrē"}
end
return irreg_data
6kewxhsyw3r4m273hcujijiujyn8fx9
Templat:inflection-box-top
10
146290
376752
2026-09-27T16:35:47Z
SNN95
2113
Mencipta laman baru dengan kandungan '<includeonly>{{#invoke:inflection-table|box_top}}</includeonly><noinclude>{{documentation}}</noinclude>'
376752
wikitext
text/x-wiki
<includeonly>{{#invoke:inflection-table|box_top}}</includeonly><noinclude>{{documentation}}</noinclude>
7y3tspnbmugu7px243sqf0yi4tu29ny
Wikikamus:id/kendit
4
146291
376753
2026-09-27T16:38:37Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # tali pinggang diperbuat daripada kain'
376753
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# tali pinggang diperbuat daripada kain
k13hoqv00cg3qbfsjw6g7cscgh01q53
Wikikamus:id/nomina
4
146292
376754
2026-09-27T16:39:21Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # sukan lawan pedang tradisional Jepun'
376754
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# sukan lawan pedang tradisional Jepun
086mi45bkxy54vuwaxcdjkrynr5zr23
Wikikamus:id/kendong
4
146293
376756
2026-09-27T16:40:18Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # membawanya berbalut'
376756
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# membawanya berbalut
aclxwwhzayae7b0vg3shohk2js1mvs4
Wikikamus:id/kendur
4
146294
376757
2026-09-27T16:41:12Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # tiada ketegangan (tentang tali dsb.) # tidak ketat (tentang ikatan)'
376757
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# tiada ketegangan (tentang tali dsb.)
# tidak ketat (tentang ikatan)
m96898mrvrczdy7t0lti6r7vlyedfbr
Wikikamus:id/kelenturan
4
146295
376758
2026-09-27T16:41:58Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # mengenai (keadaan) fleksibiliti'
376758
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# mengenai (keadaan) fleksibiliti
2m4hqhky0o2nen14cwhvnzdnwnwifzl
Wikikamus:id/kekakuan
4
146296
376759
2026-09-27T16:43:22Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # perkara yang kaku; kejanggalan{{cp|id|Ia tersenyum sebentar demi menghindari '''kekakuan''' di dalam pergaulan.|Dia tersenyum sekejap untuk mengelakkan kejanggalan sosial.}}'
376759
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# perkara yang kaku; kejanggalan{{cp|id|Ia tersenyum sebentar demi menghindari '''kekakuan''' di dalam pergaulan.|Dia tersenyum sekejap untuk mengelakkan kejanggalan sosial.}}
9nehsc6frvabohewehrnu5d733bml90
Wikikamus:id/kecanggungan
4
146297
376760
2026-09-27T16:44:50Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # sikap kaku (kekok); kekakuan{{cp|id|Dalam penyesuaian diri kadang-kadang timbul '''kecanggungan'''.|Dalam pelarasan kadang-kadang timbul kejanggalan.}}'
376760
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# sikap kaku (kekok); kekakuan{{cp|id|Dalam penyesuaian diri kadang-kadang timbul '''kecanggungan'''.|Dalam pelarasan kadang-kadang timbul kejanggalan.}}
oloq36pgd0nqwd456x38fq9ray4l0r7
Wikikamus:id/cerewet
4
146298
376761
2026-09-27T16:46:50Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # suka mengkritik (mengejek, memanggil nama); banyak mulut; sindir; mengomel{{cp|id|Pembantu rumah tangga tidak suka bekerja pada nyonya rumah yang '''cerewet'''.|Pembantu rumah tidak suka bekerja untuk pelayan wanita yang cerewet.}}'
376761
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# suka mengkritik (mengejek, memanggil nama); banyak mulut; sindir; mengomel{{cp|id|Pembantu rumah tangga tidak suka bekerja pada nyonya rumah yang '''cerewet'''.|Pembantu rumah tidak suka bekerja untuk pelayan wanita yang cerewet.}}
41mfij3sr5dza9ltvsibwdnqp3i1usp
Wikikamus:id/cerepu
4
146299
376762
2026-09-27T16:48:17Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # kasut yang diperbuat daripada kulit yang tidak disapu{{cp|id|Untuk berjalan kaki sejauh itu, Kakek lebih suka mengenakan cerepu daripada sandal biasa.|Untuk berjalan sejauh itu, Atuk lebih suka memakai cerpu daripada sandal biasa.}}'
376762
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# kasut yang diperbuat daripada kulit yang tidak disapu{{cp|id|Untuk berjalan kaki sejauh itu, Kakek lebih suka mengenakan cerepu daripada sandal biasa.|Untuk berjalan sejauh itu, Atuk lebih suka memakai cerpu daripada sandal biasa.}}
clzotlytfbcaiymr2t1oavqt40y9w6s
Wikikamus:id/bimbang
4
146300
376763
2026-09-27T16:51:04Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # (perasaan) tidak pasti (kurang amanah); teragak-agak{{cp|id|Ia masih '''bimbang''' menerima usul itu.|Dia masih teragak-agak untuk menerima lamaran itu.}} # (merasa) bimbang; cemas{{cp|id|Ia selalu '''bimbang''' memikirkan nasib anaknya yang merantau di negeri orang.|Dia sentiasa risau akan nasib anaknya yang telah berhijrah ke negara lain.}}'
376763
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# (perasaan) tidak pasti (kurang amanah); teragak-agak{{cp|id|Ia masih '''bimbang''' menerima usul itu.|Dia masih teragak-agak untuk menerima lamaran itu.}}
# (merasa) bimbang; cemas{{cp|id|Ia selalu '''bimbang''' memikirkan nasib anaknya yang merantau di negeri orang.|Dia sentiasa risau akan nasib anaknya yang telah berhijrah ke negara lain.}}
gtd0v4ztviqkk6jrrg33h5vi9wgcwk0
Wikikamus:id/gelisah
4
146301
376764
2026-09-27T16:53:42Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # resah, sentiasa bimbang (tentang perasaan); resah (tentang tidur); tidak sabar untuk menunggu lagi, dan sebagainya; cemas{{cp|id|Semua penduduk '''gelisah''' mendengar desas-desus bahwa rumah mereka akan digusur.|Semua penduduk berasa gelisah setelah mendengar khabar angin bahawa mereka akan diusir dari rumah.}}'
376764
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# resah, sentiasa bimbang (tentang perasaan); resah (tentang tidur); tidak sabar untuk menunggu lagi, dan sebagainya; cemas{{cp|id|Semua penduduk '''gelisah''' mendengar desas-desus bahwa rumah mereka akan digusur.|Semua penduduk berasa gelisah setelah mendengar khabar angin bahawa mereka akan diusir dari rumah.}}
hia535d51zk9g7antbux902je2z64mg
Wikikamus:id/bergolak
4
146302
376765
2026-09-27T16:56:45Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # menggelegak; mendidih sambil berbuih # bergelora dengan hebat; tidak tenang (tentang keadaan politik dan sebagainya); berlaku kerusuhan (huru-hara dan sebagainya) # gelisah hati (resah)'
376765
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# menggelegak; mendidih sambil berbuih
# bergelora dengan hebat; tidak tenang (tentang keadaan politik dan sebagainya); berlaku kerusuhan (huru-hara dan sebagainya)
# gelisah hati (resah)
r77r2csnfrlsp12kuc5mgzz35wxhb9p
Wikikamus:id/bergelagak
4
146303
376766
2026-09-27T16:57:38Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # berbual-bual dan berbunyi (seperti air mendidih ketika direbus)'
376766
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# berbual-bual dan berbunyi (seperti air mendidih ketika direbus)
n73v7j7516g1qnu8kl8uqbro8zgt3p5
Templat:l+
10
146304
376767
2026-09-27T16:58:07Z
SNN95
2113
Mencipta laman baru dengan kandungan '<includeonly><onlyinclude>{{safesubst:<noinclude/>#invoke:links/templates|l_term_t|langname=1}}</onlyinclude></includeonly><!-- -->{{l+|ms|perkataan}}{{documentation}}'
376767
wikitext
text/x-wiki
<includeonly><onlyinclude>{{safesubst:<noinclude/>#invoke:links/templates|l_term_t|langname=1}}</onlyinclude></includeonly><!--
-->{{l+|ms|perkataan}}{{documentation}}
fozodcgcrrxvrcpare21rn1zod5dk40
Wikikamus:id/abad
4
146305
376770
2026-09-27T17:00:06Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # tempoh seratus tahun{{cp|id|Bangunan itu diperkirakan dapat bertahan satu '''abad'''.|Bangunan itu dianggarkan dapat bertahan selama satu abad.}} # jangka masa selama seratus tahun{{cp|id|'''Abad''' ke-20 mulai pada tahun 1901 sampai tahun 2000.|Abad ke-20 bermula pada tahun 1901 hingga tahun 2000.}} # zaman (yang tempohnya tidak tentu) # ma...'
376770
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# tempoh seratus tahun{{cp|id|Bangunan itu diperkirakan dapat bertahan satu '''abad'''.|Bangunan itu dianggarkan dapat bertahan selama satu abad.}}
# jangka masa selama seratus tahun{{cp|id|'''Abad''' ke-20 mulai pada tahun 1901 sampai tahun 2000.|Abad ke-20 bermula pada tahun 1901 hingga tahun 2000.}}
# zaman (yang tempohnya tidak tentu)
# masa yang kekal dan tidak berkesudahan
lnli364m878qrjvp6h67rxi7blwynl2
Wikikamus:bew/dableg
4
146306
376773
2026-09-27T18:19:41Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # degil #:{{cp|id|Tu bocah dableg amat. Dibilangin, malah nyengir baé|Kanak-kanak yang degil biasanya sukar mendengar nasihat guru}}'
376773
wikitext
text/x-wiki
==Bahasa {{bahasa|bew}}==
===Kata sifat===
{{inti|bew|kata sifat}}
# degil
#:{{cp|id|Tu bocah dableg amat. Dibilangin, malah nyengir baé|Kanak-kanak yang degil biasanya sukar mendengar nasihat guru}}
h407yjfd66jufhlogbh5jerqq08sgoi
Wikikamus:bew/encing
4
146307
376775
2026-09-27T18:23:34Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== # pakcik #:{{cp|id|Rumah encing kaga’ jauh dari setapsiun kerèta|Semalam pakcik menghantar buah rambutan segar ke rumah kami}}'
376775
wikitext
text/x-wiki
==Bahasa {{bahasa|bew}}==
===Kata nama===
# pakcik
#:{{cp|id|Rumah encing kaga’ jauh dari setapsiun kerèta|Semalam pakcik menghantar buah rambutan segar ke rumah kami}}
kx45cfsctztamg1fwo3tf38uklrdalb
376776
376775
2026-09-27T18:25:57Z
Nadiarhamadanitaa
11528
376776
wikitext
text/x-wiki
==Bahasa {{bahasa|bew}}==
===Kata nama===
# encing
#:pakcik{{cp|id|Rumah encing kaga’ jauh dari setapsiun kerèta|Semalam pakcik menghantar buah rambutan segar ke rumah kami}}
9x343az33vbaemze84w2z9gfcsm7j75
376778
376776
2026-09-27T18:29:31Z
Nadiarhamadanitaa
11528
376778
wikitext
text/x-wiki
==Bahasa {{bahasa|bew}}==
===Kata nama===
# pakcik
#:{{cp|id|Rumah encing kaga’ jauh dari setapsiun kerèta|Semalam pakcik menghantar buah rambutan segar ke rumah kami.}}
6m3mk0lqse689anpstwghb4xp9dexmq
376779
376778
2026-09-27T18:31:56Z
Nadiarhamadanitaa
11528
376779
wikitext
text/x-wiki
==Bahasa {{bahasa|bew}}==
===Kata nama===
'''encing'''
# pakcik
#:{{cp|id|Rumah encing kaga’ jauh dari setapsiun kerèta|Semalam pakcik menghantar buah rambutan segar ke rumah kami.}}
fubujocjdxgv93fxi42gt4w25y0l46c
Wikikamus:bew/pakcik
4
146308
376777
2026-09-27T18:27:02Z
Nadiarhamadanitaa
11528
Mencipta laman kosong
376777
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
Wikikamus:bew/kaya'
4
146309
376780
2026-09-27T18:34:00Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Frasa=== {{inti|{{safesubst:ROOTPAGENAME}}|frasa}} # nampak #:{{cp|id|Abetnya pera’ kaya’ orang kaga’ tau diajarin sopan santun|Dari jauh rumah banglo itu nampak begitu tersergam indah}}'
376780
wikitext
text/x-wiki
==Bahasa {{bahasa|bew}}==
===Frasa===
{{inti|bew|frasa}}
# nampak
#:{{cp|id|Abetnya pera’ kaya’ orang kaga’ tau diajarin sopan santun|Dari jauh rumah banglo itu nampak begitu tersergam indah}}
eumnht5mhsneptcuhx9x6wthkuneq0a
Wikikamus:bew/pelesiran
4
146310
376781
2026-09-27T18:35:36Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # pesiar #:{{cp|id|Udah lama kaga’ pelesiran ke tempat sodara di udik|Kapal pesiar mewah itu berlabuh di pelabuhan pagi tadi}}'
376781
wikitext
text/x-wiki
==Bahasa {{bahasa|bew}}==
===Kata kerja===
{{inti|bew|kata kerja}}
# pesiar
#:{{cp|id|Udah lama kaga’ pelesiran ke tempat sodara di udik|Kapal pesiar mewah itu berlabuh di pelabuhan pagi tadi}}
7jyekf7k08izph8evff1tsss1g93xzd
Wikikamus:bew/ringkes
4
146311
376782
2026-09-27T18:37:01Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # kemas #:{{cp|id|Sebelon berangkat, tu barang kudu lu ringkesin dulu’ biar kaga’ ribet|Bilik tidur tetamu itu sentiasa kemas dan teratur}}'
376782
wikitext
text/x-wiki
==Bahasa {{bahasa|bew}}==
===Kata kerja===
{{inti|bew|kata kerja}}
# kemas
#:{{cp|id|Sebelon berangkat, tu barang kudu lu ringkesin dulu’ biar kaga’ ribet|Bilik tidur tetamu itu sentiasa kemas dan teratur}}
gvsipxnnp4zn5hzy23zb8we9r170qf7
Wikikamus:bew/waras
4
146312
376783
2026-09-27T18:38:27Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # sihat #:{{cp|id|Alhamdulillah, marèn, sih, awak pada cikaan. Sekarang, udah waras|Senaman berterusan membantu mengekalkan tubuh badan yang sihat}}'
376783
wikitext
text/x-wiki
==Bahasa {{bahasa|bew}}==
===Kata sifat===
{{inti|bew|kata sifat}}
# sihat
#:{{cp|id|Alhamdulillah, marèn, sih, awak pada cikaan. Sekarang, udah waras|Senaman berterusan membantu mengekalkan tubuh badan yang sihat}}
sz0zb1vacrk73pgubfxqtnn4rxb62md
Wikikamus:en/stubborn
4
146313
376784
2026-09-27T18:39:55Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # degil #:{{cp|id|The child was very stubborn and difficult to advise|Kanak-kanak yang degil biasanya sukar mendengar nasihat guru}}'
376784
wikitext
text/x-wiki
==Bahasa {{bahasa|en}}==
===Kata sifat===
{{inti|en|kata sifat}}
# degil
#:{{cp|id|The child was very stubborn and difficult to advise|Kanak-kanak yang degil biasanya sukar mendengar nasihat guru}}
ba70ok2nq3vh224tr1lcomilxfa5ujd
Wikikamus:en/uncle
4
146314
376785
2026-09-27T18:41:50Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # pakcik #:{{cp|id|Yesterday my uncle came to visit our house.|Semalam pakcik menghantar buah rambutan segar ke rumah kami}}'
376785
wikitext
text/x-wiki
==Bahasa {{bahasa|en}}==
===Kata nama===
{{inti|en|kata nama}}
# pakcik
#:{{cp|id|Yesterday my uncle came to visit our house.|Semalam pakcik menghantar buah rambutan segar ke rumah kami}}
n0okpnuz9bvr74a65enkvs3x3cqnw8m
Wikikamus:en/like
4
146315
376786
2026-09-27T18:43:24Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Frasa=== {{inti|{{safesubst:ROOTPAGENAME}}|frasa}} # nampak #:{{cp|id|My little brother's face is very much like my father's when he was young|Dari jauh rumah banglo itu nampak begitu tersergam indah}}'
376786
wikitext
text/x-wiki
==Bahasa {{bahasa|en}}==
===Frasa===
{{inti|en|frasa}}
# nampak
#:{{cp|id|My little brother's face is very much like my father's when he was young|Dari jauh rumah banglo itu nampak begitu tersergam indah}}
8gkon622byocmzfab1yt3zx9atac90e
Wikikamus:en/tour
4
146316
376787
2026-09-27T18:45:43Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # pesiar #:{{cp|id|Yogyakarta city is a favorite tourist destination for tourists|Kapal pesiar mewah itu berlabuh di pelabuhan pagi tadi}}'
376787
wikitext
text/x-wiki
==Bahasa {{bahasa|en}}==
===Kata kerja===
{{inti|en|kata kerja}}
# pesiar
#:{{cp|id|Yogyakarta city is a favorite tourist destination for tourists|Kapal pesiar mewah itu berlabuh di pelabuhan pagi tadi}}
pf5ysxyp7fk39p9rdyo6k75rs5hhnib
Wikikamus:en/neat
4
146317
376788
2026-09-27T18:47:29Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # kemas #:{{cp|id|His desk is always neatly arranged at all times|Bilik tidur tetamu itu sentiasa kemas dan teratur}}'
376788
wikitext
text/x-wiki
==Bahasa {{bahasa|en}}==
===Kata kerja===
{{inti|en|kata kerja}}
# kemas
#:{{cp|id|His desk is always neatly arranged at all times|Bilik tidur tetamu itu sentiasa kemas dan teratur}}
dq6hh82amrk7myf0hrwmk5jv39cmpya
Wikikamus:en/healthy
4
146318
376789
2026-09-27T18:48:59Z
Nadiarhamadanitaa
11528
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # sihat #:{{cp|id|Eating vegetables and fruit is important to keep the body healthy|Senaman berterusan membantu mengekalkan tubuh badan yang sihat}}'
376789
wikitext
text/x-wiki
==Bahasa {{bahasa|en}}==
===Kata sifat===
{{inti|en|kata sifat}}
# sihat
#:{{cp|id|Eating vegetables and fruit is important to keep the body healthy|Senaman berterusan membantu mengekalkan tubuh badan yang sihat}}
1whywnkx0h4urwen696zycdagqks90n
salowe
0
146319
376793
2026-09-28T02:26:07Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===salowe=== {{lb|ms|kata benda}} # {{lb|ms|Pelalawan}} celana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|tepanjang salowe awak.|kepanjangan celana aku.}}'
376793
wikitext
text/x-wiki
==Bahasa Melayu==
===salowe===
{{lb|ms|kata benda}}
# {{lb|ms|Pelalawan}} celana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|tepanjang salowe awak.|kepanjangan celana aku.}}
pvnylqudemculbn3v6ibdr7pvurmuyh
imau
0
146320
376794
2026-09-28T02:27:04Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===imau=== {{lb|ms|kata benda}} # {{lb|ms|Pelalawan}} harimau <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|bose aimau tu.|besar harimau itu.}}'
376794
wikitext
text/x-wiki
==Bahasa Melayu==
===imau===
{{lb|ms|kata benda}}
# {{lb|ms|Pelalawan}} harimau <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|bose aimau tu.|besar harimau itu.}}
ecd8jncugtxv8vmzzgb2476ddvjdejh
indak
0
146321
376795
2026-09-28T02:28:29Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===indak=== {{lb|ms|kata keterangan}} # {{lb|ms|Pelalawan}} tidak <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|indak menetu kawan tu.|tidak tau teman itu.}}'
376795
wikitext
text/x-wiki
==Bahasa Melayu==
===indak===
{{lb|ms|kata keterangan}}
# {{lb|ms|Pelalawan}} tidak <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|indak menetu kawan tu.|tidak tau teman itu.}}
kurpdrcaal5rgg7dftzmgjregoqcare
atan
0
146322
376796
2026-09-28T02:31:24Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===atan=== {{lb|ms|kata ganti}} # {{lb|ms|Pelalawan}} kakek <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|atana nak kemano?.|kakek mau kemana?.}}'
376796
wikitext
text/x-wiki
==Bahasa Melayu==
===atan===
{{lb|ms|kata ganti}}
# {{lb|ms|Pelalawan}} kakek <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|atana nak kemano?.|kakek mau kemana?.}}
cs2d8hrwqh1xnochfx6ulfk6u6108xh
telungkop
0
146323
376797
2026-09-28T02:34:15Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===telungkop=== {{lb|ms|kata kerja}} # {{lb|ms|Pelalawan}} jatuh <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|dikau telongkat kat meno?.|kamu terjatuh dimana?.}}'
376797
wikitext
text/x-wiki
==Bahasa Melayu==
===telungkop===
{{lb|ms|kata kerja}}
# {{lb|ms|Pelalawan}} jatuh <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|dikau telongkat kat meno?.|kamu terjatuh dimana?.}}
lf3eawf3bnm8ei4ar44nq7diyv96rej
betino
0
146324
376798
2026-09-28T02:35:47Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===betino=== {{lb|ms|kata ganti}} # {{lb|ms|Pelalawan}} perempuan <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|apo dibuat betino tu?.|Apa yang dibuat sama perempuan itu?.}}'
376798
wikitext
text/x-wiki
==Bahasa Melayu==
===betino===
{{lb|ms|kata ganti}}
# {{lb|ms|Pelalawan}} perempuan <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|apo dibuat betino tu?.|Apa yang dibuat sama perempuan itu?.}}
hn3yz3vzqbewgonshshq82d6b0mtwgm
Wikikamus:id/translasi
4
146325
376799
2026-09-28T02:35:50Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # pemindahan semua titik dalam suatu satah pada jarak dan arah yang sama'
376799
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# pemindahan semua titik dalam suatu satah pada jarak dan arah yang sama
nxak3kyvo0pkrg8j64cv8pe7tzjjgqg
kebulow
0
146326
376800
2026-09-28T02:37:05Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===kebulow=== {{lb|ms|kata sifat}} # {{lb|ms|Pelalawan}} lapar <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|awak kebulow sangat.|saya sangat lapar.}}'
376800
wikitext
text/x-wiki
==Bahasa Melayu==
===kebulow===
{{lb|ms|kata sifat}}
# {{lb|ms|Pelalawan}} lapar <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|awak kebulow sangat.|saya sangat lapar.}}
t4cl3z9clnqq5nxushbuix2mts8lq6n
Wikikamus:id/transliterasi
4
146327
376801
2026-09-28T02:37:17Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # penyalinan dengan penggantian huruf daripada satu abjad kepada abjad yang lain{{cp|id|Untuk mengetahui sastra Melayu Klasik lebih mendalam, perlu dilakukan '''transliterasi''' dari tulisan Arab Melayu ke dalam tulisan Latin.|Untuk memahami kesusasteraan Melayu Klasik dengan lebih mendalam, perlu dilakukan transliterasi daripada tulisan Arab...'
376801
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# penyalinan dengan penggantian huruf daripada satu abjad kepada abjad yang lain{{cp|id|Untuk mengetahui sastra Melayu Klasik lebih mendalam, perlu dilakukan '''transliterasi''' dari tulisan Arab Melayu ke dalam tulisan Latin.|Untuk memahami kesusasteraan Melayu Klasik dengan lebih mendalam, perlu dilakukan transliterasi daripada tulisan Arab Melayu kepada tulisan Rumi.}}
j0cx4wkdi849ikqfpni7ikf6qniw1kz
Wikikamus:id/translokasi
4
146328
376802
2026-09-28T02:38:58Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # pemindahan tempat # pemindahan makanan dalam tumbuhan dari tempat penghasilan atau penyimpanan ke bahagian yang memerlukannya'
376802
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# pemindahan tempat
# pemindahan makanan dalam tumbuhan dari tempat penghasilan atau penyimpanan ke bahagian yang memerlukannya
2ymmvvhi1nt0juwxc348115z5c89veb
Wikikamus:id/translusens
4
146329
376803
2026-09-28T02:39:44Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # bersifat separa lutsinar; dapat ditembusi cahaya'
376803
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# bersifat separa lutsinar; dapat ditembusi cahaya
q8oahrtoye6mqjfcdmaaxmm0o9dgy32
cemmane
0
146330
376804
2026-09-28T02:39:47Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===cemmana=== {{lb|ms|kata tanya}} # {{lb|ms|Pelalawan}} bagaimana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|cemmana pogi awak.|bagaimana pergi saya.}}'
376804
wikitext
text/x-wiki
==Bahasa Melayu==
===cemmana===
{{lb|ms|kata tanya}}
# {{lb|ms|Pelalawan}} bagaimana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|cemmana pogi awak.|bagaimana pergi saya.}}
l2xp2dqqgnzohnpqe4yuondq0p5kran
Wikikamus:id/rujak
4
146331
376805
2026-09-28T02:40:59Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # makanan yang dibuat daripada buah-buahan, kadangkala dicampur dengan sayur-sayuran yang dihiris, ditumbuk dan sebagainya, kemudian dibubuh perencah yang terdiri daripada asam, gula, cili dan sebagainya'
376805
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# makanan yang dibuat daripada buah-buahan, kadangkala dicampur dengan sayur-sayuran yang dihiris, ditumbuk dan sebagainya, kemudian dibubuh perencah yang terdiri daripada asam, gula, cili dan sebagainya
savtmy1k2cwonymgxhrp2r1dddqrhly
Wikikamus:id/rujak bebek
4
146332
376806
2026-09-28T02:41:46Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # rujak yang bahannya ditumbuk sehingga lumat; rujak tumbuk'
376806
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# rujak yang bahannya ditumbuk sehingga lumat; rujak tumbuk
i7ql3bscotrru65noikgt69s4ivqb2e
seloghoh
0
146333
376807
2026-09-28T02:41:47Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===seloghoh=== {{lb|ms|kata sifat}} # {{lb|ms|Bwngkalis}} bercanda <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|dikau sologhoh.|kamu bercanda.}}'
376807
wikitext
text/x-wiki
==Bahasa Melayu==
===seloghoh===
{{lb|ms|kata sifat}}
# {{lb|ms|Bwngkalis}} bercanda <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|dikau sologhoh.|kamu bercanda.}}
rr5fpqtuq60m2mru0zo7dvj9gv900di
Wikikamus:id/rujak buah dingin
4
146334
376808
2026-09-28T02:42:40Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # rujak yang buah-buahannya disejukkan terlebih dahulu'
376808
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# rujak yang buah-buahannya disejukkan terlebih dahulu
1smwduum8f8cau6ixef96aukjfefe9h
Wikikamus:id/rujak cingur
4
146335
376809
2026-09-28T02:43:38Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # rujak yang bahannya terdiri daripada hirisan cingur, sayur-sayuran, buah-buahan, tauhu, tempe, dengan perencah petis'
376809
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# rujak yang bahannya terdiri daripada hirisan cingur, sayur-sayuran, buah-buahan, tauhu, tempe, dengan perencah petis
j6v92dd39bl528hivroanf9n9zl7dm7
ansow
0
146336
376810
2026-09-28T02:44:27Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===ansow=== {{lb|ms|kata ganti}} # {{lb|ms|Pelalawan}} duluan <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|beansow lagi.|duluanlah lagi.}}'
376810
wikitext
text/x-wiki
==Bahasa Melayu==
===ansow===
{{lb|ms|kata ganti}}
# {{lb|ms|Pelalawan}} duluan <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|beansow lagi.|duluanlah lagi.}}
4z33anrfkpk9zqkt822n2hrim4osjto
Wikikamus:id/cingur
4
146337
376811
2026-09-28T02:44:46Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # hidung dan bibir atas kerbau atau lembu'
376811
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# hidung dan bibir atas kerbau atau lembu
462tommqa47m86r9ru6veh8ip6sn6bv
ngeleto
0
146338
376812
2026-09-28T02:46:00Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===neleto=== {{lb|ms|kata benda}} # {{lb|ms|Bengkalis}} gemetar <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|ngeleto badan awak.|gemetar badan ku.}}'
376812
wikitext
text/x-wiki
==Bahasa Melayu==
===neleto===
{{lb|ms|kata benda}}
# {{lb|ms|Bengkalis}} gemetar <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|ngeleto badan awak.|gemetar badan ku.}}
0erf795fqa77eb8wnp51ku5p83aof8n
Wikikamus:id/cingkat
4
146339
376813
2026-09-28T02:46:19Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # buah kelapa yang masih muda'
376813
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# buah kelapa yang masih muda
0rfl0fv694y0upow62g8arkfx2ylgbs
Wikikamus:id/cingge
4
146340
376814
2026-09-28T02:47:04Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # perarakan orang Cina yang berpakaian dengan pelbagai jenis pakaian sempena perayaan besar masyarakat Cina'
376814
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# perarakan orang Cina yang berpakaian dengan pelbagai jenis pakaian sempena perayaan besar masyarakat Cina
65a263s7vpn901a9x92sfxm53vqyeq8
Wikikamus:id/cingam
4
146341
376815
2026-09-28T02:48:05Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # perdu yang banyak bercabang, tingginya hingga 5 m, kayunya biasanya dibuat senduk, pendayung dan sebagainya, daunnya digunakan sebagai ubat untuk sakit perut; ''Scyphiphora hydrophyllacea'''
376815
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# perdu yang banyak bercabang, tingginya hingga 5 m, kayunya biasanya dibuat senduk, pendayung dan sebagainya, daunnya digunakan sebagai ubat untuk sakit perut; ''Scyphiphora hydrophyllacea''
nvs2x5khnrbt3pu4bvolhkqzh7u1nay
koja
0
146342
376816
2026-09-28T02:48:29Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===bekoja=== {{lb|ms|kata kerja}} # {{lb|ms|Rokan Hilir}} berkerja <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|bekojo kau?.|bekerja kamu?.}}'
376816
wikitext
text/x-wiki
==Bahasa Melayu==
===bekoja===
{{lb|ms|kata kerja}}
# {{lb|ms|Rokan Hilir}} berkerja <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|bekojo kau?.|bekerja kamu?.}}
oblsuxe9ujr6dn2gvk9w2x265hmbi7y
Wikikamus:id/cingak-cinguk
4
146343
376817
2026-09-28T02:48:57Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # memandang ke kiri dan ke kanan (untuk mencari sesuatu)'
376817
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# memandang ke kiri dan ke kanan (untuk mencari sesuatu)
4orlrk9siiopl9qrulofu1ud64o6imh
Wikikamus:id/cing
4
146344
376818
2026-09-28T02:49:43Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # tiruan bunyi syiling jatuh di atas batu'
376818
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# tiruan bunyi syiling jatuh di atas batu
c78y6gh7mkodpixd0xtw1is7m2cqf2w
cangkung
0
146345
376819
2026-09-28T02:49:48Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===cangkung=== {{lb|ms|kata kerja}} # {{lb|ms|Rokan Hilir}} celana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|menyakung awak ni.|jongkok kita ini.}}'
376819
wikitext
text/x-wiki
==Bahasa Melayu==
===cangkung===
{{lb|ms|kata kerja}}
# {{lb|ms|Rokan Hilir}} celana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|menyakung awak ni.|jongkok kita ini.}}
ebca0rlacfnjhefsxpdg2zrehc5n0cj
tekelub
0
146346
376820
2026-09-28T02:51:23Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===tekelub=== {{lb|ms|kata kerja}} # {{lb|ms|Rokan Hilir}} celana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|dikau tekelub dimano?.|kamu terjatuh dimana?.}}'
376820
wikitext
text/x-wiki
==Bahasa Melayu==
===tekelub===
{{lb|ms|kata kerja}}
# {{lb|ms|Rokan Hilir}} celana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|dikau tekelub dimano?.|kamu terjatuh dimana?.}}
0c9s9vvkwvt0bsy972e3lxsvp0bvr4t
Wikikamus:id/cendera mata
4
146347
376821
2026-09-28T02:51:38Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # pemberian (sebagai kenang-kenangan, sebagai tanda ingatan dan sebagainya); tanda mata # kekasih; buah hati'
376821
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# pemberian (sebagai kenang-kenangan, sebagai tanda ingatan dan sebagainya); tanda mata
# kekasih; buah hati
5ydxnt7rd2oozv69gxn8ho88difu0gq
Wikikamus:id/cenderai
4
146348
376822
2026-09-28T02:52:30Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # pokok, biasanya kayunya bengkok, tingginya sehingga 17 m, dapat dijadikan arang yang bermutu tinggi, daunnya digunakan sebagai ubat; ''Grewia paniculata'''
376822
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# pokok, biasanya kayunya bengkok, tingginya sehingga 17 m, dapat dijadikan arang yang bermutu tinggi, daunnya digunakan sebagai ubat; ''Grewia paniculata''
dzhomio2wn843fqic9zi67nshrj7cad
berembus
0
146349
376823
2026-09-28T02:53:31Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===berembus=== {{lb|ms|kata kerja}} # {{lb|ms|Rokan Hilir}} celana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|berembuslah lagi dikau sano.|pergilah kamu lagi kesana.}}'
376823
wikitext
text/x-wiki
==Bahasa Melayu==
===berembus===
{{lb|ms|kata kerja}}
# {{lb|ms|Rokan Hilir}} celana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|berembuslah lagi dikau sano.|pergilah kamu lagi kesana.}}
kvexhkgnn3p1lnjmin9xrp8nl7i3kjo
bonta
0
146350
376824
2026-09-28T02:54:57Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===salowe=== {{lb|ms|kata keteranga}} # {{lb|ms|Rokan Hilir}} sebentar <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|bonta lagi awak pogi.|sebentar lagi saya pergi.}}'
376824
wikitext
text/x-wiki
==Bahasa Melayu==
===salowe===
{{lb|ms|kata keteranga}}
# {{lb|ms|Rokan Hilir}} sebentar <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|bonta lagi awak pogi.|sebentar lagi saya pergi.}}
2x9mzsnix08epgvmpj652zk7hjd4q8k
uwo
0
146351
376825
2026-09-28T02:56:14Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===ewo=== {{lb|ms|kata ganto}} # {{lb|ms|Siak}} celana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|dimano uwo kahang?.|dimana nenek sekarang?.}}'
376825
wikitext
text/x-wiki
==Bahasa Melayu==
===ewo===
{{lb|ms|kata ganto}}
# {{lb|ms|Siak}} celana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|dimano uwo kahang?.|dimana nenek sekarang?.}}
deyhkcqv6dzeg55opvhmtaelno9n25z
Wikikamus:id/kenang-kenangan
4
146352
376826
2026-09-28T02:57:19Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # sesuatu yang menjadi kenangan (tetap dalam ingatan){{cp|id|Peristiwa itu merupakan '''kenang-kenangan''' yang tidak akan terlupakan selama hidupku.|Peristiwa itu merupakan kenangan yang tidak akan dilupakan sepanjang hidupku.}} # sesuatu yang diberikan sebagai tanda mata; cenderamata{{cp|id|Cincin itu kuberikan sebagai '''kenang-kenangan'''...'
376826
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# sesuatu yang menjadi kenangan (tetap dalam ingatan){{cp|id|Peristiwa itu merupakan '''kenang-kenangan''' yang tidak akan terlupakan selama hidupku.|Peristiwa itu merupakan kenangan yang tidak akan dilupakan sepanjang hidupku.}}
# sesuatu yang diberikan sebagai tanda mata; cenderamata{{cp|id|Cincin itu kuberikan sebagai '''kenang-kenangan''' untukmu.|Cincin itu kuberikan sebagai kenang-kenangan untukmu.}}
# sesuatu yang dimaksudkan untuk dikenang{{cp|id|Apakah '''kenang-kenangan'''mu setelah kembali dari Eropa?|Apakah kenang-kenanganmu setelah pulang dari Eropah?}}
59ph4cf20d1v24zqkt62mlqlucwt6oa
mak usu
0
146353
376827
2026-09-28T02:57:19Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===mak usu=== {{lb|ms|kata siak}} # {{lb|ms|Siak}} tante <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|mak usu nak kemano?.|tante mau kemana.}}'
376827
wikitext
text/x-wiki
==Bahasa Melayu==
===mak usu===
{{lb|ms|kata siak}}
# {{lb|ms|Siak}} tante <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|mak usu nak kemano?.|tante mau kemana.}}
s77sb94v127q1jyqmyazm3rk260ynjo
nio
0
146354
376828
2026-09-28T02:59:39Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===nio=== {{lb|ms|kata Pelalawan}} # {{lb|ms|Pelalawan}} kelapa <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|bedak tu minum ae nio.|anak itu minum air kelapa.}}'
376828
wikitext
text/x-wiki
==Bahasa Melayu==
===nio===
{{lb|ms|kata Pelalawan}}
# {{lb|ms|Pelalawan}} kelapa <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|bedak tu minum ae nio.|anak itu minum air kelapa.}}
fi1p39grna97ivpqcpmvi979cftgtu5
Wikikamus:id/oleh-oleh
4
146355
376829
2026-09-28T03:00:01Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # sesuatu yang dibawa pulang dari perjalanan; buah tangan{{cp|id|Ini '''oleh-oleh''' dari ayahku yang baru pulang dari Eropa.|Ini buah tangan daripada ayahku yang baru pulang dari Eropah.}}'
376829
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# sesuatu yang dibawa pulang dari perjalanan; buah tangan{{cp|id|Ini '''oleh-oleh''' dari ayahku yang baru pulang dari Eropa.|Ini buah tangan daripada ayahku yang baru pulang dari Eropah.}}
h1d9up22ia9hy2wia4f39d04wtkolvb
Wikikamus:id/antaran
4
146356
376830
2026-09-28T03:01:28Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # barang yang dihantar (dikirimkan) # wang dan sebagainya yang diberikan oleh pihak lelaki kepada bakal mentua # orang yang menghantar'
376830
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# barang yang dihantar (dikirimkan)
# wang dan sebagainya yang diberikan oleh pihak lelaki kepada bakal mentua
# orang yang menghantar
sa6x9hkql4gbnr23nayyhmrm3umt5ol
sogan
0
146357
376831
2026-09-28T03:02:46Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===sogan=== {{lb|ms|kata sifat}} # {{lb|ms|Pelalawan}} malas <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|sogan betul awak di buat inyo.|malas sekali aku dibuat dia.}}'
376831
wikitext
text/x-wiki
==Bahasa Melayu==
===sogan===
{{lb|ms|kata sifat}}
# {{lb|ms|Pelalawan}} malas <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|sogan betul awak di buat inyo.|malas sekali aku dibuat dia.}}
l3w2wwn2eplrzjqapoj36u2l6ftu0jo
Wikikamus:id/senggang
4
146358
376832
2026-09-28T03:02:56Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # terluang atau lapang (tentang masa); tidak sibuk{{cp|id|Pada waktu '''senggang''' ia biasa membaca buku.|Pada waktu senggang, dia biasa membaca buku.}}'
376832
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# terluang atau lapang (tentang masa); tidak sibuk{{cp|id|Pada waktu '''senggang''' ia biasa membaca buku.|Pada waktu senggang, dia biasa membaca buku.}}
1lqp0vckwz4zydgyo03k115jv47drc6
Wikikamus:id/senggat
4
146359
376833
2026-09-28T03:04:06Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # batas (tanda) yang menunjukkan tahap ukuran (pada pembaris kayu dan sebagainya)'
376833
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# batas (tanda) yang menunjukkan tahap ukuran (pada pembaris kayu dan sebagainya)
h17ppe461zgbwr9jbjrbj3ombrhe0g5
boreh
0
146360
376834
2026-09-28T03:05:07Z
Siswanto Unilak
11022
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===boreh=== {{lb|ms|kata benda}} # {{lb|ms|Rokan Hulu}} beras <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|bole bores kat kodai.|memebeli beras di warung.}}'
376834
wikitext
text/x-wiki
==Bahasa Melayu==
===boreh===
{{lb|ms|kata benda}}
# {{lb|ms|Rokan Hulu}} beras <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|bole bores kat kodai.|memebeli beras di warung.}}
jt6fucg4ntwfmastkurelv452l3mktf
Wikikamus:id/senggeruk
4
146361
376835
2026-09-28T03:05:22Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # tembakau untuk dihidu-hidu # ubat bius untuk orang yang akan dibedah'
376835
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# tembakau untuk dihidu-hidu
# ubat bius untuk orang yang akan dibedah
772kb8nbwpzrb39zrr3p8z9bv23unyk
Wikikamus:id/sanad
4
146362
376836
2026-09-28T03:07:40Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # sandaran, hubungan atau rangkaian perkara yang boleh dipercayai # rangkaian perawi hadis sampai kepada Nabi Muhammad {{cp|id|Hadis itu telah diriwayatkan oleh Imam Bukhari dengan '''sanad''' yang baik.|Hadis itu telah diriwayatkan oleh Imam al-Bukhari dengan sanad yang baik.}}'
376836
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# sandaran, hubungan atau rangkaian perkara yang boleh dipercayai
# rangkaian perawi hadis sampai kepada Nabi Muhammad {{cp|id|Hadis itu telah diriwayatkan oleh Imam Bukhari dengan '''sanad''' yang baik.|Hadis itu telah diriwayatkan oleh Imam al-Bukhari dengan sanad yang baik.}}
b7umaqzkxgzp2dws4iy3zl3y3zp93hn
Wikikamus:id/sanak
4
146363
376837
2026-09-28T03:08:23Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # saudara; keluarga'
376837
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# saudara; keluarga
rs5xwnoo1pjvw7irzhkpseiljvfcrzo
Wikikamus:id/sanak saudara
4
146364
376838
2026-09-28T03:09:29Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # orang yang masih mempunyai hubungan kekeluargaan; saudara-mara'
376838
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# orang yang masih mempunyai hubungan kekeluargaan; saudara-mara
i42rx3bfy7a5kekeigtamajoghqbw34
Wikikamus:id/sana sini
4
146365
376839
2026-09-28T03:10:15Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # di mana-mana; di sana sini'
376839
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# di mana-mana; di sana sini
s95hxud8sd9jlci4fr7ggs63qplun2o
Wikikamus:id/sanatogen
4
146366
376840
2026-09-28T03:11:05Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # ubat dalam bentuk cecair untuk menguatkan darah'
376840
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# ubat dalam bentuk cecair untuk menguatkan darah
gu7z4uc2bp5rv5f261wngsclzlxxg5c
Wikikamus:id/sanatorium
4
146367
376841
2026-09-28T03:11:59Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # hospital yang juga berfungsi sebagai tempat merawat pesakit penyakit paru-paru dengan gabungan rawatan, diet dan senaman yang ketat # tempat berehat untuk menyembuhkan orang yang menghidap penyakit tertentu # tempat penyembuhan bagi orang yang menghidap penyakit kronik'
376841
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# hospital yang juga berfungsi sebagai tempat merawat pesakit penyakit paru-paru dengan gabungan rawatan, diet dan senaman yang ketat
# tempat berehat untuk menyembuhkan orang yang menghidap penyakit tertentu
# tempat penyembuhan bagi orang yang menghidap penyakit kronik
bgc7s1vgtjmwo1j9tlecpvtymavzslg
Wikikamus:id/sanawiah
4
146368
376842
2026-09-28T03:13:43Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # tingkat menengah pertama (sekolah agama Islam){{cp|id|Pesantren ini memiliki tingkat '''sanawiah''' dan aliah dengan lama belajar enam tahun.|Pesantren ini mempunyai tingkat sanawiah dan aliah dengan tempoh pengajian selama enam tahun.}}'
376842
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# tingkat menengah pertama (sekolah agama Islam){{cp|id|Pesantren ini memiliki tingkat '''sanawiah''' dan aliah dengan lama belajar enam tahun.|Pesantren ini mempunyai tingkat sanawiah dan aliah dengan tempoh pengajian selama enam tahun.}}
2xn9xob101cyas51eh3p5zsn8yz92vh
Wikikamus:id/gadai
4
146369
376843
2026-09-28T03:14:48Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # meminjam wang dalam tempoh tertentu dengan menyerahkan barang sebagai cagaran; jika telah sampai tempohnya dan tidak ditebus, barang itu menjadi hak pemberi pinjaman'
376843
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# meminjam wang dalam tempoh tertentu dengan menyerahkan barang sebagai cagaran; jika telah sampai tempohnya dan tidak ditebus, barang itu menjadi hak pemberi pinjaman
hu7pfyqki3oakkaqexn2sree6qyv5z4
376844
376843
2026-09-28T03:15:53Z
Rachmat04
3001
376844
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# meminjam wang dalam tempoh tertentu dengan menyerahkan barang sebagai cagaran; jika telah sampai tempohnya dan tidak ditebus, barang itu menjadi hak pemberi pinjaman
=== Kata nama ===
{{inti|id|kata kerja}}
# barang yang diserahkan sebagai cagaran hutang
# kredit jangka pendek dengan cagaran yang tempohnya tiga bulan dan boleh dilanjutkan setiap kali sekiranya tidak ditamatkan oleh salah satu pihak yang berkenaan
oimnklex2hf5qrqh58jbjyr4mqgqbik
Wikikamus:id/bergadai
4
146370
376845
2026-09-28T03:17:21Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # meminjam wang dengan menyerahkan barang sebagai cagaran{{cp|id|Ia terpaksa '''bergadai''' untuk membayar kontrak rumahnya.|Dia terpaksa menggadai untuk membayar kontrak rumahnya.}}'
376845
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# meminjam wang dengan menyerahkan barang sebagai cagaran{{cp|id|Ia terpaksa '''bergadai''' untuk membayar kontrak rumahnya.|Dia terpaksa menggadai untuk membayar kontrak rumahnya.}}
16kae3wo17ae00pv38cfk6n99jrcgii
Wikikamus:id/bergadang
4
146371
376846
2026-09-28T03:18:04Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # berjaga (tidak tidur pada waktu malam)'
376846
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# berjaga (tidak tidur pada waktu malam)
eid6s273lwez1ywcawb5wgethep6u2g
Wikikamus:id/bergaduh
4
146372
376847
2026-09-28T03:21:11Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # berbuat gaduh (ribut, kecoh){{cp|id|Jangan '''bergaduh''' di sini karena ada orang sakit!|Jangan bergaduh di sini kerana ada orang sakit!}} # bertengkar; bercekcok{{cp|id|Tidak putus-putusnya ia '''bergaduh''' dengan istrinya.|Dia tidak putus-putus bergaduh dengan isterinya.}} # bercampur aduk; bercampur baur{{cp|id|Yang buruk dengan yang...'
376847
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# berbuat gaduh (ribut, kecoh){{cp|id|Jangan '''bergaduh''' di sini karena ada orang sakit!|Jangan bergaduh di sini kerana ada orang sakit!}}
# bertengkar; bercekcok{{cp|id|Tidak putus-putusnya ia '''bergaduh''' dengan istrinya.|Dia tidak putus-putus bergaduh dengan isterinya.}}
# bercampur aduk; bercampur baur{{cp|id|Yang buruk dengan yang baik '''bergaduh''', susah dibedakan lagi.|Yang buruk dengan yang baik bercampur aduk sehingga sukar dibezakan lagi.}}
3fxr2354sr122jl34q3yajpt2183sqc
Wikikamus:id/gaduh
4
146373
376848
2026-09-28T03:22:38Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # kecoh dan gempar akibat perkelahian (pertengkaran dan sebagainya); ribut; huru-hara{{cp|id|Yang membuat '''gaduh''' telah ditahan polisi.|Orang yang membuat kecoh itu telah ditahan oleh polis.}}'
376848
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# kecoh dan gempar akibat perkelahian (pertengkaran dan sebagainya); ribut; huru-hara{{cp|id|Yang membuat '''gaduh''' telah ditahan polisi.|Orang yang membuat kecoh itu telah ditahan oleh polis.}}
gjxfrxe89t0civjy0b20szilkconvwx
Wikikamus:id/abdi masyarakat
4
146374
376849
2026-09-28T03:23:40Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # pegawai kerajaan yang pada dasarnya berkewajipan berkhidmat kepada masyarakat'
376849
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# pegawai kerajaan yang pada dasarnya berkewajipan berkhidmat kepada masyarakat
37q3xjg7c8el57h9f5do5m42xar2q7s
Wikikamus:id/abu soda
4
146375
376850
2026-09-28T03:25:00Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # natrium karbonat komersial, berupa serbuk yang larut dalam air tetapi tidak larut dalam alkohol, digunakan dalam pembuatan kaca dan penapisan petroleum, sabun dan detergen'
376850
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# natrium karbonat komersial, berupa serbuk yang larut dalam air tetapi tidak larut dalam alkohol, digunakan dalam pembuatan kaca dan penapisan petroleum, sabun dan detergen
3jo0fu9wf45nd1ep1ph11h215aa5qx2
Wikikamus:id/abu terbang
4
146376
376851
2026-09-28T03:25:38Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # buangan berbentuk zarah halus yang tidak mudah terbakar dan terperangkap dalam aliran gas yang keluar dari dalam relau abu'
376851
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# buangan berbentuk zarah halus yang tidak mudah terbakar dan terperangkap dalam aliran gas yang keluar dari dalam relau abu
rp0eamq53je9zdm3i0u1t5a1qe9swnd
Wikikamus:id/abu tulang
4
146377
376852
2026-09-28T03:26:16Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # serbuk putih yang tertinggal selepas tulang dibakar di udara terbuka'
376852
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# serbuk putih yang tertinggal selepas tulang dibakar di udara terbuka
36lwxhszkz2owkjz28ox6aojcvics78
Wikikamus:id/abu vulkanis
4
146378
376853
2026-09-28T03:26:52Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # zarah lava yang halus yang terhembus ketika gunung berapi meletus; kadangkala zarah ini terhembus sangat tinggi sehingga jatuh di tempat yang sangat jauh'
376853
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# zarah lava yang halus yang terhembus ketika gunung berapi meletus; kadangkala zarah ini terhembus sangat tinggi sehingga jatuh di tempat yang sangat jauh
mbyztx8n8xa0ol2tv0ueollmx9enjv9
Wikikamus:id/acak-acakan
4
146379
376855
2026-09-28T03:29:39Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # tidak teratur; tidak cermat; sambil lewa; kacau'
376855
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# tidak teratur; tidak cermat; sambil lewa; kacau
bntqyj30hbn9iahv6j6yseyxol6nk78
Wikikamus:id/acala
4
146380
376856
2026-09-28T03:30:19Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # arca yang tidak dapat dipindahkan, biasanya diperbuat daripada batu dan diletakkan di tempat yang paling suci dalam rumah pemujaan'
376856
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# arca yang tidak dapat dipindahkan, biasanya diperbuat daripada batu dan diletakkan di tempat yang paling suci dalam rumah pemujaan
jmdehq5vl82igg706zumjgw6hwfy6fj
Wikikamus:id/acang
4
146381
376857
2026-09-28T03:31:08Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # perkakas kecil yang digunakan untuk menunjukkan keadaan air dalam cerek dan sebagainya'
376857
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# perkakas kecil yang digunakan untuk menunjukkan keadaan air dalam cerek dan sebagainya
05lxi2nsbkixeelah3vr1mvatufaqc7
Wikikamus:id/acang-acang kampung
4
146382
376858
2026-09-28T03:32:09Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Frasa=== {{inti|{{safesubst:ROOTPAGENAME}}|frasa}} # orang yang dipercayai oleh penduduk sekampung; para cerdik pandai di kampung'
376858
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Frasa===
{{inti|id|frasa}}
# orang yang dipercayai oleh penduduk sekampung; para cerdik pandai di kampung
t9e76bvyv4mwiyqewlioz7lgjtabyvw
Wikikamus:id/acar
4
146383
376859
2026-09-28T03:32:53Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # makanan yang dibuat daripada buah-buahan atau sayur-sayuran, dibubuh rempah dan diasamkan'
376859
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# makanan yang dibuat daripada buah-buahan atau sayur-sayuran, dibubuh rempah dan diasamkan
np723n1r4yjuo6tohf4h52iqgw6r6p0
Wikikamus:id/hajatan
4
146384
376860
2026-09-28T03:34:21Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # acara (seperti majlis resepsi dan kenduri){{cp|id|Dalam bulan Maulid ini banyak orang mengadakan '''hajatan'''.|Pada bulan Maulid ini, ramai orang mengadakan kenduri.}}'
376860
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# acara (seperti majlis resepsi dan kenduri){{cp|id|Dalam bulan Maulid ini banyak orang mengadakan '''hajatan'''.|Pada bulan Maulid ini, ramai orang mengadakan kenduri.}}
07a7fgxzov7cid5ro154ge7oy331qw3
Wikikamus:id/tuli
4
146385
376862
2026-09-28T03:58:07Z
Affandy Murad
9103
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|id}}== ===Kata nama=== {{inti|id|kata nama}} # pekak #:{{cp|id|Penyakit infeksi telinga dapat membuat seseorang '''tuli'''.|Penyakitan bejangkit telinga boleh membuat seseorang '''pekak'''.}}'
376862
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# pekak
#:{{cp|id|Penyakit infeksi telinga dapat membuat seseorang '''tuli'''.|Penyakitan bejangkit telinga boleh membuat seseorang '''pekak'''.}}
4eww5scq6g5xtefec5kol9os1wlnzyt
Wikikamus:id/ranjang
4
146386
376863
2026-09-28T03:59:46Z
Affandy Murad
9103
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|id}}== ===Kata nama=== {{inti|id|kata nama}} # tilam #:{{cp|id|'''Kasur''' empuk diletakkan di atas ranjang kayu jati.|'''Tilam''' empuk diletakkan di atas katil kayu jati.}}'
376863
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# tilam
#:{{cp|id|'''Kasur''' empuk diletakkan di atas ranjang kayu jati.|'''Tilam''' empuk diletakkan di atas katil kayu jati.}}
jo3jpqdufd53nrd8vw6wajh1zp55uh2
Wikikamus:id/coba
4
146387
376864
2026-09-28T04:01:18Z
Affandy Murad
9103
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|id}}== ===Kata nama=== {{inti|id|kata nama}} # cuba #:{{cp|id|Mari kita '''coba''' metode pembelajaran yang baru ini..|Jom '''cuba''' kaedah pembelajaran baharu ini.}}'
376864
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# cuba
#:{{cp|id|Mari kita '''coba''' metode pembelajaran yang baru ini..|Jom '''cuba''' kaedah pembelajaran baharu ini.}}
mhnmjxmoww0gh2c341qubq22cfuvu38
376865
376864
2026-09-28T04:02:09Z
Affandy Murad
9103
376865
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata nama}}
# cuba
#:{{cp|id|Mari kita '''coba''' metode pembelajaran yang baru ini..|Jom '''cuba''' kaedah pembelajaran baharu ini.}}
muu7ocjo0myzeom12aj628m89yp6bpc
376866
376865
2026-09-28T04:03:59Z
Affandy Murad
9103
376866
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# cuba
#:{{cp|id|Mari kita '''coba''' metode pembelajaran yang baru ini..|Jom '''cuba''' kaedah pembelajaran baharu ini.}}
1pli4pmk2kwxubo6easvsler3l6fb2w
376867
376866
2026-09-28T04:06:40Z
Affandy Murad
9103
376867
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# cuba
#:{{cp|id|Saya '''ingin''' belajar bahasa asing saat liburan nanti.|Saya '''nak''' belajar bahasa asing semasa cuti akan datang.}}
8q355s9q0g21yqfu3j5vghe9e5h16ez
376869
376867
2026-09-28T04:08:28Z
Affandy Murad
9103
376869
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# cuba
#:{{cp|id|Mari kita '''coba''' metode pembelajaran yang baru ini..|Jom '''cuba''' kaedah pembelajaran baharu ini.}}
1pli4pmk2kwxubo6easvsler3l6fb2w
Wikikamus:id/ingin
4
146388
376868
2026-09-28T04:07:58Z
Affandy Murad
9103
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|id}}== ===Kata kerja=== {{inti|id|kata kerja}} # nak #:{{cp|id|Saya '''ingin''' belajar bahasa asing saat liburan nanti.|Saya '''nak''' belajar bahasa asing semasa cuti akan datang.}}'
376868
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# nak
#:{{cp|id|Saya '''ingin''' belajar bahasa asing saat liburan nanti.|Saya '''nak''' belajar bahasa asing semasa cuti akan datang.}}
4ly8kfkkud7ax89sb0uvxuehy2lqt2c
Wikikamus:id/gembira
4
146389
376870
2026-09-28T04:11:43Z
Affandy Murad
9103
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|id}}== ===Kata sifat=== {{inti|id|kata sifat}} # teruja #:{{cp|id|Keluarga merayakan kelulusannya dengan penuh '''gembira'''.|Keluarga itu menyambut majlis graduasinya dengan '''teruja'''.}}'
376870
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# teruja
#:{{cp|id|Keluarga merayakan kelulusannya dengan penuh '''gembira'''.|Keluarga itu menyambut majlis graduasinya dengan '''teruja'''.}}
hgceqjjgqv6ytw4ohkv8q2by0ghqow1
Wikikamus:id/terbatas
4
146390
376871
2026-09-28T04:15:30Z
Affandy Murad
9103
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|id}}== ===Kata sifat=== {{inti|id|kata sifat}} # terhad #:{{cp|id|Jumlah tiket konser sangat '''terbatas''' untuk umum.|Bilangan tiket konsert sangat '''terhad''' untuk orang ramai.}}'
376871
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# terhad
#:{{cp|id|Jumlah tiket konser sangat '''terbatas''' untuk umum.|Bilangan tiket konsert sangat '''terhad''' untuk orang ramai.}}
27u1tleydtu2vrdegskwlsofetx3y4f
Wikikamus:id/jelas
4
146391
376872
2026-09-28T04:19:04Z
Affandy Murad
9103
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|id}}== ===Kata sifat=== {{inti|id|kata sifat}} # zahir #:{{cp|id|Penjelasan guru di kelas sangat '''jelas''' dan mudah dipahami.|Penerangan guru di dalam kelas sangat '''zahir''' dan mudah difahami.}}'
376872
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# zahir
#:{{cp|id|Penjelasan guru di kelas sangat '''jelas''' dan mudah dipahami.|Penerangan guru di dalam kelas sangat '''zahir''' dan mudah difahami.}}
frcxeb4vo1yxx4mg30vns0ule9v1t2h
Wikikamus:bdr/entelo
4
146392
376874
2026-09-28T08:09:31Z
Sipatung
10839
Tambah ayat
376874
wikitext
text/x-wiki
==Bahasa {{bahasa|bdr}}==
===Kata nama===
{{inti|bdr|kata nama}}
# {{label|1=bdr|2=dialek|3=Sabah}} telur {{cp|bdr|Aku ngelos '''entelo''' manuk.|Saya merebus '''[[telur]]''' ayam.}}
3wum512gpprw6qrlov2a2ej1b8ukdsg
Wikikamus:id/berjulat
4
146393
376875
2026-09-28T08:46:15Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # bersambung berturut-turut; tidak habis-habis'
376875
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# bersambung berturut-turut; tidak habis-habis
fcpqng0hu51bz807zf1cv1x4zdtyf2v
Wikikamus:id/berjuluk
4
146394
376876
2026-09-28T08:47:55Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # mempunyai gelaran{{cp|id|Lini tengah tim '''berjuluk''' Macan Kemayoran.|Bahagian tengah pasukan bergelar Harimau Kemayoran.}}'
376876
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# mempunyai gelaran{{cp|id|Lini tengah tim '''berjuluk''' Macan Kemayoran.|Bahagian tengah pasukan bergelar Harimau Kemayoran.}}
hu4np74r3z6j1g2ne16s9xilnjgkyj8
Wikikamus:id/berjumat
4
146395
376877
2026-09-28T08:48:36Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # menunaikan solat secara berjemaah di masjid pada hari Jumaat dengan cara dan waktu tertentu (pada siang hari sekitar waktu solat Zuhur); menunaikan solat Jumaat'
376877
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# menunaikan solat secara berjemaah di masjid pada hari Jumaat dengan cara dan waktu tertentu (pada siang hari sekitar waktu solat Zuhur); menunaikan solat Jumaat
hmh5j1tkze7oxcb15sg1psna36a7sr3
Wikikamus:id/berjumbul-jumbul
4
146396
376878
2026-09-28T08:49:31Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # (dalam keadaan) terkatung-katung turun naik; terapung-apung'
376878
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# (dalam keadaan) terkatung-katung turun naik; terapung-apung
s6t2xw96dyv2wrazdtylsxa3teliy0k
Wikikamus:id/berjungkir
4
146397
376879
2026-09-28T08:50:27Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # jatuh terbalik (meletakkan badan) dengan kepala di bawah dan kaki di atas; bertunggang'
376879
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# jatuh terbalik (meletakkan badan) dengan kepala di bawah dan kaki di atas; bertunggang
penttxlibdogvaa4mtgj0gnofwz9gqk
Wikikamus:id/cob
4
146398
376880
2026-09-28T08:51:28Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # menggerak-gerakkan badan ke atas dan ke bawah (semasa berjalan dengan pantas)'
376880
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# menggerak-gerakkan badan ke atas dan ke bawah (semasa berjalan dengan pantas)
r3k5gh4c7ig32dbkzbl01990vmzfklx
Wikikamus:id/cobaan
4
146399
376881
2026-09-28T08:52:13Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # sesuatu yang digunakan untuk menguji (ketabahan, keimanan dan sebagainya)'
376881
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# sesuatu yang digunakan untuk menguji (ketabahan, keimanan dan sebagainya)
cbw4v1x3dz2c4rdjyzunzig9mdan8f7
Wikikamus:id/godaan
4
146400
376882
2026-09-28T08:53:38Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # sesuatu yang dapat menggoda ketabahan hati # gangguan'
376882
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# sesuatu yang dapat menggoda ketabahan hati
# gangguan
sbwjsepbglzowbxsrcxl0y0zrn3291s
Wikikamus:id/godong
4
146401
376883
2026-09-28T08:54:33Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # bahagian bawah rumah bertiang yang digunakan untuk menyimpan peralatan dan hasil pertanian dan sebagainya'
376883
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# bahagian bawah rumah bertiang yang digunakan untuk menyimpan peralatan dan hasil pertanian dan sebagainya
d5o07umb7ayhzvwhv3kc7k5ai7qytr2
Wikikamus:id/gogos
4
146402
376884
2026-09-28T08:55:33Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # terhakis (rosak) bahagian bawah atau runtuh akibat terhakis oleh aliran air (tentang tanah)'
376884
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# terhakis (rosak) bahagian bawah atau runtuh akibat terhakis oleh aliran air (tentang tanah)
5osa4dz95ccpfo68mlj1o5jandxi05q
Wikikamus:id/gogosok
4
146403
376885
2026-09-28T08:56:14Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # penganan yang dibuat daripada beras pulut dan santan, dibungkus dengan daun pisang, berbentuk bulat panjang dan dipanggang di atas bara api'
376885
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# penganan yang dibuat daripada beras pulut dan santan, dibungkus dengan daun pisang, berbentuk bulat panjang dan dipanggang di atas bara api
dudn5yatniwv6mz4fv8c3fcjn1rlajn
Wikikamus:id/gokar
4
146404
376886
2026-09-28T08:57:20Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # pedati kecil atau kereta kecil (untuk kanak-kanak) yang ditolak atau ditarik # rangka kecil beroda yang digunakan untuk membantu kanak-kanak belajar berjalan # kereta lumba kecil yang tidak berbumbung'
376886
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# pedati kecil atau kereta kecil (untuk kanak-kanak) yang ditolak atau ditarik
# rangka kecil beroda yang digunakan untuk membantu kanak-kanak belajar berjalan
# kereta lumba kecil yang tidak berbumbung
jpz7qp9pytk80c8kcjfjz8zoeaa3lq5
Wikikamus:id/golak-galik cuaca cerah
4
146405
376887
2026-09-28T08:58:25Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Frasa=== {{inti|{{safesubst:ROOTPAGENAME}}|frasa}} # turbulens yang berlaku bukan di dalam awan, biasanya disebabkan oleh pemanasan dan perbezaan angin mendatar dalam lapisan udara'
376887
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Frasa===
{{inti|id|frasa}}
# turbulens yang berlaku bukan di dalam awan, biasanya disebabkan oleh pemanasan dan perbezaan angin mendatar dalam lapisan udara
6u82zr3v0v1zcxynzbdh074glcfry02
Wikikamus:id/golak-galik
4
146406
376888
2026-09-28T08:59:07Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # berbalik-balik; berjungkir balik; berpusing balik'
376888
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata kerja===
{{inti|id|kata kerja}}
# berbalik-balik; berjungkir balik; berpusing balik
enxh4kgqbjj5zdgjtfkpqo7i5xmndgs
Wikikamus:id/akhirulkalam
4
146407
376889
2026-09-28T09:00:23Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # ungkapan yang digunakan untuk mengakhiri surat, huraian, pidato dan sebagainya'
376889
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# ungkapan yang digunakan untuk mengakhiri surat, huraian, pidato dan sebagainya
rlq2f65y1o7nwnjvae6g3hz4y1tkiuy
Wikikamus:id/akhirusanah
4
146408
376890
2026-09-28T09:01:41Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # akhir tahun{{cp|id|Khataman Alquran kali ini merupakan khataman '''akhirusanah''' menjelang bulan Ramadan.|Khataman al-Quran kali ini merupakan khataman akhir tahun menjelang bulan Ramadan.}}'
376890
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# akhir tahun{{cp|id|Khataman Alquran kali ini merupakan khataman '''akhirusanah''' menjelang bulan Ramadan.|Khataman al-Quran kali ini merupakan khataman akhir tahun menjelang bulan Ramadan.}}
qcioqpph5qukfu0qrd0b5hf3td10pzj
Wikikamus:id/integritas
4
146409
376891
2026-09-28T09:02:44Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # mutu, sifat atau keadaan yang menunjukkan kesatuan yang utuh sehingga mempunyai potensi dan keupayaan yang memancarkan kewibawaan; kejujuran'
376891
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# mutu, sifat atau keadaan yang menunjukkan kesatuan yang utuh sehingga mempunyai potensi dan keupayaan yang memancarkan kewibawaan; kejujuran
nir28e4m7uhjo8eqe3743inqmt81lds
Wikikamus:id/integritas nasional
4
146410
376892
2026-09-28T09:03:36Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Frasa=== {{inti|{{safesubst:ROOTPAGENAME}}|frasa}} # wujudnya keutuhan prinsip moral dan etika bangsa dalam kehidupan bernegara'
376892
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Frasa===
{{inti|id|frasa}}
# wujudnya keutuhan prinsip moral dan etika bangsa dalam kehidupan bernegara
sp7f6fas5fdxkfov1aw4ilzzl15jdte
Wikikamus:id/integritas pembekuan
4
146411
376893
2026-09-28T09:04:23Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Frasa=== {{inti|{{safesubst:ROOTPAGENAME}}|frasa}} # jisim ais yang besar yang mendap pada setiap unit luas'
376893
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Frasa===
{{inti|id|frasa}}
# jisim ais yang besar yang mendap pada setiap unit luas
c78kqfcwa0kdqyod9ne7cabpdk7x8ee
Wikikamus:id/integumen
4
146412
376894
2026-09-28T09:06:10Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # sesuatu yang meliputi atau melapisi # lapisan terluar bakal biji yang akan berkembang menjadi selaput biji'
376894
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# sesuatu yang meliputi atau melapisi
# lapisan terluar bakal biji yang akan berkembang menjadi selaput biji
ota5jmn3cehiornejsowmrz1faxkfx2
Wikikamus:id/intelek
4
146413
376895
2026-09-28T09:07:20Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # daya atau proses pemikiran yang lebih tinggi yang berkaitan dengan pengetahuan; daya akal budi; kecerdasan berfikir'
376895
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# daya atau proses pemikiran yang lebih tinggi yang berkaitan dengan pengetahuan; daya akal budi; kecerdasan berfikir
2zew5h566fgfn311p34hzww3ooqrjkq
Wikikamus:id/intelektual
4
146414
376896
2026-09-28T09:09:01Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # (yang) mempunyai kecerdasan yang tinggi; cendekiawan # keseluruhan pengertian atau kesedaran, terutama yang berkaitan dengan pemikiran dan pemahaman === Kata sifat === {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # cerdas, berakal dan berfikiran jernih berdasarkan ilmu pengetahuan'
376896
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# (yang) mempunyai kecerdasan yang tinggi; cendekiawan
# keseluruhan pengertian atau kesedaran, terutama yang berkaitan dengan pemikiran dan pemahaman
=== Kata sifat ===
{{inti|id|kata nama}}
# cerdas, berakal dan berfikiran jernih berdasarkan ilmu pengetahuan
mtwmmvjqhhw32qh9jqdb05s5uhx864z
376897
376896
2026-09-28T09:09:24Z
Rachmat04
3001
376897
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# (yang) mempunyai kecerdasan yang tinggi; cendekiawan
# keseluruhan pengertian atau kesedaran, terutama yang berkaitan dengan pemikiran dan pemahaman
=== Kata sifat ===
{{inti|id|kata sifat}}
# cerdas, berakal dan berfikiran jernih berdasarkan ilmu pengetahuan
8hagz2z9empoqlpmyv487y4bf1zb4n4
Wikikamus:id/intelektualisasi
4
146415
376898
2026-09-28T09:10:09Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # proses, cara atau perbuatan menjadikan sesuatu berdasarkan ketajaman fikiran; pencendekiaan'
376898
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# proses, cara atau perbuatan menjadikan sesuatu berdasarkan ketajaman fikiran; pencendekiaan
pli371fjmn2t01k9qrsndbcq3l5uzdl
Wikikamus:id/intelektualisme
4
146416
376899
2026-09-28T09:10:49Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # ketaatan atau kesetiaan terhadap latihan daya fikir dan pencarian sesuatu berdasarkan ilmu pengetahuan'
376899
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# ketaatan atau kesetiaan terhadap latihan daya fikir dan pencarian sesuatu berdasarkan ilmu pengetahuan
g8r032aku3rk5rdkhzn72ipswl8do5k
Wikikamus:id/inteligen
4
146417
376901
2026-09-28T09:12:55Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # mempunyai atau menunjukkan tahap kecerdasan yang tinggi; berfikiran tajam; cerdas; berakal'
376901
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# mempunyai atau menunjukkan tahap kecerdasan yang tinggi; berfikiran tajam; cerdas; berakal
5ecexg5omke7zo48h4sv11xfwfinf8b
Wikikamus:id/inteligensi
4
146418
376902
2026-09-28T09:13:39Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # daya tindak balas atau penyesuaian yang cepat dan tepat, sama ada secara fizikal atau mental, terhadap pengalaman baharu, yang menjadikan pengalaman dan pengetahuan yang telah dimiliki bersedia untuk digunakan apabila berhadapan dengan fakta atau keadaan baharu; kecerdasan'
376902
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# daya tindak balas atau penyesuaian yang cepat dan tepat, sama ada secara fizikal atau mental, terhadap pengalaman baharu, yang menjadikan pengalaman dan pengetahuan yang telah dimiliki bersedia untuk digunakan apabila berhadapan dengan fakta atau keadaan baharu; kecerdasan
5rfrcizar8p7x830ooh5j4pyufy932x
Wikikamus:id/inteligensia
4
146419
376903
2026-09-28T09:14:20Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # golongan cerdik pandai; para cendekiawan'
376903
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# golongan cerdik pandai; para cendekiawan
5pmvls3uut5ebeb33ctcakikplwbvhq
Wikikamus:id/intelijen
4
146420
376904
2026-09-28T09:15:11Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # orang yang bertugas mencari atau mengintip seseorang; perkhidmatan rahsia'
376904
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# orang yang bertugas mencari atau mengintip seseorang; perkhidmatan rahsia
qq28myykwi9cvx2y9d79au2482i7dpa
Wikikamus:id/intendans
4
146421
376905
2026-09-28T09:15:52Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # bahagian organisasi ketenteraan yang mengurus makanan, pakaian dan bahan-bahan lain'
376905
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# bahagian organisasi ketenteraan yang mengurus makanan, pakaian dan bahan-bahan lain
7xiq46r55roy4mzu11ncbiiyqzyvwvy
Wikikamus:id/intens
4
146422
376906
2026-09-28T09:16:44Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # hebat atau sangat kuat (tentang kekuatan, kesan dan sebagainya) # tinggi (tentang mutu) # bergelora, penuh semangat, berapi-api, berkobar-kobar (tentang perasaan) # sangat emosional (tentang orang)'
376906
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# hebat atau sangat kuat (tentang kekuatan, kesan dan sebagainya)
# tinggi (tentang mutu)
# bergelora, penuh semangat, berapi-api, berkobar-kobar (tentang perasaan)
# sangat emosional (tentang orang)
g02rdutkc556w8ioplcjxs9dsy0bv6r
Wikikamus:id/intensi
4
146423
376907
2026-09-28T09:18:45Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # maksud; tujuan{{cp|id|Terdapat hubungan antara gaya hidup, konsep diri, citra produk, dan sistem nilai dengan '''intensi''' konsumen wanita mau membeli kosmetika lokal.|Terdapat hubungan antara gaya hidup, konsep diri, imej produk dan sistem nilai dengan niat pengguna wanita untuk membeli kosmetik tempatan.}} # keinginan atau permohonan khus...'
376907
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# maksud; tujuan{{cp|id|Terdapat hubungan antara gaya hidup, konsep diri, citra produk, dan sistem nilai dengan '''intensi''' konsumen wanita mau membeli kosmetika lokal.|Terdapat hubungan antara gaya hidup, konsep diri, imej produk dan sistem nilai dengan niat pengguna wanita untuk membeli kosmetik tempatan.}}
# keinginan atau permohonan khusus yang diajukan oleh umat dalam upacara misa
# himpunan atribut atau ciri yang menerangkan sesuatu yang boleh dirujuk dengan kata tertentu (dibezakan daripada ekstensi)
gx7j1wnbq75ljd6lb0gcvtfouwo9acz
Wikikamus:id/intensif
4
146424
376908
2026-09-28T09:19:50Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # secara bersungguh-sungguh dan berterusan dalam mengerjakan sesuatu sehingga memperoleh hasil yang optimum'
376908
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# secara bersungguh-sungguh dan berterusan dalam mengerjakan sesuatu sehingga memperoleh hasil yang optimum
chhuyldmq8oay1c4dwd510y6kvgbymg
Wikikamus:id/intensifikasi
4
146425
376909
2026-09-28T09:20:45Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # perihal meningkatkan kegiatan yang lebih hebat'
376909
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# perihal meningkatkan kegiatan yang lebih hebat
o1dvswbn6se6m5n7ygy66hmm3wcp26i
Wikikamus:id/intensional
4
146426
376910
2026-09-28T09:22:09Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # berdasarkan niat atau keinginan{{cp|id|Kesalahan prosedur itu harus dilihat dalam konteks apakah '''intensional''' atau tanpa niat.|Kesalahan prosedur itu harus dilihat dalam konteks sama ada disengajakan atau tidak.}}'
376910
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata sifat===
{{inti|id|kata sifat}}
# berdasarkan niat atau keinginan{{cp|id|Kesalahan prosedur itu harus dilihat dalam konteks apakah '''intensional''' atau tanpa niat.|Kesalahan prosedur itu harus dilihat dalam konteks sama ada disengajakan atau tidak.}}
0mptxngyn9yz0abasdg42353x0zalrm
Wikikamus:id/intensitas
4
146427
376911
2026-09-28T09:22:53Z
Rachmat04
3001
Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # keadaan, tahap atau ukuran keintensifan'
376911
wikitext
text/x-wiki
==Bahasa {{bahasa|id}}==
===Kata nama===
{{inti|id|kata nama}}
# keadaan, tahap atau ukuran keintensifan
tji2w39hsdag3wlktxn3zyly98635q9
bangko
0
146428
376912
2026-09-28T09:24:50Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata benda=== {{lb|ms|kata benda}} # {{lb|ms|Siak}} Bangku <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> ===Kata sifat=== {{lb|ms|kata sifat}} # {{lb|ms|Siak}} Tempat peristirahatan atau tempat duduk duduk <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> ===Kata benda=== {{lb|ms|kata benda}} # {{lb|ms|Siak}} Pohon Bakau <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Mel...'
376912
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata benda===
{{lb|ms|kata benda}}
# {{lb|ms|Siak}} Bangku <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
===Kata sifat===
{{lb|ms|kata sifat}}
# {{lb|ms|Siak}} Tempat peristirahatan atau tempat duduk duduk <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
===Kata benda===
{{lb|ms|kata benda}}
# {{lb|ms|Siak}} Pohon Bakau <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
shse9szpqk71dy9qau1u70d3c3x4wac
376913
376912
2026-09-28T09:27:44Z
Thurama
11516
376913
wikitext
text/x-wiki
==Bahasa Melayu==
{{lb|ms|kata benda}}
# {{lb|ms|Siak}} Bangku
{{lb|ms|kata sifat}}
# {{lb|ms|Siak}} Tempat peristirahatan atau tempat duduk duduk
{{lb|ms|kata benda}}
# {{lb|ms|Siak}} Pohon Bakau <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
h6mdc6xz699tatr8dcxghlc4wn2s47t
Wikikamus:ms/Songkek
4
146429
376914
2026-09-28T09:32:24Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{lb|ms|Pekanbaru}} Kain tenunan <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->'
376914
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata nama===
{{inti|ms|kata nama}}
# {{lb|ms|Pekanbaru}} Kain tenunan <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
g94ozdrvhq7iwinqjnk580f4xb41e2f
Wikikamus:ms/Tanjak
4
146430
376915
2026-09-28T09:40:54Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{lb|ms|Pekanbaru}} Menanjak; Naik; Menjulang keatas. Penutup kepala tradisional pria yang dipakai oleh sultan, pangeran, dan kaum bangsawan sebagai simbol kehormatan, wibawa, serta jati diri. <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->'
376915
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata nama===
{{inti|ms|kata nama}}
# {{lb|ms|Pekanbaru}} Menanjak; Naik; Menjulang keatas. Penutup kepala tradisional pria yang dipakai oleh sultan, pangeran, dan kaum bangsawan sebagai simbol kehormatan, wibawa, serta jati diri. <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
2lfuzsg8728oxn7fxh3k7ztiif8qh10
Wikikamus:ms/Ba'a
4
146431
376916
2026-09-28T09:48:07Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # {{lb|ms|Pekanbaru}} bagaimana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->'
376916
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata sifat===
{{inti|ms|kata sifat}}
# {{lb|ms|Pekanbaru}} bagaimana <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
86ktq4x8bzmhwlgkdssiqh06r30z3t6
Wikikamus:ms/Terkarang
4
146432
376917
2026-09-28T09:55:56Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{lb|ms|Pekanbaru}} Dikarang; dirangkai <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|buku iko terkarang oleh.<!--Ganti dengan contoh ayat dalam bahasa Melayu Pekanbaru-->|buku ini dikarang oleh.<!--Ganti dengan terjemahan contoh ayat dalam Bahasa Melayu Piawai-->}}'
376917
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata nama===
{{inti|ms|kata nama}}
# {{lb|ms|Pekanbaru}} Dikarang; dirangkai <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|buku iko terkarang oleh.<!--Ganti dengan contoh ayat dalam bahasa Melayu Pekanbaru-->|buku ini dikarang oleh.<!--Ganti dengan terjemahan contoh ayat dalam Bahasa Melayu Piawai-->}}
ry4cvec1k8cigg0y4ljwgyolc2dzny5
Wikikamus:ms/Kemojo
4
146433
376918
2026-09-28T09:57:58Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata benda=== {{inti|ms|kata benda}} # {{lb|ms|Pekanbaru}} Kamboja; bunga kamboja<!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->'
376918
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata benda===
{{inti|ms|kata benda}}
# {{lb|ms|Pekanbaru}} Kamboja; bunga kamboja<!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
9ruefayl20i2g7ebd9l4hzqmmsgj2rc
Wikikamus:ms/Babezo
4
146434
376919
2026-09-28T11:19:51Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # {{lb|ms|Pekanbaru}} berbeda <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->'
376919
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata sifat===
{{inti|ms|kata sifat}}
# {{lb|ms|Pekanbaru}} berbeda <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
j2gnwsshm0yppu8muq1e1nyrhytyied
Wikikamus:ms/Anduang
4
146435
376920
2026-09-28T11:22:20Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # {{lb|ms|Pekanbaru}} ibu <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->'
376920
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata sifat===
{{inti|ms|kata sifat}}
# {{lb|ms|Pekanbaru}} ibu <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
3y7hq1yy8s62xysrlgtdt2qvlw3zgj7
Wikikamus:ms/Pawako
4
146436
376921
2026-09-28T11:25:27Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{lb|ms|Pekanbaru}} kepala pengurus kota <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->'
376921
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata nama===
{{inti|ms|kata nama}}
# {{lb|ms|Pekanbaru}} kepala pengurus kota <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
sguhyrric8drh2jsvwd6snkji528kc4
Wikikamus:ms/Kuau
4
146437
376922
2026-09-28T11:32:47Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{lb|ms|Pekanbaru}} nama pohon, pohon kuau<!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->'
376922
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata nama===
{{inti|ms|kata nama}}
# {{lb|ms|Pekanbaru}} nama pohon, pohon kuau<!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
n1mib9j5ni2af7b20dnqb6bxnd9i1ww
Wikikamus:ms/Tobek
4
146438
376923
2026-09-28T11:34:09Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{lb|ms|Pekanbaru}} kolam; biasanya untuk ikan<!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|Contoh ayat.<!--Ganti dengan contoh ayat dalam bahasa Melayu Pekanbaru-->|Terjemahan.<!--Ganti dengan terjemahan contoh ayat dalam Bahasa Melayu Piawai-->}}'
376923
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata nama===
{{inti|ms|kata nama}}
# {{lb|ms|Pekanbaru}} kolam; biasanya untuk ikan<!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|Contoh ayat.<!--Ganti dengan contoh ayat dalam bahasa Melayu Pekanbaru-->|Terjemahan.<!--Ganti dengan terjemahan contoh ayat dalam Bahasa Melayu Piawai-->}}
ol8dajqhh52n91z0zk3sn9mjr3ckhmj
Wikikamus:ms/Siko
4
146439
376924
2026-09-28T11:35:24Z
Thurama
11516
Mencipta laman baru dengan kandungan '==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{lb|ms|Pekanbaru}} sini; disini <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai--> #: {{cp|ms|siko dulu ayat.<!--Ganti dengan contoh ayat dalam bahasa Melayu Pekanbaru-->|kesini lah.<!--Ganti dengan terjemahan contoh ayat dalam Bahasa Melayu Piawai-->}}'
376924
wikitext
text/x-wiki
==Bahasa Melayu==
===Kata kerja===
{{inti|ms|kata kerja}}
# {{lb|ms|Pekanbaru}} sini; disini <!--Ganti dengan erti kata yang dimasukkan dalam Bahasa Melayu Piawai-->
#: {{cp|ms|siko dulu ayat.<!--Ganti dengan contoh ayat dalam bahasa Melayu Pekanbaru-->|kesini lah.<!--Ganti dengan terjemahan contoh ayat dalam Bahasa Melayu Piawai-->}}
7yf5fgfbwpz3whkottjoas3p6dtn252