Project Translated Unfinished Unfinished words Unfinished characters Untranslated Checks Suggestions Comments
Thrive 99% 14 2,690 18,059 5 23 15 4

Summary

Language code ru
Aliased language codes ru_r, ru_rr, ru_ru, rus
English name of the language Russian
Text direction Left to right
Case sensitivity Case-sensitive
Number of speakers 201,151,468
Plural: Default plural 4 translations
Number of plurals 3
Plural type One/few/many
Plurals One 1, 21, 31, 41, 51, 61, 71, 81, 91, 101, …
Few 2, 3, 4, 22, 23, 24, 32, 33, 34, 42, …
Many 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, …
Plural formula n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2
Plural: Qt Linguist plural 0 translations
Number of plurals 3
Plural type One/few/many
Plurals One 1, 21, 31, 41, 51, 61, 71, 81, 91, 101, …
Few 2, 3, 4, 22, 23, 24, 32, 33, 34, 42, …
Many 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, …
Plural formula (n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)
05/16/2026

String statistics

Strings percent Hosted strings Words percent Hosted words Characters percent Hosted characters
Total 3,366 46,004 325,797
Approved 0% 0 0% 0 0% 0
Waiting for review 99% 3,334 94% 43,294 94% 307,574
Translated 99% 3,352 94% 43,314 94% 307,738
Needs editing 1% 9 5% 2,596 5% 17,527
Read-only 1% 18 1% 20 1% 164
Failing checks 1% 23 9% 4,410 9% 31,257
Strings with suggestions 1% 15 1% 23 1% 145
Untranslated strings 1% 5 1% 94 1% 532

Quick numbers

46,004
Hosted words
3,366
Hosted strings
99%
Translated
and previous 30 days

Trends of last 30 days

+1%
Hosted words
+100%
+1%
Hosted strings
+100%
−1%
Translated
+99%
+50%
Contributors
+100%
User avatar ILYOHA131

Applied enforced check

[ul]Соединения это вещества из которых создан мир и живые организмы. Таким образом, простые вещества (например углерод), природные ресурсы (соль, вода), органические соединения (аминокислоты) и органические полимеры (белки).
Позднее, будут и ткани (кости, мускулы) сделанные из других сложных соединений.
Конечными продуктами являются такие вещи, как клеточная мембрана, и с ними можно обращаться так же, как с соединениями. Еще один важный конечный продукт - энергия.
Соединения присутствуют в окружающей среде в нескольких состояниях:[/ul]

[ul]Общее количество соединений в экосистеме постоянно.
Соединения могут трансформироваться (напр. разложение воды на водород и кислород)
Скопления соединений основаны на сетке, представляющей ресурсы окружающей среды. Их концентрация может меняться, скоплению высокой концентрации соответствует более насыщенный цвет.[/ul]

[b][u]Органеллы[/u][/b]

[ul]Место, где происходят процессы. Некоторые процессы требуют особых органелл. Они могут меняться в зависимости от свойств органеллы.
На более поздних этапах это будут органы, мастерские/фабрики и города.[/ul]

[b][u]Сбор и хранение[/u][/b]

[ul] Количество соединений в системе, измеряемое в молях
У каждого соединения есть масса. От нее зависит, сколько места оно занимает в клетке.
Соединения автоматически поглощаются микроорганизмами, если у них есть место для их хранения. Они хранятся в цитоплазме или в вакуолях.
Вакуоли могут быть предназначены только для хранения определенных соединений.[/ul]

[b][u]Система приоритетов[/u][/b]

Поскольку хранилище будет общим, необходимо определить приоритетность хранения различных соединений и порядок их извлечения в случае заполнения хранилища..

[b][u]Процессы[/u][/b]

[ul]Они определяют, как соединения преобразуются из одного вида в другой и что для этого требуется. Если организм не способен осуществлять какой-либо процесс, у него может не быть доступа к продуктам этого процесса, и ему придется получать их каким-то другим способом (например, поедая что-то), либо он вообще не сможет их получить (например, если съесть рог носорога, сам рог не вырастет).
Процессы, которые вы способны осуществлять, и то, насколько эффективно вы это делаете, определяют ваш организм, ваш вид и ваше место в пищевой цепочке.
Не все процессы будут доступны с самого начала, и игроку нужно будет получить определенные органеллы, чтобы разблокировать их.

[b][u]Агенты[/u][/b]

[ul]Агенты — это особые соединения с мощным действием, большинство из которых для простоты изготавливаются из одних и тех же компонентов. Преобразование поступающих соединений в активные вещества происходит с помощью аппарата Гольджи и эндоплазматического ретикулума, которые потребляют АТФ с постоянной скоростью независимо от того, выполняют они эту задачу или нет.
Подробнее на странице «Агенты».[/ul]

[b][u]Организмы[/u][/b]

[ul]Организмы — это особи одного вида, будь то клетка, растение или животное.
У каждого из них есть определенные органеллы/органы, они способны выполнять определенные процессы, могут накапливать определенные соединения, а другие соединения считают отходами жизнедеятельности.
Каждый из них постоянно выполняет доступные ему процессы для производства необходимых соединений.
Одно и то же вещество может быть питательным для одних видов и не быть таковым для других.[/ul]

[b][u]Реализация[/u][/b]

[b][u]Фаза 1: Расчет Цен[/u][/b]

