// // // PETMPLT.TXT // Portuguese-English Sample Templates for Power Translator 6.x // // // ********************************************************************* // NOUN DE NOUN = NOUN // // Example: dona de casa = housewife // // SOURCE.1 = dona; SOURCE.2 = casa; TARGET.1 = housewife // ********************************************************************* // RULESET1 // Procedure = Top Traverse; Stage = Disambiguation; Key = SOURCE.1 ==> <1 SetAttr Noun> <2 SetAttr Preposition> <3 SetAttr Noun Strength=50>; // RULESET2 // Procedure = Depth Traverse; Stage = Frame; Key = SOURCE.1 / / / \ \ / / / / \ \ \ \ \ ==> <1> / <1.1.1> / <1.1.1.1 Target.ChangeWord "TARGET.1"> \ <1.1 Delete> <1.2 Delete> <1.2.1 Delete> <1.2.2 Delete> <1.2.2.1 Delete> <1.2.2.1.1 Delete> <1.2.2.1.1.1 Delete> \; // ********************************************************************* // NOUN1 DE NOUN2 = NOUN2 NOUN1 // // Example: certidão de nascimento = birth certificate // Example: agência de viagens = travel agency // // SOURCE.1 = certidão; SOURCE.2 = nascimento; // TARGET.1 = birth; TARGET.2 = certificate // ********************************************************************* // RULESET1 // Procedure = Top Traverse; Stage = Disambiguation; Key = SOURCE.1 ==> <1 SetAttr Noun> <2 SetAttr Preposition> <3 SetAttr Noun Strength=50>; // RULESET2 // Procedure = Depth Traverse; Stage = Frame; Key = SOURCE.1 / / / \ \ / / / / \ \ \ \ \ ==> <1> / <1.1.1> / AddStringNode "TARGET.1" <1.1.1.1 Target.ChangeWord "TARGET.2"> \ <1.1 Delete> <1.2 Delete> <1.2.1 Delete> <1.2.2 Delete> <1.2.2.1 Delete> <1.2.2.1.1 Delete> <1.2.2.1.1.1 Delete> \; // ===================================================================== // NOUN ADJECTIVE = ADJECTIVE NOUN (Idiomatic usage) // // Examples: acolhida calorosa = warm welcome // dívida externa = foreign debt // // SOURCE.1 = acolhida; SOURCE.2 = calorosa; // TARGET.1 = warm; TARGET.2 = welcome // // Notice that the adjective is in its non-inflected form. // ********************************************************************* // RULESET1 // Procedure = Top Traverse; Stage = Disambiguation; Key = SOURCE.1 ==> <1 SetAttr Noun> <2 SetAttr Adjective>; // RULESET2 // Procedure = Depth Traverse; Stage = Frame; Key = SOURCE.1 / / \ \ / / \ \ ==> <2> / <2.1> / <2.1.1 Target.ChangeWord "TARGET.1"> \ \ <1> / <1.1> / <1.1.1 Target.ChangeWord "TARGET.2"> \ \; // ********************************************************************* // // VERB FRAMES // // ********************************************************************* // ********************************************************************* // VERB + DIRECT OBJECT ==> VERB // // Example: contrair matrimônio ==> get married // // SOURCE.1 = contrair; SOURCE.2 = matrimônio; TARGET.1 = get married // // "contrair" Obj (SX_Direct, Word=="matrimônio") // ==> "get married" Make (SX_Direct,SX_Direct,Primary.Target.Hidden=True); // ********************************************************************* // RULESET1 // Procedure = Verb Frame; Stage = Frame; Key = SOURCE.1 "SOURCE.1" Obj(SX_Direct,Primary.Word=="SOURCE.2") ==> "TARGET.1" Make (SX_Direct,SX_Direct,Primary.Target.Hidden=True); // ********************************************************************* // VERB + DIRECT OBJECT ==> VERB(different meaning) + DIRECT OBJECT // // Example: despedir um profissional ==> fire someone // // SOURCE.1 = despedir; TARGET.1 = fire // // "despedir" Obj (SX_Direct, Primary.IsAttr Noun+Occupation) // ==> "fire"; // ********************************************************************* // RULESET1 // Procedure = Verb Frame; Stage = Frame; Key = SOURCE.1 "SOURCE.1" Obj(SX_Direct,Primary.IsAttr Noun) ==> "TARGET.1"; // ********************************************************************* // VERB + PREPOSITIONAL OBJECT ==> VERB + DIRECT OBJECT // // Example: recordar-se de ==> remember // // SOURCE.1 = recordar-se; SOURCE.2 = de; TARGET.1 = remember // // "recordar-se" Obj ("de") // ==> "remember" Make ("de",SX_Direct); // ********************************************************************* // RULESET1 // Procedure = Verb Frame; Stage = Frame; Key = SOURCE.1 (non-reflexive form) "SOURCE.1" Obj("SOURCE.2") ==> "TARGET.1" Make("SOURCE.2",SX_Direct); // ********************************************************************* // VERB + PREPOSITIONAL OBJECT ==> VERB + PREPOSITIONAL OBJECT // // Example: preocupar-se com ==> worry about // // SOURCE.1 = preocupar-se; SOURCE.2 = com; TARGET.1 = worry TARGET.2 = about // // "preocupar-se" Obj ("com") // ==> "worry" Make ("com","about"); // ********************************************************************* // RULESET1 // Procedure = Verb Frame; Stage = Frame; Key = SOURCE.1 (non-reflexive form) "SOURCE.1" Obj("SOURCE.2") ==> "TARGET.1" Make("SOURCE.2", "TARGET.2");