package trad::rs; # dont edit this file; edit /home/jj/DIC/en2pt.rr # Etiquetas usadas: # #1 - adjectivos # #2 - ...ção ( a#2 b --> b de a) # #5 - ...temas ( a b#5 --> b de a) # #3 - usado para would -> condicional # #4 - usado para will -> futuro # o#9 - artigo definido # um#8 - artigo indefinido # #fs - 'e um nome feminino singular # #mp - 'e um nome feminino plural # # #tmp - para mudar para mp (Interna) # #tms - para mudar para ms (Interna) # #tfs - para mudar para fs (Interna) # #tfp - para mudar para fp (Interna) use POSIX qw(locale_h); setlocale(&POSIX::LC_ALL, "pt_PT"); use locale; $w='(?:\w+|\([^)]+\))'; $masPw='\w+(?:ores|os|#mp)\b'; $femPw='\w+(?:as|ções|dades|gens|#fp)\b'; $masw='\w+(?:or|o|#ms)\b'; $femw='\w+(?:a|ção|dade|gem|#fs)\b'; $pdem='(?:est[ea]s?\b|ess[ae]s\b)'; $art='(?:o|a|os|as|um|uma|uns|umas)\b'; $prepe='(?:\b(?:com|para|por|de|e)\b)'; $ser='(?:\b(?:é|ser|foi|somos|era|são)\b)'; sub posProc{ while( s/para ($w)#2/à $1/go || s/($masw) ($w)#2/$2 de $1/go || s/($masPw) ($w)#2/$2 de $1/go || s/($femw) ($w)#2/$2 de $1/go || s/($femPw) ($w)#2/$2 de $1/go || s/($w)#2 ($masw)/$2 de $1/go || s/($w)#2 ($masPw)/$2 de $1/go || s/($w)#2 ($femw)/$2 de $1/go || s/($w)#2 ($femPw)/$2 de $1/go || s/#2//go || s/#[89] ($w)#1 ($masw)/#tms $2 $1#tms/go || s/#[89] ($w)#1 ($masPw)/#tmp $2 $1#tmp/go || s/e#[89] ($w)#1 ($femw)/a $2 $1#tfs/go || s/e#[89] ($w)#1 ($femPw)/as $2 $1#tfp/go || s/#[89] ($w)#1 ($femw)/#tfs $2 $1#tfs/go || s/#[89] ($w)#1 ($femPw)/#tfp $2 $1#tfp/go || s/($w)#1 e ($w)#1 ($masw)/$3 $1#tms e $2#tms/go || s/($w)#1 e ($w)#1 ($masPw)/$3 $1#tmp e $2#tmp/go || s/($w)#1 e ($w)#1 ($femw)/$3 $1#tfs e $2#tfs/go || s/($w)#1 e ($w)#1 ($femPw)/$3 $1#tfp e $2#tfp/go || s/($prepe) ($w)#1 ($masw)/$1 $3 $2#tms/go || s/($prepe) ($w)#1 ($masPw)/$1 $3 $2#tmp/go || s/($prepe) ($w)#1 ($femw)/$1 $3 $2#tfs/go || s/($prepe) ($w)#1 ($femPw)/$1 $3 $2#tfp/go || s/($ser) ($w)#1/$1 $2 /go || s/($w)#1 ($masw)/$2 $1#tms/go || s/($w)#1 ($masPw)/$2 $1#tmp/go || s/($w)#1 ($femw)/$2 $1#tfs/go || s/($w)#1 ($femPw)/$2 $1#tfp/go || s/\((.*)\)(#t[mf][sp])/$1$2/go || s/#tms//go || s/([lra])#tfs/$1/go || s/ês#tfs/esa/go || s/o#tfs/a/go || s/O#tfs/A/go || s/m#tfs/ma/go || s/nós #4 (\w+)r/$1remos/go || s/nós #3 (\w+)r/$1ríamos/go || s/nós (\w+)r/$1mos/go || s/nós (\w+)do#1/$1mos/go || s/#4 (\w+)r/$1rá/go || s/#3 (\w+)r/$1ria/go || s/ês#tfp/esas/go || s/o#tfp/as/go || s/O#tfp/Os/go || s/m#tfp/mas/go || s/as#tfp/as/go || s/or#tfp/oras/go || s/o#tmp/os/go || s/os#tmp/os/go || s/ês#tmp/eses/go || s/or#tmp/ores/go || s/m#tmp/ns/go || s/l#t[mf]p/is/go || s/r#t[mf]p/res/go || s/#9 ($masPw)/s $1/go || s/#9 ($masw)/ $1/go || s/O#9 ($femw)/A $1/go || s/O#9 ($femPw)/As $1/go || s/o#9 ($femw)/a $1/go || s/o#9 ($femPw)/as $1/go || s/e#9 ($femw)/a $1/go || s/e#9 ($femPw)/as $1/go || s/o#9 meu ($femw)/a minha $1/go || s/o#9 meu ($femPw)/as minhas $1/go || s/#9//go || ##a cat -> um gato ##a table -> uma mesa s/m#8 ($femw)/ma $1/go || s/m#8 ($masPw)/ns $1/go || s/m#8 ($femw)/mas $1/go || s/#8//go || s/##to the cat / ao gato/go || s/##to the table / à mesa/go || s/À#7 ($masw)/Ao $1/go || s/À#7 ($masPw)/Aos $1/go || s/à#7 ($masw)/ao $1/go || s/à#7 ($masPw)/aos $1/go || s/#7 ($femPw)/s $1/go || s/#7//go || s/\b([dD])e ($art|$pdem)\b/$1$2/go || s/\bEm ($art|$pdem)\b/N$1/go || s/\bem ($art|$pdem)\b/n$1/go || s/\b([pP])or (o|a|os|as)\b/$1el$2/go || s/\b([aA]) (o|os)\b/$1$2/go || s/\ba a(s?)\b/à$1/go || s/\bA a(s?)\b/À$1/go || s/é (em|no|na|nos|nas)\b/está $1/go || s/\bsão (em|no|na|nos|nas)\b/estam $1/go || s/\bfoi (em|no|na|nos|nas)\b/estava $1/go || s/é (\w+)ndo\b/está a $1r/go || s/\bsão (\w+)ndo\b/estam a $1r/go || s/\bfoi (\w+)ndo\b/estava a $1r/go || s/#fs//go || s/#ms//go || s/#mp//go || s/#fp//go || 0){} } 1;