[ul]At the beginning of the update method, each process calculates its price, and the price function is a function of the demand, the supply, and the previous price of the compound.[/ul]

In the current implementation the function is:

[code]P = √(D / (S + 1)) * COMPOUND_PRICE_MOMENTUM + oldP * (1 - COMPOUND_PRICE_MOMENTUM))[/code]

With:
[code]P[/code] the price
[code]D[/code] the demand
[code]S[/code] the supply
[code]oldP[/code] the old price
[code]COMPOUND_PRICE_MOMENTUM[/code] a constant between 0 and 1.


The function also performs a check to raise the value from 0 to a small positive number if needed.

[indent]—   After that's done, if the compound is marked as “useful” (this is done on the compound table), then the price gets inflated by a certain amount, depending on the compound supply. This is done so that the process system knows which compounds does it want to make (otherwise all prices would decay to 0 and that would be no fun).[/indent]

In the current implementation, the price inflating function is:

[code]PI = IMPORTANT_COMPOUND_BIAS / (S + 1)[/code]

With:
[code]PI[/code] the price inflation
[code]S[/code] the supply
[code]IMPORTANT_COMPOUND_BIAS[/code] an arbitrary constant


It’s important to notice that for the first price equation the old price used is the non-inflated one.
If, after all that, the price is below a certain small number, then the price is rounded down to zero (and therefore dumped later).

[indent]—   After all those calculations are done for all of the compounds, the process system needs to decide the desired rate for each of the processes.[/indent]
[indent]—   This rate could, potentially, be larger than the maximum capacity the process has.[/indent]
[indent]—   Said rate is calculated by making a simple prediction about the prices of the compounds, by replicating the same calculations of phase 1 on each compound, but assuming the supply is one unit larger, and then assuming the price is linear in respect of the supply.[/indent]
[indent]—   If the price of the compound was 0 on phase 1 it’s assumed that the price of that compound is always 0, regardless of the supply.[/indent]
[indent]—   Finally, it’s assumed that the price is 0 for any value of supply that the linearization would make it’s price negative (aka, the minimum value of a function is 0).[/indent]
[indent]—   Here’s an example of one of those functions, made in the google drive equivalent of MS Paint:[/indent]

[indent]—   Then all the process system has to do is get the rate at which the sum of all the input compound prices would equal the sum of all the output compound prices, and that is the desired rate.[/indent]
[indent]—   If all of the output compounds have a price of 0, then the desired rate is made 0.[/indent]
[indent]—   An example of a process would be like this:[/indent]

*To account for the storage space, a similar calculation is made but multiplying the prices of the compounds by a function that returns a value between 0.0 and 1.0, depending on the available space and the size and amount of the compounds processed.

In the current implementation, the function is:

[code]M = 2.0 * (1.0 - sigmoid(RS / (AS + 1.0) * STORAGE_SPACE_MULTIPLIER));[/code]

With:
[code]M[/code] is the multiplier between 0 and 1.
[code]RS[/code] is the required space of the compound (volume * amount produced/processed)
[code]AS[/code] is the available storage space
[code]STORAGE_SPACE_MULTIPLIER[/code] is an arbitrary constant (currently 2.0)

[indent]—   Then the inputs get converted into the outputs by a rate of the minimum of the desired rate considering the storage space ONLY if by doing so the rate is reduced, otherwise the space is not considered (this is to avoid the process system to destroy compounds to gain space, when the compound purging code should do that), and the max capacity of the process (assuming there are enough inputs and storage space to do so).[/indent]

[indent]—   After the desired rates are found, the process must determine the demand of the compounds.[/indent]
[indent]—   The demand of a compound is equal to the sum of all the demands generated by all the processes, which is defined by the equation[/indent]

[code]D = DR * IN * soft(PC * IN)[/code]

with:
[code]D[/code] the demand generated by a process.
[code]DR[/code] the desired rate of that process (without capacity, input or storage space limitations being considered).
[code]IN[/code] the input needed by the process (aka the amount of input spent on running the process at a rate of 1).
[code]PC[/code] the maximum process capacity
[code]soft(x)[/code] a continuous, monotonically increasing function that equals 0 when x = 0, and 1 when x ⟶ ∞

In the current implementation:

[code]soft(x) = 2 * sigmoid(x * PROCESS_CAPACITY_DEMAND_MULTIPLIER) - 1[/code]

with [code]PROCESS_CAPACITY_DEMAND_MULTIPLIER[/code] being an arbitrary constant.

[indent]—   It’s important to note that a process like A ⟶ B, with a rate of 2 * x it’s exactly the same as the process 2 * A ⟶ 2 * B, with a rate of x[/indent]
[indent]—   It’s also important that processes with a max capacity of 0 do not affect the system in any way.[/indent]
[indent]—   That’s it! :D[/indent]
05/16/2026
User avatar ILYOHA131

Translation changed

05/16/2026
User avatar ILYOHA131

Translation changed

05/16/2026
User avatar ILYOHA131

Translation changed

05/16/2026
User avatar weblate:commit

Changes committed

Changes committed 05/16/2026
User avatar SentryPrimis

Translation changed

05/15/2026
User avatar SentryPrimis

Translation changed

05/15/2026
User avatar weblate:commit

Changes committed

Changes committed 05/15/2026
User avatar webhook:github

Resource updated

The “locale/ru.po” file was changed. 05/15/2026
User avatar webhook:github

String updated in the repository

05/15/2026
Browse all changes for this language