1
2
3\startluacode
4function interfaces.show_missing(whatinterfaces)
5 whatinterfaces = whatinterfaces or interfaces.interfaces
6 local list = dofile(resolvers.find_file("mult-def.lua"))
7 local NC, NR, HL = context.NC, context.NR, context.HL
8 for k,v in table.sortedhash(list) do
9 context.title(k)
10 context.starttabulate { string.rep("|",#whatinterfaces+1) }
11 for i=1,#whatinterfaces do
12 NC()
13 context(whatinterfaces[i])
14 end
15 NC() NR() HL()
16 for kk, vv in next, v do
17 if not string.find(kk,"subsub") then
18 local okay = true
19 for i=1,#whatinterfaces do
20 local int = whatinterfaces[i]
21 local str = vv[int]
22 if not str or (int ~= "en" and str == vv.en) then
23 okay = false
24 break
25 end
26 end
27 if not okay then
28 for i=1,#whatinterfaces do
29 local int = whatinterfaces[i]
30 local str = vv[int]
31 context.NC()
32 if not str then
33
34 elseif int == "en" then
35 context.color( { "darkgreen" }, str )
36 elseif str == vv.en then
37 context.color( { "darkred" }, str )
38 elseif int == "pe" then
39 context("\\righttoleft " .. str)
40 else
41 context(str)
42 end
43 end
44 NC() NR()
45 end
46 end
47 end
48 context.stoptabulate()
49 end
50end
51
52function interfaces.show_missing_messages(whatinterfaces)
53 whatinterfaces = whatinterfaces or interfaces.interfaces
54 local list = dofile(resolvers.find_file("mult-mes.lua"))
55 local NC, NR, HL = context.NC, context.NR, context.HL
56 for k,v in table.sortedhash(list) do
57 context.title("message: " .. k)
58 context.starttabulate { "|l|" .. string.rep("pl|",#whatinterfaces) }
59 NC()
60 for i=1,#whatinterfaces do
61 NC()
62 context(whatinterfaces[i])
63 end
64 NC() NR() HL()
65 local sorted = table.sortedkeys(v)
66 for i=1,#sorted do
67 local kk = sorted[i]
68 local vv = v[kk]
69 if kk ~= "files" then
70 local okay = true
71 for i=1,#whatinterfaces do
72 local int = whatinterfaces[i]
73 local str = vv[int]
74 if not str or (int ~= "en" and str == vv.en) then
75 okay = false
76 break
77 end
78 end
79 if not okay then
80 context.NC()
81 context(kk)
82 for i=1,#whatinterfaces do
83 local int = whatinterfaces[i]
84 local str = vv[int]
85 NC()
86 if not str then
87
88 elseif int == "en" then
89 context.color( { "darkgreen" }, str )
90 elseif str == vv.en then
91 context.color( { "darkred" }, str )
92 elseif int == "pe" then
93 context("\\righttoleft " .. str)
94 else
95 context(str)
96 end
97 end
98 NC() NR()
99 end
100 end
101 end
102 context.stoptabulate()
103 end
104end
105\stopluacode
106
107\starttext
108
109\setupbodyfont[dejavu,7pt,tt]
110\setuppapersize[A4,landscape][A4,landscape]
111\setuplayout[backspace=.5cm,width=middle,topspace=.5cm,height=middle,header=1cm,footer=0cm]
112
113\startluacode
114 interfaces.show_missing()
115 interfaces.show_missing_messages()
116\stopluacode
117
118\stoptext
119 |