GiellaLT provides an infrastructure for rule-based language technology aimed at minority and indigenous languages, and streamlines building anything from keyboards to speech technology. Read more about Why. See also How to get started and our Privacy document.
The files containing the linguistic source code (as well as other repositories) may be fetched from their git repository. This may be done in one of two ways:
After having gone through either 1a or 1b, scroll down to the chapter 2. Set up the files (for both git and svn users) below to set up the files you just checked out.
(We first explain checkout with git, and then the alternative method: checkout with svn)
We first show how to get (= check out) the files, thereafter how to upheld the file.
Download the files as follows (this is called clone in git:
git clone git@github.com:giellalt/lang-XXX.git
./autogen.sh
./autogen.sh && ./configure && sudo make install
there.When done, cd back to lang-XXX, and run:
./configure
make
This should compile the language models. If not, read the error message.
To make sure that your code is up-to-date, stand somewhere in lang-XXX, and run:
git pull
This will make sure all code is up-to-date.
When committing and pushing, your username and password is your GitHub username and password.
At UiT, we use (and have a licence for) the client Tower, but any graphical git client will do.
If you check out many repositories and want to update (and even check in) files in all of them at the same time by using the command line, you should look into the program gut that we made for this purpose. Most users will not need this program.
If the gut command stumbles and demands enter passphrase for key … .ssh/id_rsa, then adding this to yor .profile
should help:
if [ ! -S ~/.ssh/ssh_auth_sock ]; then
eval `ssh-agent`
ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
fi
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
ssh-add -l > /dev/null || ssh-add
(none we know of :-)
(this is for users preferring to use svn commands). We show first checkout commands, thereafter show how to upheld the file.
The new check-out URL is specific to each language, and follows this pattern:
yourusername
with your username in git.):svn co https://github.com/giellalt/lang-XXX.git/trunk lang-XXX --username yourusername
./autogen.sh
This will automatically check out giella-shared and giella-core parallel to lang-XXX.
Go to each of these directories and run the following setup commands:
cd ../giella-core
./autogen.sh
./configure
make
Then do the same for giella-shared
. When done, cd back to lang-XXX, and run:
./autogen.sh
./configure
make
This should compile the language models. If not, read the error message.
To make sure that your code is up-to-date, cd to the parent directory of lang-XXX, and run:
svn up *
This will make sure all code is up-to-date.
When committing, your username and password is your GitHub username and password.
You may continue with your old svn working habits, whenever you use the command line, Cornerstone, or some other program for handling svn.
(none we know of :-)
In git, you need to be menber of the team of the git repository (each language) you want to check in files for. If you are not, go to the git page for your language (the list is here). Look for contact information, and ask the relevant persons for checkin rights.
In your home catalogue you have a bash settings file .profile
(= standard for users of the giella infrastructure) or perhaps .bashrc
for some users. Edit this file as follows:
Open it (with the editor see
or your favourite editor):
see ~/.profile
Then add the following lines to the file (assuming here that you called the folder where you put lang-XXX giellalt
, change it into whatever you called it:
export GTLANGS="$HOME/giellalt"
export GIELLA_CORE=$HOME/giellalt/giella-core
test -r "$GIELLA_CORE"/devtools/init.d/init.sh && . "$GIELLA_CORE"/devtools/init.d/init.sh
This should give you access to aliases such as hufao, hdfao, etc. (and similarly when your own language is something else than fao). Remember to open a new terminal window (or write . .profile
before you test).
You may also make an alias for getting directly to the catalogue you work in by putting this alias into .profile
(assuming you named your folder lang and your language is fao)::
alias fao="pushd ~/giellalt/lang-fao"
Thereafter, typing fao
will bring you directly to the relevant folder.
The GiellaLT community can be found on Zulip. Please post any questions and need for help you might have in the Zulip stream svn-git, found here:
https://giella.zulipchat.com/#narrow/stream/238905-svn-git
For those not yet part of the GiellaLT Zulip community, you can join by clicking this link:
https://giella.zulipchat.com/join/xgod3xxdw1pj927h64dny5ln/
In the GiellaLT Zulip community, there is a stream for each language (named by the ISO code), suitable for discussing everything relating to that language. In those streams, also all commits / pushes to GitHub will be automatically posted, to make it easy to follow the development of each language. When committing/pushing, that also triggers an automatic build, and the output of that build is also posted in the stream. If the build failed, one can easily click a link to see why.