OpenLLM-France/wikimedia huggingface dataset:
# Tajik/Lesson 1

| Cyrillic | Latin | Perso-Arabic | Phonetic Value (IPA) | Examples |
| А а | A a | َ, اَ | /a/ | санг= سنگ = سَنگ |
| Б б | B b | ﺏ | /b/ | барг = برگ = بَرگ |
| В в | V v | و | /v/ | номвар = نامور = ناموَر |
| Г г | G g | گ | /ɡ/ | санг= سنگ = سَنگ |
| Ғ ғ | Ƣ ƣ | ﻍ | /ɣ/ | ғор = غار, Бағдод = بغداد = بَغداد |
| Д д | D d | ﺩ | /d/ | модар = مادر = مادَر, Бағдод = بغداد = بَغداد |
| Е е | E e | ی | /e/ | шер = شیر, меравам = می‌روم = می‌رَوَم |
| Ё ё | Yo yo | یا | /jɒ/ | дарё = دریا, осиёб = آسیاب |
| Ж ж | Ƶ ƶ | ژ | /ʒ/ | жола = ژاله, каждум = کژدم = کَژدُم |
| З з | Z z | ﺽ ,ﻅ ,ﺫ ,ﺯ | /z/ |
| И и | I i | اِ, ِ | /i/ |
| Ӣ ӣ | Ī ī | ی | /iʲ/ |
| Й й | J j | یْ, ی | /j/ |
| К к | K k | ک | /k/ |
| Қ қ | Q q | ﻕ | /q/ |
| Л л | L l | ﻝ | /l/ |
| М м | M m | ﻡ | /m/ |
| Н н | N n | ﻥ | /n/ |
| О о | O o | ا ,آ | /ɒ/ |
| П п | P p | پ | /p/ |
| Р р | R r | ﺭ | /ɾ/ |
| С с | S s | ﺙ ,ﺹ ,ﺱ | /s/ |
| Т т | T t | ﺕ ,ﻁ | /t/ |
| У у | U u | اُ, ُ | /u/ |
| Ӯ ӯ | Ū ū | او ,و | /ø/ |
| Ф ф | F f | ﻑ | /f/ |
| Х х | X x | ﺥ | /χ/ |
| Ҳ ҳ | H h | ﺡ | /h/ |
| Ч ч | C c | چ | /ʧ/ |
| Ҷ ҷ | Ç ç | ﺝ | /ʤ/ |
| Ш ш | Ş ş | ﺵ | /ʃ/ |
| ъ | ' | ﻉ | /ʔ/ |
| Э э | E e | ای | /e/ |
| Ю ю | You you | یُ ,یو | /ju/ |
| Я я | Ya ya | یه, یَ | /ja/ |

## Some words that are very similar in Tajik and English

Try to sound out each of the following words using the phonetic mapping above.
| Tajik | English |
| бонк | bank |
| диалéкт | dialect |
| Аврупо | Europe |
| компютер | computer |
| лáмпа | lamp |
| телевизор | television |
| университéт | university |
| хор | choir |
| шонс | chance |
# Tajik/Useful Words and Expressions

* ҳа (ha) yes
* не (ne) no
* салом (Salam) hello
* ман нафаҳмидам (man nafahmidam) I don't understand.
* Шумо чихел? (shumo chikhel) how are you?
# Tales of Symphonia/Items
## Rune Bottle

The Rune Bottle is able to transmute one item into another type.
| Item | + Rune Bottle |
| Apple Gel | Lemon Gel |
| Melange Gel | Miracle Gel |
| Orange Gel | Pineapple Gel |
| Acuity Bottle | Guard Bottle |
| Dark Bottle | Holy Bottle |
| Flare Bottle | Acuity Bottle |
| Guard Bottle | Flare Bottle |
| Holy Bottle | Dark Bottle |
| Panacea Bottle | Miracle Bottle |
| Shell Bottle | Syrup Bottle |
| Syrup Bottle | Shell Bottle |
| Rosemary | Red Rosemary |
| Aqua Quartz | Purple Quartz |
| Blue Quartz | Red Quartz |
| Green Quartz | Yellow Quartz |
| Purple Quartz | Aqua Quartz |
| Red Quartz | Blue Quartz |
| Yellow Quartz | Green Quartz |
| Blue Talisman | Talisman |
| Heal Bracelet | Spirit Bangle |
| Spirit Bangle | Heal Bracelet |
| Talisman | Blue Talisman |
| Holy Ring | Spirit Ring |
| Protect Ring | Resist Ring |
| Resist Ring | Protect Ring |
| Guardian Symbol | Warrior Symbol |
| Warrior Symbol | Guardian Symbol |
| Reverse Doll | Sephira |

