Kazakh and Sakha

From Apertium
Revision as of 20:03, 28 March 2018 by Eirien (talk | contribs)
Jump to navigation Jump to search

This is Apertium translation pair for Kazakh and Sakha. The pair is currently located in incubator.

Installation

You will need:

Install apertium-kaz

git clone https://github.com/apertium/apertium-kaz.git
cd apertium-kaz
./autogen.sh
make

Install apertium-sah

git clone https://github.com/apertium/apertium-sah.git
cd apertium-sah
./autogen.sh
make

Install apertium-kaz-sah

git clone https://github.com/apertium/apertium-kaz-sah.git
cd apertium-kaz-sah
./autogen.sh --with-lang1=../apertium-kaz --with-lang2=../apertium-sah    # paths to apertium-kaz and apertium-sah source folders
make

Development workflow

Transfer rules

Example of adding <loc> -> <dat> rule

In apertium-kaz-sah.kaz-sah.t1x file

Adding to section <section-def-cats>

<def-cat n="nom">
  <cat-item tags="n.*"/>
</def-cat>

Adding to section <section-def-attrs>

<def-attr n="a_cas">
  <attr-item tags="nom"/>
  <attr-item tags="dat"/>
  <attr-item tags="loc"/>
</def-attr>

Adding to section <section-def-macros>

<def-macro n="f_default_nom1" npar="1">
  <choose><when><test><equal><clip pos="1" side="tl" part="a_cas"/><lit-tag v="loc"/></equal></test>
  <let><clip pos="1" side="tl" part="a_cas"/><lit-tag v="dat"/></let></when></choose>
</def-macro>

Adding to section <section-rules>

<rule comment="REGLA: NOUN">
  <pattern>
    <pattern-item n="nom"/>
  </pattern>
  <action>
    <call-macro n="f_default_nom1">
      <with-param pos="1"/>
    </call-macro>
    <out>
      <chunk name="n" case="caseFirstWord">
        <tags>
          <tag><lit-tag v="SN"/></tag>
        </tags>
        <lu>
           <clip pos="1" side="tl" part="whole"/>
        </lu>
      </chunk>
    </out>
  </action>
</rule>