Skip to content
This repository has been archived by the owner on Nov 1, 2024. It is now read-only.

Commit

Permalink
Локализация
Browse files Browse the repository at this point in the history
  • Loading branch information
Vonsant committed Mar 26, 2024
1 parent d96c8ce commit f96536c
Show file tree
Hide file tree
Showing 2,014 changed files with 42,984 additions and 7,065 deletions.
26 changes: 18 additions & 8 deletions Content.Shared/Humanoid/NamingSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,14 @@ public string GetName(string species, Gender? gender = null)
("first", GetFirstName(speciesProto, gender)));
case SpeciesNaming.TheFirstofLast:
return Loc.GetString("namepreset-thefirstoflast",
("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto)));
("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto, gender))); // Corvax-LastnameGender
case SpeciesNaming.FirstDashFirst:
return Loc.GetString("namepreset-firstdashfirst",
("first1", GetFirstName(speciesProto, gender)), ("first2", GetFirstName(speciesProto, gender)));
case SpeciesNaming.XnoY:
return Loc.GetString("namepreset-x-no-y",
("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto)));
case SpeciesNaming.FirstLast:
default:
return Loc.GetString("namepreset-firstlast",
("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto)));
("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto, gender))); // Corvax-LastnameGender
}
}

Expand All @@ -61,9 +58,22 @@ public string GetFirstName(SpeciesPrototype speciesProto, Gender? gender = null)
}
}

public string GetLastName(SpeciesPrototype speciesProto)
// Corvax-LastnameGender-Start: Added custom gender split logic
public string GetLastName(SpeciesPrototype speciesProto, Gender? gender = null)
{
return _random.Pick(_prototypeManager.Index<DatasetPrototype>(speciesProto.LastNames).Values);
switch (gender)
{
case Gender.Male:
return _random.Pick(_prototypeManager.Index<DatasetPrototype>(speciesProto.MaleLastNames).Values);
case Gender.Female:
return _random.Pick(_prototypeManager.Index<DatasetPrototype>(speciesProto.FemaleLastNames).Values);
default:
if (_random.Prob(0.5f))
return _random.Pick(_prototypeManager.Index<DatasetPrototype>(speciesProto.MaleLastNames).Values);
else
return _random.Pick(_prototypeManager.Index<DatasetPrototype>(speciesProto.FemaleLastNames).Values);
}
}
// Corvax-LastnameGender-End
}
}
}
17 changes: 15 additions & 2 deletions Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@ public sealed partial class SpeciesPrototype : IPrototype
/// </summary>
[DataField("roundStart", required: true)]
public bool RoundStart { get; private set; } = false;

// Corvax-Sponsors-Start
/// <summary>
/// Whether the species is available only for sponsors
/// </summary>
[DataField]
public bool SponsorOnly { get; private set; } = false;
// Corvax-Sponsors-End

// The below two are to avoid fetching information about the species from the entity
// prototype.
Expand Down Expand Up @@ -87,8 +95,13 @@ public sealed partial class SpeciesPrototype : IPrototype
[DataField("femaleFirstNames")]
public string FemaleFirstNames { get; private set; } = "names_first_female";

[DataField("lastNames")]
public string LastNames { get; private set; } = "names_last";
// Corvax-LastnameGender-Start: Split lastname field by gender
[DataField]
public string MaleLastNames { get; private set; } = "names_last_male";

[DataField]
public string FemaleLastNames { get; private set; } = "names_last_female";
// Corvax-LastnameGender-End

[DataField("naming")]
public SpeciesNaming Naming { get; private set; } = SpeciesNaming.FirstLast;
Expand Down
9 changes: 7 additions & 2 deletions Content.Shared/Localizations/ContentLocalizationManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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"; // Corvax-Localization
private const string FallbackCulture = "en-US"; // Corvax-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); // Corvax-Localization

_loc.LoadCulture(culture);
_loc.LoadCulture(fallbackCulture); // Corvax-Localization
_loc.SetFallbackCluture(fallbackCulture); // Corvax-Localization
_loc.AddFunction(culture, "PRESSURE", FormatPressure);
_loc.AddFunction(culture, "POWERWATTS", FormatPowerWatts);
_loc.AddFunction(culture, "POWERJOULES", FormatPowerJoules);
Expand All @@ -36,6 +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.


/*
Expand Down Expand Up @@ -208,4 +213,4 @@ private static ILocValue FormatUnits(LocArgs args)
return new LocValueString(res);
}
}
}
}
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/GPS/handheld-gps.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
handheld-gps-coordinates-title = Координаты: { $coordinates }
8 changes: 8 additions & 0 deletions Resources/Locale/ru-RU/HUD/game-hud.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
game-hud-open-escape-menu-button-tooltip = Открыть меню паузы.
game-hud-open-guide-menu-button-tooltip = Открыть меню руководства.
game-hud-open-character-menu-button-tooltip = Открыть меню персонажа.
game-hud-open-inventory-menu-button-tooltip = Открыть меню инвентаря.
game-hud-open-crafting-menu-button-tooltip = Открыть меню создания.
game-hud-open-actions-menu-button-tooltip = Открыть меню действий.
game-hud-open-admin-menu-button-tooltip = Открыть меню администратора.
game-hud-open-sandbox-menu-button-tooltip = Открыть меню песочницы.
4 changes: 4 additions & 0 deletions Resources/Locale/ru-RU/_NF/ArachnidChaos.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
action-name-spider-bite = Высасывать кровь
no-blood-warning = Там нет крови!
no-good-blood = Ты не можешь пить эту кровь!
spider-biting = { THE($UsernameName) } начинает высасывать у { THE($targetName) } кровь!
16 changes: 16 additions & 0 deletions Resources/Locale/ru-RU/_NF/accent/accents.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Pirate cat accent
accent-words-pirate-cat-1 = Яррргх Мяу!
accent-words-pirate-cat-2 = Ярр Мяв.
accent-words-pirate-cat-3 = Мррррряу!
accent-words-pirate-cat-4 = Аррг Хссс!
accent-words-pirate-cat-5 = Брррряу.
accent-words-pirate-cat-6 = Ярррргх Мяу?
accent-words-pirate-cat-7 = Гаррр Мяу.
# Mistake cat accent
accent-words-mistake-cat-1 = Халф йа.
accent-words-mistake-cat-2 = Ахх Й'а лайк фафх.
accent-words-mistake-cat-3 = я лв'наф пф' а.
accent-words-mistake-cat-4 = Й' ахор х' мггока'ай.
accent-words-mistake-cat-5 = Й' кант а'эхйе баг.
accent-words-mistake-cat-6 = ли х' нильг'ри нгахна.
accent-words-mistake-cat-7 = ымг' мгеп л' а'н'га я.
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/_NF/actions/sleep.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
popup-sleep-in-bag = { THE($entity) } сворачивается клубочком и засыпает.
26 changes: 26 additions & 0 deletions Resources/Locale/ru-RU/_NF/adventure/adventure.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## UI

playtime-deny-reason-not-whitelisted = Вы должны быть в белом списке.
adventure-list-start = Галактический Банк NT
adventure-mode-profit-text = совокупная прибыль составила: { " " }
adventure-mode-loss-text = всего потеряно: { " " }
adventure-list-high = Больше всего заработали:
adventure-list-low = Больше всего потратили:
adventure-title = Приключения на Фронтире
adventure-description = Купите собственный корабль или присоединитесь к любой команде, исследуйте, изучайте, занимайтесь спасением или перевозкой, чтобы разбогатеть!
currency = Спесосы
guide-entry-adventure = Программа Новый Фронтир
guide-entry-bank = Галактический Банк NT
guide-entry-shipyard = Верфи Фронтира
shipyard-rules-default1 =
Благодарим за присоединение к Службе Безопасности сектора.
Покупая Патрульный Шаттл вы соглашаетесь соблюдать Корпоративный Закон
который можно найти на https://station14.ru/wiki/%D0%9A%D0%BE%D1%80%D0%BF%D0%BE%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D0%97%D0%B0%D0%BA%D0%BE%D0%BD
shipyard-rules-default2 =
Любые действия, совершаемые вами или вашим экипажем, нарушающие
Корпоративный Закон приведут к административным мерам.
Спасибо, что выбрали Службу Безопасности NT.
shuttle-ftl-proximity = Близлежащие объекты слишком массивны для FTL прыжка!
changelog-tab-title-Upstream = Журнал изменений
public-transit-departure = Направляемся в { $destination }. Ориентировочное время в пути: { $flytime } секунд.
public-transit-arrival = Спасибо за выбор общественного транспорта NT. Следующий шаттл до { $destination } отправляется через { $waittime } секунд.
2 changes: 2 additions & 0 deletions Resources/Locale/ru-RU/_NF/advertisements/vending/astro.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
advertisement-astrovend-1 = Выбор Spessman's!
advertisement-astrovend-2 = Не покидай верфи без скафандра!
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
advertisement-cuddlycritter-1 = Озарите свой день пушистым другом!
advertisement-cuddlycritter-2 = Обнимашечная терапия начинается здесь!
advertisement-cuddlycritter-3 = Поддайтесь плюшевому искушению!
advertisement-cuddlycritter-4 = Вам не устоять их очарованию!
advertisement-cuddlycritter-5 = Внимание: грядет экстремальная милота!
advertisement-cuddlycritter-6 = Помогите, я застрял на фабрике NanoTrasen, они заставляют меня шить плюшевые игрушки.
advertisement-cuddlycritter-7 = Мягче, чем асбест!
advertisement-cuddlycritter-8 = Ручшие разноцветные мелки во всем Фронтире, предложение 65.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
advertisement-lesslethalvend-1 = Резиновые пули поднимают настроение!
advertisement-lesslethalvend-2 = Нелетал(™). Выбор умных!
advertisement-lesslethalvend-3 = Пистоны для всех и каждого!
advertisement-lesslethalvend-4 = Шокируй своих друзей тазером ПРЯМО СЕЙЧАС!
advertisement-lesslethalvend-5 = Внимание: Для покупок вам должно быть не менее 3 месяцев.
advertisement-lesslethalvend-6 = Они лгут.
advertisement-lesslethalvend-7 = Победи своих врагов мирным путем УЖЕ СЕГОДНЯ!
advertisement-lesslethalvend-8 = Нелетал(™) ЭТО ВЕСЕЛО
advertisement-lesslethalvend-9 = КУПИ КУПИ КУПИ ПРЯМО СЕЙЧАС
advertisement-lesslethalvend-10 = Только полный идиот покупает летальное оружие, переходи на Нелетал(™) ПРЯМО ЗДЕСЬ!
advertisement-lesslethalvend-11 = Накажи злодеев палкой. СЕЙЧАС!
advertisement-lesslethalvend-12 = Гордимся партнерством с NFSD! За безопасное будущее!
advertisement-lesslethalvend-13 = Не поддавайся на уловки конкурентов.
advertisement-lesslethalvend-14 = Меньше смертей - больше экономии!
advertisement-lesslethalvend-15 = С горд
advertisement-lesslethalvend-16 = Напоминаем: резиновые пули - не жвачка, не кушать!
advertisement-lesslethalvend-17 = Резиновые пули и многое другое - все для твоей защиты уже сегодня!
advertisement-lesslethalvend-18 = Внимание: Пистоны не съедобны.
advertisement-lesslethalvend-19 = Подумай о своей безопасности СЕГОДНЯ!
advertisement-lesslethalvend-20 = Может, именно ты станешь нашим 1,000,000-м покупателем?
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
advertisement-maildrobe-1 = Оставь любую собаку позади с нашими почтовыми шортами из псевдозамши и дюракарбона! Спешите, количество ограничено!
advertisement-maildrobe-2 = Синий идет тебе как никому другому!
26 changes: 26 additions & 0 deletions Resources/Locale/ru-RU/_NF/bank/bank-ATM-component.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## UI

bank-atm-menu-title = Галактический Банк NT
bank-atm-menu-balance-label = Ваш Баланс:{ " " }
bank-atm-menu-no-bank = Нет лицевого счёта!
bank-atm-menu-withdraw-button = Вывести
bank-atm-menu-deposit-label = Внести Сумму:{ " " }
bank-atm-menu-no-deposit = Пусто
bank-atm-menu-deposit-button = Внести
bank-insufficient-funds = Недостаточно Средств
bank-atm-menu-transaction-denied = Транзакция Отклонена
bank-atm-menu-deposit-successful = Вклад Принят
bank-atm-menu-withdraw-successful = Снятие Утверждено
bank-atm-menu-wrong-cash = Неправильный Тип Валюты
station-bank-atm-menu-title = Администрация Станции
bank-atm-menu-amount-label = Сумма:{ " " }
bank-atm-reason-label = Назначение:{ " " }
bank-atm-description-label = Описание:{ " " }
station-bank-payroll = Заработная Плата
station-bank-workorder = Рабочий Заказ
station-bank-supplies = Снабжение Станции
station-bank-bounty = Вознаграждение
station-bank-other = Другое
station-bank-required = { "(" }Требуется{ ")" }
station-bank-requires-reason = NT требует детали транзакции
station-bank-unauthorized = Неавторизованно!
8 changes: 8 additions & 0 deletions Resources/Locale/ru-RU/_NF/bluespace-events/events.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
station-event-bluespace-vault-start-announcement = Автономный бронированный транспорт хранилища NanoTrasen допустил ошибку при переходе в FTL и вскоре прибудет в вашем секторе. Вы будете вознаграждены за его безопасное возвращение.
station-event-bluespace-vault-end-announcement = Мы успешно эвакуировали хранилище из вашего сектора и соответствующим образом возместили расходы ближайшему аванпосту Фронтира.
station-event-bluespace-cache-start-announcement = Транспорт Синдиката был перехвачен в FTL и скоро прибудет поблизости. Охраняйте тайник с бронированным оружием, пока NanoTrasen не сможет забрать его за вознаграждение.
station-event-bluespace-cache-end-announcement = Мы успешно извлекли тайник с оружием Синдиката из вашего сектора и соответствующим образом возместили стоимость вашего близлежащего аванпосту Фронтира.
station-event-bluespace-asteroid-start-announcement = Сканирование с большого расстояния указывает на необычно крупный астероид, входящий в сектор. NanoTrasen советует старателям перенаправить операции для получения максимальной потенциальной прибыли.
station-event-bluespace-asteroid-end-announcement = В соответствии со схемами FTL NanoTrasen астероид был рассеян, чтобы избежать столкновения.
station-event-bluespace-ship-start-announcement = Мы обнаружили необычную FTL сигнатуру - сканирование на большом расстоянии указывает на неизвестный корабль. Имейте в виду, что NanoTrasen не может подтвердить безопасность для старателей в непосредственной близости от него.
station-event-bluespace-ship-end-announcement = В соответствии со схемами FTL движения NanoTrasen неизвестный корабль был рассеян, чтобы избежать столкновения.
Loading

0 comments on commit f96536c

Please sign in to comment.