## References

* CyberSkull's Tales of Symphonia Item Transformation FAQ
# Tajik/Numbers

* як (yak)
* ду (du)
* ce (se)
* чор/чаҳор (chor/chahor)
* панҷ (panj)
* шаш (shash)
* ҳафт (haft)
* ҳашт (hasht)
* нӯҳ (nooh)
* даҳ (dah)
# Tales of Symphonia/About
## History of this WikiBook

This WikiBook was started on August 22nd, 2005. It was restored from deletion on July 1st, 2021.
# Tajik/Lesson 3

This is the grammar of the Tajik language.

## Ҷонишинҳои шахсӣ (Personal pronouns)

| | Singular | Plural |
| 1st person | Ман | Мо |
| 2nd person | Ту | Шумо |
| 3rd person | Вай, ӯ | Онҳо |
Now we will create simple phrases with the pronouns and the words хона - house and доштан (асоси замони ҳозира: дор) - have.
Ман хона дорам - I have a house
Мо хона дорем - We have a house
Ту хона дорӣ - You have a house
Шумо хона доред - You (pl.) have a house
Вай хона дорад (Ӯ хона дорад) - He has a house
Онҳо хона доранд - They have a house

## Асосҳои феълӣ (Verb stems)
### Масдар (Infinitive)

The infinitive in Tajik consists of the past tense stem and the infinitive ending -ан.
пухтан - to bake
рафтан - to go
кардан - to do
харидан - to buy
омадан - to come
бурдан - to carry
гирифтан - to take
доштан - to have
додан - to give
рақсидан - to dance
гуфтан - to say
хӯрдан - to eat
афтидан - to fall
нӯшидан - to drink
давидан - to run
мондан - to lay (transitive verb)

### Асоси замони гузашта (Past tense stem)

The past tense stem indicates the singular 3rd person past simple verb (he did, etc.). To form the past tense stem, the -ан ending is detached from the infinitive. However, some verbs are irregular.
афтод - he fell

### Асоси замони ҳозира (Present/future tense stem)

The present/future tense stem is mostly irregular. It indicates the imperative.
паз - bake!
рав - go!
кун - do!
хар - buy!
ой - come!
бар - carry!
гир - take!
дор - have!
деҳ - give!
рақс - dance!
гӯй - say!
хӯр - eat!
афт - fall!
нӯш - drink
дав - run!
# Tales of Symphonia

Tales of Symphonia (テイルズオブシンフォニア Teiruzu obu Shinfonia) is a role-playing video game produced by Namco. It was released in 2003 in Japan for the Nintendo GameCube and later for the Sony PlayStation 2. In 2004, it was released in the United States and Europe, but only for the Nintendo GameCube. It is the fourth game in the Tales RPG series, taking place long before Tales of Phantasia, and was the first in the series to be officially released in the U.S. in many years. One notable characteristic of the game is its art direction by Kosuke Fujishima, a renowned Japanese manga-ka (comic-book artist).

## Contents
### Gameplay

* Battle
* Items

### Story

* Plot
* Characters

### Meta

* About

## External Links

* Steam Page
# Tajik/Lesson 2

* Tajik Language Course
* Introduction • Lesson 1 • Lesson 2 • Lesson 3 • Lesson 4 • Grammar • Vocabulary • Tajik Names • Useful Words and Expressions
* Numbers • Declensions • Adjectives • Conjugations • Prepositions • Verbal Aspect • Interrogative, Personal, and Possessive Pronouns
* Appendix • Alphabet • Internet

## Pronunciation

Х - kh - like Spanish "J" in Jose

## Dialogs

Comment: If you talk to one person and would like to make it respectful, use "Шумо" and not "шумо". You need to use "шумо" with small first letter character only if you need to talk to more people, than one.

### Салом, ман аз дидори Шумо хурсандам!

    Salom, man az didori Shumo khursandam
    Hello, I am glad to see you!

### Рӯз ба хайр, ман ҳам.

    Ruz ba khayr, man ham
    Good afternoon, me too.

### Номи ман Анвар, номи Шумо чист?

    Nomi man Anvar, nomi Shumo chist?
    My name is (lit. [they] call me) Anvar, and yours (lit. [how they call] you)?

### Хеле хушҳолам!

    Khele khush-holam
    Pleased to meet you.

