Kazakh and Sakha

From Apertium
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:

Installing apertium-kaz

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

Installing apertium-sah

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

Installing 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>