Kazakh and Sakha

From Apertium
Revision as of 09:55, 24 April 2018 by Eirien (talk | contribs) (→‎Installation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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>