### Номи ман бошад Шоира Раҳимова, кӯтоҳ Шоира

    Nomi man boshad Shoira Rahimova, kutoh Shoira
    And mine is (lit. [they call] me) Shoira Rahimova, call me just Shoira.

### Ташаккур, то боздид!

    Tashakkur, to bozdid
    Thank you, see you again (lit. till the meeting)!

### Хайр.

    Khayr
    Good bye (lit. till the seeing).

### Салом, номи ман Абдулатиф аст.

    Salom, nomi man Abdulatif ast.
    Hello, my name is Abdulatif.
# SDL (Simple DirectMedia Layer)/Basics/Getting started

In this section, we will show you how to initialise and shutdown SDL subsystems.

### Linking SDL2 libraries

The basic functions required for SDL2 is either in the <SDL/SDL.h> library or <SDL2/SDL.h> library depending on the operating system, hence the above source code uses

### main macro in Windows

When writing code for Windows machines, it is necessary to include
since SDL overwrites the main macro. According to SDL's FAQWindows:

### Initialising SDL subsystems

When using a SDL subsystem, you must always initialise it first. In the following if-statement, we initialise the SDL video subsystem with the flag SDL_INIT_VIDEO. If it succeeds, it returns 0, otherwise it returns a negative error code and will print information about the error using SDL_GetError through the stderr stream.
You can initialise multiple subsystems using the | operator:
All information about the SDL_Init function subsystems, and their flags can be found in the SDL Wiki's SDL_Init page.

### Shutting down SDL subsystems

To shut down the SDL subsystems, you must execute
However, this will only shut down the main subsystems; shutting down the TTF subsystem requires a different function
# SDL (Simple DirectMedia Layer)/Basics/Getting started in Linux

Install the development libraries of SDL from the official repositories of your Linux distribution.

#### Terminal

The argument -lSDL2 means after compiling sdl.c with gcc, the binary sdl, named using the -o argument, is linked to the SDL 2 runtime libraries.
NOTE: Linking the binary to SDL 1.2 libraries requires the -lSDL argument.
To continue using the terminal to build your source, you can use GNU Make, CMake or a plain Makefile.
# SDL (Simple DirectMedia Layer)/Basics/Creating a window

In this section, we will demonstrate how to create and destroy basic SDL windows. The following code will create a window called "SDL Example", 800 by 600 pixels in width and height respectively, and print it on the screen for 3000 miliseconds.

### Setting up data

In order to create the window, we need to specify its height and width. In this case we define the global constants using a macro. We'll make the width 800 pixels long and the height 600 pixels high.
In this program, we will have to pause the SDL subsystems to let the window stay open. We'll define the delay to be 3000 milliseconds.
In C, it's a good idea to initialise your variables first in order to understand when and how they are being used. In this case, we initialise a SDL_Window pointer called window. In SDL, almost all objects are initialised as pointers.

### Creating the window

In order to create the window, we need to use the SDL_CreateWindow function and set some parameters too.
You can learn more about SDL_CreateWindow in the SDL Wiki.

### Using SDL_Delay

In the example code, we used the function SDL_Delay in order to pause the SDL subsystems for a variable amount of time in milliseconds and allow the window to be shown on the screen whilst it is open. In this case, the pause is defined with the DELAY macro as being 3000 milliseconds.
You can learn more about SDL_Delay in the SDL Wiki.

### Destroying the window

In order to close the window and free memory, we must destroy the window. Destroying window is much simpler than creating it.
You can learn more about SDL_DestroyWindow in the SDL Wiki.
# SDL (Simple DirectMedia Layer)/Chapters

* This book applies to version 2 and newer of SDL.

### Preface : Introducing SDL

* About the book - General information on the Wikibook
* What is SDL? - Introduction to the SDL library and its two main versions

### Chapter 1 : Basics

* Getting started (30-12-2017) - Setting up the SDL development libraries and building sample source code.
** in Windows
** in macOS
** in Linux
* Creating a window (30-12-2017) - Creating a simple and basic SDL window.

### Chapter 2 : Graphics

* Rendering images (31-12-2017) - Blitting and rendering images onto a window.
* Rendering other image formats (01-01-2018) - Blitting and rendering other image formats onto a window.
* Rendering surfaces (04-01-2018) - Optimising and stretching surfaces onto a window.
* Rendering textures
* Rendering geometry
* Creating viewports
* Color keying
* Clip rendering and sprite sheets
* Color modulation
* Alpha blending
* Animation and Vsync
* Rotating and flipping textures
* Fonts and text

