diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm
index 3787aeb4df7b9..d8bc81a592fc6 100644
--- a/code/__DEFINES/food.dm
+++ b/code/__DEFINES/food.dm
@@ -71,27 +71,27 @@ DEFINE_BITFIELD(foodtypes, list(
/// IC meaning (more or less) for food flags
#define FOOD_FLAGS_IC list( \
- "Meat", \
- "Vegetables", \
- "Raw food", \
- "Junk food", \
- "Grain", \
- "Fruits", \
- "Dairy products", \
- "Fried food", \
- "Alcohol", \
- "Sugary food", \
- "Gross food", \
- "Toxic food", \
- "Pineapples", \
- "Breakfast food", \
- "Clothing", \
- "Nuts", \
- "Seafood", \
- "Oranges", \
- "Bugs", \
- "Gore", \
- "Rocks", \
+ "Мясное", \
+ "Овощи", \
+ "Сырое", \
+ "Фастфуд", \
+ "Зерновое", \
+ "Фрукты", \
+ "Молочное", \
+ "Жареное", \
+ "Алкоголь", \
+ "Сахарное", \
+ "Ужасное", \
+ "Токсичное", \
+ "Ананасы", \
+ "Завтраки", \
+ "Из одежды", \
+ "Орехи", \
+ "Морепродукты", \
+ "Апельсины", \
+ "Из жуков", \
+ "Месиво", \
+ "Каменное", \
)
#define DRINK_REVOLTING 1
diff --git a/code/datums/quirks/negative_quirks/allergic.dm b/code/datums/quirks/negative_quirks/allergic.dm
index ae484aff4f164..c7ff03c1980c8 100644
--- a/code/datums/quirks/negative_quirks/allergic.dm
+++ b/code/datums/quirks/negative_quirks/allergic.dm
@@ -32,8 +32,8 @@
allergy_chem_names += initial(chem_type.name)
allergy_string = allergy_chem_names.Join(", ")
- name = "Экстремальная аллергия на: [allergy_string]"
- medical_record_text = "Иммунная система пациента бурно реагирует на [allergy_string]"
+ name = "Экстремальная аллергия на: [LOWER_TEXT(allergy_string)]"
+ medical_record_text = "Иммунная система пациента бурно реагирует на: [LOWER_TEXT(allergy_string)]"
var/mob/living/carbon/human/human_holder = quirk_holder
var/obj/item/clothing/accessory/dogtag/allergy/dogtag = new(get_turf(human_holder), allergy_string)
@@ -42,7 +42,7 @@
/datum/quirk/item_quirk/allergic/post_add()
quirk_holder.add_mob_memory(/datum/memory/key/quirk_allergy, allergy_string = allergy_string)
- to_chat(quirk_holder, span_boldnotice("У вас аллергия на [allergy_string], убедитесь, что вы не употребляете ничего из этого!"))
+ to_chat(quirk_holder, span_boldnotice("У вас аллергия на: [LOWER_TEXT(allergy_string)]. Убедитесь, что вы не употребляете ничего из этого!"))
/datum/quirk/item_quirk/allergic/process(seconds_per_tick)
if(!iscarbon(quirk_holder))
diff --git a/code/datums/quirks/negative_quirks/food_allergy.dm b/code/datums/quirks/negative_quirks/food_allergy.dm
index 7be100f4fdeb9..f81567b00bc2f 100644
--- a/code/datums/quirks/negative_quirks/food_allergy.dm
+++ b/code/datums/quirks/negative_quirks/food_allergy.dm
@@ -43,7 +43,7 @@ GLOBAL_LIST_INIT(possible_food_allergies, list(
/datum/quirk/item_quirk/food_allergic/add_unique(client/client_source)
var/what_are_we_actually_killed_by = english_list(bitfield_to_list(target_foodtypes, FOOD_FLAGS_IC)) // This should never be more than one thing but just in case we can support it
- to_chat(client_source.mob, span_info("У вас аллергия на [what_are_we_actually_killed_by]. Следите за тем, что вы едите!"))
+ to_chat(client_source.mob, span_info("У вас аллергия на: [LOWER_TEXT(what_are_we_actually_killed_by)]. Следите за тем, что вы едите!"))
var/obj/item/clothing/accessory/dogtag/allergy/dogtag = new(quirk_holder, what_are_we_actually_killed_by)
give_item_to_holder(dogtag, list(LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS), flavour_text = "Держите его поблизости с кухней.")
diff --git a/tgui/packages/tgui/interfaces/PersonalCrafting.tsx b/tgui/packages/tgui/interfaces/PersonalCrafting.tsx
index 9acb77f1c4d7a..b892ad23c745e 100644
--- a/tgui/packages/tgui/interfaces/PersonalCrafting.tsx
+++ b/tgui/packages/tgui/interfaces/PersonalCrafting.tsx
@@ -240,19 +240,19 @@ export const PersonalCrafting = (props) => {
const CATEGORY_ICONS =
mode === MODE.cooking ? CATEGORY_ICONS_COOKING : CATEGORY_ICONS_CRAFTING;
return (
-
+
-
+
{category === 'Can Make' && (
@@ -422,7 +422,7 @@ export const PersonalCrafting = (props) => {
{
act('toggle_recipes');
@@ -430,7 +430,7 @@ export const PersonalCrafting = (props) => {
/>
act('toggle_compact')}
/>
@@ -442,7 +442,7 @@ export const PersonalCrafting = (props) => {
{
{
) : (
- No recipes found.
+ Не найдены рецепты.
)}
{recipes.length > displayLimit && (
@@ -539,8 +539,8 @@ export const PersonalCrafting = (props) => {
style={{ cursor: 'pointer' }}
onClick={() => setPages(pages + 1)}
>
- Load {Math.min(pageSize, recipes.length - displayLimit)}{' '}
- more...
+ Загрузить ещё{' '}
+ {Math.min(pageSize, recipes.length - displayLimit)}
)}
@@ -615,7 +615,7 @@ const FoodtypeContent = (props) => {
- {type.toLowerCase()}
+ {TYPE_NAMES[type] || type.toLowerCase()}
{type === 'Can Make'
@@ -693,7 +693,7 @@ const RecipeContentCompact = ({ item, craftable, busy, mode }) => {
{!!item.tool_behaviors && (
@@ -702,7 +702,7 @@ const RecipeContentCompact = ({ item, craftable, busy, mode }) => {
my={0.3}
lineHeight={2.5}
align="center"
- content="Make"
+ content="Создать"
disabled={!craftable || busy}
icon={
busy
@@ -725,7 +725,7 @@ const RecipeContentCompact = ({ item, craftable, busy, mode }) => {
width={'32px'}
align="center"
tooltip={
- 'Repeat this craft until you run out of ingredients.'
+ 'Продолжать создание, пока не закончатся ингредиенты.'
}
tooltipPosition={'top'}
disabled={!craftable || busy}
@@ -788,7 +788,7 @@ const RecipeContent = ({ item, craftable, busy, mode, diet }) => {
{Object.keys(item.reqs).map((atom_id) => (
@@ -814,7 +814,7 @@ const RecipeContent = ({ item, craftable, busy, mode, diet }) => {
)}
{(item.tool_paths || item.tool_behaviors) && (
-
+
{item.tool_paths &&
item.tool_paths.map((tool) => (
@@ -827,7 +827,7 @@ const RecipeContent = ({ item, craftable, busy, mode, diet }) => {
)}
{item.machinery && (
-
+
{item.machinery.map((atom_id) => (
))}
@@ -835,7 +835,7 @@ const RecipeContent = ({ item, craftable, busy, mode, diet }) => {
)}
{item.structures && (
-
+
{item.structures.map((atom_id) => (
))}
@@ -844,7 +844,7 @@ const RecipeContent = ({ item, craftable, busy, mode, diet }) => {
{!!item.steps?.length && (
-
+
{item.steps.map((step) => (
- {step}
@@ -862,7 +862,7 @@ const RecipeContent = ({ item, craftable, busy, mode, diet }) => {
) as any;
};
+
+// BANDASTATION EDIT START
+const TYPE_NAMES = {
+ 'Can Make': 'Можно сделать',
+ [Food.Alcohol]: 'Алкоголь',
+ [Food.Breakfast]: 'Завтраки',
+ [Food.Bugs]: 'Из жуков',
+ [Food.Cloth]: 'Из одежды',
+ [Food.Dairy]: 'Молочное',
+ [Food.Fried]: 'Жареное',
+ [Food.Fruit]: 'Фрукты',
+ [Food.Gore]: 'Месиво',
+ [Food.Grain]: 'Зерновое',
+ [Food.Gross]: 'Ужасное',
+ [Food.Junkfood]: 'Фастфуд',
+ [Food.Meat]: 'Мясное',
+ [Food.Nuts]: 'Орехи',
+ [Food.Oranges]: 'Апельсины',
+ [Food.Pineapple]: 'Ананасы',
+ [Food.Raw]: 'Сырое',
+ [Food.Seafood]: 'Морепродукты',
+ [Food.Stone]: 'Каменное',
+ [Food.Sugar]: 'Сахарное',
+ [Food.Toxic]: 'Токсичное',
+ [Food.Vegetables]: 'Овощи',
+} as const;
+
+const CATEGORY_NAMES = {
+ 'Can Make': 'Можно сделать',
+ 'Weapons Melee': 'Оружие: холодное',
+ 'Weapons Ranged': 'Оружие: дальнобойное',
+ 'Weapon Ammo': 'Оружие: патроны',
+ Robotics: 'Робототехника',
+ Misc: 'Прочее',
+ Tribal: 'Племенное',
+ Clothing: 'Одежда',
+ Drinks: 'Напитки',
+ Chemistry: 'Химия',
+ Atmospherics: 'Атмосферика',
+ Structures: 'Структуры',
+ Tiles: 'Полы',
+ Windows: 'Окна',
+ Doors: 'Двери',
+ Furniture: 'Мебель',
+ Equipment: 'Снаряжение',
+ Containers: 'Контейнеры',
+ Tools: 'Инструменты',
+ Entertainment: 'Развлечения',
+ 'Blood Cult': 'Культ крови',
+ Breads: 'Хлебобулочное',
+ Burgers: 'Бургеры',
+ Cakes: 'Торты',
+ 'Egg-Based Food': 'На основе яиц',
+ Frozen: 'Замороженное',
+ 'Lizard Food': 'Ящерская кухня',
+ Meats: 'Мясное',
+ 'Mexican Food': 'Мексиканская кухня',
+ 'Misc. Food': 'Прочее',
+ 'Mothic Food': 'Молиная кухня',
+ Pastries: 'Кондитерские изделия',
+ Pies: 'Пироги',
+ Pizzas: 'Пиццы',
+ Salads: 'Салаты',
+ Sandwiches: 'Сэндвичи',
+ Seafood: 'Морепродукты',
+ Soups: 'Супы',
+ Spaghettis: 'Спагетти',
+ 'Martian Food': 'Марсианская кухня',
+};