Skip to content

sooslandia/translations

Repository files navigation

Introduction

This is the official repository of Sooslandia games, where translations of games and auxiliary components are stored.

Structure

The repository contains project directories such as BallBouncer or Agsharp. These directories contain all translation files related to that project.

The sltt directory contains code of Sooslandia translation tool: auxiliary scripts that perform validation and conversion of new translations.

Project structure

src directory inside a project directory contains source internal translation files that we use to generate gettext PO-template files, you should not touch any files in this directory.

out directory is a service directory that contains files prepared for copying back to corresponding project, you also do not need anything from that directory.

ru2en directory in some projects contains first-party translation from russian to english.

docs directory contains documuntation translation files, will be described below.

pot files is a gettext po-template files that should be used for translating the project.

po files is a gettext translation files that contains project translation.

Types of Files

resx

Some of our components use resx files.

These are XML resource files that store strings for a specific language.

Please do not translate resx files directly.

lng

lng is our own internal format used in cases where resx is not required.

Please do not translate lng files directly, because Such translations are very hard to maintain, and we are not accepting direct lng translations.

pot

A standard translation template file generated by the xgettext program.

We use the project name as the file name, for example, Agsharp.pot.

po

A translation file compatible with gettext.

We use the two-letter language code as the file name, for example, cs.po.

docs

Projects that have documentation, such as BallBouncer, have a docs directory.

This directory contains subdirectories named as two-letter language codes, for example cs.

Each such subdirectory contains project documentation translations in po format for every documentation file, for example readme.po.

md-files

files with .md extension are documentation files in markdown format, that files could be found in src and out directories, you should never translate md-files directly.

pot

Standard translation template file generated by the xgettext program, such a file is generated for each md file in docs/en, for example readme.pot.

po

A translation file compatible with gettext.

Sequence of Adding a Translation

From our side

We are extracting strings from resx or lng or any other format, and creating gettext template file with .pot extension inside every project directory.

English documentation markdown files are processed by the mdpo program, it extracts blocks of text and forms pot files from them, we are placing pot files inside /docs/en directory.

From the translator's side

You need to fork this repository and create a branch for the new translation.

Next you should load the .pot file into a translation program, such as Poedit, and perform the translation there.

Then the completed po file, for example, fr.po, needs to be added to the project directory.

To translate documentation, you need to use pot files from the docs/en directory as a template.

In the docs directory, you should create a subdirectory for translated files, the name should be the two-letter language code.

Ready po files, for example readme.po, need to be placed in the created directory.

resx, md and other formats

Please do not translate resx, lng, md, html or any other files directly; we do not validate them and do not accept translations in this format.

Next Steps

When the translation is completed and all files are in their places, submit a pull request with your translation. We will review it, ask for changes if necessary, and if the translation is correct, we will merge it into master.

After that, the translations will be added to the corresponding products and delivered to users via the update system.

Translating new/changed strings

When we make changes to our projects, the po-template files will be updated in this repository.

You will need to merge the master branch into your branch, and then update your translation from the updated pot files and translate the new lines.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors