local this = { }
local data = {
base = {
LABELS = {
MOOD_GROUP_1 = 'Non-finite forms',
MOOD_GROUP_2 = 'Finite forms',
INF = 'Infinitive',
PTCP = 'Participle',
VN = 'Verbal nouns',
IND = 'Indicative',
SBJ = 'Subjunctive',
IMP = 'Imperative',
PRS_NPRF = 'Present',
PRS_PRF = 'Perfect',
PST_NPRF = 'Imperfect',
PST_PRF = 'Pluperfect',
FUT_NPRF = 'Future',
FUT_PRF = 'Future perfect',
ACT = 'Active',
PASS = 'Passive',
ab_ACT = 'Act.',
ab_PASS = 'Pas.',
M = 'Masculine',
F = 'Feminine',
ab_SG = 'Sg.',
ab_PL = 'Pl.',
PERS = 'Personal',
IMPERS = 'Impersonal',
GER = 'Gerund',
SUP = 'Supine',
ab_GEN = 'Gen.',
ab_DAT = 'Dat.',
ab_ACC = 'Acc.',
ab_ABL = 'Abl.'
}
},
pt = {
LANG_NAME = 'Portuguese',
LEMMA_FORMS = { 'INF_IMPERS' },
TAGS = {
{ MASK = '{:}', A = '🇵🇹', B = '🇧🇷' },
{ MASK = '`;\'', A = 'act.', B = 'pass.' },
{ MASK = '/|\\', A = '', B = 'pre-1990' } --TODO: link more info
},
MOOD_GROUPS = {
{
{ ID = 'INF', DIMS = '2|y:yy:1111112' },
{ ID = 'PTCP', DIMS = '3|yy:y:yy' },
{ ID = 'GER', DIMS = '4|y:y' }
},
{
{ ID = 'IND', DIMS = '1|yyy:yy:yyyyyyn' },
{ ID = 'SBJ', DIMS = '1|yyy:yn:yyyyyyn' },
{ ID = 'IMP', DIMS = '1|ynn:yn:!y!!y!n' }
}
},
DIMENSIONS = {
{
{ 'PRS', 'PST', 'FUT' },
{ 'NPRF', 'PRF' },
{ '1SG', '2SG', '3SG', '1PL', '2PL', '3PL' }
},
{
{ '' },
{ 'PERS', 'IMPERS' },
{ '1SG', '2SG', '3SG', '1PL', '2PL', '3PL', '' }
},
{
{ 'M', 'F' },
{ '' },
{ 'SG', 'PL' }
},
{
{ '' },
{ '' },
{ '' }
}
},
LABELS = {
ab_1SG = 'eu',
ab_2SG = 'tu',
ab_3SG = 'ela',
ab_1PL = 'nós',
ab_2PL = 'vós',
ab_3PL = 'elas',
ab_IMP_1SG = '–',
ab_IMP_1PL = '–',
ab_IMP_3SG = 'você',
ab_IMP_3PL = 'vocês'
},
LABELS_ENDONYMS = {
INF = 'Infinitivo',
PTCP = 'Particípio',
IND = 'Indicativo',
SBJ = '{Conjuntivo|Subjuntivo}',
IMP = 'Imperativo',
PRS_NPRF = 'Presente',
PRS_PRF = 'Pretérito perfeito',
PST_NPRF = 'Imperfeito',
PST_PRF = 'Pretérito mais-que-perfeito',
FUT_NPRF = 'Futuro simples',
FUT_PRF = 'Futuro do pretérito',
GER = 'Gerúndio'
}
},
la = {
LANG_NAME = 'Latin',
LEMMA_FORMS = {
'IND_PRS_NPRF_ACT_1SG',
'INF_PRS_NPRF_ACT',
'IND_PRS_PRF_ACT_1SG',
'VN_SUP_ACC'
},
MOOD_GROUPS = {
{
{ ID = 'INF', DIMS = '1|ynn:yy:y1' },
{ ID = 'PTCP', DIMS = '1|yny:yy:1y' },
{ ID = 'VN', DIMS = '2|yy:y:yyyy' }
},
{
{ ID = 'IND', DIMS = '1|yyy:yy:y1:yyyyyy' },
{ ID = 'SBJ', DIMS = '1|yyn:yy:y1:yyyyyy' },
{ ID = 'IMP', DIMS = '1|yny:yn:yy:yyyyyy' }
}
},
DIMENSIONS = {
{
{ 'PRS', 'PST', 'FUT' },
{ 'NPRF', 'PRF' },
{ 'ACT', 'PASS' },
{ '1SG', '2SG', '3SG', '1PL', '2PL', '3PL' }
},
{
{ 'GER', 'SUP' },
{ '' },
{ 'GEN', 'DAT', 'ACC', 'ABL' }
}
},
LABELS = {
ab_1SG = 'egō',
ab_2SG = 'tu',
ab_3SG = 'ea',
ab_1PL = 'nōs',
ab_2PL = 'vōs',
ab_3PL = 'eae'
}
}
}
function this.retrieve(lang)
local tb_lang = data
setmetatable(tb_lang.LABELS, { __index = data.base.LABELS })
return tb_lang
end
return this