### Chapter 3 : Input & Events

* Event-driven programming
* Keypresses
* Mouse events
* Key states
* Timing

### Chapter 4 : Advanced Graphics

* Frame rate
** Calculating frame rate
** Capping frame rate
* Motion
* Scrolling
* Clipboard
* Window events
* Multiple windows
* Multiple displays
* Tiling
* Texture manipulation
* Bitmap fonts
* Frame-independent movement

### Appendix A : Development Process

* Building
** in GNU Automake
** in CMake
* Packaging

### Appendix C : Miscellaneous Functions

* File input/output
* Timer callbacks
# XRX/Configuration File Editor
## Motivation

You have an XML configuration file that only one person at a time will be editing. You want to make it easy to edit the configuration file so that non-technical users without knowledge of XML or occasional users will not make any mistakes editing the file.
Note that this method may not be appropriate if multiple people might edit the same file or record simultaneously. See the record locking section for more detail on this process.

## Method

We will load the entire file into an single XForms instance, edit it, and save the entire file. This can be done with a single submission in the XForms application and a single store operation in the eXist (or similar) database. This can be done even if the configuration file is very complex, and has many sections and many repeating elements. Regardless of the complexity of the file, you only need a single function call on the server to store the file.

## Program Outline

Let's assume that the file is stored in a single eXist collection such as my-config.xml. To load this file into an XForms application, you simply put the document into an instance within the XForms model:
You can then save the file by adding a submission element to the model that will save the file back to the database once the data has changed in the client.
Note that you will need to use "post" not "put" in this example. The submit element creates a button in your form with the label "Save".

## Building the Forms Application for the Configuration File

There are many ways to "autogenerate" the XForms application that will edit the configuration file in a browser, even if your configuration file is complex and has many repeating elements.
One way is to use a transformation program that transforms an XML Schema to an XForms file. One example of this is the NIEM transform. Although there are other examples of this type of transform, most of these require you to have an XML Schema for your configuration file. If you do not have an XML Schema there are tools that can generate an XML Schema from one or more instance documents.
If you do not have an XML Schema, you can "draw" your XForms client using commercial XForms tools such as IBM Workplace Forms Designer. This drag-and-drop environment makes it easy for non-programmers to build and maintain complex forms.
If you are building a form on a budget, then another option is to use the Orbeon XForms Builder which is an XForms application that will build the form for you.

## Client Side Save

If you have a secure Intranet you can use the HTTP PUT operator to save your configuration file directly to the web file system. Sometimes you will need to be able to authenticate a user before you permit the save. This can be done with a traditional login and session management system or you can create a single script that has the correct permissions.

## Sample Save XQuery

Back: XSLTForms and eXist • Next: Dictionary Editor
# XRX/Customizing Selection Lists
## Motivation

Many times a form or application can use the context of a situation to customize the functionality of the form based on the context of the situation. Context can include the user, group, organization structure, department, time of day, or any other parameter.
Back: Selection List Management • Next: Table Sorting
# XRX/Data Element Editor
## Motivation

The core of an ISO metadata data registry is a collection of data elements. These data elements represent the semantics or meaning of a data element within a standard or an organization. Data elements do not necessarily map to a representation of data in a specific data store such as an RDBMS, an Excel spreadsheet, an XML file or a CSV file. Data elements can store mappings to these representations via data maps.
There are two types of data elements in an ISO metadata registry:
Conceptual Data Elements - similar to RDBMS tables, concepts in a taxonomy tree, or object classes without the behavior. Conceptual data elements are really collections for grouping similar properties.
Properties - are similar to a column of a table, a leaf element in a taxonomy, or an simple instance variable in an object class.
As with objects, properties can exhibit inheritance properties. So if a superclass has a property, that property is valid for all subclasses.

## Implementation

Our ISO registry example will have an XForms application for storing both conceptual data elements and properties. Both of these will be called generic data elements and they both share many attributes such as who created them, their definitions, and their mappings. The only difference is that a conceptual data element has no property or data type assignment (representation term).
Each data elements will be stored in a separate XML file in a data element collection. This allows multiple users to independently edit data elements and lock each data elements to avoid lost updates.
Back: Detecting Duplicates • Next: Selection List Management
# XRX/Breadcrumb Navigation Bar
## Motivation

We want to provide a consistent way for users to navigate around in applications and their functions. To do this we provide a standard site navigation breadcrumb view.

