Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Работа с ролями #3

Merged
merged 10 commits into from
Mar 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions Content.IntegrationTests/Tests/PostMapInitTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,26 +44,26 @@ public sealed class PostMapInitTest

private static readonly string[] GameMaps =
{
"Dev",
"TestTeg",
"Fland",
"Meta",
"Packed",
"Cluster",
"Omega",
"Bagel",
"Origin",
"Dev", //CrystallPunk Map replacement
//"TestTeg",
//"Fland",
//"Meta",
//"Packed",
//"Cluster",
//"Omega",
//"Bagel",
//"Origin",
"CentComm",
"NukieOutpost",
"Box",
"Europa",
"Saltern",
"Core",
"Marathon",
//"Box",
//"Europa",
//"Saltern",
//"Core",
//"Marathon",
"MeteorArena",
"Atlas",
"Reach",
"Train"
//"Atlas",
//"Reach",
//"Train"
};

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions Content.Shared/GameTicking/SharedGameTicker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ public abstract class SharedGameTicker : EntitySystem
// But this is easier, and at least it isn't hardcoded.
//TODO: Move these, they really belong in StationJobsSystem or a cvar.
[ValidatePrototypeId<JobPrototype>]
public const string FallbackOverflowJob = "Passenger";
public const string FallbackOverflowJob = "Adventurer";

public const string FallbackOverflowJobName = "job-name-passenger";
public const string FallbackOverflowJobName = "job-name-adventurer";

// TODO network.
// Probably most useful for replays, round end info, and probably things like lobby menus.
Expand Down
15 changes: 12 additions & 3 deletions Content.Shared/Localizations/ContentLocalizationManager.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System.Globalization;
using System.Globalization;
using System.Linq;
using System.Text.RegularExpressions;
using Robust.Shared.Utility;
Expand All @@ -10,7 +10,8 @@ public sealed class ContentLocalizationManager
[Dependency] private readonly ILocalizationManager _loc = default!;

// If you want to change your codebase's language, do it here.
private const string Culture = "en-US";
private const string Culture = "ru-RU"; // CrystallPunk-Localization
private const string FallbackCulture = "en-US"; // CrystallPunk-Localization

