hide all roles, add Adventure role, localization

This commit is contained in:
Ed
2024-03-28 23:02:54 +03:00
parent 44e7d63d9d
commit 4cd8fd6a07
58 changed files with 229 additions and 8 deletions

View File

@@ -15,9 +15,9 @@ namespace Content.Shared.GameTicking
// 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.

View File

@@ -1,4 +1,4 @@
using System.Globalization;
using System.Globalization;
using System.Linq;
using System.Text.RegularExpressions;
using Robust.Shared.Utility;
@@ -10,7 +10,8 @@ namespace Content.Shared.Localizations
[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.
@@ -26,8 +27,11 @@ namespace Content.Shared.Localizations
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);
@@ -36,7 +40,7 @@ namespace Content.Shared.Localizations
_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
@@ -47,6 +51,11 @@ namespace Content.Shared.Localizations
_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)

View File

@@ -0,0 +1 @@
department-Mercenary-description = Снабжайте лагерь ценными ресурсами, и выполняйте заказы и поручения других поселенцев.

View File

@@ -0,0 +1 @@
department-Mercenary = Гильдия наемников

View File

@@ -0,0 +1 @@
job-description-adventurer = Найдите свой путь к славе и богатствам, помогая другим.

View File

@@ -0,0 +1 @@
job-name-adventurer = Авантюрист

View File

@@ -0,0 +1 @@
job-supervisors-everyone = вообще всем

View File

@@ -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 = Раунд начался, но вам не досталась ни одна из предпочтительных ролей (или вы не выбрали ни одну предпочтительную роль), и вы решили остаться в лобби. Вы можете изменить это поведение на экране персонализации.

View File

@@ -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 для навсегда]

View File

@@ -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 = Эта должность для вас заблокирована.

View File

@@ -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 = Подтвердить

View File

@@ -0,0 +1 @@
flavor-text-placeholder = Внешнее описание вашего персонажа, которое другие могут узнать, осмотрев его...

View File

@@ -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 = Описание

View File

@@ -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 = Наложение

View File

@@ -0,0 +1,8 @@
- type: job
id: Adventurer
name: job-name-adventurer
description: job-description-adventurer
playTimeTracker: JobAdventurer
startingGear: CargoTechGear #TODO replace
icon: "JobIconCargoTechnician" #TODO replace
supervisors: job-supervisors-everyone

View File

@@ -0,0 +1,6 @@
- type: department
id: Mercenary
description: department-Mercenary-description
color: "#e6a447"
roles:
- Adventurer

View File

@@ -0,0 +1,4 @@
# Jobs
- type: playTimeTracker
id: JobAdventurer

View File

@@ -28,9 +28,9 @@
mapNameTemplate: "Dev"
- type: StationJobs
overflowJobs:
- Captain
- NoviceAdventurer #CrystallPunk Dev replacement
availableJobs:
Captain: [ -1, -1 ]
NoviceAdventurer: [ -1, -1 ] #CrystallPunk Dev replacement
- type: gameMap
id: TestTeg

View File

@@ -2,6 +2,7 @@
id: CargoTechnician
name: job-name-cargotech
description: job-description-cargotech
setPreference: false
playTimeTracker: JobCargoTechnician
startingGear: CargoTechGear
icon: "JobIconCargoTechnician"

View File

@@ -2,6 +2,7 @@
id: Quartermaster
name: job-name-qm
description: job-description-qm
setPreference: false
playTimeTracker: JobQuartermaster
requirements:
- !type:RoleTimeRequirement

View File

@@ -2,6 +2,7 @@
id: SalvageSpecialist
name: job-name-salvagespec
description: job-description-salvagespec
setPreference: false
playTimeTracker: JobSalvageSpecialist
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: Passenger
name: job-name-passenger
description: job-description-passenger
setPreference: false
playTimeTracker: JobPassenger
startingGear: PassengerGear
icon: "JobIconPassenger"

View File

@@ -2,6 +2,7 @@
id: Bartender
name: job-name-bartender
description: job-description-bartender
setPreference: false
playTimeTracker: JobBartender
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: Botanist
name: job-name-botanist
description: job-description-botanist
setPreference: false
playTimeTracker: JobBotanist
startingGear: BotanistGear
icon: "JobIconBotanist"

View File

@@ -2,6 +2,7 @@
id: Chaplain
name: job-name-chaplain
description: job-description-chaplain
setPreference: false
playTimeTracker: JobChaplain
startingGear: ChaplainGear
icon: "JobIconChaplain"

View File

@@ -2,6 +2,7 @@
id: Chef
name: job-name-chef
description: job-description-chef
setPreference: false
playTimeTracker: JobChef
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: Clown
name: job-name-clown
description: job-description-clown
setPreference: false
playTimeTracker: JobClown
startingGear: ClownGear
icon: "JobIconClown"

View File

@@ -2,6 +2,7 @@
id: Janitor
name: job-name-janitor
description: job-description-janitor
setPreference: false
playTimeTracker: JobJanitor
startingGear: JanitorGear
icon: "JobIconJanitor"

View File

@@ -2,6 +2,7 @@
id: Lawyer
name: job-name-lawyer
description: job-description-lawyer
setPreference: false
playTimeTracker: JobLawyer
requirements:
- !type:OverallPlaytimeRequirement

View File

@@ -2,6 +2,7 @@
id: Librarian
name: job-name-librarian
description: job-description-librarian
setPreference: false
playTimeTracker: JobLibrarian
startingGear: LibrarianGear
icon: "JobIconLibrarian"

View File