## Method

Each site style module has a breadcrumbs function. This function looks at the context of the application in the site and conditionally displays each level of the site as a path of links.
To support this function we will need to create a function that displays the depth we are in the site. We call this the $style:web-depth-in-site variable.
Here is an example of how to calculate it:
This function counts the number of "/" characters that appear in the current uri using the function get-uri. It then does some offset calculations so that the root node of the site has a count of 1.
The $style:site-home is a path to the site home that can be renders in the context of the site. For example you might set it to:
The Application ID and Application Name should also be set in the $style:app-id $style:app-name variables.
This can be extracted from URI and the app-info.xml file.
# XRX/Content Routing
## Motivation

You want all your XForms application to us a single save.xq submission. This makes it easier to autogenerate XForms applications and makes it easier to maintain insert and update operations in a central location.

## Method

Create a single save XQuery that inspects the content of a POST operation. Use the name of the root element or other content patterns within the submitted XML file to process the incoming saved documents. Use a table-driven rule engine to determine if the incoming XML document is a new record (and requires a new ID assigned), an update (and requires versioning), or whether other business rules apply.
Back : User Manager • Next: URL Rewriting
# XRX/Business Rules Template
## Motivation

You want to create a simple "rules editor" that allows non-programmers to maintain simple business rules for an application.

## Method

Business rules are expressed as a set of conditional statements. Each conditional statement has two parts: a condition and an action. For example, the following is a simple business rule that can check the validity of a date:
The if portion of the rule tests to see if the transaction date is larger than the current date. If it is, then the date is not in the past. The submission of the form data is rejected, and a useful error message is returned to the user.
One of the best examples of a simple rule editor is an email rules editor. This is usually set up as a template such as the following:
To be done...
Back: Product Ratings • Next: Metadata Shopper
# XRX/Code Table Management
## Motivation

You want to be able to manage all code-tables and selection lists in a consistent way across multiple applications.
Specifically:
* XML files that are exported to external sources should not use numeric codes that are not descriptive of the semantics of a category.
* Any codes that are passed as RESTful parameters should use URL-friendly codes (lowercase and dashes)
* All user views of codes should use "labels" that may be contextual to a specific language
* Role-based access should allow separate forms that only code-table administrators should have rights to modify

## Method

One of the most tedious and time consuming parts of developing many XRX applications is effective management of all of the code-tables within an XML applications. Without a strategic framework to manage codes many projects bet bogged down with the details of inconsistent code-table management.
In general our approach is to treat code-tables and their own data sets. A separate collection which is a child of the main application collection called "code-tables" is used to manage code tables for that application.
Small code-tables are usually stored in XML files with one file per entity. These code table files store a list of all items for that code table including the labels, the value and the definition of that value. According to ISO/IEC 11179 guidelines all code values, like data elements, should have definitions that are approved by a data governance process.
# XRX/Building your First XRX Application
## How Build Your First XRX Application

Although there are many different ways you can build an XRX application, there are two vital ingredients to get you started. First you will need a way to create XQueries with RESTFul interfaces. The OpenSource native XML database eXist seems to be the favorite of most people although the MarkLogic server has a community version that is free as long as your data sets are under 10GB which seems to be enough for most pilot and learning projects.
The second component you will need is some client that will take an XForms data stream intended for a browser and build applications with it. Because the XSLTForms client is now bundled with both eXist and MarkLogic and runs on all browsers many people are using this client.
If you need forms that need to load quickly without the overhead of loading the large XSLT transforms and JavaScript libraries, the FireFox XForms addon is also a very mature product, but does not run on FireFox versions higher than 3.0.12.
The Picoforms XForms client for IE and Chiba forms will also work very well. If you are looking for a pure server-side transform you may want to look into Orbeon Forms or the IBM Workplace Forms tools.
There are five architectural tasks that you will need to master. They go by phrase CRUDS: Create, Read, Update, Delete and Search. Having a tool to quickly import XML data from spreadsheets is also very useful as you migrate more data into your XRX application server. The oXygen XML editor is a favorite because is has strong support for the eXist database.
Once you have understood the basic concepts in the CRUDS cycle, you can then explore ways to optimize reports using XQuery and XQuery functions and modules.
Back: XRX Application Server • Next: Background Technologies
# Traditional Principles of Animation
## Contents

* Introduction
* Anticipation
* Squash and stretch
* Overlapping action
* Follow-through
* Staging
* Exaggeration
* Secondary action
* Other Important Elements of Realistic Motion