/// <summary>
/// Custom format strings used for parsing and displaying minutes:seconds timespans.
Expand All @@ -26,8 +27,11 @@ public sealed class ContentLocalizationManager
public void Initialize()
{
var culture = new CultureInfo(Culture);
var fallbackCulture = new CultureInfo(FallbackCulture);

_loc.LoadCulture(culture);
_loc.LoadCulture(fallbackCulture); // CrystallPunk-Localization
_loc.SetFallbackCluture(fallbackCulture); // CrystallPunk-Localization
_loc.AddFunction(culture, "PRESSURE", FormatPressure);
_loc.AddFunction(culture, "POWERWATTS", FormatPowerWatts);
_loc.AddFunction(culture, "POWERJOULES", FormatPowerJoules);
Expand All @@ -36,7 +40,7 @@ public void Initialize()
_loc.AddFunction(culture, "LOC", FormatLoc);
_loc.AddFunction(culture, "NATURALFIXED", FormatNaturalFixed);
_loc.AddFunction(culture, "NATURALPERCENT", FormatNaturalPercent);

_loc.AddFunction(culture, "MANY", FormatMany); // TODO: Temporary fix for MANY() fluent errors. Remove after resolve errors.

/*
* The following language functions are specific to the english localization. When working on your own
Expand All @@ -47,6 +51,11 @@ public void Initialize()

_loc.AddFunction(cultureEn, "MAKEPLURAL", FormatMakePlural);
_loc.AddFunction(cultureEn, "MANY", FormatMany);
_loc.AddFunction(cultureEn, "NATURALFIXED", FormatNaturalFixed);
_loc.AddFunction(cultureEn, "LOC", FormatLoc);
_loc.AddFunction(cultureEn, "NATURALPERCENT", FormatNaturalPercent);
_loc.AddFunction(cultureEn, "POWERJOULES", FormatPowerJoules);
_loc.AddFunction(cultureEn, "TOSTRING", args => FormatToString(cultureEn, args));
}

private ILocValue FormatMany(LocArgs args)
Expand Down
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/job/department-desc.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
department-Mercenary-description = Снабжайте лагерь ценными ресурсами, и выполняйте заказы и поручения других поселенцев.
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/job/department.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
department-Mercenary = Гильдия наемников
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/job/job-description.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
job-description-adventurer = Найдите свой путь к славе и богатствам, помогая другим.
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/job/job-names.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
job-name-adventurer = Авантюрист
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/job/job-supervisors.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
job-supervisors-everyone = вообще всем
6 changes: 6 additions & 0 deletions Resources/Locale/ru-RU/job/job.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
job-greet-station-name = Добро пожаловать в { $stationName }.
job-greet-introduce-job-name = Ваша игровая роль: { $jobName }.
job-greet-important-disconnect-admin-notify = Вы играете важную роль для игрового прогресса. Если вы вынуждены отключиться, пожалуйста, сообщите об этом администраторам через "Админ помощь".
job-greet-supervisors-warning = Как { $jobName } вы находитесь в подчинении у { $supervisors }. Особые обстоятельства могут изменить это.
job-greet-crew-shortages = Поскольку экспедиция недоукомплектована, вы получаете дополнительные ключи в вашу связку ключей.
job-not-available-wait-in-lobby = Раунд начался, но вам не досталась ни одна из предпочтительных ролей (или вы не выбрали ни одну предпочтительную роль), и вы решили остаться в лобби. Вы можете изменить это поведение на экране персонализации.
49 changes: 49 additions & 0 deletions Resources/Locale/ru-RU/job/role-ban-command.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
### Localization for role ban command

cmd-roleban-desc = Запрещает пользователю играть на роли
cmd-roleban-help = Использование: roleban <name or user ID> <job> <reason> [продолжительность в минутах, не указывать или 0 для навсегда]

## Completion result hints

cmd-roleban-hint-1 = <name or user ID>
cmd-roleban-hint-2 = <job>
cmd-roleban-hint-3 = <reason>
cmd-roleban-hint-4 = [продолжительность в минутах, не указывать или 0 для навсегда]
cmd-roleban-hint-5 = [severity]
cmd-roleban-hint-duration-1 = Навсегда
cmd-roleban-hint-duration-2 = 1 день
cmd-roleban-hint-duration-3 = 3 дня
cmd-roleban-hint-duration-4 = 1 неделя
cmd-roleban-hint-duration-5 = 2 недели
cmd-roleban-hint-duration-6 = 1 месяц

### Localization for role unban command

cmd-roleunban-desc = Возвращает пользователю возможность играть на роли
cmd-roleunban-help = Использование: roleunban <role ban id>

## Completion result hints

cmd-roleunban-hint-1 = <role ban id>

### Localization for roleban list command

cmd-rolebanlist-desc = Список запретов ролей игрока
cmd-rolebanlist-help = Использование: <name or user ID> [include unbanned]

## Completion result hints

cmd-rolebanlist-hint-1 = <name or user ID>
cmd-rolebanlist-hint-2 = [include unbanned]
cmd-roleban-minutes-parse = { $time } - недопустимое количество минут.\n{ $help }
cmd-roleban-severity-parse = ${ severity } is not a valid severity\n{ $help }.
cmd-roleban-arg-count = Недопустимое количество аргументов.
cmd-roleban-job-parse = Работа { $job } не существует.
cmd-roleban-name-parse = Невозможно найти игрока с таким именем.
cmd-roleban-existing = { $target } уже имеет запрет на роль { $role }.
cmd-roleban-success = { $target } запрещено играть на роли { $role } по причине { $reason } { $length }.
cmd-roleban-inf = навсегда
cmd-roleban-until = до { $expires }
# Department bans
cmd-departmentban-desc = Запрещает пользователю играть на ролях, входящих в группировку
cmd-departmentban-help = Использование: departmentban <name or user ID> <department> <reason> [продолжительность в минутах, не указывать или 0 для навсегда]
8 changes: 8 additions & 0 deletions Resources/Locale/ru-RU/job/role-timers.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
role-timer-department-insufficient = Требуется ещё [color=yellow]{ TOSTRING($time, "0") }[/color] минут игры за [color={ $departmentColor }]{ $department }[/color].
role-timer-department-too-high = Требуется на [color=yellow]{ TOSTRING($time, "0") }[/color] меньше минут игры за [color={ $departmentColor }]{ $department }[/color]. (Вы пытаетесь играть за роль для новичков?)
role-timer-overall-insufficient = Требуется ещё [color=yellow]{ TOSTRING($time, "0") }[/color] минут общего игрового времени.
role-timer-overall-too-high = Требуется на [color=yellow]{ TOSTRING($time, "0") }[/color] меньше минут общего игрового времени. (Вы пытаетесь играть за роль для новичков?)
role-timer-role-insufficient = Требуется ещё [color=yellow]{ TOSTRING($time, "0") }[/color] минут игры в качестве [color={ $departmentColor }]{ $job }[/color] для этой роли.
role-timer-role-too-high = Требуется на [color=yellow]{ TOSTRING($time, "0") }[/color] меньше минут игры в качестве [color={ $departmentColor }]{ $job }[/color] для этой роли. (Вы пытаетесь играть за роль для новичков?)
role-timer-locked = Закрыто (наведите курсор для подробностей)
role-ban = Эта должность для вас заблокирована.
14 changes: 14 additions & 0 deletions Resources/Locale/ru-RU/preferences/humanoid-character-profile.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
### UI

# Displayed in the Character prefs window
humanoid-character-profile-summary =
Это { $name }. { $gender ->
[male] Ему
[female] Ей
[epicene] Им
*[neuter] Ему
} { $age } { $age ->
[one] год
[few] года
*[other] лет
}.
9 changes: 9 additions & 0 deletions Resources/Locale/ru-RU/preferences/ui/character-setup-gui.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
character-setup-gui-character-setup-label = Настройки персонажа
character-setup-gui-character-setup-stats-button = Статистика
character-setup-gui-character-setup-rules-button = Правила
character-setup-gui-character-setup-save-button = Сохранить
character-setup-gui-character-setup-close-button = Закрыть
character-setup-gui-create-new-character-button = Создать нового персонажа...
character-setup-gui-create-new-character-button-tooltip = { $maxCharacters } - максимальное количество персонажей.
character-setup-gui-character-picker-button-delete-button = Удалить
character-setup-gui-character-picker-button-confirm-delete-button = Подтвердить
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/preferences/ui/flavor-text.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
flavor-text-placeholder = Внешнее описание вашего персонажа, которое другие могут узнать, осмотрев его...
51 changes: 51 additions & 0 deletions Resources/Locale/ru-RU/preferences/ui/humanoid-profile-editor.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
humanoid-profile-editor-randomize-everything-button = Случайный персонаж
humanoid-profile-editor-name-label = Имя:
humanoid-profile-editor-name-random-button = Сгенерировать
humanoid-profile-editor-appearance-tab = Внешность
humanoid-profile-editor-clothing = Отображать одежду
humanoid-profile-editor-clothing-show = Переключить
humanoid-profile-editor-sex-label = Пол:
humanoid-profile-editor-sex-male-text = Мужской
humanoid-profile-editor-sex-female-text = Женский
humanoid-profile-editor-sex-unsexed-text = Отсутствует
humanoid-profile-editor-age-label = Возраст:
humanoid-profile-editor-skin-color-label = Цвет кожи:
humanoid-profile-editor-species-label = Раса:
humanoid-profile-editor-pronouns-label = Личное местоимение:
humanoid-profile-editor-pronouns-male-text = Он / Его
humanoid-profile-editor-pronouns-female-text = Она / Её
humanoid-profile-editor-pronouns-epicene-text = Они / Их
humanoid-profile-editor-pronouns-neuter-text = Оно / Его
humanoid-profile-editor-import-button = Импорт
humanoid-profile-editor-export-button = Экспорт
humanoid-profile-editor-save-button = Сохранить
humanoid-profile-editor-clothing-label = Одежда:
humanoid-profile-editor-backpack-label = Сумка:
humanoid-profile-editor-spawn-priority-label = Приоритет спавна:
humanoid-profile-editor-eyes-label = Цвет глаз:
humanoid-profile-editor-jobs-tab = Должности
humanoid-profile-editor-preference-unavailable-stay-in-lobby-button = Остаться в лобби, если должность недоступна.
humanoid-profile-editor-preference-unavailable-spawn-as-overflow-button = Получить должность "{ $overflowJob }", если должность недоступна.
humanoid-profile-editor-preference-jumpsuit = Комбинезон
humanoid-profile-editor-preference-jumpskirt = Юбка-комбинезон
humanoid-profile-editor-preference-backpack = Рюкзак
humanoid-profile-editor-preference-satchel = Сумка
humanoid-profile-editor-preference-duffelbag = Вещмешок
humanoid-profile-editor-guidebook-button-tooltip = Кликните для получения дополнительной информации
# Spawn priority
humanoid-profile-editor-preference-spawn-priority-none = Нет
humanoid-profile-editor-preference-spawn-priority-arrivals = Зал прибытия
humanoid-profile-editor-preference-spawn-priority-cryosleep = Капсула криосна
humanoid-profile-editor-jobs-amount-in-department-tooltip = { $departmentName }
humanoid-profile-editor-department-jobs-label = { $departmentName }
humanoid-profile-editor-antags-tab = Антагонисты
humanoid-profile-editor-antag-preference-yes-button = Да
humanoid-profile-editor-antag-preference-no-button = Нет
humanoid-profile-editor-traits-tab = Черты персонажа
humanoid-profile-editor-job-priority-high-button = Высокий
humanoid-profile-editor-job-priority-medium-button = Средний
humanoid-profile-editor-job-priority-low-button = Низкий
humanoid-profile-editor-job-priority-never-button = Никогда
humanoid-profile-editor-naming-rules-warning = Внимание: Оскорбительные или странные имена и описания могут повлечь за собой беседу с администрацией. Прочитайте \[Правила\].
humanoid-profile-editor-markings-tab = Черты внешности
humanoid-profile-editor-flavortext-tab = Описание
26 changes: 26 additions & 0 deletions Resources/Locale/ru-RU/preferences/ui/markings-picker.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
markings-used = Используемые черты
markings-unused = Неиспользуемые черты
markings-add = Добавить черту
markings-remove = Убрать черту
markings-rank-up = Вверх
markings-rank-down = Вниз
markings-search = Поиск
marking-points-remaining = Черт осталось: { $points }
marking-used = { $marking-name }
marking-used-forced = { $marking-name } (Принудительно)
marking-slot-add = Добавить
marking-slot-remove = Удалить

# Categories

markings-category-Hair = Причёска
markings-category-FacialHair = Лицевая растительность
markings-category-Head = Голова
markings-category-HeadTop = Голова (верх)
markings-category-HeadSide = Голова (бок)
markings-category-Snout = Морда
markings-category-Chest = Грудь
markings-category-Arms = Руки
markings-category-Legs = Ноги
markings-category-Tail = Хвост
markings-category-Overlay = Наложение
2 changes: 1 addition & 1 deletion Resources/Maps/CrystallPunk/dev_map.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5172,7 +5172,7 @@ entities:
- type: Transform
pos: 3.5,8.5
parent: 179
- proto: SpawnPointCaptain
- proto: SpawnPointAdventurer
entities:
- uid: 954
components:
Expand Down
Loading
Loading