@@ -2,6 +2,7 @@
id: Mime
name: job-name-mime
description: job-description-mime
setPreference: false
playTimeTracker: JobMime
requirements:
- !type:OverallPlaytimeRequirement

View File

@@ -2,6 +2,7 @@
id: Musician
name: job-name-musician
description: job-description-musician
setPreference: false
playTimeTracker: JobMusician
startingGear: MusicianGear
icon: "JobIconMusician"

View File

@@ -2,6 +2,7 @@
id: ServiceWorker
name: job-name-serviceworker
description: job-description-serviceworker
setPreference: false
playTimeTracker: JobServiceWorker
startingGear: ServiceWorkerGear
icon: "JobIconServiceWorker"

View File

@@ -2,6 +2,7 @@
id: Captain
name: job-name-captain
description: job-description-captain
setPreference: false
playTimeTracker: JobCaptain
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,8 +2,8 @@
id: CentralCommandOfficial
name: job-name-centcomoff
description: job-description-centcomoff
playTimeTracker: JobCentralCommandOfficial
setPreference: false
playTimeTracker: JobCentralCommandOfficial
startingGear: CentcomGear
icon: "JobIconNanotrasen"
supervisors: job-supervisors-hos

View File

@@ -2,6 +2,7 @@
id: HeadOfPersonnel
name: job-name-hop
description: job-description-hop
setPreference: false
playTimeTracker: JobHeadOfPersonnel
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: AtmosphericTechnician
name: job-name-atmostech
description: job-description-atmostech
setPreference: false
playTimeTracker: JobAtmosphericTechnician
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: ChiefEngineer
name: job-name-ce
description: job-description-ce
setPreference: false
playTimeTracker: JobChiefEngineer
requirements:
- !type:RoleTimeRequirement

View File

@@ -2,6 +2,7 @@
id: StationEngineer
name: job-name-engineer
description: job-description-engineer
setPreference: false
playTimeTracker: JobStationEngineer
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: TechnicalAssistant
name: job-name-technical-assistant
description: job-description-technical-assistant
setPreference: false
playTimeTracker: JobTechnicalAssistant
requirements:
- !type:OverallPlaytimeRequirement

View File

@@ -2,6 +2,7 @@
id: Chemist
name: job-name-chemist
description: job-description-chemist
setPreference: false
playTimeTracker: JobChemist
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -4,6 +4,7 @@
id: ChiefMedicalOfficer
name: job-name-cmo
description: job-description-cmo
setPreference: false
playTimeTracker: JobChiefMedicalOfficer
requirements:
- !type:RoleTimeRequirement

View File

@@ -2,6 +2,7 @@
id: MedicalDoctor
name: job-name-doctor
description: job-description-doctor
setPreference: false
playTimeTracker: JobMedicalDoctor
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: MedicalIntern
name: job-name-intern
description: job-description-intern
setPreference: false
playTimeTracker: JobMedicalIntern
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: Paramedic
name: job-name-paramedic
description: job-description-paramedic
setPreference: false
playTimeTracker: JobParamedic
requirements:
- !type:RoleTimeRequirement

View File

@@ -2,6 +2,7 @@
id: Borg
name: job-name-borg
description: job-description-borg
setPreference: false
playTimeTracker: JobBorg
requirements:
- !type:OverallPlaytimeRequirement

View File

@@ -2,6 +2,7 @@
id: ResearchAssistant
name: job-name-research-assistant
description: job-description-research-assistant
setPreference: false
playTimeTracker: JobResearchAssistant
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: ResearchDirector
name: job-name-rd
description: job-description-rd
setPreference: false
playTimeTracker: JobResearchDirector
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: Scientist
name: job-name-scientist
description: job-description-scientist
setPreference: false
playTimeTracker: JobScientist
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: Detective
name: job-name-detective
description: job-description-detective
setPreference: false
playTimeTracker: JobDetective
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: HeadOfSecurity
name: job-name-hos
description: job-description-hos
setPreference: false
playTimeTracker: JobHeadOfSecurity
requirements:
- !type:RoleTimeRequirement

View File

@@ -2,6 +2,7 @@
id: SecurityCadet
name: job-name-cadet
description: job-description-cadet
setPreference: false
playTimeTracker: JobSecurityCadet
requirements:
- !type:OverallPlaytimeRequirement

View File

@@ -2,6 +2,7 @@
id: SecurityOfficer
name: job-name-security
description: job-description-security
setPreference: false
playTimeTracker: JobSecurityOfficer
requirements:
- !type:DepartmentTimeRequirement

View File

@@ -2,6 +2,7 @@
id: Warden
name: job-name-warden
description: job-description-warden
setPreference: false
playTimeTracker: JobWarden
requirements:
- !type:RoleTimeRequirement

View File

@@ -2,6 +2,7 @@
id: Boxer
name: job-name-boxer
description: job-description-boxer
setPreference: false
playTimeTracker: JobBoxer
startingGear: BoxerGear
icon: "JobIconBoxer"

View File

@@ -2,6 +2,7 @@
id: Psychologist
name: job-name-psychologist
description: job-description-psychologist
setPreference: false
playTimeTracker: JobPsychologist
startingGear: PsychologistGear
icon: "JobIconPsychologist"

View File

@@ -2,6 +2,7 @@
id: Reporter
name: job-name-reporter
description: job-description-reporter
setPreference: false
playTimeTracker: JobReporter
startingGear: ReporterGear
icon: "JobIconReporter"

View File

@@ -2,6 +2,7 @@
id: Zookeeper
name: job-name-zookeeper
description: job-description-zookeeper
setPreference: false
playTimeTracker: JobZookeeper
startingGear: ZookeeperGear
icon: "JobIconZookeeper"