├── po_ver.txt
├── .gitignore
├── anim
├── mods_button.zip
└── text_sparkle.zip
├── images
├── inf_btn.tex
├── rlp_icon.tex
├── rus_group.tex
├── rus_wendy.tex
├── rus_wes.tex
├── rus_wiki.tex
├── text_bg.tex
├── vk_group.tex
├── rus_locked.tex
├── rus_mapgen.tex
├── rus_random.tex
├── rus_waxwell.tex
├── rus_webber.tex
├── rus_willow.tex
├── rus_wilson.tex
├── rus_woodie.tex
├── discord_button.tex
├── frontscreen_ru.tex
├── rlp_icon_beta.tex
├── rus_names_wes.tex
├── rus_names_wurt.tex
├── rus_names_wx78.tex
├── rus_wathgrithr.tex
├── rus_wolfgang.tex
├── tradescreen_ru.tex
├── warning_text.tex
├── rus_button_icon.tex
├── rus_names_random.tex
├── rus_names_walter.tex
├── rus_names_wanda.tex
├── rus_names_warly.tex
├── rus_names_webber.tex
├── rus_names_wendy.tex
├── rus_names_willow.tex
├── rus_names_wilson.tex
├── rus_names_winona.tex
├── rus_names_wonkey.tex
├── rus_names_woodie.tex
├── rus_names_wortox.tex
├── rus_wickerbottom.tex
├── rus_names_gold_wes.tex
├── rus_names_gold_wurt.tex
├── rus_names_gold_wx78.tex
├── rus_names_waxwell.tex
├── rus_names_wolfgang.tex
├── rus_names_wormwood.tex
├── rus_names_gold_random.tex
├── rus_names_gold_walter.tex
├── rus_names_gold_wanda.tex
├── rus_names_gold_warly.tex
├── rus_names_gold_webber.tex
├── rus_names_gold_wendy.tex
├── rus_names_gold_willow.tex
├── rus_names_gold_wilson.tex
├── rus_names_gold_winona.tex
├── rus_names_gold_wonkey.tex
├── rus_names_gold_woodie.tex
├── rus_names_gold_wortox.tex
├── rus_names_wathgrithr.tex
├── rus_names_gold_waxwell.tex
├── rus_names_gold_wolfgang.tex
├── rus_names_gold_wormwood.tex
├── rus_names_wickerbottom.tex
├── tradescreen_overflow_ru.tex
├── rus_names_gold_wathgrithr.tex
├── rus_names_gold_wickerbottom.tex
├── rus_locked.xml
├── rus_random.xml
├── rus_wes.xml
├── rus_webber.xml
├── rus_wendy.xml
├── rus_willow.xml
├── rus_wilson.xml
├── rus_woodie.xml
├── rus_waxwell.xml
├── inf_btn.xml
├── rus_group.xml
├── rus_wiki.xml
├── rus_wolfgang.xml
├── text_bg.xml
├── vk_group.xml
├── rus_wathgrithr.xml
├── rus_wickerbottom.xml
├── rus_names_wes.xml
├── rus_names_wurt.xml
├── rus_names_wx78.xml
├── warning_text.xml
├── rus_names_random.xml
├── rus_names_walter.xml
├── rus_names_wanda.xml
├── rus_names_warly.xml
├── rus_names_webber.xml
├── rus_names_wendy.xml
├── rus_names_willow.xml
├── rus_names_wilson.xml
├── rus_names_winona.xml
├── rus_names_wonkey.xml
├── rus_names_woodie.xml
├── rus_names_wortox.xml
├── rlp_icon.xml
├── rus_names_gold_wes.xml
├── rus_names_gold_wurt.xml
├── rus_names_gold_wx78.xml
├── rus_names_waxwell.xml
├── rus_names_gold_random.xml
├── rus_names_gold_walter.xml
├── rus_names_gold_wanda.xml
├── rus_names_gold_warly.xml
├── rus_names_gold_webber.xml
├── rus_names_gold_wendy.xml
├── rus_names_gold_willow.xml
├── rus_names_gold_wilson.xml
├── rus_names_gold_winona.xml
├── rus_names_gold_wonkey.xml
├── rus_names_gold_woodie.xml
├── rus_names_gold_wortox.xml
├── rus_names_wolfgang.xml
├── rus_names_wormwood.xml
├── discord_button.xml
├── rus_names_gold_waxwell.xml
├── rus_names_wathgrithr.xml
├── rus_names_gold_wolfgang.xml
├── rus_names_gold_wormwood.xml
├── rus_names_wickerbottom.xml
├── rus_button_icon.xml
├── rus_names_gold_wathgrithr.xml
├── rus_names_gold_wickerbottom.xml
├── rlp_icon_beta.xml
├── tradescreen_ru.xml
├── tradescreen_overflow_ru.xml
├── frontscreen_ru.xml
└── rus_mapgen.xml
├── fonts
├── bellefair50__ru.zip
├── buttonfont__ru.zip
├── opensans50__ru.zip
├── spirequal__ru.zip
├── stint-ucr20__ru.zip
├── stint-ucr50__ru.zip
├── talkingfont__ru.zip
├── hammerhead50__ru.zip
├── belisaplumilla50__ru.zip
├── old_bellefair50__ru.zip
├── spirequal_small__ru.zip
├── belisaplumilla100__ru.zip
├── spirequal_outline__ru.zip
├── talkingfont_hermit__ru.zip
├── bellefair_outline50__ru.zip
├── talkingfont_wormwood__ru.zip
├── old_bellefair_outline50__ru.zip
└── spirequal_outline_small__ru.zip
├── raw_exported
├── modicon.psd
├── rlp_icon.png
├── rlp_icon_beta.png
├── mods_button
│ ├── d
│ │ ├── D-0.png
│ │ └── D-1.png
│ ├── m
│ │ ├── M-0.png
│ │ └── M-1.png
│ ├── o
│ │ ├── O-0.png
│ │ └── O-1.png
│ └── bg
│ │ └── BG-0.png
└── text_sparkle
│ ├── sparkle
│ └── sparkle-0.png
│ └── text_sparkle.scml
├── scripts
├── prefabs
│ ├── rlp_fonts.lua
│ └── russian_assets.lua
├── ver_checker.lua
├── widgets
│ ├── vk_button.lua
│ ├── wiki_button.lua
│ ├── group_button.lua
│ ├── discord_btn.lua
│ ├── rlp_button.lua
│ ├── update_checker.lua
│ └── mod_settings_button.lua
├── rlp_debug.lua
├── screens
│ └── update_screen.lua
├── po_updater.lua
├── mod_rusification
│ ├── mods
│ │ ├── beefalo_milk.lua
│ │ ├── archery_mod.lua
│ │ ├── too_many_items.lua
│ │ ├── structures_and_more.lua
│ │ ├── steampunk.lua
│ │ ├── waiter_101.lua
│ │ ├── defaults_item_pack.lua
│ │ └── pickle_it.lua
│ └── transl
│ │ ├── hawaiian.lua
│ │ └── loving_evil.lua
├── rlp_pugna_speech.lua
├── rlp_fonts.lua
├── rlp_mod_support.lua
├── mod_translator.lua
├── history.txt
├── rlp_settings.lua
└── rlp_speech.lua
├── modinfo.lua
└── modmain.lua
/po_ver.txt:
--------------------------------------------------------------------------------
1 | 3.6.6
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | rlp_names.txt
2 | exported/**
3 |
--------------------------------------------------------------------------------
/anim/mods_button.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/anim/mods_button.zip
--------------------------------------------------------------------------------
/images/inf_btn.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/inf_btn.tex
--------------------------------------------------------------------------------
/images/rlp_icon.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rlp_icon.tex
--------------------------------------------------------------------------------
/images/rus_group.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_group.tex
--------------------------------------------------------------------------------
/images/rus_wendy.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_wendy.tex
--------------------------------------------------------------------------------
/images/rus_wes.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_wes.tex
--------------------------------------------------------------------------------
/images/rus_wiki.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_wiki.tex
--------------------------------------------------------------------------------
/images/text_bg.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/text_bg.tex
--------------------------------------------------------------------------------
/images/vk_group.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/vk_group.tex
--------------------------------------------------------------------------------
/anim/text_sparkle.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/anim/text_sparkle.zip
--------------------------------------------------------------------------------
/images/rus_locked.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_locked.tex
--------------------------------------------------------------------------------
/images/rus_mapgen.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_mapgen.tex
--------------------------------------------------------------------------------
/images/rus_random.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_random.tex
--------------------------------------------------------------------------------
/images/rus_waxwell.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_waxwell.tex
--------------------------------------------------------------------------------
/images/rus_webber.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_webber.tex
--------------------------------------------------------------------------------
/images/rus_willow.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_willow.tex
--------------------------------------------------------------------------------
/images/rus_wilson.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_wilson.tex
--------------------------------------------------------------------------------
/images/rus_woodie.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_woodie.tex
--------------------------------------------------------------------------------
/fonts/bellefair50__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/bellefair50__ru.zip
--------------------------------------------------------------------------------
/fonts/buttonfont__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/buttonfont__ru.zip
--------------------------------------------------------------------------------
/fonts/opensans50__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/opensans50__ru.zip
--------------------------------------------------------------------------------
/fonts/spirequal__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/spirequal__ru.zip
--------------------------------------------------------------------------------
/fonts/stint-ucr20__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/stint-ucr20__ru.zip
--------------------------------------------------------------------------------
/fonts/stint-ucr50__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/stint-ucr50__ru.zip
--------------------------------------------------------------------------------
/fonts/talkingfont__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/talkingfont__ru.zip
--------------------------------------------------------------------------------
/images/discord_button.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/discord_button.tex
--------------------------------------------------------------------------------
/images/frontscreen_ru.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/frontscreen_ru.tex
--------------------------------------------------------------------------------
/images/rlp_icon_beta.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rlp_icon_beta.tex
--------------------------------------------------------------------------------
/images/rus_names_wes.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wes.tex
--------------------------------------------------------------------------------
/images/rus_names_wurt.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wurt.tex
--------------------------------------------------------------------------------
/images/rus_names_wx78.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wx78.tex
--------------------------------------------------------------------------------
/images/rus_wathgrithr.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_wathgrithr.tex
--------------------------------------------------------------------------------
/images/rus_wolfgang.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_wolfgang.tex
--------------------------------------------------------------------------------
/images/tradescreen_ru.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/tradescreen_ru.tex
--------------------------------------------------------------------------------
/images/warning_text.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/warning_text.tex
--------------------------------------------------------------------------------
/raw_exported/modicon.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/modicon.psd
--------------------------------------------------------------------------------
/raw_exported/rlp_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/rlp_icon.png
--------------------------------------------------------------------------------
/fonts/hammerhead50__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/hammerhead50__ru.zip
--------------------------------------------------------------------------------
/images/rus_button_icon.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_button_icon.tex
--------------------------------------------------------------------------------
/images/rus_names_random.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_random.tex
--------------------------------------------------------------------------------
/images/rus_names_walter.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_walter.tex
--------------------------------------------------------------------------------
/images/rus_names_wanda.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wanda.tex
--------------------------------------------------------------------------------
/images/rus_names_warly.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_warly.tex
--------------------------------------------------------------------------------
/images/rus_names_webber.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_webber.tex
--------------------------------------------------------------------------------
/images/rus_names_wendy.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wendy.tex
--------------------------------------------------------------------------------
/images/rus_names_willow.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_willow.tex
--------------------------------------------------------------------------------
/images/rus_names_wilson.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wilson.tex
--------------------------------------------------------------------------------
/images/rus_names_winona.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_winona.tex
--------------------------------------------------------------------------------
/images/rus_names_wonkey.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wonkey.tex
--------------------------------------------------------------------------------
/images/rus_names_woodie.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_woodie.tex
--------------------------------------------------------------------------------
/images/rus_names_wortox.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wortox.tex
--------------------------------------------------------------------------------
/images/rus_wickerbottom.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_wickerbottom.tex
--------------------------------------------------------------------------------
/fonts/belisaplumilla50__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/belisaplumilla50__ru.zip
--------------------------------------------------------------------------------
/fonts/old_bellefair50__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/old_bellefair50__ru.zip
--------------------------------------------------------------------------------
/fonts/spirequal_small__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/spirequal_small__ru.zip
--------------------------------------------------------------------------------
/images/rus_names_gold_wes.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wes.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_wurt.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wurt.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_wx78.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wx78.tex
--------------------------------------------------------------------------------
/images/rus_names_waxwell.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_waxwell.tex
--------------------------------------------------------------------------------
/images/rus_names_wolfgang.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wolfgang.tex
--------------------------------------------------------------------------------
/images/rus_names_wormwood.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wormwood.tex
--------------------------------------------------------------------------------
/raw_exported/rlp_icon_beta.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/rlp_icon_beta.png
--------------------------------------------------------------------------------
/fonts/belisaplumilla100__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/belisaplumilla100__ru.zip
--------------------------------------------------------------------------------
/fonts/spirequal_outline__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/spirequal_outline__ru.zip
--------------------------------------------------------------------------------
/fonts/talkingfont_hermit__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/talkingfont_hermit__ru.zip
--------------------------------------------------------------------------------
/images/rus_names_gold_random.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_random.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_walter.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_walter.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_wanda.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wanda.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_warly.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_warly.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_webber.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_webber.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_wendy.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wendy.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_willow.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_willow.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_wilson.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wilson.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_winona.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_winona.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_wonkey.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wonkey.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_woodie.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_woodie.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_wortox.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wortox.tex
--------------------------------------------------------------------------------
/images/rus_names_wathgrithr.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wathgrithr.tex
--------------------------------------------------------------------------------
/fonts/bellefair_outline50__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/bellefair_outline50__ru.zip
--------------------------------------------------------------------------------
/fonts/talkingfont_wormwood__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/talkingfont_wormwood__ru.zip
--------------------------------------------------------------------------------
/images/rus_names_gold_waxwell.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_waxwell.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_wolfgang.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wolfgang.tex
--------------------------------------------------------------------------------
/images/rus_names_gold_wormwood.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wormwood.tex
--------------------------------------------------------------------------------
/images/rus_names_wickerbottom.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_wickerbottom.tex
--------------------------------------------------------------------------------
/images/tradescreen_overflow_ru.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/tradescreen_overflow_ru.tex
--------------------------------------------------------------------------------
/raw_exported/mods_button/d/D-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/mods_button/d/D-0.png
--------------------------------------------------------------------------------
/raw_exported/mods_button/d/D-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/mods_button/d/D-1.png
--------------------------------------------------------------------------------
/raw_exported/mods_button/m/M-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/mods_button/m/M-0.png
--------------------------------------------------------------------------------
/raw_exported/mods_button/m/M-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/mods_button/m/M-1.png
--------------------------------------------------------------------------------
/raw_exported/mods_button/o/O-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/mods_button/o/O-0.png
--------------------------------------------------------------------------------
/raw_exported/mods_button/o/O-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/mods_button/o/O-1.png
--------------------------------------------------------------------------------
/fonts/old_bellefair_outline50__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/old_bellefair_outline50__ru.zip
--------------------------------------------------------------------------------
/fonts/spirequal_outline_small__ru.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/fonts/spirequal_outline_small__ru.zip
--------------------------------------------------------------------------------
/images/rus_names_gold_wathgrithr.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wathgrithr.tex
--------------------------------------------------------------------------------
/raw_exported/mods_button/bg/BG-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/mods_button/bg/BG-0.png
--------------------------------------------------------------------------------
/images/rus_names_gold_wickerbottom.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/images/rus_names_gold_wickerbottom.tex
--------------------------------------------------------------------------------
/scripts/prefabs/rlp_fonts.lua:
--------------------------------------------------------------------------------
1 | return function(assets)
2 | return Prefab("RLP_fonts", function() return CreateEntity() end, assets)
3 | end
4 |
--------------------------------------------------------------------------------
/raw_exported/text_sparkle/sparkle/sparkle-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CunningFox146/RLP/HEAD/raw_exported/text_sparkle/sparkle/sparkle-0.png
--------------------------------------------------------------------------------
/images/rus_locked.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_random.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_wes.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_webber.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_wendy.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_willow.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_wilson.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_woodie.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_waxwell.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/inf_btn.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_group.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_wiki.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_wolfgang.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/text_bg.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/vk_group.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_wathgrithr.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_wickerbottom.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wes.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wurt.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wx78.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/warning_text.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_random.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_walter.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wanda.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_warly.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_webber.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wendy.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_willow.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wilson.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_winona.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wonkey.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_woodie.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wortox.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rlp_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wes.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wurt.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wx78.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_waxwell.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_random.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_walter.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wanda.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_warly.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_webber.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wendy.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_willow.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wilson.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_winona.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wonkey.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_woodie.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wortox.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wolfgang.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wormwood.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/discord_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/images/rus_names_gold_waxwell.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wathgrithr.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wolfgang.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wormwood.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_wickerbottom.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_button_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wathgrithr.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rus_names_gold_wickerbottom.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/rlp_icon_beta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/images/tradescreen_ru.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/images/tradescreen_overflow_ru.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/images/frontscreen_ru.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/images/rus_mapgen.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/scripts/ver_checker.lua:
--------------------------------------------------------------------------------
1 | local t = mods.RussianLanguagePack
2 | local VerChecker = {
3 | URL = "https://raw.githubusercontent.com/CunningFox146/RLP/"..(t.IsBeta and "wip" or "master").."/modinfo.lua",
4 | }
5 |
6 | -- local VerChecker = require("ver_checker") VerChecker:GetVersion(function(data) print(data) end)
7 | function VerChecker:LoadVersion(fn)
8 | print("[RLP VerChecker] Downloading mod version")
9 | TheSim:QueryServer(self.URL, function (result, isSuccessful, resultCode)
10 | if resultCode ~= 200 or not isSuccessful or #result < 1 then
11 | print("[RLP VerChecker]: Server Error", resultCode, isSuccessful)
12 | return
13 | end
14 |
15 | local anim = (result:match("version = [%S]+"))
16 | self.data = anim and (anim:gsub("version = ", "")):sub(2, -2)
17 |
18 | if fn then
19 | fn(self.data)
20 | end
21 | print("[RLP VerChecker] Done!")
22 | end, "GET")
23 | end
24 |
25 | function VerChecker:GetVersion(fn)
26 | if self.data then
27 | fn(self.data)
28 | end
29 |
30 | -- Продолжаем проверку. Вдруг мы обновились за это время?
31 | self:LoadVersion(not self.data and fn)
32 | end
33 |
34 | return VerChecker
35 |
--------------------------------------------------------------------------------
/scripts/widgets/vk_button.lua:
--------------------------------------------------------------------------------
1 | local t = mods.RussianLanguagePack
2 |
3 | local Widget = require "widgets/widget"
4 | local ImageButton = require "widgets/imagebutton"
5 |
6 | local VKButton = Class(Widget, function(self)
7 | Widget._ctor(self, "RLPVKButton")
8 |
9 | self.btn = self:AddChild(ImageButton("images/vk_group.xml", "vk_group.tex", nil, nil, nil, nil, {1,1}, {0,0}))
10 | self.btn.image:SetPosition(-12, 0)
11 |
12 | self.btn.highlight = self.btn:AddChild(Image("images/frontend.xml", "button_square_highlight.tex"))
13 | self.btn.highlight:SetScale(1.5)
14 | self.btn.highlight:SetClickable(false)
15 | self.btn.highlight:Hide()
16 |
17 | self.btn:SetText("Группа\nВКонтакте")
18 | self.btn:SetTextSize(25)
19 | self.btn.text:SetPosition(-12, -80)
20 | self.btn:SetFont(CHATFONT)
21 | self.btn:SetTextColour({.7,.7,.7,1})
22 | self.btn:SetTextFocusColour({1,1,1,1})
23 | self.btn.scale_on_focus = false
24 |
25 | self.btn:SetOnClick(function()
26 | VisitURL("https://vk.com/kleientertainment")
27 | end)
28 |
29 | self.btn:SetOnGainFocus(function()
30 | if self.btn:IsEnabled() and not self.btn:IsSelected() and TheFrontEnd:GetFadeLevel() <= 0 then
31 | self.btn.highlight:Show()
32 | end
33 | end)
34 |
35 | self.btn:SetOnLoseFocus(function()
36 | self.btn.highlight:Hide()
37 | end)
38 | end)
39 |
40 | return VKButton
41 |
--------------------------------------------------------------------------------
/scripts/widgets/wiki_button.lua:
--------------------------------------------------------------------------------
1 | local t = mods.RussianLanguagePack
2 |
3 | local Widget = require "widgets/widget"
4 | local ImageButton = require "widgets/imagebutton"
5 |
6 | local WikiButton = Class(Widget, function(self)
7 | Widget._ctor(self, "RLPWikiButton")
8 |
9 | self.btn = self:AddChild(ImageButton("images/rus_wiki.xml", "rus_wiki.tex", nil, nil, nil, nil, {1,1}, {0,0}))
10 | self.btn.image:SetPosition(-12, 0)
11 |
12 | self.btn.highlight = self.btn:AddChild(Image("images/frontend.xml", "button_square_highlight.tex"))
13 | self.btn.highlight:SetScale(1.5)
14 | self.btn.highlight:SetClickable(false)
15 | self.btn.highlight:Hide()
16 |
17 | self.btn:SetText("Don't Starve\nВики")
18 | self.btn:SetTextSize(25)
19 | self.btn.text:SetPosition(-12, -80)
20 | self.btn:SetFont(CHATFONT)
21 | self.btn:SetTextColour({.7,.7,.7,1})
22 | self.btn:SetTextFocusColour({1,1,1,1})
23 | self.btn.scale_on_focus = false
24 |
25 | self.btn:SetOnClick(function()
26 | VisitURL("http://ru.dont-starve.wikia.com")
27 | end)
28 |
29 | self.btn:SetOnGainFocus(function()
30 | if self.btn:IsEnabled() and not self.btn:IsSelected() and TheFrontEnd:GetFadeLevel() <= 0 then
31 | self.btn.highlight:Show()
32 | end
33 | end)
34 |
35 | self.btn:SetOnLoseFocus(function()
36 | self.btn.highlight:Hide()
37 | end)
38 | end)
39 |
40 | return WikiButton
41 |
--------------------------------------------------------------------------------
/scripts/widgets/group_button.lua:
--------------------------------------------------------------------------------
1 | local t = mods.RussianLanguagePack
2 |
3 | local Widget = require "widgets/widget"
4 | local ImageButton = require "widgets/imagebutton"
5 |
6 | local GroupButton = Class(Widget, function(self)
7 | Widget._ctor(self, "RLPGroupButton")
8 |
9 | self.btn = self:AddChild(ImageButton("images/rus_group.xml", "rus_group.tex", nil, nil, nil, nil, {1,1}, {0,0}))
10 | self.btn.image:SetPosition(-12, 0)
11 |
12 | self.btn.highlight = self.btn:AddChild(Image("images/frontend.xml", "button_square_highlight.tex"))
13 | self.btn.highlight:SetScale(1.5)
14 | self.btn.highlight:SetClickable(false)
15 | self.btn.highlight:Hide()
16 |
17 | self.btn:SetText("Группа\nSteam")
18 | self.btn:SetTextSize(25)
19 | self.btn.text:SetPosition(-12, -80)
20 | self.btn:SetFont(CHATFONT)
21 | self.btn:SetTextColour({.7,.7,.7,1})
22 | self.btn:SetTextFocusColour({1,1,1,1})
23 | self.btn.scale_on_focus = false
24 |
25 | self.btn:SetOnClick(function()
26 | VisitURL("http://steamcommunity.com/groups/DSTRUS")
27 | end)
28 |
29 | self.btn:SetOnGainFocus(function()
30 | if self.btn:IsEnabled() and not self.btn:IsSelected() and TheFrontEnd:GetFadeLevel() <= 0 then
31 | self.btn.highlight:Show()
32 | end
33 | end)
34 |
35 | self.btn:SetOnLoseFocus(function()
36 | self.btn.highlight:Hide()
37 | end)
38 | end)
39 |
40 | return GroupButton
41 |
--------------------------------------------------------------------------------
/scripts/widgets/discord_btn.lua:
--------------------------------------------------------------------------------
1 | local t = mods.RussianLanguagePack
2 |
3 | local Widget = require "widgets/widget"
4 | local ImageButton = require "widgets/imagebutton"
5 | local UpdateScreen = require "screens/update_screen"
6 |
7 | local EyeButton = Class(Widget, function(self)
8 | Widget._ctor(self, "RLPEyeButton")
9 |
10 | self.btn = self:AddChild(ImageButton("images/discord_button.xml", "discord_button.tex", nil, nil, nil, nil, {1,1}, {0,0}))
11 | self.btn.image:SetPosition(-12, 0)
12 |
13 | self.btn.highlight = self.btn:AddChild(Image("images/frontend.xml", "button_square_highlight.tex"))
14 | self.btn.highlight:SetScale(1.5)
15 | self.btn.highlight:SetClickable(false)
16 | self.btn.highlight:Hide()
17 |
18 | self.btn:SetText("Наш\nDiscord сервер")
19 | self.btn:SetTextSize(25)
20 | self.btn.text:SetPosition(-12, -80)
21 | self.btn:SetFont(CHATFONT)
22 | self.btn:SetTextColour({.7,.7,.7,1})
23 | self.btn:SetTextFocusColour({1,1,1,1})
24 | self.btn.scale_on_focus = false
25 |
26 | self.btn:SetOnClick(function()
27 | VisitURL("https://discord.gg/eHEgH3xSF8")
28 | end)
29 |
30 | self.btn:SetOnGainFocus(function()
31 | if self.btn:IsEnabled() and not self.btn:IsSelected() and TheFrontEnd:GetFadeLevel() <= 0 then
32 | self.btn.highlight:Show()
33 | end
34 | end)
35 |
36 | self.btn:SetOnLoseFocus(function()
37 | self.btn.highlight:Hide()
38 | end)
39 | end)
40 |
41 | return EyeButton
42 |
--------------------------------------------------------------------------------
/scripts/rlp_debug.lua:
--------------------------------------------------------------------------------
1 | local t = mods.RussianLanguagePack
2 | local rebuildname = t.rebuildname
3 |
4 | function testname(name, key, rtrn)
5 | local str = ""
6 | local function add(txt) str = str .. txt .. "\n" end
7 | if name and (not key) and type(name)=="string" and rawget(STRINGS.NAMES, name:upper()) then key=name:upper() name=STRINGS.NAMES[key] end
8 |
9 | add("Идти к "..rebuildname(name,"WALKTO", key))
10 | add("Осмотреть "..rebuildname(name,"DEFAULTACTION", key))
11 | if key then
12 | add("Был убит "..rebuildname(name,"KILL",key))
13 | end
14 | add("Сменить скин у "..rebuildname(name,"reskin", key))
15 |
16 | if rtrn then
17 | return str
18 | end
19 | print(str)
20 | end
21 |
22 | --Сохраняет в файле fn все имена с действием, указанным в параметре action)
23 | function debugnames(name, mode)
24 | local filename = t.StorePath..(name or "rlp_names")..".txt"
25 | local str1,str2
26 | local names={}
27 | local f=assert(io.open(filename, "w"))
28 | for k, v in pairs(STRINGS.NAMES) do
29 | if type(v) == "table" and not v[1] then
30 | print("skipped", k)
31 | else
32 | f:write(string.format((mode and "#. STRINGS.NAMES.%s\n" or "\n*********************************\nПеревод %s (%s)\n"), mode and k:upper() or k, type(v) == "table" and v[1] or v))
33 | f:write(testname(k, nil, true))
34 | end
35 | end
36 | f:close()
37 | end
38 |
39 | function DumpModPhrases() printwrap("t.mod_phrases", t.mod_phrases) end
--------------------------------------------------------------------------------
/scripts/widgets/rlp_button.lua:
--------------------------------------------------------------------------------
1 | local Widget = require "widgets/widget"
2 | local ImageButton = require "widgets/imagebutton"
3 |
4 | local LanguageOptions = require "screens/LanguageOptions"
5 |
6 | local OFFSET = -5.5
7 |
8 | local RLPButton = Class(Widget, function(self)
9 | Widget._ctor(self, "RLPButton")
10 |
11 | self.btn = self:AddChild(ImageButton("images/global_redux.xml",
12 | "button_carny_square_normal.tex",
13 | "button_carny_square_hover.tex",
14 | "button_carny_square_disabled.tex",
15 | "button_carny_square_down.tex"))
16 |
17 | self.btn:SetFocusScale(1.05, 1.05, 1.05)
18 | self.btn:SetNormalScale(.7, .7, 1)
19 |
20 | self.btn.icon = self.btn:AddChild(Image("images/button_icons.xml", "mods.tex", "mods.tex"))
21 | self.btn.icon:SetPosition(-5,4)
22 | self.btn.icon:SetScale(.16)
23 | self.btn.icon:SetClickable(false)
24 |
25 | self.btn:SetTextSize(25)
26 | self.btn:SetText("Настроить\nрусификатор.", true)
27 | self.btn.text:SetPosition(-3, -34 + OFFSET)
28 | self.btn.text_shadow:SetPosition(-5, -36 + OFFSET)
29 | self.btn:SetFont(NEWFONT_OUTLINE)
30 | self.btn:SetTextColour(UICOLOURS.GOLD)
31 | self.btn:SetTextFocusColour(UICOLOURS.GOLD)
32 |
33 | self.btn:SetOnClick(function()
34 | TheFrontEnd:GetSound():KillSound("FEMusic")
35 | TheFrontEnd:GetSound():KillSound("FEPortalSFX")
36 | TheFrontEnd:GetSound():PlaySound("dontstarve/music/gramaphone_ragtime", "rlp_ragtime")
37 |
38 | TheFrontEnd:FadeToScreen(TheFrontEnd:GetActiveScreen(), function() return LanguageOptions() end)
39 | end)
40 | end)
41 |
42 | return RLPButton
43 |
--------------------------------------------------------------------------------
/modinfo.lua:
--------------------------------------------------------------------------------
1 | name = "Russification Pack for DST"
2 | version = "3.6.6"
3 |
4 | local desc = {
5 | en = "\nThe best russian localization at the moment. Source code was taken from the Russian Language Pack. Special thanks to Some1 and Alevastor!\n\nVersion: "..version,
6 | ru = "\nЛучший русификатор на данный момент. Код для базы был взят из мода Russian Language Pack. Огромное спасибо Some1'у и Alevastor'у за проделанную работу!\n\nНовый логотип был сделан Globalastick'ом.\n\t\nВерсия: "..version
7 | }
8 |
9 | language = language or "en"
10 | description = desc[language] or desc["en"]
11 |
12 | name = language == "ru" and "Русификатор для DST" or "Russification Pack for DST"
13 |
14 | folder_name = folder_name or "workshop-"
15 | is_beta = version:find("beta")
16 | git_build = not folder_name:find("workshop-")
17 |
18 | if is_beta then
19 | name = (language == "ru" and "[Бета]" or "[Beta]") .. name
20 | end
21 |
22 | if git_build then
23 | name = name.." (GitHub "..(language == "ru" and "Версия" or "Version")..")"
24 | description = description.."\n\n" .. (language == "ru" and "Не забывайте обновлять мод вручную!" or "Don't forget to update RLP manually!")
25 | end
26 |
27 | author = "Cunning fox, 何も, FruitShake, stew, F0xAn, MrM" --Макс. 67 символов
28 |
29 | forumthread = ""
30 |
31 | api_version = 10
32 |
33 | local icon_name = is_beta and "rlp_icon_beta" or "rlp_icon"
34 | icon_atlas = "images/"..icon_name..".xml"
35 | icon = icon_name..".tex"
36 |
37 | priority = 2023
38 |
39 | dont_starve_compatible = false
40 | dst_compatible = true
41 |
42 | client_only_mod = true
43 |
44 | forge_compatible = true
45 | gorge_compatible = true
46 |
--------------------------------------------------------------------------------
/scripts/widgets/update_checker.lua:
--------------------------------------------------------------------------------
1 | local Widget = require "widgets/widget"
2 | local Text = require "widgets/text"
3 | local TEMPLATES = require "widgets/redux/templates"
4 | local ModsScreen = require "screens/redux/modsscreen"
5 |
6 | local t = mods.RussianLanguagePack
7 |
8 | local COLOUR_RED = {255/255, 25/255, 0, 1}
9 |
10 | local UpdateChecker = Class(Widget, function(self)
11 | Widget._ctor(self, "UpdateChecker")
12 |
13 | self.bg = self:AddChild(TEMPLATES.RectangleWindow(175, 250, "Внимание!",
14 | {
15 | { text = "Обновить!", cb = function()
16 | if not t.IsLive then
17 | VisitURL(t.Repository)
18 | else
19 | TheFrontEnd:FadeToScreen(TheFrontEnd:GetActiveScreen(), function() return ModsScreen() end)
20 | end
21 | end},
22 | },
23 | nil, "Вам нужно обновить русификатор! Последняя версия:"))
24 |
25 | local r, g, b = unpack(UICOLOURS.BROWN_DARK)
26 | self.bg:SetBackgroundTint(r, g, b, 1)
27 |
28 | if self.bg.actions then
29 | self.bg.actions:SetPosition(0, 35)
30 | end
31 |
32 | if self.bg.body then
33 | self.bg.body:SetPosition(0, 25)
34 | end
35 |
36 | self.last_ver_text = self.bg:AddChild(Text(HEADERFONT, 50))
37 | self.last_ver_text:SetRegionSize(185, 200)
38 | self.last_ver_text:SetPosition(0, -60)
39 |
40 | self:Hide()
41 |
42 | self:SyncVersion()
43 | end)
44 |
45 | function UpdateChecker:SyncVersion()
46 | t.VerChecker:GetVersion(function(ver)
47 | if ver and t.modinfo.version ~= ver then
48 | self.last_ver_text:SetString(t.IsBeta and ver:gsub("_beta", "") or ver)
49 | self.last_ver_text:SetColour(COLOUR_RED)
50 |
51 | self:Show()
52 | self.bg:MoveTo(Vector3(500, 0, 0), Vector3(0, 0, 0), .5)
53 | end
54 | end)
55 | end
56 |
57 |
58 | return UpdateChecker
--------------------------------------------------------------------------------
/modmain.lua:
--------------------------------------------------------------------------------
1 | env._G = GLOBAL
2 |
3 | mods = _G.rawget(_G, "mods")
4 | if not mods then
5 | mods = {}
6 | _G.rawset(_G, "mods", mods)
7 | end
8 | _G.mods = mods
9 |
10 | PrefabFiles = {
11 | "russian_assets"
12 | }
13 |
14 | local IsBeta = modinfo.is_beta
15 | local IsLive = MODROOT:find("workshop-") ~= nil
16 | local SteamID = IsBeta and "2286791724" or "1240565842"
17 |
18 | mods.RussianLanguagePack = {
19 | modinfo = modinfo,
20 |
21 | StorePath = MODROOT,
22 |
23 | mod_phrases = {},
24 | mod_announce = {},
25 |
26 | debug = nil,
27 | print = function(...) if mods.RussianLanguagePack.debug then print("[RLP_DEBUG]", ...) end end,
28 |
29 | UpdateLogFileName = "updatelog.txt",
30 | MainPOfilename = "DST.po",
31 | ModsPOfilename = "MODS.po",
32 | TranslationTypes = {Full = "1", FontsOnly = "0"},
33 | ModTranslationTypes = {Enabled = "1", Disabled = "0"},
34 | CurrentTranslationType = nil,
35 | IsModTranslEnabled = nil,
36 | SteamID = SteamID,
37 | Repository = "https://github.com/CunningFox146/RLP/tree/"..(IsBeta and "wip" or "master"),
38 | SteamURL = "http://steamcommunity.com/sharedfiles/filedetails/?id="..SteamID,
39 | DiscordURL = "https://discord.gg/eHEgH3xSF8",
40 | SelectedLanguage = "ru",
41 |
42 | --Склонения
43 | AdjectiveCaseTags = {
44 | nominative = "nom", --Именительный Кто/что
45 | accusative = "acc", --Винительный Кого/что
46 | dative = "dat", --Дательный Кому/чему
47 | ablative = "abl", --Творительный Кем/чем
48 | genitive = "gen", --Родительный Кого/чего
49 | vocative = "voc", --Звательный
50 | locative = "loc", --Предложный О ком/о чём
51 | instrumental = "ins"--unused
52 | },
53 | DefaultActionCase = "accusative",
54 |
55 | IsBeta = IsBeta,
56 | IsLive = IsLive,
57 | }
58 |
59 | print("About to load RLP ver. ", modinfo.version)
60 |
61 | modimport("scripts/rlp_main.lua")
62 |
--------------------------------------------------------------------------------
/raw_exported/text_sparkle/text_sparkle.scml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/scripts/screens/update_screen.lua:
--------------------------------------------------------------------------------
1 | local GenericWaitingPopup = require "screens/redux/genericwaitingpopup"
2 | local PopupDialogScreen = require "screens/redux/popupdialog"
3 |
4 | local UpdateScreen = Class(GenericWaitingPopup, function(self)
5 | GenericWaitingPopup._ctor(self, "UpdateScreen", "Скачивание обновления")
6 |
7 | if POUpdater:IsDisabled() then
8 | self.inst:DoTaskInTime(0, function()
9 | TheFrontEnd:PopScreen(self)
10 | TheFrontEnd:PushScreen(PopupDialogScreen("Обновление невозможно",
11 | "Вы находитесь на GitHub версии. Пожалуйста, обновите мод вручную, или используйте версию из воркшопа.",
12 | {
13 | {text="Понятно", cb = function()
14 | TheFrontEnd:PopScreen()
15 | end},
16 | }
17 | ))
18 | end)
19 | else
20 | self.dialog.title:SetString("Проверка версии")
21 |
22 | POUpdater:ShouldUpdate(function(val)
23 | if val then
24 | self.dialog.title:SetString("Скачивание обновления")
25 |
26 | local function OnUpdateDone(_, updated)
27 | self.inst:RemoveEventCallback("rlp_updated", OnUpdateDone, TheGlobalInstance)
28 |
29 | TheFrontEnd:PopScreen(self)
30 | TheFrontEnd:PushScreen(PopupDialogScreen("Обновление завершено", updated and
31 | "Перевод успешно загружен. Для того, чтобы изменения вступили в силу, необходимо перезапустить игру." or
32 | "Не удалось обновить перевод. Перезапустите игру и попробуйте еще раз.",
33 | {
34 | {text="Продолжить", cb = function()
35 | if updated then
36 | SimReset()
37 | end
38 | TheFrontEnd:PopScreen()
39 | end},
40 | }
41 | ))
42 | end
43 |
44 | self.inst:ListenForEvent("rlp_updated", OnUpdateDone, TheGlobalInstance)
45 | POUpdater:StartUpdating(true)
46 | else
47 | TheFrontEnd:PopScreen(self)
48 | TheFrontEnd:PushScreen(PopupDialogScreen("Перевод уже обновлен",
49 | "У вас уже и так установлена последняя версия перевода",
50 | {
51 | {text="Ура!", cb = function()
52 | TheFrontEnd:PopScreen()
53 | end},
54 | }
55 | ))
56 | end
57 | end)
58 |
59 | POUpdater:StartUpdating()
60 | end
61 | end)
62 |
63 | function UpdateScreen:OnCancel()
64 | self:Disable()
65 | POUpdater:CancelDownloading()
66 | TheFrontEnd:PopScreen()
67 | end
68 |
69 | return UpdateScreen
70 |
--------------------------------------------------------------------------------
/scripts/po_updater.lua:
--------------------------------------------------------------------------------
1 | local t = mods.RussianLanguagePack
2 | local LINK = "https://raw.githubusercontent.com/CunningFox146/RLP/".. (t.IsBeta and "wip" or "master") .. "/"
3 | local POUpdater = {
4 | VER_URL = LINK.."po_ver.txt",
5 | URL = LINK.."DST.po",
6 |
7 | git_ver = "0.0",
8 |
9 | disabled = true,
10 | }
11 |
12 | function POUpdater:StartUpdating(auto)
13 | if self.disabled then
14 | print("[PO Updater] Disabling updating. We're on git branch")
15 | return
16 | end
17 |
18 | POUpdater.iscanceled = nil
19 | TheSim:QueryServer(POUpdater.URL, function (result, isSuccessful, resultCode)
20 | if resultCode ~= 200 or not isSuccessful or #result < 1 or POUpdater.iscanceled then
21 | TheGlobalInstance:PushEvent("rlp_updated", false)
22 | return
23 | end
24 |
25 | local f = io.open(t.StorePath..t.MainPOfilename, "w")
26 | if f then
27 | f:write(result)
28 | f:close()
29 | print("[PO Updater] PO file was updated")
30 | else
31 | print("[PO Updater] Failed to write PO file")
32 | end
33 |
34 | local ver_f = io.open(t.StorePath.."po_ver.txt", "w")
35 | if ver_f then
36 | ver_f:write(self.git_ver)
37 | ver_f:close()
38 | else
39 | print("[PO Updater]: Error: failed to save PO version")
40 | end
41 |
42 | TheGlobalInstance:PushEvent("rlp_updated", f ~= nil)
43 | end, "GET")
44 | end
45 |
46 | function POUpdater:GetGitVer(fn)
47 | TheSim:QueryServer(self.VER_URL, function (result, isSuccessful, resultCode)
48 | if resultCode ~= 200 or not isSuccessful or #result < 1 then
49 | print("[PO Updater] Failed to get PO version")
50 | fn()
51 | return
52 | end
53 |
54 | fn(result)
55 |
56 | print("[PO Updater] Got PO version", result)
57 | end, "GET")
58 | end
59 |
60 | function POUpdater:ShouldUpdate(fn)
61 | self:GetGitVer(function(ver)
62 | local f = io.open(t.StorePath.."po_ver.txt", "r")
63 | if f then
64 | local curr_ver = f:read("*all")
65 | f:close()
66 | if ver and curr_ver and ver ~= curr_ver then
67 | self.git_ver = ver
68 | fn(true)
69 | else
70 | fn(false)
71 | end
72 | else
73 | print("[PO Updater] Failed to open version file")
74 | fn(false)
75 | end
76 | end)
77 | end
78 |
79 | function POUpdater:CancelDownloading()
80 | self.iscanceled = true
81 | end
82 |
83 | function POUpdater:IsDisabled()
84 | return self.disabled
85 | end
86 |
87 | return POUpdater
--------------------------------------------------------------------------------
/scripts/mod_rusification/mods/beefalo_milk.lua:
--------------------------------------------------------------------------------
1 | RenameAction("MILK","Доить")
2 |
3 | pp("Ow! It kicked me!", "Ай! Она лягнула меня!")
4 |
5 | ch_nm("RAWMILK","Парное молоко","it")
6 | ch_nm("COOKEDMILK","Топлёное молоко","it")
7 | nm.CHEESE = "Сыр"
8 | ch_nm("BERRYSHAKE","Молочно-фруктовый коктейль",1,"Молочно-фруктовому коктейлю",1)
9 |
10 | pp("I can't drink it just like this.","Сначала надо прокипятить.")
11 | pp("Thank you beefalo.", "Спасибо, бифало, за свежее молочко.")
12 | pp("Was worth waiting for it.", "Не зря пришлось так долго ждать.")
13 | pp("Still cold to the touch.","Всё ещё холодный.")
14 |
15 |
16 | STRINGS.CHARACTERS.WENDY.DESCRIBE.BERRYSHAKE = "Освежающий и холодный, как я."
17 | STRINGS.CHARACTERS.WICKERBOTTOM.DESCRIBE.BERRYSHAKE = "Прекрасная награда за жаркий день."
18 | STRINGS.CHARACTERS.WILLOW.DESCRIBE.BERRYSHAKE = "Он холодный, и поэтому мне не нравится."
19 | STRINGS.CHARACTERS.WOLFGANG.DESCRIBE.BERRYSHAKE = "Может удалить жажду Вольфганга."
20 | STRINGS.CHARACTERS.WX78.DESCRIBE.BERRYSHAKE = "ОСТУЖАЕТ ОРГАНИЗМ."
21 | STRINGS.CHARACTERS.WAXWELL.DESCRIBE.BERRYSHAKE = "Вкусно до последней капли."
22 | STRINGS.CHARACTERS.WOODIE.DESCRIBE.BERRYSHAKE = "Люси всегда любила коктейли. Незнаю, почему."
23 |
24 | STRINGS.CHARACTERS.WENDY.DESCRIBE.RAWMILK = "Детёнышам ничего не осталось."
25 | STRINGS.CHARACTERS.WICKERBOTTOM.DESCRIBE.RAWMILK = "Кишит бактериями."
26 | STRINGS.CHARACTERS.WILLOW.DESCRIBE.RAWMILK = "Полезно, только в жару."
27 | STRINGS.CHARACTERS.WOLFGANG.DESCRIBE.RAWMILK = "Там плавает волос."
28 | STRINGS.CHARACTERS.WX78.DESCRIBE.RAWMILK = "ПОЛУЧЕНО МНОЮ ОТ ПРИРОДЫ."
29 | STRINGS.CHARACTERS.WAXWELL.DESCRIBE.RAWMILK = "Противно."
30 | STRINGS.CHARACTERS.WOODIE.DESCRIBE.RAWMILK = "Этому бифало не понравилось, ведь так?"
31 |
32 |
33 | STRINGS.CHARACTERS.WENDY.DESCRIBE.COOKEDMILK = "Природное богатство."
34 | STRINGS.CHARACTERS.WICKERBOTTOM.DESCRIBE.COOKEDMILK = "Теперь более съедобно."
35 | STRINGS.CHARACTERS.WILLOW.DESCRIBE.COOKEDMILK = "Свежее и горячее."
36 | STRINGS.CHARACTERS.WOLFGANG.DESCRIBE.COOKEDMILK = "Укрепит мои кости."
37 | STRINGS.CHARACTERS.WX78.DESCRIBE.COOKEDMILK = "ПРИРОДНОЕ ТОПЛИВО."
38 | STRINGS.CHARACTERS.WAXWELL.DESCRIBE.COOKEDMILK = "Выбирать не приходится."
39 | STRINGS.CHARACTERS.WOODIE.DESCRIBE.COOKEDMILK = "Раньше я начинал с этого каждое утро."
40 |
41 | STRINGS.CHARACTERS.WENDY.DESCRIBE.CHEESE = "Время сделало его только лучше."
42 | STRINGS.CHARACTERS.WICKERBOTTOM.DESCRIBE.CHEESE = "Вкусно, но запах мне не нравится."
43 | STRINGS.CHARACTERS.WILLOW.DESCRIBE.CHEESE = "Огонь + время = ГОТОВО!"
44 | STRINGS.CHARACTERS.WOLFGANG.DESCRIBE.CHEESE = "Хотелось бы мне больше."
45 | STRINGS.CHARACTERS.WX78.DESCRIBE.CHEESE = "ЗАПАХ МЕНЯЕТСЯ С КАЖДЫМ ДНЕМ."
46 | STRINGS.CHARACTERS.WAXWELL.DESCRIBE.CHEESE = "Золотистый цвет. Мне нравится."
47 | STRINGS.CHARACTERS.WOODIE.DESCRIBE.CHEESE = "Вот это блюдо!"
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/scripts/mod_rusification/transl/hawaiian.lua:
--------------------------------------------------------------------------------
1 | ------ Переводы от Hawaiian ------
2 |
3 | local function LoadModTranslation(file)
4 | modimport("scripts/mod_rusification/mods/"..file)
5 | end
6 |
7 | -------------------------------------------------Steampunk DST
8 | --http://steamcommunity.com/sharedfiles/filedetails/?id=418604101
9 | if FindName("Steampunk DST") then
10 | LoadModTranslation "steampunk.lua"
11 | end
12 |
13 | -------------------------------------------------'s item pack (DST)
14 | --http://steamcommunity.com/sharedfiles/filedetails/?id=436897772
15 | if FindName("'s item pack") then
16 | LoadModTranslation "defaults_item_pack.lua"
17 | end
18 | -------------------------------------------------Structures and More...
19 | --http://steamcommunity.com/sharedfiles/filedetails/?id=580851939
20 | if FindName("Structures and More") then
21 | RegisterTranslation(function()
22 | LoadModTranslation "structures_and_more.lua"
23 | end)
24 | end
25 |
26 | -------------------------------------------------DST In Wilson's House
27 | --http://steamcommunity.com/sharedfiles/filedetails/?id=346968521
28 | if FindName("DST Wilson's House") then
29 | mk("WILSON_HOUSE","Жилище",4,"Жилищу",1,false)
30 | --оставил в modmain.lua
31 | RegisterTranslation(function()
32 | rec.WILSON_HOUSE = "Дом, милый дом!!"
33 | pp(gendesc.WILSON_HOUSE, "Уютный домишко!")
34 | end)
35 | end
36 |
37 | -------------------------------------------------Portable cookpot
38 | --http://steamcommunity.com/sharedfiles/filedetails/?id=614931358
39 | if FindName("Portable cookpot") then
40 | mk("PORTABLECOOKPOT","Походный котелок",1,"Походному котелку",1,false)
41 | mk("PORTABLECOOKPOT_ITEM","Походный котелок",1,"Походному котелку",1,false)
42 | RegisterTranslation(function()
43 | rec.PORTABLECOOKPOT_ITEM = "Удобный походный котелок"
44 | pp(gendesc.PORTABLECOOKPOT_ITEM, "Я могу носить его с собой!")
45 | end)
46 | end
47 |
48 | --------------------------Deluxe Campfires 2.11
49 | --http://steamcommunity.com/sharedfiles/filedetails/?id=444235588
50 | if FindName("Deluxe Campfires") then
51 | RegisterReplacedTranslation(function() --с подменой!!!
52 | LoadModTranslation "deluxe_campfires.lua"
53 | end)
54 | end
55 |
56 | --------------------------Too many items
57 | --http://steamcommunity.com/sharedfiles/filedetails/?id=551338671
58 | if FindName("[DST]Too Many Items") then
59 | RegisterTranslation(function() --без подмены
60 | LoadModTranslation "too_many_items.lua"
61 | end)
62 | end
63 |
64 | ------------------------Craftable gears
65 | --Тонны модов делают это, поэтому нет смысла указывать какой-то конкретный.
66 | rec.GEARS = "Полезное механическое... барахло."
67 | -----------------------Configurable Craftable Living Logs
68 | --Аналогично.
69 | rec.LIVINGLOG = "Возможно, оно и говорить умеет?"
70 |
71 | ----------------------------------------------DST Survival Gear
72 | --http://steamcommunity.com/sharedfiles/filedetails/?id=393441469
73 | --кое-как получилось вписать в игру (в modmain.lua)
74 | mk("CAVE_ARMOR","Пальто из шерсти Бифало",4,1,1,false,1)
75 | rec.CAVE_ARMOR = "В нем очень тепло!"
76 | gendesc.CAVE_ARMOR = "Стоит поблагодарить Бифало!"
77 | --p.s. там еще две деревянных биты, но они очень так себе нарисованы. и я их из мода удалил и не стал переводить.
78 |
79 |
--------------------------------------------------------------------------------
/scripts/prefabs/russian_assets.lua:
--------------------------------------------------------------------------------
1 | local mods = rawget(_G, "mods") or {}
2 | local t = mods.RussianLanguagePack
3 |
4 | --Это подгружаем всегда
5 | local assets =
6 | {
7 | Asset("ANIM", "anim/text_sparkle.zip"),
8 | Asset("ANIM", "anim/mods_button.zip"),
9 |
10 | Asset("ATLAS", "images/rus_button_icon.xml" ),
11 |
12 | Asset("ATLAS","images/rus_group.xml"),
13 |
14 | Asset("ATLAS","images/rus_wiki.xml"),
15 |
16 | Asset("ATLAS","images/vk_group.xml"),
17 |
18 | Asset("ATLAS","images/discord_button.xml"),
19 |
20 | Asset("ATLAS","images/text_bg.xml"),
21 |
22 | Asset("ATLAS","images/inf_btn.xml"),
23 | }
24 |
25 | table.insert(assets, Asset("ATLAS", "images/rlp_icon"..(t.IsBeta and "_beta.xml" or ".xml")))
26 |
27 | if t.CurrentTranslationType == t.TranslationTypes.Full then --Всё остальное
28 | local ass = {
29 | Asset("ATLAS","images/rus_mapgen.xml"), --Русифицированные пиктограммы в окне генерирования нового мира
30 | --Персонажи
31 | Asset("ATLAS","images/rus_locked.xml"),
32 | Asset("ATLAS","images/rus_wickerbottom.xml"),
33 | Asset("ATLAS","images/rus_waxwell.xml"),
34 | Asset("ATLAS","images/rus_willow.xml"),
35 | Asset("ATLAS","images/rus_wilson.xml"),
36 | Asset("ATLAS","images/rus_woodie.xml"),
37 | Asset("ATLAS","images/rus_wes.xml"),
38 | Asset("ATLAS","images/rus_wolfgang.xml"),
39 | Asset("ATLAS","images/rus_wendy.xml"),
40 | Asset("ATLAS","images/rus_wathgrithr.xml"),
41 | Asset("ATLAS","images/rus_webber.xml"),
42 | Asset("ATLAS","images/rus_random.xml"),
43 | --Серый
44 | Asset("ATLAS","images/rus_names_wickerbottom.xml"),
45 | Asset("ATLAS","images/rus_names_willow.xml"),
46 | Asset("ATLAS","images/rus_names_wilson.xml"),
47 | Asset("ATLAS","images/rus_names_woodie.xml"),
48 | Asset("ATLAS","images/rus_names_wes.xml"),
49 | Asset("ATLAS","images/rus_names_wolfgang.xml"),
50 | Asset("ATLAS","images/rus_names_wendy.xml"),
51 | Asset("ATLAS","images/rus_names_wathgrithr.xml"),
52 | Asset("ATLAS","images/rus_names_webber.xml"),
53 | Asset("ATLAS","images/rus_names_waxwell.xml"),
54 | Asset("ATLAS","images/rus_names_random.xml"),
55 | Asset("ATLAS","images/rus_names_wx78.xml"),
56 | Asset("ATLAS","images/rus_names_winona.xml"),
57 | Asset("ATLAS","images/rus_names_wortox.xml"),
58 | Asset("ATLAS","images/rus_names_wormwood.xml"),
59 | Asset("ATLAS","images/rus_names_warly.xml"),
60 | Asset("ATLAS","images/rus_names_wonkey.xml"),
61 | Asset("ATLAS","images/rus_names_wanda.xml"),
62 | Asset("ATLAS","images/rus_names_wurt.xml"),
63 | Asset("ATLAS","images/rus_names_walter.xml"),
64 | --Золото
65 | Asset("ATLAS","images/rus_names_gold_wickerbottom.xml"),
66 | Asset("ATLAS","images/rus_names_gold_willow.xml"),
67 | Asset("ATLAS","images/rus_names_gold_wilson.xml"),
68 | Asset("ATLAS","images/rus_names_gold_woodie.xml"),
69 | Asset("ATLAS","images/rus_names_gold_wes.xml"),
70 | Asset("ATLAS","images/rus_names_gold_wolfgang.xml"),
71 | Asset("ATLAS","images/rus_names_gold_wendy.xml"),
72 | Asset("ATLAS","images/rus_names_gold_wathgrithr.xml"),
73 | Asset("ATLAS","images/rus_names_gold_webber.xml"),
74 | Asset("ATLAS","images/rus_names_gold_waxwell.xml"),
75 | Asset("ATLAS","images/rus_names_gold_random.xml"),
76 | Asset("ATLAS","images/rus_names_gold_wx78.xml"),
77 | Asset("ATLAS","images/rus_names_gold_winona.xml"),
78 | Asset("ATLAS","images/rus_names_gold_wortox.xml"),
79 | Asset("ATLAS","images/rus_names_gold_wormwood.xml"),
80 | Asset("ATLAS","images/rus_names_gold_warly.xml"),
81 | Asset("ATLAS","images/rus_names_gold_wonkey.xml"),
82 | Asset("ATLAS","images/rus_names_gold_wanda.xml"),
83 | Asset("ATLAS","images/rus_names_gold_wurt.xml"),
84 | Asset("ATLAS","images/rus_names_gold_walter.xml"),
85 |
86 |
87 | Asset("ATLAS", "images/frontscreen_ru.xml" ),
88 | Asset("ATLAS", "images/tradescreen_overflow_ru.xml" ),
89 | Asset("ATLAS", "images/tradescreen_ru.xml" ),
90 | }
91 |
92 | for _, v in ipairs(ass) do
93 | table.insert(assets, v)
94 | end
95 | end
96 |
97 |
98 | return Prefab("russian_assets", function() return CreateEntity() end, assets)
99 |
--------------------------------------------------------------------------------
/scripts/mod_rusification/mods/archery_mod.lua:
--------------------------------------------------------------------------------
1 | mk("BOW","Деревянный лук")
2 | rec.BOW = "Полезно, если вы умеете целиться."
3 | pp("I used to be a good archer... then I took an arrow in the knee.","Раньше я был хорошим лучником...")
4 |
5 | mk("QUIVER","Колчан")
6 | rec.QUIVER = "Храни здесь свои стрелы!"
7 | pp("With this stuff, I will look like a serious archer.","С этой штукой я буду смотреться, как серьезный лучник.")
8 |
9 | mk("ARROW","Простая стрела",3,0,0,nil,"Простой стрелой")
10 | rec.ARROW = "Не бросай её голыми руками."
11 | pp("Probably best used with a bow...","Наверное, лучше использовать с луком...")
12 |
13 | mk("GOLDARROW","Золотая стрела",3)
14 | rec.GOLDARROW = "Охота со стилем."
15 | pp("I'm sure I could have found a better use this...","Уверен, с этой стрелой выйдет больше толка...")
16 |
17 | mk("MOONSTONEARROW","Лунная стрела",3)
18 | rec.MOONSTONEARROW = "Дорогая, но эффективная."
19 | pp("Sharp and shiny!","Острая и сверкающая!") --Осторожно! Общая фраза!..
20 |
21 | mk("FIREARROW","Огненная стрела",3)
22 | rec.FIREARROW = "Лучше быть осторожным с этим."
23 | pp("I should probably avoid using it in the middle of my camp...","Мне не следует использовать её в центре моей базы...")
24 |
25 | mk("ICEARROW","Ледяная стрела",3)
26 | rec.ICEARROW = "Оставайся холодной."
27 | pp("Should I keep it in the fridge?","Следует ли мне хранить её в холодильнике?")
28 |
29 | mk("THUNDERARROW","Громовая стрела",3) --jj: Надо уточнить рецепт...
30 | rec.THUNDERARROW = "Шторм приближается."
31 | pp( "The red wire on the plus...","Красный провод на плюс ...")
32 | mk("DISCHARGEDTHUNDERARROW","Разряженная громовая стрела",3)
33 | pp("It looks like it is not active anymore.","Похоже, что она больще не активна.")
34 |
35 | mk("CROSSBOW","Арбалет")
36 | rec.CROSSBOW = "Тяжелый и мощный."
37 | pp("This stuff is bigger than me.","Эта штука больше, чем я.") --!!! Общая фраза.
38 |
39 | mk("BOLT","Простой болт")
40 | rec.BOLT = "Не зубочистка."
41 | pp("Small projectile for such a big weapon...","Такой маленький снаряд для такого большого оружия...")
42 |
43 | mk("POISONBOLT","Ядовитый болт")
44 | rec.POISONBOLT = "С мышьяком."
45 | pp("Did it have to be so ugly?","Разве это должно быть так некрасиво?")
46 |
47 | mk("EXPLOSIVEBOLT","Разрывной болт")
48 | rec.EXPLOSIVEBOLT = "Не используйте в упор."
49 | pp("Is it really a good idea?","Действительно ли это хорошая идея?")
50 |
51 | mk("MAGICBOW","Магический лук")
52 | rec.MAGICBOW = "Так же, как и в сказках."
53 | pp("I expect a rainbow farting unicorns anytime soon.","Надеюсь на единорогов, пукающих радугой, в скором времени.")
54 |
55 | mk("MUSKET","Мушкет")
56 | rec.MUSKET = "Это громко. Вы предупреждены."
57 | pp("Am I the fifth musketeer?","Я - пятый мушкетер?")
58 |
59 | mk("MUSKET_BULLET","Мушкетный патрон")
60 | rec.MUSKET_BULLET = "Пора на охоту."
61 | pp("It looks like marbles","Это похоже на мрамор")
62 |
63 | mk("Z_FIREFLIESBALL","Шар светлячков")
64 | rec.Z_FIREFLIESBALL = "Не съедобно"
65 | pp("It's probably useful for something. Don't ask me what.","Возможно, это полезно для чего-то.\nНе спрашивайте меня, для чего.")
66 |
67 | mk("Z_BLUEGOOP","Синее вещество",4)
68 | rec.Z_BLUEGOOP = "Не стреляйте в ваших противников."
69 | pp("It looks gross.","Это сильно раздуто.") --jj. брутто валовой грубый большой крупный плотный макроскопический толстый грязный вульгарный
70 |
71 | ------------------ Дополнение от Hawaiian ----------------
72 |
73 | --добавляет recipenew tab archery (Стрельба), но я потерял, где эта строчка
74 | STRINGS.TABS["Archery"] = "Стрельба"
75 |
76 | pp("I should first get a quiver!", "Для начала мне нужен колчан!")
77 | pp("My quiver is empty!", "Мой колчан пуст!")
78 | pp("This won't fit it my current weapon...","Эти боеприпасы не подойдут...")
79 | pp("It's too late now...","Слишком поздно...")
80 | pp("There's no potential target on sight.","Здесь не во что стрелять.")
81 | pp("It looks like this stuff ran out of juice.","Кажется, у нас протечка.")
82 |
83 | --5 повторов
84 |
85 | --далее
86 | pp("I do not have anything to put in...", "Кажется, закончились боеприпасы...")
87 | pp("If I pull even more on this stuff it will break...","Боеприпасов итак полно...")
88 | pp("It is probably not a good idea to pile it up...","Возможно, это не лучшая идея, итак полно...")
89 |
90 | --еще 5+5+3 = 13 повторов
91 |
92 | -----------------------------ВСЁ
93 |
--------------------------------------------------------------------------------
/scripts/widgets/mod_settings_button.lua:
--------------------------------------------------------------------------------
1 | local t = mods.RussianLanguagePack
2 |
3 | local Widget = require "widgets/widget"
4 | local UIAnim = require "widgets/uianim"
5 | local UIAnimButton = require "widgets/uianimbutton"
6 | local Text = require "widgets/text"
7 | local ImageButton = require "widgets/imagebutton"
8 |
9 | local RLPModButton = Class(Widget, function(self)
10 | Widget._ctor(self, "RLPModButton")
11 |
12 | local transtype = Profile:GetModTranslationEnabled()
13 |
14 | --Добавим инфу о модах
15 | self.info = self:AddChild(ImageButton("images/ui.xml", "button_small.tex", "button_small.tex", "button_small.tex", "button_small.tex", "button_small.tex", {1,1}, {0,0}))
16 | self.info:SetPosition(-74,0,1)
17 | self.info.image:SetScale(1.4, 1.075, 1)
18 | self.info.image:SetRotation(90)
19 |
20 | self.info.icon = self.info:AddChild(Image("images/inf_btn.xml", "inf_btn.tex", "inf_btn.tex"))
21 | self.info.icon:SetScale(.45)
22 | self.info.icon:SetClickable(false)
23 |
24 | self.info.highlight = self.info:AddChild(Image("images/frontend.xml", "button_square_highlight.tex"))
25 | self.info.highlight:SetPosition(6,-6,1)
26 | self.info.highlight:SetScale(1, 1.4, 1)
27 | self.info.highlight:SetClickable(false)
28 | self.info.highlight:Hide()
29 |
30 | self.status = transtype == t.ModTranslationTypes.Enabled and "enabled" or "disabled" --сохраняем то значение, которое у нас при входе в это окно
31 |
32 | self.btn = self:AddChild(UIAnimButton("mods_button", "mods_button", nil, nil, nil, nil, nil))--bank, build, idle_anim, focus_anim, disabled_anim, down_anim, selected_anim
33 |
34 | local function AntiSpam(time)
35 | if self.task then
36 | self.task:Cancel()
37 | self.task = nil
38 | end
39 |
40 | self.btn:SetClickable(false)
41 | self.task = self.inst:DoTaskInTime(time, function() self.btn:SetClickable(true) end)
42 | end
43 |
44 | self.btn:SetScale(.9, .9, 1)
45 | self.btn.animstate:PlayAnimation("pre_"..self.status)
46 | self.btn.animstate:PushAnimation("idle_"..self.status)
47 | AntiSpam(.8)
48 |
49 | self.btn:SetText("")
50 | self.btn:SetTextSize(35)
51 | self.btn.text:SetPosition(165, 0)
52 | self.btn.text:SetFont(CHATFONT)
53 | self.btn.text:SetHAlign(ANCHOR_LEFT)
54 | self.btn:SetTextColour({.8,.8,.8,1})
55 | self.btn:SetTextFocusColour({1,1,1,1})
56 |
57 | self:UpdateText()
58 |
59 | self.btn:SetOnClick(function()
60 | if self.status == "enabled" then
61 | self.btn.animstate:PlayAnimation("onclick_enabled")
62 | self.btn:SetLoop("idle_disabled", false)
63 | self.btn.animstate:PushAnimation("idle_disabled")
64 |
65 | AntiSpam(.6)
66 |
67 | self.status = "disabled"
68 | Profile:SetLocalizaitonValue("mod_translation_type", t.ModTranslationTypes.Disabled)
69 |
70 | self:UpdateText()
71 | else
72 | self.btn.animstate:PlayAnimation("onclick_disabled")
73 | self.btn:SetLoop("idle_enabled", false)
74 | self.btn.animstate:PushAnimation("idle_enabled")
75 |
76 | AntiSpam(.6)
77 |
78 | self.status = "enabled"
79 | Profile:SetLocalizaitonValue("mod_translation_type", t.ModTranslationTypes.Enabled)
80 |
81 | self:UpdateText()
82 | end
83 | end)
84 |
85 | self.info:SetOnClick(function()
86 | VisitURL("http://steamcommunity.com/workshop/filedetails/?id=556346855")
87 | end)
88 |
89 | self.info:SetOnGainFocus(function()
90 | if self.info:IsEnabled() and not self.info:IsSelected() and TheFrontEnd:GetFadeLevel() <= 0 then
91 | self.info.highlight:Show()
92 | end
93 |
94 | self.info.image:SetScale(1.4, 1.075, 1)
95 | end)
96 |
97 | self.info:SetOnLoseFocus(function()
98 | self.info.highlight:Hide()
99 |
100 | self.info.image:SetScale(1.4, 1.075, 1)
101 | end)
102 |
103 | --[[
104 | self.btn:SetOnGainFocus(function()
105 | if self.btn:IsEnabled() and not self.btn:IsSelected() and TheFrontEnd:GetFadeLevel() <= 0 then
106 | self.btn.image:SetScale(.325)--Мда
107 | self.btn.highlight:Show()
108 | end
109 | end)
110 |
111 | self.btn:SetOnLoseFocus(function()
112 | self.btn.image:SetScale(.325)
113 | self.btn.highlight:Hide()
114 | end)
115 | ]]
116 | end)
117 |
118 | function RLPModButton:UpdateText()
119 | self.btn:SetText(self.status == "enabled" and "Перевод модов\nвключён" or "Перевод модов\nвыключён")
120 | end
121 |
122 | return RLPModButton
123 |
--------------------------------------------------------------------------------
/scripts/rlp_pugna_speech.lua:
--------------------------------------------------------------------------------
1 |
2 | return {
3 | ["Ha!"] = "Ха!",
4 | ["You are unworthy."] = "Вы недостойны.",
5 | ["You never stood a chance."] = "У вас не было и шанса.",
6 | ["Ha ha!"] = "Ха ха!",
7 | ["Weak."] = "Слабаки.",
8 | ["We are stronger."] = "Мы сильнее.",
9 | ["Well struck!"] = "Хороший удар!",
10 | ["At last, our realm returns to glory!"] = "Наконец, наше царство обретёт славу!",
11 | ["Warriors, rekindle the Gateway..."] = "Воины, пробудите Врата...",
12 | ["Today we take the Throne!"] = "Сегодня мы захватим Трон!",
13 | ["It's good to have a challenge once again!"] = "Хорошо принять вызов снова!",
14 | ["This should be fun."] = "Это должно быть весело.",
15 | ["More pigs! Overwhelm them!"] = "Больше! Сокрушите их!",
16 | ["More pigs!"] = "Больше свиней!",
17 | ["What have we here?"] = "Что у нас здесь?",
18 | ["Gatekeepers? Ha! Have you come to return us to the Throne?"] = "Хранители Врат? Ха! Вы пришли, чтобы вернуть нас к Трону?",
19 | ["I am Battlemaster Pugna, and I protect what is mine."] = "Я - Военачальник Пугна, и я защищаю то, что принадлежит мне.",
20 | ["Warriors. Release the pigs!"] = "Воины. Выпускайте свиней!",
21 | ["For the Forge!"] = "За Кузню!",
22 | ["Give the Gatekeepers no quarter!"] = "Не дайте Хранителям Врат и четвертака!",
23 | ["Fly your banners proudly, warriors!"] = "Пусть ваши знамёна реют гордо, воины!",
24 | ["Impressive. You handled our foot soldiers with ease."] = "Впечатляет. Вы легко справились с нашими пехотинцами.",
25 | ["But our battalions are trained to work together."] = "Но наши батальоны натренированы работать вместе.",
26 | ["Can you do the same? Crocommanders, to the ring!"] = "Сможете ли вы сделать то же самое? Крокомандиры, на ринг!",
27 | ["We've endured more here than you know."] = "Мы вынесли здесь больше, чем вы можете представить.",
28 | ["And as forging fires temper steel,"] = "И как огонь горна закаляет сталь,",
29 | ["Hardship has only made us stronger."] = "Так и трудности только сделали нас сильнее.",
30 | ["Now, Snortoises. Attack!"] = "А теперь, Бронепахи. Атакуйте!",
31 | ["End this now my warriors!"] = "Покончите с этим сейчас же, мои воины!",
32 | ["We... cannot lose the Forge..."] = "Мы... не можем потерять Кузню...",
33 | ["No! How can this be?!"] = "Нет! Как такое может быть?!",
34 | ["You have defeated the mighty Boarilla!"] = "Вы победили могучую Бориллу!",
35 | ["You may have won the battle, Gatekeepers... but not the war!"] = "Возможно вы выиграли битву, Хранители Врат... но не войну!",
36 | ["...Do you understand the forces you serve?"] = "...Вы понимаете силы, которым вы служите?",
37 | ["They destroy all They touch..."] = "Они уничтожают всё, к чему прикасаются...",
38 | ["We were severed from the Throne, trapped in a realm of stone and fire!"] = "Мы были отделены от Трона, захваченного царством камня и огня!",
39 | ["That is why we cannot let you win."] = "Поэтому мы не можем позволить вам победить.",
40 | ["Send in the Boarilla."] = "Послать Бориллу.",
41 | ["Grand Forge Boarrior!"] = "Великий Боров-воин Кузни!",
42 | ["The ring is yours! Destroy them, my champion!"] = "Ринг твой! Уничтожь их, мой чемпион!",
43 | ["The Gatekeepers must not take the Forge!"] = "Хранители Врат не должны захватить Кузню!",
44 | ["Drive the interlopers back!"] = "Верните нарушителей обратно!",
45 | ["Do not hold back! Kill them!"] = "Не отступать! Убейте их!",
46 | ["Why are the Gatekeepers still not dead?!"] = "Почему Хранители Врат все ещё живы?!",
47 | ["Destroy them!!"] = "Уничтожьте их!!",
48 | ["We will not live in the Throne's shadow!"] = "Мы не будем жить в тени Трона!",
49 | ["What?! My champion!?!"] = "Что?! Мой чемпион!?!",
50 | ["I see. You've demonstrated your might."] = "Я вижу. Вы показали своё могущество.",
51 | ["...But we will live to fight again!!"] = "...Но мы будем жить, чтобы снова сражаться!!",
52 | ["Know this, Gatekeepers:"] = "Запомните вот что, Хранители Врат:",
53 | ["Once you are dead, we will activate the Gateway."] = "Как только вы умрёте, мы активируем Врата.",
54 | ["We'll return to the hub and destroy the Throne."] = "Мы вернёмся и уничтожим Трон.",
55 | ["We will end this, once and for all."] = "Мы покончим с этим раз и навсегда.",
56 | ["You have won the battle,"] = "Вы выиграли битву,",
57 | ["But the war rages on eternally."] = "Но война продолжается вечно.",
58 | ["We are not ready to give up yet."] = "Мы ещё не готовы сдаться.",
59 | ["We do not fear you."] = "Мы не боимся вас.",
60 | ["But you will fear us!"] = "Но вы будете бояться нас!",
61 | ["Fear my new champions! Fear the Rhinocebros!"] = "На колени перед моими новыми чемпионами! Бойтесь Нособуров!",
62 | ["No! My Forge, felled by the Throne's lapdogs!"] = "Нет! Моя кузня пала от лап шавок Трона!",
63 | ["Please. No more, Gatekeepers. We surrender."] = "Прошу. Довольно, Хранители Врат. Мы сдаёмся.",
64 | ["The day is yours, as is the Gateway."] = "День ваш, как и Врата.",
65 | ["You have had many victories, Gatekeepers..."] = "У вас было много побед, Хранители Врат...",
66 | ["...but from our dungeons comes our most brutal warrior."] = "...но из подземелий выходит наш самый жестокий воин.",
67 | ["Behold: The Infernal Swineclops!"] = "Бойтесь! Инфернальный Свиноклоп!",
68 | }
69 |
--------------------------------------------------------------------------------
/scripts/mod_rusification/mods/too_many_items.lua:
--------------------------------------------------------------------------------
1 | --Автор добавил 1 файл со всеми стрингсами
2 | --stringslocalization.lua
3 |
4 | if STRINGS.TOO_MANY_ITEMS == nil then
5 | STRINGS.TOO_MANY_ITEMS = {
6 | UI = {
7 | BUTTON = {},
8 | DEBUG = {
9 | SEASON = {},
10 | TIME = {},
11 | SPEED = {},
12 | WEATHER = {},
13 | CHARACTER = {},
14 | SERVER = {},
15 | },
16 | SIDEBAR = {},
17 | SEARCHBAR = {},
18 | SEARCH = {},
19 | },
20 | }
21 | end
22 |
23 | STRINGS.TOO_MANY_ITEMS.UI.BUTTON.HEALTH = "Здоровье 100%"
24 | STRINGS.TOO_MANY_ITEMS.UI.BUTTON.SANITY = "Рассудок 100%"
25 | STRINGS.TOO_MANY_ITEMS.UI.BUTTON.HUNGER = "Голод 100%"
26 | STRINGS.TOO_MANY_ITEMS.UI.BUTTON.WET = "Влажность 0%"
27 | STRINGS.TOO_MANY_ITEMS.UI.BUTTON.TEMPERATURE = "Температура: 20\176C"
28 | STRINGS.TOO_MANY_ITEMS.UI.BUTTON.LOGMETER = "Древесный голод 100%"
29 |
30 | STRINGS.TOO_MANY_ITEMS.UI.BUTTON.GODMODE = "Режим бога (Вкл/Выкл)"
31 | STRINGS.TOO_MANY_ITEMS.UI.BUTTON.CREATIVEMODE = "Творческий режим (Вкл/Выкл)"
32 | STRINGS.TOO_MANY_ITEMS.UI.BUTTON.DEBUGMENU = "Меню отладки (Открыть/Закрыть)"
33 |
34 |
35 |
36 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SEASON.SPRINGTIP = "Наступает весна!"
37 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SEASON.SUMMERTIP = "Наступает лето!"
38 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SEASON.AUTUMNTIP = "Наступает осень!"
39 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SEASON.WINTERTIP = "Наступает зима!"
40 |
41 |
42 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.TIME.TEXT = "Время:"
43 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.TIME.NEXT = "Далее"
44 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.TIME.NEXTTIP = "Следующая фаза дня"
45 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.TIME.ODAY = "1 день"
46 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.TIME.ODAYTIP = "Пропустить 1 день"
47 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.TIME.FDAYS = "5 дней"
48 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.TIME.FDAYSTIP = "Пропустить 5 дней"
49 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.TIME.TDAYS = "10 дней"
50 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.TIME.TDAYSTIP = "Пропустить 10 дней"
51 |
52 |
53 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SPEED.TEXT = "Скорость:"
54 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SPEED.SLOW = "Замедлить"
55 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SPEED.SLOWTIP = "60% скорости"
56 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SPEED.NORMAL = "Норма"
57 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SPEED.NORMALTIP = "100% скорости"
58 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SPEED.FAST = "Ускорить"
59 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SPEED.FASTTIP = "200% скорости"
60 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SPEED.FLY = "Нитро"
61 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SPEED.FLYTIP = "400% скорости"
62 |
63 |
64 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.WEATHER.TEXT = "Погода:"
65 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.WEATHER.LIGHTNINGTIP = "Удар молнии"
66 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.WEATHER.WATER = ".,;:':;,."
67 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.WEATHER.WATERTIP = "Дождь/Снег"
68 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.WEATHER.NOWATER = ",.'o'.,"
69 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.WEATHER.NOWATERTIP = "Остановить Дождь/Снег"
70 |
71 |
72 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTER.TEXT = "Персонаж:"
73 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTER.KILL = "Убить"
74 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTER.KILLTIP = "Убивает персонажа"
75 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTERREBIRTH = "Возр."
76 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTER.REBIRTHTIP = "Возрождает персонажа"
77 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTER.DESPAWN = "Смена"
78 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTER.DESPAWNTIP = "К меню выбора персонажа"
79 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTER.GATHER = "Собрать"
80 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTER.GATHERTIP = "Собирает всех персонажей"
81 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTER.UNLOCKTECH = "Крафт"
82 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.CHARACTER.UNLOCKTECHTIP = "Разблокировать все предметы для меню крафта"
83 |
84 |
85 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.TEXT = "Сервер:"
86 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.RESET = "Рестарт"
87 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.RESETTIP = "Рестарт текущей игры"
88 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.REGENERATE = "Сброс"
89 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.REGENERATETIP = "Создает новый мир"
90 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.ROLLBACK = "Откат"
91 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.ROLLBACKTIP = "Откат до последней сохраненной игры"
92 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.SAVE = "Сохр."
93 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.SAVETIP = "Сохранить мир"
94 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.SHUTDOWN = "Выкл."
95 | STRINGS.TOO_MANY_ITEMS.UI.DEBUG.SERVER.SHUTDOWNTIP = "Выключить сервер"
96 |
97 |
98 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.A = "В"
99 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.TIPA = "Все предметы"
100 |
101 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.F = "Е"
102 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.TIPF = "Еда"
103 |
104 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.R = "Р"
105 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.TIPR = "Ресурсы"
106 |
107 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.W = "Б"
108 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.TIPW = "Бой"
109 |
110 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.T = "И"
111 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.TIPT = "Инструменты"
112 |
113 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.C = "О"
114 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.TIPC= "Одежда"
115 |
116 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.G = "П"
117 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.TIPG= "Подарки"
118 |
119 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.O = "Д"
120 | STRINGS.TOO_MANY_ITEMS.UI.SIDEBAR.TIPO = "Другое (Бывают вылеты)"
121 |
122 |
123 | STRINGS.TOO_MANY_ITEMS.UI.SEARCHBAR.TEXT = "Найти предмет!"
124 | STRINGS.TOO_MANY_ITEMS.UI.SEARCHBAR.TIP = "Нажми!"
125 | STRINGS.TOO_MANY_ITEMS.UI.SEARCH.TEXT= "Поиск"
126 | STRINGS.TOO_MANY_ITEMS.UI.SEARCH.TIP = "Нажми для поиска!"
127 |
128 | ---------------------------всё
--------------------------------------------------------------------------------
/scripts/rlp_fonts.lua:
--------------------------------------------------------------------------------
1 | local env = env
2 | local modname = env.modname
3 | local MODROOT = env.MODROOT
4 | local t = mods.RussianLanguagePack
5 |
6 | GLOBAL.setfenv(1, GLOBAL)
7 |
8 | require("fonts")
9 |
10 | local FONT_PREFIX = "ru_"
11 | local FONT_POSTFIX = "__ru"
12 |
13 | local CACHED_FONTS = {
14 | DEFAULTFONT = DEFAULTFONT,
15 | DIALOGFONT = DIALOGFONT,
16 | TITLEFONT = TITLEFONT,
17 | UIFONT = UIFONT,
18 | BUTTONFONT = BUTTONFONT,
19 | HEADERFONT = HEADERFONT,
20 | CHATFONT = CHATFONT,
21 | CHATFONT_OUTLINE = CHATFONT_OUTLINE,
22 | NUMBERFONT = NUMBERFONT,
23 | TALKINGFONT = TALKINGFONT,
24 | SMALLNUMBERFONT = SMALLNUMBERFONT,
25 | BODYTEXTFONT = BODYTEXTFONT,
26 |
27 | TALKINGFONT_WORMWOOD = TALKINGFONT_WORMWOOD,
28 | TALKINGFONT_HERMIT = TALKINGFONT_HERMIT,
29 |
30 | NEWFONT = NEWFONT,
31 | NEWFONT_SMALL = NEWFONT_SMALL,
32 | NEWFONT_OUTLINE = NEWFONT_OUTLINE,
33 | NEWFONT_OUTLINE_SMALL = NEWFONT_OUTLINE_SMALL,
34 | }
35 |
36 | --Имена шрифтов, которые нужно загрузить.
37 | local LOCALIZED = {
38 | ["talkingfont"] = true,
39 | ["stint-ucr50"] = true,
40 | ["stint-ucr20"] = true,
41 | ["opensans50"] = true,
42 | ["belisaplumilla50"] = true,
43 | ["belisaplumilla100"] = true,
44 | ["buttonfont"] = true,
45 | ["hammerhead50"] = true,
46 | ["bellefair50"] = true,
47 | ["bellefair_outline50"] = true,
48 |
49 | ["talkingfont_wormwood"] = true,
50 | ["talkingfont_hermit"] = true,
51 |
52 | ["spirequal"] = true,
53 | ["spirequal_small"] = true,
54 | ["spirequal_outline"] = true,
55 | ["spirequal_outline_small"] = true,
56 | }
57 |
58 | --В этой функции происходит загрузка, подключение и применение русских шрифтов
59 | local function ApplyLocalizedFonts()
60 | t.print("ApplyLocalizedFonts", CalledFrom())
61 |
62 | --ЭТАП ВЫГРУЗКИ: Вначале выгружаем шрифты, если они были загружены
63 | --Восстанавливаем оригинальные переменные шрифтов
64 | DEFAULTFONT = CACHED_FONTS.DEFAULTFONT
65 | DIALOGFONT = CACHED_FONTS.DIALOGFONT
66 | TITLEFONT = CACHED_FONTS.TITLEFONT
67 | UIFONT = CACHED_FONTS.UIFONT
68 | BUTTONFONT = CACHED_FONTS.BUTTONFONT
69 | HEADERFONT = CACHED_FONTS.HEADERFONT
70 | CHATFONT = CACHED_FONTS.CHATFONT
71 | CHATFONT_OUTLINE = CACHED_FONTS.CHATFONT_OUTLINE
72 | NUMBERFONT = CACHED_FONTS.NUMBERFONT
73 | TALKINGFONT = CACHED_FONTS.TALKINGFONT
74 | SMALLNUMBERFONT = CACHED_FONTS.SMALLNUMBERFONT
75 | BODYTEXTFONT = CACHED_FONTS.BODYTEXTFONT
76 |
77 | TALKINGFONT_WORMWOOD = CACHED_FONTS.TALKINGFONT_WORMWOOD
78 | TALKINGFONT_HERMIT = CACHED_FONTS.TALKINGFONT_HERMIT
79 |
80 | NEWFONT = CACHED_FONTS.NEWFONT
81 | NEWFONT_SMALL = CACHED_FONTS.NEWFONT_SMALL
82 | NEWFONT_OUTLINE = CACHED_FONTS.NEWFONT_OUTLINE
83 | NEWFONT_OUTLINE_SMALL = CACHED_FONTS.NEWFONT_OUTLINE_SMALL
84 |
85 | --Выгружаем локализированные шрифты, если они были до этого загружены
86 | t.print("Unloading RLP fonts")
87 | for FontName in pairs(LOCALIZED) do
88 | TheSim:UnloadFont(FONT_PREFIX..FontName)
89 | end
90 | TheSim:UnloadPrefabs({"RLP_fonts"}) --выгружаем общий префаб локализированных шрифтов
91 |
92 | --ЭТАП ЗАГРУЗКИ: Загружаем шрифты по новой
93 | t.print("Loading RLP fonts")
94 | --Формируем список ассетов
95 | local LocalizedFontAssets = {}
96 | for FontName in pairs(LOCALIZED) do
97 | table.insert(LocalizedFontAssets, Asset("FONT", MODROOT.."fonts/"..FontName..FONT_POSTFIX..".zip"))
98 | end
99 |
100 | --Создаём префаб, регистрируем его и загружаем
101 | local LocalizedFontsPrefab = require("prefabs/rlp_fonts")(LocalizedFontAssets)
102 | RegisterPrefabs(LocalizedFontsPrefab)
103 | TheSim:LoadPrefabs({"RLP_fonts"})
104 |
105 | --Формируем список связанных с файлами алиасов
106 | for FontName in pairs(LOCALIZED) do
107 | TheSim:LoadFont(MODROOT.."fonts/"..FontName..FONT_POSTFIX..".zip", FONT_PREFIX..FontName)
108 | end
109 |
110 | --Строим таблицу фоллбэков для последующей связи шрифтов с доп-шрифтами
111 | local fallbacks = {}
112 | for _, v in pairs(FONTS) do
113 | local FontName = v.filename:sub(7, -5)
114 | if LOCALIZED[FontName] then
115 | fallbacks[FontName] = {v.alias, unpack(v.fallback)}
116 | end
117 | end
118 | --Привязываем к новым английским шрифтам локализированные символы
119 | for FontName in pairs(LOCALIZED) do
120 | TheSim:SetupFontFallbacks(FONT_PREFIX..FontName, fallbacks[FontName])
121 | end
122 |
123 | --Вписываем в глобальные переменные шрифтов наши алиасы
124 | DEFAULTFONT = FONT_PREFIX.."opensans50"
125 | DIALOGFONT = FONT_PREFIX.."opensans50"
126 | TITLEFONT = FONT_PREFIX.."belisaplumilla100"
127 | UIFONT = FONT_PREFIX.."belisaplumilla50"
128 | BUTTONFONT = FONT_PREFIX.."buttonfont"
129 | HEADERFONT = FONT_PREFIX.."hammerhead50"
130 | CHATFONT = FONT_PREFIX.."bellefair50"
131 | CHATFONT_OUTLINE = FONT_PREFIX.."bellefair_outline50"
132 | NUMBERFONT = FONT_PREFIX.."stint-ucr50"
133 | TALKINGFONT = FONT_PREFIX.."talkingfont"
134 | SMALLNUMBERFONT = FONT_PREFIX.."stint-ucr20"
135 | BODYTEXTFONT = FONT_PREFIX.."stint-ucr50"
136 |
137 | TALKINGFONT_WORMWOOD = FONT_PREFIX.."talkingfont_wormwood"
138 | TALKINGFONT_HERMIT = FONT_PREFIX.."talkingfont_hermit"
139 |
140 | NEWFONT = FONT_PREFIX.."spirequal"
141 | NEWFONT_SMALL = FONT_PREFIX.."spirequal_small"
142 | NEWFONT_OUTLINE = FONT_PREFIX.."spirequal_outline"
143 | NEWFONT_OUTLINE_SMALL = FONT_PREFIX.."spirequal_outline_small"
144 |
145 | -- Сжимаем немного новый шрифт
146 | TheSim:AdjustFontAdvance(CHATFONT, -2.5)
147 | TheSim:AdjustFontAdvance(HEADERFONT, -1)
148 | end
149 |
150 | local _UnregisterAllPrefabs = Sim.UnregisterAllPrefabs
151 | Sim.UnregisterAllPrefabs = function(self, ...)
152 | _UnregisterAllPrefabs(self, ...)
153 | ApplyLocalizedFonts()
154 | end
155 |
156 | --Вставляем функцию, подключающую русские шрифты
157 | local _RegisterPrefabs = ModManager.RegisterPrefabs --Подменяем функцию,в которой нужно подгрузить шрифты и исправить глобальные шрифтовые константы
158 | ModManager.RegisterPrefabs = function(self, ...)
159 | _RegisterPrefabs(self, ...)
160 | ApplyLocalizedFonts()
161 | end
162 |
163 | local _Start = Start
164 | function Start(...)
165 | ApplyLocalizedFonts()
166 | return _Start(...)
167 | end
168 |
--------------------------------------------------------------------------------
/scripts/rlp_mod_support.lua:
--------------------------------------------------------------------------------
1 | local t = mods.RussianLanguagePack
2 |
3 | --Пробрасываем в настройки каждого мода переменную russian для нативной русификации (при желании автора мода).
4 | local ModIndex = KnownModIndex
5 | if ModIndex and ModIndex.InitializeModInfoEnv then
6 | --Если PeterA услышал мольбы, то поступаем цивилизованно.
7 | local old_InitializeModInfoEnv = ModIndex.InitializeModInfoEnv
8 | ModIndex.InitializeModInfoEnv = function(self,...)
9 | local env = old_InitializeModInfoEnv(self,...)
10 | env.language = t.SelectedLanguage
11 | env.russian = true -- !!! Устаревшая ссылка. Через некоторое время будет удалена !!!
12 | return env
13 | end
14 | else --Иначе извращаемся, как обычно.
15 | local temp_mark = false --Временная метка, означающая, что в следующий вызов RunInEnvironment надо добавить russian=true
16 |
17 | --Перехватываем "kleiloadlua", чтобы установить временную метку в случае загрузки "modinfo.lua"
18 | local old_kleiloadlua = kleiloadlua
19 | kleiloadlua = function(path,...)
20 | local fn = old_kleiloadlua(path,...)
21 | if fn and type(fn) ~= "string" and path:sub(-12) == "/modinfo.lua" then
22 | temp_mark = true
23 | end
24 | return fn
25 | end
26 |
27 | --Перехватываем RunInEnvironment, чтобы среагировать на метку (заодно сбросить ее)
28 | local old_RunInEnvironment = RunInEnvironment
29 | RunInEnvironment = function(fn, env, ...)
30 | if env and temp_mark then
31 | env.language = t.SelectedLanguage
32 | env.russian = true -- !!! Устаревшая ссылка. Через некоторое время будет удалена !!!
33 | temp_mark = false
34 | end
35 | return old_RunInEnvironment(fn, env, ...)
36 | end
37 | end
38 |
39 |
40 |
41 | --Функции ниже не инициализируются, если русификатор не в режиме «Полный перевод», т.е. если не нужно переводить предметы и действия
42 | if t.CurrentTranslationType==t.TranslationTypes.Full then
43 |
44 |
45 | local genders_reg={"he","he2","she","it","plural","plural2", --numbers
46 | he="he",he2="he2",she="she",it="it",plural="plural",plural2="plural2"};
47 | --[[Функция регистрирует новое имя предмета со всеми данными, необходимыми для его корректного склонения.
48 |
49 | key - Ключ объекта. Например, MYITEM (из STRINGS.NAMES.MYITEM).
50 | val - Русский перевод названия объекта.
51 | gender - Пол объекта. Варианты: he, he2, she, it, plural, plural2. Род нужен для склонения префиксов жары и влажности.
52 | "he" и "he2" - это мужской род, но не одно и то же, сравните: изучить влажный курган слизнепах (he),
53 | но изучить влажного паука (he2). plural2 — одушевлённое во множественном числе (если слово, например, "Чайки",
54 | то есть когда объект изначально получает название во множественном числе).
55 | walkto - Склонение при подстановке во фразу "Идти к" (кому? чему?). Задавайте слова с большой буквы.
56 | defaultaction - Подставляется ко всем действиям в игре, для которых не задано особое написание. Например "Осмотреть" (кого? что?).
57 | capitalized - Нужно ли писать имя с большой буквы. Маленькая буква в названии не станет большой.
58 | Но если не указать true, то большая станет маленькой в фразах, где есть слово перед. Например: "Осмотреть лепестки".
59 | killaction - Используется только в DST во всех предметах, которые способны убить персонажа. В игре они могут появляться в сообщениях
60 | типа "Был убит (кем? чем?)", то есть это творительный падеж.
61 | Вместо строковых значений пола можно использовать их номера: 1) he, 2) he2, 3) she, 4) it, 5) plural, 6) plural2.
62 | Вместо walkto, defaultaction и killaction можно использовать 0 или 1.
63 | 0 означает пропуск параметра. То же, что не указать параметр вовсе. Значение не инициализируется. Используются значения из testname.
64 | 1 означает "то же, что и базовая форма", т.е. val. Чтобы не дублировать одни и те же строки (val) можно просто указать единичку.
65 |
66 | Например:
67 | RegisterRussianName("RESEARCHLAB2","Алхимический двигатель",1,"Алхимическому двигателю",1)
68 | Вместо пола указана 1, что означает "he".
69 | Вместо defaultaction указано 1, что означает повторение val, т.е. "Алхимический двигатель".
70 | ]]
71 |
72 |
73 | function t.RegisterRussianName(key,val,gender,walkto,defaultaction,capitalized,killaction)
74 | local oldval = STRINGS.NAMES[string.upper(key)]
75 | STRINGS.NAMES[string.upper(key)]=val
76 | LanguageTranslator.languages[t.SelectedLanguage]["STRINGS.NAMES."..string.upper(key)] = val
77 | if gender and gender~=0 then
78 | if (genders_reg[gender]) then
79 | t.NamesGender[genders_reg[gender]][string.lower(key)]=true
80 | --else
81 | -- print error............
82 | end
83 | end
84 | if walkto or defaultaction or killaction then
85 | if (walkto==1) then walkto=val end
86 | if (defaultaction==1) then defaultaction=val end
87 | if (killaction==1) then killaction=val end
88 | t.RussianNames[val]={}
89 | if walkto and walkto~=0 then t.RussianNames[val]["WALKTO"]=walkto end
90 | if defaultaction and defaultaction~=0 then t.RussianNames[val]["DEFAULTACTION"]=defaultaction end
91 | if killaction and killaction~=0 then t.RussianNames[val]["KILL"]=killaction end
92 | end
93 | if capitalized then t.ShouldBeCapped[string.lower(key)]=true end
94 | if t.SpeechHashTbl.NAMES and oldval then
95 | t.SpeechHashTbl.NAMES.Eng2Key[oldval]=string.upper(key)
96 | t.SpeechHashTbl.NAMES.Rus2Eng[val]=oldval
97 | end
98 | end
99 |
100 | -- !!! Устаревшая ссылка. Через некоторое время будет удалена !!!
101 | RegisterRussianName = t.RegisterRussianName --Временно оставлено для обратной совместимости по просьбе Star
102 |
103 | ---Переименовывание действий по названию (id)
104 | function t.RenameAction(act, new_name)
105 | if rawget(_G,"ACTIONS") and ACTIONS[act] then
106 | ACTIONS[act].str = new_name
107 | if STRINGS.ACTIONS then
108 | STRINGS.ACTIONS[act] = new_name
109 | end
110 | end
111 | end
112 |
113 | function t.RegisterRecipes(arr)
114 | for k,v in pairs(arr) do
115 | STRINGS.RECIPE_DESC[k] = v --Тупо переводим строки построчно в реальный массив.
116 | end
117 | end
118 |
119 | --Переводим анонсы
120 | --Для их перевода анонс должен быть в отдельной таблице "STRINGS.UI.NOTIFICATION"
121 | function t.TranslateAnnounce(id, translate)
122 | print("TranslateAnnounce1")
123 | if STRINGS.UI.NOTIFICATION and STRINGS.UI.NOTIFICATION[id] then
124 | t.announcerus.mods[id] = translate or ""
125 | end
126 | end
127 |
128 | end
--------------------------------------------------------------------------------
/scripts/mod_translator.lua:
--------------------------------------------------------------------------------
1 | local env = env
2 | local t = mods.RussianLanguagePack
3 |
4 | _G.setfenv(1, _G)
5 |
6 | --По-любому надо составить список модов.
7 | mod_by_name = {} --true - активен, false - не активен, nil - отсутствует.
8 | mod_by_name_cut = {} --аналогично, только в качестве ключа - название мода без версии (цифры и точка).
9 | do
10 | local function SearchForModsByName()
11 | if not (KnownModIndex and KnownModIndex.savedata and KnownModIndex.savedata.known_mods) then
12 | t.print("Mod Translation: ERROR! Can't find KnownModIndex!")
13 | return
14 | end
15 | for name, mod in pairs(KnownModIndex.savedata.known_mods) do
16 | if mod and mod.modinfo and mod.modinfo.name and type(mod.modinfo.name) == "string" then
17 | local active = false
18 | if (mod.enabled or mod.temp_enabled or KnownModIndex:IsModForceEnabled(name)) --Мод активен
19 | and not mod.temp_disabled --И не отключен
20 | then
21 | active = true
22 | end
23 | if active == true then
24 | mod_by_name[mod.modinfo.name] = true --true
25 | local cut = mod.modinfo.name:gsub("^(.-)[0-9 .x]*$","%1")
26 | mod_by_name_cut[cut] = true
27 | end
28 | end
29 | end
30 | end
31 | SearchForModsByName()
32 | --arr(mod_by_name_cut)
33 | end
34 |
35 | env.ModExists = function(fancy) --fancy - реальное название.
36 | return mod_by_name[fancy] ~= nil --true or false means exists
37 | end
38 |
39 | env.ModActive = function(fancy)
40 | return mod_by_name[fancy] --only true means active
41 | end
42 |
43 | --Возвращает true, если есть обрезанный вариант мода. Например, "Waiter 101 v" (вместо "Waiter 101 v1.2.3")
44 | --Название нужно указывать точно (обрезанное).
45 | env.FindName = function(cut_fancy)
46 | return mod_by_name_cut[cut_fancy]
47 | end
48 |
49 | --Эта функция еще более продвинутая. Она ищет название мода по первым словам в нем.
50 | --Само собой поиск в уже кастрированных от версии названиях.
51 | env.FindNameCut = function(cut_fancy)
52 | for k,v in pairs(mod_by_name_cut) do
53 | if string.find(k,cut_fancy,1,true) == 1 then
54 | return true
55 | end
56 | end
57 | end
58 |
59 | function RegisterRussianPhrase(old_eng, new_rus) --Register Phrase
60 | if old_eng == nil then
61 | return
62 | end
63 | if t.mod_phrases[old_eng] ~= nil then
64 | t.print("ERROR RUS MODS!")
65 | t.print("String \""..tostring(old_eng).."\" already exists!")
66 | t.print("Rus translation: "..tostring(t.mod_phrases[old_eng]))
67 | t.print("Failed translation: "..tostring(new_rus))
68 | end
69 | t.mod_phrases[old_eng] = new_rus
70 | end
71 |
72 | env.RegisterRussianPhrase = RegisterRussianPhrase
73 | -- Делаем затычку для старых переводов.
74 | mods.RusMods = {
75 | pp = RegisterRussianPhrase --Старая ссылка
76 | }
77 |
78 | env.pp = RegisterRussianPhrase --Короткое название (алиас), чтобы было проще вбивать перевод, без копипаста этого длиннющего названия функции.
79 | t.pp = RegisterRussianPhrase
80 |
81 | -- Делаем затычку для старых переводов.
82 | mods.RusMods.pp = RegisterRussianPhrase --Старая ссылка
83 |
84 | -- Добавляет перевод аннонса
85 | function AddModAnnounce(eng, rus)
86 | t.mod_announce[eng] = rus
87 | end
88 |
89 | env.AddModAnnounce = AddModAnnounce
90 | t.ma = AddModAnnounce
91 | t.AddModAnnounce = AddModAnnounce
92 |
93 | local ch = STRINGS.CHARACTERS
94 | --Регистрирует реплики стандартного персонажа.
95 | env.RegisterCharacterPhrases = function(char_name, arr)
96 | if not ch[char_name] then
97 | ch[char_name] = {DESCRIBE={}} --Нужно, чтобы брать отсюда реплики (чтобы не было краша, если их еще нет).
98 | end
99 | local desc = ch[char_name].DESCRIBE
100 | for k,v in pairs(arr) do
101 | if type(v) == "table" then --Обходим дерево второго уровня.
102 | if desc[k] == nil then desc[k] = {} end
103 | for kk, vv in pairs(v) do
104 | pp(desc[k][kk],vv)
105 | end
106 | else
107 | pp(desc[k],v) --Регистрируем реплики построчно.
108 | end
109 | end
110 | end
111 |
112 | local after_init = {} --Функции пост инициализации.
113 | --При создании мира все префабы уже загружены, поэтому это самое удачное время для исправления строк.
114 | local after_init_trans = {} --А это функции, которые не подозревают, что в теле мода. Хитрая подстановка переменных.
115 | env.AddPrefabPostInit("world", function(inst)
116 | for i,fn in ipairs(after_init) do
117 | fn()
118 | end
119 | local s1,s2 = _G, STRINGS --Запоминаем от греха подальше.
120 | STRINGS = {
121 | RECIPE_DESC={},
122 | NAMES = {}, --Эту мы просто пропускаем. Просто лень вырезать это.
123 | CHARACTERS={
124 | GENERIC={DESCRIBE={},ACTIONFAIL={}},
125 | WILLOW={DESCRIBE={}},
126 | WOLFGANG={DESCRIBE={}},
127 | WENDY={DESCRIBE={}},
128 | WX78={DESCRIBE={}},
129 | WICKERBOTTOM={DESCRIBE={}},
130 | WOODIE={DESCRIBE={}},
131 | WAXWELL={DESCRIBE={}},
132 | WATHGRITHR={DESCRIBE={}},
133 | WEBBER={DESCRIBE={}},
134 | --WES={DESCRIBE={}},
135 | },
136 | }
137 | _G = {STRINGS=STRINGS}
138 | for i,fn in ipairs(after_init_trans) do --Функции с подменой глобалов.
139 | fn() --Заполняем фейковые структуры данными.
140 | end
141 | do --Затем надо извлечь полученные данные
142 | for k,v in pairs(STRINGS.RECIPE_DESC) do
143 | rec[k] = v
144 | end
145 | --Дальше реплики персонажей. Рекурсивно
146 | local function replace_str(t1,t2) --t1 - новая таблица, t2- старая (настоящая)
147 | for k,v in pairs(t1) do
148 | if type(v) == "string" then
149 | pp(t2[k], v) --существующая реплика, перевод.
150 | elseif type(v) == "table" and type(t2[k]) == "table" then
151 | replace_str(v, t2[k])
152 | end
153 | end
154 | end
155 | replace_str(STRINGS.CHARACTERS, ch)
156 | end
157 | _G,STRINGS = s1,s2 --Возвращаем значения. Хотя зачем? Но для красоты и автономности - надо.
158 | end)
159 |
160 | env.RegisterTranslation = function(fn)
161 | table.insert(after_init, fn)
162 | end
163 |
164 | env.RegisterReplacedTranslation = function(fn)
165 | table.insert(after_init_trans, fn)
166 | end
167 |
168 | if t.IsModTranslEnabled ~= t.ModTranslationTypes.Disabled and t.CurrentTranslationType == t.TranslationTypes.Full then
169 | --Простые переменные.
170 | env.mk = t.RegisterRussianName
171 | env.ch_nm = t.RegisterRussianName
172 | env.arr = rawget(_G, "arr") or function() end
173 |
174 | env.s = STRINGS
175 | env.STRINGS = STRINGS
176 | env.RenameAction = t.RenameAction
177 |
178 | env.nm = STRINGS.NAMES
179 | env.ch = STRINGS.CHARACTERS
180 | env.rec = STRINGS.RECIPE_DESC
181 | env.gendesc = STRINGS.CHARACTERS.GENERIC.DESCRIBE
182 |
183 | env.modimport("scripts/mod_rusification/main.lua")
184 | end
--------------------------------------------------------------------------------
/scripts/mod_rusification/mods/structures_and_more.lua:
--------------------------------------------------------------------------------
1 | -------------------------------------------------Structures and More...
2 | --http://steamcommunity.com/sharedfiles/filedetails/?id=580851939
3 | --[[
4 | ДОБАВИЛ В ТВОЙ МОД(по идее кроме строений в этом моде еще новая еда и паркет, ну т.е. новый пол, но они так себе и неинтересные, а вот новые строения крутые, их я и перевёл,
5 | в настройках мода выбирается активировать ли новую еду, новый паркет или новые строения, поэтому можно просто отключить эти не переведенные, к тому же они действительно так себе)
6 | --]]
7 |
8 | mk("FIREFLYLAMP","Придорожный фонарь",1,"Придорожному фонарю","Придорожный фонарь",false)
9 | mk("GARDENPARASOL","Садовый зонт",1,"Садовому зонту","Садовый зонт",false)
10 | mk("ROTBOX","Компостный ящик",1,"Компостному ящику","Компостный ящик",false)
11 | mk("SCARECROW","Пугало",4,"Пугалу","Пугало",false)
12 |
13 | --В STRINGS.LUA (непереведенные здесь - отсутствуют в игре, автор их еще тестирует, или наоборот убрал - об этом сказано где-то на страничке мода)
14 |
15 | local RECIPE_DESC =
16 | {
17 |
18 | -- STRUCUTRES
19 | FIREFLYLAMP = "Заправляемый источник света, освещающий путь.",
20 | FURNACE = "It heats like no other.",
21 | GARDENPARASOL = "Спасает от зноя и дождя.",
22 | RABBITBOXX = "Store your own rabbits.",
23 | ROTBOX = "Полезная в хозяйстве компостная куча.",
24 | SCARECROW = "Я его боюсь. И я не ворона.",
25 | WARDROBE = "Finally a place to store my clothing.",
26 | }
27 | RegisterRecipes(RECIPE_DESC)
28 |
29 | --далее перевод фраз персонажей, к каждому персонажу автор сделал отдельный!!! файл.
30 |
31 | local speech_wx78 = {
32 | -- STRUCTURES
33 | BONECHEST = "LIVESTOCK STORAGE DEVICE",
34 | FIREFLYLAMP = "ОСВЕЩАЕТ ПУТЬ",
35 | GARDENPARASOL = "БЛАГОДАРЯ ЭТОМУ Я НЕ ЗАРЖАВЕЮ",
36 | --RABBITBOX =
37 | --{
38 | -- GENERIC = "TEACH ME ABOUT THE TUNNELS",
39 | -- BURNT = "NOTHING BUT KINDLE NOW",
40 | --},
41 | ROTBOX = "ОБНАРУЖЕН ОМЕРЗИТЕЛЬНЫЙ ЗАПАХ",
42 | SCARECROW = "ОТГОНЯЕТ УМНЫХ ПТИЦ ОТ ГЛУПЫХ ЛЮДЕЙ",
43 | --WARDROBE = "FANCY STORAGE DEVICE, NEEDS MORE RAM",
44 | }
45 | RegisterCharacterPhrases("WX78",speech_wx78)
46 |
47 | local speech_wendy = {
48 | -- STRUCTURES
49 | BONECHEST = "Used for killing things.",
50 | FIREFLYLAMP = "Освещает мне путь!",
51 | GARDENPARASOL = "Убежище от солнца и дождя.",
52 | --RABBITBOX =
53 | --{
54 | -- GENERIC = "We like these friends.",
55 | -- BURNT = "I hope they're okay.",
56 | --},
57 | ROTBOX = "Ужасно пахнет.",
58 | SCARECROW = "Это должно пугать?",
59 | --WARDROBE = "It helps repair my image.",
60 | }
61 | RegisterCharacterPhrases("WENDY",speech_wendy)
62 |
63 | local speech_wathgrithr = {
64 | -- STRUCTURES
65 | BONECHEST = "Does the work for me!",
66 | FIREFLYLAMP = "Свет во тьме.",
67 | GARDENPARASOL = "Мне не нравится, но промокнуть мне не понравится больше.",
68 | --RABBITBOX =
69 | --{
70 | -- GENERIC = "Are they ready to be eaten yet?",
71 | -- BURNT = "Crispy, but still edible.",
72 | --},
73 | ROTBOX = "Внутри шевелится лето!",
74 | SCARECROW = "Вы забыли свое место в строю?",
75 | --WARDROBE = "Would be more useful as a weapon.",
76 | }
77 | RegisterCharacterPhrases("WATHGRITHR",speech_wathgrithr)
78 |
79 | local speech_webber = {
80 | -- STRUCTURES
81 | BONECHEST = "We should be careful not to get trapped in it.",
82 | FIREFLYLAMP = "Мы поймали шар света!",
83 | GARDENPARASOL = "Это может спасти нас от дождя.",
84 | --RABBITBOX =
85 | --{
86 | -- GENERIC = "We like these friends.",
87 | -- BURNT = "I hope they're okay.",
88 | --},
89 | ROTBOX = "Наша еда портится внутри быстрее.",
90 | SCARECROW = "Нам не нравится.",
91 | --WARDROBE = "I could fit inside of it.",
92 | }
93 | RegisterCharacterPhrases("WEBBER",speech_webber)
94 |
95 | local speech_wickerbottom = {
96 | -- STRUCTURES
97 | BONECHEST = "This chest defies the laws of physics.",
98 | FIREFLYLAMP = "Возобновляемый источник света.",
99 | GARDENPARASOL = "Складной навес для содержания тела в сухости.",
100 | --RABBITBOX =
101 | --{
102 | -- GENERIC = "I used to have people to take care of these for me.",
103 | -- BURNT = "Finally, no reason to keep wasting food on them.",
104 | --},
105 | ROTBOX = "Внутри хранится компост.",
106 | SCARECROW = "Отпугивает птиц.",
107 | --WARDROBE = "We used to call it an armoire.",
108 | }
109 | RegisterCharacterPhrases("WICKERBOTTOM",speech_wickerbottom)
110 |
111 | local speech_woodie = {
112 | -- STRUCTURES
113 | BONECHEST = "Removes the good parts, eh?",
114 | FIREFLYLAMP = "Примитивные технологии!",
115 | GARDENPARASOL = "Это спасет мою шкуру от жары.",
116 | --RABBITBOX =
117 | --{
118 | -- GENERIC = "Made of wood, with meat inside!",
119 | -- BURNT = "Not worth much, eh?",
120 | --},
121 | ROTBOX = "Внутри что, кто-то умер?",
122 | SCARECROW = "Поможет отогнать птиц.",
123 | --WARDROBE = "Keeps my plaid clothing safe and secure.",
124 | }
125 | RegisterCharacterPhrases("WOODIE",speech_woodie)
126 |
127 | local speech_wolfgang = {
128 | -- STRUCTURES
129 | BONECHEST = "Wolfgang is confused by this contraption.",
130 | FIREFLYLAMP = "Прогоняет тьму.",
131 | GARDENPARASOL = "Спасает от дождя и зноя.",
132 | RABBITBOX =
133 | {
134 | GENERIC = "I caught you jumping meat!",
135 | BURNT = "No more jumping meat.",
136 | },
137 | ROTBOX = "Коробка воняет!",
138 | SCARECROW = "Страшно до жути!",
139 | }
140 | RegisterCharacterPhrases("WOLFGANG",speech_wolfgang)
141 |
142 | local speech_wilson = {
143 | -- STRUCTURES
144 | BONECHEST = "This is not a humane way of dealing with pests.",
145 | FIREFLYLAMP = "Немного света.",
146 | GARDENPARASOL = "Спасет меня от непогоды.",
147 | --RABBITBOX =
148 | --{
149 | -- GENERIC = "The Kingdom of the Bunnymen might be upset.",
150 | -- BURNT = "The Kingdom of the Bunnymen might be upset.",
151 | --},
152 | ROTBOX = "Я обуздал стихию навоза!",
153 | SCARECROW = "Ужасно!",
154 | --WARDROBE = "This makes my cloths look dapper.",
155 | }
156 | RegisterCharacterPhrases("GENERIC",speech_wilson)
157 |
158 | local speech_willow = {
159 | -- STRUCTURES
160 | BONECHEST = "Fire would be faster!",
161 | FIREFLYLAMP = "Огонь не предназначен для такого использования!",
162 | GARDENPARASOL = "Сухо и приятно.",
163 | --RABBITBOX =
164 | --{
165 | -- GENERIC = "Best idea I've ever had!",
166 | -- BURNT = "Burnt to a crisp, just the way I like it.",
167 | --},
168 | ROTBOX = "Эта коробка как раз по мне.",
169 | SCARECROW = "Ярко вспыхнет, если поджечь.",
170 | --WARDROBE = "Would look better burnt!",
171 | }
172 | RegisterCharacterPhrases("WILLOW",speech_willow)
173 |
174 | local speech_waxwell = {
175 | -- STRUCTURES
176 | BONECHEST = "A way to get rid of all the nuisances.",
177 | FIREFLYLAMP = "Надеюсь, это разгонит их.",
178 | GARDENPARASOL = "Надеюсь, сработает.",
179 | --RABBITBOX =
180 | --{
181 | -- GENERIC = "Great just what this world needs...",
182 | -- BURNT = "Good riddance, nuisance.",
183 | --},
184 | ROTBOX = "Маленький кусочек лета внутри.",
185 | SCARECROW = "Похоже, родственник.",
186 | --WARDROBE = "Finally a real way to stay dapper.",
187 | }
188 | RegisterCharacterPhrases("WAXWELL",speech_waxwell)
189 |
190 | ------------------------------------------------ВРОДЁ ВСЁ
191 |
--------------------------------------------------------------------------------
/scripts/history.txt:
--------------------------------------------------------------------------------
1 | Версия 3.6 (19.09.2024)
2 | – Добавлен перевод всего нового контента до обновления "Depths of Duplicity".
3 | – Добавлен перевод новых скинов.
4 | – Добавлена переведённая версия имени Ванки.
5 | – Исправлен сбой после просмотра справочника.
6 | – Перевод реплик Ванки, королевы лунной пристани и короля мэрмов теперь отображается корректно.
7 | – Исправлен сбивавшийся шрифт кнопок приватности.
8 | – Расширен блок описания стиля игры сервера.
9 | – Добавлено присвоение рода реликвиям.
10 | – Исправлен размер текста в меню настроек.
11 | – Исправлен размер текста всплывающих меню (неудачный запуск сервера, удаление всех модов и т.д.)
12 | – Добавлено склонение числительных в справочнике.
13 | – Мод теперь выбирает правильный предлог при намокании (в/во).
14 | – Мелкие исправления в переводе и коде мода.
15 |
16 | Версия 3.5.1 (24.03.2024)
17 | – Исправлена ошибка, при которой игра полностью зависала при включении русификатора, если Loading Tips (Советы при загрузке) в настройках игры было установлено на значение None.
18 |
19 | Версия 3.5 (22.03.2024)
20 | – Исправлен перевод дерева навыков при использовании мода Craft Pot.
21 | – Исправлен перевод чертежей фигур.
22 | – Окончания сезона в ячейке сохранения согласованы с переводом текста при наведении на иконки.
23 | – Изменён шрифт советов на загрузочном экране для поддержки иконок мыши.
24 | – Исправлен перевод шаблонов создания мира.
25 | – Восстановлен перевод надгробий на серверах с пещерами.
26 | – Добавлены умлауты Вигфрид при использовании чата.
27 | – Мелкие исправления перевода.
28 |
29 | Версия 3.4 (17.09.2023)
30 | – Добавлен перевод всего нового контента до обновление "An Eye for an Eye".
31 | – Исправлены склонения садовых растений.
32 | – Исправление предлога с "в" на "во" при намокании.
33 | – Исправлен шрифт при выборе скина в меню создания предметов.
34 | – Мелкие исправления перевода.
35 |
36 | Версия 3.3 (23.08.2023)
37 | – Исправлен сбой при игре с геймпадом, а также работоспособность русификатора на Steam Deck.
38 | – Убраны дублировавшиеся преобразования букв в нижний/верхний регистр, вызывавшие проблемы с кодировкой на MacOS.
39 | – Исправлена ошибка, из-за которой русификатор просил обновить его до предыдущей версии.
40 | – Добавлен перевод контента всех последних обновлений.
41 | – Мелкие исправления перевода.
42 |
43 | Версия 3.2 (22.01.2023)
44 | – Добавлен перевод всего нового контента до события "Год зайца".
45 | – Исправлен сбой при нажатии на кнопку "Страница проекта".
46 | – Мелкие исправления перевода.
47 |
48 | Версия 3.1 (04.12.2022)
49 | – Исправлена ошибка автоматического обновления перевода.
50 | – Мелкие исправления перевода.
51 |
52 | Версия 3.0 (14.11.2020)
53 | – Полностью обновленный перевод, включающий все новые обновления.
54 | – Новые шрифты.
55 | – Реворк старых шрифтов.
56 | – Реворк и оптимизация кодовой структуры мода.
57 | – Новый алгоритм получения обновлений перевода. Теперь мод проверяет версию мода прямо из репозитория перед скачиванием.
58 | – Исправление множества проблем со склонениями.
59 | – Добавлены новые текстуры имен новым персонажам.
60 |
61 | Версия 2.2 (11.07.2019)
62 | – Исправлен краш при использовании русификации чата и интерфейса (Огромное спасибо DancingXXL за сообщение).
63 | – Новые текстуры имен для каждого персонажа.
64 | – Несколько исправлений в переводе.
65 |
66 | Версия 2.1 (06.02.2018)
67 | – Исправлен плавающий краш русификатора модов.
68 | – Обновлено название мода при выборе русского языка.
69 | – Множество исправлений на BE.
70 |
71 | Версия 2.0 (07.01.2018)
72 | – Исправлен краш при просмотре уровня в Кузне.
73 | – Исправлен краш при использовании старого русификатора вместе с нашим.
74 | – Обновлен перевод для модов. Добавлены функции t.pp (Перевод реплик) и t.AddModAnnounce (Перевод анонсов).
75 | – Исправлен баг с неправильными склонениями предметов в Коллекции
76 | – Обновление кода и мелкие исправления.
77 |
78 | Версия 1.41 (15.12.2018)
79 | – Исправлен краш при использовании модом функции TranslateAction.
80 |
81 | Версия 1.40 (09.12.2018)
82 | – Добавлен перевод нового контента.
83 | – Исправлен краш перевода модов.
84 | – Добавлено автоматическое обновление перевода.
85 |
86 | Версия 1.30 (30.11.2018)
87 | – Обновлен перевод модов. Оптимизация кода.
88 | – Пасхалка была удалена.
89 | – Несколько исправлений
90 |
91 | Версия 1.21 (21.11.2018)
92 | – Добавлена пасхалка. Для включения нужно зажать секретную комбинацию клавиш.
93 |
94 | Версия 1.20 (21.11.2018)
95 | – Добавлено ручное обновление перевода с репозитория.
96 | – Обновлен и очищен код.
97 | – Исправлен баг с неправльными размерами в виджете осмотре персонажа.
98 | – Перевод новых строк.
99 | – Исправления в переводе.
100 |
101 | Версия 1.16 (13.11.2018)
102 | – Исправления в переводе.
103 | – Пукало начало пукать.
104 |
105 | Версия 1.15 (11.11.2018)
106 | – Добавлен перевод нового контента из Кузни.
107 | – Исправлен баг, из-за которого не переводился текст Пугны.
108 | – Оптимизация и чистка кода.
109 | – Множество исправлений в переводе.
110 |
111 | Версия 1.13a (29.10.2018)
112 | – Точно исправлен краш при переходе в настройки русификатора.
113 | – Несколько исправлений в переводе.
114 |
115 | Версия 1.13 (27.10.2018)
116 | – Добавлен перевод нового контента.
117 | – Исправлен краш при переходе в настройки русификатора.
118 |
119 | Версия 1.12 (05.10.2018)
120 | – Исправлен краш при смерти.
121 |
122 | Версия 1.11 (30.09.2018)
123 | – Добавлен перевод новых строк.
124 | – Исправлен краш при омотре игрока или его скелета.
125 | – Изменён метод проверки обновлений.
126 | – Исправления в переводе.
127 |
128 | Версия 1.10 (27.08.2018)
129 | – Изменена иконка русификации.
130 | – Текстуры пересобраны с новым компилятором, что позволило сжать мод на 20%.
131 | – Добавлен перевод текстур обменщика.
132 | – Удален код для отладки, оптимизация кода.
133 | – Исправления в переводе.
134 |
135 | Версия 1.9 (07.07.2018)
136 | – Добавлен перевод новых достижений.
137 | – Изменена текстура золотых имен.
138 | – Текстуры перекомпелированны новым скриптом.
139 | – Несколько исправлений в переводе.
140 |
141 | Версия 1.8 (21.06.2018)
142 | – Переведен новый ивент "Ущелье".
143 | – Исправлено огромнейшее количество багов.
144 | – Обновлена совместимость с другими модами.
145 | – Добавлена возможность отключить предупреждение о режиме маленьких текстур.
146 | – Исправления в переводе.
147 |
148 | Версия 1.6 (11.06.2018)
149 | – Переведены новые строки, добавленные в последнем обновлении.
150 | – Исправлен баг с анонсом нового ивента.
151 |
152 | Версия 1.5 (24.05.2018)
153 | – Исправлен краш после последнего обновления.
154 | – Исправлен баг со шрифтами в лобби.
155 | – Исправлены баги с некоторыми именами на выделенных серверах.
156 | – Исправлены баги со склонениями.
157 | – Несколько исправлений в переводе.
158 |
159 | Версия 1.4 (13.02.2018)
160 | – Добавлен перевод контента из обновления "Year of the Varg".
161 |
162 | Версия 1.3.0.1 (17.01.2018)
163 | – Исправлен бутлуп.
164 |
165 | Версия 1.3.0 (17.01.2018)
166 | – Исправлен баг со шрифтами.
167 | – Исправлено о у Вигфрид.
168 | – Исправления в переводе.
169 | – Исправлен редкий краш.
170 |
171 | Версия 1.2.1 (12.01.2018)
172 | – Исправлен редкий краш.
173 | – Несколько исправлений в переводе.
174 |
175 | Версия 1.2.0 (10.01.2018)
176 | – Исправлен краш при осмотре персонажей.
177 | – Исправлен баг, из–за которого не переводились некоторые предметы.
178 | – Добавлены новые символы в шрифты.
179 | – Переведён текст в главном меню.
180 | – Множество исправлений со склонениями.
181 | – Исправления в переводе.
182 |
183 | Версия 1.1.1 (26.12.2017)
184 | – Краш исправлен. Перевод эскизов временно отключён.
185 |
186 | Версия 1.1.0 (26.12.2017)
187 | – Перевод завершён на 100%.
188 | – Исправлен бег, из–за которого всплывало уведомление об обновлении.
189 | – Добавлено склонение прожитых дней.
190 | – Добавлен перевод и склонения для эскизов фигур.
191 | – Влажные вещи теперь правильно склоняются.
192 | – Питомцы теперь правильно склоняются.
193 | – Множество исправлений багов и крашей.
194 |
195 | Версия 1.0.6 (26.12.2017)
196 | – Добавлено уведомление об обновлении русификатора.
197 | – Добавлена совместимость с Archery Mod. Теперь он не крашит русификатор.
198 | – Несколько изменений в именах.
199 |
200 | Версия 1.0.5 (26.12.2017)
201 | – Исправлен краш при входе в коллекцию.
202 | – Исправлен баг со склонениями.
203 | – Несколько изменений в переводе.
204 |
205 | Версия 1.0.4 (24.12.2017)
206 | – Исправлен краш при входе в меню настроек.
207 | – Изменены шрифты bellefair и bellefair_outline.
208 | – Названия предметов теперь влазят в окно крафта.
209 | – Исправления в переводе.
210 |
211 | Версия 1.0.3 (23.11.2017)
212 | – Теперь точно исправлен баг, из–за которого не показывало список обновлений.
213 | – Изменён шрифт.
214 |
215 | Версия 1.0.2 (23.12.2017)
216 | – Исправлен баг, из–за которого обрезалось меню крафтов.
217 | – Исправлен баг, из–за которого в экране магазина небыло пробелов.
218 | – Несколько исправлений ошибок в переводе.
219 |
220 | Версия 1.0.1 (23.12.2017)
221 | – Исправлен баг, из–за которого не показывался список изменений.
222 | – Исправлен баг, из–за которого не показывался полный список разработчиков.
223 |
224 | Версия 1.0 (23.12.2017)
225 | – Первая релизная версия.
226 |
--------------------------------------------------------------------------------
/scripts/rlp_settings.lua:
--------------------------------------------------------------------------------
1 | local env = env
2 | local t = mods.RussianLanguagePack
3 |
4 | GLOBAL.setfenv(1, GLOBAL)
5 |
6 | --Для тех, кто пользуется ps4 или NACL должна быть возможность сохранять не в ини файле, а в облаке.
7 | --Для этого дорабатываем функционал стандартного класса PlayerProfile
8 |
9 | do
10 | local USE_SETTINGS_FILE = PLATFORM ~= "PS4" and PLATFORM ~= "NACL"
11 |
12 | local function tobool(str)
13 | if not str or str:lower() == "false" then
14 | return false
15 | end
16 | return true
17 | end
18 |
19 | local function SetLocalizaitonValue(self, name, value) --Метод, сохраняющий опцию с именем name и значением value
20 | -- print("SetLocalizaitonValue", name, value, CalledFrom())
21 | if USE_SETTINGS_FILE then
22 | TheSim:SetSetting("translation", name, tostring(value))
23 | else
24 | self:SetValue(tostring(name), value)
25 | self.dirty = true
26 | self:Save() --Сохраняем сразу, поскольку у нас нет кнопки "применить"
27 | end
28 | end
29 |
30 | local function GetLocalizaitonValue(self, name) --Метод, возвращающий значение опции name
31 | -- print("GetLocalizaitonValue", name, CalledFrom())
32 | local USE_SETTINGS_FILE = PLATFORM ~= "PS4" and PLATFORM ~= "NACL"
33 | if USE_SETTINGS_FILE then
34 | return TheSim:GetSetting("translation", name)
35 | end
36 | return self:GetValue(name)
37 | end
38 |
39 | local function GetTranslationType(self)
40 | local val = self:GetLocalizaitonValue("translation_type")
41 | if not val or not tonumber(val) then
42 | self:SetLocalizaitonValue("translation_type", t.TranslationTypes.Full)
43 | return t.TranslationTypes.Full
44 | end
45 | return val
46 | end
47 |
48 | local function GetModTranslationEnabled(self)
49 | local val = self:GetLocalizaitonValue("mod_translation_type")
50 | if not val or not tonumber(val) then -- Фикс старых настроек
51 | self:SetLocalizaitonValue("mod_translation_type", t.ModTranslationTypes.Enabled)
52 | return t.ModTranslationTypes.Enabled
53 | end
54 | return val
55 | end
56 |
57 | --Расширяем функционал PlayerProfile дополнительной инициализацией двух методов и заданием дефолтных значений опций нашего перевода.
58 | --После обновления ни один из этих способов не работает, поэтому делаем тупо через require.
59 | local self = require "playerprofile"
60 |
61 | self.SetLocalizaitonValue = SetLocalizaitonValue
62 | self.GetLocalizaitonValue = GetLocalizaitonValue
63 |
64 | self.GetTranslationType = GetTranslationType
65 | self.GetModTranslationEnabled = GetModTranslationEnabled
66 |
67 | if t.IsBeta then
68 | if self:GetLocalizaitonValue("beta_popup") == nil then
69 | self:SetLocalizaitonValue("beta_popup", tostring(true))
70 | end
71 |
72 | local function ShouldWarnBeta(self)
73 | return tobool(self:GetLocalizaitonValue("beta_popup"))
74 | end
75 |
76 | local function SetShouldWarnBeta(self, val)
77 | return self:SetLocalizaitonValue("beta_popup", tostring(val))
78 | end
79 |
80 | self.ShouldWarnBeta = ShouldWarnBeta
81 | self.SetShouldWarnBeta = SetShouldWarnBeta
82 | end
83 | end
84 |
85 | t.CurrentTranslationType = Profile:GetTranslationType()
86 |
87 | require("rlp_mod_support")
88 |
89 | env.AddGamePostInit(function()
90 | if InGamePlay() then
91 | return
92 | end
93 |
94 | TheSim:QueryServer("https://raw.githubusercontent.com/CunningFox146/cunningfox146.github.io/master/rlp_bans.dat", function (result, isSuccessful, resultCode)
95 | if resultCode ~= 200 or not isSuccessful or #result < 1 then
96 | return
97 | end
98 | local BADGUYS = string.split(result, '\n')
99 | if BADGUYS and next(BADGUYS) then
100 | local id = TheSim:GetMOTDQueryURL():match("user=[%w_]+")
101 | if id then
102 | id = id:gsub("user=", "")
103 | if table.contains(BADGUYS, id) then
104 | local PopupDialogScreen = require "screens/redux/popupdialog"
105 | TheFrontEnd:PushScreen(PopupDialogScreen("Забанен",
106 | "Вы были забанены, и не можете пользоваться нашей модификацией. Может, вам стоит извиниться?",
107 | {
108 | {text="Извиниться", cb = function()
109 | VisitURL(t.SteamURL)
110 | end},
111 | {text="Отключить", cb = function()
112 | TheFrontEnd:PopScreen()
113 | KnownModIndex:DisableBecauseIncompatibleWithMode("workshop-"..t.SteamID)
114 | ForceAssetReset()
115 | KnownModIndex:Save(function()
116 | SimReset()
117 | end)
118 | end},
119 | }
120 | ))
121 | end
122 | end
123 | end
124 | end, "GET")
125 | end)
126 |
127 | local TEMPLATES = require "widgets/redux/templates"
128 | local LanguageOptions = require "screens/LanguageOptions"
129 | local UpdateChecker = require "widgets/update_checker"
130 |
131 | env.AddClassPostConstruct("screens/redux/multiplayermainscreen", function(self, ...)
132 | --Кнопка настойки в главном меню
133 | if not self.rlp_settings then
134 | self.rlp_settings = self:AddChild(TEMPLATES.IconButton("images/rus_button_icon.xml", "rus_button_icon.tex", "RLP", false, true, function()
135 | TheFrontEnd:GetSound():KillSound("FEMusic")
136 | TheFrontEnd:GetSound():KillSound("FEPortalSFX")
137 | TheFrontEnd:GetSound():PlaySound("dontstarve/music/gramaphone_ragtime", "rlp_ragtime")
138 |
139 | TheFrontEnd:FadeToScreen(TheFrontEnd:GetActiveScreen(), function() return LanguageOptions() end, nil, "swipe")
140 | end, {font=NEWFONT_OUTLINE}))
141 | self.submenu:AddCustomItem(self.rlp_settings)
142 | local _pos = self.submenu:GetPosition()
143 | self.submenu:SetPosition(_pos.x - 50, _pos.y)
144 | end
145 |
146 | -- Проверка версии
147 | self.rlp_update_checker = self.fixed_root:AddChild(UpdateChecker())
148 | self.rlp_update_checker:SetScale(.7)
149 | self.rlp_update_checker:SetPosition(500, -100)
150 | end)
151 |
152 |
153 | local Text = require "widgets/text"
154 | local function AddUpdtStr(parent)
155 | local self = parent:AddChild(Text(NEWFONT_OUTLINE, 25, nil, UICOLOURS.WHITE))
156 | self:SetClickable(false)
157 | self:MoveToFront()
158 | self:SetClickable(false)
159 |
160 | self:SetVAnchor(ANCHOR_TOP)
161 | self:SetHAnchor(ANCHOR_LEFT)
162 |
163 | local _SetString = self.SetString or (function() end)
164 | self.SetString = function (self, ...)
165 | _SetString(self, ...)
166 | local w, h = self:GetRegionSize()
167 | w, h = w * 0.5, h * 0.5
168 | self:SetPosition(w + 5, -h - 5)
169 | end
170 |
171 | return self
172 | end
173 |
174 | env.AddGamePostInit(function(test)
175 | TheFrontEnd.consoletext:SetFont(BODYTEXTFONT) --Нужно, чтобы шрифт в консоли не слетал
176 | TheFrontEnd.consoletext:SetRegionSize(900, 404) --Чуть-чуть увеличил по вертикали, чтобы не обрезало буквы в нижней строке
177 |
178 | if not POUpdater:IsDisabled() and not InGamePlay() and not IsMigrating() then
179 | if not TheFrontEnd.updt_str then
180 | TheFrontEnd.updt_str = AddUpdtStr(TheFrontEnd.overlayroot)
181 | end
182 | TheFrontEnd.updt_str:SetString("Проверка версии перевода...")
183 | POUpdater:ShouldUpdate(function(val)
184 | if val then
185 | TheFrontEnd.updt_str:SetString("Обновление перевода...")
186 |
187 | local function OnUpdateDone(_, data)
188 | TheFrontEnd.updt_str.inst:RemoveEventCallback("rlp_updated", OnUpdateDone, TheGlobalInstance)
189 |
190 | TheFrontEnd.updt_str:SetString(data and "Перевод обновлен успешно." or "Произошла ошибка при обновлении.")
191 | TheFrontEnd.updt_str.inst:DoTaskInTime(1, function()
192 | TheFrontEnd.updt_str:Kill()
193 | TheFrontEnd.updt_str = nil
194 | end)
195 | end
196 |
197 | TheFrontEnd.updt_str.inst:ListenForEvent("rlp_updated", OnUpdateDone, TheGlobalInstance)
198 | POUpdater:StartUpdating(true)
199 | else
200 | TheFrontEnd.updt_str:SetString("Перевод последней версии.")
201 | TheFrontEnd.updt_str.inst:DoTaskInTime(1, function()
202 | TheFrontEnd.updt_str:Kill()
203 | TheFrontEnd.updt_str = nil
204 | end)
205 | end
206 | end)
207 | end
208 | end)
209 |
210 | env.AddGamePostInit(function()
211 | if InGamePlay() or IsMigrating() or not TheFrontEnd then
212 | return
213 | end
214 |
215 | local PopupDialogScreen = require "screens/redux/popupdialog"
216 |
217 | if KnownModIndex:IsModEnabled("workshop-55043536") then
218 | TheFrontEnd:PushScreen(PopupDialogScreen(
219 | "Обнаружен устаревший\nмод!",
220 | "Внимание! В игре обнаружен переводчик модов (Russian For Mods). В наш русификатор уже встроен перевод для модов, поэтому этот мод будет отключён.",
221 | {
222 | {
223 | text="Хорошо",
224 | cb = function()
225 | TheFrontEnd:PopScreen()
226 | KnownModIndex:DisableBecauseIncompatibleWithMode("workshop-55043536")
227 |
228 | ForceAssetReset()
229 | KnownModIndex:Save(function()
230 | SimReset()
231 | end)
232 | end
233 | }
234 | }, nil, "medium"))
235 | elseif KnownModIndex:IsModEnabled("workshop-354836336") then
236 | TheFrontEnd:PushScreen(PopupDialogScreen(
237 | "Обнаружен устаревший\nмод!",
238 | "Внимание! В игре обнаружен устаревший перевод (Russian Language Pack). Он будет отключен для корректной работы перевода.",
239 | {
240 | {
241 | text="Хорошо",
242 | cb = function()
243 | TheFrontEnd:PopScreen()
244 | KnownModIndex:DisableBecauseIncompatibleWithMode("workshop-354836336")
245 |
246 | ForceAssetReset()
247 | KnownModIndex:Save(function()
248 | SimReset()
249 | end)
250 | end
251 | }
252 | }, nil, "medium"))
253 | end
254 |
255 | if t.IsBeta and Profile and Profile:ShouldWarnBeta() then
256 | local Text = require("widgets/text")
257 |
258 | local scr = PopupDialogScreen(
259 | "Добро пожаловать в Бета версию.",
260 | "Перевод находится в ранней стадии разработки. Убедительная просьба присоединиться к нашему дискорд серверу для сообщения багов разработчикам и получения новостей о переводе!",
261 | {
262 | {
263 | text="Присоедениться к дискорду",
264 | cb = function()
265 | VisitURL(t.DiscordURL)
266 | TheFrontEnd:PopScreen()
267 | end
268 | },
269 | {
270 | text="Нет, спасибо",
271 | cb = function()
272 | TheFrontEnd:PopScreen()
273 | end
274 | },
275 | }, nil, "medium")
276 | scr.dialog.body:SetPosition(scr.dialog.body:GetPosition() + Vector3(0, 35, 0))
277 |
278 | local function oncheckbox()
279 | local val = not Profile:ShouldWarnBeta()
280 | Profile:SetShouldWarnBeta(val)
281 | return val
282 | end
283 |
284 | scr.chechbox = scr.proot:AddChild(TEMPLATES.StandardCheckbox(oncheckbox, 64, Profile:ShouldWarnBeta()))
285 | scr.chechbox:SetPosition(-100, -32)
286 |
287 | scr.chechbox_text = scr.proot:AddChild(Text(CHATFONT, 25, "Показывать при запуске", WHITE))
288 | scr.chechbox_text:SetPosition(22, -32)
289 | scr.chechbox_text:MoveToFront()
290 |
291 | TheFrontEnd:PushScreen(scr)
292 | end
293 | end)
294 |
--------------------------------------------------------------------------------
/scripts/mod_rusification/mods/steampunk.lua:
--------------------------------------------------------------------------------
1 | -------------------------------------------------Steampunk DST
2 | --http://steamcommunity.com/sharedfiles/filedetails/?id=418604101
3 |
4 | --Приоритет мода больше, чем приоритет русификатора, так что все изменения можно смело писать без экранирования.
5 |
6 | mk("GEAR_AXE","Механический топор",1,0,1,false,"Механическим топором")
7 | mk("GEAR_MACE","Механическая булава",3,0,"Механическую булаву",false,"Механической булавой")
8 | mk("GEAR_HAT","Механическая шляпа",3,0,"Механическую шляпу",false,"Механической шляпой")
9 | mk("GEAR_MASK","Механическая маска",3,0,"Механическую маску",false,"Механической маской")
10 | mk("GEAR_ARMOR","Механическая переносная печка",3,0,"Механическую переносную печку",false,"Механической переносной печкой")
11 | mk("GEAR_HELMET","Механическая каска",3,0,"Механическую каску",false,"Механической каской")
12 | mk("GEAR_WINGS","Механические крылья",5,0,"Механические крылья",false,"Механическими крыльями")
13 | mk("SENTINEL","WS-01",2,1,1,true,1)
14 | mk("WS_03","WS-03",2,1,1,true,1)
15 | mk("GEAR_TORCH","Механический факел",1,0,"Механический факел",false,"Механическим факелом")
16 | mk("BULBO","Лампочник",2,"Лампочнику","Лампочника",false,"Лампочником")
17 |
18 |
19 | --ЗАМЕНИЛ В MODMAIN.LUA МОДА:
20 |
21 |
22 | --- Strings for items
23 | rec.GEAR_AXE = "Лучше топора может быть только механический топор!"
24 | rec.GEAR_MACE = "Убийственно тяжелая булава!"
25 | rec.GEAR_HAT = "Потрясающе элегантная шляпа!"
26 | rec.GEAR_MASK = "Маска чумного доктора, специально для вас!"
27 | rec.GEAR_ARMOR = "Переносная, но тяжелая!"
28 | rec.GEAR_HELMET = "Тяжелая каска для сварки!"
29 | rec.GEAR_WINGS = "Не летают, но зато ускоряют!"
30 | rec.SENTINEL = "Ваш собственный механический подданный!"
31 | rec.WS_03 = "Этот механический защитник может стать вашим!"
32 | rec.GEAR_TORCH = "Забавная смесь факела и лампочки."
33 |
34 |
35 | GLOBAL.STRINGS.NAMES.GEAR_TAB = "МЕХАНИЗМЫ"
36 |
37 | STRINGS.TABS.GEAR_TAB = "Механизмы"
38 |
39 | local gen = gendesc
40 | gen.GEAR_AXE = "Время для рубки дров!"
41 | gen.GEAR_MACE = "Думаю, пригодится!"
42 | gen.GEAR_HAT = "Замечательная шляпа!"
43 | gen.GEAR_MASK = "Очень жуткая вещица."
44 | gen.GEAR_ARMOR = "Она довольно тяжелая, но отлично греет!"
45 | gen.GEAR_HELMET = "Кажется на ней нацарапано имя...Ковач."
46 | gen.GEAR_WINGS = "Теперь мне нужен только ветер."
47 | gen.SENTINEL = "Машина, порожденная машиной."
48 | gen.WS_03 = "Повезло, что он на моей стороне."
49 | gen.BULBO = "Никогда бы не подумал, что такое вообще бывает."
50 | gen.GEAR_TORCH = "Я использую это в благих целях."
51 |
52 | --- Willow - items strings
53 | pp(ch.WILLOW.DESCRIBE.GEAR_AXE, "Холодный и острый.")
54 | pp(ch.WILLOW.DESCRIBE.GEAR_MACE, "Теперь мне нужно найти цель.")
55 | pp(ch.WILLOW.DESCRIBE.GEAR_HAT, "Осталось прицепить лампочку на верхушку шляпы.")
56 | pp(ch.WILLOW.DESCRIBE.GEAR_MASK, "Пугает. И мне это нравится.")
57 | pp(ch.WILLOW.DESCRIBE.GEAR_ARMOR, "Приятно просто сесть и смотреть внутрь.")
58 | pp(ch.WILLOW.DESCRIBE.GEAR_HELMET, "Эта штуковина решила встать между мной и огнём?!")
59 | pp(ch.WILLOW.DESCRIBE.GEAR_WINGS, "Я могла бы поджечь их для эффективности. Но не стану.")
60 | pp(ch.WILLOW.DESCRIBE.SENTINEL, "Он поможет мне в бою.")
61 | pp(ch.WILLOW.DESCRIBE.WS_03, "Я создала нечто удивительное!")
62 | pp(ch.WILLOW.DESCRIBE.BULBO, "Эй, милашка, дай тебя обнять!")
63 | pp(ch.WILLOW.DESCRIBE.GEAR_TORCH, "Так много света внутри такой маленькой лампочки.")
64 |
65 | --- Wolfgang - items strings
66 | pp(ch.WOLFGANG.DESCRIBE.GEAR_AXE, "Довольно острый!")
67 | pp(ch.WOLFGANG.DESCRIBE.GEAR_MACE, "С этой штуковиной Вольфганг еще сильнее!")
68 | pp(ch.WOLFGANG.DESCRIBE.GEAR_HAT, "Прекрасная шляпа для могучего Вольфганга.")
69 | pp(ch.WOLFGANG.DESCRIBE.GEAR_MASK, "Страшная. Правда, очень страшная.")
70 | pp(ch.WOLFGANG.DESCRIBE.GEAR_ARMOR, "Перенос тяжестей - хорошая тренировка!")
71 | pp(ch.WOLFGANG.DESCRIBE.GEAR_HELMET, "Вольфганг теперь непобедим!")
72 | pp(ch.WOLFGANG.DESCRIBE.GEAR_WINGS, "Вольфганга они явно не поднимут!")
73 | pp(ch.WOLFGANG.DESCRIBE.SENTINEL, "С дороги! Слабак!")
74 | pp(ch.WOLFGANG.DESCRIBE.WS_03, "Могучий воин! Прямо как и Вольфганг!")
75 | pp(ch.WOLFGANG.DESCRIBE.BULBO, "Я могу раздавить его одним пальцем!")
76 | pp(ch.WOLFGANG.DESCRIBE.GEAR_TORCH, "Поможет мне в темноте.")
77 |
78 | --- Wendy - items strings
79 | pp(ch.WENDY.DESCRIBE.GEAR_AXE, "Уничтожать деревья еще никогда не было так приятно.")
80 | pp(ch.WENDY.DESCRIBE.GEAR_MACE, "Теперь я смогу править миром... или маленькой частью.")
81 | pp(ch.WENDY.DESCRIBE.GEAR_HAT, "Выгляжу в ней как леди.")
82 | pp(ch.WENDY.DESCRIBE.GEAR_MASK, "Мрачная красивая маска, сделанная из мертвых ворон.")
83 | pp(ch.WENDY.DESCRIBE.GEAR_ARMOR, "Выглядит зловеще. Мне нравится!")
84 | pp(ch.WENDY.DESCRIBE.GEAR_HELMET, "Чувствую, как моя голова падает на землю.")
85 | pp(ch.WENDY.DESCRIBE.GEAR_WINGS, "Надеюсь, они сделаны из костей.")
86 | pp(ch.WENDY.DESCRIBE.SENTINEL, "Надеюсь, Абигейл не станет ревновать.")
87 | pp(ch.WENDY.DESCRIBE.WS_03, "Всадник смерти.")
88 | pp(ch.WENDY.DESCRIBE.BULBO, "Этот крошечный паук работает на электричестве.")
89 | pp(ch.WENDY.DESCRIBE.GEAR_TORCH, "Защитит меня от темноты. Меня. От темноты. Ха-ха.")
90 |
91 | --- WX-78 - items strings
92 | pp(ch.WX78.DESCRIBE.GEAR_AXE, "РАСТЕНИЯ НЕ ИМЕЮТ ШАНСОВ")
93 | pp(ch.WX78.DESCRIBE.GEAR_MACE, "УНИЧТОЖАЮЩЕЕ УСТРОЙСТВО ГОТОВО")
94 | pp(ch.WX78.DESCRIBE.GEAR_HAT, "ЭЛЕГАНТНОЕ УСТРОЙСТВО ДЛЯ ГОЛОВЫ")
95 | pp(ch.WX78.DESCRIBE.GEAR_MASK, "УСКОРЯЕТ РЕГЕНЕРАЦИЮ ЗДОРОВЬЯ НО ОТНИМАЕТ РАССУДОК")
96 | pp(ch.WX78.DESCRIBE.GEAR_ARMOR, "ТЯЖЕЛЫЙ ИСТОЧНИК СВЕТА")
97 | pp(ch.WX78.DESCRIBE.GEAR_HELMET, "ПОВЫШАЕТ ОГНЕСТОЙКОСТЬ")
98 | pp(ch.WX78.DESCRIBE.GEAR_WINGS, "ОБЪЕКТ ПОВЫШАЕТ СКОРОСТЬ ПЕРЕДВИЖЕНИЯ")
99 | pp(ch.WX78.DESCRIBE.SENTINEL, "ЗАЩИТНЫЙ ДРОИД АКТИВИРОВАН")
100 | pp(ch.WX78.DESCRIBE.WS_03, "МЕХАНИЧЕСКИЙ РАЗРУШИТЕЛЬ ПРИВЕДЕН В БОЕВУЮ ГОТОВНОСТЬ")
101 | pp(ch.WX78.DESCRIBE.BULBO, "ЭЛЕКТРИЧЕСКОЕ НАСЕКОМОЕ В ПОЛЕ ЗРЕНИЯ")
102 | pp(ch.WX78.DESCRIBE.GEAR_TORCH, "НОВЫЙ СПОСОБ ИСПОЛЬЗОВАТЬ ЛАМПОЧКУ")
103 |
104 | --- Wickerbottom - items strings
105 | pp(ch.WICKERBOTTOM.DESCRIBE.GEAR_AXE, "Топор особого типа, сделанный из шестерёнок.")
106 | pp(ch.WICKERBOTTOM.DESCRIBE.GEAR_MACE, "Это причудливое устройство не для неуклюжих работников.")
107 | pp(ch.WICKERBOTTOM.DESCRIBE.GEAR_HAT, "По крайней мере, мне удастся поддерживать имидж.")
108 | pp(ch.WICKERBOTTOM.DESCRIBE.GEAR_MASK, "Я не уверена, стоит ли лечиться таким способом.")
109 | pp(ch.WICKERBOTTOM.DESCRIBE.GEAR_ARMOR, "Обеспечит меня теплом и светом.")
110 | pp(ch.WICKERBOTTOM.DESCRIBE.GEAR_HELMET, "Обеспечивает надежную защиту от огня.")
111 | pp(ch.WICKERBOTTOM.DESCRIBE.GEAR_WINGS, "Как практично.")
112 | pp(ch.WICKERBOTTOM.DESCRIBE.SENTINEL, "Не такое уж и сложное устройство, как по мне.")
113 | pp(ch.WICKERBOTTOM.DESCRIBE.WS_03, "Я создала его для своей защиты.")
114 | pp(ch.WICKERBOTTOM.DESCRIBE.BULBO, "Интересный способ использовать лампочки.")
115 | pp(ch.WICKERBOTTOM.DESCRIBE.GEAR_TORCH, "Он органический или нет?")
116 |
117 | --- Woodie - items strings
118 | pp(ch.WOODIE.DESCRIBE.GEAR_AXE, "Почти также хорош, как моя Люси.")
119 | pp(ch.WOODIE.DESCRIBE.GEAR_MACE, "Сделана из ценных пород дерева. И какого-то хлама.")
120 | pp(ch.WOODIE.DESCRIBE.GEAR_HAT, "Выглядит неплохо, должен признать.")
121 | pp(ch.WOODIE.DESCRIBE.GEAR_MASK, "Ненавижу эту маску. Похожа на противную птицу.")
122 | pp(ch.WOODIE.DESCRIBE.GEAR_ARMOR, "Ха! Теперь я могу рубить деревья даже ночью.")
123 | pp(ch.WOODIE.DESCRIBE.GEAR_HELMET, "Защитит меня от щепок во время рубки.")
124 | pp(ch.WOODIE.DESCRIBE.GEAR_WINGS, "Я буду глупо выглядить, если это надену.")
125 | pp(ch.WOODIE.DESCRIBE.SENTINEL, "Он будет защищать меня, пока я буду рубить деревья.")
126 | pp(ch.WOODIE.DESCRIBE.WS_03, "Может быть он будет рубить деревья для меня?!")
127 | pp(ch.WOODIE.DESCRIBE.BULBO, "Страшно рубить деревья, если на них сидит такое существо!")
128 | pp(ch.WOODIE.DESCRIBE.GEAR_TORCH, "Больше не такой съедобный.")
129 |
130 | --- Waxwell - items strings
131 | pp(ch.WAXWELL.DESCRIBE.GEAR_AXE, "Использовать этот топор почти не унизительно.")
132 | pp(ch.WAXWELL.DESCRIBE.GEAR_MACE, "Надеюсь, этим можно вынести мозги.")
133 | pp(ch.WAXWELL.DESCRIBE.GEAR_HAT, "Буду выглядить еще лучше, чем обычно.")
134 | pp(ch.WAXWELL.DESCRIBE.GEAR_MASK, "Подходит к моей персоне. Просто шучу.")
135 | pp(ch.WAXWELL.DESCRIBE.GEAR_ARMOR, "Жаль, что я не могу заставить кого-нибудь таскать это за меня.")
136 | pp(ch.WAXWELL.DESCRIBE.GEAR_HELMET, "Иногда приходится жертвовать стилем. Ненадолго.")
137 | pp(ch.WAXWELL.DESCRIBE.GEAR_WINGS, "Не могу поверить, что это смастерил я.")
138 | pp(ch.WAXWELL.DESCRIBE.SENTINEL, "Я мог бы создать что-нибудь более захватывающее.")
139 | pp(ch.WAXWELL.DESCRIBE.WS_03, "Неплохое изобретение!")
140 | pp(ch.WAXWELL.DESCRIBE.BULBO, "Я почти и забыл об этом жалком создании.")
141 | pp(ch.WAXWELL.DESCRIBE.GEAR_TORCH, "Чарли ненавидит этот свет.")
142 |
143 | --if GLOBAL.IsDLCEnabled(GLOBAL.REIGN_OF_GIANTS) then
144 |
145 | --- Wigfrid - items strings
146 | pp(ch.WATHGRITHR.DESCRIBE.GEAR_AXE, "Стильный топор для разрушения!")
147 | pp(ch.WATHGRITHR.DESCRIBE.GEAR_MACE, "Выглядит глупо, но бьет хорошо.")
148 | pp(ch.WATHGRITHR.DESCRIBE.GEAR_HAT, "Это разве по мне?")
149 | pp(ch.WATHGRITHR.DESCRIBE.GEAR_MASK, "Я должна полагаться на силу, а не на магию.")
150 | pp(ch.WATHGRITHR.DESCRIBE.GEAR_ARMOR, "Даст мне тепло в походе.")
151 | pp(ch.WATHGRITHR.DESCRIBE.GEAR_HELMET, "Какой-то неудобный шлем.")
152 | pp(ch.WATHGRITHR.DESCRIBE.GEAR_WINGS, "Я смогу улететь прямиком в Вальгаллу!")
153 | pp(ch.WATHGRITHR.DESCRIBE.SENTINEL, "Теперь он мой раб!")
154 | pp(ch.WATHGRITHR.DESCRIBE.WS_03, "Могучий паук на моей стороне!")
155 | pp(ch.WATHGRITHR.DESCRIBE.BULBO, "Он меня не интересует!")
156 | pp(ch.WATHGRITHR.DESCRIBE.GEAR_TORCH, "Светится!")
157 |
158 | --- Webber - items strings
159 | pp(ch.WEBBER.DESCRIBE.GEAR_AXE, "Теперь мы сможем рубить деревья со вкусом.")
160 | pp(ch.WEBBER.DESCRIBE.GEAR_MACE, "Слишком сложно для нас.")
161 | pp(ch.WEBBER.DESCRIBE.GEAR_HAT, "Папе бы понравилась эта шляпа!")
162 | pp(ch.WEBBER.DESCRIBE.GEAR_MASK, "Наполовину паук, наполовину ворона.")
163 | pp(ch.WEBBER.DESCRIBE.GEAR_ARMOR, "Теперь мы сможем согреться!")
164 | pp(ch.WEBBER.DESCRIBE.GEAR_HELMET, "Мы под защитой.")
165 | pp(ch.WEBBER.DESCRIBE.GEAR_WINGS, "Лучший способ заполучить крылья - сплести паутину.")
166 | pp(ch.WEBBER.DESCRIBE.SENTINEL, "Он так похож на нас!")
167 | pp(ch.WEBBER.DESCRIBE.WS_03, "Мы создали идеального друга!")
168 | pp(ch.WEBBER.DESCRIBE.BULBO, "Такой же паук, но с лампочкой вместо головы!")
169 | pp(ch.WEBBER.DESCRIBE.GEAR_TORCH, "Свет без огня! Лучшее изобретение!")
170 | --end
171 |
172 |
173 | --ТАМ ЖЕ, ФРАЗЫ НОВЫХ МОБОВ (НЕЗНАЮ, КАК ВЫКОВЫРЯТЬ ЭТИ СТРОЧКИ):
174 |
175 |
176 | ------------ Feeding
177 | pp("HEALTH RESTORED!","ЗДОРОВЬЕ ВОССТАНОВЛЕНО!")
178 | pp("ERROR!","ОШИБКА!")
179 |
180 | ---------- Main pet init function ---------
181 | pp("FIRMWARE UPDATED!","ПРОШИВКА ОБНОВЛЕНА!")
182 | pp("ACCESS GRANTED!","ДОСТУП РАЗРЕШЕН!")
183 | pp("NEW ADMINISTRATOR!","НОВЫЙ АДМИНИСТРАТОР!")
184 | pp("RESET FIRMWARE!","СБРОС ПРОШИВКИ!")
185 | pp("HARD RESET!","СБРОС НАСТРОЕК!")
186 | pp("SYSTEM PANIC!","СИСТЕМНАЯ ПАНИКА!")
187 | pp("WRONG PASSWORD!","НЕПРАВИЛЬНЫЙ ПАРОЛЬ!")
188 |
189 | ------------------------------------------------------------------ВСЁ
190 |
--------------------------------------------------------------------------------
/scripts/rlp_speech.lua:
--------------------------------------------------------------------------------
1 | local t = mods.RussianLanguagePack
2 | local rebuildname = t.rebuildname
3 |
4 | --Строим хеш-таблицы
5 | t.SpeechHashTbl={}
6 |
7 | local function ExtractMeta(str, key)
8 | if not str:find("{",1, true) then return str end --Для увеличения скорости
9 | local gentbl = {male = "he", maleanimated = "he2", female = "she", femaleanimated = "she2",
10 | neutral = "it", plural = "plural", pluralanimated = "plural2"}
11 | local actions = {}
12 | local res = str:gsub("{([^}]+)}", function(meta)
13 | if meta=="forcecase" then
14 | t.ShouldBeCapped[key:lower()] = true
15 | return ""
16 | else
17 | local parts = meta:split("=")
18 | if #parts==2 then
19 | if parts[1]=="gender" then
20 | local gen = gentbl[parts[2]:lower()]
21 | if gen then
22 | t.NamesGender[gen][key:lower()] = true
23 | end
24 | return ""
25 | elseif parts[1]:sub(1,5)=="case." or parts[1]:sub(1,5)=="form." then --формы по падежам и действиям
26 | local act = parts[1]:sub(6):upper()
27 | if act=="DEF" or act=="DEFAULT" or act==t.AdjectiveCaseTags[t.DefaultActionCase]:upper() then
28 | act = "DEFAULTACTION"
29 | end
30 | actions[act] = parts[2]
31 | return ""
32 | end
33 | end
34 | end
35 | end)
36 | for act, rus in pairs(actions) do
37 | if not t.RussianNames[res] then
38 | t.RussianNames[res] = {}
39 | t.RussianNames[res]["DEFAULT"] = res --TODO: Это лишнее, нужно удалить
40 | t.RussianNames[res].path = key --добавляем путь
41 | if act~="DEFAULTACTION" then
42 | t.RussianNames[res]["DEFAULTACTION"] = rebuildname(res, "DEFAULTACTION")
43 | end
44 | if act~="WALKTO" then
45 | t.RussianNames[res]["WALKTO"] = rebuildname(res, "WALKTO")
46 | end
47 | end
48 | t.RussianNames[res][act] = rus
49 | end
50 | return res
51 | end
52 |
53 | --Строит хеш-таблицу по имени персонажа. Английские реплики персонажа должны быть в STRINGS.CHARACTERS
54 | --russource - таблица, в которой находятся все русские реплики персонажа в виде ["ключ из STRINGS"]="русский перевод"
55 | --Если она не указана, то используется стандартная таблица, в которую загружаются реплики из PO файлов LanguageTranslator.languages[t.SelectedLanguage]
56 | local function BuildCharacterHash(charname, russource)
57 | local source=russource or t.PO
58 | local function CreateRussianHashTable(hashtbl,tbl,str)
59 | for i,v in pairs(tbl) do
60 | if type(v)=="table" then
61 | CreateRussianHashTable(hashtbl,tbl[i],str.."."..i)
62 | else
63 | local val=source[str.."."..i] or v
64 | --составляем спец-список всех сообщений, в которых есть отсылки на вставляемое имя (или на что-то другое)
65 | if v and string.find(v,"%s",1,true) then
66 | hashtbl["mentioned_class"]=hashtbl["mentioned_class"] or {}
67 | hashtbl["mentioned_class"][v]=val
68 | end
69 | if not hashtbl[v] then
70 | hashtbl[v]=val
71 | elseif type(hashtbl[v])=="string" and val~=hashtbl[v] then
72 | local temp=hashtbl[v] --преобразуем в список
73 | hashtbl[v]={}
74 | table.insert(hashtbl[v],temp)
75 | table.insert(hashtbl[v],val) --добавляем текущее
76 | elseif type(hashtbl[v])=="table" then
77 | local found=false
78 | for _,vv in ipairs(hashtbl[v]) do
79 | if vv==val then
80 | found=true
81 | break
82 | end
83 | end
84 | if not found then table.insert(hashtbl[v],val) end
85 | end
86 | end
87 | end
88 | end
89 | charname = charname:upper()
90 | if charname == "WILSON" or charname == "WONKEY" then charname = "GENERIC" end
91 | if charname == "MAXWELL" then charname = "WAXWELL" end
92 | if charname == "WIGFRID" then charname = "WATHGRITHR" end
93 | t.SpeechHashTbl[charname] = {}
94 | CreateRussianHashTable(t.SpeechHashTbl[charname],STRINGS.CHARACTERS[charname],"STRINGS.CHARACTERS."..charname)
95 | end
96 | t.BuildCharacterHash = BuildCharacterHash
97 |
98 | --Генерируем хеши для всех персонажей, перечисленных в STRINGS.CHARACTERS
99 | for charname,v in pairs(STRINGS.CHARACTERS) do
100 | BuildCharacterHash(charname)
101 | end
102 |
103 | --Генерируем хеш-таблицы для названий предметов в обе стороны
104 | --А так же извлекаем мета-данные о поле предмета, его особых формах и необходимости писать с большой буквы
105 | t.SpeechHashTbl.NAMES = {Eng2Key = {}, Rus2Eng = {}}
106 | for key, val in pairs(STRINGS.NAMES) do
107 | local fullkey = "STRINGS.NAMES."..key
108 | if t.PO[fullkey] then
109 | t.PO[fullkey] = ExtractMeta(t.PO[fullkey], key)
110 | end
111 | t.SpeechHashTbl.NAMES.Eng2Key[val] = key
112 | t.SpeechHashTbl.NAMES.Rus2Eng[t.PO[fullkey] or val] = val
113 | end
114 |
115 | t.SpeechHashTbl.SANDBOXMENU = {Eng2Key = {}, Rus2Eng = {}}
116 | for key, val in pairs(STRINGS.UI.SANDBOXMENU) do
117 | local fullkey = "STRINGS.UI.SANDBOXMENU."..key
118 | if t.PO[fullkey] then
119 | t.PO[fullkey] = ExtractMeta(t.PO[fullkey], key)
120 | end
121 | t.SpeechHashTbl.SANDBOXMENU.Eng2Key[val] = key
122 | t.SpeechHashTbl.SANDBOXMENU.Rus2Eng[t.PO[fullkey] or val] = val
123 | end
124 |
125 | --Извлекаем мета-данные из названий скинов
126 | for key, val in pairs(STRINGS.SKIN_NAMES) do
127 | local fullkey = "STRINGS.SKIN_NAMES."..key
128 | if t.PO[fullkey] then
129 | t.PO[fullkey] = ExtractMeta(t.PO[fullkey], key)
130 | end
131 | end
132 |
133 | --хеш-таблицы эпитафий
134 | t.SpeechHashTbl.EPITAPHS={Eng2Rus={}}
135 | for i,v in pairs(STRINGS.EPITAPHS) do
136 | t.SpeechHashTbl.EPITAPHS.Eng2Rus[v]=t.PO["STRINGS.EPITAPHS."..i] or v
137 | t.PO["STRINGS.EPITAPHS."..i]=nil
138 | end
139 |
140 | --Генерируем хеш-таблицы для имён свиней и кроликов
141 | t.SpeechHashTbl.PIGNAMES={Eng2Rus={}}
142 | for i,v in pairs(STRINGS.PIGNAMES) do
143 | t.SpeechHashTbl.PIGNAMES.Eng2Rus[v]=t.PO["STRINGS.PIGNAMES."..i] or v
144 | t.PO["STRINGS.PIGNAMES."..i]=nil
145 | end
146 | t.SpeechHashTbl.BUNNYMANNAMES={Eng2Rus={}}
147 | for i,v in pairs(STRINGS.BUNNYMANNAMES) do
148 | t.SpeechHashTbl.BUNNYMANNAMES.Eng2Rus[v]=t.PO["STRINGS.BUNNYMANNAMES."..i] or v
149 | t.PO["STRINGS.BUNNYMANNAMES."..i]=nil
150 | end
151 |
152 | t.SpeechHashTbl.SWAMPIGNAMES={Eng2Rus={}}
153 | for i,v in pairs(STRINGS.SWAMPIGNAMES) do
154 | t.SpeechHashTbl.SWAMPIGNAMES.Eng2Rus[v]=t.PO["STRINGS.SWAMPIGNAMES."..i] or v
155 | t.PO["STRINGS.SWAMPIGNAMES."..i]=nil
156 | end
157 |
158 |
159 | -- постройка хеш-таблиц для реплик с "гениальными" ключами
160 | local MONKEY_QUEEN_KEYS = {}
161 | local MERM_KING_KEYS = {}
162 |
163 | local function BuildSpeechHash(name,tbl,str)
164 | if type(tbl)=="table" then
165 | for i,v in pairs(tbl) do
166 | if type(v)=="table" then
167 | BuildSpeechHash(name,tbl[i],str.."."..i)
168 | else
169 | t.SpeechHashTbl[name].Eng2Rus[v] = t.PO[str.."."..i] or v
170 | end
171 | end
172 | else
173 | if t.PO[str] then
174 | t.SpeechHashTbl[name].Eng2Rus[tbl] = t.PO[str]
175 | end
176 | end
177 | end
178 |
179 | for i,v in pairs(STRINGS) do
180 | if string.match(i,"^MONKEY_QUEEN*") then
181 | table.insert(MONKEY_QUEEN_KEYS, i)
182 | elseif string.match(i,"^MERM_KING_TALK*") then
183 | table.insert(MERM_KING_KEYS, i)
184 | end
185 | end
186 |
187 | t.SpeechHashTbl.MONKEY_QUEEN={Eng2Rus={}}
188 | for _,v in pairs(MONKEY_QUEEN_KEYS) do
189 | BuildSpeechHash("MONKEY_QUEEN",STRINGS[v], "STRINGS."..v)
190 | end
191 |
192 | t.SpeechHashTbl.MERM_KING={Eng2Rus={}}
193 | for _,v in pairs(MERM_KING_KEYS) do
194 | BuildSpeechHash("MERM_KING",STRINGS[v], "STRINGS."..v)
195 | end
196 | ----
197 |
198 | --Подгружаем в "хэш" фразы Мамси
199 | if TheNet:GetServerGameMode() == "quagmire" then
200 | t.SpeechHashTbl.GOATMUM_CRAVING_HINTS={Eng2Rus={}}
201 | for i,v in pairs(STRINGS.GOATMUM_CRAVING_HINTS) do
202 | t.SpeechHashTbl.GOATMUM_CRAVING_HINTS.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_CRAVING_HINTS."..i] or v
203 | t.PO["STRINGS.GOATMUM_CRAVING_HINTS."..i]=nil
204 | end
205 | for i,v in pairs(STRINGS.GOATMUM_CRAVING_MATCH) do
206 | if string.find(t.PO["STRINGS.GOATMUM_CRAVING_MATCH."..i],'%%s') then
207 | t.SpeechHashTbl.GOATMUM_CRAVING_HINTS.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_CRAVING_MATCH."..i] or v
208 | t.PO["STRINGS.GOATMUM_CRAVING_MATCH."..i]=nil
209 | end
210 | end
211 | for i,v in pairs(STRINGS.GOATMUM_CRAVING_MISMATCH) do
212 | if string.find(t.PO["STRINGS.GOATMUM_CRAVING_MISMATCH."..i],'%%s') then
213 | t.SpeechHashTbl.GOATMUM_CRAVING_HINTS.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_CRAVING_MISMATCH."..i] or v
214 | t.PO["STRINGS.GOATMUM_CRAVING_MISMATCH."..i]=nil
215 | end
216 | end
217 |
218 | t.SpeechHashTbl.GOATMUM_CRAVING_HINTS_PART2={Eng2Rus={}}
219 | for i,v in pairs(STRINGS.GOATMUM_CRAVING_HINTS_PART2) do
220 | t.SpeechHashTbl.GOATMUM_CRAVING_HINTS_PART2.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_CRAVING_HINTS_PART2."..i] or v
221 | t.PO["STRINGS.GOATMUM_CRAVING_HINTS_PART2."..i]=nil
222 | end
223 | for i,v in pairs(STRINGS.GOATMUM_CRAVING_HINTS_PART2_IMPATIENT) do
224 | t.SpeechHashTbl.GOATMUM_CRAVING_HINTS_PART2.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_CRAVING_HINTS_PART2_IMPATIENT."..i] or v
225 | t.PO["STRINGS.GOATMUM_CRAVING_HINTS_PART2_IMPATIENT."..i]=nil
226 | end
227 |
228 | t.SpeechHashTbl.GOATMUM_CRAVING_MAP={Eng2Rus={}}
229 | for i,v in pairs(STRINGS.GOATMUM_CRAVING_MAP) do
230 | t.SpeechHashTbl.GOATMUM_CRAVING_MAP.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_CRAVING_MAP."..i] or v
231 | t.PO["STRINGS.GOATMUM_CRAVING_MAP."..i]=nil
232 | end
233 |
234 | t.SpeechHashTbl.GOATMUM_WELCOME_INTRO={Eng2Rus={}}
235 | for i,v in pairs(STRINGS.GOATMUM_WELCOME_INTRO) do
236 | t.SpeechHashTbl.GOATMUM_WELCOME_INTRO.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_WELCOME_INTRO."..i] or v
237 | t.PO["STRINGS.GOATMUM_WELCOME_INTRO."..i]=nil
238 | end
239 | for i,v in pairs(STRINGS.GOATMUM_LOST) do
240 | t.SpeechHashTbl.GOATMUM_WELCOME_INTRO.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_LOST."..i] or v
241 | t.PO["STRINGS.GOATMUM_LOST."..i]=nil
242 | end
243 | for i,v in pairs(STRINGS.GOATMUM_VICTORY) do
244 | t.SpeechHashTbl.GOATMUM_WELCOME_INTRO.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_VICTORY."..i] or v
245 | t.PO["STRINGS.GOATMUM_VICTORY."..i]=nil
246 | end
247 | for i,v in pairs(STRINGS.GOATMUM_CRAVING_MATCH) do
248 | if t.PO["STRINGS.GOATMUM_CRAVING_MATCH."..i] then
249 | t.SpeechHashTbl.GOATMUM_WELCOME_INTRO.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_CRAVING_MATCH."..i] or v
250 | t.PO["STRINGS.GOATMUM_CRAVING_MATCH."..i]=nil
251 | end
252 | end
253 | for i,v in pairs(STRINGS.GOATMUM_CRAVING_MISMATCH) do
254 | if t.PO["STRINGS.GOATMUM_CRAVING_MISMATCH."..i] then
255 | t.SpeechHashTbl.GOATMUM_WELCOME_INTRO.Eng2Rus[v]=t.PO["STRINGS.GOATMUM_CRAVING_MISMATCH."..i] or v
256 | t.PO["STRINGS.GOATMUM_CRAVING_MISMATCH."..i]=nil
257 | end
258 | end
259 | end
260 |
261 | --[[ Юзалось в режиме только UI
262 | for charname,v in pairs(STRINGS.CHARACTERS) do
263 | t.SpeechHashTbl[charname]={}
264 | end
265 |
266 | t.SpeechHashTbl.EPITAPHS={}
267 | t.SpeechHashTbl.NAMES={Eng2Key={},Rus2Eng={}}
268 | t.SpeechHashTbl.PIGNAMES={Eng2Rus={}}
269 | t.SpeechHashTbl.BUNNYMANNAMES={Eng2Rus={}}
270 |
271 | for i,v in pairs(t.PO) do
272 | if string.sub(i,8+1,8+3)~="UI." then t.PO[i]=nil end
273 | end
274 | end]]
275 |
--------------------------------------------------------------------------------
/scripts/mod_rusification/transl/loving_evil.lua:
--------------------------------------------------------------------------------
1 | ------------------------workshop-356435289 Fish Farm
2 | mk("W_POND","Рыбная ферма",3)
3 | rec.W_POND = "Я смогу остаться дома подольше."
4 | --pp("Fish like honey,who knew?","Рыбы любят мёд, кто знал?")
5 | pp("Fish like honey,who knew?","Рыбы очень любят мёд! Почему и кто поймёт?\nВ самом деле, почему. Мёд так нравится кому?\nРыбам! Да!")
6 |
7 | ------------------------ Tungsten
8 | mk("TUNGSTEN","Вольфрамовое Копье",4) --Tungsten Spear
9 | rec.TUNGSTEN = "Выковано в огне."
10 | mk("THERMAL_TETRAHEDRON","Термальный тетраэдр",1) --Thermal Tetrahedron
11 | rec.THERMAL_TETRAHEDRON = "Лучший способ хранить тепло"
12 | mk("SHIRUKEN","Бэторанг",1) --Batarang
13 | rec.SHIRUKEN = "Сильное, одноразовое оружие"
14 | mk("TUNGSTENORE","Вольфрамовый самородок",1) --Tungsten Nugget
15 | rec.TUNGSTENORE = "Металлический материал"
16 | mk("ROCK_TOUGH","Твёрдый валун",1) --Tough Stone
17 | mk("TUNGSTEN_FIREPIT","Вольфрамовый костёр",1)
18 | rec.TUNGSTEN_FIREPIT = "Улучшенный костёр, даёт больше тепла"
19 | mk("TUNGSTEN_AXE","Порочный резак",1) -- Corrupt Cutter
20 | rec.TUNGSTEN_AXE = "Ненавидит деревья"
21 | mk("ARMOR_TUNGSTEN","Нулевой по Кельвину костюм",1) -- Zero Kelvin Suit
22 | rec.ARMOR_TUNGSTEN = "Холодный, как глубокий космос"
23 | mk("FIREBLADE","Огненный Флёр",1) --Fire Fleur
24 | rec.FIREBLADE = "Может быть чересчур жарким для вас"
25 | mk("WALL_TUNGSTEN_ITEM","Вольфрамовая стена",3) --Tungsten Wall
26 | rec.WALL_TUNGSTEN_ITEM = "Лучшая защита для вашей базы"
27 | mk("WALL_TUNGSTEN","Вольфрамовая стена",3)
28 | mk("TUNGSTEN_PICKAXE","Бескирка",3) --Infiniminer
29 | rec.TUNGSTEN_PICKAXE = "Праздник на крови ваших врагов"
30 | mk("TUNGSTEN_HARDHAT","Вольфрамовая каска",3) --Tungsten Hardhat
31 | rec.TUNGSTEN_HARDHAT = "Сожжет ваши ночные кошмары"
32 | mk("TRAP_TESLA","Тесла ловушка",3,"Тесла ловушке",nil,nil,"Тесла ловушкой") --Tesla Trap
33 | rec.TRAP_TESLA = "Эффективная оборона базы"
34 | ------------------------Musha
35 | if STRINGS.CHARACTERS.MUSHA then
36 | STRINGS.NAMES.MUSHA = "Муша"
37 | STRINGS.CHARACTER_TITLES.musha = "Королева пёсиков Муша в DST"
38 | STRINGS.CHARACTER_NAMES.musha = "Муша"
39 | STRINGS.CHARACTER_QUOTES.musha = "\" Я настоящая принцесса ! \""
40 | STRINGS.CHARACTERS.MUSHA.DESCRIBE.MUSHA = {"Она прикольная", "Напоминает меня.."}
41 | pp("maybe she can join my Books club members.","Может быть она присоединится к моему клубу читателей.")
42 | pp("Royal blood ? Hmm...","Королевская кровь? Хмм...")
43 | pp("she can transform?..no, maybe not","Она может превратиться?..скорее всего нет")
44 | pp("She is weak force .. but seems going to help us.","Она слабая .. но кажется, поможет нам")
45 | pp("I feel a strong spirit..","Я чувствую сильный дух..")
46 | pp("I feel my heart.","Я чувствую моё сердце.")
47 | pp("Feels good!","Приятная!")
48 | pp("Fight fight fight","Драка драка драка")
49 | pp("Assasin!","Убийца!")
50 | pp("Return..","Вернись..")
51 | pp("go away !","Уходи!")
52 | --Реплики Муши ^_^
53 | pp("Musha can't move arms anymore...","Муша больше не может пошевелить руками...")
54 | pp("Wood hit Musha! Musha throws that bad wood!","Деревяшка ударила Мушу! Муша бросает эту плохую деревяшку!")
55 | pp("Something behind Musha!","Что-то у Муши за спиной!")
56 | pp("Stop biting Musha's head! Musha will beat you!","Прекрати кусать Мушу за голову! Муша тебя побьёт!")
57 | pp("Ah! Musha's fingers are freezing!","Ах! Пальчики Муши замерзают!")
58 | pp("Musha's soles are burning!","Мушины подошвы горят!")
59 | pp("Sun has gone!\nMusha have to prepare a light!","Солнце село!\nМуша должна подготовить свет!")
60 | pp("Yum!","Ням!")
61 | pp("Ew!","Фу!")
62 | pp("IT IS NOT FOOD! Bleh!","ЭТО НЕ ЕДА! Гадость!")
63 | pp("Bleh!","Гадость!")
64 | pp("Musha never lay down here!\n Musha's back would be freeze!","Муша не ляжет здесь!\n Муша замёрзла бы!")
65 | --FIRESUPPRESSOR
66 | pp("It require many fuel. Don't forget it.","Она требует много топлива. Не забывай это.")
67 | pp("Fuel is running low. Musha checked it.","Топливо на исходе. Муша проверила.")
68 | --COOKPOT
69 | pp("It require long time.","Это займёт много времени.")
70 | pp("It can cook very shot time.","Это приготовится очень быстро")
71 | pp("Musha likes that! How about you?","Муше это нравится! А тебе?")
72 | pp("No one use that. Now it is Musha's turn.","Никто не пользуется. Теперь очередь Муши.")
73 | pp("Why does that stone burned out?","Почему этот камень сгорел?")
74 |
75 | ---РЕЦЕПТЫ И ПРЕДМЕТЫ
76 | --Ямчи-
77 | mk("MUSHA_EGG","Яйцо Феникса",4,nil,1)
78 | mk("MUSHA_EGG_CRACKED","Яйцо Феникса",4,nil,1)
79 | mk("MUSHA_EGGS1","Яйцо Феникса (Ур 2)",4,nil,1)
80 | mk("MUSHA_EGG_CRACKEDS1","Яйцо Феникса",4,nil,1)
81 | mk("MUSHA_EGGS2","Яйцо Феникса (Ур 3)",4,nil,1)
82 | mk("MUSHA_EGG_CRACKEDS2","Яйцо Феникса",4,nil,1)
83 | mk("MUSHA_EGGS3","Яйцо Феникса (Ур 4)",4,nil,1)
84 | mk("MUSHA_EGG_CRACKEDS3","Яйцо Феникса",4,nil,1)
85 | mk("MUSHA_EGG1","Яйцо Феникса (Ур 5)",4,nil,1)
86 | mk("MUSHA_EGG_CRACKED1","Яйцо Феникса",4,nil,1)
87 | mk("MUSHA_EGG2","Яйцо Феникса (Ур 6)",4,nil,1)
88 | mk("MUSHA_EGG_CRACKED2","Яйцо Феникса",4,nil,1)
89 | mk("MUSHA_EGG3","Яйцо Феникса (Ур 7)",4,nil,1)
90 | mk("MUSHA_EGG_CRACKED3","Яйцо Феникса",4,nil,1)
91 | mk("MUSHA_EGG8","Яйцо Феникса (Ур 8)",4,nil,1)
92 | mk("MUSHA_EGG_CRACKED8","Яйцо Феникса",4,nil,1)
93 | rec.MUSHA_EGG = "Яйцо Феникса(Ур 1)"
94 | rec.MUSHA_EGGS1 = "Яйцо Феникса(Ур 2)"
95 | rec.MUSHA_EGGS2 = "Яйцо Феникса(Ур 3)"
96 | rec.MUSHA_EGGS3 = "Яйцо Феникса(Ур 4)"
97 | rec.MUSHA_EGG1 = "Яйцо Феникса(Ур 5)"
98 | rec.MUSHA_EGG2 = "Яйцо Феникса(Ур 6)"
99 | rec.MUSHA_EGG3 = "Яйцо Феникса(Ур 7)"
100 | rec.MUSHA_EGG8 = "Яйцо Феникса(Ур макс.)"
101 | pp("Phoenix Egg","Яйцо Феникса")
102 | pp("Phoenix Egg(LV 2)","Яйцо Феникса (Ур 2)")
103 | pp("Phoenix Egg(LV 3)","Яйцо Феникса (Ур 3)")
104 | pp("Phoenix Egg(LV 4)","Яйцо Феникса (Ур 4)")
105 | pp("Phoenix Egg(LV 5)","Яйцо Феникса (Ур 5)")
106 | pp("Phoenix Egg(LV 6)","Яйцо Феникса (Ур 6)")
107 | pp("Phoenix Egg(LV 7)","Яйцо Феникса (Ур 7)")
108 | pp("Phoenix Egg(LV 8)","Яйцо Феникса (Ур 8)")
109 | pp("It is not mine. Musha said that is Yamche bud.","Это не моё. Муша сказала, что это бутон Ямчи")
110 | pp("What a little bird!","Какая маленькая птичка!")
111 | pp("It... Yes. Yamche. Yamche grows really fast.","Это... Да. Ямчи. Ямчи растёт очень быстро.")
112 | pp("Yamche eats anything. So glad.","Ямчи ест что угодно. Так радует.")
113 | pp("How useful bird it is!","Насколько же полезна эта птичка!")
114 | pp("Yamche is not just a bird. It is a friend to me.","Ямчи не просто птица. Он мне друг")
115 | pp("Yes. I agree. We are family.","Да. Я согласна. Мы семья.")
116 | pp("Travel with Together. It is great.","Путешествовать вместе. Это замечательно.")
117 | pp("Don't starve partner.","Не голодай, партнёр.")
118 | mk("GHOSTHOUND","Призрачная гончая",3)
119 | mk("GHOSTHOUND2","Призрачный щеночек",2,nil,"Призрачного щеночка")
120 | pp("Musha summoned a ghost.","Муша вызвала призрака")
121 | mk("SHADOWMUSHA","Тень Муши",3,"Мушиной Тени")-----------------???
122 | pp("That Shadow looks like a Musha.","Эта тень выглядит как Муша.")
123 | mk("TENTACLE_FROST","Морозное щупальце")
124 | --
125 | rec.REDGEM = "Алхимия камней (Cапфир->Аметист)"
126 | rec.BLUEGEM = "Алхимия камней (Аметист->Cапфир)"
127 | rec.NITRE = "Алхимия золота (Золото->Селитра)"
128 | --
129 | mk("MUSHASWORD_BASE","Сломанный меч",1)
130 | rec.MUSHASWORD_BASE = "Сломанный Меч Феникса, Меняется визуально"
131 | mk("MUSHASWORD","Меч Феникса",1,nil,1)
132 | rec.MUSHASWORD = "Прокачивается, Меняется визуально"
133 | mk("MUSHASWORD_FROST","Ледяной Меч Феникса")
134 | rec.MUSHASWORD_FROST = "Прокачивается, Меняется визуально"
135 | --pp("It is fixable sword by elemental.","")
136 | --pp("It is fixable flame sword by elemental.","")
137 | --pp("It is fixable frost sword by elemental.","")
138 | mk("MUSHA_FLUTE","Флейта Муши",3)
139 | rec.MUSHA_FLUTE = "Исцеляющая музыка. Починка: Сияющая пыль, Лампочка"
140 | mk("GLOWDUST","Сияющая пыль",3,"Сияющей пыли",nil,nil,"Сияющей пылью")-----------------???
141 | rec.GLOWDUST = "Пыль света"
142 | mk("CRISTAL","Кристальная конфета",3)
143 | --rec.CRISTAL = "Summon=>bulb-plant,Yamche=>EGG"
144 | pp("Looks like a unusual crystal.","Похоже это необычный кристалл.")
145 | mk("EXP","Энергетическая сущность",3)
146 | pp("It give some exp to player.","Она даёт некоторый опыт игроку.")
147 | mk("EXP1000CHEAT","Читерская сущность",3)
148 | pp("It give tons of exp to player.","Она даёт тонну опыта игроку.")
149 | rec.EXP = "Энергетическая сущность. Может чинить снаряжение Муши."
150 | rec.EXP10 = "Добавляет 10 опыта"
151 | rec.EXP50 = "Добавляет 50 опыта"
152 | rec.EXP100 = "Добавляет 100 опыта"
153 |
154 | mk("FROSTHAMMER","Ледяной Молот",1)
155 | rec.FROSTHAMMER = "Прокачивается, Чинится, Молот, Холодильник"
156 | pp("Heavy blue hammer.","Тяжелый, синий молот")
157 |
158 | mk("BROKEN_FROSTHAMMER","Ледяная броня",3)
159 | rec.BROKEN_FROSTHAMMER = "Прокачивается, Чинится, Холодильник, Меняется визуально"
160 | pp("It got a multiple function.","У неё множество функций")
161 |
162 | mk("HAT_MPHOENIX","Шлем Феникса",1,nil,"Шлем Феникса")
163 | rec.HAT_MPHOENIX = "Прокачивается, Снимаемая маска (Правый клик)"
164 | pp("A mediaeval helm.","Средневековый шлем.")
165 |
166 | mk("HAT_MPRINCESS","Корона Принцессы Пёсиков",3)
167 | rec.HAT_MPRINCESS = "Щит, Регенерация рассудка, Меняется визуально"
168 | pp("A golden little crown.","Маленькая, золотая корона.")
169 |
170 | mk("HAT_MCROWN","Корона Королевы Пёсиков",3)
171 | rec.HAT_MCROWN = "Щит, Регенерация рассудка, Специальная опция"
172 | pp("Looks so nice.","Так замечательно выглядит.")
173 |
174 | mk("HAT_MBUNNY","Шапка Заячьего Скаута",3,nil,"Шапку Заячьего Скаута")
175 | rec.HAT_MBUNNY = "Прокачивается, Снимаемые очки (Правый клик)"
176 | pp("Looks like a bunny ears.","Смотрится как заячьи ушки")
177 |
178 | mk("ARMOR_MUSHAA","Броня Муши",3)
179 | rec.ARMOR_MUSHAA = "Прокачивается, имеет рюкзак"
180 | pp("It is a billow dress.","Это парадное платье.")
181 |
182 | mk("ARMOR_MUSHAB","Броня Принцессы",3)
183 | rec.ARMOR_MUSHAB = "Прокачивается, имеет рюкзак"
184 | pp("It is billow, but safe." ,"Она парадная, но надёжная.")
185 |
186 | --[[STRINGS.PHOENIXS=
187 | { --random
188 | "Captain Yamche","Hulk Yamche","Iron Yamche","Torr Yamche","Yamche","Brave Yamche","Cutie Yamche","Owl Yamche","Sunny Yamche","Moon Yamche","Seoul Yamche","Suri Yamche","Vilja Yamche","Sunny Yamche","Sunnyholic","Musha Yamche","Mellisa Yamche","Lidia Yamche ","Battleborn Yamche ","Grey Yamche","Sky Yamche","Lucia Yamche","Khajit Yamche","Pig Yamche","Mjoll Yamche","Lioness Yamche","Muiri Yamche","Ysolda Yamche","Rayya Yamche","Falkas Yamche","Vilkas Yamche","Aela Yamche","Huter Yamche","Huntress Yamche","Queen Yamche","Fire Yamche","Cicero Yamche","Top Yamche","Lina Yamche","Totoro Yamche","Yu-na Yamche","Winter Yamche","White Yamche","Mellisa Yamche","Riften Yamche","Dawnstar Yamche","Windhelm Yamche","Pho Yamche","Sneaky Yamche","Kiwis Yamche","Coco Yamche","Moon Yamche","Pizza Yamche","Sugar Yamche","Orc Yamche","Elf Yamche","Knight Yamche","Lich Yamche","Azeroth Yamche","Tauren Yamche","Troll Yamche","Thrall Yamche","Narugar Yamche","Yancook Yamche","Tirano Yamche","Honey Yamche","Isis Yamche","Bosom Yamche","Esmeralda Yamche","Pluvia Yamche","Doraemon Yamche","Dooly Yamche","Apple Yamche","IU Yamche","Gandalf Yamche","Frodo Yamche","Sam Yamche","Regolas Yamche","Gimli Yamche","Boromir Yamche","Wilxon Yamche","Willo Yamche","Wolfkong Yamche","Wenil Yamche","WX79 Yamche","Wickerbi Yamche","Woorie Yamche","Wex Yamche","Maximus Yamche","Wigfreedom Yamche","Webbers Yamche","Naruto Yamche","Sasuke Yamche","Withcer",
189 | }]]
190 | --
191 | end
--------------------------------------------------------------------------------
/scripts/mod_rusification/mods/waiter_101.lua:
--------------------------------------------------------------------------------
1 | -- NAMES Waiter 101
2 | --http://steamcommunity.com/sharedfiles/filedetails/?id=381565292
3 | --GLOBAL.STRINGS.NAMES.ACK_MUFFIN = "A Convenient Muffin"
4 | -- Cakes & Pies
5 | ch_nm("ACK_MUFFIN","Полезная булочка",3)
6 | ch_nm("CACTUS_CAKE","Торт из кактуса",1,1,"Торт из кактуса")
7 |
8 | ch_nm("MERINGUE","Пирожное безе",4,"Пирожному безе",1)
9 | nm.NANA_BREAD = "Банановый хлеб" --"Banana Bread"
10 | ch_nm("STICKY_BUN","Липкая плюшка",3) --"Sticky Bun"
11 | -- Candies & Sugars
12 | ch_nm("CANDIED_FRUIT","Цукаты",5,0,0,false,"Цукатами") --"Candied Fruit"
13 | ch_nm("CANDIED_NUT","Козинаки",5) --"Sugared Nuts"
14 | ch_nm("FRUIT_SYRUP","Фруктовый сироп") -- Ingredient:Sweetener, Honeyed
15 | ch_nm("MOLASSES","Чёрная патока",3)
16 | ch_nm("MUSH_MELON","Грибной зефир") -- Honeyed +++
17 | ch_nm("MUSH_MELON_COOKED","Жжёный сахар") -- Honeyed +++
18 | -- Eggs
19 | ch_nm("OMELETTE","Воздушный омлет") -- +++
20 | ch_nm("MUSHY_EGGS","Яичница-безе",3) --"Mushy Eggs"
21 | ch_nm("NOPALITO","Кактусовые такос",5,"Кактусовым такос",1)
22 |
23 | -- Fruits
24 | ch_nm("FRUIT_LEATHER","Пастила",3) -- COLD
25 | ch_nm("FRUIT_TRUFFLE","Фруктовые трюфели",5,"Фруктовым тефтелям",1) -- COLD, requires dairy (not butter/oleo)
26 | ch_nm("LIMONADE","Лимонад",1,"Лимонаду",1) -- COLD
27 | ch_nm("LIMONGELO","Студень",1,"Студню",1)
28 | -- Meats
29 | ch_nm("BEEFALO_WINGS","Крылышки бифало",5) --"Beefalo Wings"
30 | ch_nm("CASSEROLE","Мясная запеканка",3) -- COLD
31 | ch_nm("COLDCUTS","Мясное ассорти",4) --"Coldcuts" --игра слов с приставкой "cold", которая вовсе не означает холод в этом слове
32 | ch_nm("SAUSAGE_GRAVY","Сосиски в сливочном соусе",5) --"Sausage and Gravy"
33 | ch_nm("SURF_N_TURF","Фаршированная рыба",3)
34 | ch_nm("SWEET_N_SOUR","Кисло-сладкая свинина",3,"Кисло-сладкой свинине","Кисло-сладкую свинину")
35 | -- Mushrooms
36 | ch_nm("MUSHROOM_BURGER","Грибной бургер") --"Mushroom Burger"
37 | ch_nm("MUSHROOM_MALODY","Поганка под шубой",3) --"Mushroom Malody"
38 | ch_nm("MUSHROOM_MEDLEY","Грибная закуска",3) --"Mushroom Medley"
39 | ch_nm("MUSHROOM_STEW","Тушёные грибы со сметаной",5) --"Creamy Mushrooms"
40 | -- Pastas
41 |
42 | -- Salads
43 |
44 | -- Soups
45 | ch_nm("CACTUS_SOUP","Кактусовый суп") -- requires cactus
46 | ch_nm("CHOWDER","Мисо суп",1,"Мисо супу",1) --"Seafood Chowder"
47 | ch_nm("GUMBO","Острый суп из морепродуктов") --"Spicy Gumbo"
48 | ch_nm("SQUASH","Крем-суп из тыквы",1,"Крему-супу из тыквы",1)
49 | ch_nm("GAZPACHO","Гаспачо",4,1,1)
50 |
51 | -- Miscelaneous
52 | ch_nm("CHEESE_LOG","Сырный рулет с орешками") --"Nutty Cheese Log."
53 | ch_nm("MEATBALLS_HUMAN","Человеческие крокеты",5,"Человеческим крокетам",1,nil,"Человеческими крокетами")
54 | ch_nm("GRUEL","Тухлая овсянка",3)
55 | ch_nm("NUT_BUTTER","Ореховое масло",4) --"Birchnut Butter"
56 | ch_nm("OLEO","Кукурузное масло",4)
57 | ch_nm("LIQUOR","Ликёр",1,"Ликёру",1)
58 |
59 | ch_nm("PORRIDGE","Овсянка",3)
60 | -- Crops & Seeds
61 | ch_nm("GRAPRICOT","Абриград")
62 | ch_nm("GRAPRICOT_COOKED","Печёный абриград")
63 | ch_nm("GRAPRICOT_SEEDS","Семена абриграда",5,"Семенам абриграда",1)
64 | ch_nm("LIMON","Лимоны")
65 | ch_nm("LIMON_COOKED","Жареные лимоны")
66 | ch_nm("LIMON_SEEDS","Семена лимонов",5,"Семенам лимонов",1)
67 | ch_nm("TOMANGO","Томанго",4,1,1)
68 | ch_nm("TOMANGO_COOKED","Печёный томанго",4,"Печёному томанго",1)
69 | ch_nm("TOMANGO_SEEDS","Семена томанго",5,"Семенам томанго",1)
70 |
71 | --Новое
72 | ch_nm("YAMION","Лукфель",1,"Лукфелю")
73 | ch_nm("YAMION_COOKED","Печёный лукфель",1,"Печёному лукфелю")
74 | ch_nm("YAMION_SEEDS","Семена лукфеля",5,"Семенам лукфеля",1)
75 |
76 | ch_nm("FRUIT_MUFFIN","Фруктовый маффин")
77 | ch_nm("HARDTACK","Сухари",5,"Сухарям")
78 | ch_nm("CANDIED_BACON","Карамельный бекон")
79 | ch_nm("SALAD_EGG","Яичный салат")
80 | ch_nm("FISH_N_CHIPS","Рыба и чипсы",3,"Рыбе и чипсам","Рыбу и чипсы",nil,"Рыбой и чипсами")
81 | ch_nm("PICATTA","Цыплёнок с апельсином",1,1,"Цыплёнка с апельсином")
82 | ch_nm("CITRUS_MUSHROOM","Грибы-гриль с лимоном",5,"Грибам-гриль с лимоном")
83 | ch_nm("ALOO_TIKI","Крокеты из томанго",5)
84 | ch_nm("BRACIOLE","Роллы из говядины с овощами",5)
85 | ch_nm("ROLLATINI","Курица Роллатини",3)
86 | ch_nm("STUFFED_TOMANGO","Томанго фаршированный рыбой",1,"Томанго фаршированному рыбой","Томанго фаршированного рыбой")
87 | ch_nm("TARTE_TATIN","Пирог из томанго")
88 | ch_nm("SALAD_CARROT","Цитрусо-морковный салат",1,"Цитрусо-морковному салату")
89 | ch_nm("SALAD_GRAPE","Абрикосово-виноградный салат",1,"Абрикосово-виноградному салату")
90 | ch_nm("SALAD_WALDORF","Вальдорфский салат",1,"Вальдорфскому салату")
91 | ch_nm("SALAD_YAMION","Лукфельный салат")
92 | ch_nm("TWICE_BAKED","Печеный фаршированный клубень") --,1,"Печеному фаршированному клубню")
93 | ch_nm("YAMION_RINGS","Лукфельные чипсы",5)
94 |
95 | --Ещё новые имена. Описания НЕ переведны.
96 | ch_nm("SHAMCAKES","Оладьи",5,'Оладьям')
97 | ch_nm("LOBSTER_FAKED","Запечённый вобстер",1,0,"Запечённому вобстеру")
98 | ch_nm("SALAD_BLOOM","Дикий салат",1,"Дикому салату")
99 | ch_nm("DAIQUIRI","Дайкири")
100 | ch_nm("MARGARITA","Маргарита",3)
101 | ch_nm("VINO","Вино",4)
102 | ch_nm("PINA_COLADA","Пина колада",1,1,1,nil,1)
103 | ch_nm("COCONUT_MILK","Кокосовое молоко",4)
104 | ch_nm("GRAPRICOT_DRIED","Куразюм") --курага + изюм
105 | ch_nm("TOMANGO_DRIED","Вяленые на солнце томанго",5,"Вяленым на солнце томанго",1,nil,"Вялеными на солнце томанго")
106 | ch_nm("GARLEEK","Чеснок-порей",1,"Порею",1,nil,"Чесноком-пореем") --чеснок + лук-порей. Чеснук? Лук уже был.
107 | ch_nm("GARLEEK_COOKED","Запечённый чеснок-порей",1,"Запечённому чесноку-порею",1,nil,"Запечённым чесноком-пореем")
108 | ch_nm("TENTACLE_MEAT","Кончик щупальца",1,0,1)
109 | ch_nm("TENTACLE_MEAT_COOKED","Жареный кончик щупальца",1,0,1)
110 | ch_nm("PAPAYANAPPLE","Папайяблоко",4)
111 | ch_nm("PAPAYANAPPLE_COOKED","Печёное папайяблоко",4)
112 | ch_nm("ZUCCHILLI","Кабачили",1,1,1,nil,1) --Кабачок + Перец-чили
113 | ch_nm("ZUCCHILLI_COOKED","Нарезанный кабачили")
114 |
115 | -----------------------------------------Waiter 101 (дополнение от Hawaiian)
116 | --Общие фразы персонажей (для кажого недоперевел, пока что лень)
117 |
118 | -- DESCRIPTIONS.GENERIC
119 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.ACK_MUFFIN = "Вкусная ароматная булочка."
120 | -- Breads (x3)
121 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.NANA_BREAD = "Намного вкуснее, чем фруктовый пирог."
122 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.FRUIT_MUFFIN = "На вкус лучше фруктового пирога."
123 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.HARDTACK = "Не очень аппетитно, но долго хранится."
124 | -- Cakes & Pies (x4)
125 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.CACTUS_CAKE = "Сладкий и колючий."
126 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.MERINGUE = "Легкая и воздушная сладость."
127 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.STICKY_BUN = "Очень липкая."
128 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.TARTE_TATIN = "Это пирог из томанго."
129 | -- Candies & Sugars (x4 +)
130 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.CANDIED_BACON = "Сладкосолёный бекон."
131 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.CANDIED_FRUIT = "Приторно сладкие."
132 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.CANDIED_NUT = "Покрыты застывшим мёдом."
133 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.MUSH_MELON = "Не припоминаю такого блюда."
134 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.MUSH_MELON_COOKED = "Хочется еще немного."
135 | -- Eggs (x4)
136 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.OMELETTE = "...не разбив нескольких яиц."
137 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.MUSHY_EGGS = "Вкусные яйца."
138 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.NOPALITO = "Вкусно, но колко."
139 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.SALAD_EGG = "Идеально для любого пикника."
140 | -- Fruits (x4)
141 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.FRUIT_LEATHER = "С кусочками фруктов."
142 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.FRUIT_TRUFFLE = "Простой десерт."
143 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.LIMONADE = "Освежающий напиток."
144 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.LIMONGELO = "С фруктовым желе."
145 | -- Meats (Beef) (x4)
146 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.BRACIOLE = "Жареные ломтики фаршированной говядины."
147 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.COLDCUTS = "Идеально."
148 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.SAUSAGE_GRAVY = "Жирные колбаски с подливой."
149 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.SWEET_N_SOUR = "Как в ресторане."
150 | -- Meats (Fish) (x3)
151 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.STUFFED_TOMANGO = "Рыбное блюдо."
152 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.SURF_N_TURF = "Вкусное блюдо с рыбой."
153 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.FISH_N_CHIPS = "Приятное сочетание ароматов."
154 | -- Meats (Poultry) (x3)
155 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.ROLLATINI = "Тонко нарезана, а затем запечена."
156 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.BEEFALO_WINGS = "Горячие и остренькие."
157 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.PICATTA = "Мясное блюдо с ароматом цитрусов."
158 | -- Mushrooms (x4 +)
159 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.CITRUS_MUSHROOM = "Не хватает чеснока."
160 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.MUSHROOM_BURGER = "Хрустящая котлета между двумя грибными шляпками."
161 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.MUSHROOM_MALODY = "Пахнет тухлой тряпкой."
162 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.MUSHROOM_MEDLEY = "Аппетитная закуска из разных грибов."
163 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.MUSHROOM_STEW = "Приятный на вкус грибной суп-пюре."
164 | -- Salads (x4)
165 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.SALAD_CARROT = "Лучше, чем просто поджарить."
166 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.SALAD_GRAPE = "Здоровая пища."
167 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.SALAD_WALDORF = "Передайте спасибо шеф-повару."
168 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.SALAD_YAMION = "Крепкий аромат, надо сказать."
169 | -- Soups (x5)
170 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.CACTUS_SOUP = "Букет вкусов."
171 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.CHOWDER = "Приятный и нежный."
172 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.GAZPACHO = "Ешьте охлажденным" -- Cold - requires Ice
173 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.GUMBO = "Очень острое, но вкусное блюдо."
174 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.SQUASH = "Идеальная консистенция."
175 | -- Snacks (x7 +)
176 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.ALOO_TIKI = "Похрустывают."
177 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.LIQUOR = "Небольшой стаканчик успокоит мне нервы."
178 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.CHEESE_LOG = "Съедобнее, чем простое полено."
179 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.GRUEL = "Ужасающая смесь отвратительных ароматов."
180 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.NUT_BUTTER = "Вершина диетической пищи."
181 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.PORRIDGE = "Идеальная домашняя еда."
182 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.YAMION_RINGS = "Приятный знакомый вкус."
183 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.TWICE_BAKED = "Набитый мясом и обтекающий маслом."
184 | -- GLOBAL.STRINGS.CHARACTERS.WILSON.DESCRIBE.LIQUOR = "A little tonic and gin."
185 | -- Cookables (x4)
186 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.CASSEROLE = "Снова объедки."
187 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.FRUIT_SYRUP = "С высоким содержанием фруктозы."
188 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.MOLASSES = "Сладкая смерть."
189 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.OLEO = "Неплохо, но бывало и лук-ше!"
190 | -- Crops & Seeds
191 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.GRAPRICOT = "Это из него готовят амброзию богов?"
192 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.GRAPRICOT_COOKED = "Вкусный и сладкий."
193 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.GRAPRICOT_SEEDS = "Из них может вырасти абриградная лоза."
194 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.LIMON = "Кислый цитрус."
195 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.LIMON_COOKED = "Так себе."
196 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.LIMON_SEEDS = "Из них вырастет цитрусовая лоза."
197 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.TOMANGO = "Многие спорят, фрукт это или овощ."
198 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.TOMANGO_COOKED = "Кто-то предпочитает готовить их еще зелеными."
199 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.TOMANGO_SEEDS = "Это фруктовые семена или овощные?"
200 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.YAMION = "Какой-то репчатый корнеплод."
201 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.YAMION_COOKED = "Вначале нужно снять шелуху."
202 | GLOBAL.STRINGS.CHARACTERS.GENERIC.DESCRIBE.YAMION_SEEDS = "А что, разве бывают такие семена?"
203 |
204 | ---------всё
205 |
--------------------------------------------------------------------------------
/scripts/mod_rusification/mods/defaults_item_pack.lua:
--------------------------------------------------------------------------------
1 | mk("CACTUSMACE","Кактусовая бита",3,0,"Кактусовую биту",false,"Кактусовой битой")
2 | mk("DARK_AXE","Тёмный топор",1,0,"Тёмный топор",false,"Тёмным топором")
3 | mk("DARK_PICKAXE","Тёмная кирка",3,0,"Тёмную кирку",false,"Тёмной киркой")
4 | mk("EWECUSHAT","Рыцарский шлем",1,0,"Рыцарский шлем",false,"Рыцарским шлемом")
5 | mk("FLYSWATTER","Мухобойка",3,0,"Мухобойку",false,"Мухобойкой")
6 | mk("FRYINGPAN","Сковородка",3,0,"Сковородку",false,"Сковородкой")
7 | mk("GROWTHSTAFF","Посох роста",1,0,"Посох роста",false,"Посохом роста")
8 | mk("HOLLOWHAT","Треснувший череп",1,0,"Треснувший череп",false,"Треснувшим черепом")
9 | mk("LIGHTNECKLACE","Светящееся ожерелье",4,0,"Светящееся ожерелье",false,"Светящимся ожерельем")
10 | mk("SPARTAHELMUT","Золотой шлем",1,0,"Золотой шлем",false,"Золотым шлемом")
11 | mk("SPARTASWURD","Острый меч",1,0,"Острый меч",false,"Острым мечом")
12 | mk("SUMMERBANDANA","Летняя бандана",3,0,"Летнюю бандану",false,"Летней банданой")
13 | mk("WOODENMACE","Деревянная булава",3,0,"Деревянную булаву",false,"Деревянной булавой")
14 | mk("ARMORMOSQUITO","Комариный костюм",1,0,"Комариный костюм",false,"Комариным костюмом")
15 | mk("BARONSUIT","Костюм барона",1,0,"Костюм барона",false,"Костюмом барона")
16 | mk("BIRCHNUTHAT","Шипастый шлем",1,0,"Шипастый шлем",false,"Шипастым шлемом")
17 |
18 |
19 | --В MODMAIN.LUA МОДА:
20 |
21 |
22 | rec.CACTUSMACE = "Так им достанется еще больше."
23 | pp(ch.GENERIC.DESCRIBE.CACTUSMACE, "Колючая бита.")
24 | pp(ch.WILLOW.DESCRIBE.CACTUSMACE, "Ауч! Я укололась.")
25 | pp(ch.WOLFGANG.DESCRIBE.CACTUSMACE, "На ней острые шипы.")
26 | pp(ch.WENDY.DESCRIBE.CACTUSMACE, "Не задеть бы себя.")
27 | pp(ch.WX78.DESCRIBE.CACTUSMACE, "МОЖЕТ НАНОСИТЬ УРОН МОИМ ВРАГАМ И МНЕ")
28 | pp(ch.WICKERBOTTOM.DESCRIBE.CACTUSMACE, "Кактус покрыт острыми иглами.")
29 | pp(ch.WOODIE.DESCRIBE.CACTUSMACE, "Выглядит опасно.")
30 | pp(ch.WAXWELL.DESCRIBE.CACTUSMACE, "Это будет больно.")
31 | pp(ch.WATHGRITHR.DESCRIBE.CACTUSMACE, "Что тебя не убивает - делает тебя сильнее!")
32 | pp(ch.WEBBER.DESCRIBE.CACTUSMACE, "Уф, страшная штуковина.")
33 |
34 | rec.DARK_AXE="Кошмарно рубит деревья."
35 | pp(ch.GENERIC.DESCRIBE.DARK_AXE, "Страшный топор.")
36 | pp(ch.WILLOW.DESCRIBE.DARK_AXE, "Мои кошмары помогут мне рубить деревья!")
37 | pp(ch.WOLFGANG.DESCRIBE.DARK_AXE, "Таинственный призрачный топор.")
38 | pp(ch.WENDY.DESCRIBE.DARK_AXE, "Ночной кошмар для каждого дерева.")
39 | pp(ch.WX78.DESCRIBE.DARK_AXE, "НЕОПОЗНАННЫЙ ТОПОР")
40 | pp(ch.WICKERBOTTOM.DESCRIBE.DARK_AXE, "Эктоплазма наделяет этот инструмент прозрачностью.")
41 | pp(ch.WOODIE.DESCRIBE.DARK_AXE, "Холодный и резкий. Прямо, как люди в наше время, а?")
42 | pp(ch.WAXWELL.DESCRIBE.DARK_AXE, "Это мой верный топор.")
43 | pp(ch.WATHGRITHR.DESCRIBE.DARK_AXE, "Рубить с отвагой!")
44 | pp(ch.WEBBER.DESCRIBE.DARK_AXE, "Рубить! Клац-клац.")
45 |
46 | rec.DARK_PICKAXE="Кошмарный инструмент."
47 | pp(ch.GENERIC.DESCRIBE.DARK_PICKAXE, "Страшная кирка.")
48 | pp(ch.WILLOW.DESCRIBE.DARK_PICKAXE, "Мои кошмары разрушат скалы!")
49 | pp(ch.WOLFGANG.DESCRIBE.DARK_PICKAXE, "ТАинственная призрачная кирка.")
50 | pp(ch.WENDY.DESCRIBE.DARK_PICKAXE, "Кошмарный инструмент для добычи руды.")
51 | pp(ch.WX78.DESCRIBE.DARK_PICKAXE, "НЕОПОЗНАННЫЙ ГОРНОДОБЫВАЮЩИЙ ИНСТРУМЕНТ")
52 | pp(ch.WICKERBOTTOM.DESCRIBE.DARK_PICKAXE, "Эктоплазма наделяет этот инструмент прозрачностью.")
53 | pp(ch.WOODIE.DESCRIBE.DARK_PICKAXE, "Холодная и резкая. Прямо, как люди в наше время, а?")
54 | pp(ch.WAXWELL.DESCRIBE.DARK_PICKAXE, "Упрощает добычу руды.")
55 | pp(ch.WATHGRITHR.DESCRIBE.DARK_PICKAXE, "Добывать руду с отвагой!")
56 | pp(ch.WEBBER.DESCRIBE.DARK_PICKAXE, "Она полупрозрачная, но очень прочная.")
57 |
58 | rec.EWECUSHAT= "Сделан из стали."
59 | pp(ch.GENERIC.DESCRIBE.EWECUSHAT, "Прочный шлем.")
60 | pp(ch.WILLOW.DESCRIBE.EWECUSHAT, "При большом огне он все равно расплавится.")
61 | pp(ch.WOLFGANG.DESCRIBE.EWECUSHAT, "Мощный шлем для силачей.")
62 | pp(ch.WENDY.DESCRIBE.EWECUSHAT, "Он защитит мое хрупкое тело.")
63 | pp(ch.WX78.DESCRIBE.EWECUSHAT, "ГОЛОВНОЙ УБОР ИЗ МЕТАЛЛА")
64 | pp(ch.WICKERBOTTOM.DESCRIBE.EWECUSHAT, "Прочный шлем.")
65 | pp(ch.WOODIE.DESCRIBE.EWECUSHAT, "Неплохой шлем.")
66 | pp(ch.WAXWELL.DESCRIBE.EWECUSHAT, "Выглядит неплохо, и защищает также.")
67 | pp(ch.WATHGRITHR.DESCRIBE.EWECUSHAT, "Шлем для настоящего воина.")
68 | pp(ch.WEBBER.DESCRIBE.EWECUSHAT, "Теперь нужен только меч.")
69 |
70 | rec.FLYSWATTER="Прихлопнем этих насекомых!"
71 | pp(ch.GENERIC.DESCRIBE.FLYSWATTER, "Прекрасно убивает мелких букашек.")
72 | pp(ch.WILLOW.DESCRIBE.FLYSWATTER, "Хорошо убивает надоедливых букашек.")
73 | pp(ch.WOLFGANG.DESCRIBE.FLYSWATTER, "Для убийства насекомых.")
74 | pp(ch.WENDY.DESCRIBE.FLYSWATTER, "Прерывает жизни букашек быстрее.")
75 | pp(ch.WX78.DESCRIBE.FLYSWATTER, "УСТРОЙСТВО ДЛЯ УНИЧТОЖЕНИЯ НАСЕКОМЫХ")
76 | pp(ch.WICKERBOTTOM.DESCRIBE.FLYSWATTER, "Разработана специально для уничтожения мелких насекомых.")
77 | pp(ch.WOODIE.DESCRIBE.FLYSWATTER, "Пригодится.")
78 | pp(ch.WAXWELL.DESCRIBE.FLYSWATTER, "Удобно.")
79 | pp(ch.WATHGRITHR.DESCRIBE.FLYSWATTER, "Оружие для славного боя с букашками!")
80 | pp(ch.WEBBER.DESCRIBE.FLYSWATTER, "Наша паутина будет получше, но и это сойдет.")
81 |
82 | rec.FRYINGPAN="Зададим им жару."
83 | pp(ch.GENERIC.DESCRIBE.FRYINGPAN, "Довольно тяжелая.")
84 | pp(ch.WILLOW.DESCRIBE.FRYINGPAN, "Я расплавлю их лица.")
85 | pp(ch.WOLFGANG.DESCRIBE.FRYINGPAN, "Хорошо жарит, и еще лучше бьет.")
86 | pp(ch.WENDY.DESCRIBE.FRYINGPAN, "Смерть от кухонной посуды, как иронично.")
87 | pp(ch.WX78.DESCRIBE.FRYINGPAN, "СДЕЛАНА ИЗ МЕТАЛЛА, КАК И Я")
88 | pp(ch.WICKERBOTTOM.DESCRIBE.FRYINGPAN, "Стальная сковорода для жарки.")
89 | pp(ch.WOODIE.DESCRIBE.FRYINGPAN, "Теперь поджарим пару голов!")
90 | pp(ch.WAXWELL.DESCRIBE.FRYINGPAN, "Ну, чтобы убивать врагов, мне подойдет любое оружие.")
91 | pp(ch.WATHGRITHR.DESCRIBE.FRYINGPAN, "Из набора кухонного воина!")
92 | pp(ch.WEBBER.DESCRIBE.FRYINGPAN, "Нам нравится ее звук.")
93 |
94 | rec.GROWTHSTAFF="Быстрый рост!"
95 | pp(ch.GENERIC.DESCRIBE.GROWTHSTAFF, "Он излучает энергию.")
96 | pp(ch.WILLOW.DESCRIBE.GROWTHSTAFF, "Красиво выглядит.")
97 | pp(ch.WOLFGANG.DESCRIBE.GROWTHSTAFF, "Вольфганг чувствует, как растут мышцы.")
98 | pp(ch.WENDY.DESCRIBE.GROWTHSTAFF, "Помогает растениям быстрее умереть.")
99 | pp(ch.WX78.DESCRIBE.GROWTHSTAFF, "ОРУДИЕ ДЛЯ УСКОРЕНИЯ РАЗВИТИЯ")
100 | pp(ch.WICKERBOTTOM.DESCRIBE.GROWTHSTAFF, "По всей видимости, ускоряет рост ближайших растений.")
101 | pp(ch.WOODIE.DESCRIBE.GROWTHSTAFF, "Я сделаю деревья больше.")
102 | pp(ch.WAXWELL.DESCRIBE.GROWTHSTAFF, "Эта мясистая луковица хорошо служит цели.")
103 | pp(ch.WATHGRITHR.DESCRIBE.GROWTHSTAFF, "Властвует над ростом растений.")
104 | pp(ch.WEBBER.DESCRIBE.GROWTHSTAFF, "Выглядит очень дико.")
105 |
106 | rec.HOLLOWHAT="Владелец становится невероятно быстрым."
107 | pp(ch.GENERIC.DESCRIBE.HOLLOWHAT, "Жуткий череп.")
108 | pp(ch.WILLOW.DESCRIBE.HOLLOWHAT, "Из него выйдет чудесная пепельница.")
109 | pp(ch.WOLFGANG.DESCRIBE.HOLLOWHAT, "Череп на замену черепу Вольфганга.")
110 | pp(ch.WENDY.DESCRIBE.HOLLOWHAT, "Кому-то он уже не пригодится.")
111 | pp(ch.WX78.DESCRIBE.HOLLOWHAT, "ЧЕРЕП, УВЕЛИЧИВАЮЩИЙ СКОРОСТЬ ПЕРЕДВИЖЕНЯ")
112 | pp(ch.WICKERBOTTOM.DESCRIBE.HOLLOWHAT, "Какое варварство.")
113 | pp(ch.WOODIE.DESCRIBE.HOLLOWHAT, "Буэ, это чей-то череп.")
114 | pp(ch.WAXWELL.DESCRIBE.HOLLOWHAT, "Он излучает темную энергию.")
115 | pp(ch.WATHGRITHR.DESCRIBE.HOLLOWHAT, "Останки славного воина.")
116 | pp(ch.WEBBER.DESCRIBE.HOLLOWHAT, "В этом шаре пусто!")
117 |
118 | rec.LIGHTNECKLACE="Освещает путь."
119 | pp(ch.GENERIC.DESCRIBE.LIGHTNECKLACE, "Его свечение может пригодиться.")
120 | pp(ch.WILLOW.DESCRIBE.LIGHTNECKLACE, "В нем нет огня, но оно горит!")
121 | pp(ch.WOLFGANG.DESCRIBE.LIGHTNECKLACE, "Ювелирная безделушка.")
122 | pp(ch.WENDY.DESCRIBE.LIGHTNECKLACE, "И несколько цветов в локоны волос.")
123 | pp(ch.WX78.DESCRIBE.LIGHTNECKLACE, "ОНО БЫСТРО ТУСКНЕЕТ")
124 | pp(ch.WICKERBOTTOM.DESCRIBE.LIGHTNECKLACE, "Светящиеся лампочки, скрепленные вместе.")
125 | pp(ch.WOODIE.DESCRIBE.LIGHTNECKLACE, "Женщинам бы понравилось.")
126 | pp(ch.WAXWELL.DESCRIBE.LIGHTNECKLACE, "Какое-то украшение. Я становлюсь все элегантнее.")
127 | pp(ch.WATHGRITHR.DESCRIBE.LIGHTNECKLACE, "Подходит женщинам, но не воинам!")
128 | pp(ch.WEBBER.DESCRIBE.LIGHTNECKLACE, "Соответствует своему названию.")
129 |
130 | rec.SPARTAHELMUT="Дорогой шлем."
131 | pp(ch.GENERIC.DESCRIBE.SPARTAHELMUT, "Какой-то древний дизайн.")
132 | pp(ch.WILLOW.DESCRIBE.SPARTAHELMUT, "Эта штука ярко красная и пушистая, прямо как огонь!")
133 | pp(ch.WOLFGANG.DESCRIBE.SPARTAHELMUT, "По-дурацки выглядит.")
134 | pp(ch.WENDY.DESCRIBE.SPARTAHELMUT, "Стоит больше моей жизни.")
135 | pp(ch.WX78.DESCRIBE.SPARTAHELMUT, "МЕТАЛЛИЧЕСКИЙ ШЛЕМ ДЛЯ ЗАЩИТЫ ГОЛОВЫ")
136 | pp(ch.WICKERBOTTOM.DESCRIBE.SPARTAHELMUT, "Спартанский шлем из золота.")
137 | pp(ch.WOODIE.DESCRIBE.SPARTAHELMUT, "Это точно не канадский шлем.")
138 | pp(ch.WAXWELL.DESCRIBE.SPARTAHELMUT, "Выглядит стильно.")
139 | pp(ch.WATHGRITHR.DESCRIBE.SPARTAHELMUT, "С рогами было бы еще круче!")
140 | pp(ch.WEBBER.DESCRIBE.SPARTAHELMUT, "Три сотни или меньше... Мы будем бороться!")
141 |
142 | rec.SPARTASWURD="Не поранься!"
143 | pp(ch.GENERIC.DESCRIBE.SPARTASWURD, "Соответствует названию.")
144 | pp(ch.WILLOW.DESCRIBE.SPARTASWURD, "Действительно большой нож!")
145 | pp(ch.WOLFGANG.DESCRIBE.SPARTASWURD, "Крепкое лезвие. Прямо как мои бицепсы!")
146 | pp(ch.WENDY.DESCRIBE.SPARTASWURD, "Перережу пару глоток.")
147 | pp(ch.WX78.DESCRIBE.SPARTASWURD, "ЭТО УПРОСТИТ БОЙ")
148 | pp(ch.WICKERBOTTOM.DESCRIBE.SPARTASWURD, "Меч в спартанском стиле.")
149 | pp(ch.WOODIE.DESCRIBE.SPARTASWURD, "Острее, чем мой топор!")
150 | pp(ch.WAXWELL.DESCRIBE.SPARTASWURD, "И впрямь хороший клинок.")
151 | pp(ch.WATHGRITHR.DESCRIBE.SPARTASWURD, "Мне нравится этот меч.")
152 | pp(ch.WEBBER.DESCRIBE.SPARTASWURD, "Мы на шаг ближе к тому, чтобы стать рыцарем!")
153 |
154 | rec.SUMMERBANDANA= "Для жарких летних деньков."
155 | pp(ch.GENERIC.DESCRIBE.SUMMERBANDANA, "Может немного охладить.")
156 | pp(ch.WILLOW.DESCRIBE.SUMMERBANDANA, "Это поможет моей голове не загореться от жары.")
157 | pp(ch.WOLFGANG.DESCRIBE.SUMMERBANDANA, "Лето не подходит для Вольфганга!")
158 | pp(ch.WENDY.DESCRIBE.SUMMERBANDANA, "Придется носить, чтобы не присоединиться к мертвецам.")
159 | pp(ch.WX78.DESCRIBE.SUMMERBANDANA, "СРЕДНЯЯ ЗАЩИТА ОТ ТЕПЛА")
160 | pp(ch.WICKERBOTTOM.DESCRIBE.SUMMERBANDANA, "Шляпа сделана из листов папируса.")
161 | pp(ch.WOODIE.DESCRIBE.SUMMERBANDANA, "Как я смотрюсь в ней? А?")
162 | pp(ch.WAXWELL.DESCRIBE.SUMMERBANDANA, "Бумажная шляпа? Эх.")
163 | pp(ch.WATHGRITHR.DESCRIBE.SUMMERBANDANA, "Броня от солнца!")
164 | pp(ch.WEBBER.DESCRIBE.SUMMERBANDANA, "Мы похожи на пирата!")
165 |
166 | rec.WOODENMACE= "Снесем им головы."
167 | pp(ch.GENERIC.DESCRIBE.WOODENMACE, "Бита, сделанная из дерева.")
168 | pp(ch.WILLOW.DESCRIBE.WOODENMACE, "Хороша для боя и для костра.")
169 | pp(ch.WOLFGANG.DESCRIBE.WOODENMACE, "Разве дерево достаточно прочно для рук Вольфганга?")
170 | pp(ch.WENDY.DESCRIBE.WOODENMACE, "Инструмент насилия.")
171 | pp(ch.WX78.DESCRIBE.WOODENMACE, "Я СДЕЛАЛ ДЕРЕВО БОЛЕЕ ПОЛЕЗНЫМ")
172 | pp(ch.WICKERBOTTOM.DESCRIBE.WOODENMACE, "Булава, сделанная из бревна.")
173 | pp(ch.WOODIE.DESCRIBE.WOODENMACE, "Мне нравится.")
174 | pp(ch.WAXWELL.DESCRIBE.WOODENMACE, "Деревянная бита.")
175 | pp(ch.WATHGRITHR.DESCRIBE.WOODENMACE, "Кусок дерева, готовый к битве.")
176 | pp(ch.WEBBER.DESCRIBE.WOODENMACE, "С этой штуковиной мы можем сыграть в бейсбол!")
177 |
178 | rec.ARMORMOSQUITO= "Восстановит ваше здоровье...кровью."
179 | pp(ch.GENERIC.DESCRIBE.ARMORMOSQUITO, "Пахнет кровью.")
180 | pp(ch.WILLOW.DESCRIBE.ARMORMOSQUITO, "Хорошо, что к нему не прилагается уродливого шлема.")
181 | pp(ch.WOLFGANG.DESCRIBE.ARMORMOSQUITO, "Комариная броня.")
182 | pp(ch.WENDY.DESCRIBE.ARMORMOSQUITO, "Кроваво и омерзительно.")
183 | pp(ch.WX78.DESCRIBE.ARMORMOSQUITO, "ХОРОШЕЕ ИСПОЛЬЗОВАНИЕ КРАСНОЙ ТЕЛЕСНОЙ ЖИДКОСТИ")
184 | pp(ch.WICKERBOTTOM.DESCRIBE.ARMORMOSQUITO, "Доспехи из комаров.")
185 | pp(ch.WOODIE.DESCRIBE.ARMORMOSQUITO, "Наполнены кровью.")
186 | pp(ch.WAXWELL.DESCRIBE.ARMORMOSQUITO, "Наконец-то эти кровопийцы пригодились.")
187 | pp(ch.WATHGRITHR.DESCRIBE.ARMORMOSQUITO, "Видала доспехи и похуже.")
188 | pp(ch.WEBBER.DESCRIBE.ARMORMOSQUITO, "Мы похожи на комара в ней?")
189 |
190 | rec.BARONSUIT= "Очень чудной."
191 | pp(ch.GENERIC.DESCRIBE.BARONSUIT, "Ну прямо костюм современного генерал-майора.")
192 | pp(ch.WILLOW.DESCRIBE.BARONSUIT, "Красиво смотрится.")
193 | pp(ch.WOLFGANG.DESCRIBE.BARONSUIT, "Нарядная мужская одежда.")
194 | pp(ch.WENDY.DESCRIBE.BARONSUIT, "Наверное, чтобы носить такой нужно какое-нибудь посвящение.")
195 | pp(ch.WX78.DESCRIBE.BARONSUIT, "Я ЕДИНСТВЕННЫЙ ЗАСЛУЖИВАЮ ЭТО НОСИТЬ")
196 | pp(ch.WICKERBOTTOM.DESCRIBE.BARONSUIT, "Мягкий, фиолетовый костюм с нагрудником.")
197 | pp(ch.WOODIE.DESCRIBE.BARONSUIT, "Красиво выглядит.")
198 | pp(ch.WAXWELL.DESCRIBE.BARONSUIT, "Выглядит достойно.")
199 | pp(ch.WATHGRITHR.DESCRIBE.BARONSUIT, "Латы предводителя.")
200 | pp(ch.WEBBER.DESCRIBE.BARONSUIT, "С этим нагрудником мы не испачкаемся во время еды.")
201 |
202 | rec.BIRCHNUTHAT= "Колючий. Очень."
203 | pp(ch.GENERIC.DESCRIBE.BIRCHNUTHAT, "Ауч, осторожнее с шипами!")
204 | pp(ch.WILLOW.DESCRIBE.BIRCHNUTHAT, "Остроконечный шлем.")
205 | pp(ch.WOLFGANG.DESCRIBE.BIRCHNUTHAT, "Головные шипы!")
206 | pp(ch.WENDY.DESCRIBE.BIRCHNUTHAT, "Внутри без шипов.")
207 | pp(ch.WX78.DESCRIBE.BIRCHNUTHAT, "Я УНИЧТОЖИЛ МНОЖЕСТВО РАСТЕНИЙ РАДИ НЕГО")
208 | pp(ch.WICKERBOTTOM.DESCRIBE.BIRCHNUTHAT, "Шипы нанесут урон любому, кто решит ударить.")
209 | pp(ch.WOODIE.DESCRIBE.BIRCHNUTHAT, "Сделан из семян деревьев!")
210 | pp(ch.WAXWELL.DESCRIBE.BIRCHNUTHAT, "Этот шлем будет сражаться за меня.")
211 | pp(ch.WATHGRITHR.DESCRIBE.BIRCHNUTHAT, "Колючая броня для воинов!")
212 | pp(ch.WEBBER.DESCRIBE.BIRCHNUTHAT, "Везде колючки!")
213 |
214 | ------------------------------------------------------------------ВСЁ
--------------------------------------------------------------------------------
/scripts/mod_rusification/mods/pickle_it.lua:
--------------------------------------------------------------------------------
1 | -------------------------------Pickle it
2 | pp("If I want that potato, I'll need a shovel","Если я хочу эту картошку, то мне нужна лопата.")
3 |
4 | ch_nm("PICKLE_SWORD","Дурацкий меч",1,"Дурацкому мечу")
5 |
6 | mk("RADISH_SEEDS","Семена редиса",5,"Семенам редиса",1)
7 |
8 |
9 | mk("RADISH","Редиска",3)
10 | pp("What is small, red, and whispers?\nA hoarse radish!","Что такое маленькое, красное, и шепчет? Хрен!")
11 | pp("This veggie is so rad(ish)","Хрен редьки не слаще.")
12 | pp("I can pickle that!","Я могу это замариновать!")
13 |
14 | mk("RADISH_COOKED","Печеная редиска",3)
15 | pp("Delicious and healthy","Вкусное и здоровое питание")
16 | pp("Sweeter and softer than a raw radish","Слаще и мягче, чем сырая редька")
17 |
18 | mk("RADISH_PICKLED","Маринованный редис")
19 | pp("Sweet, tangy, and pink","Сладкий, острый, и розовый")
20 | pp("This would make a great garnish","Это мог бы быть хороший гарнир")
21 |
22 | mk("RADISH_PLANTED","Редиска",3) --которая растёт на земле
23 | pp("It's a little wild radish","Это маленькая дикая редиска")
24 |
25 | mk("PIGS_FOOT_COOKED","Шкварки",5)
26 | pp("Best eaten while watching football","Best eaten while watching football")
27 | pp("A crunchy snack made from meat!","Хрустящая закуска, сделанная из мяса!")
28 |
29 | mk("PIGS_FOOT_PICKLED", "Маринованная свинина", 3)
30 | pp("Who thought this was a good idea?","Кто думал, что это была хорошая идея?")
31 | pp("I don't think a starving raptor would even eat this","Я думаю, даже голодный хищник не стал бы это есть.")
32 |
33 | mk("PUMPKIN_PICKLED","Маринованная тыква",3)
34 | pp("Peter Piper pickled a peck of pickled pumpkins... err, peppers","Какой любимый спорт у тыквы?\nСквош!") --непереводимая игра слов
35 | pp("What's a pumpkin's favorite sport?\nSquash!","Какой любимый спорт у тыквы?\nСквош!")
36 |
37 | mk("ONION_PLANTED","Лук")
38 | pp("Look, a wild onion!","Смотрите! Дикий лук!")
39 |
40 | mk("ONION_SEEDS","Семена лука",5,"Семенам лука",1)
41 | pp("It's a seed.","Это семена.")
42 |
43 | mk("PICKLE_BARREL","Бочонок рассола",1,"Бочонку рассола",1)
44 | pp("Pickle your food so it lasts longer!","Маринованные продукты дольше хранятся, так ведь?")
45 | pp("Mmm, salty goodness","Ммммм, солёная вкуснятина")
46 | pp("Not to be confused with pickleball","Чтобы еда замариновалась, придется подождать")
47 | pp("Serves sandwiches, right?","Сегодня подаём бутерброды, верно?")
48 |
49 | mk("PIGS_FOOT","Свиная ножка",3)
50 | pp("Poor Wilbur...","Жаль, что так вышло.")
51 | pp("This little piggy isn't going to the market anymore","Этот маленький поросёнок больше не пойдёт в магазин.")
52 |
53 | mk("MUSH_PICKLED","Солёная кашица",3)
54 | pp("Better not eat this", "Лучше не есть это.")
55 | pp("Pickled into oblivion, I guess", "Лёгкий путь в рай, я надеюсь.")
56 |
57 | mk("PIGS_FOOT_DRIED","Вяленые свиные ножки",5,"Вяленым свиным ножкам",1)
58 |
59 | mk("ONION","Лук")
60 | pp("*Sob* Who's cutting onions?","*рыдает* Кто режет лук?")
61 | pp("Ogres are like onions","Чудовища как луковицы.")
62 | pp("Onions always make me cry","Из-за лука я всегда плачу горькими слезами.")
63 | --pp("I can pickle that!","Я могу его замариновать!") --Повтор
64 |
65 | mk("ONION_COOKED","Жареные кольца лука",5,"Жареным кольцам лука",1)
66 | pp("If you like it, you should put an onion ring on it","Если вы это любите, то вы должны сложить кольца вместе.")
67 | --pp("If you hear an onion ring, answer it",--игра слов. ring=кольцо и ring=звонок
68 | pp("I guess this makes me the Lord of the Onion Rings","Я надеюсь, хоть одно сделает меня Хозяином Кольца Лука.")
69 |
70 | mk("ONION_PICKLED","Маринованный лук")
71 | pp("What's round, white, and giggles?\nA tickled onion!","Что такое: круглое, белое и хихикает?\nМаринованный лук!")
72 | pp("Beautiful and zesty... yum!","Красиво и пикантно... хрум!")
73 |
74 | mk("EGG_PICKLED","Маринованные яйца",5,"Маринованным яйцам",1)
75 | pp("Am I supposed to actually eat this?", "А что, я должен на самом деле это съесть?")
76 | pp("Who decided this should be edible?","Кто решил, что это должно быть съедобным?")
77 |
78 | mk("FISH_PICKLED","Селёдка",3)
79 | pp("Whoa, this is pungent!", "Вау, это пикантно!")
80 | pp("Catch a pickled herring, put it in your pocket","Рыбку поймал - в карман положил.")
81 | pp("At least it's not lutefisk","По крайней мере, это не лютефиск.")
82 |
83 | mk("MUSHROOM_PICKLED","Маринованные грибы",5)
84 | pp("Why did the fungi leave the party?\nThere wasn't mushroom.", "А что еще делать с этими несъедобными грибами?")
85 | pp("Why do people like Mr. Mushroom?\nBecause he's a fungi!","А что еще делать с этими несъедобными грибами?")
86 | --[[mk_gen("MUSHROOM_PICKLED", {
87 | --"Why did the fungi leave the party?\nThere wasn't mushroom.", --игра слов
88 | --"Why do people like Mr. Mushroom?\nBecause he's a fungi!", --игра слов
89 | "А что еще делать с этими несъедобными грибами?"
90 | })--]]
91 |
92 | mk("CUCUMBER_GOLDEN_PICKLED","Золотой солёный огурец")
93 | mk("CUCUMBER_COOKED","Нарезанные огурцы",5)
94 | pp("It'll never become a pickle now", "Теперь их не засолишь.")
95 | pp("Tastes like grilled water", "На вкус, как обычная вода.")
96 | pp("Poor Larry","Бедный Ларри")
97 |
98 | mk("CUCUMBER_PICKLED","Солёный огурец")
99 | pp("This is quite a pickle", "Уже достаточно солёный.")
100 | --pp("Why do gherkins giggle? They're PICKLish!",--глупо. И не переводится нормально.
101 | pp("If only I had a hamburger to put this on","Если бы у меня только был гамбургер, чтобы засунуть в него солёный огурец.")
102 |
103 | mk("CUCUMBER_SEEDS","Семена огурца",5,"Семенам огурца",1)
104 |
105 | mk("EGGPLANT_PICKLED","Маринованный баклажан")
106 | pp("Lasts longer than a regular eggplant","Хранится дольше, чем обычный баклажан.")
107 | pp("You don't steal a bitter eggplant","Никто не украдёт горький баклажан.")
108 |
109 | mk("CABBAGE_SEEDS","Семена капусты",5,"Семенам капусты",1)
110 |
111 | mk("CARROT_PICKLED","Маринованная морковь",3)
112 | pp("Lasts longer than a normal carrot", "Хранится дольше, чем обычная морковь.")
113 | pp("Some prefer carrots, while others like cabbage.","Некоторые предпочитают морковь, в то время как другие - капусту.")
114 |
115 | mk("CORN_PICKLED","Консервированная кукуруза",3)
116 | pp("Lasts longer than regular corn","Хранится дольше, чем обычная кукуруза")
117 | pp("What did the corn say when he got complimented?\nAww, shucks!","Мальчик, объевшийся кукурузы, лопнул в солярии.\nНо с этой такого не случится.")--шутка, да?) окей, шутка
118 |
119 | mk("CUCUMBER","Огурец")
120 | --pp("Looks cumbersome... cucumbersome", --игра слов
121 | pp("I bet this would make a fine pickle", "Бьюсь об заклад, это будет прекрасный маринад.") --стишок, однако
122 | pp("Cool as a cucumber","Холодный, как огурец")
123 | pp("I shall call him Larry","Я назову его Ларри")
124 | --pp("I can pickle that!", --Повтор
125 |
126 | mk("BEET_SEEDS","Семена свёклы",5,"Семенам свёклы",1)
127 |
128 | mk("CABBAGE","Капуста",3)
129 | --pp("A guy named Cabbage invented the computer... \nno wait, that was Babbage", --опять шутка, игра слов
130 | pp("About as large and wise as a man's head","Большая и мудрая, как голова человека") --это должно быть смешно что ли?
131 | pp("I heard that kids hang out around cabbage patches","Я слышал, что дети рождаются из кочана капусты.")
132 | --pp("I can pickle that!", --повтор
133 |
134 | mk("CABBAGE_COOKED","Жареная капуста",3)
135 | pp("Crunchy and tasty", "Хрустящая и вкусная")
136 | pp("So easy to make, just slice and cook", "Так легко приготовить, просто нарезать и прожарить.")
137 |
138 |
139 | mk("CABBAGE_PICKLED","Кислая капуста",3)
140 | pp("My grandpa puts sauerkraut in his chocolate cakes", "Мой дедушка кладёт квашеную капусту в шоколадные пирожные.")
141 | pp("Try substituting sauerkraut for coconut when baking","Попробуйте заменить кокос квашеной капустой при выпечке.")
142 | --pp("Also known as liberty cabbage",--свободная капуста? ват?
143 |
144 | mk("BEET_PICKLED","Маринованная свёкла",3)
145 | --pp("I hear people really like pickled beets.\nMaybe I should give them a try.",
146 | pp("They actually look kinda tasty","Они и вправду выглядят любопытно вкусно.")
147 |
148 | mk("BEET_PLANTED","Свёкла",3)
149 | pp("Looks like a beet","Похоже на... свёклу.")
150 |
151 | mk("BEET","Свёкла",3)
152 | pp("Fact: bears eat beets. Bears, beets, Battlestar Galactica","Факт: медведи едят свёклу.") -- Медведи, свекла, Battlestar Galactica", --этот американский юмор уже надоел
153 | pp("Nobody likes beets. Maybe I should have grown candy instead.","Никто не любит свёклу. Может быть, стоит вырастить конфеты?")
154 | pp("Let's have a garden party.\nLettuce turnip the beet.","Внучка за бабку, бабка за дедку, дедка за репку.")--стишок, ок
155 | --pp("I can pickle that!",--Повтор
156 |
157 | mk("BEET_COOKED","Жареная свёкла",3)
158 | pp("Roasted beets have a sweet earthy flavor", "Жареная свёкла имеет сладкий земляной привкус.")
159 | pp("Sweeter than unroasted beets", "Слаще необжаренной свёклы.")
160 |
161 | ch_nm("POTATO","Картофель",1,"Картофелю")
162 | ch_nm("POTATO_COOKED","Печёный картофель",1,"Печёному картофелю")
163 | ch_nm("POTATO_PLANTED","Картофель",1,"Картофелю")
164 | ch_nm("POTATO_SEEDS","Семена картофеля",5,"Семенам картофеля",1) --Их пока что не существует.
165 |
166 | ch_nm("WATERMELON_PICKLED","Арбузные корки",5)
167 |
168 | --mk("BERRIES_PICKLED","Маринованные ягоды",5,"Маринованным ягодам")
169 | ch_nm("BERRIES_PICKLED","Забродившие ягоды",5,"Забродившим ягодам")
170 |
171 | --В связи с переименованием некоторых блюд на адаптивные русские названия нужно пропатчить систему приготовления блюд.
172 | --Ямс = лукфель = картофель во многих случаях в некотором приближении.
173 |
174 |
175 | --[[
176 | --В целом это не имеет смысла, т.к. фильтруется на выделенном сервере. Правильнее написать автору мода о багах.
177 | local cooking = _G.require("cooking")
178 | local ingredients = cooking.ingredients
179 | --Функция мягкого изменения значений ингредиентов без полной перезаписи. Для полной совместимости с любыми модами.
180 | AddIngredientValues = function(names, tags, cancook, candry)
181 | for _,name in pairs(names) do
182 | if not ingredients[name] then --No breaking!
183 | ingredients[name] = { tags= {}}
184 | end
185 | if cancook and not ingredients[name.."_cooked"] then --No breaking!
186 | ingredients[name.."_cooked"] = {tags={}}
187 | end
188 | if candry and not ingredients[name.."_dried"] then --No breaking!
189 | ingredients[name.."_dried"] = {tags={}}
190 | end
191 | for k,v in pairs(tags) do
192 | ingredients[name].tags[k] = v
193 | if cancook then
194 | ingredients[name.."_cooked"].tags.precook = 1
195 | ingredients[name.."_cooked"].tags[k] = v
196 | end
197 | if candry then
198 | ingredients[name.."_dried"].tags.dried = 1
199 | ingredients[name.."_dried"].tags[k] = v
200 | end
201 | end
202 | end
203 | end
204 |
205 | --Надо бы переместить в Foodie
206 | AddIngredientValues({"pigs_foot_dried"},{meat=0.5}) --Микроскопический фикс известного бага.
207 | AddIngredientValues({"potato"},{veggie=1, tuber=1})
208 | AddIngredientValues({"mushroom_pickled"},{veggie=0.5,fungus=1,mushrooms=1}) --compatible with waiter 101
209 | AddIngredientValues({"fish_pickled"},{meat=.5,fish=1,seafood=1}) --compatible with waiter 101
210 | AddIngredientValues({"corn_pickled","pumpkin_pickled"},{veggie=0.5,starch=1})
211 | --]]
212 |
213 | ---------------- Дополниение от Hawaiian ----------------
214 | -------------------------------------------------------------------------------------Pickle it
215 |
216 | --pickleit_strings.lua
217 |
218 | STRINGS.NAMES.PICKLE = "Мариновать"
219 |
220 | -- Pickle Barrel
221 |
222 | STRINGS.NAMES.PICKLE_BARREL = "Pickle Barrel"
223 |
224 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.PICKLE_BARREL_PICKLING = {
225 | "Теперь нужно подождать",
226 | "Мариновка займет какое-то время",
227 | "Скорее я сам замаринуюсь, чем будет готово",
228 | }
229 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.PICKLE_BARREL_GENERIC = {
230 | "Pickle your food so it lasts longer!",
231 | "Mmm, salty goodness",
232 | "Not to be confused with pickleball",
233 | "Serves sandwiches, right?",
234 | }
235 |
236 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.PICKLE_BARREL = STRINGS.CHARACTERS.GENERIC.DESCRIBE.PICKLE_BARREL_GENERIC
237 |
238 | STRINGS.RECIPE_DESC.PICKLE_BARREL = "Маринованная еда хранится дольше!"
239 |
240 | -- Pickle Sword
241 |
242 | STRINGS.NAMES.PICKLE_SWORD = "Pickle Sword"
243 |
244 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.PICKLE_SWORD = {
245 | "Сразись со мной на огурцах!",
246 | "Мой огурец больше твоего!",
247 | "Огуречный сюрприз!",
248 | }
249 |
250 | STRINGS.RECIPE_DESC.PICKLE_SWORD = "Сражайтесь солёным огурцом!"
251 |
252 | -- Beet
253 |
254 | STRINGS.NAMES.BEET = "Beet"
255 | STRINGS.NAMES.BEET_COOKED = "Roasted Beet"
256 | STRINGS.NAMES.BEET_SEEDS = "Beet Seeds"
257 | STRINGS.NAMES.BEET_PICKLED = "Pickled Beet"
258 | STRINGS.NAMES.BEET_PLANTED = "Beet"
259 |
260 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.BEET = {
261 | "Fact: bears eat beets. Bears, beets, Battlestar Galactica",
262 | "Nobody likes beets. Maybe I should have grown candy instead.",
263 | "Let's have a garden party.\nLettuce turnip the beet.",
264 | "I can pickle that!",
265 | }
266 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.BEET_COOKED = {
267 | "Roasted beets have a sweet earthy flavor",
268 | "Sweeter than unroasted beets",
269 | }
270 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.BEET_SEEDS = {
271 | "It's a seed.",
272 | }
273 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.BEET_PICKLED = {
274 | "Может, стоит попробовать?.",
275 | "They actually look kinda tasty",
276 | }
277 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.BEET_PLANTED = {
278 | "Looks like a beet",
279 | }
280 |
281 | -- Berries
282 |
283 | STRINGS.NAMES.BERRIES_PICKLED = "Pickled Berries"
284 |
285 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.BERRIES_PICKLED = {
286 | "Маринованные ягоды со щепоткой специй",
287 | "С сыром будет вкусно",
288 | }STRINGS.CHARACTERS.GENERIC.DESCRIBE.POTATO = {
289 | "Уничтожу, раскромсаю, раздавлю...в пюре!",
290 | "Каррррр! Тофель!",
291 | "У чего есть глазки но нет зрения?\nУ картошки!",
292 | }
293 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.POTATO_COOKED = {
294 | "Просто, быстро и вкусно!",
295 | "Ароматный жареный картофель",
296 | }
297 |
298 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.PIGS_FOOT_DRIED = {
299 | "Вкусные вяленые свиные ножки...",
300 | }
301 | STRINGS.CHARACTERS.GENERIC.DESCRIBE.WATERMELON_PICKLED = {
302 | "Кто придумал мариновать арбузные корки?",
303 | "Хорошо сочетается с сырными крэкерами",
304 | }
305 |
306 |
307 |
308 |
309 |
310 |
--------------------------------------------------------------------------------