Decompiled source of ValheimSeasonsRussianLocalization v1.6.0

BepInEx\plugins\ValheimSeasonsRussian.dll

Decompiled a week ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using Microsoft.CodeAnalysis;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("ValheimSeasonsRussian")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("ValheimSeasonsRussian")]
[assembly: AssemblyTitle("ValheimSeasonsRussian")]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace ValheimSeasonsRussian
{
	[BepInPlugin("ru.valheimseasons.localization", "ValheimSeasons Russian Localization", "1.6.0")]
	public sealed class LocalizationPlugin : BaseUnityPlugin
	{
		private Harmony _harmony;

		private static readonly Dictionary<string, string> Translations = new Dictionary<string, string>
		{
			["1 - Geral (servidor)"] = "1 - Основное (сервер)",
			["2 - Visual (cada jogador)"] = "2 - Визуальные настройки (каждый игрок)",
			["3 - Frio e calor (servidor)"] = "3 - Холод и жара (сервер)",
			["4 - Gelo no mar (servidor)"] = "4 - Лёд на море (сервер)",
			["5 - Alcateias (servidor)"] = "5 - Волчьи стаи (сервер)",
			["6 - Plantas e colheita (servidor)"] = "6 - Растения и урожай (сервер)",
			["7 - Animais e criaturas (servidor)"] = "7 - Животные и существа (сервер)",
			["8 - Comerciantes (servidor)"] = "8 - Торговцы (сервер)",
			["9 - Outros (cada jogador)"] = "9 - Прочее (каждый игрок)",
			["10 - Furacões (servidor)"] = "10 - Ураганы (сервер)",
			["Dias in-game que cada estação dura"] = "Количество игровых дней в каждом сезоне",
			["Desloca o ciclo (ex: DaysPerSeason*3 = mundo começa no inverno)"] = "Смещение сезонного цикла (например, DaysPerSeason*3 — мир начинается зимой)",
			["Inverno: frio em todos os biomas com estação (fogueira, abrigo e roupa de frio resolvem)"] = "Зима: холод во всех биомах с сезонной сменой. Костёр, укрытие и тёплая одежда помогают согреться",
			["Clima muda conforme a estação (neve no inverno, mais chuva no outono...)"] = "Погода меняется в зависимости от сезона: снег зимой, больше дождей осенью и т. д.",
			["Últimos dias de cada estação em que o clima e o chão vão puxando pra próxima (camadas). 0 = troca seca"] = "Количество последних дней сезона, в течение которых погода и поверхность постепенно меняются к следующему сезону. 0 = мгновенная смена",
			["Em quantas etapas a transição é dividida (espalhadas pelos TransitionDays)"] = "На сколько этапов разделён переход между сезонами в течение TransitionDays",
			["Etapa em que grama, plantinhas e musgo terminam de virar pra próxima estação (com SmoothTransition vão virando aos poucos desde a etapa 1; indo pro inverno ou saindo dele a neve vem umas etapas atrasada)"] = "Этап завершения смены внешнего вида травы, мелких растений и мха. При плавном переходе изменения начинаются с первого этапа. При наступлении зимы и после неё снег появляется с задержкой в несколько этапов",
			["Etapa em que os arbustos terminam de virar (começam depois da grama). As árvores vão virando a transição toda e completam quando a estação começa"] = "Этап завершения смены внешнего вида кустарников. Они начинают меняться после травы. Деревья меняются на протяжении всего перехода и завершают его к началу нового сезона",
			["Cada etapa da vegetação espera a próxima noite do jogo pra aplicar (menos visível). Pular tempo (dormir) aplica na hora"] = "Каждый этап изменения растительности применяется следующей игровой ночью, чтобы переход был менее заметен. Сон немедленно применяет изменения",
			["Inverno: placas de gelo boiando no mar, lagos e rios (dá pra andar em cima). A água continua normal. Fora: Ashlands e Deep North. Barcos atravessam as placas."] = "Зима: льдины появляются в море, озёрах и реках; по ним можно ходить. Вода остаётся обычной. Не затрагивает Пепельные земли и Крайний Север. Лодки могут проходить сквозь льдины",
			["Buff/debuff da estação nos jogadores"] = "Сезонные положительные и отрицательные эффекты для игроков",
			["Primavera: multiplicador do tempo de crescimento do que não está no calendário de cultivo (mudas de árvore etc.). Menor = cresce mais rápido"] = "Весна: множитель времени роста растений, не включённых в календарь выращивания, например саженцев деревьев. Чем меньше значение, тем быстрее рост",
			["Verão: mesmo multiplicador (1 = normal)"] = "Лето: множитель времени роста (1 = обычная скорость)",
			["Outono: mesmo multiplicador"] = "Осень: множитель времени роста",
			["Inverno: mesmo multiplicador (com o calendário de cultivo ligado, nada cresce no inverno de qualquer jeito)"] = "Зима: множитель времени роста. При включённом календаре выращивания зимой рост всё равно останавливается",
			["Materiais (nome exato, separados por vírgula) que recebem a pintura sazonal"] = "Точные названия материалов, получающих сезонную окраску. Перечисляйте через запятую",
			["Padrões com * (sem diferenciar maiúscula): qualquer material de VEGETAÇÃO/GRAMA cujo nome bata também é pintado. Pega a vegetação do pântano sem precisar listar um por um. Pedra/construção nunca entra."] = "Шаблоны с * без учёта регистра: подходящие материалы растительности и травы также получают сезонную окраску. Позволяет охватить растительность болот без перечисления каждого материала. Камни и постройки не затрагиваются",
			["Outono/Inverno: o musgo verde-limão pintado nos penhascos da Mistlands vira dourado/neve (só o verde, a rocha não muda)"] = "Осень и зима: ярко-зелёный мох на скалах Туманных земель становится золотистым осенью и заснеженным зимой. Меняется только мох, скалы не затрагиваются",
			["Outono/Inverno: QUALQUER vegetação (shader de vegetação) que não esteja nas listas também muda — arbustos da Planície, plantinhas soltas etc. ficam brancas no inverno e douradas no outono."] = "Осень и зима: меняется также любая растительность, не указанная в списках и использующая шейдер растительности. Кустарники Равнин и отдельные растения становятся белыми зимой и золотистыми осенью",
			["Pântano: névoa/ambiente muda de tom por estação (primavera verde, outono âmbar). Inverno não muda."] = "Болота: оттенок тумана и окружения меняется в зависимости от сезона. Весной преобладают зелёные тона, осенью — янтарные. Зимой изменений нет",
			["Quanto de neve nas folhas/grama"] = "Количество снега на листьях и траве",
			["Cor da neve"] = "Цвет снега",
			["Quanto o verde vira laranja/vermelho no outono"] = "Интенсивность перехода зелёной растительности в оранжевые и красные тона осенью",
			["Outono: quanto os pinheiros da Floresta Negra ficam amarelados"] = "Осень: степень пожелтения сосен в Чёрном лесу",
			["Inverno: árvores (abeto, pinheiro, faia, bétula, carvalho) e arbustos perdem as folhas; tronco e galho ficam com a cor vanilla"] = "Зима: ели, сосны, буки, берёзы, дубы и кустарники теряют листву. Стволы и ветви сохраняют исходные цвета игры",
			["Verão: quanto as folhas das árvores ficam mais escuras"] = "Лето: степень затемнения листвы деревьев",
			["Verão: pontas da grama puxando pro dourado (0 = desliga)"] = "Лето: золотистый оттенок кончиков травы. 0 = отключено",
			["Verão: tufos de flor amarelos/laranja no chão (mesmos biomas e quantidade da primavera)"] = "Лето: жёлтые и оранжевые цветочные заросли на земле. Биомы и количество такие же, как весной",
			["Verão: pólen e sementinhas flutuando de dia, vaga-lumes à noite"] = "Лето: днём в воздухе летают пыльца и семена, ночью появляются светлячки",
			["Biomas com as partículas no verão: Meadows, BlackForest, Swamp, Mistlands, Plains"] = "Биомы с летними частицами: Луга, Чёрный лес, Болота, Туманные земли, Равнины",
			["Primavera: grupos de borboletas em volta do jogador de dia (0 = desliga)"] = "Весна: группы бабочек летают вокруг игрока днём. 0 = отключено",
			["Biomas com borboletas na primavera: Meadows, BlackForest, Swamp, Mistlands, Plains"] = "Биомы с весенними бабочками: Луга, Чёрный лес, Болота, Туманные земли, Равнины",
			["Verão: grupos de borboletas em volta do jogador de dia, nos biomas das partículas (0 = desliga)"] = "Лето: группы бабочек летают вокруг игрока днём в биомах, где появляются частицы. 0 = отключено",
			["Verão no Pântano: libélulas e mosquitinhos na água, bruma rasteira de manhã e no fim da tarde, vaga-lumes em dobro à noite e musgo verde-vivo"] = "Лето на Болотах: стрекозы и мошки над водой, низкий туман утром и вечером, вдвое больше светлячков ночью и ярко-зелёный мох",
			["Verão na Planície: rajadas e redemoinhos de poeira no vento e névoa dourada de calor no horizonte"] = "Лето на Равнинах: порывы ветра и вихри пыли, золотистая дымка жары на горизонте",
			["Verão na Mistlands: névoa mais rala de dia, esporos brilhantes, vaga-lumes azuis à noite, mariposas no lugar das borboletas, gafanhotos e mosquitinhos na água"] = "Лето в Туманных землях: днём туман становится реже, появляются светящиеся споры, ночью — синие светлячки, вместо бабочек летают мотыльки, над водой появляются кузнечики и мошки",
			["Inverno: cristais de gelo brilhando, neve caindo dos galhos, corvos, névoa gelada no Pântano e cristais na Mistlands"] = "Зима: сверкающие кристаллы льда, снег, осыпающийся с ветвей, вороны, морозный туман на Болотах и кристаллы в Туманных землях",
			["Inverno: bafo de frio do próprio jogo saindo da boca dos jogadores ao ar livre (mesmo aquecidos)"] = "Зима: на улице изо рта игроков идёт пар, как в оригинальной игре, даже если они согреты",
			["Inverno: aurora boreal no céu em noite limpa"] = "Зима: северное сияние в ясные ночи",
			["Transição suave: a cada etapa da transição as folhas, arbustos e grama vão virando aos poucos, em manchas (umas folhas já amarelas, outras ainda verdes; a neve chegando aos poucos). Off = troca de uma vez, como antes"] = "Плавный переход: листья, кустарники и трава меняют цвет постепенно, пятнами. Одни листья уже жёлтые, другие ещё зелёные; снег также появляется постепенно. Выключено = мгновенная смена, как раньше",
			["Transição suave dos efeitos: no fim de cada estação os efeitos dela vão rareando e os da próxima já começam a aparecer (folha caindo no fim do verão, floco de neve no fim do outono, aurora fraquinha...)"] = "Плавная смена эффектов: в конце сезона его эффекты постепенно исчезают, а эффекты следующего начинают появляться. Например, листья опадают в конце лета, снежинки появляются в конце осени, а северное сияние сначала едва заметно",
			["Inverno: a grama, flor e samambaia do chão somem (ficou tudo debaixo da neve)"] = "Зима: трава, цветы и папоротники на земле исчезают под снегом",
			["Outono: folhas caindo, rajadas de folha seca, neblina de manhã, bandos migrando e os bichos de cada bioma"] = "Осень: опадающие листья, порывы сухой листвы, утренний туман, перелётные стаи и характерные животные каждого биома",
			["Outono: grupos de folhas caindo em volta do jogador (0 = desliga)"] = "Осень: группы опадающих листьев вокруг игрока. 0 = отключено",
			["Outono: tufos de flor vermelhos no chão (mesmos biomas e quantidade da primavera)"] = "Осень: красные цветочные заросли на земле. Биомы и количество такие же, как весной",
			["Outono: de vez em quando um bando de pássaros em V cruza o céu indo pro sul"] = "Осень: время от времени стая птиц летит на юг клином V",
			["Outono: pontas da grama laranja/vermelhas e manchas marrons (0 = desliga)"] = "Осень: оранжевые и красные кончики травы и коричневые пятна. 0 = отключено",
			["Primavera na Mistlands: libélulas de dia (de preferência perto da água)"] = "Весна в Туманных землях: стрекозы днём, преимущественно возле воды",
			["Verão na Planície: quanto o capim fica dourado/palha (0 = só um pouco mais seco, como antes)"] = "Лето на Равнинах: интенсивность золотистого, соломенного оттенка травы. 0 = трава лишь немного суше, как раньше",
			["Verão: céu mais limpo (bem menos chuva e névoa mais fina). Não mexe na cor da luz"] = "Лето: более ясное небо, значительно меньше дождей и более лёгкий туман. Не меняет цвет освещения",
			["Primavera: flores nas árvores de folha, arbustos e grama"] = "Весна: цветы появляются на лиственных деревьях, кустарниках и траве",
			["Quantidade de flores na primavera"] = "Количество цветов весной",
			["Primavera: cachos de flor carmim/magenta nas pontas dos galhos das árvores e arbustos. 0 = sem"] = "Весна: малиновые и пурпурные соцветия на концах ветвей деревьев и кустарников. 0 = отключено",
			["Resolução máxima das texturas geradas"] = "Максимальное разрешение создаваемых текстур",
			["Salva as texturas geradas em config/ValheimSeasons/cache"] = "Сохраняет созданные текстуры в config/ValheimSeasons/cache",
			["Inverno: musgo das pedras vira neve"] = "Зима: мох на камнях покрывается снегом",
			["Inverno: chão nevado | Outono: Meadows dourado"] = "Зима: заснеженная земля. Осень: золотистые Луга",
			["Quantos ms por frame o mod pode usar trocando texturas/terreno (menor = mais suave, troca mais devagar)"] = "Сколько миллисекунд на кадр мод может тратить на смену текстур и ландшафта. Меньше = плавнее, но медленнее",
			["Primavera: os tufos de flor da Planície também aparecem no chão dos biomas da lista"] = "Весна: цветочные заросли с Равнин также появляются на земле в перечисленных биомах",
			["Biomas que ganham os tufos de flor na primavera (a Planície já tem): Meadows, BlackForest, Swamp, Mistlands"] = "Биомы, в которых весной появляются цветочные заросли. На Равнинах они есть изначально: Луга, Чёрный лес, Болота, Туманные земли",
			["Quantidade de tufos de flor na primavera (1 = igual à Planície vanilla). Vale pra Planície também"] = "Количество цветочных зарослей весной. 1 = как на исходных Равнинах. Настройка действует и на Равнины",
			["Primavera: vaga-lumes em volta do jogador nos biomas da lista"] = "Весна: светлячки вокруг игрока в перечисленных биомах",
			["Quantos grupos de vaga-lumes em volta do jogador"] = "Количество групп светлячков вокруг игрока",
			["Biomas com as partículas na primavera: Meadows, BlackForest, Swamp, Mistlands, Plains"] = "Биомы с весенними частицами: Луга, Чёрный лес, Болота, Туманные земли, Равнины",
			["Material do jogo usado no gelo do inverno (padrão: 'ice', o do oceano congelado do Deep North). Descubra outros com 'estacao material'. 'gerado' = gelo desenhado pelo mod"] = "Материал игры для зимнего льда. По умолчанию — 'ice', используемый на замёрзшем океане Крайнего Севера. Другие материалы можно найти командой 'estacao material'. 'gerado' = лёд, создаваемый модом",
			["Mensagem na tela quando a estação muda"] = "Показывать сообщение на экране при смене сезона",
			["Loga os materiais pintados e todos com textura (pra montar a lista)"] = "Записывать в журнал материалы с сезонной окраской и все материалы с текстурами для составления списка",
			["TESTE (só no seu cliente, precisa do devcommands ligado): cada aperto troca Primavera > Verão > Outono > Inverno > desliga. Vazio = desativado"] = "ТЕСТ (только на вашем клиенте; требуется devcommands): каждое нажатие переключает Весну → Лето → Осень → Зиму → выключено. Пусто = отключено",
			["Inverno: alcateias de lobos aparecem à noite pelo mapa (usa o sistema de spawn do próprio jogo; menos Montanha/Ashlands/Deep North)"] = "Зима: ночью по миру появляются стаи волков, используя стандартную систему появления существ игры. Не затрагивает Горы, Пепельные земли и Крайний Север",
			["Chance (0 a 1) de cada área carregada tentar soltar um bando, a cada WolfCheckSeconds"] = "Вероятность от 0 до 1, что каждая загруженная область попытается создать стаю через интервал WolfCheckSeconds",
			["Intervalo do spawn das alcateias, em segundos (mínimo 30)"] = "Интервал появления волчьих стай в секундах. Минимум 30",
			["Lobos por alcateia (mínimo)"] = "Минимальное количество волков в стае",
			["Lobos por alcateia (máximo) — também é o limite de lobos de inverno por área"] = "Максимальное количество волков в стае. Также ограничивает количество зимних волков в одной области",
			["Estrelas máximas dos lobos (0, 1 ou 2)"] = "Максимальное количество звёзд у волков: 0, 1 или 2",
			["Global key que libera as alcateias do inverno (padrão: defeated_bonemass = depois de matar o Bonemass). Vazio = desde o começo. Várias separadas por vírgula = precisa de todas. Ex.: defeated_eikthyr, defeated_gdking, defeated_bonemass, defeated_dragon"] = "Глобальные ключи, разрешающие появление зимних стай. По умолчанию defeated_bonemass — после убийства Массы Костей. Пусто = с самого начала. Несколько ключей через запятую означают, что должны быть выполнены все условия. Например: defeated_eikthyr, defeated_gdking, defeated_bonemass, defeated_dragon",
			["Alcateias também de dia"] = "Разрешить появление волчьих стай днём",
			["Inverno: sem roupa de frio e longe do calor você congela (igual montanha). Tocha, fogueira e comida quente salvam"] = "Зима: без тёплой одежды и вдали от источников тепла игрок замерзает, как в горах. Факел, костёр и горячая еда помогают согреться",
			["Congela o dia todo. false = só à noite (de dia fica só com frio)"] = "Замерзание в течение всего дня. false = только ночью; днём действует обычный эффект холода",
			["Dano EXTRA (além do congelamento vanilla) a cada 3s congelando. Para em 10% da vida"] = "Дополнительный урон помимо стандартного эффекта замерзания каждые 3 секунды. Прекращается при 10% здоровья",
			["Inverno: comer comida quente deixa você aquecido (sem frio/congelamento)"] = "Зима: горячая еда согревает игрока и защищает от холода и замерзания",
			["Minutos do efeito Aquecido"] = "Длительность эффекта согревания в минутах",
			["Partes do nome das comidas quentes (separadas por vírgula)"] = "Фрагменты названий горячей еды, перечисленные через запятую",
			["Inverno: não dá pra colher planta selvagem (frutinhas, cogumelos, cardo, sementes...) e nada renasce. Tudo volta ao normal na primavera"] = "Зима: нельзя собирать дикорастущие растения — ягоды, грибы, чертополох, семена и другие. Растения не возрождаются. Весной всё возвращается в норму",
			["Frutinhas/cogumelos selvagens que ficam SEM FRUTO no inverno (partes do nome, separadas por vírgula)"] = "Дикорастущие ягоды и грибы, которые не дают урожая зимой. Указывайте фрагменты названий через запятую",
			["Outras plantas SELVAGENS que não dá pra colher no inverno (cardo, dente-de-leão, sementes, cevada/linho selvagens...). Plantações do jogador já maduras colhem normal. Pedras, galhos e minérios nunca são afetados"] = "Другие дикорастущие растения, которые нельзя собирать зимой: чертополох, одуванчики, семена, дикий ячмень и лён. Созревшие посевы игрока собираются как обычно. Камни, ветки и руды не затрагиваются",
			["Calendário de cultivo: cada plantação cresce melhor nas suas estações. No inverno nada cresce (plantações e mudas de árvore congelam até a primavera) e não dá pra plantar; o que já estava maduro dá pra colher"] = "Календарь выращивания: каждый вид растений лучше растёт в подходящие сезоны. Зимой рост останавливается, посевы и саженцы деревьев замерзают до весны, а сажать нельзя. Уже созревший урожай можно собрать",
			["Plantação:estações boas (spring/summer/fall/winter, junte com +)"] = "Посев:подходящие сезоны (spring/summer/fall/winter; несколько сезонов объединяются через +)",
			["Multiplicador do tempo de crescimento na estação boa (menor = mais rápido)"] = "Множитель времени роста в подходящий сезон. Чем меньше значение, тем быстрее рост",
			["Multiplicador do tempo de crescimento fora de época"] = "Множитель времени роста вне подходящего сезона",
			["Plantou nos primeiros X dias da primavera = bônus"] = "Посадка в первые X дней весны даёт бонус",
			["Multiplicador do tempo de quem plantou no começo da primavera (menor = mais rápido)"] = "Множитель времени роста для растений, посаженных в начале весны. Чем меньше значение, тем быстрее рост",
			["Tocha na mão esquenta igual fogueira"] = "Факел в руке согревает так же, как костёр",
			["No inverno a tocha gasta X vezes mais rápido"] = "Зимой факел расходуется в X раз быстрее",
			["Perto da lava conta como fogueira: aquece e seca quem está molhado (não dá Descansado)"] = "Рядом с лавой игрок согревается и высыхает, как у костра. Эффект «Отдохнувший» не предоставляется",
			["Distância (m) da lava pra contar como fogueira"] = "Расстояние до лавы в метрах, в пределах которого она считается источником тепла",
			["Quais placas de gelo usar: auto = as do mar do Deep North do próprio jogo | partes do nome dos prefabs, separadas por vírgula | gerado = placa desenhada pelo mod"] = "Какие льдины использовать: auto = стандартные льдины Крайнего Севера; можно указать фрагменты имён prefab через запятую; gerado = льдины, создаваемые модом",
			["Inverno: quantidade de placas de gelo boiando no mar, lagos e rios (0 = nenhuma, 1 = normal, 2 = o dobro)"] = "Зима: количество льдин в морях, озёрах и реках. 0 = нет, 1 = обычное количество, 2 = вдвое больше",
			["Inverno: se molhar não dá o debuff Molhado, e sim Gelado (lentidão). Montanha/Ashlands/Deep North ficam com o vanilla"] = "Зима: намокание накладывает эффект «Промёрзший», замедляющий движение, вместо эффекта «Мокрый». В Горах, Пепельных землях и на Крайнем Севере действуют стандартные правила игры",
			["Quantos minutos o Gelado dura depois de sair da água"] = "Сколько минут длится эффект «Промёрзший» после выхода из воды",
			["Velocidade com Gelado (0.8 = 20% mais lento, 1 = sem lentidão)"] = "Скорость передвижения с эффектом «Промёрзший»: 0.8 = на 20% медленнее, 1 = без замедления",
			["Verão nas Planícies: se molhar não dá o debuff Molhado, e sim o buff Refrescante (protege do calor)"] = "Летом на Равнинах намокание даёт эффект «Освежение», защищающий от жары, вместо эффекта «Мокрый»",
			["Quantos minutos o Refrescante dura depois de sair da água/chuva"] = "Сколько минут длится эффект «Освежение» после выхода из воды или окончания дождя",
			["Regeneração de stamina com Refrescante (1.15 = +15%)"] = "Восстановление выносливости с эффектом «Освежение»: 1.15 = +15%",
			["Em quais fases do verão o Calor aparece: 1 Ascensão, 2 Expansão, 3 Auge, 4 Declínio (separadas por vírgula). Padrão: 3 = só no auge do verão"] = "В каких фазах лета действует жара: 1 — Подъём, 2 — Развитие, 3 — Пик, 4 — Угасание. Перечисляйте через запятую. По умолчанию 3 = только в разгар лета",
			["Verão: nas Planícies de dia, sem estar molhado ou na sombra, a stamina rende menos"] = "Летом на Равнинах днём выносливость расходуется менее эффективно, если игрок сухой и находится не в тени",
			["Outono: itens extras ao colher plantações"] = "Осень: дополнительные предметы при сборе урожая",
			["Partes do nome das plantações que ganham o bônus"] = "Фрагменты названий растений, на которые распространяется бонус",
			["Primavera: animais domesticados têm filhotes X vezes mais rápido"] = "Весна: прирученные животные производят потомство в X раз быстрее",
			["Igual ao PickableRegrow, só que pros cogumelos (padrão: voltam rápido no outono): primavera,verão,outono,inverno"] = "То же, что PickableRegrow, но для грибов. По умолчанию они быстро восстанавливаются осенью. Значения для весны, лета, осени и зимы",
			["Multiplicador do TEMPO pra frutinha/planta colhível voltar a nascer (cogumelos usam o MushroomRegrow) (menor = volta mais rápido, dá pra pegar mais vezes): primavera,verão,outono,inverno"] = "Множитель времени возрождения ягод и собираемых растений. Для грибов используется MushroomRegrow. Чем меньше значение, тем быстрее растения восстанавливаются и тем чаще их можно собирать. Значения для весны, лета, осени и зимы",
			["Multiplicador do tempo pra colmeia fazer mel: primavera,verão,outono,inverno"] = "Множитель времени производства мёда в ульях для весны, лета, осени и зимы",
			["Inverno: a colmeia não faz mel e não dá pra colher (as abelhas hibernam)"] = "Зима: ульи не производят мёд, собирать его нельзя — пчёлы впадают в спячку",
			["Spawns na primavera: Prefab:multiplicador (aceita *)"] = "Появление существ весной: Prefab:множитель. Поддерживается символ *",
			["Spawns no verão"] = "Появление существ летом",
			["Spawns no outono"] = "Появление существ осенью",
			["Spawns no inverno"] = "Появление существ зимой",
			["Outono: animais domesticados (ex.: javali, lobo, Lox) dropam X vezes mais ao morrer, independente das estrelas. 2 = dobro, 1 = desliga"] = "Осень: прирученные животные, например кабаны, волки и локс, при смерти оставляют в X раз больше добычи независимо от количества звёзд. 2 = вдвое больше, 1 = отключено",
			["Criaturas ficam mais fortes/fracas conforme a estação (bosses, domesticados e Montanha/Ashlands/Deep North ficam de fora)"] = "Существа становятся сильнее или слабее в зависимости от сезона. Боссы, прирученные существа, а также существа Гор, Пепельных земель и Крайнего Севера не затрагиваются",
			["Criaturas na primavera. Prefab:efeitos separados por espaço. dano1.2 = +20% dano | vel0.85 = 15% mais lenta | vida1.1 = aguenta +10% | spawn1.5 = +50% spawn | dia = só de dia. Parte do nome vale (Seeker pega SeekerBrood); o mais específico ganha"] = "Существа весной. Формат Prefab:эффекты, разделённые пробелами. dano1.2 = +20% урона; vel0.85 = на 15% медленнее; vida1.1 = +10% здоровья; spawn1.5 = +50% появления; dia = только днём. Допускается фрагмент имени: Seeker также затронет SeekerBrood. Более точное совпадение имеет приоритет",
			["Criaturas no verão (mesmo formato)"] = "Существа летом. Используется тот же формат",
			["Criaturas no outono (mesmo formato)"] = "Существа осенью. Используется тот же формат",
			["Criaturas no inverno (mesmo formato)"] = "Существа зимой. Используется тот же формат",
			["Como o jogador vê a próxima troca de estação (ícone, dica do ícone e mensagens): horas = tempo de VIDA REAL que falta (ex.: 2h 30min; dormir adianta) | dias = dias do jogo que faltam | imersivo = só o nome e a frase da fase (Despertar, Colheita, Silêncio...), 4 fases por estação, sem prazo. Com devcommands ligado, o comando 'estacao' sempre mostra o tempo real"] = "Как отображается время до следующего сезона: horas = оставшееся реальное время (например, 2 ч 30 мин; сон ускоряет смену); dias = оставшиеся игровые дни; imersivo = только название и фраза текущей фазы (Пробуждение, Урожай, Безмолвие и т. п.), четыре фазы на сезон без указания срока. При включённых devcommands команда 'estacao' всегда показывает реальное время",
			["Comerciantes (Haldor, Hildir e a Bruxa) mudam preço e estoque conforme a estação"] = "Торговцы (Хальдор, Хильдир и Ведьма) меняют цены и ассортимент в зависимости от сезона",
			["Comerciantes ganham falas da estação (ex.: Haldor reclamando dos preços no inverno)"] = "У торговцев появляются сезонные реплики, например жалобы Хальдора на зимние цены",
			["Preço nos comerciantes na primavera: item:multiplicador (nome do prefab, aceita *). 0 = sem estoque. Ex.: honey:2 = mel pelo dobro"] = "Цены у торговцев весной: предмет:множитель (имя prefab; поддерживается *). 0 = отсутствует в продаже. Например, honey:2 = мёд по двойной цене",
			["Preço nos comerciantes no verão (mesmo formato)"] = "Цены у торговцев летом. Используется тот же формат",
			["Preço nos comerciantes no outono (mesmo formato)"] = "Цены у торговцев осенью. Используется тот же формат",
			["Preço nos comerciantes no inverno (mesmo formato). Vale também pros itens extras da estação"] = "Цены у торговцев зимой. Используется тот же формат и применяется к дополнительным сезонным товарам",
			["Itens extras à venda na primavera: Comerciante:Item=preço xQuantidade @globalkey (quantidade e key são opcionais). Comerciante: Haldor, Hildir ou BogWitch. Ex.: Haldor:Honey=20x5"] = "Дополнительные товары весной: Торговец:Предмет=цена xКоличество @globalkey. Количество и ключ необязательны. Торговец: Haldor, Hildir или BogWitch. Например: Haldor:Honey=20x5",
			["Itens extras à venda no verão (mesmo formato)"] = "Дополнительные товары летом. Используется тот же формат",
			["Itens extras à venda no outono (mesmo formato)"] = "Дополнительные товары осенью. Используется тот же формат",
			["Itens extras à venda no inverno (mesmo formato). O preço final passa pelo TraderPriceWinter (mel 20 x2 = 40)"] = "Дополнительные товары зимой. Итоговая цена рассчитывается с учётом TraderPriceWinter. Например, мёд за 20 при множителе x2 стоит 40",
			["Furacões viajando pelo oceano (longe da costa, fora do mar das Ashlands/Deep North). Puxam os barcos pro centro (dá pra fugir com vela cheia) e no miolo batem no barco e em quem está a bordo. Todo mundo vê o mesmo furacão no mesmo lugar"] = "Ураганы перемещаются по океану вдали от побережья и морей Пепельных земель и Крайнего Севера. Они тянут лодки к центру; при полном парусе можно попытаться уйти. В центре ураган повреждает судно и наносит урон находящимся на борту. Все игроки видят один и тот же ураган в одном месте",
			["Quantos furacões ao mesmo tempo no oceano do mundo, bem longe um do outro: primavera,verão,outono,inverno (0 = nenhum)"] = "Количество одновременно существующих ураганов в океане. Они находятся далеко друг от друга. Значения для весны, лета, осени и зимы. 0 = нет ураганов",
			["Quanto dura cada furacão, em minutos (depois some e outro nasce em outro lugar)"] = "Продолжительность каждого урагана в минутах. После исчезновения новый ураган появляется в другом месте",
			["Força do puxão no centro (m/s²). Vela cheia escapa até uns 3; mais que isso fica difícil de fugir"] = "Сила притяжения к центру урагана в м/с². При значении около 3 можно уйти под полными парусами; при большей силе это сложнее",
			["Dano no barco a cada 2s no miolo do furacão (um Karve aguenta uns 30s com 35)"] = "Урон судну каждые 2 секунды в центре урагана. Караве выдерживает около 30 секунд при значении 35",
			["Dano em quem está no miolo do furacão (no barco ou nadando), a cada 2s"] = "Урон игроку в центре урагана — на судне или в воде — каждые 2 секунды",
			["Perto de um furacão o céu vira tempestade (só pra quem está perto dele)"] = "Рядом с ураганом небо становится штормовым. Эффект виден только игрокам поблизости",
			["Eventos/invasões que só acontecem em certas estações. evento:estação+estação (ex: wolves:winter, army_eikthyr:spring+summer)"] = "События и вторжения, происходящие только в определённые сезоны. Формат: событие:сезон+сезон. Например: wolves:winter, army_eikthyr:spring+summer",
			["Carga máxima +"] = "Максимальный переносимый вес +",
			["Carga maxima +"] = "Максимальный переносимый вес +",
			["Estação:"] = "Сезон:",
			["Estação: "] = "Сезон: ",
			["Estacao: "] = "Сезон: ",
			["Estação travada pelo admin"] = "Сезон зафиксирован администратором",
			["Estacao travada pelo admin"] = "Сезон зафиксирован администратором",
			["Vida regenera +"] = "Восстановление здоровья +",
			["Vida regenera -"] = "Восстановление здоровья −",
			["Stamina regenera +"] = "Восстановление выносливости +",
			["Stamina regenera -"] = "Восстановление выносливости −",
			["Proxima estacao em ~"] = "До следующего сезона примерно ",
			["Proxima estacao em "] = "До следующего сезона ",
			["Próxima estação em ~"] = "До следующего сезона примерно ",
			["Próxima estação em "] = "До следующего сезона ",
			[" (tempo real; dormir adianta)"] = " (реального времени; сон ускоряет смену сезона)",
			[" pra proxima estacao (tempo real)"] = " до следующего сезона (реального времени)",
			[" pra próxima estação (tempo real)"] = " до следующего сезона (реального времени)",
			[" restante"] = " осталось",
			[" restantes"] = " осталось",
			[" dias"] = " дн.",
			[" dia"] = " дн.",
			[" (travada pelo admin)"] = " (зафиксирован администратором)",
			[" | transicao pra "] = " | переход к сезону ",
			[" | transição pra "] = " | переход к сезону ",
			["etapa "] = "этап ",
			["Fora de época: cresce devagar"] = "Вне сезона: растёт медленно",
			["Fora de epoca: cresce devagar"] = "Вне сезона: растёт медленно",
			["Estação boa: cresce mais rápido"] = "Подходящий сезон: растёт быстрее",
			["Estacao boa: cresce mais rapido"] = "Подходящий сезон: растёт быстрее",
			["Congelada: nada cresce no inverno (volta na primavera)"] = "Замёрзло: зимой ничего не растёт (рост возобновится весной)",
			["A terra desperta."] = "Земля пробуждается.",
			["Dias quentes e longos."] = "Тёплые и долгие дни.",
			["Tempo de colheita."] = "Время урожая.",
			["O frio castiga."] = "Холод суров.",
			["<color=#9fd3ff>[Estações]</color> "] = "<color=#9fd3ff>[Сезоны]</color> ",
			["Teste desligado — "] = "Тест выключен — ",
			["[TESTE] sem transição"] = "[ТЕСТ] без перехода",
			["[TESTE] "] = "[ТЕСТ] ",
			["[TESTE]"] = "[ТЕСТ]",
			["Modo teste das estações: ative o devcommands primeiro (F5 → devcommands)."] = "Режим тестирования сезонов: сначала включите devcommands (F5 → devcommands).",
			["Estacoes: sem informacao do servidor (o servidor tem o mod?)"] = "Сезоны: нет данных от сервера (установлен ли мод на сервере?)",
			["Estacoes: sem informação do servidor (o servidor tem o mod?)"] = "Сезоны: нет данных от сервера (установлен ли мод на сервере?)",
			["Despertar"] = "Пробуждение",
			["Florescer"] = "Цветение",
			["Renovacao"] = "Обновление",
			["Renovação"] = "Обновление",
			["Plenitude"] = "Расцвет",
			["Ascensao"] = "Подъём",
			["Ascensão"] = "Подъём",
			["Expansao"] = "Развитие",
			["Expansão"] = "Развитие",
			["Auge"] = "Пик",
			["Declinio"] = "Угасание",
			["Declínio"] = "Угасание",
			["Mudanca"] = "Перемены",
			["Mudança"] = "Перемены",
			["Colheita"] = "Урожай",
			["Despedida"] = "Прощание",
			["Crepusculo"] = "Сумерки",
			["Crepúsculo"] = "Сумерки",
			["Silencio"] = "Безмолвие",
			["Silêncio"] = "Безмолвие",
			["Resistencia"] = "Стойкость",
			["Resistência"] = "Стойкость",
			["Renascimento"] = "Возрождение",
			["Primavera"] = "Весна",
			["Verao"] = "Лето",
			["Verão"] = "Лето",
			["Outono"] = "Осень",
			["Inverno"] = "Зима",
			["Estação"] = "Сезон",
			["A terra desperta apos o longo silencio."] = "Земля пробуждается после долгого безмолвия.",
			["A terra desperta após o longo silêncio."] = "Земля пробуждается после долгого безмолвия.",
			["A vida retorna e os campos ganham novas cores."] = "Жизнь возвращается, и поля расцветают новыми красками.",
			["O velho da espaco para aquilo que esta por vir."] = "Старое уступает место тому, что должно прийти.",
			["O velho dá espaço para aquilo que está por vir."] = "Старое уступает место тому, что должно прийти.",
			["A natureza encontra seu equilibrio e se prepara para o verao."] = "Природа обретает равновесие и готовится к лету.",
			["A natureza encontra seu equilíbrio e se prepara para o verão."] = "Природа обретает равновесие и готовится к лету.",
			["O sol se ergue e traz forca a terra."] = "Солнце поднимается, наполняя землю силой.",
			["O sol se ergue e traz força à terra."] = "Солнце поднимается, наполняя землю силой.",
			["As florestas crescem e a vida prospera."] = "Леса растут, и жизнь процветает.",
			["O mundo alcanca seu momento de maior abundancia."] = "Мир достигает пика своего изобилия.",
			["O mundo alcança seu momento de maior abundância."] = "Мир достигает пика своего изобилия.",
			["O calor comeca a partir, anunciando a mudanca."] = "Жара отступает, предвещая перемены.",
			["O calor começa a partir, anunciando a mudança."] = "Жара отступает, предвещая перемены.",
			["As folhas mudam e a natureza comeca a se recolher."] = "Листья меняют цвет, и природа готовится к покою.",
			["As folhas mudam e a natureza começa a se recolher."] = "Листья меняют цвет, и природа готовится к покою.",
			["Chega o momento de reunir aquilo que foi cultivado."] = "Наступает время собирать выращенное.",
			["As ultimas folhas caem diante do vento frio."] = "Последние листья опадают под порывами холодного ветра.",
			["As últimas folhas caem diante do vento frio."] = "Последние листья опадают под порывами холодного ветра.",
			["A luz diminui enquanto o inverno se aproxima."] = "Световой день сокращается, приближается зима.",
			["A neve cobre a terra e o mundo adormece."] = "Снег укрывает землю, и мир засыпает.",
			["Apenas os mais fortes enfrentam o frio."] = "Лишь самые стойкие способны противостоять холоду.",
			["A noite se torna longa e o frio alcanca seu auge."] = "Ночи становятся длиннее, а холод достигает пика.",
			["A noite se torna longa e o frio alcança seu auge."] = "Ночи становятся длиннее, а холод достигает пика.",
			["O gelo comeca a ceder, anunciando um novo ciclo."] = "Лёд начинает отступать, возвещая о новом цикле.",
			["O gelo começa a ceder, anunciando um novo ciclo."] = "Лёд начинает отступать, возвещая о новом цикле.",
			["O Verão aquece os campos"] = "Лето согревает поля",
			["O Outono pinta as florestas"] = "Осень раскрашивает леса",
			["O Inverno cobre o mundo de neve"] = "Зима укрывает мир снегом",
			["A Primavera desperta a terra"] = "Весна пробуждает землю",
			["O ar esfria... o inverno se aproxima"] = "Воздух остывает... приближается зима",
			["A neve comeca a derreter"] = "Снег начинает таять",
			["Os dias ficam mais quentes"] = "Дни становятся теплее",
			["O vento muda... o outono se aproxima"] = "Ветер меняется... приближается осень"
		};

		private static readonly KeyValuePair<string, string>[] SortedTranslations = Translations.OrderByDescending((KeyValuePair<string, string> pair) => pair.Key.Length).ToArray();

		private void Awake()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Expected O, but got Unknown
			_harmony = new Harmony("ru.valheimseasons.localization");
			int count = 0;
			PatchStringMethod("ValheimSeasons.SE_Season", "GetIconText", ref count);
			PatchStringMethod("ConfigurationManager.SettingEntryBase", "get_Category", ref count);
			PatchStringMethod("ConfigurationManager.SettingEntryBase", "get_Description", ref count);
			PatchStringMethod("ValheimSeasons.SE_Season", "GetTooltipString", ref count);
			PatchStringMethod("ValheimSeasons.SeasonText", "Name", ref count);
			PatchStringMethod("ValheimSeasons.SeasonText", "Arrival", ref count);
			PatchStringMethod("ValheimSeasons.SeasonClock", "PhaseName", ref count);
			PatchStringMethod("ValheimSeasons.SeasonClock", "PhaseLine", ref count);
			PatchStringMethod("ValheimSeasons.SeasonClock", "IconText", ref count);
			PatchStringMethod("ValheimSeasons.SeasonClock", "TooltipLine", ref count);
			PatchStringMethod("ValheimSeasons.SeasonClock", "Remaining", ref count);
			PatchStringMethod("ValheimSeasons.SeasonTooltip", "Build", ref count);
			PatchStringMethod("ValheimSeasons.SeasonPhase", "Arrival", ref count);
			PatchStringMethod("ValheimSeasons.SeasonClient", "Describe", ref count);
			PatchStringArguments("Character", "Message", ref count);
			PatchStringArguments("Console", "Print", ref count);
			PatchStringArguments("MessageHud", "ShowMessage", ref count);
			InstallSpecialPatches(ref count);
			((BaseUnityPlugin)this).Logger.LogInfo((object)("Русификатор запущен. Установлено патчей: " + count));
		}

		private void PatchStringMethod(string typeName, string methodName, ref int count)
		{
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Expected O, but got Unknown
			try
			{
				Type type = AccessTools.TypeByName(typeName);
				if (type == null)
				{
					((BaseUnityPlugin)this).Logger.LogWarning((object)("Тип не найден: " + typeName));
					return;
				}
				MethodInfo[] array = (from m in AccessTools.GetDeclaredMethods(type)
					where m.Name == methodName && m.ReturnType == typeof(string)
					select m).ToArray();
				if (array.Length == 0)
				{
					((BaseUnityPlugin)this).Logger.LogWarning((object)("Строковый метод не найден: " + typeName + "." + methodName));
					return;
				}
				MethodInfo[] array2 = array;
				foreach (MethodInfo methodInfo in array2)
				{
					_harmony.Patch((MethodBase)methodInfo, (HarmonyMethod)null, new HarmonyMethod(typeof(LocalizationPlugin).GetMethod("TranslateResult", BindingFlags.Static | BindingFlags.NonPublic)), (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null);
					count++;
					((BaseUnityPlugin)this).Logger.LogInfo((object)("Патч установлен: " + typeName + "." + methodName));
				}
			}
			catch (Exception ex)
			{
				((BaseUnityPlugin)this).Logger.LogError((object)("шибка патча " + typeName + "." + methodName + ": " + ex));
			}
		}

		private void PatchStringArguments(string typeName, string methodName, ref int count)
		{
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			try
			{
				Type type = AccessTools.TypeByName(typeName);
				if (type == null)
				{
					((BaseUnityPlugin)this).Logger.LogWarning((object)("Тип не найден: " + typeName));
					return;
				}
				MethodInfo[] array = (from m in AccessTools.GetDeclaredMethods(type)
					where m.Name == methodName && m.GetParameters().Any((ParameterInfo p) => p.ParameterType == typeof(string))
					select m).ToArray();
				MethodInfo[] array2 = array;
				foreach (MethodInfo methodInfo in array2)
				{
					_harmony.Patch((MethodBase)methodInfo, new HarmonyMethod(typeof(LocalizationPlugin).GetMethod("TranslateStringArguments", BindingFlags.Static | BindingFlags.NonPublic)), (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null);
					count++;
					((BaseUnityPlugin)this).Logger.LogInfo((object)("Патч аргументов установлен: " + typeName + "." + methodName));
				}
				if (array.Length == 0)
				{
					((BaseUnityPlugin)this).Logger.LogWarning((object)("Метод со строковым аргументом не найден: " + typeName + "." + methodName));
				}
			}
			catch (Exception ex)
			{
				((BaseUnityPlugin)this).Logger.LogError((object)("Ошибка патча аргументов " + typeName + "." + methodName + ": " + ex));
			}
		}

		private static void TranslateStringArguments(object[] __args)
		{
			if (__args == null)
			{
				return;
			}
			for (int i = 0; i < __args.Length; i++)
			{
				string text = __args[i] as string;
				if (text != null && !string.IsNullOrEmpty(text))
				{
					KeyValuePair<string, string>[] sortedTranslations = SortedTranslations;
					for (int j = 0; j < sortedTranslations.Length; j++)
					{
						KeyValuePair<string, string> keyValuePair = sortedTranslations[j];
						text = text.Replace(keyValuePair.Key, keyValuePair.Value);
					}
					__args[i] = text;
				}
			}
		}

		private static void TranslateResult(ref string __result)
		{
			if (!string.IsNullOrEmpty(__result))
			{
				__result = TranslateText(__result);
			}
		}

		private void InstallSpecialPatches(ref int count)
		{
			//IL_006e: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Expected O, but got Unknown
			PatchStringMethod("ValheimSeasons.CropCalendar", "Hover", ref count);
			try
			{
				Type type = AccessTools.TypeByName("ValheimSeasons.SeasonEffects");
				MethodInfo methodInfo = ((type == null) ? null : AccessTools.Method(type, "Make", (Type[])null, (Type[])null));
				if (methodInfo == null)
				{
					((BaseUnityPlugin)this).Logger.LogWarning((object)"Не найден метод ValheimSeasons.SeasonEffects.Make");
				}
				else
				{
					_harmony.Patch((MethodBase)methodInfo, new HarmonyMethod(typeof(LocalizationPlugin).GetMethod("TranslateSeasonEffect", BindingFlags.Static | BindingFlags.NonPublic)), (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null);
					count++;
					((BaseUnityPlugin)this).Logger.LogInfo((object)"Патч сезонных эффектов установлен.");
				}
			}
			catch (Exception ex)
			{
				((BaseUnityPlugin)this).Logger.LogError((object)("Ошибка патча сезонных эффектов: " + ex));
			}
			PatchTranspiler("ValheimSeasons.SeasonClient", "SetTest", ref count);
			PatchTranspiler("ValheimSeasons.SeasonClient", "SetTestLayer", ref count);
		}

		private void PatchTranspiler(string typeName, string methodName, ref int count)
		{
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Expected O, but got Unknown
			try
			{
				Type type = AccessTools.TypeByName(typeName);
				MethodInfo methodInfo = ((type == null) ? null : AccessTools.Method(type, methodName, (Type[])null, (Type[])null));
				if (methodInfo == null)
				{
					((BaseUnityPlugin)this).Logger.LogWarning((object)("Не найден метод для перевода строк: " + typeName + "." + methodName));
					return;
				}
				_harmony.Patch((MethodBase)methodInfo, (HarmonyMethod)null, (HarmonyMethod)null, new HarmonyMethod(typeof(LocalizationPlugin).GetMethod("TranslateSeasonTestStrings", BindingFlags.Static | BindingFlags.NonPublic)), (HarmonyMethod)null, (HarmonyMethod)null);
				count++;
				((BaseUnityPlugin)this).Logger.LogInfo((object)("Транспилер перевода установлен: " + typeName + "." + methodName));
			}
			catch (Exception ex)
			{
				((BaseUnityPlugin)this).Logger.LogError((object)("Ошибка транспилера " + typeName + "." + methodName + ": " + ex));
			}
		}

		private static void TranslateSeasonEffect(ref string title, ref string tooltip)
		{
			title = TranslateText(title);
			tooltip = TranslateText(tooltip);
		}

		private static IEnumerable<CodeInstruction> TranslateSeasonTestStrings(IEnumerable<CodeInstruction> instructions)
		{
			foreach (CodeInstruction instruction in instructions)
			{
				if (instruction.opcode == OpCodes.Ldstr && instruction.operand is string text)
				{
					instruction.operand = TranslateText(text);
				}
				yield return instruction;
			}
		}

		private static string TranslateText(string text)
		{
			if (string.IsNullOrEmpty(text))
			{
				return text;
			}
			KeyValuePair<string, string>[] sortedTranslations = SortedTranslations;
			for (int i = 0; i < sortedTranslations.Length; i++)
			{
				KeyValuePair<string, string> keyValuePair = sortedTranslations[i];
				text = text.Replace(keyValuePair.Key, keyValuePair.Value);
			}
			return text;
		}

		private void OnDestroy()
		{
			Harmony harmony = _harmony;
			if (harmony != null)
			{
				harmony.UnpatchSelf();
			}
		}
	}
}