diff --git a/Resources/Locale/ru-RU/accent/archaic.ftl b/Resources/Locale/ru-RU/accent/archaic.ftl new file mode 100644 index 0000000000..8dec08e2ca --- /dev/null +++ b/Resources/Locale/ru-RU/accent/archaic.ftl @@ -0,0 +1,453 @@ +# Referenced a lot of sites and used my own intuition to determine which fits well compared to our modern day speech patterns. Predominantly old modern english and other miscellaneous archaic terms. Sources I used includes shakespeare text and google searches, along with terms from the original version of the PR for this accent. + + +# I also included a lot of changes to formality and word choice to fit better with the accent. + +accent-archaic-replaced-1 = tell +accent-archaic-replacement-1 = advise +accent-archaic-replaced-2 = so far +accent-archaic-replacement-2 = as of this date +accent-archaic-replaced-3 = let me know +accent-archaic-replacement-3 = awaiting your reply +accent-archaic-replaced-4 = get +accent-archaic-replacement-4 = secure +accent-archaic-replaced-4 = use +accent-archaic-replacement-4 = utilize +accent-archaic-replaced-5 = consider +accent-archaic-replacement-5 = deem +accent-archaic-replaced-6 = my +accent-archaic-replacement-6 = mine +accent-archaic-replaced-7 = you +accent-archaic-replacement-7 = thou +accent-archaic-replaced-8 = your +accent-archaic-replacement-8 = thy +accent-archaic-replaced-9 = yours +accent-archaic-replacement-9 = thine +accent-archaic-replaced-10 = yourself +accent-archaic-replacement-10 = thyself +accent-archaic-replaced-11 = shall +accent-archaic-replacement-11 = shalt +accent-archaic-replaced-12 = has +accent-archaic-replacement-12 = hast +accent-archaic-replaced-13 = have +accent-archaic-replacement-13 = hath +accent-archaic-replaced-14 = are +accent-archaic-replacement-14 = art +accent-archaic-replaced-15 = does +accent-archaic-replacement-15 = doth +accent-archaic-replaced-16 = presented +accent-archaic-replacement-16 = bestowed +accent-archaic-replaced-17 = wonderful +accent-archaic-replacement-17 = wonderous +accent-archaic-replaced-18 = by chance +accent-archaic-replacement-18 = perchance +accent-archaic-replaced-19 = this +accent-archaic-replacement-19 = thee +accent-archaic-replaced-20 = nothing +accent-archaic-replacement-20 = naught +accent-archaic-replaced-21 = yes +accent-archaic-replacement-21 = aye +accent-archaic-replaced-22 = beg +accent-archaic-replacement-22 = beseech +accent-archaic-replaced-23 = gloom +accent-archaic-replacement-23 = drear +accent-archaic-replaced-24 = full +accent-archaic-replacement-24 = fraught +accent-archaic-replaced-25 = rush +accent-archaic-replacement-25 = make haste +accent-archaic-replaced-26 = careless +accent-archaic-replacement-26 = heedless +accent-archaic-replaced-27 = from this point onwards +accent-archaic-replacement-27 = hereinafter +accent-archaic-replaced-28 = of this +accent-archaic-replacement-28 = hereof +accent-archaic-replaced-29 = under this +accent-archaic-replacement-29 = hereunder +accent-archaic-replaced-30 = of that +accent-archaic-replacement-30 = thereof +accent-archaic-replaced-31 = by what +accent-archaic-replacement-31 = whereby +accent-archaic-replaced-32 = by which +accent-archaic-replacement-32 = whereby +accent-archaic-replaced-33 = under that +accent-archaic-replacement-33 = thereunder +accent-archaic-replaced-34 = in what +accent-archaic-replacement-34 = wherein +accent-archaic-replaced-35 = after that +accent-archaic-replacement-35 = thereafter +accent-archaic-replaced-36 = security +accent-archaic-replacement-36 = guard +accent-archaic-replaced-37 = sec +accent-archaic-replacement-37 = guard +accent-archaic-replaced-38 = seccie +accent-archaic-replacement-38 = guard +accent-archaic-replaced-39 = seccies +accent-archaic-replacement-39 = guards +accent-archaic-replaced-40 = gib +accent-archaic-replacement-40 = butcher +accent-archaic-replaced-41 = begs +accent-archaic-replacement-41 = pleads +accent-archaic-replaced-42 = fancy +accent-archaic-replacement-42 = furbished +accent-archaic-replaced-43 = onto +accent-archaic-replacement-43 = unto +accent-archaic-replaced-44 = can i +accent-archaic-replacement-44 = am i allowed to +accent-archaic-replaced-45 = upon +accent-archaic-replacement-45 = unto +accent-archaic-replaced-46 = where +accent-archaic-replacement-46 = whither +accent-archaic-replaced-47 = obligated +accent-archaic-replacement-47 = allegiant +accent-archaic-replaced-48 = and +accent-archaic-replacement-48 = an +accent-archaic-replaced-49 = accuse +accent-archaic-replacement-49 = appeach +accent-archaic-replaced-50 = accused +accent-archaic-replacement-50 = appeached +accent-archaic-replaced-51 = was +accent-archaic-replacement-51 = have been +accent-archaic-replaced-52 = stain +accent-archaic-replacement-52 = taint +accent-archaic-replaced-53 = stained +accent-archaic-replacement-53 = tainted +accent-archaic-replaced-54 = take place +accent-archaic-replacement-54 = befall +accent-archaic-replaced-55 = taken place +accent-archaic-replacement-55 = befall'n +accent-archaic-replaced-56 = happened +accent-archaic-replacement-56 = befall'n +accent-archaic-replaced-57 = probably +accent-archaic-replacement-57 = belike +accent-archaic-replaced-58 = most likely +accent-archaic-replacement-58 = belike +accent-archaic-replaced-59 = madenning +accent-archaic-replacement-59 = bemadding +accent-archaic-replaced-60 = suggest +accent-archaic-replacement-60 = bespeak +accent-archaic-replaced-53 = request +accent-archaic-replacement-53 = bespeak +accent-archaic-replaced-61 = indicate +accent-archaic-replacement-61 = bespeak +accent-archaic-replaced-62 = immediately +accent-archaic-replacement-62 = betimes +accent-archaic-replaced-63 = at once +accent-archaic-replacement-63 = betimes +accent-archaic-replaced-64 = song +accent-archaic-replacement-64 = catch +accent-archaic-replaced-65 = altar +accent-archaic-replacement-65 = chantry +accent-archaic-replaced-66 = merchant +accent-archaic-replacement-66 = chapman +accent-archaic-replaced-67 = salesman +accent-archaic-replacement-67 = chapman +accent-archaic-replaced-68 = shopkeeper +accent-archaic-replacement-68 = chapman +accent-archaic-replaced-69 = shopkeeper +accent-archaic-replacement-69 = chapman +accent-archaic-replaced-70 = cheater +accent-archaic-replacement-70 = cog +accent-archaic-replaced-71 = cheat +accent-archaic-replacement-71 = cozen +accent-archaic-replaced-72 = swindler +accent-archaic-replacement-72 = cog +accent-archaic-replaced-80 = ilk +accent-archaic-replacement-80 = consort +accent-archaic-replaced-81 = partnership +accent-archaic-replacement-81 = consort +accent-archaic-replaced-83 = crown +accent-archaic-replacement-83 = coronal +accent-archaic-replaced-84 = burden +accent-archaic-replacement-84 = fardel +accent-archaic-replaced-85 = certainly +accent-archaic-replacement-85 = forsooth +accent-archaic-replaced-86 = indeed +accent-archaic-replacement-86 = forsooth +accent-archaic-replaced-87 = obese +accent-archaic-replacement-87 = corpulent +accent-archaic-replaced-88 = occured +accent-archaic-replacement-88 = befall'n +accent-archaic-replaced-89 = carved +accent-archaic-replacement-89 = carven +accent-archaic-replaced-90 = coward +accent-archaic-replacement-90 = craven +accent-archaic-replaced-91 = idiot +accent-archaic-replacement-91 = cur +accent-archaic-replaced-92 = ruin +accent-archaic-replacement-92 = defile +accent-archaic-replaced-93 = ruined +accent-archaic-replacement-93 = defiled +accent-archaic-replaced-94 = before +accent-archaic-replacement-94 = ere +accent-archaic-replaced-95 = pretend +accent-archaic-replacement-95 = feign +accent-archaic-replaced-96 = forsee +accent-archaic-replacement-96 = forbode +accent-archaic-replaced-97 = abandoned +accent-archaic-replacement-97 = forlorn +accent-archaic-replaced-98 = desolate +accent-archaic-replacement-98 = forlorn +accent-archaic-replaced-99 = abandon +accent-archaic-replacement-99 = forsake +accent-archaic-replaced-100 = fraught +accent-archaic-replacement-100 = full +accent-archaic-replaced-101 = old woman +accent-archaic-replacement-101 = gammer +accent-archaic-replaced-102 = frown +accent-archaic-replacement-102 = glower +accent-archaic-replaced-103 = chop +accent-archaic-replacement-103 = hew +accent-archaic-replaced-104 = slice +accent-archaic-replacement-104 = hew +accent-archaic-replaced-105 = slice +accent-archaic-replacement-105 = hew +accent-archaic-replaced-106 = evil +accent-archaic-replacement-106 = ill +accent-archaic-replaced-107 = wrong +accent-archaic-replacement-107 = ill +accent-archaic-replaced-108 = sharp +accent-archaic-replacement-108 = keen +accent-archaic-replaced-109 = reluctant +accent-archaic-replacement-109 = loth +accent-archaic-replaced-110 = corner +accent-archaic-replacement-110 = nook +accent-archaic-replaced-111 = true +accent-archaic-replacement-111 = sooth +accent-archaic-replaced-112 = faint +accent-archaic-replacement-112 = swoon +accent-archaic-replaced-113 = twisted +accent-archaic-replacement-113 = thrawn +accent-archaic-replaced-114 = misshapen +accent-archaic-replacement-114 = thrawn +accent-archaic-replaced-115 = stubborn +accent-archaic-replacement-115 = thrawn +accent-archaic-replaced-116 = obstinate +accent-archaic-replacement-116 = thrawn +accent-archaic-replaced-117 = travel +accent-archaic-replacement-117 = traverse +accent-archaic-replaced-118 = thwart +accent-archaic-replacement-118 = foil +accent-archaic-replaced-119 = thwart +accent-archaic-replacement-119 = stop +accent-archaic-replaced-120 = refuse +accent-archaic-replacement-120 = shun +accent-archaic-replaced-121 = pest +accent-archaic-replacement-121 = varmint +accent-archaic-replaced-122 = ghost +accent-archaic-replacement-122 = wraith +accent-archaic-replaced-123 = apparition +accent-archaic-replacement-123 = wraith +accent-archaic-replaced-124 = long ago +accent-archaic-replacement-124 = yore +accent-archaic-replaced-125 = stupid +accent-archaic-replacement-125 = foolish +accent-archaic-replaced-126 = yay +accent-archaic-replacement-126 = hurrah +accent-archaic-replaced-127 = hooray +accent-archaic-replacement-127 = hurrah +accent-archaic-replaced-128 = old +accent-archaic-replacement-128 = olde +accent-archaic-replaced-129 = right now +accent-archaic-replacement-129 = forthwith +accent-archaic-replaced-130 = boss +accent-archaic-replacement-130 = sire +accent-archaic-replaced-131 = clown +accent-archaic-replacement-131 = jester +accent-archaic-replaced-132 = fight +accent-archaic-replacement-132 = duel +accent-archaic-replaced-133 = write +accent-archaic-replacement-133 = inscribe +accent-archaic-replaced-134 = draw +accent-archaic-replacement-134 = inscribe +accent-archaic-replaced-135 = one time +accent-archaic-replacement-135 = once +accent-archaic-replaced-136 = two times +accent-archaic-replacement-136 = twice +accent-archaic-replaced-137 = three times +accent-archaic-replacement-137 = thrice +accent-archaic-replaced-138 = security officer +accent-archaic-replacement-138 = guardsman +accent-archaic-replaced-139 = sec off +accent-archaic-replacement-139 = guardsman +accent-archaic-replaced-140 = secoff +accent-archaic-replacement-140 = guardsman +accent-archaic-replaced-141 = bar +accent-archaic-replacement-141 = tavern +accent-archaic-replaced-142 = passenger +accent-archaic-replacement-142 = peasant +accent-archaic-replaced-143 = hi +accent-archaic-replacement-143 = greetings +accent-archaic-replaced-144 = hey +accent-archaic-replacement-144 = greetings +accent-archaic-replaced-145 = heya +accent-archaic-replacement-145 = greetings +accent-archaic-replaced-146 = hello +accent-archaic-replacement-146 = salutations +accent-archaic-replaced-147 = yeah +accent-archaic-replacement-147 = indeed +accent-archaic-replaced-148 = yep +accent-archaic-replacement-148 = indeed +accent-archaic-replaced-149 = yup +accent-archaic-replacement-149 = indeed +accent-archaic-replaced-150 = ok +accent-archaic-replacement-150 = alright +accent-archaic-replaced-151 = k +accent-archaic-replacement-151 = alright +accent-archaic-replaced-152 = okay +accent-archaic-replacement-152 = alright +accent-archaic-replaced-153 = sure +accent-archaic-replacement-153 = alright +accent-archaic-replaced-154 = below +accent-archaic-replacement-154 = beneath +accent-archaic-replaced-155 = the +accent-archaic-replacement-155 = thy +accent-archaic-replaced-156 = need +accent-archaic-replacement-156 = require +accent-archaic-replaced-157 = maybe +accent-archaic-replacement-157 = perhaps +accent-archaic-replaced-158 = is +accent-archaic-replacement-158 = 's +accent-archaic-replaced-159 = alcohol +accent-archaic-replacement-159 = booze +accent-archaic-replaced-160 = liquor +accent-archaic-replacement-160 = booze +accent-archaic-replaced-161 = id +accent-archaic-replacement-161 = identification +accent-archaic-replaced-162 = crate +accent-archaic-replacement-162 = chest +accent-archaic-replaced-163 = locker +accent-archaic-replacement-163 = closet +accent-archaic-replaced-164 = do +accent-archaic-replacement-164 = doth +accent-archaic-replaced-165 = beg +accent-archaic-replacement-165 = plead +accent-archaic-replaced-166 = saw +accent-archaic-replacement-166 = observed +accent-archaic-replaced-167 = food +accent-archaic-replacement-167 = grub +accent-archaic-replaced-168 = delicious +accent-archaic-replacement-168 = exquisite +accent-archaic-replaced-169 = cool +accent-archaic-replacement-169 = enjoyable +accent-archaic-replaced-170 = think +accent-archaic-replacement-170 = believe +accent-archaic-replaced-171 = indeed +accent-archaic-replacement-171 = certainly +accent-archaic-replaced-172 = help +accent-archaic-replacement-172 = assist +accent-archaic-replaced-173 = now +accent-archaic-replacement-173 = immediately +accent-archaic-replaced-174 = or +accent-archaic-replacement-174 = else +accent-archaic-replaced-175 = will +accent-archaic-replacement-175 = shall +accent-archaic-replaced-176 = i am thirsty +accent-archaic-replacement-176 = i require a drink +accent-archaic-replaced-177 = hate +accent-archaic-replacement-177 = loathe +accent-archaic-replaced-178 = old +accent-archaic-replacement-178 = olden +accent-archaic-replaced-179 = bike horn +accent-archaic-replacement-179 = honker +accent-archaic-replaced-180 = flashlight +accent-archaic-replacement-180 = torch +accent-archaic-replaced-181 = pen +accent-archaic-replacement-181 = quill +accent-archaic-replaced-182 = lobby +accent-archaic-replacement-182 = anteroom +accent-archaic-replaced-183 = syndicate +accent-archaic-replacement-183 = traitor +accent-archaic-replaced-184 = syndi +accent-archaic-replacement-184 = traitor +accent-archaic-replaced-185 = good +accent-archaic-replacement-185 = well +accent-archaic-replaced-187 = fate +accent-archaic-replacement-187 = doom +accent-archaic-replaced-188 = space +accent-archaic-replacement-188 = void +accent-archaic-replaced-189 = i'm +accent-archaic-replacement-189 = I am +accent-archaic-replaced-190 = I'm +accent-archaic-replacement-190 = I am +accent-archaic-replaced-191 = chef +accent-archaic-replacement-191 = cook +accent-archaic-replaced-192 = captain +accent-archaic-replacement-192 = lord +accent-archaic-replaced-193 = chaplain +accent-archaic-replacement-193 = priest +accent-archaic-replaced-194 = chapel +accent-archaic-replacement-194 = church +accent-archaic-replaced-195 = ask +accent-archaic-replacement-195 = request +accent-archaic-replaced-196 = ask for +accent-archaic-replacement-196 = request +accent-archaic-replaced-197 = move +accent-archaic-replacement-197 = relocate +accent-archaic-replaced-198 = will +accent-archaic-replacement-198 = shalt +accent-archaic-replaced-200 = bad +accent-archaic-replacement-200 = unpleasant +accent-archaic-replaced-201 = got rid of +accent-archaic-replacement-201 = removed +accent-archaic-replaced-202 = guy +accent-archaic-replacement-202 = man +accent-archaic-replaced-203 = guys +accent-archaic-replacement-203 = people +accent-archaic-replaced-204 = airlock +accent-archaic-replacement-204 = door +accent-archaic-replaced-205 = sorry +accent-archaic-replacement-205 = i apologise +accent-archaic-replaced-206 = hey +accent-archaic-replacement-206 = pardon me +accent-archaic-replaced-207 = chair +accent-archaic-replacement-207 = seating +accent-archaic-replaced-208 = can +accent-archaic-replacement-208 = may +accent-archaic-replaced-209 = kill +accent-archaic-replacement-209 = murder +accent-archaic-replaced-210 = guess +accent-archaic-replacement-210 = surmise +accent-archaic-replaced-211 = wow +accent-archaic-replacement-211 = astonishing +accent-archaic-replaced-212 = why +accent-archaic-replacement-212 = for what reason +accent-archaic-replaced-213 = im +accent-archaic-replacement-213 = i am +accent-archaic-replaced-214 = sink +accent-archaic-replacement-214 = taps +accent-archaic-replaced-215 = beaker +accent-archaic-replacement-215 = vial +accent-archaic-replaced-216 = toolbox +accent-archaic-replacement-216 = case +accent-archaic-replaced-217 = rubber stamp +accent-archaic-replacement-217 = wax stamp +accent-archaic-replaced-218 = tiles +accent-archaic-replacement-218 = flooring +accent-archaic-replaced-219 = maintenance +accent-archaic-replacement-219 = alleyways +accent-archaic-replaced-220 = going on +accent-archaic-replacement-220 = happening +accent-archaic-replaced-221 = tasty +accent-archaic-replacement-221 = delectable +accent-archaic-replaced-222 = myself +accent-archaic-replacement-222 = mineself +accent-archaic-replaced-223 = i am hungry +accent-archaic-replacement-223 = i require grub +accent-archaic-replaced-224 = you suck +accent-archaic-replacement-224 = thou are foul +accent-archaic-replaced-225 = please +accent-archaic-replacement-225 = i request of thee +accent-archaic-replaced-226 = secway +accent-archaic-replacement-226 = patrol cart +accent-archaic-replaced-227 = janicart +accent-archaic-replacement-227 = cart +accent-archaic-replaced-228 = soda +accent-archaic-replacement-228 = drink +accent-archaic-replaced-229 = pop +accent-archaic-replacement-229 = drink +accent-archaic-replaced-230 = how +accent-archaic-replacement-230 = in what way +accent-archaic-replaced-231 = wants +accent-archaic-replacement-231 = wishes +accent-archaic-replaced-232 = want +accent-archaic-replacement-232 = wish for diff --git a/Resources/Locale/ru-RU/accent/dwarf.ftl b/Resources/Locale/ru-RU/accent/dwarf.ftl index 8f7c739544..5899a553f5 100644 --- a/Resources/Locale/ru-RU/accent/dwarf.ftl +++ b/Resources/Locale/ru-RU/accent/dwarf.ftl @@ -73,3 +73,229 @@ accent-dwarf-words-34 = dad accent-dwarf-words-replace-34 = da accent-dwarf-words-35 = mom accent-dwarf-words-replace-35 = maw +accent-dwarf-words-36 = newbie +accent-dwarf-words-replace-36 = greenbeard +accent-dwarf-words-37 = noob +accent-dwarf-words-replace-37 = greenbeard +accent-dwarf-words-38 = noobie +accent-dwarf-words-replace-38 = greenbeard +accent-dwarf-words-39 = professional +accent-dwarf-words-replace-39 = greybeard +accent-dwarf-words-40 = veteran +accent-dwarf-words-replace-40 = greybeard +accent-dwarf-words-41 = fuck +accent-dwarf-words-replace-41 = sod +accent-dwarf-words-42 = would +accent-dwarf-words-replace-42 = wou +accent-dwarf-words-43 = should +accent-dwarf-words-replace-43 = shou +accent-dwarf-words-44 = could +accent-dwarf-words-replace-44 = cou +accent-dwarf-words-45 = would've +accent-dwarf-words-replace-45 = wou'hae +accent-dwarf-words-46 = should've +accent-dwarf-words-replace-46 = shou'hae +accent-dwarf-words-47 = could've +accent-dwarf-words-replace-47 = cou'hae +accent-dwarf-words-48 = wouldve +accent-dwarf-words-replace-48 = wouhae +accent-dwarf-words-49 = shouldve +accent-dwarf-words-replace-49 = shouhae +accent-dwarf-words-50 = couldve +accent-dwarf-words-replace-50 = couhae +accent-dwarf-words-51 = would'nt +accent-dwarf-words-replace-51 = wou'nae +accent-dwarf-words-52 = should'nt +accent-dwarf-words-replace-52 = shou'nae +accent-dwarf-words-53 = could'nt +accent-dwarf-words-replace-53 = cou'nae +accent-dwarf-words-54 = wouldnt +accent-dwarf-words-replace-54 = wounae +accent-dwarf-words-55 = shouldnt +accent-dwarf-words-replace-55 = shounae +accent-dwarf-words-56 = couldnt +accent-dwarf-words-replace-56 = counae +accent-dwarf-words-57 = have +accent-dwarf-words-replace-57 = hae +accent-dwarf-words-58 = no +accent-dwarf-words-replace-58 = nae +accent-dwarf-words-59 = to +accent-dwarf-words-replace-59 = ta +accent-dwarf-words-60 = the +accent-dwarf-words-replace-60 = tha +accent-dwarf-words-61 = have +accent-dwarf-words-replace-61 = hae +accent-dwarf-words-62 = are +accent-dwarf-words-replace-62 = be +accent-dwarf-words-63 = is +accent-dwarf-words-replace-63 = be +accent-dwarf-words-64 = am +accent-dwarf-words-replace-64 = be +accent-dwarf-words-65 = beer +accent-dwarf-words-replace-65 = booze +accent-dwarf-words-66 = food +accent-dwarf-words-replace-66 = grub +accent-dwarf-words-67 = have +accent-dwarf-words-replace-67 = hae +accent-dwarf-words-68 = hey +accent-dwarf-words-replace-68 = oye +accent-dwarf-words-69 = what +accent-dwarf-words-replace-69 = wot +accent-dwarf-words-70 = where +accent-dwarf-words-replace-70 = whaur +accent-dwarf-words-71 = when +accent-dwarf-words-replace-71 = wen +accent-dwarf-words-72 = myself +accent-dwarf-words-replace-72 = mesel +accent-dwarf-words-73 = himself +accent-dwarf-words-replace-73 = hesel +accent-dwarf-words-74 = herself +accent-dwarf-words-replace-74 = shesel +accent-dwarf-words-75 = move +accent-dwarf-words-replace-75 = moev +accent-dwarf-words-76 = moving +accent-dwarf-words-replace-76 = moeven +accent-dwarf-words-77 = wasn't +accent-dwarf-words-replace-77 = wis'nae +accent-dwarf-words-78 = wasnt +accent-dwarf-words-replace-78 = wisnae +accent-dwarf-words-79 = wizard +accent-dwarf-words-replace-79 = wizer +accent-dwarf-words-80 = fool +accent-dwarf-words-replace-80 = wazzok +accent-dwarf-words-81 = have +accent-dwarf-words-replace-81 = hae +accent-dwarf-words-82 = for +accent-dwarf-words-replace-82 = fer +accent-dwarf-words-83 = about +accent-dwarf-words-replace-83 = abut +accent-dwarf-words-84 = ow +accent-dwarf-words-replace-84 = och +accent-dwarf-words-85 = small +accent-dwarf-words-replace-85 = wee +accent-dwarf-words-86 = tiny +accent-dwarf-words-replace-86 = tinnae +accent-dwarf-words-87 = baby +accent-dwarf-words-replace-87 = babee +accent-dwarf-words-88 = after +accent-dwarf-words-replace-88 = efter +accent-dwarf-words-89 = for +accent-dwarf-words-replace-89 = fer +accent-dwarf-words-90 = gonna +accent-dwarf-words-replace-90 = gaun'ae +accent-dwarf-words-91 = going to +accent-dwarf-words-replace-91 = gaun'ae +accent-dwarf-words-92 = gone +accent-dwarf-words-replace-92 = gaun +accent-dwarf-words-93 = talk +accent-dwarf-words-replace-93 = blather +accent-dwarf-words-94 = talking +accent-dwarf-words-replace-94 = blatherin' +accent-dwarf-words-95 = now +accent-dwarf-words-replace-95 = nou +accent-dwarf-words-96 = talked +accent-dwarf-words-replace-96 = blathered +accent-dwarf-words-97 = give +accent-dwarf-words-replace-97 = gie +accent-dwarf-words-98 = gimme +accent-dwarf-words-replace-98 = gie's +accent-dwarf-words-99 = give me +accent-dwarf-words-replace-99 = gie's +accent-dwarf-words-100 = do you +accent-dwarf-words-replace-100 = d'ye +accent-dwarf-words-101 = with +accent-dwarf-words-replace-101 = wi +accent-dwarf-words-102 = without +accent-dwarf-words-replace-102 = wi'ou +accent-dwarf-words-103 = whether +accent-dwarf-words-replace-103 = we'er +accent-dwarf-words-104 = ever +accent-dwarf-words-replace-104 = e'er +accent-dwarf-words-105 = whenever +accent-dwarf-words-replace-105 = wen'er +accent-dwarf-words-106 = whatever +accent-dwarf-words-replace-106 = wot'er +accent-dwarf-words-107 = how +accent-dwarf-words-replace-107 = hou +accent-dwarf-words-108 = however +accent-dwarf-words-replace-108 = hou'er +accent-dwarf-words-109 = think +accent-dwarf-words-replace-109 = reckon +accent-dwarf-words-110 = thinking +accent-dwarf-words-replace-110 = fer +accent-dwarf-words-111 = hamlet +accent-dwarf-words-replace-111 = hammy +accent-dwarf-words-112 = hampster +accent-dwarf-words-replace-112 = hammy +accent-dwarf-words-113 = nukie +accent-dwarf-words-replace-113 = reddie +accent-dwarf-words-114 = nuclear op +accent-dwarf-words-replace-114 = reddie +accent-dwarf-words-115 = nuclear operative +accent-dwarf-words-replace-115 = reddie +accent-dwarf-words-116 = nuclear agent +accent-dwarf-words-replace-116 = reddie +accent-dwarf-words-117 = antag +accent-dwarf-words-replace-117 = baddie +accent-dwarf-words-118 = syndicate +accent-dwarf-words-replace-118 = baddie +accent-dwarf-words-119 = syndi +accent-dwarf-words-replace-119 = baddie +accent-dwarf-words-120 = syndie +accent-dwarf-words-replace-120 = baddie +accent-dwarf-words-121 = more +accent-dwarf-words-replace-121 = maer +accent-dwarf-words-122 = moreover +accent-dwarf-words-replace-122 = maero'er +accent-dwarf-words-123 = over +accent-dwarf-words-replace-123 = o'er +accent-dwarf-words-124 = shuttle +accent-dwarf-words-replace-124 = molly +accent-dwarf-words-125 = human +accent-dwarf-words-replace-125 = humi +accent-dwarf-words-126 = dwarf +accent-dwarf-words-replace-126 = dorf +accent-dwarf-words-127 = slime +accent-dwarf-words-replace-127 = oozi +accent-dwarf-words-128 = rat +accent-dwarf-words-replace-128 = raki +accent-dwarf-words-129 = arachnid +accent-dwarf-words-replace-129 = aranaki +accent-dwarf-words-130 = spider +accent-dwarf-words-replace-130 = hisser +accent-dwarf-words-131 = isn't +accent-dwarf-words-replace-131 = be'nae +accent-dwarf-words-132 = aren't +accent-dwarf-words-replace-132 = be'nae +accent-dwarf-words-133 = ain't +accent-dwarf-words-replace-133 = be'nae +accent-dwarf-words-134 = isnt +accent-dwarf-words-replace-134 = benae +accent-dwarf-words-135 = arent +accent-dwarf-words-replace-135 = benae +accent-dwarf-words-136 = aint +accent-dwarf-words-replace-136 = benae +accent-dwarf-words-137 = zombie +accent-dwarf-words-replace-137 = rotter +accent-dwarf-words-138 = zomb +accent-dwarf-words-replace-138 = rotter +accent-dwarf-words-139 = clown +accent-dwarf-words-replace-139 = honki +accent-dwarf-words-140 = cluwn +accent-dwarf-words-replace-140 = hunki +accent-dwarf-words-141 = carp +accent-dwarf-words-replace-141 = fin +accent-dwarf-words-142 = crusher +accent-dwarf-words-replace-142 = axe +accent-dwarf-words-143 = coward +accent-dwarf-words-replace-143 = leaflover +accent-dwarf-words-144 = idiot +accent-dwarf-words-replace-144 = dobber +accent-dwarf-words-145 = stupid +accent-dwarf-words-replace-145 = diteit +accent-dwarf-words-146 = officer +accent-dwarf-words-replace-146 = bobby +accent-dwarf-words-147 = seccie +accent-dwarf-words-replace-147 = bobby +accent-dwarf-words-148 = a +accent-dwarf-words-replace-148 = ae diff --git a/Resources/Locale/ru-RU/accent/italian.ftl b/Resources/Locale/ru-RU/accent/italian.ftl new file mode 100644 index 0000000000..5c22536eb8 --- /dev/null +++ b/Resources/Locale/ru-RU/accent/italian.ftl @@ -0,0 +1,107 @@ +# This should probably use the same prefix system as the mobster accent. +# For the record, these do not work right now - even when uncommented. + + +# accent-italian-prefix-1 = Ravioli, ravioli, give me the formuoli! +# accent-italian-prefix-2 = Mamma-mia! +# accent-italian-prefix-3 = Mamma-mia! That's a spicy meat-ball! +# accemt-italian-prefix-4 = La la la la la funiculi funicula! + +accent-italian-words-1 = assistant +accent-italian-words-replace-1 = goombah +accent-italian-words-2 = assistants +accent-italian-words-replace-2 = goombahs +accent-italian-words-3 = baby +accent-italian-words-replace-3 = bambino +accent-italian-words-4 = bad +accent-italian-words-replace-4 = molto male +accent-italian-words-5 = bye +accent-italian-words-replace-5 = arrivederci +accent-italian-words-6 = captain +accent-italian-words-replace-6 = capitano +accent-italian-words-7 = cheese +accent-italian-words-replace-7 = parmesano +accent-italian-words-8 = cook +accent-italian-words-replace-8 = cook-a +accent-italian-words-9 = could +accent-italian-words-replace-9 = could-a +accent-italian-words-10 = dad +accent-italian-words-replace-10 = pappa +accent-italian-words-11 = good +accent-italian-words-replace-11 = molto bene +accent-italian-words-12 = greytide +accent-italian-words-replace-12 = curvisti +accent-italian-words-13 = greytider +accent-italian-words-replace-13 = curvisti +accent-italian-words-14 = greytiders +accent-italian-words-replace-14 = curvisti +accent-italian-words-15 = hello +accent-italian-words-replace-15 = ciao +accent-italian-words-16 = it's +accent-italian-words-replace-16 = it's-a +accent-italian-words-17 = make +accent-italian-words-replace-17 = make-a +accent-italian-words-18 = meat +accent-italian-words-replace-18 = prosciutto +accent-italian-words-19 = mom +accent-italian-words-replace-19 = mamma +accent-italian-words-20 = my +accent-italian-words-replace-20 = my-a +accent-italian-words-21 = nuke +accent-italian-words-replace-21 = spiciest-a meatball +accent-italian-words-22 = op +accent-italian-words-replace-22 = greek +accent-italian-words-23 = operative +accent-italian-words-replace-23 = greek +accent-italian-words-24 = operatives +accent-italian-words-replace-24 = greeks +accent-italian-words-24 = ops +accent-italian-words-replace-24 = greeks +accent-italian-words-25 = sec +accent-italian-words-replace-25 = polizia +accent-italian-words-26 = security +accent-italian-words-replace-26 = polizia +accent-italian-words-27 = secoff +accent-italian-words-replace-27 = polizia +accent-italian-words-28 = shitcurity +accent-italian-words-replace-28 = carabinieri +accent-italian-words-29 = shitsec +accent-italian-words-replace-29 = carabinieri +accent-italian-words-30 = sing +accent-italian-words-replace-30 = sing-a +accent-italian-words-31 = spaghetti +accent-italian-words-replace-31 = SPAGHETT +accent-italian-words-32 = spicy +accent-italian-words-replace-32 = a-spicy +accent-italian-words-33 = thanks +accent-italian-words-replace-33 = grazie +accent-italian-words-34 = thing +accent-italian-words-replace-34 = thing-a +accent-italian-words-35 = traitor +accent-italian-words-replace-35 = mafioso +accent-italian-words-36 = traitors +accent-italian-words-replace-36 = mafioso +accent-italian-words-37 = use +accent-italian-words-replace-37 = use-a +accent-italian-words-38 = want +accent-italian-words-replace-38 = want-a +accent-italian-words-39 = what's +accent-italian-words-replace-39 = what's-a +accent-italian-words-40 = who's +accent-italian-words-replace-40 = who's-a +accent-italian-words-41 = whose +accent-italian-words-replace-41 = whose-a +accent-italian-words-42 = why +accent-italian-words-replace-42 = for-a what reason +accent-italian-words-43 = wine +accent-italian-words-replace-43 = vino +accent-italian-words-44 = passenger +accent-italian-words-replace-44 = goombah +accent-italian-words-45 = passengers +accent-italian-words-replace-45 = goombahs +accent-italian-words-46 = i'm +accent-italian-words-replace-46 = i'm-a +accent-italian-words-47 = am-a +accent-italian-words-replace-47 = am-a +accent-italian-words-48 = and-a +accent-italian-words-replace-48 = and-a diff --git a/Resources/Locale/ru-RU/accent/pirate.ftl b/Resources/Locale/ru-RU/accent/pirate.ftl index efb5b2edd7..90d4b5012f 100644 --- a/Resources/Locale/ru-RU/accent/pirate.ftl +++ b/Resources/Locale/ru-RU/accent/pirate.ftl @@ -15,3 +15,53 @@ accent-pirate-replaced-7 = is accent-pirate-replacement-5 = be accent-pirate-replaced-8 = there accent-pirate-replacement-6 = thar +accent-pirate-replacement-7 = heartie +accent-pirate-replacement-8 = matey +accent-pirate-replaced-9 = buddy +accent-pirate-replacement-9 = heartie +accent-pirate-replaced-10 = hi +accent-pirate-replacement-10 = ahoy +accent-pirate-replaced-11 = hey +accent-pirate-replacement-11 = oye +accent-pirate-replaced-12 = money +accent-pirate-replacement-12 = dubloons +accent-pirate-replaced-13 = cash +accent-pirate-replacement-13 = doubloons +accent-pirate-replaced-14 = crate +accent-pirate-replacement-14 = coffer +accent-pirate-replaced-15 = hello +accent-pirate-replacement-15 = ahoy +accent-pirate-replaced-16 = treasure +accent-pirate-replacement-16 = booty +accent-pirate-replaced-17 = attention +accent-pirate-replacement-17 = avast +accent-pirate-replaced-18 = stupid +accent-pirate-replacement-18 = parrot-brained +accent-pirate-replaced-19 = idiot +accent-pirate-replacement-19 = seadog +accent-pirate-replaced-20 = your +accent-pirate-replacement-20 = yere +accent-pirate-replaced-21 = song +accent-pirate-replacement-21 = shanty +accent-pirate-replaced-22 = music +accent-pirate-replacement-22 = shanty +accent-pirate-replaced-23 = no +accent-pirate-replacement-23 = nay +accent-pirate-replaced-24 = are +accent-pirate-replacement-24 = arrr +accent-pirate-replaced-25 = ow +accent-pirate-replacement-25 = argh +accent-pirate-replaced-26 = ouch +accent-pirate-replacement-26 = argh +accent-pirate-replaced-27 = passenger +accent-pirate-replacement-27 = landlubber +accent-pirate-replaced-28 = tider +accent-pirate-replacement-28 = landlubber +accent-pirate-replaced-29 = captain +accent-pirate-replacement-29 = cap'n +accent-pirate-replaced-30 = pistol +accent-pirate-replacement-30 = flintlock +accent-pirate-replaced-31 = rifle +accent-pirate-replacement-31 = musket +accent-pirate-replaced-32 = ammo +accent-pirate-replacement-32 = gunpowder diff --git a/Resources/Locale/ru-RU/advertisements/vending/syndiedrobe.ftl b/Resources/Locale/ru-RU/advertisements/vending/syndiedrobe.ftl new file mode 100644 index 0000000000..c931cd1991 --- /dev/null +++ b/Resources/Locale/ru-RU/advertisements/vending/syndiedrobe.ftl @@ -0,0 +1,31 @@ +advertisement-syndiedrobe-1 = Совершенно новые наряды! +advertisement-syndiedrobe-2 = Яркие наряды на любой случай! +advertisement-syndiedrobe-3 = Быть негодяем может быть стильно. +advertisement-syndiedrobe-4 = Согласно анализу: одеваясь более стильно, шанс успеха ваших действий увеличивается на 0,0098%! +advertisement-syndiedrobe-5 = Эй, мне кажется, ты давно не заглядывал в мой ассортимент! +advertisement-syndiedrobe-6 = Смерть НТ! +advertisement-syndiedrobe-7 = Эй, красавчик, возьми бесплатный наряд за наш счет! +advertisement-syndiedrobe-8 = Правду говорят — убивает не пуля, а отсутствие стиля. +advertisement-syndiedrobe-9 = У него нет красивой одежды, на станции нет красивой одежды — но у тебя есть красивая одежда, потому что я тебе ее дам. Если вы хотите уничтожить NT, это первый шаг — красиво одеться. +advertisement-syndiedrobe-10 = Кто ищет, тот всегда найдет... если конечно красиво одет. +advertisement-syndiedrobe-11 = Если кто-то сказал, что наши наряды отстой, это не повод расстраиваться, это повод поставить жирную точку! +advertisement-syndiedrobe-12 = Вы можете перевести врагов на свою сторону, одев их в лучшие наряды во вселенной! +advertisement-syndiedrobe-13 = Хочешь жить - одевайся красиво! +advertisement-syndiedrobe-14 = Просыпайся, синдикат. У нас есть станция, которую нужно сжечь. +advertisement-syndiedrobe-15 = Привет! Давай, разбирай, самая стильная одежда в галактике! +advertisement-syndiedrobe-16 = Вы всегда мечтали стильно одеваться? Тогда приходи скорее! +advertisement-syndiedrobe-17 = Цитирую великого писателя: "Посмотрите на мой ассортимент ассортимента одежды" +advertisement-syndiedrobe-18 = Судя по скану местности - тут отстой, надо исправить, взяв лучшую одежду из моего ассортимента! +advertisement-syndiedrobe-19 = Мечтали стильно одеваться? Тогда вам к нам! +advertisement-syndiedrobe-20 = Что может быть лучше новой одежды от СиндиКомод! +advertisement-syndiedrobe-21 = Пугайте всех своим видом только в нашей одежде! +advertisement-syndiedrobe-22 = Мы не продаем бомбы. +advertisement-syndiedrobe-23 = Мы не несем ответственности за повышенную агрессию по отношению к нашей форме. +advertisement-syndiedrobe-24 = Мода и элегантность! Практичность и очарование! СиндиКомод! +advertisement-syndiedrobe-25 = Лучшие волокна в метро! +advertisement-syndiedrobe-26 = Наша форма не видна в темноте и трудно заметить кровь, что может быть лучше? +advertisement-syndiedrobe-27 = Хотите вызвать панику на станции одним лишь взглядом? Мы к вашим услугам! +advertisement-syndiedrobe-28 = Наши костюмы влагостойкие, а значит можно не бояться испачкаться кровью! +advertisement-syndiedrobe-29 = Лучшие в галактике! +advertisement-syndiedrobe-30 = Что может быть лучше запаха нашей формы по утрам? +advertisement-syndiedrobe-31 = Отзыв об удобстве формы вы можете оставить, отправив запрос на нашу горячую линию Тайпана, главное не ошибиться номером! diff --git a/Resources/Locale/ru-RU/alerts/alerts.ftl b/Resources/Locale/ru-RU/alerts/alerts.ftl index d3068f61d3..b5003f6e53 100644 --- a/Resources/Locale/ru-RU/alerts/alerts.ftl +++ b/Resources/Locale/ru-RU/alerts/alerts.ftl @@ -54,5 +54,7 @@ alerts-pulled-name = Вас тянут alerts-pulled-desc = Вас тянут за собой. Двигайтесь, чтобы освободиться. alerts-pulling-name = Вы тянете alerts-pulling-desc = Вы что-то тянете. Щелкните по иконке, чтобы перестать. -alerts-bleeding-name = Кровотечение alerts-bleeding-desc = У вас [color=#C10000]кровотечение[/color], вколите [color=#3D9CBF]экстренный медипен[/color] или перебинтуйтесь. +alerts-bleed-name = [color=red]Кровотечение[/color] +alerts-cult-buff-name = Усиление +alerts-cult-buff-desc = Подготовка заклинаний крови занимает гораздо меньше времени, и вы не теряете столько крови при этом. diff --git a/Resources/Locale/ru-RU/atmos/air-alarm-ui.ftl b/Resources/Locale/ru-RU/atmos/air-alarm-ui.ftl index 82f3d6a16f..4decee5916 100644 --- a/Resources/Locale/ru-RU/atmos/air-alarm-ui.ftl +++ b/Resources/Locale/ru-RU/atmos/air-alarm-ui.ftl @@ -11,6 +11,7 @@ air-alarm-ui-window-address-label = Адрес air-alarm-ui-window-device-count-label = Всего устройств air-alarm-ui-window-resync-devices-label = Ресинхр air-alarm-ui-window-mode-label = Режим +air-alarm-ui-window-auto-mode-label = Авто режим air-alarm-ui-window-pressure = { $pressure } кПа air-alarm-ui-window-pressure-indicator = Давление: [color={ $color }]{ $pressure } кПа[/color] air-alarm-ui-window-temperature = { $tempC } °C ({ $temperature } К) diff --git a/Resources/Locale/ru-RU/blocking/blocking-examine.ftl b/Resources/Locale/ru-RU/blocking/blocking-examine.ftl new file mode 100644 index 0000000000..303b10655b --- /dev/null +++ b/Resources/Locale/ru-RU/blocking/blocking-examine.ftl @@ -0,0 +1,6 @@ +# Blocking examines +blocking-examinable-verb-text = Защита +blocking-examinable-verb-message = Изучите значения защиты. +blocking-fraction = Он блокирует [color=lightblue]{ $value }%[/color] входящего урона и: +blocking-coefficient-value = - Отнимает [color=lightblue]{ $value }%[/color] [color=yellow]{ $type }[/color] урона. +blocking-reduction-value = - Отнимает на [color=lightblue]{ $value }[/color] меньше [color=yellow]{ $type }[/color] урона. diff --git a/Resources/Locale/ru-RU/cargo/bounties.ftl b/Resources/Locale/ru-RU/cargo/bounties.ftl new file mode 100644 index 0000000000..9f401687f6 --- /dev/null +++ b/Resources/Locale/ru-RU/cargo/bounties.ftl @@ -0,0 +1,85 @@ +bounty-item-artifact = Инопланентный артефакт +bounty-item-baseball-bat = Бейсбольная бита +bounty-item-box-hugs = Коробка объятий +bounty-item-brain = Мозг +bounty-item-bread = Хлеб +bounty-item-briefcase = Портфель +bounty-item-carp = Космический карп +bounty-item-carrot = Морковь +bounty-item-carrot-fries = Морковь фри +bounty-item-clown-mask = Маска клоуна +bounty-item-clown-shoes = Клоунская обувь +bounty-item-corn = Кукурузный початок +bounty-item-crayon = Мелок +bounty-item-cuban-carp = Кубинский карп +bounty-item-donk-pocket = Донк +bounty-item-donut = Пончик +bounty-item-figurine = Фигурка +bounty-item-flesh-monster = Монстр из плоти +bounty-item-flower = Цветок +bounty-item-galaxythistle = Галактика чертополох +bounty-item-handcuffs = Наручники +bounty-item-instrument = Инструмент +bounty-item-knife = Нож +bounty-item-lemon = Лимон +bounty-item-lime = Лайм +bounty-item-lung = Легкое +bounty-item-monkey-cube = Обезьяний куб +bounty-item-mouse = Мертвая мышь +bounty-item-pancake = Блин +bounty-item-pen = Ручка +bounty-item-percussion = Ударный инструмент +bounty-item-pie = Пирог +bounty-item-prison-uniform = Тюремная форма +bounty-item-radio = Радио +bounty-item-research-disk = Исследовательский диск +bounty-item-shiv = Шив +bounty-item-soap = Мыло +bounty-item-soup = Суп +bounty-item-spear = Копье +bounty-item-syringe = Шприц +bounty-item-toolbox = Ящик для инструментов +bounty-item-tech-disk = Технологический диск +bounty-item-trash = Мусор +bounty-description-artifact = NanoTrasen находится в затруднительном положении из-за кражи артефактов с нелетающих в космос планет. Верните один, и мы компенсируем вам это. +bounty-description-baseball-bat = В CentCom продолжается бейсбольная лихорадка! Будьте милы и отправьте им бейсбольные биты, чтобы руководство смогло воплотить в жизнь их детскую мечту. +bounty-description-box-hugs = Несколько высокопоставленных чиновников столкнулись с серьезными скандалами. Коробка объятий срочно необходима, чтобы помочь в их выздоровлении. +bounty-description-brain = Командир Колдуэлл потерял мозг из-за недавней аварии с космической смазкой. К сожалению, мы не можем нанять замену, так что просто пришлите нам новый мозг, чтобы мы вставили ей вместо него. +bounty-description-bread = Проблемы с централизованным планированием привели к резкому росту цен на хлеб. Отправьте немного хлеба, чтобы снять напряжение. +bounty-description-briefcase = Центральное командование проведет бизнес-конвенцию в этом году. Отправьте несколько портфелей в поддержку. +bounty-description-carrot = После того, как не удалось просмотреть обучающие видео по технике безопасности сварщика, спасательный отряд на Станции 15 был ослеплен. Отправьте им немного моркови, чтобы они могли восстановить зрение. +bounty-description-carrot-fries = Ночное зрение может означать жизнь или смерть! Заказ на партию картофеля фри. +bounty-description-carp = Адмирал Павлов объявил забастовку с тех пор, как Центральное командование конфисковало ее «питомца». Она требует космического карпа в качестве замены, мертвого или живого. +bounty-description-clown-costume = Из-за недавней проблемы в контактном зоопарке космического карпа мы, к сожалению, потеряли клоуна Бонобобонобо. Пришлите нам новый костюм, чтобы дети могли увидеть его еще раз. +bounty-description-corn = После недавнего разрушения Space Ohio наш импорт кукурузы сократился на 80%. Пришлите нам немного, чтобы мы могли компенсировать это. +bounty-description-crayon = Ребенок доктора Джонса снова съел все наши мелки. Пожалуйста, пришлите нам свой. +bounty-description-cuban-carp = Чтобы отпраздновать рождение Кастро XXVII, отправьте одного кубинского карпа в CentCom. +bounty-description-donk-pocket = Отзыв о безопасности потребителей: предупреждение. Donk-Pockets, изготовленные в прошлом году, содержат опасные биоматериалы ящериц. Немедленно верните подразделения в CentCom. +bounty-description-donut = Силы безопасности CentCom несут большие потери против Синдиката. Отправляйте пончики, чтобы поднять боевой дух. +bounty-description-figurine = Сын вице-президента увидел по телеэкрану рекламу фигурок и теперь не затыкается о них. Отправьте немного, чтобы облегчить его жалобы. +bounty-description-flesh-monster = Недавно мы получили сообщения о нашествии монстров из плоти на борту нескольких станций. Пришлите нам несколько образцов этих существ, чтобы мы могли исследовать новые ботанические возможности. +bounty-description-flower = Командир Зот очень хочет сбить с толку офицера службы безопасности Оливию. Отправьте партию цветов, и он с радостью вознаградит вас. +bounty-description-galaxythistle = После особо противного противодавления пеной из скруббера высокопоставленный офицер получил сильное отравление. Пришлите нам немного чертополоха, чтобы мы могли приготовить ему гомеопатическое лекарство. +bounty-description-handcuffs = В Центральный штаб прибыл большой поток беглых заключенных. Сейчас самое подходящее время, чтобы отправить запасные наручники (или удерживающие устройства). +bounty-description-instrument = Самая горячая новая группа в галактике, Cindy Kate and the Saboteurs, потеряла свое снаряжение в результате столкновения грузового шаттла. Отправьте им новый набор инструментов, чтобы они могли отыграть свое шоу. +bounty-description-knife = Один из наших лучших командиров недавно выиграл новый набор ножей на официальном игровом шоу Nanotrasen. К сожалению, у нас нет набора под рукой. Пришлите нам кучу острых предметов, чтобы мы могли что-нибудь сколотить, +bounty-description-lemon = Ребенок доктора Джонса открывает киоск с лимонадом. Небольшая проблема: лимоны не доставляются в этот сектор. Исправьте это за хорошую награду. +bounty-description-lime = После запоя адмирал Пастич сильно пристрастился к долькам свежего лайма. Пришлите нам несколько лаймов, чтобы мы могли приготовить ему его новую любимую закуску. +bounty-description-lung = Лига курильщиков тысячелетиями боролась за то, чтобы сигареты оставались на наших станциях. К сожалению, их легкие уже не так сильно борются. Пришлите им новые. +bounty-description-monkey-cube = Из-за недавней генетической аварии центральному командованию очень нужны обезьяны. Ваша миссия состоит в том, чтобы доставлять кубики обезьян. +bounty-description-mouse = На орбитальной станции 13 закончились лиофилизированные мыши. Отправьте несколько свежих, чтобы их дворник не объявил забастовку. +bounty-description-pancake = Мы в Нанотрасэн считаем сотрудников семьей. А знаете, что любят семьи? Блины. Отправьте хлебопекарную дюжину. +bounty-description-pen = Мы проводим межгалактическое соревнование по балансировке ручек. Нам нужно, чтобы вы прислали нам несколько стандартных шариковых ручек. +bounty-description-percussion = Из-за несвоевременной драки в баре Объединенный ансамбль смешанных перкуссионных инструментов в масштабах всей галактики потерял все свои инструменты. Отправьте им новый сет, чтобы они могли еще раз поджемовать. +bounty-description-pie = 3.14159? Нет! Менеджмент CentCom хочет съедобный пирог! Отправьте целый. +bounty-description-prison-uniform = Террагов не смог достать новую форму заключенных, поэтому, если у вас есть запасные части, мы их с вас возьмем. +bounty-description-radio = Недавняя вспышка на Солнце сожгла все наши устройства связи. Пришлите нам новый комплект раций для нашей инженерной бригады, чтобы мы могли починить сеть. +bounty-description-research-disk = Оказывается, эти придурки из исследовательского отдела тратят все свое время на приобретение оборудования для уборки. Отправьте некоторые исследования в Центральное командование, чтобы мы действительно могли получить то, что нам нужно. +bounty-description-shiv = Бззз... Передача с планеты-тюрьмы OC-1001: мы столкнулись с натиском хм... "захватчиков". Ага, оккупанты. Пришлите нам несколько заточек, чтобы отбиться от них. +bounty-description-soap = Мыло пропало из ванных комнат СентКома, и никто не знает, кто его взял. Замените его и станьте героем, в котором нуждается CentCom. +bounty-description-soup = Чтобы подавить восстание бездомных, Nanotrasen будет подавать суп всем низкооплачиваемым работникам. Доставка любых супов. +bounty-description-spear = Силы безопасности CentCom переживают сокращение бюджета. Вам заплатят, если вы отправите набор копий. +bounty-description-syringe = Целевой группе NT по борьбе с наркотиками нужны шприцы, чтобы раздать их малообеспеченным слоям населения. Помогите некоторым сохранить рабочие места некоторых людей. +bounty-description-toolbox = Центральному командованию не хватает надежности. Поторопитесь и отправьте несколько наборов инструментов в качестве решения. +bounty-description-tech-disk = Новый научный сотрудник на Станции 13 пролил газировку на сервер RND. Отправьте им несколько технологических дисков, чтобы они могли создавать свои рецепты. +bounty-description-trash = Недавно у группы дворников закончился мусор, который нужно убрать, а без мусора Centcom хочет уволить их, чтобы сократить расходы. Отправьте партию мусора, чтобы они остались на работе, и они дадут вам небольшую компенсацию. diff --git a/Resources/Locale/ru-RU/cargo/cargo-bounty-console.ftl b/Resources/Locale/ru-RU/cargo/cargo-bounty-console.ftl new file mode 100644 index 0000000000..9e99a7205f --- /dev/null +++ b/Resources/Locale/ru-RU/cargo/cargo-bounty-console.ftl @@ -0,0 +1,16 @@ +bounty-console-menu-title = Грузовая консоль наград +bounty-console-label-button-text = Печать этикетки +bounty-console-time-label = Время: [color=orange]{ $time }[/color] +bounty-console-reward-label = Награда: [color=limegreen]${ $reward }[/color] +bounty-console-manifest-label = Манифест: [color=gray]{ $item }[/color] +bounty-console-manifest-entry = + { $amount -> + [1] { $item } + *[other] { $item } x{ $amount } + } +bounty-console-description-label = [color=gray]{ $description }[/color] +bounty-console-id-label = ID#{ $id } +bounty-console-flavor-left = Награды от местных недобросовестных дилеров. +bounty-console-flavor-right = v1.4 +bounty-manifest-header = Официальный грузовой манифест (ID#{ $id }) +bounty-manifest-list-start = Манифест предмета: diff --git a/Resources/Locale/ru-RU/cartridge-loader/cartridges.ftl b/Resources/Locale/ru-RU/cartridge-loader/cartridges.ftl index 6ce5bcd980..7ffbed9cd6 100644 --- a/Resources/Locale/ru-RU/cartridge-loader/cartridges.ftl +++ b/Resources/Locale/ru-RU/cartridge-loader/cartridges.ftl @@ -1,6 +1,7 @@ default-program-name = Программа notekeeper-program-name = Заметки -net-probe-program-name = NetProbe +news-read-program-name = Новости станции +net-probe-program-name = Сетевой зонд net-probe-scan = Просканирован { $device }! net-probe-label-name = Название net-probe-label-address = Адрес diff --git a/Resources/Locale/ru-RU/construction/components/machine-frame-component.ftl b/Resources/Locale/ru-RU/construction/components/machine-frame-component.ftl index 219c53b327..5b0ae5f8ce 100644 --- a/Resources/Locale/ru-RU/construction/components/machine-frame-component.ftl +++ b/Resources/Locale/ru-RU/construction/components/machine-frame-component.ftl @@ -1 +1,2 @@ machine-frame-component-on-examine-label = [color=white]Установленная печатная плата:[/color] [color=cyan]{ $board }[/color] +machine-frame-component-on-complete = Строительство завершено diff --git a/Resources/Locale/ru-RU/construction/conditions/no-unstackable-in-tile.ftl b/Resources/Locale/ru-RU/construction/conditions/no-unstackable-in-tile.ftl new file mode 100644 index 0000000000..e112cb28d4 --- /dev/null +++ b/Resources/Locale/ru-RU/construction/conditions/no-unstackable-in-tile.ftl @@ -0,0 +1 @@ +construction-step-condition-no-unstackable-in-tile = Нельзя сделать стопку из похожих устройств. diff --git a/Resources/Locale/ru-RU/cuffs/components/handcuff-component.ftl b/Resources/Locale/ru-RU/cuffs/components/handcuff-component.ftl index eabc640e16..1e90cbfe7d 100644 --- a/Resources/Locale/ru-RU/cuffs/components/handcuff-component.ftl +++ b/Resources/Locale/ru-RU/cuffs/components/handcuff-component.ftl @@ -13,3 +13,5 @@ handcuff-component-cuff-by-other-success-message = Вы были закован handcuff-component-cuff-interrupt-message = Вам помешали заковать { $targetName }! handcuff-component-cuff-interrupt-self-message = Вам помешали заковать себя. handcuff-component-cuff-interrupt-other-message = Вы помешали { $otherName } заковать вас! +handcuff-component-cuff-interrupt-buckled-message = Вы не можете пристегнуться, пока скованы! +handcuff-component-cuff-interrupt-unbuckled-message = Вы не можете расстегнуться, будучи скованными! diff --git a/Resources/Locale/ru-RU/cult/abilities.ftl b/Resources/Locale/ru-RU/cult/abilities.ftl new file mode 100644 index 0000000000..98a6ae6fbf --- /dev/null +++ b/Resources/Locale/ru-RU/cult/abilities.ftl @@ -0,0 +1,12 @@ +artificer-create-soul-stone-action-name = Создать камень души. +artificer-create-soul-stone-action-description = Это заклинание проникает в царство Нар-Си, вызывая один из легендарных фрагментов через время и пространство. +artificer-create-construct-shell-action-name = Создать оболочку конструкта. +artificer-create-construct-shell-action-description = Это заклинание проникает в царство Нар-Си, вызывая один из легендарных фрагментов через время и пространство. +artificer-convert-cultist-floor-action-name = Создать культистский пол. +convert-cultist-floor-action-description = Это заклинание возводит под вами культистский пол. +artificer-create-cultist-wall-action-name = Создать культистскую стену. +artificer-create-cultist-wall-action-description = Это заклинание возводит культистскую стену. +wraith-phase-action-name = Фазовый Сдвиг +wraith-phase-action-description = Это заклинание позволяет проходить сквозь стены, подобно бесплотному полету волшебника. +juggernaut-create-wall-action-name = Щит +juggernaut-create-wall-action-description = Это заклинание создает временное, невидимое, силовое поле для защиты себя и союзников от подавляющего огня. diff --git a/Resources/Locale/ru-RU/cult/constructs.ftl b/Resources/Locale/ru-RU/cult/constructs.ftl new file mode 100644 index 0000000000..8ead17cd65 --- /dev/null +++ b/Resources/Locale/ru-RU/cult/constructs.ftl @@ -0,0 +1,8 @@ +ent-JuggernautConstruct = Джаггернаут + .desc = "" +ent-ArtificerConstruct = Ремесленник + .desc = "" +ent-WraithConstruct = Фантом + .desc = "" +ent-ReaperConstruct = Жнец + .desc = "" diff --git a/Resources/Locale/ru-RU/cult/cult-structure.ftl b/Resources/Locale/ru-RU/cult/cult-structure.ftl new file mode 100644 index 0000000000..7246b6dca5 --- /dev/null +++ b/Resources/Locale/ru-RU/cult/cult-structure.ftl @@ -0,0 +1,21 @@ +ent-CultRunicMetal = рунический металл + .desc = Необычный лист металла с пульсирующей руной. + .suffix = Полный +ent-CultRunicMetal1 = рунический металл + .desc = Необычный лист металла с пульсирующей руной. + .suffix = Один +ent-CultRunicMetal20 = рунический металл + .desc = Необычный лист металла с пульсирующей руной. + .suffix = 20 +ent-CultBloodAltar = алтарь + .desc = Кровавый алтарь, посвященный какому-то существу. +ent-CultForge = кузница + .desc = Кузница, в которой изготавливается нечестивое оружие. +ent-CultGirder = руническая балка + .desc = Большой конструктивный элемент, изготовленный из металла. На этом есть руна. +ent-AirlockGlassCult = рунический шлюз + .desc = Странный стеклянный шлюз с руной. +cult-structure-craft-not-enough-metal = Недостаточно металла. +cult-structure-craft-craft-failed = Не удалось начать постройку. +cult-structure-craft-blocked = Что-то мешает построить. +cult-structure-craft-another-structure-nearby = Слишком близко к другой такой постройке. diff --git a/Resources/Locale/ru-RU/cult/cultist-factory.ftl b/Resources/Locale/ru-RU/cult/cultist-factory.ftl new file mode 100644 index 0000000000..7be764e835 --- /dev/null +++ b/Resources/Locale/ru-RU/cult/cultist-factory.ftl @@ -0,0 +1,11 @@ +cultist-factory-charging = { $name } будут заряжаться ещё { $seconds } секунд +cultist-factory-create = Создать { $itemName } +cultist-factory-too-far = Слишком далеко +ent-AltarTome = архивы + .desc = Стол, заваленный тайными рукописями и книгами на неизвестных языках. +ent-CultRobeModify = одеяние флагелланта + .desc = Какая-то религиозная роба. +ent-CultMirrorShield = зеркальный щит + .desc = Щит с зеркалом на лицевой стороне, на котором изображен какой-то религиозный знак. +ent-CultOuterArmor = бронированная мантия + .desc = С первого взгляда кажется, что это простая мантия, но на ней имеется элементы брони. diff --git a/Resources/Locale/ru-RU/cult/pylon.ftl b/Resources/Locale/ru-RU/cult/pylon.ftl new file mode 100644 index 0000000000..b00cdb1f00 --- /dev/null +++ b/Resources/Locale/ru-RU/cult/pylon.ftl @@ -0,0 +1,4 @@ +pylon-toggle-on = Кристалл воспаряет над пьедесталом, начиная пульсировать +pylon-toggle-off = Кристалл перестаёт пульсировать, опускаясь на пьедестал +ent-CultPylon = пилон + .desc = Мистический конструкция. diff --git a/Resources/Locale/ru-RU/cult/shuttle-curse.ftl b/Resources/Locale/ru-RU/cult/shuttle-curse.ftl new file mode 100644 index 0000000000..f9f0254fac --- /dev/null +++ b/Resources/Locale/ru-RU/cult/shuttle-curse.ftl @@ -0,0 +1,8 @@ +shuttle-curse-not-cultist = Сфера выпадает из ваших рук +shuttle-curse-shuttle-not-called = Сфера доносит вам, что шаттл не вызван +shuttle-curse-max-curses = Сфера доносит, что шаттл больше нельзя проклясть +shuttle-curse-cooldown = Сфера доносит, что ей нужно собрать силы на прокльяте +shuttle-curse-shuttle-arrived = Сфера доносит, что уже слишком поздно +shuttle-curse-shuttle-delayed = Сфера доносит, что прокльяте наложено +ent-CultShuttleCurse = сфера проклятия + .desc = Cтранная каменная сфера, пульсирующая красным светом. diff --git a/Resources/Locale/ru-RU/cult/veil-shifter.ftl b/Resources/Locale/ru-RU/cult/veil-shifter.ftl new file mode 100644 index 0000000000..8427b5176c --- /dev/null +++ b/Resources/Locale/ru-RU/cult/veil-shifter.ftl @@ -0,0 +1,5 @@ +void-teleport-not-cultist = Посох выпадает у вас из рук. +void-teleport-drained = В этом посохе больше нет энергии. +void-teleport-cooldown = Посох накапливает заряд. +ent-CultVeilShifter = преобразователь покрова + .desc = Посох, излучающий странную энергию. diff --git a/Resources/Locale/ru-RU/cult/void-torch.ftl b/Resources/Locale/ru-RU/cult/void-torch.ftl new file mode 100644 index 0000000000..48cfdd7625 --- /dev/null +++ b/Resources/Locale/ru-RU/cult/void-torch.ftl @@ -0,0 +1,9 @@ +cult-torch-window-title = Отправить предмет +cult-torch-not-cultist = Факел выпадает из ваших рук +cult-torch-drained = Факел опустошён +cult-torch-cooldown = Факел накапливает энергию +cult-torch-cultists-not-found = Факел не обнаружил приспешников +cult-torch-no-cultist = Факел потерял связь с приспешником +cult-torch-item-send = Факел отправил предмет +ent-CultTorch = факел пустоты + .desc = Странный факел. diff --git a/Resources/Locale/ru-RU/disposal/unit/components/disposal-unit-component.ftl b/Resources/Locale/ru-RU/disposal/unit/components/disposal-unit-component.ftl index 910a14aae4..f5bd929ac6 100644 --- a/Resources/Locale/ru-RU/disposal/unit/components/disposal-unit-component.ftl +++ b/Resources/Locale/ru-RU/disposal/unit/components/disposal-unit-component.ftl @@ -23,6 +23,8 @@ disposal-flush-verb-get-data-text = Смыть disposal-unit-thrown-missed = Промах! # state disposal-unit-state-Ready = Готов +# Yes I want it to always say Pressurizing +disposal-unit-state-Flushed = Герметизация disposal-unit-state-Pressurizing = Нагнетание disposal-self-insert-verb-get-data-text = Залезть внутрь disposal-eject-verb-get-data-text = Извлечь всё diff --git a/Resources/Locale/ru-RU/flavors/flavor-profiles.ftl b/Resources/Locale/ru-RU/flavors/flavor-profiles.ftl index d26efc9a7d..4f5e9803d3 100644 --- a/Resources/Locale/ru-RU/flavors/flavor-profiles.ftl +++ b/Resources/Locale/ru-RU/flavors/flavor-profiles.ftl @@ -172,6 +172,7 @@ flavor-complex-coffee-liquor = как крепкий, горький кофе flavor-complex-whiskey = как патока flavor-complex-shitty-wine = как виноградная кожура flavor-complex-iced-tea = как холодный чай +flavor-complex-champagne = как свежеиспеченный хлеб flavor-complex-coffee = как кофе flavor-complex-milk = как молоко flavor-complex-tea = как чай @@ -201,6 +202,7 @@ flavor-complex-screwdriver = как крепкий апельсиновый со flavor-complex-themartinez = как фиалки и лимонная водка flavor-complex-cogchamp = как медь +flavor-complex-white-gilgamesh = как слегка газированные сливки flavor-complex-antifreeze = как что-то тёплое flavor-complex-pilk = как сладкое молоко diff --git a/Resources/Locale/ru-RU/fluids/components/drain-component.ftl b/Resources/Locale/ru-RU/fluids/components/drain-component.ftl new file mode 100644 index 0000000000..8d49860ea5 --- /dev/null +++ b/Resources/Locale/ru-RU/fluids/components/drain-component.ftl @@ -0,0 +1,8 @@ +drain-component-empty-verb-using-is-empty-message = { CAPITALIZE(THE($object)) } пусто! +drain-component-empty-verb-target-is-full-message = { CAPITALIZE(THE($object)) } полный! +drain-component-empty-verb-inhand = Пустой { $object } +drain-component-examine-hint-full = [color="blue"]Он наполнен до краев. Может вантуз поможет?[/color] +drain-component-examine-volume = [color="blue"]Оставшееся место - { $volume }ед.[/color] +drain-component-unclog-fail = { CAPITALIZE(THE($object)) } все еще полон. +drain-component-unclog-success = { CAPITALIZE(THE($object)) } очищается. +drain-component-unclog-notapplicable = { CAPITALIZE(THE($object)) } не забит. diff --git a/Resources/Locale/ru-RU/game-ticking/game-presets/preset-zombies.ftl b/Resources/Locale/ru-RU/game-ticking/game-presets/preset-zombies.ftl index 776202cc27..e3015c1dbb 100644 --- a/Resources/Locale/ru-RU/game-ticking/game-presets/preset-zombies.ftl +++ b/Resources/Locale/ru-RU/game-ticking/game-presets/preset-zombies.ftl @@ -7,6 +7,7 @@ zombie-healing = Вы чувствуете шевеление в своей пл zombie-infection-warning = Вы чувствуете, как зомби-вирус захватывает власть zombie-infection-underway = Ваша кровь начинает густеть zombie-alone = Вы чувствуете себя совершенно одиноким. +zombie-shuttle-call = Мы обнаружили, что нежить захватила станцию. Отправка аварийного шаттла для сбора оставшегося персонала. zombie-round-end-initial-count = { $initialCount -> [one] Единственным нулевым пациентом был: diff --git a/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl b/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl index a9dec88737..7cde4e6545 100644 --- a/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/ru-RU/ghost/roles/ghost-role-component.ftl @@ -99,6 +99,8 @@ ghost-role-information-cburn-agent-name = Агент РХБЗЗ ghost-role-information-cburn-agent-description = Высококвалифицированный агент ЦК, способный справляться с различными угрозами. ghost-role-information-centcom-official-name = Представитель ЦК ghost-role-information-centcom-official-description = Проинспектируйте станцию, запишите отзывы о работе начальников отделов, прослушайте капитана. +ghost-role-information-behonker-name = Бонкер +ghost-role-information-behonker-description = Ты антагонист, несешь смерть и гудки тем, кто не следует за гудком. spider-web-action-name = Паутина spider-web-action-description = Создает паутину, которая замедляет вашу добычу. spider-web-action-nogrid = Под тобой нет пола! diff --git a/Resources/Locale/ru-RU/guidebook/chemistry/effects.ftl b/Resources/Locale/ru-RU/guidebook/chemistry/effects.ftl index e71e8803ec..f09ac1c15a 100644 --- a/Resources/Locale/ru-RU/guidebook/chemistry/effects.ftl +++ b/Resources/Locale/ru-RU/guidebook/chemistry/effects.ftl @@ -1,3 +1,18 @@ +-create-3rd-person = + { $chance -> + [1] Создает + *[other] создаёт + } +-cause-3rd-person = + { $chance -> + [1] Вызывает + *[other] вызывает + } +-satiate-3rd-person = + { $chance -> + [1] Насыщает + *[other] насыщает + } -create-3rd-person = { $chance -> [1] создает @@ -271,6 +286,21 @@ reagent-effect-guidebook-paralyze = [1] Paralyzes *[other] paralyze } the metabolizer for at least { NATURALFIXED($time, 3) } { $time } +reagent-effect-guidebook-cure-zombie-infection = + { $chance -> + [1] Cures + *[other] cure + } an ongoing zombie infection +reagent-effect-guidebook-cause-zombie-infection = + { $chance -> + [1] Gives + *[other] give + } an individual the zombie infection +reagent-effect-guidebook-innoculate-zombie-infection = + { $chance -> + [1] Cures + *[other] cure + } an ongoing zombie infection, and provides immunity to future infections reagent-effect-guidebook-movespeed-modifier = { $chance -> [1] Modifies diff --git a/Resources/Locale/ru-RU/guidebook/guidebook.ftl b/Resources/Locale/ru-RU/guidebook/guidebook.ftl index 85979b40ff..843ff0886a 100644 --- a/Resources/Locale/ru-RU/guidebook/guidebook.ftl +++ b/Resources/Locale/ru-RU/guidebook/guidebook.ftl @@ -1,6 +1,7 @@ guidebook-window-title = Руководство guidebook-placeholder-text = Выберите запись. guidebook-placeholder-text-2 = Если вы новичок, выберите самую верхнюю запись. +guidebook-filter-placeholder-text = Фильтровать элементы guidebook-monkey-unspin = Раскрученная обезьяна guidebook-monkey-disco = Диско-обезьяна game-hud-open-guide-menu-button-tooltip = Открыть гайды. diff --git a/Resources/Locale/ru-RU/guidebook/guides.ftl b/Resources/Locale/ru-RU/guidebook/guides.ftl index 435190b0d5..9e25fbdbbf 100644 --- a/Resources/Locale/ru-RU/guidebook/guides.ftl +++ b/Resources/Locale/ru-RU/guidebook/guides.ftl @@ -12,6 +12,8 @@ guide-entry-singularity = Сингулярность guide-entry-controls = Управление guide-entry-radio = Радио guide-entry-jobs = Должности +guide-entry-cargo = Карго +guide-entry-cargo-bounties = Грузовые награды guide-entry-salvage = Утилизация guide-entry-survival = Выживание guide-entry-chemicals = Химикаты @@ -38,3 +40,5 @@ guide-entry-machine-upgrading = Улучшение оборудования guide-entry-robotics = Робототехника guide-entry-security = Безопасность guide-entry-dna = ДНК +guide-entry-antagonists = Antagonists +guide-entry-nuclear-operatives = Nuclear Operatives diff --git a/Resources/Locale/ru-RU/implant/implant.ftl b/Resources/Locale/ru-RU/implant/implant.ftl index 61f9b3068a..33c79386dc 100644 --- a/Resources/Locale/ru-RU/implant/implant.ftl +++ b/Resources/Locale/ru-RU/implant/implant.ftl @@ -10,6 +10,7 @@ implanter-draw-text = Извлечение implanter-inject-text = Установка implanter-empty-text = Пусто implanter-implant-text = { $implantName }{ $lineBreak }{ $implantDescription } +implanter-contained-implant-text = [color=green]{ $desc }[/color] implanter-label = [color=white]Имплант: { $currentEntities }{ $lineBreak }Режим: { $modeString }[/color] ## Implanter Actions @@ -21,4 +22,14 @@ activate-micro-bomb-action-description = Активирует вживлённу use-freedom-implant-action-name = активировать имплант Свобода use-freedom-implant-action-description = Освобождает вас от наручников и других ограничителей. open-uplink-implant-action-name = Открыть аплинк +action-name-honk = Хонк! +action-desc-honk = Активирует гудящий имплант, который будет издавать характерный звук клоуна. +use-emp-implant-action-name = Активировать ЭМИ +use-emp-implant-action-description = Запускает небольшой импульс ЭМИ вокруг вас. +use-dna-scrambler-implant-action-name = Скремблировать ДНК +use-dna-scrambler-implant-action-description = ЛИНГ В ТЕХАХ! open-uplink-implant-action-description = Открывает восходящий канал синдиката, встроенный в вашу кожу +scramble-attempt-while-scrambled-popup = Обнаружена зашифрованная ДНК, пожалуйста, извлеките имплантат перед отменой текущей зашифрованной информации. +scramble-implant-activated-popup = Вы превратились в { $identity } +deathrattle-implant-dead-message = { $user } умер в { $position }. +deathrattle-implant-critical-message = { $user } признаки жизни критические, требуется немедленная помощь в { $position }. diff --git a/Resources/Locale/ru-RU/instruments/instruments-component.ftl b/Resources/Locale/ru-RU/instruments/instruments-component.ftl index 22127263d7..8374755bb7 100644 --- a/Resources/Locale/ru-RU/instruments/instruments-component.ftl +++ b/Resources/Locale/ru-RU/instruments/instruments-component.ftl @@ -9,8 +9,16 @@ instruments-component-menu-no-midi-support = FluidSynth или пакет разработки для FluidSynth. instruments-component-menu-input-button = MIDI Ввод +instruments-component-menu-band-button = Присоединяйтесь к группе instruments-component-menu-play-button = Воспроизвести MIDI файл instruments-component-menu-loop-button = Повтор +instruments-component-menu-channels-button = Каналы instruments-component-menu-stop-button = Стоп +instruments-component-band-menu = Выбрать лидера группы +instrument-component-band-refresh = Обновить +instruments-component-channels-menu = Выбор MIDI-канала +instrument-component-channel-name = MIDI-канал { $number } +instruments-component-channels-all-button = Все +instruments-component-channels-clear-button = Очистить # SwappableInstrumentComponent swappable-instrument-component-style-set = Установить стиль на "{ $style }" diff --git a/Resources/Locale/ru-RU/job/job-description.ftl b/Resources/Locale/ru-RU/job/job-description.ftl index 1efa1e916d..3550ebcaeb 100644 --- a/Resources/Locale/ru-RU/job/job-description.ftl +++ b/Resources/Locale/ru-RU/job/job-description.ftl @@ -43,3 +43,7 @@ job-description-serviceworker = Изучите основы барменства job-description-warden = Патрулируйте отдел безопасности, убедитесь, что никто не ворует из арсенала, и убедитесь, что все заключенные оформлены и выпущены, когда их время истекло. job-description-zookeeper = Покажите всем членам экипажа веселую выставку милых животных и космических карпов. Доступно не на всех картах! job-description-research-assistant = Изучите основы исследования различных артефактов и аномалий. +job-description-senior-engineer = Обучайте новых инженеров основам работы двигателя станции, ремонта, атмосферы и мощности. +job-description-senior-researcher = Обучайте новых ученых основам печати предметов, исследования артефактов и аномальных объектов. +job-description-senior-physician = Научите новых медиков основам ухода за ранеными, химии, диагностике больных и избавлению от мертвых. +job-description-senior-officer = Научите новых офицеров основам обысков, предварительных арестов, тюремного заключения и тому, как правильно стрелять из огнестрельного оружия. diff --git a/Resources/Locale/ru-RU/job/job-names.ftl b/Resources/Locale/ru-RU/job/job-names.ftl index c53344ea9b..0ef94e97f2 100644 --- a/Resources/Locale/ru-RU/job/job-names.ftl +++ b/Resources/Locale/ru-RU/job/job-names.ftl @@ -43,6 +43,10 @@ job-name-ertmedic = медик ОБР job-name-ertjanitor = уборщик ОБР job-name-boxer = боксёр job-name-zookeeper = зоотехник +job-name-senior-engineer = Опытный инженер +job-name-senior-researcher = Старший научный сотрудник +job-name-senior-physician = Старший врач +job-name-senior-officer = Старший офицер # Role timers - Make these alphabetical or I cut you JobAtmosphericTechnician = атмосферный техник JobBartender = бармен @@ -84,6 +88,10 @@ JobScientist = учёный JobSecurityCadet = кадет СБ JobSecurityOfficer = офицер СБ JobServiceWorker = сервисный работник +JobSeniorEngineer = Опытный инженер +JobSeniorOfficer = Старший офицер +JobSeniorPhysician = Старший врач +JobSeniorResearcher = Старший научный сотрудник JobStationEngineer = инженер JobTechnicalAssistant = технический ассистент JobWarden = смотритель diff --git a/Resources/Locale/ru-RU/job/job-supervisors.ftl b/Resources/Locale/ru-RU/job/job-supervisors.ftl index 4565101706..af0ce11f01 100644 --- a/Resources/Locale/ru-RU/job/job-supervisors.ftl +++ b/Resources/Locale/ru-RU/job/job-supervisors.ftl @@ -5,10 +5,12 @@ job-supervisors-hop-qm = квартирмейстеру и главе персо job-supervisors-hos = главе службы безопасности job-supervisors-ce = старшему инженеру job-supervisors-cmo = главному врачу +job-supervisors-qm = квартирмейстер job-supervisors-rd = научному руководителю job-supervisors-service = поварам, ботаникам, барменам, и главе персонала job-supervisors-engineering = инженерам, атмосферным техникам, и старшему инженеру job-supervisors-medicine = врачам, химикам, и главному врачу +job-supervisors-science = ученые, старший научный сотрудник и научный руководитель job-supervisors-security = офицерам, смотрителю, и главе службы безопасности job-supervisors-hire = своим нанимателям job-supervisors-everyone = вообще всем diff --git a/Resources/Locale/ru-RU/kitchen/components/butcherable-component.ftl b/Resources/Locale/ru-RU/kitchen/components/butcherable-component.ftl index ac2051e883..7965600581 100644 --- a/Resources/Locale/ru-RU/kitchen/components/butcherable-component.ftl +++ b/Resources/Locale/ru-RU/kitchen/components/butcherable-component.ftl @@ -1,3 +1,4 @@ +butcherable-different-tool = Вам понадобится другой инструмент для разделки { THE($target) }. butcherable-knife-butchered-success = Вы разделываете { $target } с помощью { $knife }. butcherable-need-knife = Используйте острый предмет чтобы разделать { $target }. butcherable-not-in-container = Сперва достаньте { $target } из контейнера. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-0.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-0.ftl new file mode 100644 index 0000000000..c8effc7d20 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-0.ftl @@ -0,0 +1,39 @@ +ent-BaseFoldable = складной +ent-ClothingBackpackIan = рюкзак Иана + .desc = Иногда он носит его. +ent-ClothingBackpackBrigmedic = рюкзак бригмедика + .desc = Это очень стерильный рюкзак. +ent-ClothingBackpackAtmospherics = рюкзак атмосферника + .desc = Это рюкзак из огнеупорного волокна. Пахнет плазмой. +ent-ClothingBackpackGenetics = рюкзак генетика + .desc = Рюкзак, созданный для того, чтобы быть сверхпрочным, на тот случай, если кто-то наткнется на вас. +ent-ClothingBackpackCargo = рюкзак грузчика + .desc = Прочный рюкзак для кражи предметов из карго. +ent-ClothingBackpackMerc = рюкзак наёмника + .desc = Рюкзак, побывавший во многих опасных местах, надежный боевой рюкзак. +ent-ClothingBackpackDuffelAtmospherics = вещмешок атмосферника + .desc = Большая сумка из огнеупорного волокна. Пахнет плазмой. +ent-ClothingBackpackDuffelBrigmedic = вещмешок бригмедика + .desc = Большая сумка для хранения дополнительных медицинских принадлежностей. +ent-ClothingBackpackDuffelGenetics = вещмешок генетика + .desc = Большая сумка для хранения дополнительных генетических мутаций. +ent-ClothingBackpackDuffelCargo = вещмешок грузчика + .desc = Большая сумка для кражи драгоценных предметов карго. +ent-ClothingBackpackSatchelAtmospherics = атмосферная сумка + .desc = Прочная сумка из огнеупорного волокна. Пахнет плазмой. +ent-ClothingBackpackSatchelClown = клоунская сумка + .desc = Для быстрого бега от СБ. +ent-ClothingBackpackSatchelMime = сумка мима + .desc = Сумка, предназначенная для бесшумного и выразительного искусства подражания. +ent-ClothingBackpackSatchelGenetics = сумка генетика + .desc = Стерильный ранец с расцветкой генетика. +ent-ClothingBackpackSatchelBrigmedic = сумка бригмедика + .desc = Стерильный ранец для медицинских нужд. +ent-ClothingBackpackSatchelCargo = сумка грузчика + .desc = Прочный ранец для кражи трофеев. +ent-ClothingBackpackWaterTank = наплечный бак с водой + .desc = Удерживает большое количество жидкости. Принадлежности для распылителей в ваших руках. +ent-ClothingBeltMercWebbing = разгрузка наемника + .desc = Идеально подходит для хранения всего, от боеприпасов до оружия и предметов первой необходимости. +ent-ClothingBeltSalvageWebbing = пояс утилизатора + .desc = Универсальная система разгрузки для работы в космосе. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-1.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-1.ftl new file mode 100644 index 0000000000..917f079cd1 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-1.ftl @@ -0,0 +1,40 @@ +ent-ClothingHeadsetCMO = гарнитура СМО + .desc = Гарнитура, используемая Старшим медицинским офицером. +ent-ClothingHeadsetBrigmedic = гарнитура бригмедика + .desc = Гарнитура, которая помогает слышать крики смерти. +ent-ClothingEyesGlassesOutlawGlasses = очки агента + .desc = Обязательно для каждого уважающего себя агента под прикрытием. +ent-ClothingEyesGlassesMercenary = очки наёмника + .desc = Боевые очки для защиты глаз от ярких ослепляющих вспышек. +ent-ClothingEyesHudBeer = пивные очки + .desc = Пара очков, оснащенная устройством для сканирования реагентов, а также обеспечивающая врожденное понимание вязкости жидкости во время движения. +ent-ClothingEyesHudFriedOnion = жареные луковые очки + .desc = { ent-Clothing.desc } +ent-ClothingEyesHudOnionBeer = очки голода + .desc = { ent-Clothing.desc } +ent-ClothingEyesHudMedOnion = луковые очки + .desc = { ent-Clothing.desc } +ent-ClothingEyesHudMedOnionBeer = очки пивного голода + .desc = { ent-Clothing.desc } +ent-ClothingEyesHudMedSec = очки медбез + .desc = { ent-Clothing.desc } +ent-ClothingEyesHudMultiversal = универсальные очки + .desc = { ent-Clothing.desc } +ent-ClothingEyesHudOmni = омни очки + .desc = { ent-Clothing.desc } +ent-ClothingHandsGlovesBoxingRigged = перчатки для бокса + .desc = { ent-Clothing.desc } +ent-ClothingHandsTacticalMaidGloves = тактические перчатки горничной + .desc = Тактические перчатки горничной, каждая уважающая себя горничная должна уметь незаметно устранять свои цели. +ent-ClothingHandsMercGlovesCombat = боевые перчатки наемника + .desc = Качественные боевые перчатки для защиты рук от механических повреждений во время боя. +ent-ClothingHandsGlovesMercFingerless = перчатки наёмника без пальцев + .desc = Перчатки, которые, возможно, не защитят вас от ожогов пальцев, но сделают вас круче. +ent-ClothingHandsGlovesNorthStar = перчатки северной звезды + .desc = Эти перчатки позволяют бить невероятно быстро. +ent-ClothingHandsGlovesForensic = судебно-медицинские перчатки + .desc = Не оставляйте волокон или отпечатков пальцев. Если ты работаешь без них, ты УЖАСНЫЙ ДЕТЕКТИВ. +ent-ClothingHeadBandBlack = черная бандана + .desc = Черная бандана, чтобы выглядеть круто. +ent-ClothingHeadBandBlue = синяя бандана + .desc = Синяя бандана, чтобы выглядеть круто. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-10.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-10.ftl new file mode 100644 index 0000000000..7d2101c975 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-10.ftl @@ -0,0 +1,40 @@ +ent-SpawnPointSeniorResearcher = Точка спавна старшего учёного + .desc = "" +ent-SpawnPointSeniorOfficer = Точка спавна старшего офицера + .desc = "" +ent-SpawnPointBrigmedic = Точка спавна бригмедика + .desc = "" +ent-SpawnMechRipley = Спавнер рипли + .desc = "" +ent-SpawnMechHonker = Спавнер Х.О.Н.К'а + .desc = "" +ent-SpawnMobCatBingus = Спавнер бингуса + .desc = "" +ent-SpawnMobCatSpace = Спавнер космической кошки + .desc = "" +ent-SpawnMobShiva = Спавнер Шивы + .desc = "" +ent-SpawnMobKangarooWillow = Спавнер Уиллоуа + .desc = "" +ent-SpawnMobKangaroo = Спавнер космического кенгуру + .desc = "" +ent-SpawnMobBoxingKangaroo = Спавнер боксёрского кенгуру + .desc = "" +ent-SpawnMobSpaceSpider = Спавнер космического паука + .desc = "" +ent-SpawnMobAdultSlimesBlue = Спавнер синего слайма + .desc = "" +ent-SpawnMobAdultSlimesBlueAngry = Спавнер злого синего слайма + .desc = "" +ent-SpawnMobAdultSlimesGreen = Спавнер зеленого слайма + .desc = "" +ent-SpawnMobAdultSlimesGreenAngry = Спавнер злого зеленого слайма + .desc = "" +ent-SpawnMobAdultSlimesYellow = Спавнер жёлтого слайма + .desc = "" +ent-SpawnMobAdultSlimesYellowAngry = Спавнер злого желтого слайма + .desc = "" +ent-SpawnMobSmile = Спавнер слайма Улыбкин + .desc = "" +ent-SpawnMobMonkeyPunpun = Спавнер Пун Пун + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-11.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-11.ftl new file mode 100644 index 0000000000..476564ad0b --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-11.ftl @@ -0,0 +1,40 @@ +ent-SpawnMobBehonker = Спавнер Бонкера + .desc = "" +ent-SpawnMobMonkey = Спавнер обезьяны + .desc = "" +ent-SpawnMobPurpleSnake = Спавнер фиолетовой змеи + .desc = "" +ent-SpawnMobSmallPurpleSnake = Спавнер маленькой фиолетовой змеи + .desc = "" +ent-SpawnMobSlug = Спавнер слизня + .desc = "" +ent-SpawnMobLizard = Спавнер ящерицы + .desc = "" +ent-SpawnMobCrab = Спавнер краба + .desc = "" +ent-SpawnMobGoat = Спавнер козы + .desc = "" +ent-SpawnMobFrog = Спавнер лягушки + .desc = "" +ent-SpawnMobBee = Спавнер пчелы + .desc = "" +ent-SpawnMobParrot = Спавнер попугая + .desc = "" +ent-SpawnMobButterfly = Спавнер бабочки + .desc = "" +ent-SpawnMobCow = Спавнер коровы + .desc = "" +ent-SpawnMobGorilla = Спавнер гориллы + .desc = "" +ent-SpawnMobPenguin = Спавнер пингвина + .desc = "" +ent-SpawnVehicleMotobike = Спавнер мотобайка + .desc = "" +ent-EngiLootSpawner = Спавнер инженерного лута + .desc = "" +ent-CommonLootSpawner = Спавнер общего лута + .desc = "" +ent-SecLootSpawner = Спавнер СБ лута + .desc = "" +ent-MedLootSpawner = Спавнер медицинского лута + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-12.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-12.ftl new file mode 100644 index 0000000000..8e01b25cfb --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-12.ftl @@ -0,0 +1,16 @@ +ent-RnDLootSpawner = Спавнер научного лута + .desc = "" +ent-SalvagePartsT2Spawner = Спавнер ур.2 машинных деталей + .desc = "" +ent-SalvagePartsT3T4Spawner = Спавнер ур.3-4 машинных деталей + .desc = "" +ent-SalvagePartsT3Spawner = Спавнер ур.3 машинных деталей + .desc = "" +ent-SalvagePartsT4Spawner = Спавнер ур.4 машинных деталей + .desc = "" +ent-SpawnMobKangarooSalvage = Спавнер на обломке кенгуру + .desc = "" +ent-SpawnMobSpiderSalvage = Спавнер на обломке космо-паук + .desc = "" +ent-SpacemenFigureSpawner = Спавнер фигурки космонавта + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-13.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-13.ftl new file mode 100644 index 0000000000..bd985a3424 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-13.ftl @@ -0,0 +1,20 @@ +ent-RandomVendingDrinks = Спавнер случайного вендомата напитков + .desc = "" +ent-RandomVendingSnacks = Спавнер случайного ведомата закусок + .desc = "" +ent-MobBoxingKangaroo = кенгуру-боксёр + .desc = "" +ent-MobGuidebookMonkey = обезьяна руководства + .desc = Надеюсь, полезная обезьянка, единственная цель которой в жизни - чтобы вы нажали на нее. Считается ли это за то, что обезьяна дала вам урок? +ent-MobMonkeySyndicateAgent = обезьяна + .desc = Новая церковь неодарвинистов на самом деле верит, что каждое животное произошло от обезьяны. По вкусу напоминает свинину, и убивать их одновременно весело и расслабляюще. +ent-MobClownSpider = паук-клоун + .desc = Сочетает в себе две самые страшные вещи на свете - пауков и клоунов. +ent-MobCatMurka = мурка + .desc = Потомок кошко-богини. +ent-BaseMobBehonker = бонкер + .desc = Парящий демонический аспект Хонкоматери. +ent-MobBehonkerElectrical = бонкер + .desc = { ent-BaseMobBehonker.desc } +ent-MobBehonkerPyro = бонкер + .desc = { ent-BaseMobBehonker.desc } diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl new file mode 100644 index 0000000000..441963848f --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-14.ftl @@ -0,0 +1,38 @@ +ent-MobBehonkerGrav = бонкер + .desc = { ent-BaseMobBehonker.desc } +ent-MobBehonkerIce = бонкер + .desc = { ent-BaseMobBehonker.desc } +ent-MobCarpDungeon = карп + .desc = "" +ent-BaseMobFlesh = ненормальная плоть + .desc = Неуклюжая масса плоти, оживленная с помощью аномальной энергии. +ent-MobAbomination = мерзость + .desc = Отвергнутый клон, испытывающий постоянную боль и жаждущий мести. +ent-MobSpiderShiva = Шива + .desc = Первый защитник станции. +ent-MobKangarooWillow = Уиллоу + .desc = Боксирующий кенгуру Уиллоу. +ent-MobSlimesPet = Улыбкин + .desc = Этот шедевр прошел через тысячи экспериментов. Но это самое милое создание на свете. Улыбнись слайму! +ent-MobMonkeyPunpun = Пун Пун + .desc = Выдающийся представитель обезьян с неограниченным доступом к алкоголю. +ent-MobAdultSlimes = базовый слайма + .desc = Это так похоже на желе. Интересно, каково это на вкус? +ent-MobAdultSlimesBlue = синий слайм + .desc = { ent-MobAdultSlimes.desc } +ent-MobAdultSlimesBlueAngry = синий слайм + .desc = { ent-MobAdultSlimes.desc } +ent-MobAdultSlimesGreen = зеленый слайм + .desc = { ent-MobAdultSlimes.desc } +ent-MobAdultSlimesGreenAngry = зеленый слайм + .desc = { ent-MobAdultSlimes.desc } +ent-MobAdultSlimesYellow = желтый слайм + .desc = { ent-MobAdultSlimes.desc } +ent-MobAdultSlimesYellowAngry = желтый слайм + .desc = { ent-MobAdultSlimes.desc } +ent-MobSpaceBasic = космосущество + .desc = Это выглядит дружелюбно. Почему бы тебе не обнять его? +ent-MobKangarooSpace = space kangaroo + .desc = Это выглядит дружелюбно. Почему бы тебе не обнять его? +ent-MobSpiderSpace = космо-паук + .desc = Он так светится, что выглядит опасным. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-15.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-15.ftl new file mode 100644 index 0000000000..369b95b54f --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-15.ftl @@ -0,0 +1,24 @@ +ent-MobArachnid = Урист МакПаутина + .desc = "" +ent-BaseMobDragon = космо-дракон + .desc = Летающий левиафан, слабо связанный с космическими карпами. +ent-MobHumanLoneNuclearOperative = одинокий оперативник + .desc = "" +ent-MobHumanScrambled = взбаламученный человек + .desc = "" +ent-MobSkrellSyndicateAgent = Скрелл-синдикатовец + .desc = "" +ent-BaseMobArachnid = Урист МакПаутина + .desc = "" +ent-MobArachnidDummy = Урист МакПлюш + .desc = Фиктивный арахнид, предназначенный для использования при настройке персонажа. +ent-DrinkCogChampBase = стакан кончемпа + .desc = Эта смесь коньяка, отвертки и сварочного топлива наверняка заставит вас увидеть Его свет! +ent-DrinkTheMartinez = бокал Мартинеса + .desc = Легенда бегущих по краю. Запомненный выпивкой, забытый пьяницей. +ent-DrinkBeerBottleFull = пиво + .desc = Алкогольный напиток, приготовленный из солодовых зерен, хмеля, дрожжей и воды. +ent-DrinkChampagneBottleFull = бутылка шампанского + .desc = Только люди, лишенные воображения, не могут найти предлог для шампанского. +ent-DrinkNukieCan = банка кроваво-красного самогона + .desc = Напиток домашнего приготовления, приготовленный сумасшедшими умами из Синдиката. Не рекомендовано врачами. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-16.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-16.ftl new file mode 100644 index 0000000000..14b37e3c52 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-16.ftl @@ -0,0 +1,38 @@ +ent-DrinkBaseMug = кружка + .desc = Кружка. +ent-DrinkGreenTea = зеленый чай + .desc = Обычная белая фарфоровая чашка. +ent-DrinkHosFlask = фляжка ГСБ + .desc = Металлическая фляга, подходящая для трудолюбивого ГСБ. +ent-DrinkSpaceGlue = тюбик с космическим клеем + .desc = Высокоэффективный клей, предназначенный для обслуживания чрезвычайно сложного механического оборудования. НЕ ПИТЬ! +ent-DrinkSpaceLube = тюбик космической смазки + .desc = Высокоэффективный смазочный материал, предназначенный для обслуживания чрезвычайно сложного механического оборудования. +ent-FoodBurgerCat = кошачий бургер + .desc = Наконец-то эти коты и люди-кошки чего-то стоят! +ent-FoodBurgerHuman = человеческий бургер + .desc = Вы не можете сказать, из кого это сделано... +ent-FoodBurgerPlain = простой бургер + .desc = Скучный, сухой бургер. +ent-ReagentContainerCornmeal = мешок кукурузной муки + .desc = Большой мешок кукурузной муки. Хорошо для готовки! +ent-ReagentContainerCornmealSmall = пакет кукурузной муки + .desc = Пачка кукурузной муки. Хорошо для готовки! +ent-FoodDoughCornmeal = кукурузное тесто + .desc = Кусочек кукурузного теста. +ent-FoodDoughCornmealSlice = кусочек кукурузного теста + .desc = Кусочек кукурузного теста. +ent-FoodChevre = полено Шевра + .desc = Мягкое полено сливочного Шевра. +ent-FoodChevreSlice = диск Шевра + .desc = Небольшой диск сливочного Шевра. Идеальное украшение для французских гарниров. +ent-FoodTofuSlice = ломтик тофу + .desc = Кусочек тофу. Ингредиент различных вегетарианских блюд. +ent-FoodSaladWatermelonFruitBowl = ваза с фруктами из арбуза + .desc = Единственный салат, где можно съесть тарелку. +ent-FoodMealTaco = тако + .desc = Закуси! +ent-FoodMeatHuman = сырое человеческое мясо + .desc = Отвратительно. +ent-MaterialSmileExtract = экстракт Улыбкина + .desc = Это настоящая панацея. Но какой ценой? diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-17.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-17.ftl new file mode 100644 index 0000000000..11b0fa50c1 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-17.ftl @@ -0,0 +1,40 @@ +ent-TrashBananaPeelExplosive = банановая кожура + .desc = "" +ent-FoodCabbage = капуста + .desc = Фууууууууу. Капуста. +ent-FoodGarlic = чеснок + .desc = Вкусно, но с потенциально подавляющим запахом. +ent-FoodLime = лайм + .desc = Излечивает космическую цингу, позволяет действовать как космический пират. +ent-FoodOrange = апельсин + .desc = Здоровый, очень оранжевый. +ent-RiceBushel = бушель риса + .desc = Можно перемолоть в рис, идеально подходит для пудинга или саке. +ent-FoodSoybeans = соевые бобы + .desc = Для тех, кто терпеть не может старое доброе мясо. +ent-FoodWatermelon = арбуз + .desc = Круглый зеленый предмет, который можно нарезать и съесть. +ent-FoodWatermelonSlice = ломтик арбуза + .desc = Сочный зеленый и красный ломтик. +ent-FoodGrape = виноград + .desc = Еда императоров, жителей Космической Франции (обычно в виде вина) и футбольных мамочек. Однажды его можно будет использовать в производстве вина для бармена, если у него когда-нибудь закончится. +ent-FoodSaladCaesar = салат Цезарь + .desc = Простой, но ароматный салат из лука, листьев салата, гренок и кусочков сыра, заправленных маслом. Подается с ломтиком лаваша! +ent-FoodBreadCorn = кукурузный хлеб + .desc = Немного хорошего деревенского стиля, укоренение, стрельба из револьвера, кукурузный хлеб. +ent-FoodBreadCornSlice = ломтик кукурузного хлеба + .desc = Кусочек кукурузного хлеба. +ent-FoodBreadSausage = колбасный хлеб + .desc = Не думай слишком много об этом. +ent-FoodBreadSausageSlice = кусок колбасного хлеба + .desc = Не думай слишком много об этом. +ent-FoodBreadBaguetteSlice = кростини + .desc = Приятного аппетита! +ent-FoodBreadFrenchToast = французский тост + .desc = Ломтик хлеба, смоченный во взбитой яичной смеси. +ent-FoodBreadJellySlice = желейный тост + .desc = Как будто наука собирается отказаться от своих слаймов ради тостов! +ent-FoodBreadTwoSlice = два кусочка + .desc = Первоклассный. +ent-FoodBakedDumplings = пельмени + .desc = Средний рецепт мяса в тесте. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-18.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-18.ftl new file mode 100644 index 0000000000..602796dc1e --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-18.ftl @@ -0,0 +1,30 @@ +ent-FoodBakedChevreChaud = горячий Шевр + .desc = Диск слегка подтаявшего Шевра плюхнулся на кростини и поджарился со всех сторон. +ent-HappyHonkCluwne = горестная клувнская еда + .desc = Ничего хорошего из этого не выйдет. +ent-FoodCondimentBottleVinegar = бутылка уксуса + .desc = Используется в кулинарии для усиления вкуса. +ent-BaseFoodShaker = пустой шейкер + .desc = Шейкер для хранения и дозирования специй. +ent-FoodShakerSalt = солонка + .desc = Соль. Из космоса океанов, по-видимому. +ent-FoodShakerPepper = перечница + .desc = Часто используется для придания вкуса еде или заставляет людей чихать. +ent-Vape = вейп + .desc = Как сигара, но для крепких подростков. (ВНИМАНИЕ: наливайте в вейп только воду) +ent-NewsReadCartridge = Новостной картридж + .desc = Программа для чтения новостей +ent-DoorRemoteAll = супер дверной пульт + .desc = "" +ent-EncryptionKey = ключ шифрования + .desc = Небольшой шифрочип для наушников. +ent-ForensicReportPaper = отчет судебного сканера + .desc = Косвенные доказательства, в лучшем случае +ent-HoloprojectorSecurity = голобарьерный проектор + .desc = Создает прочный, но хрупкий голографический барьер. +ent-ParamedicPDA = ПДА парамедика + .desc = Блестящие и стерильные. Имеет встроенный экспресс-анализатор здоровья. +ent-BrigmedicPDA = ПДА парамедика + .desc = Интересно, чей пульс на экране? Надеюсь, он не остановится... В ПДА встроен анализатор здоровья. +ent-SeniorEngineerPDA = ПДА опытного инженера + .desc = Кажется, его несколько раз разбирали и собирали обратно. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl new file mode 100644 index 0000000000..a1c02e1d69 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-19.ftl @@ -0,0 +1,40 @@ +ent-SeniorResearcherPDA = ПДА старшего научного сотрудника + .desc = Похоже, он пережил годы химических ожогов и взрывов. +ent-SeniorPhysicianPDA = ПДА старшего врача + .desc = Слабо пахнет железом и химикатами. Имеет встроенный анализатор здоровья. +ent-SeniorOfficerPDA = ПДА старшего офицера + .desc = Избитые, потрепанные и сломанные, но едва пригодные для использования. +ent-PinpointerUniversal = универсальный пинпоинтер + .desc = Портативное устройство слежения, которое фиксируется на любом физическом объекте в выключенном состоянии. +ent-HandheldStationMap = карта станции + .desc = Отображает показания текущей станции. +ent-StationRecordsComputerCircuitboard = компьютерная плата записей станции + .desc = Компьютерная печатная плата для компьютера, записывающего станцию. +ent-CargoBountyComputerCircuitboard = компьютерная плата грузовых наград + .desc = Компьютерная печатная плата для грузового компьютера. +ent-SalvageExpeditionsComputerCircuitboard = компьютерная плата утилизационных экспедиций + .desc = Компьютерная печатная плата для компьютера утилизационных экспедиций. +ent-SalvageShuttleConsoleCircuitboard = консольная плата утилизацинного шаттла + .desc = Компьютерная печатная плата для консоли утилизацинного шаттла. +ent-ComputerMassMediaCircuitboard = консольная плата СМИ + .desc = Напишите свое послание миру! +ent-StationMapCircuitboard = печатная плата карты станции + .desc = Электронная плата, используемая в картах станций. +ent-MachineParticleAcceleratorEmitterStarboardCircuitboard = печатная плата левого эмиттера УЧ + .desc = Машинная плата для левого излучателя ускорителя частиц +ent-MachineParticleAcceleratorEmitterForeCircuitboard = печатная плата центрального эмиттера УЧ + .desc = Машинная плата для центрального излучателя ускорителя частиц. +ent-MachineParticleAcceleratorEmitterPortCircuitboard = печатная плата правого эмиттера УЧ + .desc = Машинная плата для правого излучателя ускорителя частиц. +ent-AmmoTechFabCircuitboard = печатная плата техфаба патронов + .desc = Машинная печатная плата для техфаба патронов. +ent-ResearchAndDevelopmentServerMachineCircuitboard = машинная плата для РнД сервера + .desc = Машинная печатная плата для научно-исследовательского сервера. +ent-CellRechargerCircuitboard = машинная плата для зарядника батарей + .desc = Машинная печатная плата для зарядного устройства. +ent-WeaponCapacitorRechargerCircuitboard = машинная плата зарядника оружия + .desc = Машинная печатная плата для зарядного устройства. +ent-MaterialReclaimerMachineCircuitboard = машинная плата для утилизаторского обработчика + .desc = "" +ent-SheetifierMachineCircuitboard = машинная плата лист-мейстера 2000 + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-2.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-2.ftl new file mode 100644 index 0000000000..12f7b81b61 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-2.ftl @@ -0,0 +1,36 @@ +ent-ClothingHeadBandGold = золотая бандана + .desc = Золотая бандана, чтобы выглядеть круто. +ent-ClothingHeadBandGreen = зеленая бандана + .desc = Зеленая бандана, чтобы выглядеть круто. +ent-ClothingHeadBandGrey = серая бандана + .desc = Серая бандана, чтобы выглядеть круто. +ent-ClothingHeadBandRed = красная бандана + .desc = Красная бандана, чтобы выглядеть круто. +ent-ClothingHeadBandMerc = бандана наемника + .desc = Для защиты головы от солнца, насекомых и других опасностей высшего пути. +ent-ClothingHeadBandBrown = коричневая бандана + .desc = Коричневая бандана, чтобы выглядеть круто. +ent-ClothingHeadBaseButcherable = голова + .desc = { ent-ClothingHeadBase.desc } +ent-ClothingHeadHelmetEVALarge = шлема ЕВА + .desc = Старый, но золотой шлем, предназначенный для выхода в открытый космос. +ent-ClothingHeadHelmetAncient = Пустотный шлем NTSRA + .desc = Древний космический шлем, разработанный отделением CentCom NTSRA. +ent-ClothingHeadHatHardhatYellowDark = темно-желтая каска + .desc = Каска, окрашенная в темно-желтый цвет, используется в опасных условиях труда для защиты головы. Поставляется со встроенным фонариком. +ent-ClothingHeadHatHardhatArmored = бронированная каска + .desc = Бронированная каска. Обеспечивает лучшее из обоих миров как в защите, так и в полезности - идеально подходит для инженера на передовой. +ent-ClothingHeadHelmetHardsuitPirateEVA = шлем ЕВА для открытого космоса + .desc = шлем ЕВА для открытого космоса, очень тяжелый, но обеспечивает хорошую защиту. +ent-ClothingHeadHelmetHardsuitPirateCap = каска капитана пиратов + .desc = Специальный шлем для жесткого костюма, сделанный для капитана пиратского корабля. +ent-ClothingHeadHelmetHardsuitClown = шлем для скафандра клоуна + .desc = Шлем для костюма клоуна. +ent-ClothingHeadHatCasa = Шляпа + .desc = Шляпа конусообразной формы +ent-ClothingHeadHatBeretRND = берет учёного + .desc = Берет для настоящих ученых. +ent-ClothingHeadHatBeretBrigmedic = медицинский берет + .desc = Белый берет выглядит как кремовый пирог на голове. +ent-ClothingHeadHatBeretMerc = берет наемника + .desc = Оливковый берет, на значке изображен шакал на скале. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-20.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-20.ftl new file mode 100644 index 0000000000..620c0d084e --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-20.ftl @@ -0,0 +1,38 @@ +ent-FatExtractorMachineCircuitboard = машинная плата для извлечения липидов + .desc = "" +ent-CargoTelepadMachineCircuitboard = машинная плата грузового телепада + .desc = Машинная печатная плата для грузового телепада. +ent-SalvageMagnetMachineCircuitboard = машинная плата для утилизационных магнитов + .desc = Машинная печатная плата для аварийного магнита. +ent-HonkerCentralElectronics = центральный модуль управления Х.О.Н.К. + .desc = Электрический центр управления мехом Х.О.Н.К. +ent-HonkerPeripheralsElectronics = модуль управления периферийными устройствами Х.О.Н.К. + .desc = Управление электрическими периферийными устройствами для робота Х.О.Н.К. +ent-HonkerTargetingElectronics = модуль управления оружием и наведения Х.О.Н.К. + .desc = Электрическое управление прицеливанием для робота Х.О.Н.К. +ent-HamtrCentralElectronics = центральный модуль управления ХОМЯК + .desc = Электрический центр управления мехом ХОМЯК. +ent-HamtrPeripheralsElectronics = модуль управления периферийными устройствами ХОМЯК + .desc = Управление электрическими периферийными устройствами для меха ХОМЯК. +ent-ReinforcementRadioSyndicate = радио подкрепления синдиката + .desc = Немедленно вызовите агента синдиката сомнительного качества! Предоставляется только базовое оборудование. +ent-ReinforcementRadioSyndicateMonkey = радио подкрепления обезьяны синдиката + .desc = Вызывает специально обученную обезьяну, чтобы помочь вам. +ent-CluwneHorn = сломанный велосипедный гудок + .desc = Сломанный гудок с велосипеда. +ent-GoldenBikeHorn = золотой гудок + .desc = Счастливый приз, молитесь богам о вашей награде. +ent-BaseFigurine = статуэтка + .desc = Маленькая миниатюра. +ent-ToyFigurineHeadOfPersonnel = фигурка главы персонала + .desc = Статуэтка, изображающая славного главу всего персонала, как обычно, вдали от своего кабинета. +ent-ToyFigurinePassenger = фигурка ассистента + .desc = Статуэтка, изображающая повседневного, заурядного ассистента. Здесь нет смешного дела. +ent-ToyFigurineGreytider = фигурка грейтайдера + .desc = Статуэтка, изображающая сомнительного вида ассистента. Грейтайд по всему миру! +ent-ToyFigurineClown = фигурка клоуна + .desc = Статуэтка с изображением клоуна. Вы содрогаетесь при мысли о том, что люди, вероятно, делали с этой статуэткой раньше. +ent-ToyFigurineMime = фигурка мима + .desc = Статуэтка, изображающая того молчаливого ублюдка, с которым вы слишком хорошо знакомы. +ent-ToyFigurineMusician = фигурка музыканта + .desc = Статуэтка, изображающая музыканта, его музыка была наэлектризованной. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-21.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-21.ftl new file mode 100644 index 0000000000..b3a980910a --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-21.ftl @@ -0,0 +1,40 @@ +ent-ToyFigurineBoxer = фигурка боксёра + .desc = Статуэтка, изображающая боксера в красных перчатках. +ent-ToyFigurineCaptain = фигурка капитана + .desc = Статуэтка, изображающая стандартную экипировку капитана, принадлежащего гражданскому судну Nanotrasen. +ent-ToyFigurineHeadOfSecurity = фигурка главый службы безопасности + .desc = Статуэтка, изображающая славного начальника отдела безопасности. +ent-ToyFigurineWarden = фигурка надзирателя + .desc = Статуэтка, изображающая надзирателя, готового в любой момент посадить кого-нибудь в тюрьму. +ent-ToyFigurineDetective = фигурка детектива + .desc = Статуэтка, изображающая детектива в культовом плаще. +ent-ToyFigurineSecurity = фигурка офицера + .desc = Статуэтка, изображающая офицера службы безопасности, держащего в руках оглушитель, готового защищать станцию. +ent-ToyFigurineLawyer = фигурка юриста + .desc = Статуэтка с изображением адвоката в свежесшитом костюме. +ent-ToyFigurineCargoTech = фигурка грузчика + .desc = Статуэтка с изображением рептилии-грузчика. +ent-ToyFigurineSalvage = фигурка утилизатора + .desc = Статуэтка, изображающая утилизатора, держащего нож для выживания. +ent-ToyFigurineQuartermaster = фигурка завхоза + .desc = Статуэтка, изображающая славного начальника грузового отдела. +ent-ToyFigurineChiefEngineer = фигурка старшего инженера + .desc = Статуэтка с изображением славного начальника инженерного отдела. +ent-ToyFigurineEngineer = фигурка инженера + .desc = Статуэтка, изображающая станционного инженера, держащего наготове лом. +ent-ToyFigurineAtmosTech = фигурка атмосферника + .desc = Статуэтка, изображающая атмосферника, держащего неосвещенный сварочный аппарат. +ent-ToyFigurineResearchDirector = фигурка научного директора + .desc = Статуэтка с изображением славного начальника отдела науки. +ent-ToyFigurineScientist = фигурка ученого + .desc = Статуэтка, изображающая ученого в халате. +ent-ToyFigurineChiefMedicalOfficer = фигурка старшего медицинского офицера + .desc = Статуэтка с изображением славного заведующего лечебным отделением. +ent-ToyFigurineChemist = фигурка химика + .desc = Статуэтка, изображающая химика, вероятно, планирующего производить метамфетамин. +ent-ToyFigurineParamedic = фигурка парамедика + .desc = Статуэтка, изображающая фельдшера в костюме пустоты. +ent-ToyFigurineMedicalDoctor = фигурка доктора + .desc = Статуэтка с изображением врача в халате и шприце. +ent-ToyFigurineLibrarian = фигурка библиотекоря + .desc = Статуэтка с изображением единственного и неповторимого библиотекаря. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-22.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-22.ftl new file mode 100644 index 0000000000..7cb6eda82b --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-22.ftl @@ -0,0 +1,40 @@ +ent-ToyFigurineChaplain = фигурка священника + .desc = Статуэтка, изображающая капеллана, который, надеюсь, молится о хороших вещах. +ent-ToyFigurineChef = фигурка повара + .desc = Статуэтка с изображением шеф-повара, мастера кулинарного искусства... Большую часть времени. +ent-ToyFigurineBartender = фигурка бармена + .desc = Статуэтка, изображающая бармена, стильно выглядящего в своих роковых оттенках и цилиндре. +ent-ToyFigurineBotanist = фигурка ботаника + .desc = Статуэтка с изображением ботаника, которая точно не позволит кудзу выйти из-под контроля. +ent-ToyFigurineJanitor = фигурка уборщика + .desc = Статуэтка, изображающая дворника с галошами. +ent-ToyFigurineNukie = фигурка синдикатовца + .desc = Статуэтка, изображающая кого-то в кроваво-красном жестком костюме, похожем на то, что может носить кто-то из ядерной оперативной команды. +ent-ToyFigurineNukieElite = фигурка элитного синдикатовца + .desc = Статуэтка, изображающая кого-то в элитном кроваво-красном жестком костюме, похожем на то, что может носить медик ядерной оперативной команды. +ent-ToyFigurineNukieCommander = фигурка командира синдиката + .desc = Статуэтка, изображающая кого-то в усиленном кроваво-красном жестком костюме, похожем на то, что может носить командир ядерной оперативной группы. +ent-ToyFigurineFootsoldier = фигурка солдата синдиката + .desc = Статуэтка, изображающая экипировку пехотинца синдиката. +ent-ToyFigurineWizard = фигурка волшебника + .desc = Статуэтка, изображающая человека с длинной шелковистой бородой в костюме волшебника. Колдуны хотели бы, чтобы у них было что-нибудь по этому поводу. +ent-ToyFigurineWizardFake = фигурка фальшивого волшебника + .desc = Статуэтка, изображающая кого-то в костюме фальшивого волшебника. Какой грабеж! +ent-ToyFigurineSpaceDragon = фигурка космо-дракона + .desc = Большая статуэтка, изображающая космического дракона, его красные глаза смотрят на свою добычу. +ent-ToyFigurineQueen = фигурка ксено королевы + .desc = Большая статуэтка, изображающая королеву ксено, готовую к атаке. +ent-ToyFigurineRatKing = фигурка крысиного короля + .desc = Большая статуэтка, изображающая крысиного короля, приготовленного для свидания своего гнезда. +ent-ToyFigurineRatServant = фигурка крысиного прислужника + .desc = Статуэтка, изображающая крысу, служащую царю крыс! +ent-ToyFigurineMouse = фигурка мыши + .desc = Статуэтка, изображающая мышь, убегающую к ближайшему кусочку еды. +ent-ToyFigurineSlime = фигурка слайма + .desc = Статуэтка, изображающая полупрозрачного синего слайма. +ent-ToyFigurineHamlet = фигурка Гамлета + .desc = Статуэтка с изображением Гамлета, микроволновая печь в комплект не входит. +ent-MysteryFigureBoxTrash = разложенная картонная коробка + .desc = Маленькая картонная коробка для игрушек в разложенном виде. +ent-MysteryFigureBox = коробка с минифигурками таинственных космонавтов + .desc = Коробка с загадочной минифигуркой. На боковой стороне коробки изображено несколько затемненных редких фигур, в том числе одна с большим негуманоидным силуэтом. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-23.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-23.ftl new file mode 100644 index 0000000000..f0e65945f7 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-23.ftl @@ -0,0 +1,36 @@ +ent-BaseFigurineMech = фигурка + .desc = Маленькая миниатюра. +ent-MrChips = Мистер Чипс + .desc = Это пустышка, пустышка! +ent-MrDips = Мистер Дипс + .desc = { ent-MrChips.desc } +ent-PlushieGhost = призрачная мягкая игрушка + .desc = Старт вашей персональной. ПРИЗРАЧНАЯ БАНДА! +ent-PlushieGhostRevenant = мягкая игрушка ревенанта + .desc = Настолько мягкий, что хочется вздремнуть... +ent-PlushieHampter = плюшевый хомяк + .desc = Милая мягкая игрушка, похожая на хомяка. Его лицо выглядит сморщенным. +ent-PlushieXeno = плюшевый ксено + .desc = Очаровательная мягкая игрушка, похожая на страшного ксеноморфа. тебе повезло, что это просто игрушка. +ent-BaseFigurineCheapo = статуэтка + .desc = Маленькая миниатюра. +ent-BeachBall = пляжный мяч + .desc = Простой пляжный мяч — один из самых популярных продуктов Nanotrasen. 'Почему мы делаем пляжные мячи? Потому что мы можем! (ТМ)' - Нанотрасэн +ent-FoamCutlass = пенопластовый абордажный крюк + .desc = Косплей в роли пирата и заставь своих друзей ходить по доске. +ent-ToyHammer = резиновый молоток + .desc = Яркий молоток из резины. +ent-WhoopieCushion = пуховая подушка + .desc = Устройство розыгрыша, связанное с метеоризмом. +ent-PlasticBanana = банан + .desc = Пластиковый банан. +ent-CrazyGlue = сумасшедший клей + .desc = Бутылка сумасшедшего клея производства Хонк! Ко. +ent-BaseBoardEntity = доска + .desc = Пустая доска. +ent-BaseBoardTabletop = плинтус + .desc = "" +ent-BaseBattlemap = боевая карта + .desc = Боевая карта для вашего эпического исследования подземелья, части не включены! +ent-GrassBattlemap = травяная боевая карта + .desc = Боевая карта для вашего эпического исследования подземелья, части не включены! diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-24.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-24.ftl new file mode 100644 index 0000000000..cfe230200c --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-24.ftl @@ -0,0 +1,38 @@ +ent-MoonBattlemap = лунная боевая карта + .desc = Боевая карта для вашего эпического исследования Луны, части не включены! +ent-SandBattlemap = песчаная боевая карта + .desc = Карта сражений для ваших эпических пляжных эпизодов, части не включены! +ent-SnowBattlemap = снежная боевая карта + .desc = Боевая карта для начала ваших холодных исследований, части не включены! +ent-ShipBattlemap = боевая карта корабля + .desc = Боевая карта для вашего эпического исследования космоса, части не включены! +ent-GrassBoardTabletop = травяная боевая карта + .desc = "" +ent-MoonBoardTabletop = лунная боевая карта + .desc = "" +ent-SandBoardTabletop = песчаная боевая карта + .desc = "" +ent-SnowBoardTabletop = снежная боевая карта + .desc = "" +ent-ShipBoardTabletop = боевая карта корабля + .desc = "" +ent-MaterialCardboard = картон + .desc = "" +ent-MaterialCardboard1 = { ent-MaterialCardboard } + .desc = { ent-MaterialCardboard.desc } +ent-MaterialSheetMeat = мясной лист + .desc = "" +ent-MaterialSheetMeat1 = { ent-MaterialSheetMeat } + .desc = "" +ent-BookNarsieLegend = Легенда о Нар'си + .desc = Книга представляет собой старый том в кожаном переплете с замысловатой гравировкой на обложке. Страницы пожелтевшие и хрупкие от времени, чернила текста местами выцвели. Похоже, его хорошо читали и любили, с потрепанными страницами и нацарапанными на полях полями. Несмотря на состарившийся вид, книга по-прежнему источает ощущение мистической силы и чуда, намекая на тайны и знания, содержащиеся на ее страницах. +ent-BookTruth = Изучение различных философских взглядов на правду и сложность лжи + .desc = Книга, исследующая различные философские точки зрения на правду и ложь, имеет потертую обложку со складками и отметинами, указывающими на частое использование и вдумчивое размышление. Корешок имеет признаки износа от того, что его снова и снова достают с полки. Сами страницы заполнены подчеркиваниями, примечаниями на полях и выделенными отрывками, поскольку читатели борются с нюансами и сложностями темы. +ent-BookWorld = Формирование состояния мира - взаимодействие сил и выбор + .desc = Книга представляет собой хорошо сохранившийся твердый переплет с простым, элегантным рисунком на обложке, изображающим образ мира в движении. Страницы четкие и чистые, без признаков износа, что говорит о том, что предыдущий владелец хорошо заботился о них и ценил их. Текст напечатан четким разборчивым шрифтом, а главы организованы логично и легко для понимания, что делает его доступным для читателей любого уровня подготовки. +ent-BookIanAntarctica = Приключения Роберта и Иана - исследование антарктиды + .desc = Книга представляет собой небольшую книгу в мягкой обложке в хорошем состоянии, с изображением корги Яна и колонии пингвинов на обложке. Название «Антарктическое приключение Яна и Роберта» написано жирными белыми буквами на синем фоне. На задней обложке представлено краткое изложение истории, в котором освещаются темы смирения, стойкости и красоты природы. +ent-BookSlothClownSSS = Ленивец и клоун - махинации с космической станцией + .desc = Книга выглядит новой, на глянцевой обложке изображены клоун Чаклз и ленивец Снагглс, плавающие в космосе на фоне звезд и планет. Чаклз одет в костюм банана, а Снагглз спит в гамаке, сделанном из космических канатов. Название «Ленивец и клоун — махинации с космической станцией» написано жирным и красочным шрифтом. +ent-BookSlothClownPranks = Ленивец и клоун - розыгрыши на зоргах + .desc = Книга в отличном состоянии, четкие страницы, яркая обложка. На обложке книги изображены Чаклз и Снагглс в окружении разных видов, с которыми они столкнулись во время своих космических приключений. На заднем плане видны Зорги, выглядывающие из-за космического корабля. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-25.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-25.ftl new file mode 100644 index 0000000000..397c8d8578 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-25.ftl @@ -0,0 +1,40 @@ +ent-BookSlothClownMMD = Ленивец и клоун - лабиринт-опасность + .desc = Книга выглядит новой и яркой, с изображением Чаклза и Снагглза, стоящих перед меняющимся лабиринтом на обложке. Название «Ленивец и клоун — лабиринт, опасность лабиринта» написано жирными красочными буквами, выделяющимися на фоне космоса и звезд. +ent-BookStruck = Унизительный и преобразующий опыт удара молнии + .desc = Обложка книги представляет собой наэлектризованное изображение молнии, ударяющей в землю, с силуэтом человека, стоящего посреди нее. Название написано жирным шрифтом белого цвета на черном фоне и передает силу и интенсивность опыта. Подзаголовок написан более мелкими буквами под заголовком, намекая на философские и духовные темы, которые исследуются внутри. +ent-BookSun = Стремление к солнцу - стремление растения к жизни + .desc = Книга новая, в яркой и яркой обложке с изображением растения, протягивающего листья к солнцу. Название «Достижение солнца — поиск жизни растением» написано жирными зелеными буквами с изображением восходящего солнца за растением. Обложка вызывает ощущение роста, энергии и красоты природы. +ent-BookPossum = Падшие амбиции - трагическая история опоссума Морти + .desc = Книга в хорошем состоянии, в твердом переплете, на темно-зеленом фоне леса. В центре обложки изображен грустный опоссум, сидящий на ветке с отстраненным и одиноким выражением лица. Название «Падшие амбиции — Трагическая история опоссуме Морти» написано жирным шрифтом золотыми буквами над опоссумом. +ent-BookCafe = Кафе Опоссум + .desc = Книга находится в новом состоянии, с яркой и причудливой обложкой, на которой есть очаровательная иллюстрация крошечного опоссума, выглядывающего из-за кофейной чашки, на фоне яркой и шумной сцены в кафе. Название «The Cafe Possum» написано жирным игривым шрифтом, а имя автора напечатано под ним более мелким шрифтом. +ent-BookFeather = Волшебное перо - путешествие странствующей птицы к своим + .desc = Книга будет в новом состоянии, с глянцевой обложкой, изображающей блуждающую птицу, окруженную светящимся лесом, с волшебным пером в центре. Название «Волшебное перо» будет написано жирным блестящим шрифтом, а подзаголовок «Путешествие странствующей птицы к принадлежности» будет написан мелким шрифтом внизу. На задней обложке будет краткое изложение истории, а также отзывы критиков, восхваляющих темы надежды и обновления книги. +ent-BookIanLostWolfPup = Приключения Иана и Рено - найти пропавшего волчонка + .desc = Книга в новом состоянии с красочной обложкой, на которой изображены корги Ян и лиса Рено, путешествующие по лесу, с потерянным волчонком на ногах. Название «Приключения Яна и Рено. В поисках пропавшего волчонка» заметно вверху, а имя автора внизу. Обложка имеет причудливый и авантюрный оттенок, привлекая читателей всех возрастов. +ent-BookIanRanch = Приключения Иага и Рено - экспедиция на ранчо + .desc = Книга выглядит новой, с четкими страницами и безупречной обложкой. На обложке красочно изображены Иэн и Рено в окружении различных животных, с которыми они столкнулись на ранчо, включая лошадей, коров и кур. Название «Приключения Яна и Рено — Экспедиция на ранчо» написано жирным шрифтом над изображением, а подзаголовок «Помощь нуждающимся животным» — под ним. +ent-BookIanOcean = Приключения Иана и Рено - морское приключение + .desc = Книга новая, в отличном состоянии. На обложке изображены Йен и Рено, бегающие и играющие на пляже, на фоне синего океана и золотого песка. Название написано жирными игривыми буквами, а подзаголовок гласит «Океанское приключение». +ent-BookIanMountain = Приключения Иана и Рено - горная экспедиция + .desc = Книга в новом состоянии. На обложке изображен потрясающий горный пейзаж с Яном и Рено на переднем плане, смотрящими на окружающие пики и долины. Название написано жирным шрифтом, печатными буквами вверху, а подзаголовок «Горная экспедиция» написан внизу. +ent-BookIanCity = Приключения Иана и Рено - прогулка по городу + .desc = Книга в новом состоянии, с четкими страницами и глянцевой обложкой. На обложке красочно изображены Йен и Рено, исследующие город, на фоне высоких зданий и шумных улиц. Ян идет впереди, возбужденно виляя хвостом, а Рено следует за ним, ее уши навострились, а глаза расширились от удивления. Название «Приключения Яна и Рено» написано жирным игривым шрифтом, а подзаголовок «Изучение города» написан ниже более мелким шрифтом. +ent-BookIanArctic = Приключения Иана и Рено - арктическое путешествие мужества и дружбы + .desc = Книга выглядит новой и авантюрной, с изображением Йена и Рено, стоящих перед ледяным пейзажем, а вокруг них падают снежинки. Название «Приключения Яна и Рено» написано жирным шрифтом вверху с подзаголовком «Арктическое путешествие мужества и дружбы». +ent-BookIanDesert = Приключения Иана и Рено - исследование таинственной пустыни + .desc = Книга находится в новом состоянии и будет иметь красочную обложку, изображающую Иэна и Рено на фоне пустыни. На обложке будут изображения различных животных и растений, с которыми они столкнулись в своем приключении, таких как гремучая змея, койоты, песчаные дюны и оазис. Название «Приключения Яна и Рено» выделено на обложке жирным шрифтом, а подзаголовок «Исследование таинственной пустыни» написан мелкими буквами внизу. +ent-BookNames = Сила имен - философское исследование + .desc = Книга представляет собой мягко использованный философский текст с обложкой, на которой изображен крупный план рта человека со словом «имена», написанным на его губах. Название — «Сила имен — философское исследование», а под ним видно имя автора. Общий дизайн прост и элегантен, с акцентом на текст, а не на яркую графику или изображения. +ent-BookEarth = Земная тоска + .desc = Книга в хорошем состоянии, обложка немного потерта от солнца. На обложке книги изображен панорамный вид Земли из космоса с ярко-голубым океаном и зелеными массивами суши. На переднем плане одинокий космонавт сидит перед окном и задумчиво смотрит на Землю. Название книги «Тоска земная» написано жирными белыми буквами на черном фоне в верхней части обложки. +ent-BookAurora = Путешествие за пределы - миссия звездолета аврора + .desc = Книга в отличном состоянии, с блестящей обложкой, на которой изображен космический корабль, парящий над планетой, возможно, на фоне Земли. Название «Journey Beyond — The Starship Aurora Mission» написано жирным серебряным шрифтом. На обложке также есть цитата из обзора «Захватывающий дух рассказ о человеческих достижениях и исследованиях», чтобы привлечь потенциальных читателей. +ent-BookTemple = Природа божественного - охватывающая множество богов + .desc = Книга выглядит новой, с четкими страницами и несминаемым корешком. На обложке изображен храм со светящейся разноцветной аурой вокруг него, символизирующий различных богов, обсуждаемых в книге. Название выделено золотыми буквами на видном месте, а имя автора и краткое изложение книги написано более мелким текстом ниже. +ent-BookWatched = Наблюдаемый + .desc = Книга в хорошем состоянии, со слегка потертой обложкой, на фоне которой вырисовывается темная и зловещая космическая станция. Заголовок «Смотрел» написан жирным шрифтом, и кажется, что он смотрит на читателя, создавая ощущение, что за ним постоянно наблюдают. Аннотация на задней обложке намекает на захватывающую и тревожную историю о паранойе и опасности в замкнутом пространстве. +ent-BookMedicalOfficer = Битва за горизонт - история врача о доверии и выживании + .desc = На обложке изображен Смит, медицинский офицер, в своей форме, выглядящий решительным и готовым столкнуться с любым вызовом. На заднем плане изображен SS Horizon под атакой, взрывы и дым заполняют космическую станцию. На переднем плане виден волшебник с посохом, добавляющий сцене элемент таинственности и интриги. Название выделено жирным шрифтом, а имя автора и слоган указывают на насыщенный событиями и тревожный характер книги. +ent-BookMorgue = Призрачные обитатели заброшенного морга + .desc = Книга выглядит старой и потертой, с выцветшими буквами на обложке. На обложке изображен темный и жуткий морг, полная луна бросает зловещий свет на сцену. На переднем плане опоссум Морти и енот Мортиша с озорными выражениями лиц, выглядывающие из-за металлической полки. Название написано жирным, жутким шрифтом, а подзаголовок «Повесть о духах животных» написан мелким шрифтом ниже. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-26.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-26.ftl new file mode 100644 index 0000000000..3806416227 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-26.ftl @@ -0,0 +1,40 @@ +ent-BookRufus = Руфус и озорная фея + .desc = Книга в новом состоянии, яркие цвета и иллюстрации на обложке. На обложке изображен Руфус на велосипеде, а Блоссом игриво летит рядом с ним. Название написано жирным причудливым шрифтом, имена персонажей выделены контрастным цветом. Общая эстетика очаровательна и привлекательна, привлекательна как для детей, так и для взрослых. +ent-BookMap = Карта приключений + .desc = Книга в хорошем состоянии, с глянцевой обложкой, изображающей сцены джунглей с яркими цветами и замысловатыми деталями. Название «Карта приключений» написано жирным золотым шрифтом. На обложке также изображен загадочный чемодан, из которого высыпается карта. +ent-BookJourney = Путешествие музыки, гор и самопознания + .desc = Книга в отличном состоянии, с четкими страницами и глянцевой обложкой. На обложке яркое изображение горного хребта с силуэтом альпиниста с гитарой на спине на переднем плане. Название смелое и привлекающее внимание, с подзаголовком «Путешествие музыки, гор и самопознания». +ent-BookInspiration = В поисках вдохновения - путешествие писателя по лесу + .desc = Книга в новом состоянии, с обложкой, изображающей безмятежный лесной пейзаж с водопадом и красочными полевыми цветами. Название книги «В поисках вдохновения: путешествие писателя по лесу» и имя автора на видном месте внизу. +ent-BedsheetBrigmedic = простыня бригмедика + .desc = Не хуже хлопка. +ent-BookSpaceEncyclopedia = Космическая энциклопедия + .desc = Энциклопедия, содержащая все знания. Автор этой энциклопедии неизвестен. +ent-BookTheBookOfControl = Книга контроля + .desc = Важно, чтобы стать крепким. +ent-BookBartendersManual = Руководство бармена + .desc = Это руководство запятнано пивом. +ent-BookChefGaming = Шеф-повар игрок + .desc = Книга о кулинарии, написанная поваром-геймером. +ent-BookLeafLoversSecret = Секрет любовника листьев + .desc = Имеет сильный запах травы. Это мотивирует вас кормить и сеять. +ent-BookEngineersHandbook = Справочник инженера + .desc = Справочник по инженерии, написанный Nanotrasen. +ent-BookScientistsGuidebook = Путеводитель ученого + .desc = Путеводитель по науке, написанный Nanotrasen. +ent-BookSecurity = Безопасность 101 + .desc = Книга о безопасности, написанная Nanotrasen. Книга залита кровью. Похоже, его использовали больше как оружие, чем как материал для чтения. +ent-BookHowToKeepStationClean = как содержать станцию в чистоте + .desc = Эта книга очень чистая. +ent-BookHowToRockAndStone = Как бить камни + .desc = Очень подробное руководство по утилизации, написанное Карлом, легендарным космическим шахтером, однако он отсутствует. Это мотивирует вас бить камни. +ent-BookMedicalReferenceBook = медицинский справочник + .desc = Справочник по медицине, написанный старым врачом. Почерк еле разборчив. +ent-BookHowToSurvive = Как выжить + .desc = По иронии судьбы автор этой книги умер. +ent-BookChemicalCompendium = Химпендиум + .desc = Подробное руководство по химическому синтезу, написанное каким-то старым скелетом профессора. +ent-BriefcaseSyndieBase = { ent-BriefcaseBrown } + .desc = Полезно для ношения предметов в руках. +ent-BriefcaseSyndie = { ent-BriefcaseBrown } + .desc = Удобный портфель. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-27.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-27.ftl new file mode 100644 index 0000000000..bd3e6ba351 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-27.ftl @@ -0,0 +1,36 @@ +ent-EggSpider = яичный паук + .desc = Это драгоценный камень? Это яйцо? это выглядит дорого. +ent-LampInterrogator = лампа следователя + .desc = Ультраяркая лампа для плохого полицейского +ent-CultistCuffs = самодельные стяжки + .desc = Самодельные наручники из запасных тросов. +ent-ParamedicIDCard = ID карта парамедика + .desc = { ent-IDCardStandard.desc } +ent-BrigmedicIDCard = ID карта бригмедика + .desc = { ent-IDCardStandard.desc } +ent-SeniorEngineerIDCard = ID карта опытного инженера + .desc = { ent-IDCardStandard.desc } +ent-SeniorResearcherIDCard = ID карта старшего начного сотрудника + .desc = { ent-IDCardStandard.desc } +ent-SeniorPhysicianIDCard = ID карта старшего врача + .desc = { ent-IDCardStandard.desc } +ent-SeniorOfficerIDCard = ID карта старшего офицера + .desc = { ent-IDCardStandard.desc } +ent-BikeHornImplanter = имплантат велосипедного гудка + .desc = "" +ent-UplinkImplanter = имплантат аплинка + .desc = "" +ent-EmpImplanter = ЭМИ-имплантат + .desc = "" +ent-DnaScramblerImplanter = имплантат скремблера ДНК + .desc = "" +ent-DeathRattleImplanter = имплантат предсмертных хрипов + .desc = "" +ent-ModularReceiver = модульный приемник + .desc = Жизненно важная часть, используемая в создании огнестрельного оружия. +ent-RifleStock = приклад + .desc = Прочный деревянный приклад, используемый при создании огнестрельного оружия. +ent-MedalCase = футляр для медали + .desc = Футляр с медалями. +ent-SyndicateSpongeBox = коробка куба обезьяны + .desc = Обезьяньи кубики марки Drymate. Просто добавь воды! diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-28.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-28.ftl new file mode 100644 index 0000000000..60c39f6356 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-28.ftl @@ -0,0 +1,38 @@ +ent-SyndicateSpongeWrapped = куб обезьяны + .desc = Разверните это, чтобы получить куб обезьяны. +ent-PaperCargoBountyManifest = манифест наград + .desc = Бумажная этикетка, обозначающая, что ящик содержит награду. Продажа ящика с этой этикеткой приведет к выполнению награды. +ent-PaperCNCSheet = лист персонажа + .desc = Лист для ваших персонажей Карпы и Крипты. +ent-PenCentcom = ручка ЦК + .desc = Пытаясь не отставать от «власти» бюрократии Cybersun, NT сделала копию киберручки в своем фирменном стиле. +ent-RubberStampBase = универсальный резиновый штамп + .desc = Резиновый штамп для штамповки важных документов. +ent-RubberStampBaseAlt = альтернативный резиновый штамп + .desc = { ent-RubberStampBase.desc } +ent-SpaceCash2500 = { ent-SpaceCash } + .desc = { ent-SpaceCash.desc } +ent-SpaceCash5000 = { ent-SpaceCash } + .desc = { ent-SpaceCash.desc } +ent-SpaceCash10000 = { ent-SpaceCash } + .desc = { ent-SpaceCash.desc } +ent-SpiderWeb = паутина + .desc = Она тягучая и липкая. +ent-SpiderWebClown = клоунская паутина + .desc = Она тягучая и липкая. +ent-BikeHornImplant = имплантат велосипедного гудка + .desc = Этот имплантат позволяет пользователю сигналить в любом месте в любое время. +ent-UplinkImplant = имплантат аплинка + .desc = Этот имплант позволяет пользователю по желанию получить доступ к скрытому восходящему каналу Синдиката. +ent-EmpImplant = ЭМИ-имплантат + .desc = Этот имплантат создает электромагнитный импульс при активации. +ent-DnaScramblerImplant = имплантат скремблера ДНК + .desc = Этот имплантат позволяет пользователю один раз случайным образом изменить свой внешний вид и имя. +ent-DeathRattleImplant = имплантат предсмертных хрипов + .desc = Этот имплантат сообщит по радиоканалу Синдиката, если пользователь попадет в критическое состояние или умрет. +ent-FloorTileItemFlesh = пол из плоти + .desc = { ent-FloorTileItemBase.desc } +ent-AmeJar = топливный бак ДАМ'а + .desc = Герметичный сосуд с антивеществом для использования в реакторе на антивеществе. +ent-AmePart = деталь ДАМ'а + .desc = Деталь, используемый для создания реактора двигателя на антивеществе. Используйте мультитул, чтобы распаковать его. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-29.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-29.ftl new file mode 100644 index 0000000000..bef1453f81 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-29.ftl @@ -0,0 +1,38 @@ +ent-EnergyShield = энергетический щит + .desc = Экзотический энергетический щит в сложенном виде может поместиться даже в кармане. +ent-BrokenEnergyShield = сломанный энергетический щит + .desc = Что-то внутри сгорело, оно больше не работает. +ent-Jug = кувшин + .desc = Используется для содержания очень большого количества химикатов или растворов. Пыхтение крайне опрометчиво. +ent-JugCarbon = кувшин (углерод) + .desc = { ent-Jug.desc } +ent-JugIodine = кувшин (йод) + .desc = { ent-Jug.desc } +ent-JugFluorine = кувшин (фтор) + .desc = { ent-Jug.desc } +ent-JugChlorine = кувшин (хлор) + .desc = { ent-Jug.desc } +ent-JugAluminium = кувшин (алюминий) + .desc = { ent-Jug.desc } +ent-JugPhosphorus = кувшин (фосфор) + .desc = { ent-Jug.desc } +ent-JugSulfur = кувшин (сера) + .desc = { ent-Jug.desc } +ent-JugSilicon = кувшин (силикон) + .desc = { ent-Jug.desc } +ent-JugHydrogen = кувшин (водород) + .desc = { ent-Jug.desc } +ent-JugLithium = кувшин (литий) + .desc = { ent-Jug.desc } +ent-JugSodium = кувшин (натрий) + .desc = { ent-Jug.desc } +ent-JugPotassium = кувшин (калий) + .desc = { ent-Jug.desc } +ent-JugRadium = кувшин (радий) + .desc = { ent-Jug.desc } +ent-JugIron = кувшин (железо) + .desc = { ent-Jug.desc } +ent-JugCopper = кувшин (медь) + .desc = { ent-Jug.desc } +ent-JugGold = кувшин (золото) + .desc = { ent-Jug.desc } diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-3.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-3.ftl new file mode 100644 index 0000000000..7357c36755 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-3.ftl @@ -0,0 +1,40 @@ +ent-ClothingHeadHatPirateTricord = пиратская шляпа + .desc = Йо-хо-хо и бутылка рома! +ent-ClothingHeadHatWatermelon = арбузный шлем + .desc = Небрежно разрезанная половинка арбуза, выпотрошенная изнутри, для ношения в качестве шлема. Он может смягчить удар по голове. +ent-ClothingHeadHatSyndie = шляпа синдиката + .desc = Сувенирная шляпа от "Syndieland", их производство уже закрыто. +ent-ClothingHeadHatSyndieMAA = шляпа мастера по оружию + .desc = Шляпа мастера по оружию, выглядит устрашающе, сомневаюсь, что вам понравится общаться с ее владельцем... +ent-ClothingHeadHatTacticalMaidHeadband = тактическая повязка горничной + .desc = Красная повязка на голове - не воображайте себя Рэмбо и не берите в руки несколько пулеметов. +ent-ClothingHeadHatHetmanHat = Шляпа гетмана + .desc = Из Запорожской Сечи с любовью. +ent-ClothingHeadHatMagician = цилиндр фокусника. + .desc = Цилиндр фокусника. +ent-ClothingHeadHatCapcap = фуражка капитана + .desc = Великолепная, стильная капитанская фуражка. +ent-ClothingHeadHelmetBasic = шлем + .desc = Стандартное защитное снаряжение. Защищает голову от ударов. +ent-ClothingHeadHelmetMerc = шлем наемника + .desc = Боевой шлем обычно используется наемниками, он прочный, легкий и пахнет порохом и джунглями. +ent-ClothingHeadHelmetSwat = шлем спецназа + .desc = Чрезвычайно прочный шлем, обычно используемый военизированными формированиями. На этом сверху красуется логотип Nanotrasen. +ent-ClothingHeadHelmetSwatSyndicate = шлем спецназа + .desc = Чрезвычайно прочный шлем, обычно используемый военизированными формированиями. Он украшен гнусным рисунком в красную и черную полоску. +ent-ClothingHeadHelmetERTLeader = шлем лидера ОБР + .desc = Шлем для работы в атмосфере, который носит руководитель группы экстренного реагирования Nanotrasen. Имеет синие блики. +ent-ClothingHeadHelmetERTSecurity = шлем охраны ОБР + .desc = Шлем для работы в атмосфере, который носят сотрудники службы безопасности группы экстренного реагирования Nanotrasen. Имеет красные блики. +ent-ClothingHeadHelmetERTMedic = шлем медика ОБР + .desc = Шлем для работы в атмосфере, который носят медики из группы экстренного реагирования Nanotrasen. Имеет белые блики. +ent-ClothingHeadHelmetERTEngineer = шлем инженера ОБР + .desc = Шлем для работы в атмосфере, который носят инженеры из группы экстренного реагирования Nanotrasen. Имеет оранжевые блики. +ent-ClothingHeadHelmetERTJanitor = шлем уборщика ОБР + .desc = Шлем для работы в атмосфере, который носят уборщики из группы экстренного реагирования Nanotrasen. Имеет темно-фиолетовые отблески. +ent-ClothingHeadHatHoodMoth = маска моли + .desc = Маска в виде головы мотылька обычно изготавливается из легких материалов. Он имитирует форму головы мотылька с большими глазами и длинными усиками. +ent-ClothingMaskBreathMedicalSecurity = медицинская маска военного стиля + .desc = Медицинская маска с небольшим слоем защиты от повреждений и вирусов, подобная той, что использовалась в медицинских подразделениях первой корпоративной войны. +ent-ClothingMaskClownBase = клоунский парик и маска + .desc = Лицевой наряд настоящего шутника. Клоун неполноценен без своего парика и маски. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-30.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-30.ftl new file mode 100644 index 0000000000..e3dac21515 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-30.ftl @@ -0,0 +1,40 @@ +ent-JugMercury = кувшин (ртуть) + .desc = { ent-Jug.desc } +ent-JugSilver = кувшин (серебро) + .desc = { ent-Jug.desc } +ent-JugEthanol = кувшин (этанол) + .desc = { ent-Jug.desc } +ent-JugSugar = jug (sugar) + .desc = { ent-Jug.desc } +ent-JugNitrogen = кувшин (азот) + .desc = { ent-Jug.desc } +ent-JugOxygen = кувшин (кислород) + .desc = { ent-Jug.desc } +ent-CognizineChemistryBottle = бутылка когнизина + .desc = { ent-BaseChemistryEmptyBottle.desc } +ent-ToxinChemistryBottle = бутылка с токсином + .desc = { ent-BaseChemistryEmptyBottle.desc } +ent-BaseBeakerMetallic = "" + .desc = "" +ent-CryoxadoneBeakerSmall = стакан криоксадона + .desc = Заполнен реагентом, используемым в криогенных пробирках. +ent-SyringeBluespace = блюспейс шприц + .desc = Внедрение передовой технологии bluespace. +ent-SyndicateSponge = куб обезьяны + .desc = Просто добавь воды! +ent-WatermelonSeeds = пакет арбузных семечек + .desc = { ent-SeedBase.desc } +ent-GrapeSeeds = пакет виноградных косточек + .desc = { ent-SeedBase.desc } +ent-MopBucketFull = Ведро для мытья пола + .desc = { ent-MopBucket.desc } +ent-WetFloorSignMineExplosive = табличка 'Мокрый пол' + .desc = Осторожность! Мокрый пол! +ent-Plunger = вантуз + .desc = Вантуз с красной пластиковой присоской и деревянной ручкой. Используется для прочистки стоков. +ent-MegaSprayBottle = мега распылитель + .desc = Огромный распылитель, способный на непревзойденную уборочную мощь. +ent-BigVapor = "" + .desc = "" +ent-MechEquipmentGrabberSmall = небольшой гидравлический зажим + .desc = Дает меху возможность хватать предметы и перетаскивать их. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-31.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-31.ftl new file mode 100644 index 0000000000..670d3187f5 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-31.ftl @@ -0,0 +1,40 @@ +ent-MechEquipmentHorn = механический гудок + .desc = Усовершенствованный велосипедный гудок, воспроизводящий множество веселых звуков для удовольствия экипажа. ХОНК! +ent-MechHonker = Х.О.Н.К. + .desc = Этот экзокостюм производства "Тирания Хонка, КОРП" спроектирован как тяжелая клоунская поддержка. Используется для распространения веселья и радости жизни. ХОНК! +ent-MechHonkerBattery = "" + .desc = "" +ent-MechHamtr = ХОМЯК + .desc = Экспериментальный мех, который использует интерфейс мозг-компьютер для прямого подключения к мозгу хомяка. +ent-MechHamtrBattery = "" + .desc = "" +ent-BaseRipleyPart = "" + .desc = "" +ent-BaseRipleyPartItem = "" + .desc = "" +ent-BaseHonkerPart = "" + .desc = "" +ent-BaseHonkerPartItem = "" + .desc = "" +ent-HonkerHarness = ядро Х.О.Н.К. + .desc = Ядро H.O.N.K. мех +ent-HonkerLArm = левая рука Х.О.Н.К. + .desc = Левая рука Х.О.Н.К. с уникальными гнездами для необычного оружия, разработанного учеными-клоунами. +ent-HonkerLLeg = левая нога Х.О.Н.К. + .desc = Левая нога Х.О.Н.К. Стопа кажется достаточно большой, чтобы полностью вместить клоунский башмак. +ent-HonkerRLeg = правая нога Х.О.Н.К. + .desc = Правая нога Х.О.Н.К. Стопа кажется достаточно большой, чтобы полностью вместить клоунский башмак. +ent-HonkerRArm = правая рука Х.О.Н.К. + .desc = Правая рука Х.О.Н.К. с уникальными гнездами для необычного оружия, разработанного учеными-клоунами. +ent-HonkerChassis = рама Х.О.Н.К. + .desc = Незавершенное строительство Х.О.Н.К. меха. Содержит блок смеха, банановое ядро и системы поддержки гудков. +ent-BaseHamtrPart = "" + .desc = "" +ent-BaseHamtrPartItem = "" + .desc = "" +ent-HamtrHarness = ядро ХОМЯК + .desc = Ядро ХОМЯК. +ent-HamtrLArm = левая рука ХОМЯК + .desc = Левая рука ХОМЯК. Она крепится на раму меха. +ent-HamtrLLeg = левая нога ХОМЯК + .desc = Левая нога ХОМЯК. Она крепится на раму меха. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-32.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-32.ftl new file mode 100644 index 0000000000..f4d41d65c9 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-32.ftl @@ -0,0 +1,40 @@ +ent-HamtrRLeg = правая нога ХОМЯК + .desc = Правая нога ХОМЯК. Она крепится на раму меха. +ent-HamtrRArm = правая рука ХОМЯК + .desc = Правая рука ХОМЯК. Она крепится на раму меха. +ent-HamtrChassis = рама ХОМЯК + .desc = Незавершенное строительство меха ХОМЯК. +ent-Defibrillator = дефибриллятор + .desc = РАЗРЯД! Зззат! +ent-DefibrillatorEmpty = { ent-Defibrillator } + .desc = { ent-Defibrillator.desc } +ent-HandheldCrewMonitorEmpty = { ent-HandheldCrewMonitor } + .desc = { ent-HandheldCrewMonitor.desc } +ent-Ointment1 = { ent-Ointment } + .desc = { ent-Ointment.desc } +ent-RegenerativeMesh = регенеративная сетка + .desc = Используется для лечения даже самых неприятных ожогов. Также эффективен против щелочных ожогов. +ent-OintmentAdvanced1 = продвинутая мазь + .desc = { ent-Ointment.desc } +ent-Brutepack1 = { ent-Brutepack } + .desc = { ent-Brutepack.desc } +ent-MedicatedSuture = медикаментозный шов + .desc = Нить, пропитанная лекарством, эффективно лечит удары тупым предметом и закрывает раны. +ent-BrutepackAdvanced1 = продвинутый набор для ушибов + .desc = { ent-Brutepack.desc } +ent-Bloodpack = пакет с кровью + .desc = Содержит инновационный универсальный заменитель крови, созданный передовой медицинской наукой Nanotrasen. +ent-PillDermaline = дермалиновая таблетка (10ед.) + .desc = { ent-Pill.desc } +ent-PillBicaridine = таблетка бикаридина (10ед.) + .desc = { ent-Pill.desc } +ent-PillAmbuzol = таблетка амбузола + .desc = { ent-Pill.desc } +ent-PillAmbuzolPlus = таблетка амбузола плюс + .desc = { ent-Pill.desc } +ent-SyringeBicaridine = шприц с бикаридином + .desc = { ent-BaseSyringe.desc } +ent-SyringeDermaline = шприц с дермалином + .desc = { ent-BaseSyringe.desc } +ent-SyringeHyronalin = шприц с хироналином + .desc = { ent-BaseSyringe.desc } diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-33.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-33.ftl new file mode 100644 index 0000000000..42f754d4a9 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-33.ftl @@ -0,0 +1,38 @@ +ent-SyringeAmbuzol = шприц с амбизолом + .desc = { ent-BaseSyringe.desc } +ent-SyringeRomerol = шприц с ромеролом + .desc = { ent-BaseSyringe.desc } +ent-CombatMedipen = боевой медипен + .desc = Одноразовый медипен, содержащий химические вещества, которые регенерируют большинство повреждений. +ent-HypopenBox = коробка гипоручек + .desc = Небольшая коробка с гипоручками. Упаковка распадается при открытии, не оставляя следов. +ent-Ectoplasm = эктоплазма + .desc = В таком виде гораздо менее смертоносен. +ent-StrangePill = странная таблетка + .desc = На этой необычной таблетке нет маркировки. Неизвестно, что в нем содержится. +ent-AnomalyLocator = локатор аномалий + .desc = Устройство, предназначенное для помощи в обнаружении аномалий. Вы проверяли шахтеров? +ent-AnomalyLocatorEmpty = { ent-AnomalyLocator } + .desc = { ent-AnomalyLocator.desc } +ent-TechnologyDiskRare = { ent-TechnologyDisk } + .desc = { ent-TechnologyDisk.desc } +ent-VendingMachineRestockChemVend = коробка пополнения ХимВенд + .desc = Коробка, наполненная химикатами и покрытая опасными на вид бриллиантами NFPA. Загрузите его в ХимВенд, чтобы начать. +ent-VariedXenoArtifactItem = { ent-BaseXenoArtifactItem } + .desc = { ent-BaseXenoArtifactItem.desc } +ent-ArtifactFragment = фрагмент артефакта + .desc = Обломок артефакта. Возможно, вы могли бы починить его, если бы у вас было больше. +ent-CableHVStack10 = { ent-CableHVStack } + .desc = { ent-CableHVStack.desc } +ent-CableMVStack10 = { ent-CableMVStack } + .desc = { ent-CableMVStack.desc } +ent-CableApcStack10 = { ent-CableApcStack } + .desc = { ent-CableApcStack.desc } +ent-EmagUnlimited = криптографический секвенсор + .desc = Универсальное решение для взлома. Отмычка думающего человека. Легендарный ЕМАГ. +ent-EmptyFlashlightLantern = { ent-FlashlightLantern } + .desc = { ent-FlashlightLantern.desc } +ent-RadioJammer = глушитель радио + .desc = Это устройство будет прерывать любую близлежащую исходящую радиосвязь при активации. +ent-LightReplacerEmpty = { ent-LightReplacer } + .desc = { ent-LightReplacer.desc } diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-34.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-34.ftl new file mode 100644 index 0000000000..15e87839fb --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-34.ftl @@ -0,0 +1,40 @@ +ent-ToolboxElectricalTurret = ящик для инструментов электрика + .desc = Ящик для инструментов, обычно снабженный электрическим оборудованием. +ent-NetworkConfigurator = сетевой конфигуратор + .desc = Инструмент для соединения устройств вместе. Имеет два режима: режим списка для массового связывания устройств и режим связывания для расширенного связывания устройств. +ent-RCDExperimental = экспериментальное РЦД + .desc = РЦД с улучшенной блюспейс технологией, пассивно восстанавливающий заряды. +ent-VehicleUnicycle = одноколесный велосипед + .desc = У него только одно колесо! +ent-VehicleUnicycleFolded = { ent-VehicleUnicycle } + .desc = { ent-VehicleUnicycle.desc } +ent-Truncheon = дубинка + .desc = Жесткая дубинка со стальными шипами, предназначенная для нанесения вреда. +ent-HotPotato = горячая картошка + .desc = После активации вы не сможете сбросить эту бомбу замедленного действия — ударьте ею кого-нибудь еще, чтобы спасти себя! Не обожгите руки! +ent-HotPotatoEffect = "" + .desc = "" +ent-PenExploding = ручка + .desc = Ручка с темными чернилами. +ent-PenExplodingBox = коробка взрывных ручек + .desc = Небольшая коробка со взрывающейся ручкой. Упаковка распадается при открытии, не оставляя следов. +ent-WeaponImprovisedPneumaticCannonGun = { ent-WeaponImprovisedPneumaticCannon } + .desc = { ent-WeaponImprovisedPneumaticCannon.desc } +ent-WeaponImprovisedPneumaticCannonAdmeme = { ent-WeaponImprovisedPneumaticCannon } + .desc = { ent-WeaponImprovisedPneumaticCannon.desc } +ent-WeaponTurretSyndicateDisposable = одноразовая баллистическая турель + .desc = { ent-WeaponTurretSyndicateBroken.desc } +ent-CannonBall = пушечное ядро + .desc = { ent-BaseGrenade.desc } +ent-BaseMagazineBoxAntiMateriel = ящик для боеприпасов (.60 антиматериальный) + .desc = { ent-BaseMagazineBoxRifle.desc } +ent-MagazineBoxAntiMaterielBig = ящик для боеприпасов (.60 антиматериальный) + .desc = { ent-BaseMagazineBoxRifle.desc } +ent-MagazineBoxAntiMateriel = ящик для боеприпасов (.60 антиматериальный) + .desc = { ent-BaseMagazineBoxRifle.desc } +ent-MagazineBoxLightRifleIncendiary = ящик для боеприпасов (зажигательный .30 ружейный) + .desc = { ent-BaseMagazineBoxRifle.desc } +ent-MagazineBoxMagnumIncendiary = ящик для боеприпасов (зажигательный .45 магнум) + .desc = { ent-BaseMagazineBoxRifle.desc } +ent-MagazineBoxPistolIncendiary = ящик для патронов (зажигательный .35 авто) + .desc = { ent-BaseMagazineBoxRifle.desc } diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-35.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-35.ftl new file mode 100644 index 0000000000..b1932a2b32 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-35.ftl @@ -0,0 +1,40 @@ +ent-MagazineBoxRifleIncendiary = ящик для патронов (зажигательный .20 ружейный) + .desc = { ent-BaseMagazineBoxRifle.desc } +ent-CartridgeAntiMateriel = патрон (.60 антиматериальный) + .desc = no desc found +ent-CartridgeLightRifleIncendiary = патрон (зажигательный .30 ружейный) + .desc = { ent-BaseCartridge.desc } +ent-CartridgeMagnumIncendiary = cartridge (зажигательный .45 магнум) + .desc = { ent-BaseCartridge.desc } +ent-CartridgeMagnumAP = cartridge (бронебойный .45 магнум) + .desc = { ent-BaseCartridge.desc } +ent-BaseAnomalousCartridge = { ent-BaseCartridgeMagnum } + .desc = В два раза мощнее стандартной И.А.Ч. частицы. +ent-CartridgeAnomalousParticleDelta = картридж (дельта-частица) + .desc = { ent-BaseAnomalousCartridge.desc } +ent-CartridgeAnomalousParticleEpsilon = картридж (эпсилон-частица) + .desc = { ent-BaseAnomalousCartridge.desc } +ent-CartridgeAnomalousParticleZeta = картридж (зета-частица) + .desc = { ent-BaseAnomalousCartridge.desc } +ent-CartridgeAnomalousParticleOmega = картридж (омега-частица) + .desc = Экспериментальная и часто опасная частица. +ent-CartridgePistolIncendiary = патрон (зажигательный .35 авто) + .desc = { ent-BaseCartridgePistol.desc } +ent-CartridgeRifleIncendiary = патрон (зажигательный .20 ружейный) + .desc = { ent-BaseCartridgeRifle.desc } +ent-ShellShotgunImprovised = самодельный патрон для дробовика + .desc = Самодельный патрон для дробовика, который стреляет болезненными металлическими осколками. Разброс такой широкий, что не может попасть в широкую сторону амбара. +ent-BulletAntiMateriel = пуля (.60 антиматериальный) + .desc = { ent-BaseBullet.desc } +ent-BulletLightRifleIncendiary = пуля (зажигательный .20 ружейный) + .desc = { ent-BaseBullet.desc } +ent-BulletMagnumIncendiary = пуля (зажигательный .45 магнум) + .desc = { ent-BaseBullet.desc } +ent-BulletMagnumAP = пуля (бронебойный .45 магнум) + .desc = { ent-BaseBullet.desc } +ent-BulletPistolIncendiary = пуля (зажигательный .35 авто) + .desc = { ent-BaseBullet.desc } +ent-BulletRifleIncendiary = пуля (зажигательный .20 ружейный) + .desc = { ent-BaseBullet.desc } +ent-PelletShotgunImprovised = импровизированная пеллета + .desc = { ent-BaseBullet.desc } diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-36.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-36.ftl new file mode 100644 index 0000000000..ea3fd940a0 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-36.ftl @@ -0,0 +1,40 @@ +ent-SpeedLoaderMagnumAP = скоростной заряжатель (бронебойный .45 магнум) + .desc = { ent-BaseSpeedLoaderMagnum.desc } +ent-WeaponSprayNozzle = форсунки + .desc = Мощная распылительная насадка, используемая в сочетании с бачком для воды на рюкзаке. +ent-WeaponWandCluwne = палочка клувнады + .desc = Ухудшите их положение, превратив их в клувнов. +ent-WeaponWandPolymorphBread = волшебная хлебная палочка + .desc = Превратите всех своих друзей в хлеб! Ваш босс! Ваши враги! Ваша собака! Сделай все хлебом! +ent-WeaponWaterBlaster = водяной бластер + .desc = С этим плохишом ты будешь самым крутым парнем на летнем барбекю. +ent-WeaponWaterGunBase = { ent-WeaponWaterBlaster } + .desc = { ent-WeaponWaterBlaster.desc } +ent-WeaponWaterPistol = водяной пистолет + .desc = Самое изящное оружие на водной основе. Вы клянетесь, что курок ничего не делает. +ent-WeaponBehonkerLaser = глаз бонкера + .desc = Глаз бонкера, при сжатии стреляет лазером. +ent-WeaponLauncherPirateCannon = пиратская пушка + .desc = Кабум! +ent-WeaponTetherGun = привязной пистолет + .desc = Управляет гравитацией вокруг объектов, чтобы отбрасывать их с высокой скоростью. +ent-WeaponForceGun = силовой пистолет + .desc = Управляет гравитацией вокруг объектов, чтобы отбрасывать их с высокой скоростью. +ent-WeaponGrapplingGun = крюк-кошка + .desc = { ent-WeaponTetherGun.desc } +ent-WeaponTetherGunAdmin = привязной пистолет + .desc = Управляет гравитацией вокруг объектов, чтобы отбрасывать их с высокой скоростью. +ent-WeaponForceGunAdmin = силовой пистолет + .desc = Управляет гравитацией вокруг объектов, чтобы отбрасывать их с высокой скоростью. +ent-WeaponPistolMk58Nonlethal = { ent-WeaponPistolMk58 } + .desc = { ent-WeaponPistolMk58.desc } +ent-ProjectilePolyboltCluwne = клувн полиболт + .desc = кноХ кноХ! +ent-ProjectileIcicle = сосулька + .desc = Брррр. +ent-ProjectilePolyboltBread = хлебный полиболт + .desc = Нееет, я не хочу быть хлебом! +ent-ProjectileCult = кровь + .desc = О нет. +ent-BaseBulletIncendiary = пуля зажигательная + .desc = { ent-BaseBullet.desc } diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-37.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-37.ftl new file mode 100644 index 0000000000..07720bb3a2 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-37.ftl @@ -0,0 +1,40 @@ +ent-BaseBulletAP = пуля бронебойная + .desc = { ent-BaseBullet.desc } +ent-BulletTaser = тазерный болт + .desc = { ent-BaseBullet.desc } +ent-BulletCharge = зарядный болт + .desc = Отмечает цель для дополнительного урона. +ent-AnomalousParticleDelta = дельта-частицы + .desc = { ent-BaseBullet.desc } +ent-AnomalousParticleDeltaStrong = { ent-AnomalousParticleDelta } + .desc = { ent-AnomalousParticleDelta.desc } +ent-AnomalousParticleEpsilon = эпсилон-частицы + .desc = { ent-AnomalousParticleDelta.desc } +ent-AnomalousParticleEpsilonStrong = { ent-AnomalousParticleEpsilon } + .desc = { ent-AnomalousParticleDelta.desc } +ent-AnomalousParticleZeta = зета-частицы + .desc = { ent-AnomalousParticleDelta.desc } +ent-AnomalousParticleZetaStrong = { ent-AnomalousParticleZeta } + .desc = { ent-AnomalousParticleDelta.desc } +ent-AnomalousParticleOmegaStrong = омега-частицы + .desc = { ent-AnomalousParticleDelta.desc } +ent-BulletAcid = кислотная слюна + .desc = { ent-AnomalousParticleDelta.desc } +ent-BulletWaterShot = вода + .desc = { ent-AnomalousParticleDelta.desc } +ent-BulletCannonBall = пушечное ядро + .desc = { ent-AnomalousParticleDelta.desc } +ent-GrapplingHook = крюк + .desc = { ent-AnomalousParticleDelta.desc } +ent-BulletTrailLaser = лазерный болт + .desc = { ent-AnomalousParticleDelta.desc } +ent-BulletTrailLaserPractice = учебный лазерный болт + .desc = { ent-AnomalousParticleDelta.desc } +ent-PulseBoltProjectile = импульсный болт + .desc = { ent-AnomalousParticleDelta.desc } +ent-BulletTrailLaserHeavy = тяжелый лазерный болт + .desc = { ent-AnomalousParticleDelta.desc } +ent-BulletTrailLaserXray = рентгеновский лазерный болт + .desc = { ent-AnomalousParticleDelta.desc } +ent-BulletTrailLaserMedium = средний лазерный болт + .desc = { ent-AnomalousParticleDelta.desc } diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-38.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-38.ftl new file mode 100644 index 0000000000..6a762e0cf3 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-38.ftl @@ -0,0 +1,40 @@ +ent-WeaponRevolverPythonAP = Питон + .desc = Надежный револьвер, любимый агентами Синдиката. Использует патроны калибра .45 магнум. +ent-WeaponPistolCHIMP = Ш.И.М.П. ручная пушка + .desc = Просто потому, что это немного Ш.И.М.П. это не значит, что он не может бить как И.А.Ч. +ent-WeaponShotgunDoubleBarreledRubber = двуствольное ружье + .desc = Бессмертная классика. Использует патроны для дробовика калибра .50. +ent-WeaponShotgunSawnEmpty = обрез + .desc = Отлично! Использует патроны для дробовика калибра .50. +ent-WeaponShotgunHandmade = самодельный пистолет + .desc = Выглядит ненадежно. Использует патроны для дробовика калибра .50. +ent-WeaponShotgunBlunderbuss = мушкетон + .desc = Смертельно опасен на близком расстоянии. +ent-WeaponShotgunImprovised = импровизированный дробовик + .desc = Дерьмовый самодельный дробовик, в котором используются патроны для дробовика .50. Он может держать только один патрон в патроннике. +ent-WeaponShotgunImprovisedLoaded = импровизированный дробовик + .desc = { ent-WeaponShotgunImprovised.desc } +ent-WeaponSubMachineGunDrozd = Дрозд + .desc = Отличный полностью автоматический тяжелый пистолет-пулемёт. +ent-WeaponSubMachineGunDrozdRubber = Дрозд + .desc = { ent-WeaponSubMachineGunDrozd.desc } +ent-BloodSuckerDagger = кинжал жажды + .desc = "" +ent-EnergyDaggerBox = электронный кинжал + .desc = Небольшая коробка с электронным кинжалом. Упаковка распадается при открытии, не оставляя следов. +ent-EnergyCutlass = энергетический кортик + .desc = Экзотическое энергетическое оружие. +ent-KukriKnife = кукри + .desc = У профессионалов есть стандарты. Будьте вежливы. Будьте эффективными. Имейте план убить всех, кого встретите. +ent-BaseWeaponCrusher = дробилка + .desc = Ранняя конструкция протокинетического ускорителя. +ent-WeaponCrusher = дробилка + .desc = { ent-BaseWeaponCrusher.desc } +ent-WeaponCrusherDagger = кинжал-дробилка + .desc = Уменьшенная версия протокинетической дробилки, обычно используемая на крайний случай. +ent-WeaponCrusherGlaive = глеф-дробилка + .desc = Ранний вариант протокинетического ускорителя в форме глефы. +ent-Cutlass = кортик + .desc = Криво изогнутый клинок, который часто можно увидеть в руках космических пиратов. +ent-WhiteCane = белая трость + .desc = Это не для тебя. Это для людей, которые не могут понять, что вы слепы, когда вы спрашиваете, является ли груз баром. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-39.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-39.ftl new file mode 100644 index 0000000000..2635b624ba --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-39.ftl @@ -0,0 +1,40 @@ +ent-CultBola = { ent-Bola } + .desc = { ent-Bola.desc } +ent-GrenadeBase = { ent-BaseGrenade } + .desc = { ent-BaseGrenade.desc } +ent-GrenadeFlashEffect = "" + .desc = "" +ent-EmpGrenade = ЭМИ-граната + .desc = Граната, предназначенная для разрушения электронных систем. +ent-HolyHandGrenade = святая ручная граната + .desc = Господи, благослови эту Твою ручную гранату, чтобы с ее помощью Ты мог разнести твоих врагов на мелкие кусочки, по Твоей милости. +ent-GrenadeBees = пчелоната + .desc = Граната, которая взрывается облаком пчел... Кошмар. +ent-SmokeGrenade = дымовая шашка + .desc = { ent-BaseGrenade.desc } +ent-TearSmokeGrenade = слезоточивая дымовая граната + .desc = { ent-BaseGrenade.desc } +ent-BaseStation = "" + .desc = "" +ent-BaseStationCargo = "" + .desc = "" +ent-BaseStationJobsSpawning = "" + .desc = "" +ent-BaseStationRecords = "" + .desc = "" +ent-BaseStationArrivals = "" + .desc = "" +ent-BaseStationShuttles = "" + .desc = "" +ent-BaseStationCentcomm = "" + .desc = "" +ent-BaseStationEvacuation = "" + .desc = "" +ent-BaseStationAlertLevels = "" + .desc = "" +ent-BaseStationExpeditions = "" + .desc = "" +ent-BaseStationAllEventsEligible = "" + .desc = "" +ent-BaseStationNanotrasen = "" + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-4.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-4.ftl new file mode 100644 index 0000000000..7bf51cc360 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-4.ftl @@ -0,0 +1,40 @@ +ent-ClothingMaskGasSwat = противогаз спецназа + .desc = Защитный противогаз элитного выпуска. +ent-ClothingMaskGasMerc = противогаз наемника + .desc = Слегка устаревший, но надежный противогаз военного образца. +ent-ClothingMaskGasERT = противогаз ОБР + .desc = Противогаз элитного отряда ОБР. +ent-ClothingMaskGasDeathSquad = противогаз отряда смерти + .desc = Уникальный противогаз для самого элитного отряда NT. +ent-ClothingMaskRat = крысиная маска + .desc = Маска крысы, которая выглядит как крыса. Возможно, они примут тебя за такую же крысу. +ent-ClothingMaskFox = маска лисы + .desc = Что говорит лиса? +ent-ClothingMaskBee = пчелиная маска + .desc = За королеву! +ent-ClothingMaskBear = маска медведя + .desc = Я облачко, облачко, облачко, я вовсе не медведь. +ent-ClothingMaskRaven = маска ворона + .desc = Там, где я нахожусь, смерть... или блеск. +ent-ClothingMaskJackal = маска шакала + .desc = Лучше не поворачиваться спиной к владельцу маски, он может укусить. +ent-ClothingMaskBat = маска летучей мыши + .desc = Кровосос ночью и симпатичный ослепленный зверь днем. +ent-ClothingMaskNeckGaiter = шейная гетра + .desc = Стильная шейная гетра для вашей шеи, способная защитить от космического ветра?... +ent-ClothingMaskSexyClown = сексуальная клоунская маска + .desc = Некоторые озорные клоуны думают, что именно так выглядит Хонкматер. +ent-ClothingMaskSexyMime = сексуальная маска мима + .desc = Эти румяные щечки просто хотят, чтобы их погладили. +ent-ClothingMaskSadMime = маска грустного мима + .desc = Многие люди думают, что именно так выглядит настоящая маска мима. +ent-ClothingMaskScaredMime = маска испуганного мима + .desc = Выглядит так, как будто он кричал бы, если бы это не была маска. +ent-ClothingMaskItalianMoustache = итальянские усы + .desc = Изготовлен из настоящих итальянских волосков для усов. Вызывает у владельца непреодолимое желание дико жестикулировать. +ent-ClothingMaskGasVoiceChameleon = { ent-ClothingMaskGasChameleon } + .desc = { ent-ClothingMaskGasChameleon.desc } +ent-ClothingNeckCloakPirateCap = плащ капитана пиратов + .desc = Довольно привлекательный черный пиратский плащ с мотивом черепа. +ent-ClothingNeckCloakMoth = плащ моли + .desc = Плащ в виде крыльев мотылька - необычный и оригинальный элемент гардероба, способный привлечь внимание окружающих. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-40.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-40.ftl new file mode 100644 index 0000000000..6f04806b8d --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-40.ftl @@ -0,0 +1,45 @@ +ent-StandardNanotrasenStation = "" + .desc = "" +ent-NanotrasenCentralCommand = "" + .desc = "" +ent-BaseLogicItem = "" + .desc = "" +ent-LogicGate = логический вентиль + .desc = Логический элемент с двумя входами и одним выходом. Техники могут изменить его режим работы с помощью отвертки. +ent-EdgeDetector = краевой детектор + .desc = Разделяет нарастающие и спадающие фронты на уникальные импульсы и определяет, насколько вы нервничаете. +ent-BannerSyndicate = баннер синдиката + .desc = Баннер, от которого, по мнению синдиката, должна возникнуть ненависть к NT. +ent-Bonfire = костер + .desc = Что может быть лучше позднего вечера под небом с гитарой и друзьями. +ent-LegionnaireBonfire = костер легионер + .desc = Там, в стране лавы и пепла, есть где приготовить зефир и картошку. +ent-CrystalGreen = зеленый кристалл + .desc = Это блестящий зеленый кристалл. +ent-CrystalPink = розовый кристалл + .desc = Это блестящий розовый кристалл. +ent-CrystalGrey = серый кристалл + .desc = Это блестящий серый кристалл. +ent-CrystalOrange = оранжевый кристалл + .desc = Это блестящий оранжевый кристалл. +ent-CrystalBlue = синий кристалл + .desc = Это блестящий синий кристалл. +ent-CrystalCyan = голубой кристалл + .desc = Это блестящий голубой кристалл. +ent-ChemDispenser = дозатор химикатов + .desc = Дозатор химикатов промышленного класса с большим запасом химикатов. +ent-AirlockExternalCargoLocked = { ent-AirlockExternal } + .desc = { ent-AirlockExternal.desc } + .suffix = Внешний, Карго, Закрыт +ent-AirlockExternalEngineeringLocked = { ent-AirlockExternal } + .desc = { ent-AirlockExternal.desc } + .suffix = Внешний, Инженерный, Закрыт +ent-AirlockExternalAtmosphericsLocked = { ent-AirlockExternal } + .desc = { ent-AirlockExternal.desc } + .suffix = Внешний, Атмос, Закрыт +ent-AirlockDetectiveLocked = { ent-Airlock } + .desc = { ent-Airlock.desc } + .suffix = Детектив, Закрыт +ent-AirlockExternalGlassCargoLocked = { ent-AirlockExternal } + .desc = { ent-AirlockExternal.desc } + .suffix = Внешний, Стекл, Карго, Закрыт diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-41.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-41.ftl new file mode 100644 index 0000000000..3285b9ae54 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-41.ftl @@ -0,0 +1,59 @@ +ent-AirlockExternalGlassEngineeringLocked = { ent-AirlockExternal } + .desc = { ent-AirlockExternal.desc } + .suffix = Внешний, Стекл, Инж, Закрыт +ent-AirlockExternalGlassAtmosphericsLocked = { ent-AirlockExternal } + .desc = { ent-AirlockExternal.desc } + .suffix = Внешний, Стекл, Атмос, Закрыт +ent-AirlockDetectiveGlassLocked = { ent-Airlock } + .desc = { ent-Airlock.desc } + .suffix = Стекл, Детектив, Закрыт +ent-AirlockMaintDetectiveLocked = { ent-Airlock } + .desc = { ent-Airlock.desc } + .suffix = Тех, Детектив, Закрыт +ent-AirlockExternalGlassShuttleArrivals = { ent-AirlockExternal } + .desc = { ent-AirlockExternal.desc } + .suffix = Внешний, Стекл, Шаттл прибытия +ent-AirlockExternalGlassShuttleCargo = { ent-AirlockExternal } + .desc = { ent-AirlockExternal.desc } + .suffix = Внешний, Стекл, Карго шаттл +ent-AirlockExternalGlassShuttleEscape = { ent-AirlockExternal } + .desc = { ent-AirlockExternal.desc } + .suffix = Внешний, Стекл, Шаттл спасения +ent-WindoorSecureArmoryLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = Оружейная, Закрыт +ent-WindoorSecureBrigLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = Бриг, Закрыт +ent-WindoorSecureChemistryLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = Химия, Закрыт +ent-WindoorSecureCommandLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = Командный, Закрыт +ent-WindoorSecureEngineeringLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = Инж, Закрыт +ent-WindoorSecureExternalLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = Внешний, Закрыт +ent-WindoorSecureMedicalLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = Медицинский, Закрыт +ent-WindoorSecureSecurityLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = СБ, Закрыт +ent-WindoorSecureScienceLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = Наука, Закрыт +ent-WindoorSecureHeadOfPersonnelLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = ГП, Закрыт +ent-WindoorSecureAtmosphericsLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = Атмос, Закрыт +ent-WindoorSecureParamedicLocked = { ent-WindoorSecure } + .desc = { ent-WindoorSecure.desc } + .suffix = Парамедик, Закрыт +ent-Mattress = матрас + .desc = Лучше спать на нем, чем на полу, я думаю. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-42.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-42.ftl new file mode 100644 index 0000000000..9e058a33b2 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-42.ftl @@ -0,0 +1,40 @@ +ent-ChairMeat = мясной стул + .desc = Неприятно потный. +ent-DresserFilled = { ent-Dresser } + .desc = { ent-Dresser.desc } +ent-CounterBase = стойка + .desc = "" +ent-HolosignSecurity = голографический барьер + .desc = Барьер жесткого света, который блокирует движение, но довольно слабый. +ent-FatExtractor = экстрактор липидов + .desc = Безопасно и эффективно удаляет лишний жир с тела. +ent-BaseLathe = лат + .desc = "" +ent-AmmoTechFab = ТехФаб патронов + .desc = Печатает минимум пуль, которые могут понадобиться любой бюджетной армии или оружейной. Ничего особенного. +ent-Sheetifier = лист-мейстер 2000 + .desc = Очень листовая машина. +ent-MaterialReclaimer = регенератор материалов + .desc = Не может восстановить нематериальные вещи, такие как мотивация. +ent-VendingMachineWinter = ЗимКомод + .desc = Лучшее место, чтобы насладиться холодом! +ent-VendingMachineSustenance = Продовольственный вендомат + .desc = Торговый автомат, который продает еду, как того требует раздел 47-C Соглашения об этическом обращении с заключенными NT. +ent-VendingMachineSyndieDrobe = СиндиКомод + .desc = Гардеробная машина, закодированная синдикатом, содержит элитное снаряжение для различных операций. +ent-VendingMachineChemicals = ХимВенд + .desc = Вероятно, это не кофемашина. +ent-SpaceVillainArcadeFilled = { ent-SpaceVillainArcade } + .desc = { ent-SpaceVillainArcade.desc } +ent-ComputerShuttleSalvage = консоль спасательного челнока + .desc = Используется для пилотирования спасательного шаттла. +ent-ComputerCargoBounty = компьютер грузовых наград + .desc = Используется для управления текущими активными наградами. +ent-ComputerSalvageExpedition = компьютер утилизационных экспедиций + .desc = Используется для выполнения спасательных миссий, если вы достаточно круты. +ent-ComputerMassMedia = мультимедийная консоль + .desc = Напишите свое послание миру! +ent-BaseStructureComputer = "" + .desc = "" +ent-DiagnosisReportPaper = отчет диагноста болезней + .desc = Леденящая душу медицинская квитанция. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl new file mode 100644 index 0000000000..b1b831c97b --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-43.ftl @@ -0,0 +1,42 @@ +ent-GasMinerOxygenStation = Добытчик газа O2 + .desc = "" +ent-GasMinerOxygenStationLarge = Добытчик газа O2 + .desc = "" +ent-GasMinerNitrogenStation = Добытчик газа N2 + .desc = "" +ent-GasMinerNitrogenStationLarge = Добытчик газа N2 + .desc = "" +ent-GasThermoMachineFreezerEnabled = { ent-GasThermoMachineFreezer } + .desc = { ent-BaseGasThermoMachine.desc } +ent-GasThermoMachineHeaterEnabled = { ent-GasThermoMachineHeater } + .desc = { ent-BaseGasThermoMachine.desc } +ent-AmeController = контроллер ДАМ + .desc = Это контроллер двигателя антиматерии. +ent-AmeControllerUnanchored = { ent-AmeController } + .desc = { ent-AmeController.desc } +ent-AmeShielding = Экранирование ДАМ + .desc = Удерживает антиматерию внутри и материю снаружи. +ent-GeneratorBasic15kW = { ent-BaseGenerator } + .desc = { ent-BaseGenerator.desc } + .suffix = Базовый, 15кВт +ent-ParticleAcceleratorFinishedPart = "" + .desc = "" +ent-ParticleAcceleratorUnfinishedBase = "" + .desc = "" +ent-ParticleAcceleratorEmitterPort = правый эмиттер УЧ + .desc = Это запускает альфа-частицы, возможно, они не захотят стоять рядом с этим концом. +ent-ParticleAcceleratorEmitterFore = центральный эммитер УЧ + .desc = Это запускает альфа-частицы, возможно, они не захотят стоять рядом с этим концом. +ent-ParticleAcceleratorEmitterStarboard = левый эммитер УЧ + .desc = Это запускает альфа-частицы, возможно, они не захотят стоять рядом с этим концом. +ent-ParticleAcceleratorEmitterPortUnfinished = { ent-ParticleAcceleratorEmitterPort } + .desc = Это запускает альфа-частицы, возможно, они не захотят стоять рядом с этим концом. Он выглядит незаконченным. +ent-ParticleAcceleratorEmitterForeUnfinished = { ent-ParticleAcceleratorEmitterFore } + .desc = Это запускает альфа-частицы, возможно, они не захотят стоять рядом с этим концом. Он выглядит незаконченным. +ent-ParticleAcceleratorEmitterStarboardUnfinished = { ent-ParticleAcceleratorEmitterStarboard } + .desc = Это запускает альфа-частицы, возможно, они не захотят стоять рядом с этим концом. Он выглядит незаконченным. +ent-AnomalyIce = аномалия + .desc = Невозможный объект в космосе. Стоит ли вам стоять так близко к нему? + .suffix = Ледяная +ent-CarpStatue = статуя карпа + .desc = Статуя одного из отважных карпов, которые привели нас туда, где мы есть сегодня. Сделано с настоящими зубами! diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-44.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-44.ftl new file mode 100644 index 0000000000..d682ac2111 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-44.ftl @@ -0,0 +1,40 @@ +ent-BaseBureaucraticStorageFill = { ent-filingCabinet } + .desc = { ent-filingCabinet.desc } +ent-filingCabinetRandom = { ent-filingCabinet } + .desc = { ent-filingCabinet.desc } +ent-filingCabinetTallRandom = { ent-filingCabinet } + .desc = { ent-filingCabinet.desc } +ent-filingCabinetDrawerRandom = { ent-filingCabinet } + .desc = { ent-filingCabinet.desc } +ent-PaperBin5 = { ent-PaperBin } + .desc = { ent-PaperBin.desc } +ent-PaperBin10 = { ent-PaperBin } + .desc = { ent-PaperBin.desc } +ent-SuitStorageBase = отделение для хранения скафандров + .desc = Причудливое высокотехнологичное хранилище, предназначенное для хранения скафандров. +ent-ClosetBluespace = подозрительный шкаф + .desc = Это хранилище... верно? +ent-ClosetBluespaceUnstable = подозрительный шкаф + .desc = Это хранилище... верно? +ent-LockerFreezerBase = морозилка + .desc = { ent-LockerBase.desc } +ent-LockerParamedic = шкаф парамедика + .desc = { ent-LockerBase.desc } +ent-LockerBrigmedic = шкаф бригмедика + .desc = { ent-LockerBase.desc } +ent-GunSafe = оружейный сейф + .desc = { ent-LockerBase.desc } +ent-LockerBluespaceStation = блюспейс шкаф + .desc = Усовершенствованная технология шкафчиков. +ent-CrateChemistrySecure = надежный химический ящик + .desc = { ent-CrateChemistrySupplies.desc } +ent-CratePirate = пиратский сундук + .desc = Космический пиратский сундук, не для станционных лузеров. +ent-CrateToyBox = ящик для игрушек + .desc = Коробка, переполненная весельем. +ent-CrateCoffin = гроб + .desc = Удобный гроб, отличное место для вампиров и трупов. +ent-CrateWoodenGrave = могила + .desc = Здесь кто-то умер... +ent-CrateStoneGrave = могила + .desc = Здесь кто-то умер... diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-45.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-45.ftl new file mode 100644 index 0000000000..d245258396 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-45.ftl @@ -0,0 +1,40 @@ +ent-CrateSyndicate = ящик синдиката + .desc = Ящик из темной стали с красными полосами и тисненой буквой С спереди. +ent-BoxingBell = боксерский колокол + .desc = Дин Дин! +ent-DefibrillatorCabinet = шкаф с дефибриллятором + .desc = Небольшой настенный шкаф, предназначенный для хранения дефибриллятора. +ent-DefibrillatorCabinetOpen = { ent-DefibrillatorCabinet } + .desc = { ent-DefibrillatorCabinet.desc } +ent-DefibrillatorCabinetFilled = { ent-DefibrillatorCabinet } + .desc = { ent-DefibrillatorCabinet.desc } +ent-DefibrillatorCabinetFilledOpen = { ent-DefibrillatorCabinet } + .desc = { ent-DefibrillatorCabinet.desc } +ent-IntercomCommon = { ent-Intercom } + .desc = { ent-Intercom.desc } +ent-StationMapBroken = карта станции + .desc = Виртуальная карта окружающей станции. +ent-StationMap = карта станции + .desc = Виртуальная карта окружающей станции. +ent-StationMapAssembly = сборка карты станции + .desc = Сборка карты станции. +ent-TimerFrame = каркас таймера + .desc = Рамка-конструктор для таймера. +ent-BarSignSpacebucks = Космобаксы + .desc = От них не убежать даже в космосе. +ent-PaintingSadClown = Грустный клоун + .desc = Эта картина - грустный клоун! Это вызывает радость. +ent-PosterLegitAnatomyPoster = Анатомия спессмана + .desc = Плакат, показывающий мелочи, которые делают вас... вами! +ent-PosterLegitMime = Мим Постмодерн + .desc = Постмодернистское изображение мима, превосходно! +ent-PosterLegitCarpMount = Карп настенный + .desc = Carpe diem! +ent-WallRock = скала + .desc = "" +ent-WallRockGold = { ent-WallRock } + .desc = Рудная жила, богатая золотом. +ent-WallRockPlasma = { ent-WallRock } + .desc = Рудная жила, богатая плазмой. +ent-WallRockQuartz = { ent-WallRock } + .desc = Рудная жила, богатая кварцем. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-46.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-46.ftl new file mode 100644 index 0000000000..10dcbe5342 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-46.ftl @@ -0,0 +1,40 @@ +ent-WallRockSilver = { ent-WallRock } + .desc = Рудная жила, богатая серебром. +ent-WallRockTin = { ent-WallRock } + .desc = Рудная жила, богатая сталью. +ent-WallRockUranium = { ent-WallRock } + .desc = Рудная жила, богатая ураном. +ent-WallRockBananium = { ent-WallRock } + .desc = Рудная жила, богатая бананиуом. +ent-WallRockArtifactFragment = { ent-WallRock } + .desc = Каменная стена. Что это торчит из него? +ent-WallRockBasalt = { ent-WallRock } + .desc = "" +ent-WallRockBasaltGold = { ent-WallRock } + .desc = Рудная жила, богатая золотом. +ent-WallRockBasaltPlasma = { ent-WallRock } + .desc = Рудная жила, богатая плазмой. +ent-WallRockBasaltQuartz = { ent-WallRock } + .desc = Рудная жила, богатая кварцем. +ent-WallRockBasaltSilver = { ent-WallRock } + .desc = Рудная жила, богатая серебром. +ent-WallRockBasaltTin = { ent-WallRock } + .desc = Рудная жила, богатая сталью. +ent-WallRockBasaltUranium = { ent-WallRock } + .desc = Рудная жила, богатая ураном. +ent-WallRockBasaltBananium = { ent-WallRock } + .desc = Рудная жила, богатая бананиумом. +ent-WallRockBasaltArtifactFragment = { ent-WallRock } + .desc = Каменная стена. Что это торчит из него? +ent-WallRockSnow = { ent-WallRock } + .desc = "" +ent-WallRockSnowGold = { ent-WallRock } + .desc = Рудная жила, богатая золотом. +ent-WallRockSnowPlasma = { ent-WallRock } + .desc = Рудная жила, богатая плазмой. +ent-WallRockSnowQuartz = { ent-WallRock } + .desc = Рудная жила, богатая кварцем. +ent-WallRockSnowSilver = { ent-WallRock } + .desc = Рудная жила, богатая серебром. +ent-WallRockSnowTin = { ent-WallRock } + .desc = Рудная жила, богатая сталью. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-47.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-47.ftl new file mode 100644 index 0000000000..3df4459891 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-47.ftl @@ -0,0 +1,40 @@ +ent-WallRockSnowUranium = { ent-WallRock } + .desc = Рудная жила, богатая ураном. +ent-WallRockSnowBananium = { ent-WallRock } + .desc = Рудная жила, богатая бананиумом. +ent-WallRockSnowArtifactFragment = { ent-WallRock } + .desc = Каменная стена. Что это торчит из него? +ent-WallMeat = мясная стена + .desc = Липкая. +ent-WallPlastitaniumDiagonal = пластитановая стена + .desc = "" +ent-WallSolidDiagonal = сплошная стена + .desc = "" +ent-FloorWaterEntity = вода + .desc = "" +ent-VirtualElectrocutionLoadBase = ЭЛЕКТРИЧЕСКИЙ УДАР, ВЫ НЕ ДОЛЖНЫ ВИДЕТЬ ЭТО + .desc = "" +ent-WorldChunk = Кусок мира + .desc = Смотреть неприлично. Также немного странно, что вы смотрите на абстрактное представление сетки реальности. +ent-BaseAsteroidDebris = Обломки астероида + .desc = "" +ent-AsteroidDebrisSmall = Обломки астероида малый + .desc = "" +ent-AsteroidDebrisMedium = Обломки астероида средний + .desc = "" +ent-AsteroidDebrisLarge = Обломоки астероида большой + .desc = "" +ent-AsteroidDebrisLarger = Обломки астероида огромный + .desc = "" +ent-AsteroidSalvageSmall = Утилизаторский астероид малый + .desc = "" +ent-AsteroidSalvageMedium = Утилизаторский астероид средний + .desc = "" +ent-AsteroidSalvageLarge = Утилизаторский астероид большой + .desc = "" +ent-AsteroidSalvageHuge = Утилизаторский астероид огромный + .desc = "" +ent-AfterlightBaseAsteroidDebris = Обломки астероида + .desc = "" +ent-AfterlightAsteroidDebrisSmall = Обломки астероида малый + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-48.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-48.ftl new file mode 100644 index 0000000000..36f66654d6 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-48.ftl @@ -0,0 +1,40 @@ +ent-AfterlightAsteroidDebrisMedium = Обломки астероида средний + .desc = "" +ent-AfterlightAsteroidDebrisLarge = Обломоки астероида большой + .desc = "" +ent-AfterlightAsteroidDebrisLarger = Обломки астероида огромный + .desc = "" +ent-BaseDebris = "" + .desc = "" +ent-BaseScrapDebris = Дебри обломков + .desc = "" +ent-ScrapDebrisSmall = Дебри обломков маленький + .desc = "" +ent-ScrapDebrisMedium = Дебри обломков средний + .desc = "" +ent-ScrapDebrisLarge = Дебри обломков большой + .desc = "" +ent-CombatRimBaseScrapDebris = Дебри обломков + .desc = "" +ent-CombatRimScrapDebrisSmall = Дебри обломков маленький + .desc = "" +ent-CombatRimScrapDebrisMedium = Дебри обломков средний + .desc = "" +ent-CombatRimScrapDebrisLarge = Дебри обломков большой + .desc = "" +ent-D1 = "" + .desc = "" +ent-D2 = "" + .desc = "" +ent-D4 = "" + .desc = "" +ent-D5 = "" + .desc = "" +ent-D6 = "" + .desc = "" +ent-D7 = "" + .desc = "" +ent-D8 = "" + .desc = "" +ent-D10 = "" + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-49.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-49.ftl new file mode 100644 index 0000000000..f48bd80f98 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-49.ftl @@ -0,0 +1,40 @@ +ent-D11 = "" + .desc = "" +ent-D14 = "" + .desc = "" +ent-D15 = "" + .desc = "" +ent-D16 = "" + .desc = "" +ent-D17 = "" + .desc = "" +ent-D18 = "" + .desc = "" +ent-D19 = "" + .desc = "" +ent-D20 = "" + .desc = "" +ent-D21 = "" + .desc = "" +ent-D22 = "" + .desc = "" +ent-D24 = "" + .desc = "" +ent-D25 = "" + .desc = "" +ent-D26 = "" + .desc = "" +ent-D27 = "" + .desc = "" +ent-D28 = "" + .desc = "" +ent-D29 = "" + .desc = "" +ent-D30 = "" + .desc = "" +ent-D31 = "" + .desc = "" +ent-D32 = "" + .desc = "" +ent-D33 = "" + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-5.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-5.ftl new file mode 100644 index 0000000000..ef21ca4eb8 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-5.ftl @@ -0,0 +1,40 @@ +ent-ClothingNeckCargomedal = медаль карго + .desc = Присуждается за лучшую работу в грузовом отделе. +ent-ClothingNeckEngineermedal = медаль инженера + .desc = Присуждается за лучшую работу в инженерном отделе. +ent-ClothingNeckMedicalmedal = медицинская медаль + .desc = Присуждается за лучшую работу в медицинском отделе. +ent-ClothingNeckSciencemedal = научная медаль + .desc = Присуждается за лучшую работу в научном отделе. +ent-ClothingNeckSecuritymedal = медаль за безопасность + .desc = Присуждается за лучшую работу в отделе безопасности. +ent-ClothingNeckClownmedal = медаль клоуна + .desc = Присуждается за лучшую шутку во вселенной. ХОНК! +ent-ClothingNeckPinBase = значок + .desc = Быть никем, совершающим преступления. +ent-ClothingNeckScarfStripedBlack = полосатый черный шарф + .desc = Стильный черный шарф в полоску. Идеальный зимний аксессуар для тех, кто хорошо разбирается в моде, и для тех, кто просто не выносит холодного ветра на своей шее. +ent-ClothingNeckScarfStripedBrown = полосатый коричневый шарф + .desc = Стильный полосатый коричневый шарф. Идеальный зимний аксессуар для тех, кто хорошо разбирается в моде, и для тех, кто просто не выносит холодного ветра на своей шее. +ent-ClothingNeckScarfStripedLightBlue = полосатый голубой шарф + .desc = Стильный светло-голубой шарф в полоску. Идеальный зимний аксессуар для тех, кто хорошо разбирается в моде, и для тех, кто просто не выносит холодного ветра на своей шее. +ent-ClothingNeckScarfStripedOrange = полосатый оранжевый шарф + .desc = Стильный полосатый оранжевый шарф. Идеальный зимний аксессуар для тех, кто хорошо разбирается в моде, и для тех, кто просто не выносит холодного ветра на своей шее. +ent-ClothingNeckScarfStripedPurple = полосатый фиолетовый шарф + .desc = Стильный полосатый фиолетовый шарф. Идеальный зимний аксессуар для тех, кто хорошо разбирается в моде, и для тех, кто просто не выносит холодного ветра на своей шее. +ent-ClothingNeckScarfStripedSyndieGreen = полосатый зеленый шарф синдиката + .desc = Стильный полосатый зеленый шарф синдиката. Идеальный зимний аксессуар для тех, кто хорошо разбирается в моде, и тех, у кого есть настроение что-нибудь украсть. +ent-ClothingNeckScarfStripedSyndieRed = красный шарф синдиката в полоску + .desc = Стильный полосатый красный шарф синдиката. Идеальный зимний аксессуар для тех, кто хорошо разбирается в моде, и тех, у кого есть настроение что-нибудь украсть. +ent-ClothingNeckScarfStripedCentcom = полосатый шарф ЦентКом + .desc = Стильный полосатый шарф цвета ЦК. Идеальный зимний аксессуар для тех, кто хорошо разбирается в моде, а также для тех, кому приходится заниматься бумажной работой на морозе. +ent-ClothingOuterArmorBasic = бронежилет + .desc = Стандартный бронежилет типа I, который обеспечивает достойную защиту от большинства типов повреждений. +ent-ClothingOuterArmorBasicSlim = бронежилет + .desc = Тонкий бронежилет типа I, который обеспечивает достойную защиту от большинства видов повреждений. +ent-ClothingOuterCoatLabGene = лабораторный халат генетика + .desc = Костюм, защищающий от незначительных разливов химических веществ. Имеет синюю полоску на плече. +ent-ClothingOuterCoatRnd = лабораторный халат ученого + .desc = Костюм, защищающий от незначительных разливов химических веществ. Имеет фиолетовую полоску на плече. +ent-ClothingOuterCoatRobo = лабораторный халат робототехника + .desc = Больше похоже на эксцентричное пальто, чем на лабораторный халат. Помогает избавиться от пятен крови, что является частью эстетики. Поставляется с красными наплечниками. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-50.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-50.ftl new file mode 100644 index 0000000000..faccb1ac54 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-50.ftl @@ -0,0 +1,40 @@ +ent-D34 = "" + .desc = "" +ent-D35 = "" + .desc = "" +ent-D36 = "" + .desc = "" +ent-D37 = "" + .desc = "" +ent-D38 = "" + .desc = "" +ent-D39 = "" + .desc = "" +ent-D40 = "" + .desc = "" +ent-D41 = "" + .desc = "" +ent-D42 = "" + .desc = "" +ent-D43 = "" + .desc = "" +ent-D44 = "" + .desc = "" +ent-D45 = "" + .desc = "" +ent-D46 = "" + .desc = "" +ent-D47 = "" + .desc = "" +ent-D48 = "" + .desc = "" +ent-D49 = "" + .desc = "" +ent-D50 = "" + .desc = "" +ent-D51 = "" + .desc = "" +ent-D52 = "" + .desc = "" +ent-D53 = "" + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-51.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-51.ftl new file mode 100644 index 0000000000..b3a4315f84 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-51.ftl @@ -0,0 +1,22 @@ +ent-D55 = "" + .desc = "" +ent-D56 = "" + .desc = "" +ent-D57 = "" + .desc = "" +ent-D58 = "" + .desc = "" +ent-D59 = "" + .desc = "" +ent-D60 = "" + .desc = "" +ent-D61 = "" + .desc = "" +ent-D62 = "" + .desc = "" +ent-D63 = "" + .desc = "" +ent-D64 = "" + .desc = "" +ent-D65 = "" + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-52.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-52.ftl new file mode 100644 index 0000000000..f6d37990e8 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-52.ftl @@ -0,0 +1,40 @@ +ent-ClothingHeadHelmetHardsuitBasic = базовый шлем скафандра + .desc = Стандартный жесткий шлем, обеспечивающий незначительную защиту от большинства источников повреждений. +ent-ClothingHeadHelmetHardsuitBrigmedic = шлем скафандра бригмедика + .desc = Легкий шлем бригмедика. Защищает от вирусов и клоунов. +ent-EffectEmpPulse = "" + .desc = "" +ent-EffectEmpDisabled = "" + .desc = "" +ent-SpawnMobFlesh = Спавнер плоти + .desc = "" +ent-SpawnMobGiantSpider = Спавнер гигантского паука + .desc = "" +ent-SpawnMobXenos = Спавнер ксено + .desc = "" +ent-SpawnMobXenoPraetorian = Спавнер ксено преторианца + .desc = "" +ent-SpawnMobXenoDrone = Спавнер ксено дрона + .desc = "" +ent-SpawnMobXenoQueen = Спавнер ксено королевы + .desc = "" +ent-SpawnMobXenoRavager = Спавнер ксено разрушителя + .desc = "" +ent-SpawnMobXenoRunner = Спавнер ксено бегуна + .desc = "" +ent-SpawnMobXenoRouny = Спавнер ксено руни + .desc = "" +ent-SpawnMobXenoSpitter = Спавнер ксено плевальщика + .desc = "" +ent-SpawnMobXenoTurret = Спавнер ксено турели + .desc = "" +ent-SpawnMobXenoTower = Спавнер ксено башни + .desc = "" +ent-MobRandomServiceCorpse = Рандомное тело моба обслуживания + .desc = "" +ent-MobRandomEngineerCorpse = Рандомное тело моба инженера + .desc = "" +ent-MobRandomCargoCorpse = Рандомное тело моба карго + .desc = "" +ent-MobRandomMedicCorpse = Рандомное тело моба медика + .desc = "" diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-53.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-53.ftl new file mode 100644 index 0000000000..9bbc8a303c --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-53.ftl @@ -0,0 +1,40 @@ +ent-MobRandomScienceCorpse = Рандомное тело моба ученого + .desc = "" +ent-MobRandomSecurityCorpse = Рандомное тело моба СБ + .desc = "" +ent-MobRandomCommandCorpse = Рандомное тело моба коммандования + .desc = "" +ent-FoodEggChickenFertilized = { ent-FoodEgg } + .desc = { ent-FoodEggBase.desc } +ent-FoodEggDuckFertilized = { ent-FoodEgg } + .desc = { ent-FoodEggBase.desc } +ent-MobMouseAdmeme = { ent-MobMouse } + .desc = { ent-MobMouse.desc } +ent-MobKangarooSpaceSalvage = { ent-MobKangaroo } + .desc = { ent-MobKangaroo.desc } +ent-MobSpiderSpaceSalvage = { ent-MobSpiderSpace } + .desc = { ent-MobSpiderSpace.desc } +ent-MobDragonDungeon = { ent-MobDragon } + .desc = { ent-MobDragon.desc } +ent-MobHumanSyndicateAgentNukeops = { ent-MobHumanSyndicateAgent } + .desc = { ent-MobHuman.desc } +ent-ReplayObserver = "" + .desc = "" +ent-BaseBagOpenClose = "" + .desc = "" +ent-PowerCellSlotSmallItem = "" + .desc = "" +ent-PowerCellSlotMediumItem = "" + .desc = "" +ent-PowerCellSlotHighItem = "" + .desc = "" +ent-FlaskBase = { ent-BaseItem } + .desc = { ent-BaseItem.desc } +ent-FoodMealHappyHonkClown = { ent-HappyHonk } + .desc = { ent-HappyHonk.desc } +ent-BaseFoodCondiment = { ent-BaseItem } + .desc = { ent-BaseItem.desc } +ent-BaseVape = { ent-BaseItem.desc } + .desc = { ent-BaseItem.desc } +ent-CentcomPDAFake = { ent-CentcomPDA } + .desc = { ent-CentcomPDA.desc } diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-54.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-54.ftl new file mode 100644 index 0000000000..b744a0df1c --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-54.ftl @@ -0,0 +1,20 @@ +ent-DeathsquadPDA = { ent-CentcomPDA } + .desc = { ent-CentcomPDA.desc } +ent-ReinforcementRadioSyndicateNukeops = { ent-ReinforcementRadioSyndicate } + .desc = { ent-ReinforcementRadioSyndicate.desc } +ent-ImmovableRodKeepTiles = { ent-ImmovableRod } + .desc = { ent-ImmovableRod.desc } +ent-ImmovableRodKeepTilesStill = { ent-ImmovableRod } + .desc = { ent-ImmovableRod.desc } +ent-BaseGenericTabletopPiece = { ent-BaseItem } + .desc = { ent-BaseItem.desc } +ent-BaseHandcuffsBroken = { ent-BaseItem } + .desc = { ent-BaseItem.desc } +ent-WeakKudzu = { ent-Kudzu } + .desc = { ent-Kudzu.desc } +ent-NukeCodePaperStation = { ent-NukeCodePaper } + .desc = { ent-PaperWritten.desc } +ent-BaseLightTube = { ent-BaseItem } + .desc = { ent-BaseItem.desc } +ent-HandheldHealthAnalyzerEmpty = { ent-HandheldHealthAnalyzer } + .desc = { ent-HandheldHealthAnalyzer.desc } diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-6.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-6.ftl new file mode 100644 index 0000000000..aa113e3c68 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-6.ftl @@ -0,0 +1,40 @@ +ent-ClothingOuterDogi = самурайский доги + .desc = Доги - это разновидность традиционной японской одежды. Доги изготовлен из тяжелой, прочной ткани, он практичен в бою и стильно выглядит. +ent-ClothingOuterCoatSyndieCap = пальто синдиката + .desc = Пальто синдиката сшито из прочной ткани с позолоченными узорами. +ent-ClothingOuterCoatSyndieCapArmored = бронированный плащ синдиката + .desc = Бронированный плащ синдиката изготовлен из прочной ткани с позолоченными узорами. +ent-ClothingOuterCoatAMG = бронированный медицинский халат + .desc = Вариант медицинского халата с элементами пуленепробиваемого жилета выглядит странно, но ваше сердце защищено. +ent-ClothingOuterCoatLabSeniorResearcher = лабораторный халат старшего научного сотрудника + .desc = Костюм, защищающий от незначительных разливов химических веществ. С фиолетовым воротником и отделкой на запястьях. +ent-ClothingOuterCoatLabSeniorPhysician = лабораторный халат старшего врача + .desc = Костюм, защищающий от незначительных разливов химических веществ. Со светло-голубыми рукавами и оранжевой отделкой на талии. +ent-ClothingOuterHardsuitBasic = базовый скафандр + .desc = Базовый универсальный защитный костюм, который защищает владельца от ужасов жизни в космосе. По крайней мере, лучше, чем отсутствие жесткого костюма. +ent-ClothingOuterHardsuitBrigmedic = скафандр бригмедика + .desc = Специальный защитный костюм бригмедика. Это медицинская версия защитного комбинезона. +ent-ClothingOuterHardsuitPirateEVA = скафандр ЕВА для открытого космоса + .desc = Тяжелый космический скафандр, который обеспечивает некоторую базовую защиту от холодных суровых реалий глубокого космоса. +ent-ClothingOuterHardsuitPirateCap = скафандр пиратского капитана + .desc = Древний бронированный скафандр, идеально подходящий для защиты от космической цинги и головорезов с ящиками инструментов. +ent-ClothingOuterHospitalGown = Больничный халат + .desc = Изготовлен из шерсти забитых ягнят. Жестокость делает его мягче. +ent-ClothingOuterHardsuitAncientEVA = скафандр NTSRA + .desc = Древний космический скафандр, разработанный филиалом NTSRA в ЦК. Он очень тонко изготовлен, что обеспечивает большую мобильность. +ent-ClothingOuterWinterSyndieCap = зимнее пальто синдиката + .desc = Зимнее пальто синдиката сшито из прочной ткани с позолоченными узорами и грубой шерсти. +ent-ClothingOuterWinterSyndieCapArmored = бронированное зимнее пальто синдиката + .desc = Зимнее бронированное пальто синдиката изготовлено из прочной ткани с позолоченными узорами и грубой шерсти. +ent-ClothingOuterWinterSyndie = зимнее пальто синдиката + .desc = Утепленное зимнее пальто, выглядит как товар из "Синдиленда". +ent-ClothingShoesBootsMerc = сапоги наемника + .desc = Ботинки, прошедшие через множество конфликтов и доказавшие свою боевую надежность. +ent-ClothingShoesClownLarge = большие клоунские ботинки + .desc = Когда вам нужно выделиться в комнате, полной клоунов! +ent-ClothingUniformJumpskirtVirology = вирусологическая юбка + .desc = Она изготовлена из специального волокна, которое обеспечивает особую защиту от биологической опасности. На ней нашивка с присвоением звания вирусолога. +ent-ClothingUniformJumpskirtGenetics = юбка генетика + .desc = Она изготовлена из специального волокна, которое обеспечивает особую защиту от биологической опасности. На ней нашивка с присвоением звания генетика. +ent-ClothingUniformJumpskirtBrigmedic = юбка бригмедика + .desc = Данная униформа выдается квалифицированному персоналу, прошедшему обучение. Никого не волнует, что тренировка заняла полдня. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-7.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-7.ftl new file mode 100644 index 0000000000..b4965ed0da --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-7.ftl @@ -0,0 +1,40 @@ +ent-ClothingUniformJumpskirtRoboticist = юбка робототехника + .desc = Это облегающее черное платье с усиленными швами; отлично подходит для промышленных работ. +ent-ClothingUniformJumpskirtTacticool = тактикульая юбка + .desc = Униформа для неквалифицированных оперативников, совершающих кражу тактических изолированных перчаток в глубоком космосе. +ent-ClothingUniformJumpskirtSyndieFormalDress = официальное платье синдиката + .desc = Униформа синдиката выполнена в элегантном стиле, в таком даже жалко делать пакости. +ent-ClothingUniformJumpskirtTacticalMaid = тактическая юбка горничной + .desc = Предполагается, что у лучших горничных должны быть дизайнерские костюмы. +ent-ClothingUniformJumpskirtOfLife = юбка жизни + .desc = Юбка, которая символизирует радость и позитив нашей жизни. +ent-ClothingUniformJumpskirtSeniorEngineer = юбка старшего инженера + .desc = Знак мастерства и престижа в инженерном отделе. +ent-ClothingUniformJumpskirtSeniorResearcher = юбка старшего научного сотрудника + .desc = Знак мастерства и престижа в научном отделе. +ent-ClothingUniformJumpskirtSeniorPhysician = юбка старшего врача + .desc = Знак мастерства и престижа в медицинском отделе. +ent-ClothingUniformJumpskirtSeniorOfficer = юбка старшего офицера + .desc = Признак мастерства и престижа в отделе безопасности. +ent-ClothingUniformJumpsuitDeathSquad = Униформа отряда смерти + .desc = Усовершенствованный бронированный комбинезон, используемый спецназом в специальных операциях. +ent-ClothingUniformJumpsuitJacketMonkey = обезьянья куртка бармена + .desc = Приличная куртка для приличной обезьяны. +ent-ClothingUniformJumpsuitVirology = вирусологический комбинезон + .desc = Он изготовлен из специального волокна, которое обеспечивает особую защиту от биологической опасности. На нем нашивка с присвоением звания вирусолога. +ent-ClothingUniformJumpsuitGenetics = комбинезон генетика + .desc = Он изготовлен из специального волокна, которое обеспечивает особую защиту от биологической опасности. На нем нашивка с присвоением звания генетика. +ent-ClothingUniformJumpsuitKimono = кимоно + .desc = Традиционная китайская одежда. +ent-ClothingUniformJumpsuitBrigmedic = комбинезон бригмедика + .desc = Данная униформа выдается квалифицированному персоналу, прошедшему обучение. Никого не волнует, что тренировка заняла полдня. +ent-ClothingUniformJumpsuitRoboticist = комбинезон робототехника + .desc = Это облегающий черный комбинезон с усиленными швами; отлично подходит для промышленных работ. +ent-ClothingUniformJumpsuitTacticool = тактикульный комбинезон + .desc = Униформа для неквалифицированных оперативников, совершающих кражу тактических изолированных перчаток в глубоком космосе. +ent-ClothingUniformJumpsuitMercenary = комбинезон наемника + .desc = Одежда для настоящих наемников, прошедших огонь, воду и джунгли планет, наводненных опасными монстрами, или целей, за которые назначена награда. +ent-ClothingUniformJumpsuitPirate = пиратский комбинезон + .desc = Пиратская вариация комбинезона космического моряка. +ent-ClothingUniformJumpsuitCossack = казачий комбинезон + .desc = Старые добрые брюки и бригантина. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-8.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-8.ftl new file mode 100644 index 0000000000..50b29f87e4 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-8.ftl @@ -0,0 +1,36 @@ +ent-ClothingUniformJumpsuitHawaiBlack = черная гавайская рубашка + .desc = Черный, как звездная ночь. +ent-ClothingUniformJumpsuitHawaiBlue = голубая гавайская рубашка + .desc = Синий, как огромный океан. +ent-ClothingUniformJumpsuitHawaiRed = красная гавайская рубашка + .desc = Красный, как сочный арбуз. +ent-ClothingUniformJumpsuitHawaiYellow = желтая гавайская рубашка + .desc = Желтый, как яркое солнце. +ent-ClothingUniformJumpsuitSyndieFormal = официальный костюм синдиката + .desc = Униформа синдиката выполнена в элегантном стиле, в таком даже жалко делать пакости. +ent-ClothingUniformJumpsuitFlannel = фланелевый комбинезон + .desc = Пахнет так, будто кто-то готовил на гриле'. +ent-ClothingUniformJumpsuitSeniorEngineer = комбинезон опытного инженера + .desc = Знак мастерства и престижа в инженерном отделе. +ent-ClothingUniformJumpsuitSeniorResearcher = комбинезон старшего научного сотрудника + .desc = Знак мастерства и престижа в научном отделе. +ent-ClothingUniformJumpsuitSeniorPhysician = комбинезон старшего врача + .desc = Знак мастерства и престижа в медицинском отделе. +ent-ClothingUniformJumpsuitSeniorOfficer = комбинезон старшего офицера + .desc = Признак мастерства и престижа в отделе безопасности. +ent-ClothingUniformJumpsuitRecruitNT = комбинезон новобранца + .desc = Стильный серый комбинезон с синей отделкой. Идеально подходит для достойного помощника. +ent-ClothingUniformJumpsuitRecruitSyndie = комбинезон новобранца синдиката + .desc = Сомнительный темно-серый комбинезон. Как будто пассажиры и без того недостаточно сомневались. +ent-ClothingUniformJumpsuitRepairmanNT = комбинезон ремонтника + .desc = Комбинезон, который напоминает вам об определенной рабочей должности в секторе экипажа. Надеюсь, тебе не придется выполнять ту же работу, что и ЭТИМ уродам. +ent-ClothingUniformJumpsuitRepairmanSyndie = комбинезон ремонтника синдиката + .desc = Функциональный, модный и крутой. Инженеры Nanotrasen хотели бы, чтобы они выглядели так же хорошо, как сейчас. +ent-ClothingUniformJumpsuitParamedicNT = комбинезон парамедика + .desc = Базовый бело-синий комбинезон, сшитый для парамедиков Nanotrasen, дислоцированных в боевых секторах. +ent-ClothingUniformJumpsuitParamedicSyndie = комбинезон парамедика синдиката + .desc = По какой-то причине, надевая это, вы чувствуете, что ужасно близки к нарушению Женевской конвенции. +ent-ClothingUniformJumpsuitChiefEngineerNT = комбинезон старшего инженера + .desc = Часто шутят, что роль главного инженера боевого сектора - это то место, куда продвигаются настоящие инженеры, ориентированные на логистику. Удачи. +ent-ClothingUniformJumpsuitChiefEngineerSyndie = комбинезон старшего инженера синдиката + .desc = Зловещего вида комбинезон со светоотражающим жилетом и красной майкой. diff --git a/Resources/Locale/ru-RU/locales-new/autotranslate-9.ftl b/Resources/Locale/ru-RU/locales-new/autotranslate-9.ftl new file mode 100644 index 0000000000..18a459dca5 --- /dev/null +++ b/Resources/Locale/ru-RU/locales-new/autotranslate-9.ftl @@ -0,0 +1,40 @@ +ent-PuddleTemporary = { ent-Puddle } + .desc = { ent-Puddle.desc } +ent-PuddleWatermelon = { ent-Puddle } + .desc = { ent-Puddle.desc } +ent-PuddleSparkle = Sparkle + .desc = { ent-Puddle.desc } +ent-Puddle = лужа + .desc = Лужа жидкости. +ent-SalvageHumanCorpseSpawner = Спавнер тела человека + .desc = "" +ent-RandomServiceCorpseSpawner = Спавнер случайного сервисного сотрудника + .desc = "" +ent-RandomEngineerCorpseSpawner = Спавнер случайного тела инженера + .desc = "" +ent-RandomCargoCorpseSpawner = Спавнер случайного тела карго + .desc = "" +ent-RandomMedicCorpseSpawner = Спавнер случайного тела медика + .desc = "" +ent-RandomScienceCorpseSpawner = Спавнер случайного тела учёного + .desc = "" +ent-RandomSecurityCorpseSpawner = Спавнер случайного тела СБ + .desc = "" +ent-RandomCommandCorpseSpawner = Спавнер случайного тела коммандного + .desc = "" +ent-SpawnMobHuman = Спавнер Уриста + .desc = "" +ent-SpawnPointLoneNukeOperative = Точка спавна одинокого нюки + .desc = "" +ent-SpawnPointGhostDragon = Точка спавна дракона + .desc = "" +ent-SpawnPointResearchAssistant = Точка спавна научного ассистента + .desc = "" +ent-SpawnPointBoxer = Точка спавна боксёра + .desc = "" +ent-SpawnPointSeniorEngineer = Точка спавна опытного инженера + .desc = "" +ent-SpawnPointSeniorPhysician = Точка спавна старшего врача + .desc = "" +ent-SpawnPointParamedic = Точка спавна парамедика + .desc = "" diff --git a/Resources/Locale/ru-RU/lube/lube.ftl b/Resources/Locale/ru-RU/lube/lube.ftl new file mode 100644 index 0000000000..08eef90d73 --- /dev/null +++ b/Resources/Locale/ru-RU/lube/lube.ftl @@ -0,0 +1,4 @@ +lube-success = { THE($target) } был покрыт смазкой! +lubed-name-prefix = Смазал { $target } +lube-failure = Не могу покрыть { THE($target) } в смазке! +lube-slip = { THE($target) } выскальзывает из твоих рук! diff --git a/Resources/Locale/ru-RU/machine-linking/transmitter_ports.ftl b/Resources/Locale/ru-RU/machine-linking/transmitter_ports.ftl index d93ab7c53e..88d5a6d68e 100644 --- a/Resources/Locale/ru-RU/machine-linking/transmitter_ports.ftl +++ b/Resources/Locale/ru-RU/machine-linking/transmitter_ports.ftl @@ -4,6 +4,7 @@ signal-port-name-on-transmitter = Вкл signal-port-description-on-transmitter = Этот порт задействуется всякий раз, когда передатчик включён. signal-port-name-off-transmitter = Выкл signal-port-description-off-transmitter = Этот порт задействуется всякий раз, когда передатчик выключен. +signal-port-name-status-transmitter = Статус signal-port-name-left = Налево signal-port-description-left = Этот порт задействуется всякий раз, когда рычаг перемещается в крайнее левое положение. signal-port-name-right = Направо diff --git a/Resources/Locale/ru-RU/markings/arachnid.ftl b/Resources/Locale/ru-RU/markings/arachnid.ftl index a1953ffc88..01810a03a5 100644 --- a/Resources/Locale/ru-RU/markings/arachnid.ftl +++ b/Resources/Locale/ru-RU/markings/arachnid.ftl @@ -1,3 +1,5 @@ +marking-ArachnidCheliceraeBasic = Хелицеры (Базовые) +marking-ArachnidCheliceraeBasic-basic = Хелицеры marking-ArachnidAppendagesDefault = Придатки (длинные) marking-ArachnidAppendagesDefault-long = Придатки marking-ArachnidAppendagesDefault-web = Сеть @@ -8,8 +10,14 @@ marking-ArachnidAppendagesZigZag = Придатки (Зигзагообразн marking-ArachnidAppendagesZigZag-zigzag = Придатки marking-ArachnidTorsoStripes = Полосы marking-ArachnidAppendagesCurled = Придатки (Курчавый) +marking-ArachnidAppendagesChipped = Appendages (Стругающие) +marking-ArachnidAppendagesChipped-chipped = Придатки marking-ArachnidAppendagesCurled-curled = Придатки marking-ArachnidAppendagesCurled-web = Сеть +marking-ArachnidAppendagesHarvest = Придатки (Добывающие) +marking-ArachnidAppendagesHarvest-harvest = Придатки +marking-ArachnidAppendagesShort = Придатки (Короткий) +marking-ArachnidAppendagesShort-short = Придатки marking-ArachnidAppendagesStingers = Придатки (Жала) marking-ArachnidAppendagesStingers-stingers = Придатки marking-ArachnidAppendagesStingers-web = Сеть @@ -18,5 +26,13 @@ marking-ArachnidTorsoSlashes = Косые черты marking-ArachnidTorsoSlashes-slashes = Дизайн marking-ArachnidTorsoCross = Крест marking-ArachnidTorsoCross-cross = Дизайн +marking-ArachnidTorsoHeart = Сердце +marking-ArachnidTorsoHeart-heart = Дизайн +marking-ArachnidTorsoHourglass = Песочные часы +marking-ArachnidTorsoHourglass-hourglass = Дизайн +marking-ArachnidTorsoNailAndHammer = Гвоздь и молоток +marking-ArachnidTorsoNailAndHammer-nail-and-hammer = Дизайн +marking-ArachnidTorsoStar = Звезда +marking-ArachnidTorsoStar-star = Дизайн marking-ArachnidTorsoX = X marking-ArachnidTorsoX-x = Дизайн diff --git a/Resources/Locale/ru-RU/markings/reptilian.ftl b/Resources/Locale/ru-RU/markings/reptilian.ftl index e57cc84048..45f02bc32e 100644 --- a/Resources/Locale/ru-RU/markings/reptilian.ftl +++ b/Resources/Locale/ru-RU/markings/reptilian.ftl @@ -28,6 +28,16 @@ marking-LizardSnoutSharp-snout_sharp = Ящер, морда (Заострёна marking-LizardSnoutSharp = Ящер, морда (Заострёная) marking-LizardChestTiger-chest_tiger = Ящер, грудь (Тигр) marking-LizardChestTiger = Ящер, грудь (Тигр) +marking-LizardHeadTiger-head_tiger = Ящер, голова (Тигр) +marking-LizardHeadTiger = Ящер, голова (Тигр) +marking-LizardLArmTiger-l_arm_tiger = Ящер, левая рука (Тигр) +marking-LizardLArmTiger = Ящер, левая рука (Тигр) +marking-LizardLLegTiger-l_leg_tiger = Ящер, левая нога (Тигр) +marking-LizardLLegTiger = Ящер, левая нога (Тигр) +marking-LizardRArmTiger-r_arm_tiger = Ящер, правая рука (Тигр) +marking-LizardRArmTiger = Ящер, правая рука (Тигр) +marking-LizardRLegTiger-r_leg_tiger = Ящер, правая нога (Тигр) +marking-LizardRLegTiger = Ящер, правая нога (Тигр) marking-LizardFrillsDivinity-frills_divinity = Ящер, воротник (Божественный) marking-LizardFrillsDivinity = Ящер, воротник (Божественный) marking-LizardFrillsBig-frills_big = Ящер, воротник (Большой) diff --git a/Resources/Locale/ru-RU/mass-media/news-ui.ftl b/Resources/Locale/ru-RU/mass-media/news-ui.ftl new file mode 100644 index 0000000000..94510ec338 --- /dev/null +++ b/Resources/Locale/ru-RU/mass-media/news-ui.ftl @@ -0,0 +1,16 @@ +news-read-ui-next-text = Следующий +news-read-ui-past-text = Предыдущий +news-read-ui-default-title = Новости станции +news-read-ui-not-found-text = Статьи не найдены +news-read-ui-time-prefix-text = Время публикации: +news-read-ui-notification-off = ̶♫̶ +news-read-ui-notification-on = ♫ +news-read-ui-no-author = Анонимно +news-read-ui-author-prefix = Автор: +news-write-ui-default-title = Менеджмент СМИ +news-write-ui-articles-label = Статьи: +news-write-ui-delete-text = Удалить +news-write-ui-share-text = Публиковать +news-write-ui-article-name-label = Заголовок: +news-write-ui-article-content-label = Содержание: +news-write-no-access-popup = Нет доступа diff --git a/Resources/Locale/ru-RU/materials/materials.ftl b/Resources/Locale/ru-RU/materials/materials.ftl index 42f35c547b..8404304f04 100644 --- a/Resources/Locale/ru-RU/materials/materials.ftl +++ b/Resources/Locale/ru-RU/materials/materials.ftl @@ -17,5 +17,6 @@ materials-plastic = пластик materials-wood = дерево materials-uranium = уран materials-bananium = бананиум +materials-meat = мясо # Material Reclaimer material-reclaimer-upgrade-process-rate = скорость процесса diff --git a/Resources/Locale/ru-RU/medical/components/crew-monitoring-component.ftl b/Resources/Locale/ru-RU/medical/components/crew-monitoring-component.ftl index 9af2b81979..3cd136aa16 100644 --- a/Resources/Locale/ru-RU/medical/components/crew-monitoring-component.ftl +++ b/Resources/Locale/ru-RU/medical/components/crew-monitoring-component.ftl @@ -8,3 +8,4 @@ crew-monitoring-user-interface-alive = Жив crew-monitoring-user-interface-dead = Мёртв crew-monitoring-user-interface-no-info = Н/Д crew-monitoring-user-interface-job = Должность +crew-monitoring-user-interface-no-server = Сервер не найден diff --git a/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl b/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl index b9bae07cb2..a5f670fbc0 100644 --- a/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl +++ b/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl @@ -1,5 +1,7 @@ health-analyzer-window-no-patient-data-text = Нет данных о пациенте. health-analyzer-window-entity-health-text = Состояние { $entityName }: +health-analyzer-window-entity-temperature-text = Температура: { $temperature } +health-analyzer-window-entity-blood-level-text = Уровень крови: { $bloodLevel } health-analyzer-window-entity-damage-total-text = Общие повреждения: { $amount } health-analyzer-window-damage-group-text = { $damageGroup }: { $amount } health-analyzer-window-damage-type-text = { $damageType }: { $amount } diff --git a/Resources/Locale/ru-RU/mind/components/mind-component.ftl b/Resources/Locale/ru-RU/mind/components/mind-component.ftl index 818f426c74..fda48cb119 100644 --- a/Resources/Locale/ru-RU/mind/components/mind-component.ftl +++ b/Resources/Locale/ru-RU/mind/components/mind-component.ftl @@ -7,6 +7,7 @@ comp-mind-ghosting-prevented = Вы не можете стать призрак comp-mind-examined-catatonic = { CAPITALIZE(SUBJECT($ent)) } в кататоническом ступоре. Стрессы жизни в глубоком космосе, должно быть, оказались слишком тяжелы для { OBJECT($ent) }. Восстановление маловероятно. comp-mind-examined-dead = { CAPITALIZE(POSS-PRONOUN($ent)) } душа покинула тело. comp-mind-examined-ssd = { CAPITALIZE(SUBJECT($ent)) } рассеяно смотрит в пустоту и ни на что не реагирует. { CAPITALIZE(SUBJECT($ent)) } может скоро придти в себя. +comp-mind-examined-dead-and-ssd = Душа { CAPITALIZE(POSS-ADJ($ent)) } ушла и улетела. Любое восстановление маловероятно. mind-component-no-mind-and-alive-text = { CAPITALIZE(SUBJECT($ent)) } в кататоническом ступоре. Стрессы жизни в глубоком космосе, должно быть, оказались слишком тяжелы для него. Восстановление маловероятно. mind-component-no-mind-and-dead-text = { CAPITALIZE(POSS-PRONOUN($ent)) } душа покинула тело и пропала. Восстановление маловероятно. mind-component-mind-and-no-session-text = { CAPITALIZE(SUBJECT($ent)) } рассеяно смотрит в пустоту и ни на что не реагирует. { CAPITALIZE(SUBJECT($ent)) } может скоро придти в себя. diff --git a/Resources/Locale/ru-RU/nutrition/components/animal-husbandry.ftl b/Resources/Locale/ru-RU/nutrition/components/animal-husbandry.ftl new file mode 100644 index 0000000000..f15a93ddaa --- /dev/null +++ b/Resources/Locale/ru-RU/nutrition/components/animal-husbandry.ftl @@ -0,0 +1,3 @@ +infant-name-prefix = младенец { $name } +reproductive-birth-popup = { CAPITALIZE(THE($parent)) } родила! +reproductive-laid-egg-popup = { CAPITALIZE(THE($parent)) } откладывает яйцо! diff --git a/Resources/Locale/ru-RU/objectives/commands/lsobjectives.ftl b/Resources/Locale/ru-RU/objectives/commands/lsobjectives.ftl new file mode 100644 index 0000000000..1cd488ea82 --- /dev/null +++ b/Resources/Locale/ru-RU/objectives/commands/lsobjectives.ftl @@ -0,0 +1,3 @@ +# lsobjectives +cmd-lsobjectives-desc = Перечисляет все цели в уме игрока. +cmd-lsobjectives-help = Применение: lsobjectives diff --git a/Resources/Locale/ru-RU/objectives/conditions/kill-all-other-antagonists.ftl b/Resources/Locale/ru-RU/objectives/conditions/kill-all-other-antagonists.ftl new file mode 100644 index 0000000000..d56a59295d --- /dev/null +++ b/Resources/Locale/ru-RU/objectives/conditions/kill-all-other-antagonists.ftl @@ -0,0 +1,2 @@ +objective-condition-kill-all-other-antagonists-title = устранить всех агентов: +objective-condition-kill-other-antagonists-description = Сделайте это, как посчитаете нужным. Только убедитесь, что цели не переживут смену. diff --git a/Resources/Locale/ru-RU/objectives/conditions/kill-head-condition.ftl b/Resources/Locale/ru-RU/objectives/conditions/kill-head-condition.ftl new file mode 100644 index 0000000000..7caccd9b4d --- /dev/null +++ b/Resources/Locale/ru-RU/objectives/conditions/kill-head-condition.ftl @@ -0,0 +1 @@ +objective-condition-kill-head-description = Нам нужно, чтобы эта глава исчезла, и вы, наверное, знаете, почему. Удачи, агент. diff --git a/Resources/Locale/ru-RU/objectives/conditions/steal-few-items-condition.ftl b/Resources/Locale/ru-RU/objectives/conditions/steal-few-items-condition.ftl new file mode 100644 index 0000000000..19f9691ef5 --- /dev/null +++ b/Resources/Locale/ru-RU/objectives/conditions/steal-few-items-condition.ftl @@ -0,0 +1,3 @@ +objective-condition-steal-few-items-title-no-owner = Украсть { $itemName }, Количество: { $quantity }. +objective-condition-steal-few-items-title = Украсть { $itemName }, Количество: { $quantity }, владелец: { $owner }. +objective-condition-steal-few-items-description = Нам нужно, чтобы вы украли { $itemName }, { $quantity } шт. Не попадитесь. diff --git a/Resources/Locale/ru-RU/paper/book-dnd.ftl b/Resources/Locale/ru-RU/paper/book-dnd.ftl new file mode 100644 index 0000000000..9bd736367d --- /dev/null +++ b/Resources/Locale/ru-RU/paper/book-dnd.ftl @@ -0,0 +1,155 @@ +book-cnc-sheet = + К&К 5изд Лист персонажа + -------------------------------------------------------------------------------------- + РАЗДЕЛ 1: ОСНОВЫ + -------------------------------------------------------------------------------------- + Имя персонажа : + Раса / класс : + Уровень / Очки опыта : + Предыстория : + + -------------------------------------------------------------------------------------- + РАЗДЕЛ 2: ВОЗМОЖНОСТИ + -------------------------------------------------------------------------------------- + Сила = 10 (+0) 10 Базовая + Ловкость = 10 (+0) 10 Базовая + Телосложение = 10 (+0) 10 Базовая + Интеллект = 10 (+0) 10 Базовая + Мудрость = 10 (+0) 10 Базовая + Харизма = 10 (+0) 10 Базовая + + Бонус мастерства = + Восприятие (пассивная мудрость) = + + Расовый (Раса) + + Классовый (Класс) + + + -------------------------------------------------------------------------------------- + РАЗДЕЛ 3: СПАСИТЕЛЬНЫЕ БРОСКИ + -------------------------------------------------------------------------------------- + + ( )Сила = +0 + ( )Ловкость = +0 + ( )Телосложение = +0 + ( )Интеллект = +0 + ( )Мудрость = +0 + ( )Харизма = +0 + + + -------------------------------------------------------------------------------------- + РАЗДЕЛ 4: НАВЫКИ + -------------------------------------------------------------------------------------- + + ( ) Акробатика (Ловк) +0 ( ) Медицина (Муд) +0 + ( ) Обращение с животными (Муд) +0 ( ) Природа (Инт) +0 + ( ) Аркана (Инт) +0 ( ) Восприятие (Муд) +0 + ( ) Атлетика (Сил) +0 ( ) Представление (Хар) +0 + ( ) Обман (Хар) +0 ( ) Убеждение (Хар) +0 + ( ) История (Инт) +0 ( ) Религия (Инт) +0 + ( ) Понимание (Муд) +0 ( ) Ловкость рук (Ловк) +0 + ( ) Устрашение (Хар) +0 ( ) Стелс (Ловк) +0 + ( ) Расследование (Инт) +0 ( ) Выживание (Муд) +0 + + + -------------------------------------------------------------------------------------- + РАЗДЕЛ 5: БОЙ И ЗДОРОВЬЕ + -------------------------------------------------------------------------------------- + + + Класс брони : + Инициатива (пассивная) : + Скорость : + + Сила броска : + Макс кол-во очков удара : + Текущее кол-во очков удара : + Временное кол-во очков удара : + + АТАКИ + Тип оружия (ближний или дальний бой)) / Бонус / Урон (Тип) + + -------------------------------------------------------------------------------------- + РАЗДЕЛ 6: ПРЕДЫСТОРИЯ + -------------------------------------------------------------------------------------- + + Возраст / пол : + Высота / вес : + Глаза / Кожа / Волосы : + Описание : + + История : + Навыки : + Владение инструментами : + Языки : + + Способности : + Кон выбора : + Черты : + Идеал : + Узы : + Недостатки : + + -------------------------------------------------------------------------------------- + РАЗДЕЛ 7: ДОПОЛНИТЕЛЬНО + -------------------------------------------------------------------------------------- + Перечень оборудования + Описание Цена Масса + + + кг + + Богатство + ПМ : + ИМ : + ЗМ : + СМ : + БМ : + + Гемы : + Драгоценности : + Другое : + Магические предметы : + + + -------------------------------------------------------------------------------------- + РАЗДЕЛ 8: ПРИМЕНЕНИЕ ЗАКЛИНАНИЙ + -------------------------------------------------------------------------------------- + + Уровень заклинания: + Сохранение заклинаний: + Режим атаки заклинаний: + Слоты заклинаний: + 1: (МАКС.) (ИСПОЛЬЗУЕТСЯ) + 2: (МАКС.) (ИСПОЛЬЗУЕТСЯ) + 3: (МАКС.) (ИСПОЛЬЗУЕТСЯ) + 4: (МАКС.) (ИСПОЛЬЗУЕТСЯ) + 5: (МАКС.) (ИСПОЛЬЗУЕТСЯ) + 6: (МАКС.) (ИСПОЛЬЗУЕТСЯ) + 7: (МАКС.) (ИСПОЛЬЗУЕТСЯ) + 8: (МАКС.) (ИСПОЛЬЗУЕТСЯ) + 9: (МАКС.) (ИСПОЛЬЗУЕТСЯ) + + Заговоры + Название Время применения Диапазон Длительность Компоненты + + 1: Название Время применения Диапазон Длительность Компоненты Ритуал? + + 2: Название Время применения Диапазон Длительность Компоненты Ритуал? + + 3: Название Время применения Диапазон Длительность Компоненты Ритуал? + + 4: Название Время применения Диапазон Длительность Компоненты Ритуал? + + 5: Название Время применения Диапазон Длительность Компоненты Ритуал? + + 6: Название Время применения Диапазон Длительность Компоненты Ритуал? + + 7: Название Время применения Диапазон Длительность Компоненты Ритуал? + + 8: Название Время применения Диапазон Длительность Компоненты Ритуал? + + 9: Название Время применения Диапазон Длительность Компоненты Ритуал? + -------------------------------------------------------------------------------------- + Карпы и Крипты 5изд diff --git a/Resources/Locale/ru-RU/pda/Ringer/ringer-component.ftl b/Resources/Locale/ru-RU/pda/Ringer/ringer-component.ftl index 7b862acb4e..492cd2812a 100644 --- a/Resources/Locale/ru-RU/pda/Ringer/ringer-component.ftl +++ b/Resources/Locale/ru-RU/pda/Ringer/ringer-component.ftl @@ -3,6 +3,7 @@ # For the PDA Ringer screen +comp-ringer-vibration-popup = ПДА вибрирует comp-ringer-ui-menu-title = Рингтон comp-ringer-ui-test-ringtone-button = Тест comp-ringer-ui-set-ringtone-button = Установить diff --git a/Resources/Locale/ru-RU/power/components/generator.ftl b/Resources/Locale/ru-RU/power/components/generator.ftl new file mode 100644 index 0000000000..2e00f6feea --- /dev/null +++ b/Resources/Locale/ru-RU/power/components/generator.ftl @@ -0,0 +1,6 @@ +generator-ui-title = Генератор +generator-ui-target-power-label = Целевая мощность (кВт): +generator-ui-efficiency-label = Эффективность: +generator-ui-fuel-use-label = Использование топлива: +generator-ui-fuel-left-label = Осталось топлива: +generator-insert-material = Вставлено { THE($item) } в { THE($generator) }... diff --git a/Resources/Locale/ru-RU/procedural/expeditions.ftl b/Resources/Locale/ru-RU/procedural/expeditions.ftl index 50816b470d..86a260bcbb 100644 --- a/Resources/Locale/ru-RU/procedural/expeditions.ftl +++ b/Resources/Locale/ru-RU/procedural/expeditions.ftl @@ -12,6 +12,7 @@ salvage-expedition-window-hostiles = Враги: salvage-expedition-window-duration = Продолжительность: salvage-expedition-window-biome = Биом: salvage-expedition-window-modifiers = Модификаторы: +salvage-expedition-window-rewards = Награды: salvage-expedition-window-loot = Добыча: salvage-expedition-window-none = Н/А salvage-expedition-window-claimed = Получено @@ -39,5 +40,6 @@ salvage-expedition-not-all-present = Не все утилизаторы нахо # Runner salvage-expedition-announcement-countdown-minutes = { $duration } минут осталось до завершения экспедиции. salvage-expedition-announcement-countdown-seconds = { $duration } секунд осталось до завершения экспедиции. +salvage-expedition-reward-description = Награда за выполнение миссии salvage-expedition-announcement-dungeon = Подземелье расположено на { $direction }. salvage-expedition-completed = Экспедиция завершена. diff --git a/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-medical.ftl b/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-medical.ftl index 2df6bc1065..ad3ee373da 100644 --- a/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-medical.ftl +++ b/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-medical.ftl @@ -14,3 +14,9 @@ ent-EmergencyAdvancedKit = { ent-CrateEmergencyAdvancedKit } .desc = { ent-CrateEmergencyAdvancedKit.desc } ent-EmergencyRadiationKit = { ent-CrateEmergencyRadiationKit } .desc = { ent-CrateEmergencyRadiationKit.desc } +ent-ChemistryP = { ent-CrateChemistryP } + .desc = { ent-CrateChemistryP.desc } +ent-ChemistryS = { ent-CrateChemistryS } + .desc = { ent-CrateChemistryS.desc } +ent-ChemistryD = { ent-CrateChemistryD } + .desc = { ent-CrateChemistryD.desc } diff --git a/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-service.ftl b/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-service.ftl index 7e57a9cfc8..9e4427fa5a 100644 --- a/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-service.ftl +++ b/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-service.ftl @@ -14,3 +14,5 @@ ent-ServicePersonnel = { ent-CrateServicePersonnel } .desc = { ent-CrateServicePersonnel.desc } ent-ServiceBooks = { ent-CrateServiceBooks } .desc = { ent-CrateServiceBooks.desc } +ent-ServiceGuidebooks = { ent-CrateServiceGuidebooks } + .desc = { ent-CrateServiceGuidebooks.desc } diff --git a/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-vending.ftl b/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-vending.ftl index 64a73e334f..da2bf5ae43 100644 --- a/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-vending.ftl +++ b/Resources/Locale/ru-RU/prototypes/catalog/cargo/cargo-vending.ftl @@ -42,5 +42,7 @@ ent-CrateVendingMachineRestockDiscountDans = { ent-CrateVendingMachineRestockDis .desc = { ent-CrateVendingMachineRestockDiscountDansFilled.desc } ent-CrateVendingMachineRestockDonut = { ent-CrateVendingMachineRestockDonutFilled } .desc = { ent-CrateVendingMachineRestockDonutFilled.desc } +ent-CrateVendingMachineRestockChemVend = { ent-CrateVendingMachineRestockChemVendFilled } + .desc = { CrateVendingMachineRestockChemVendFilled.desc } ent-CrateVendingMachineRestockHappyHonk = { ent-CrateVendingMachineRestockHappyHonkFilled } .desc = { ent-CrateVendingMachineRestockHappyHonkFilled.desc } diff --git a/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/engineering-crates.ftl b/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/engineering-crates.ftl index c76816c84d..995c3e1f3b 100644 --- a/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/engineering-crates.ftl +++ b/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/engineering-crates.ftl @@ -20,3 +20,5 @@ ent-CrateEngineeringMiniJetpack = ящик мини-джетпаков .desc = Два мини-джетпака для тех, кому хочется вызова. ent-CrateAirlockKit = ящик компонентов шлюза .desc = Набор для строительства 6 воздушных шлюзов, инструменты в комплект не входят. +ent-CrateEvaKit = комплект ЕВА + .desc = Набор, состоящий из двух престижных костюмов ЕВА и шлемов. diff --git a/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/fun-crates.ftl b/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/fun-crates.ftl index 2bef681850..35b4a0a7bf 100644 --- a/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/fun-crates.ftl +++ b/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/fun-crates.ftl @@ -30,6 +30,8 @@ ent-CrateFunLightImplants = ящик имплантов света .desc = Осветите свою кожу с помощью этих имплантатов! ent-CrateFunBoxing = ящик для бокса .desc = Хотите создать подпольный бойцовский клуб или провести турнир среди сотрудников станции? Этот ящик для вас! +ent-CrateFunBikeHornImplants = ящик имплантатов велосипедного гудка + .desc = Тысяча гудков в день отпугивает сотрудников службы безопасности! ent-CrateFunParty = ящик для вечеринок .desc = Целая компания только и ждет, когда вы его откроете. Включает в себя сувениры для вечеринок, напитки для вечеринок и даже торт. ent-CrateFunSyndicateSegway = ящик с сегвеем синдиката diff --git a/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/service-crates.ftl b/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/service-crates.ftl index 6fbfc4642c..212ebdac67 100644 --- a/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/service-crates.ftl +++ b/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/service-crates.ftl @@ -14,6 +14,8 @@ ent-CrateServicePersonnel = ящик для найма персонала .desc = Содержит коробку с ПДА и чистыми ID картами. ent-CrateServiceBooks = ящик книг .desc = Содержит 10 пустых книг случайного вида. +ent-CrateServiceGuidebooks = ящик с руководствами + .desc = Содержит руководства. ent-CrateServiceBox = Boxes crate .desc = Contains 6 empty multipurpose boxes. ent-CrateJanitorBiosuit = ящик биокостюмов уборщика diff --git a/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/syndicate-crates.ftl b/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/syndicate-crates.ftl index bd982cca44..75c6f07233 100644 --- a/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/syndicate-crates.ftl +++ b/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/syndicate-crates.ftl @@ -1,3 +1,5 @@ +ent-CrateSyndicate = Syndicate crate + .desc = A dark steel crate with red bands and a letter S embossed on the front. ent-CrateSyndicateSurplusBundle = ящик припасов синдиката .desc = Содержит случайное снаряжение Синдиката, общей стоимостью в 50 телекристаллов. Оно может быть как бесполезным хламом, так и реально крутым. ent-CrateSyndicateSuperSurplusBundle = ящик суперприпасов синдиката diff --git a/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/vending-crates.ftl b/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/vending-crates.ftl index 4e7630be6e..63423c726b 100644 --- a/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/vending-crates.ftl +++ b/Resources/Locale/ru-RU/prototypes/catalog/fills/crates/vending-crates.ftl @@ -42,5 +42,7 @@ ent-CrateVendingMachineRestockDiscountDansFilled = Ящик для пополн .desc = Содержит коробку для пополнения запасов для диспенсера Данс со скидкой. ent-CrateVendingMachineRestockDonutFilled = Ящик для пополнения запасов пончиков .desc = Содержит коробку для пополнения запасов для пончиков. +ent-CrateVendingMachineRestockChemVendFilled = Ящик для пополнения запасов ХимВенд + .desc = Содержит коробку пополнения для ХимВенд. ent-CrateVendingMachineRestockHappyHonkFilled = Ящик для пополнения запасов вендомата клоуна .desc = Содержит коробку для пополнения запасов для торгового автомата клоуна. diff --git a/Resources/Locale/ru-RU/radio/components/intercom.ftl b/Resources/Locale/ru-RU/radio/components/intercom.ftl new file mode 100644 index 0000000000..3c19e541e4 --- /dev/null +++ b/Resources/Locale/ru-RU/radio/components/intercom.ftl @@ -0,0 +1,5 @@ +intercom-menu-title = Интерком +intercom-channel-label = Канал: +intercom-button-text-mic = микро. +intercom-button-text-speaker = Говорить +intercom-flavor-text-left = Держите линии свободными от болтовни diff --git a/Resources/Locale/ru-RU/rcd/components/rcd-component.ftl b/Resources/Locale/ru-RU/rcd/components/rcd-component.ftl index fb3eb65c84..a150054428 100644 --- a/Resources/Locale/ru-RU/rcd/components/rcd-component.ftl +++ b/Resources/Locale/ru-RU/rcd/components/rcd-component.ftl @@ -22,6 +22,7 @@ rcd-component-examine-detail-count = # Shown when changing RCD Mode rcd-component-change-mode = РЦД переключён в режим { $mode }. rcd-component-no-ammo-message = В РЦД закончились заряды! +rcd-component-tile-indestructible-message = Эта плитка не может быть уничтожена! rcd-component-tile-obstructed-message = Этот тайл заблокирован! rcd-component-deconstruct-target-not-on-whitelist-message = Вы не можете это деконструировать! rcd-component-cannot-build-floor-tile-not-empty-message = Пол можно построить только в космосе! diff --git a/Resources/Locale/ru-RU/reagents/meta/biological.ftl b/Resources/Locale/ru-RU/reagents/meta/biological.ftl index f737c95bf2..758c93fc24 100644 --- a/Resources/Locale/ru-RU/reagents/meta/biological.ftl +++ b/Resources/Locale/ru-RU/reagents/meta/biological.ftl @@ -4,7 +4,11 @@ reagent-name-slime = слизь reagent-desc-slime = Сначала вам показалось, что это градиент крови, но вы ошиблись. reagent-name-spider-blood = голубая кровь reagent-desc-spider-blood = На вкус не похоже на черничный сок. +reagent-name-zombie-blood = кровь зомби +reagent-desc-zombie-blood = Не советовал бы есть. Может использоваться для создания прививки против инфекции. reagent-name-ichor = ихор reagent-desc-ichor = Чрезвычайно мощное регенеративное химическое вещество, доведенное до совершенства эволюцией космической фауны. Производится в пищеварительной системе дракона и считается экзотическим товаром, поскольку охота на него требует огромных усилий. reagent-name-fat = жир reagent-desc-fat = Каким бы способом оно ни было получено, важно его применение. +reagent-name-vomit = рвота +reagent-desc-vomit = Вы можете увидеть несколько кусков чьей-то последней еды в нем. diff --git a/Resources/Locale/ru-RU/reagents/meta/chemicals.ftl b/Resources/Locale/ru-RU/reagents/meta/chemicals.ftl index b80339bead..a22a0cb8fc 100644 --- a/Resources/Locale/ru-RU/reagents/meta/chemicals.ftl +++ b/Resources/Locale/ru-RU/reagents/meta/chemicals.ftl @@ -4,3 +4,5 @@ reagent-name-phenol = фенол reagent-desc-phenol = Ароматическое кольцо углерода с гидроксильной группой. Полезный ингредиент для ряда лекарств, но сам по себе не обладает лечебными свойствами. reagent-name-sodium-carbonate = карбонат натрия reagent-desc-sodium-carbonate = Белая водорастворимая соль без запаха, которая образует щелочной раствор в воде. Также известен как кальцинированная сода. +reagent-name-artifexium = артистизм +reagent-desc-artifexium = Лавандовая смесь микроскопических фрагментов артефакта и сильной кислоты. Обладает способностью активировать артефакты.. diff --git a/Resources/Locale/ru-RU/reagents/meta/consumable/drink/alcohol.ftl b/Resources/Locale/ru-RU/reagents/meta/consumable/drink/alcohol.ftl index e2e5e7e8c5..5fa64fbab3 100644 --- a/Resources/Locale/ru-RU/reagents/meta/consumable/drink/alcohol.ftl +++ b/Resources/Locale/ru-RU/reagents/meta/consumable/drink/alcohol.ftl @@ -36,6 +36,8 @@ reagent-name-whiskey = виски reagent-desc-whiskey = Тип дистиллированного алкогольного напитка, изготовленного из забродившего зернового сусла. reagent-name-wine = вино reagent-desc-wine = Алкогольный напиток премиум-класса, изготовленный из дистиллированного виноградного сока. +reagent-name-champagne = шампанское +reagent-desc-champagne = Премиальное игристое вино reagent-name-acid-spit = кислотный плевок reagent-desc-acid-spit = Напиток для смелых, но при неправильном приготовлении может оказаться смертельно опасным! reagent-name-allies-cocktail = коктейль Союзники diff --git a/Resources/Locale/ru-RU/reagents/meta/consumable/drink/drinks.ftl b/Resources/Locale/ru-RU/reagents/meta/consumable/drink/drinks.ftl index 5c324d4720..6c05c80764 100644 --- a/Resources/Locale/ru-RU/reagents/meta/consumable/drink/drinks.ftl +++ b/Resources/Locale/ru-RU/reagents/meta/consumable/drink/drinks.ftl @@ -52,5 +52,7 @@ reagent-name-kvass = квас reagent-desc-kvass = Прохладный освежающий напиток с привкусом социализма. reagent-name-the-martinez = мартинез reagent-desc-the-martinez = Легенда о киберпанке. Запомненный выпивкой, забытый пьяницей. +reagent-name-white-gilgamesh = белый гильгамеш +reagent-desc-white-gilgamesh = Отвратительная смесь молока и пива. Заставляет вас чувствовать, что вы сделаны из дерева. reagent-name-posca = поска reagent-desc-posca = Напиток бедных воинов из забытой эпохи. diff --git a/Resources/Locale/ru-RU/reagents/meta/elements.ftl b/Resources/Locale/ru-RU/reagents/meta/elements.ftl index d1c3c4f819..3c6c448b7c 100644 --- a/Resources/Locale/ru-RU/reagents/meta/elements.ftl +++ b/Resources/Locale/ru-RU/reagents/meta/elements.ftl @@ -42,3 +42,5 @@ reagent-name-uranium = уран reagent-desc-uranium = Серый металлический химический элемент из серии актинидов, слабо радиоактивный. reagent-name-bananium = бананиум reagent-desc-bananium = Желтое радиоактивное органическое твердое вещество. +reagent-name-zinc = цинк +reagent-desc-zinc = Серебристый хрупкий металл, часто используемый в батареях для переноса заряда. diff --git a/Resources/Locale/ru-RU/reagents/meta/medicine.ftl b/Resources/Locale/ru-RU/reagents/meta/medicine.ftl index 113b5e7d68..b0def531a3 100644 --- a/Resources/Locale/ru-RU/reagents/meta/medicine.ftl +++ b/Resources/Locale/ru-RU/reagents/meta/medicine.ftl @@ -10,6 +10,8 @@ reagent-name-bicaridine = бикаридин reagent-desc-bicaridine = Анальгетик, который очень эффективен при лечении механических повреждений. Он полезен для стабилизации состояния людей, которых сильно избили, а также для лечения менее опасных для жизни травм. В случае кровотечения (внутреннего или внешнего) бикаридин сильно его замедляет. Если доза превышает предел передозировки, он остановит его полностью. reagent-name-cryoxadone = криоксадон reagent-desc-cryoxadone = Необходим для нормального функционирования криогеники. Быстро исцеляет все стандартные типы повреждений, но работает только при температуре ниже 170 Кельвинов (обычно это подразумевает криокамеры). Также может медленно исцелять повреждения, полученные клонами, например, при клонировании или слизнями. +reagent-name-doxarubixadone = доксарубиксадон +reagent-desc-doxarubixadone = Криогенный химикат. Исцеляет определенные типы клеточных повреждений, нанесенных слаймами и неправильным использованием других химических веществ. reagent-name-dermaline = дермалин reagent-desc-dermaline = Передовой препарат, более эффективный при лечении ожогов, чем Келотан. reagent-name-dexalin = дексалин @@ -32,6 +34,10 @@ reagent-name-barozine = барозин reagent-desc-barozine = Сильнодействующий препарат, предотвращающий повреждения от давления. Вызывает сильную боль и дрожание. Очень ядовит при передозировке. reagent-name-phalanximine = фалангимин reagent-desc-phalanximine = Используется при лечении рака. Вызывает умеренное лучевое поражение. +reagent-name-ambuzol = амбузол +reagent-desc-ambuzol = Высокотехнологичное вещество, способное остановить распространение зомби-инфекции. +reagent-name-ambuzol-plus = амбузол плюс +reagent-desc-ambuzol-plus = Дальнейшая инженерия с кровью инфицированных прививает живых против инфекции.. reagent-name-romerol = ромерол reagent-desc-romerol = Сложный в получении препарат, используемый для обращения вспять процесса зомбирования. На вкус как смерть. reagent-name-pulped-banana-peel = толчёная банановая кожура @@ -64,5 +70,7 @@ reagent-name-ethyloxyephedrine = этилоксиэфедрин reagent-desc-ethyloxyephedrine = Нестабильное лекарство, получаемое из дезоксиэфедрина. Когда основные эффекты дезоксиэфедрина нейтрализованы, он может быть полезен для чего-то другого. reagent-name-diphenylmethylamine = дифенилметиламин reagent-desc-diphenylmethylamine = Более стабильное лекарство, чем этилоксиэфедрин. Полезно для того, чтобы не дать кому-то уснуть. +reagent-name-saline = салин +reagent-desc-saline = Смесь соли и воды. Обычно используется для лечения обезвоживания или низкого содержания жидкости в крови. reagent-name-sigynate = сигинат reagent-desc-sigynate = Густой розовый сироп, полезный для нейтрализации кислот и снятия травм, вызванных кислотами. Сладкий вкус! diff --git a/Resources/Locale/ru-RU/reagents/meta/toxins.ftl b/Resources/Locale/ru-RU/reagents/meta/toxins.ftl index eef186e718..d53e43e840 100644 --- a/Resources/Locale/ru-RU/reagents/meta/toxins.ftl +++ b/Resources/Locale/ru-RU/reagents/meta/toxins.ftl @@ -28,6 +28,8 @@ reagent-name-amatoxin = аматоксин reagent-desc-amatoxin = Сильный токсин, содержащийся в некоторых грибах. reagent-name-vent-crud = вентиляционная грязь reagent-desc-vent-crud = Черное вещество, которое можно встретить в плохо обслуживаемых вентиляционных системах. +reagent-name-romerol = ромерол +reagent-desc-romerol = Потусторонняя смесь, способная оживить нежить. Если не лечить, последствия необратимы и обречены на станцию. Обращаться осторожно. reagent-name-corpium = корпиум reagent-desc-corpium = Коктейль Синдиката, тщательно собранный из различных источников. Вы не захотите, чтобы это оказалось внутри вас. reagent-name-uncooked-animal-proteins = непрожаренные животные протеины @@ -36,5 +38,7 @@ reagent-name-allicin = аллицин reagent-desc-allicin = Сероорганическое соединение, содержащееся в растениях-аллиумах, таких как чеснок, лук и других. reagent-name-pax = пакс reagent-desc-pax = Психиатрический препарат, который не позволяет употребившему причинять вред кому-либо напрямую. +reagent-name-lead = свинец +reagent-desc-lead = Медленно действующий, но невероятно смертельный токсин, содержащийся в стали, хотя и в следовых количествах. Безвкусный. reagent-name-honk = хонк reagent-desc-honk = Токсин, обнаруженный в бананиуме. Вызывает сильное гудение и внутреннее кровотечение, а также может привести к мутации пациента. diff --git a/Resources/Locale/ru-RU/research/components/research-console-component.ftl b/Resources/Locale/ru-RU/research/components/research-console-component.ftl index 112d7e954c..5ad954f8ca 100644 --- a/Resources/Locale/ru-RU/research/components/research-console-component.ftl +++ b/Resources/Locale/ru-RU/research/components/research-console-component.ftl @@ -14,6 +14,7 @@ research-console-cost = Стоимость: [color=orchid]{ $amount }[/color] research-console-unlocks-list-start = Разблокирует: research-console-unlocks-list-entry = - [color=yellow]{ $name }[/color] research-console-unlocks-list-entry-generic = - [color=green]{ $text }[/color] +research-console-no-access-popup = Нет доступа! research-console-menu-research-points-text = Очки исследований: { $points } research-console-menu-points-per-second-text = Очков в секунду: { $pointsPerSecond } research-console-menu-server-selection-button = Список серверов diff --git a/Resources/Locale/ru-RU/research/technologies.ftl b/Resources/Locale/ru-RU/research/technologies.ftl index cc00d05be6..a06dbbf891 100644 --- a/Resources/Locale/ru-RU/research/technologies.ftl +++ b/Resources/Locale/ru-RU/research/technologies.ftl @@ -1,6 +1,7 @@ research-discipline-none = Нет research-discipline-industrial = Промышленная research-discipline-biochemical = Биохимическая +research-discipline-arsenal = Арсенал research-discipline-experimental = Экспериментальная research-discipline-civilian-services = Гражданские службы research-technology-salvage-equipment = Утилизационное оборудование @@ -23,7 +24,18 @@ research-technology-virology = Вирусология research-technology-cryogenics = Криогеника research-technology-chemical-dispensary = Химические раздатчики research-technology-crew-monitoring = Мониторинг экипажа +research-technology-bluespace-chemistry = Химия Блюспейс research-technology-cloning = Клонирование +research-technology-salvage-weapons = Утилизационное оружие +research-technology-draconic-munitions = Драконьи боеприпасы +research-technology-explosive-technology = Взрывная технология +research-technology-advanced-laser-manipulation = Усовершенствованная лазерная манипуляция +research-technology-nonlethal-ammunition = Боеприпасы несмертельного действия +research-technology-optimized-ballistics = Оптимизированная баллистика +research-technology-concentrated-laser-weaponry = Концентрированное лазерное оружие +research-technology-wave-particle-harnessing = Использование волновых частиц +research-technology-advanced-riot-control = Расширенный контроль над беспорядками +research-technology-handheld-electrical-propulsion = Портативная электрическая тяга research-technology-basic-robotics = Базовая робототехника research-technology-signalling-tech = Технология передачи сигналов research-technology-basic-anomalous-research = Базовое аномальное исследование diff --git a/Resources/Locale/ru-RU/salvage/salvage-system.ftl b/Resources/Locale/ru-RU/salvage/salvage-system.ftl index c160ca8d74..75232809b1 100644 --- a/Resources/Locale/ru-RU/salvage/salvage-system.ftl +++ b/Resources/Locale/ru-RU/salvage/salvage-system.ftl @@ -18,3 +18,4 @@ salvage-system-magnet-examined-active = } salvage-system-magnet-examined-releasing = Магнит перестаёт удерживать обломки. salvage-system-magnet-examined-cooling-down = Магнит остывает. +salvage-system-magnet-delay-upgrade = Задержка присоединения/перезарядки diff --git a/Resources/Locale/ru-RU/shell.ftl b/Resources/Locale/ru-RU/shell.ftl index e4f0aebdca..7f007e6b46 100644 --- a/Resources/Locale/ru-RU/shell.ftl +++ b/Resources/Locale/ru-RU/shell.ftl @@ -51,3 +51,5 @@ shell-argument-number-must-be-between = Аргумент { $index } должен shell-argument-station-id-invalid = Аргумент { $index } должен быть валидным station id! shell-argument-map-id-invalid = Аргумент { $index } должен быть валидным map id! shell-argument-number-invalid = Аргумент { $index } должен быть валидным числом! +# Hints +shell-argument-username-hint = diff --git a/Resources/Locale/ru-RU/station-events/events/immovable-rod.ftl b/Resources/Locale/ru-RU/station-events/events/immovable-rod.ftl new file mode 100644 index 0000000000..b2bc1276b9 --- /dev/null +++ b/Resources/Locale/ru-RU/station-events/events/immovable-rod.ftl @@ -0,0 +1 @@ +station-event-immovable-rod-start-announcement = Неопознанный объект на высокой скорости движется по курсу столкновения со станцией. Воздействие неизбежно. diff --git a/Resources/Locale/ru-RU/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/store/uplink-catalog.ftl index 8756196f42..9159e9b6ce 100644 --- a/Resources/Locale/ru-RU/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/store/uplink-catalog.ftl @@ -9,6 +9,8 @@ uplink-rifle-mosin-name = Винтовка Мосина uplink-rifle-mosin-desc = Служебная винтовка с затвором, повидавшая много войн. Не современная ни по каким стандартам, заряжается вручную и с ужасной отдачей, однако дешевая. uplink-esword-name = Энергетический меч uplink-esword-desc = Очень опасный энергетический меч. В выключенном состоянии можно хранить в карманах. Издает много шума при использовании или включении. +uplink-esword-double-name = Двойной энергетический меч +uplink-esword-double-desc = Гораздо более дорогой аналог обычного энергетического меча: с гораздо более высоким шансом отражения, большим углом атаки, более высоким структурным повреждением и более быстрым замахом, и все это за счет меньшего нагрева и рубящего урона. Издает много шума при использовании или включении. uplink-edagger-name = Энергетический кинжал uplink-edagger-desc = Маленькое энергетическое лезвие, удобно замаскированное в виде ручки. uplink-fire-axe-flaming-name = Пожарный топор @@ -28,6 +30,8 @@ uplink-c4-name = C-4 uplink-c4-desc = Используйте его для взлома стен, воздушных шлюзов или саботажа оборудования. Он может быть прикреплен практически ко всем объектам и имеет изменяемый таймер с минимальной настройкой в 10 секунд. uplink-c4-bundle-name = Набор C-4 uplink-c4-bundle-desc = Потому что иногда количество - это качество. Содержит 8 пластичных взрывчатых веществ C-4. +uplink-grenadier-rig-name = гренадерский нагрудник +uplink-grenadier-rig-desc = Все, что нужно для шумной вечеринки: 4 разрывные гранаты, 2 ЭМИ-гранаты и 2 мини-бомбы в сундуке. uplink-emp-grenade-name = Электромагнитная граната uplink-emp-grenade-desc = Испускает электромагнитные импульсы, которые выводят из строя или повреждают многие электронные устройства или разряжают элементы питания. # Ammo @@ -44,6 +48,8 @@ uplink-holopara-kit-name = Набор Голопаразита uplink-holopara-kit-desc = Гордость и радость Cybersyn. Содержит инжектор, в котором находится разумный метафизический страж, сделанный из жесткого света, который находится в теле пользователя, когда он не активен. Страж может быстро наносить удары и невосприимчив к опасным средам и пулям, но любой наносимый им урон делится с пользователем. +uplink-sniper-ammo-name = коробка патрон (антиматериальная .60) +uplink-sniper-ammo-desc = коробка 10 патронов для снайперской винтовки Христова uplink-holster-name = Наплечная кобура uplink-holster-desc = Глубокая наплечная кобура, способная вместить множество видов баллистического оружия. uplink-emag-name = Криптографический секвенсор (емаг) @@ -54,6 +60,8 @@ uplink-black-jetpack-name = Черный реактивный ранец uplink-black-jetpack-desc = Черный реактивный ранец. Он позволяет вам летать в космосе. Дополнительное топливо в стоимость не входит. uplink-reinforcement-radio-name = Радио подкрепления uplink-reinforcement-radio-desc = Радио сомнительного качества, вызывающее агента подкрепления. Кнопки отключения нет, покупайте если вы готовы к вечеринке. У агента будет пистолет без запасных магазинов и нож. На этом всё. +uplink-reinforcement-radio-monkey-name = Обезьяний телепорт подкрепления +uplink-reinforcement-radio-monkey-desc = Позовите обученную обезьяну, чтобы помочь вам. Поставляется с одной синдикатной сигаретой. uplink-reinforcement-teleporter-name = Телепорт подкрепления uplink-reinforcement-teleporter-desc = Телепортируйте агента крайне сомнительного качества. Кнопки выключения нет, купите это, если вы готовы к вечеринке. У него есть пистолет без запаса патронов и нож. Это все. uplink-stealth-box-name = Стелс-бокс @@ -73,10 +81,25 @@ uplink-storage-implanter-name = Имплант хранения uplink-storage-implanter-desc = Спрячьте вкусности внутри себя с помощью новой технологии блюспейс! uplink-freedom-implanter-name = Имплант свободы uplink-freedom-implanter-desc = Убирайся подальше от этих мерзких офицеров с этим трехразовым имплантатом! +uplink-dna-scrambler-implanter-name = Имплантатор скремблера ДНК +uplink-dna-scrambler-implanter-desc = Одноразовый имплантат, который можно активировать, чтобы изменить вашу ДНК и придать вам совершенно новый вид, также имеет функцию отмены изменений. Невозможно зашифровать уже зашифрованную ДНК. +uplink-emp-implanter-name = ЭМИ-имплантатор +uplink-emp-implanter-desc = При активации взрывает небольшой импульс ЭМИ, который истощает энергию ближайшей электроники, может быть использован три раза, прежде чем разрядится внутренняя батарея. +uplink-micro-bomb-implanter-name = Имплантатор микро-бомбы +uplink-micro-bomb-implanter-desc = Взорвитесь при смерти или ручной активации с помощью этого имплантата. Уничтожает тело со всем снаряжением. uplink-macro-bomb-implanter-name = Имплант микро-бомбы uplink-macro-bomb-implanter-desc = Введи это, и после смерти ты создашь большой взрыв. Огромные потери для команды, используйте на свой страх и риск. Заменяет внутреннюю микро-бомбу. uplink-uplink-implanter-name = Uplink Implanter uplink-uplink-implanter-desc = Stealthily order equipment without the need for a PDA. Swallow telecrystals to top up the uplink. +uplink-deathrattle-implant-name = Коробка имплантатов предсмертного хрипа +uplink-deathrattle-implant-desc = Коробка с достаточным количеством предсмертных хрипов для всего отряда. Передает сообщение, содержащее вашу позицию, на канал синдиката, когда вы переходите в критическое состояние или умираете. +# Bundles +uplink-meds-bundle-name = Медицинский комплект +uplink-meds-bundle-desc = Все, что вам нужно, чтобы вернуть своих товарищей в бой: в основном боевая аптечка, дефибриллятор и три боевых лекарства. +uplink-ammo-bundle-name = Набор патронов +uplink-ammo-bundle-desc = Перезагрузка! Содержит 4 магазина для C-20r, 4 барабана для Bulldog и 2 ящика с боеприпасами для L6 SAW. +uplink-sniper-bundle-name = Снайперский набор +uplink-sniper-bundle-desc = Неприметный портфель, в котором находится христов, 10 запасных патронов и удобная маскировка. # Bundles uplink-c20r-bundle-name = Набор C-20r uplink-c20r-bundle-desc = Старый добрый: классический пистолет-пулемет C-20r в комплекте с тремя магазинами. @@ -110,6 +133,8 @@ uplink-rigged-boxing-gloves-name = Rigged Boxing Gloves uplink-rigged-boxing-gloves-desc = Float like a butterfly, sting like a bee. uplink-revolver-cap-gun-fake-name = Фальшивый пистон uplink-revolver-cap-gun-fake-desc = Обмани своего врага! Он может использовать как пистоны, так и магнум патроны. Заряжен пулями "магнум". +uplink-holy-hand-grenade-name = Святая ручная граната +uplink-holy-hand-grenade-desc = Господи, благослови эту Твою ручную гранату, чтобы с ее помощью Ты мог разнести твоих врагов на мелкие кусочки, по Твоей милости. uplink-necronomicon-name = Некрономикон uplink-necronomicon-desc = Нечестивая книга, способная вызвать демонического фамильяра. uplink-banana-peel-explosive-name = Explosive Banana Peel @@ -120,6 +145,8 @@ uplink-chimp-ammo-name = Box of 10 Omega Cartridges. uplink-chimp-ammo-desc = A box of 10 omega particle cartridges for the CHIMP. Omega particles inflict severe burns and cause anomalies to go supercritical. uplink-proximity-mine-name = Proximity Mine uplink-proximity-mine-desc = A mine disguised as a wet floor sign. +uplink-disposable-turret-name = Одноразовая баллистическая турель +uplink-disposable-turret-desc = Выглядит и функционирует как обычный электрический ящик для инструментов. При ударе по ящику с инструментами он превратится в баллистическую турель, теоретически стреляющую во всех, кроме членов синдиката. # Armor uplink-chameleon-name = Набор хамелеона uplink-chameleon-desc = Рюкзак, полный предметов, содержащих технологию "хамелеон", позволяющую вам маскироваться практически под что угодно на станции, и многое другое! @@ -144,18 +171,26 @@ uplink-decoy-disk-name = Ядерный диск-приманка uplink-decoy-disk-desc = Кусок пластика с линзовидным рисунком, выполненный в виде диска ядерной аутентификации. uplink-cigarettes-name = Упаковка сигарет Синдиката uplink-cigarettes-desc = Элитные сигареты для элитных агентов. Содержит лекарство для тех случаев, когда вам нужно сделать нечто большее, чем просто успокоить свои нервы. +uplink-eshield-name = Энергетический щит +uplink-eshield-desc = Экзотический энергетический щит, отражающий почти все лазерные лучи, а также немного защищающий от пуль и других физических атак. uplink-soap-name = Мыло uplink-soap-desc = Ненадежный кусок мыла. Пахнет страхом. uplink-ultrabright-lantern-name = Сверхяркий фонарь uplink-ultrabright-lantern-desc = Ослепляющий. uplink-stimpack-name = Стимпак uplink-stimpack-desc = Легендарный химикат, производимый компанией Donk Co. для Синдиката. Введение этого препарата увеличит скорость вашего бега и позволит вам быстрее оправиться от оглушения в течение 5 минут. +uplink-combat-medkit-name = Боевой медицинский комплект +uplink-combat-medkit-desc = Аптечка для лечения боевых ранений. +uplink-combat-medipen-name = Боевой Медипен +uplink-combat-medipen-desc = Одноразовая лечебная ручка, содержащая химические вещества, которые регенерируют большинство повреждений. uplink-stimkit-name = Набор стимуляторов uplink-stimkit-desc = Аптечка, содержащая 6 микроинъекторов стимуляторов, каждый из которых вводит вам столько стимуляторов, чтобы их хватило на минуту. uplink-experimental-stimpack-name = Экспериментальный Стимпак uplink-experimental-stimpack-desc = Прототипная версия стимпака была снята с рынка из-за экстремальных побочных эффектов. Эффекты включают в себя виртуальный иммунитет к оглушению, значительно увеличенную скорость передвижения и быструю регенерацию тканей, но химическое вещество будет постоянно отравлять вас, находясь в вашем кровотоке. uplink-nocturine-chemistry-bottle-name = Бутылка ноктюрина uplink-nocturine-chemistry-bottle-desc = Химическое вещество, из-за которого вашей цели очень трудно встать. +uplink-syndicate-sponge-box-name = Коробка губок синдиката +uplink-syndicate-sponge-box-desc = Коробка, содержащая 6 синдикатных губок, замаскированных под обезьяньи кубы, которые после контакта с водой превращаются в различных разъяренных диких животных. uplink-syndicate-segway-crate-name = Сигвей Синдиката uplink-syndicate-segway-crate-desc = Станьте врагом корпорации со вкусом! # Pointless diff --git a/Resources/Locale/ru-RU/tabletop/tabletop.ftl b/Resources/Locale/ru-RU/tabletop/tabletop.ftl index 3558cd3e62..0eb4535fe6 100644 --- a/Resources/Locale/ru-RU/tabletop/tabletop.ftl +++ b/Resources/Locale/ru-RU/tabletop/tabletop.ftl @@ -1,7 +1,10 @@ ## TabletopGameComponent tabletop-verb-play-game = Играть +tabletop-verb-dump-pieces = Сбросить куски tabletop-default-board-name = Настольная игра +tabletop-error-remove-non-hologram = Вы не можете удалить встроенный элемент! +tabletop-added-piece = Доска ярко переливается! ## Chess @@ -16,3 +19,4 @@ tabletop-parchis-board-name = Парчис tabletop-backgammon-board-name = Короткие нарды tabletop-checkers-board-name = Шашки +tabletop-battlemap-board-name = Боевая карта diff --git a/Resources/Locale/ru-RU/tools/tool-qualities.ftl b/Resources/Locale/ru-RU/tools/tool-qualities.ftl index 3949978110..fbab5e21b1 100644 --- a/Resources/Locale/ru-RU/tools/tool-qualities.ftl +++ b/Resources/Locale/ru-RU/tools/tool-qualities.ftl @@ -16,3 +16,5 @@ tool-quality-sawing-name = Отпиливание tool-quality-sawing-tool-name = Пила tool-quality-honking-name = Хонк tool-quality-honking-tool-name = Велосипедный гудок +tool-quality-woodcutting-name = Резьба по дереву +tool-quality-woodcutting-tool-name = Топор diff --git a/Resources/Locale/ru-RU/traits/traits.ftl b/Resources/Locale/ru-RU/traits/traits.ftl index f3965324d2..878e732f46 100644 --- a/Resources/Locale/ru-RU/traits/traits.ftl +++ b/Resources/Locale/ru-RU/traits/traits.ftl @@ -12,5 +12,11 @@ trait-muted-name = Немой trait-muted-desc = Вы не можете говорить trait-uncloneable-name = Неклонируемый trait-uncloneable-desc = Нельзя клонировать +trait-pirate-accent-name = Пиратский акцент +trait-pirate-accent-desc = Ты не можешь перестать говорить как пират! +trait-archaic-accent-name = Архаичный акцент +trait-archaic-accent-desc = Вы говорите так, как многие другие считают устаревшим +trait-accentless-name = Без акцента +trait-accentless-desc = У вас нет акцента, который обычно был бы у вашего вида trait-paracusia-name = Паракузия trait-paracusia-desc = Вы слышите звуки, которых на самом деле нет diff --git a/Resources/Locale/ru-RU/white/criminal-console.ftl b/Resources/Locale/ru-RU/white/criminal-console.ftl index 8d15c145c4..229d0eed5b 100644 --- a/Resources/Locale/ru-RU/white/criminal-console.ftl +++ b/Resources/Locale/ru-RU/white/criminal-console.ftl @@ -1,46 +1,38 @@ criminal-console-list = Список экипажа criminal-console-name = консоль криминальных записей criminal-grant-status-button-name = Статус - criminal-list-focus = Нажмите для редактирования - criminal-login-out = Log Out criminal-login-out-desc = Выйти criminal-login-in = Log In criminal-login-in-desc = Войти -criminal-login-info = ID: {$user} -criminal-login-hint = Вставьте ID карту в консоль, нажав на "{$name}" (нужно держать ID карту в руке) +criminal-login-info = ID: { $user } +criminal-login-hint = Вставьте ID карту в консоль, нажав на "{ $name }" (нужно держать ID карту в руке) criminal-login-warn = WARNING: Доступ к системе осуществляется уровнем доступа "службы безопасности" - criminal-status-released = Освобожден criminal-status-discharged = Выписан criminal-status-parolled = Закодирован criminal-status-suspected = Подозреваемый criminal-status-wanted = В розыске criminal-status-incarcerated = Заключенный - -criminal-targetchannel-set-released = {$target} освобожден(а). -criminal-targetchannel-set-released-reason = {$target} освобожден(а). Заметка: {$reason}. -criminal-targetchannel-set-discharged = {$target} выписан(а). -criminal-targetchannel-set-discharged-reason = {$target} выписан(а). Заметка: {$reason}. -criminal-targetchannel-set-parolled = {$target} закодирован(а). -criminal-targetchannel-set-parolled-reason = {$target} закодирован(а). Заметка: {$reason}. -criminal-targetchannel-set-suspected = {$target} под подозрением. -criminal-targetchannel-set-suspected-reason = {$target} под подозрением. Заметка: {$reason}. -criminal-targetchannel-set-wanted = {$target} объявлен(а) в розыск. -criminal-targetchannel-set-wanted-reason = {$target} объявлен(а) в розыск. Заметка: {$reason}. -criminal-targetchannel-set-incarcerated = {$target} был(а) заключен(а) под стражу. -criminal-targetchannel-set-incarcerated-reason = {$target} был(а) заключен(а) под стражу. Заметка: {$reason}. - +criminal-targetchannel-set-released = { $target } освобожден(а). +criminal-targetchannel-set-released-reason = { $target } освобожден(а). Заметка: { $reason }. +criminal-targetchannel-set-discharged = { $target } выписан(а). +criminal-targetchannel-set-discharged-reason = { $target } выписан(а). Заметка: { $reason }. +criminal-targetchannel-set-parolled = { $target } закодирован(а). +criminal-targetchannel-set-parolled-reason = { $target } закодирован(а). Заметка: { $reason }. +criminal-targetchannel-set-suspected = { $target } под подозрением. +criminal-targetchannel-set-suspected-reason = { $target } под подозрением. Заметка: { $reason }. +criminal-targetchannel-set-wanted = { $target } объявлен(а) в розыск. +criminal-targetchannel-set-wanted-reason = { $target } объявлен(а) в розыск. Заметка: { $reason }. +criminal-targetchannel-set-incarcerated = { $target } был(а) заключен(а) под стражу. +criminal-targetchannel-set-incarcerated-reason = { $target } был(а) заключен(а) под стражу. Заметка: { $reason }. criminal-dna-name = ДНК: -criminal-dna-desc = - [color={$color}]{$info}[/color] +criminal-dna-desc = - [color={ $color }]{ $info }[/color] criminal-fingerprint-name = Отпечатки пальцев: -criminal-fingerprint-desc = - [color={$color}]{$info}[/color] - +criminal-fingerprint-desc = - [color={ $color }]{ $info }[/color] criminal-detail-info = Заметка: - ent-CriminalRecordsServer = сервер криминальных записей .desc = Содержит все преступные записи об экипаже на станции. Не дайте злоумышлиникам уничтожить его! - ent-CriminalRecordsServerCircuitboard = схема платы сервера криминальных записей .desc = Если сломали старый, постройте новый! diff --git a/Resources/Locale/ru-RU/white/gamemodes/cult.ftl b/Resources/Locale/ru-RU/white/gamemodes/cult.ftl new file mode 100644 index 0000000000..642b777e87 --- /dev/null +++ b/Resources/Locale/ru-RU/white/gamemodes/cult.ftl @@ -0,0 +1,7 @@ +cult-cond-cultwin = Экипаж пососал +cult-cond-cultfailure = Экипаж не пососал +cultists-list-start = Культистами были: +cultists-list-name = - [color=White]{ $name }[/color] ([color=gray]{ $user }[/color]) +soul-shard-name = Душа { $soul } +soul-shard-description = В этом камне заключена душа { $soul } +cult-too-much-empowers = Слишком много способностей diff --git a/Resources/Locale/ru-RU/white/something.ftl b/Resources/Locale/ru-RU/white/something.ftl index 01187a294b..00cc743323 100644 --- a/Resources/Locale/ru-RU/white/something.ftl +++ b/Resources/Locale/ru-RU/white/something.ftl @@ -23,9 +23,9 @@ eorstats-slippedcount-none = Экипаж не поскользнулся ни eorstats-slippedcount-topslipper-hasusername = { $username } под именем { $name } был неуклюжим в эту смену и поскользнулся { $slipcount } раз! eorstats-slippedcount-topslipper-hasnousername = { $name } был неуклюжим в эту смену и поскользнулся { $slipcount } раз! - # Cringers examine system + # Он head-he = На его голове @@ -87,7 +87,24 @@ shoes-they = На ногах у них character-information-verb-message = Информация о персонаже character-information-verb-text = Информация о персонаже character-information-ui-title = Информация о персонаже -character-information-ui-flavor-text-placeholder = - Нет заданного флавора. -character-information-ui-flavor-text-disabled = - На этом сервере отключен флавор. +character-information-ui-flavor-text-placeholder = Нет заданного флавора. +character-information-ui-flavor-text-disabled = На этом сервере отключен флавор. + +# sm + +supermatter-self = Supermatter +supermatter-danger-message = Danger! Crystal hyperstructure integrity faltering! Integrity: { $integrity }% +supermatter-warning-message = WARNING! Crystal hyperstructure integrity reaching critical levels! Integrity: { $integrity }% +supermatter-safe-alert = Crystalline hyperstructure returning to safe operating parameters. Failsafe has been Disengaged. Integrity: { $integrity }% +supermatter-delamination-overmass = The Supermatter has Reached Critical Mass Falure. Singularity formation Imminent +supermatter-delamination-default = The Supermatter has Reached Critical Integrity Falure. Emergency Causality Destabilization Field has been Activated. +supermatter-seconds-before-delam = { $Seconds } Seconds Remain Before Delamination. + +# Cult + +cult-role-greeting = + Вы - член культа! + Ваши цели перечислены в меню персонажа. + В ваш рюкзак были добавлены предметы, которые помогут вам. + И помните - вы не единственный. + Слава Нар`си! diff --git a/Resources/Locale/ru-RU/xenoarchaeology/artifact-hints.ftl b/Resources/Locale/ru-RU/xenoarchaeology/artifact-hints.ftl index 6c00189271..d4828d45db 100644 --- a/Resources/Locale/ru-RU/xenoarchaeology/artifact-hints.ftl +++ b/Resources/Locale/ru-RU/xenoarchaeology/artifact-hints.ftl @@ -32,5 +32,7 @@ artifact-trigger-hint-magnet = Магнитные волны artifact-trigger-hint-death = Эссенция жизни artifact-trigger-hint-radiation = Радиация artifact-trigger-hint-pressure = Экстремальное давление +artifact-trigger-hint-regular-gases = Стандартные атмосферные газы +artifact-trigger-hint-plasma = Газовая плазма artifact-trigger-hint-gas = Газ artifact-trigger-hint-land = Активное замедление diff --git a/Tools/ss14_ru/__init__.py b/Tools/ss14_ru/__init__.py new file mode 100644 index 0000000000..8fc809dcf5 --- /dev/null +++ b/Tools/ss14_ru/__init__.py @@ -0,0 +1 @@ +from fluentformatter import FluentFile, FluentFormatter diff --git a/Tools/ss14_ru/file.py b/Tools/ss14_ru/file.py new file mode 100644 index 0000000000..bbb53c79b1 --- /dev/null +++ b/Tools/ss14_ru/file.py @@ -0,0 +1,91 @@ +import typing + +from fluent.syntax import ast +from yamlmodels import YAMLElements +import os + + +class File: + def __init__(self, full_path): + self.full_path = full_path + + def read_data(self): + file = open(self.full_path, 'r', encoding='utf8') + # replace необходим для того, чтобы 1-е сообщение не считалось ast.Junk + file_data = file.read().replace('', '') + file.close() + + return file_data + + def save_data(self, file_data: typing.AnyStr): + os.makedirs(os.path.dirname(self.full_path), exist_ok=True) + file = open(self.full_path, 'w', encoding='utf8') + file.write(file_data) + file.close() + + def get_relative_path(self, base_path): + return os.path.relpath(self.full_path, base_path) + + def get_relative_path_without_extension(self, base_path): + return self.get_relative_path(base_path).split('.', maxsplit=1)[0] + + def get_relative_parent_dir(self, base_path): + return os.path.relpath(self.get_parent_dir(), base_path) + + def get_parent_dir(self): + return os.path.dirname(self.full_path) + + def get_name(self): + return os.path.basename(self.full_path).split('.')[0] + + +class FluentFile(File): + def __init__(self, full_path): + super().__init__(full_path) + self.full_path = full_path + + def parse_data(self, file_data: typing.AnyStr): + from fluent.syntax import FluentParser + + return FluentParser().parse(file_data) + + def serialize_data(self, parsed_file_data: ast.Resource): + from fluent.syntax import FluentSerializer + + return FluentSerializer(with_junk=True).serialize(parsed_file_data) + + def read_serialized_data(self): + return self.serialize_data(self.parse_data(self.read_data())) + + def read_parsed_data(self): + return self.parse_data(self.read_data()) + + +class YAMLFluentFileAdapter(File): + def __init__(self, full_path): + super().__init__(full_path) + self.full_path = full_path + + # def create_fluent_from_yaml_elements(self, yaml_elements): + + + +class YAMLFile(File): + def __init__(self, full_path): + super().__init__(full_path) + + def parse_data(self, file_data: typing.AnyStr): + import yaml + + return yaml.load(file_data, Loader=yaml.BaseLoader) + + def get_elements(self, parsed_data): + + if isinstance(parsed_data, list): + elements = YAMLElements(parsed_data).elements + # элемент может быть None, если имеет неизвестный тип + exist_elements = list(filter(lambda el: el, elements)) + + return exist_elements + + return [] diff --git a/Tools/ss14_ru/fluentast.py b/Tools/ss14_ru/fluentast.py new file mode 100644 index 0000000000..5a511e0b67 --- /dev/null +++ b/Tools/ss14_ru/fluentast.py @@ -0,0 +1,176 @@ +import typing + +from fluent.syntax import ast, FluentParser, FluentSerializer +from lokalisemodels import LokaliseKey +from pydash import py_ + + +class FluentAstAbstract: + element = None + @classmethod + def get_id_name(cls, element): + if isinstance(element, ast.Junk): + return FluentAstJunk(element).get_id_name() + elif isinstance(element, ast.Message): + return FluentAstMessage(element).get_id_name() + else: + return None + + @classmethod + def create_element(cls, element): + if isinstance(element, ast.Junk): + cls.element = FluentAstJunk(element) + return cls.element + elif isinstance(element, ast.Message): + cls.element = FluentAstMessage(element) + return cls.element + else: + return None + + +class FluentAstMessage: + def __init__(self, message: ast.Message): + self.message = message + self.element = message + + def get_id_name(self): + return self.message.id.name + + +class FluentAstAttribute: + def __init__(self, id, value, parent_key = None): + self.id = id + self.value = value + self.parent_key = parent_key + + +class FluentAstAttributeFactory: + @classmethod + def from_yaml_element(cls, element): + attrs = [] + if element.description: + attrs.append(FluentAstAttribute('desc', element.description)) + + if element.suffix: + attrs.append(FluentAstAttribute('suffix', element.suffix)) + + if not len(attrs): + return None + + return attrs + + +class FluentAstJunk: + def __init__(self, junk: ast.Junk): + self.junk = junk + self.element = junk + + def get_id_name(self): + return self.junk.content.split('=')[0].strip() + + +class FluentSerializedMessage: + @classmethod + def from_yaml_element(cls, id, value, attributes, parent_id = None, raw_key = False): + if not value and not id and not parent_id: + return None + + if not attributes: + attributes = [] + + if len(list(filter(lambda attr: attr.id == 'desc', attributes))) == 0: + if parent_id: + attributes.append(FluentAstAttribute('desc', '{ ' + FluentSerializedMessage.get_key(parent_id) + '.desc' + ' }')); + else: + attributes.append(FluentAstAttribute('desc', '{ "" }')) + + if len(list(filter(lambda attr: attr.id == 'suffix', attributes))) == 0: + attributes.append(FluentAstAttribute('suffix', '{ "" }')) + + message = f'{cls.get_key(id, raw_key)} = {cls.get_value(value, parent_id)}\n' + + if attributes and len(attributes): + full_message = message + + for attr in attributes: + fluent_newlines = attr.value.replace("\n", "\n "); + full_message = cls.add_attr(full_message, attr.id, fluent_newlines, raw_key=raw_key) + + desc_attr = py_.find(attributes, lambda a: a.id == 'desc') + if not desc_attr and parent_id: + full_message = cls.add_attr(full_message, 'desc', '{ ' + FluentSerializedMessage.get_key(parent_id) + '.desc' + ' }') + + return full_message + + return cls.to_serialized_message(message) + + @classmethod + def from_lokalise_keys(cls, keys: typing.List[LokaliseKey]): + attributes_keys = list(filter(lambda k: k.is_attr, keys)) + attributes = list(map(lambda k: FluentAstAttribute(id='.{name}'.format(name=k.get_key_last_name(k.key_name)), + value=FluentSerializedMessage.get_attr(k, k.get_key_last_name(k.key_name)), parent_key=k.get_parent_key()), + attributes_keys)) + attributes_group = py_.group_by(attributes, 'parent_key') + + serialized_message = '' + for key in keys: + if key.is_attr: + continue + key_name = key.get_key_last_name(key.key_name) + key_value = key.get_translation('ru').data['translation'] + key_attributes = [] + + if len(attributes_group): + k = f'{key.get_key_base_name(key.key_name)}.{key_name}' + key_attributes = attributes_group[k] if k in attributes_group else [] + + message = key.serialize_message() + full_message = cls.from_yaml_element(key_name, key_value, key_attributes, key.get_parent_key(), True) + + if full_message: + serialized_message = serialized_message + '\n' + full_message + elif message: + serialized_message = serialized_message + '\n' + message + else: + raise Exception('Что-то пошло не так') + + return serialized_message + + @staticmethod + def get_attr(k, name, parent_id = None): + if parent_id: + return "{ " + parent_id + f'.{name}' + " }" + else: + return k.get_translation('ru').data['translation'] + + + @staticmethod + def to_serialized_message(string_message): + if not string_message: + return None + + ast_message = FluentParser().parse(string_message) + serialized = FluentSerializer(with_junk=True).serialize(ast_message) + + return serialized if serialized else '' + + @staticmethod + def add_attr(message_str, attr_key, attr_value, raw_key = False): + prefix = '' if raw_key else '.' + return f'{message_str}\n {prefix}{attr_key} = {attr_value}' + + @staticmethod + def get_value(value, parent_id): + if value: + return value + elif parent_id: + return '{ ' + FluentSerializedMessage.get_key(parent_id) + ' }' + else: + return '{ "" }' + + @staticmethod + def get_key(id, raw = False): + if raw: + return f'{id}' + else: + return f'ent-{id}' diff --git a/Tools/ss14_ru/fluentastcomparer.py b/Tools/ss14_ru/fluentastcomparer.py new file mode 100644 index 0000000000..21fa970175 --- /dev/null +++ b/Tools/ss14_ru/fluentastcomparer.py @@ -0,0 +1,100 @@ +from fluent.syntax import ast +from fluentast import FluentAstAbstract +from pydash import py_ + + +class FluentAstComparer: + def __init__(self, sourse_parsed: ast.Resource, target_parsed: ast.Resource): + self.sourse_parsed = sourse_parsed + self.target_parsed = target_parsed + self.source_elements = list( + filter(lambda el: el, list(map(lambda e: FluentAstAbstract.create_element(e), sourse_parsed.body)))) + self.target_elements = list( + filter(lambda el: el, list(map(lambda e: FluentAstAbstract.create_element(e), target_parsed.body)))) + + # Возвращает полностью эквивалентные сообщения (не считая span) + def get_equal_elements(self): + comparator = lambda a, b: a.element.equals(b.element, ignored_fields=['span']) + + return py_.intersection_with(self.source_elements, self.target_elements, comparator=comparator) + + # Возвращает полностью неэквивалентные сообщения (не считая span) + def get_not_equal_elements(self): + comparator = lambda a, b: a.element.equals(b.element, ignored_fields=['span']) + diff = py_.difference_with(self.source_elements, self.target_elements, comparator=comparator) + + return diff + + # Возвращает сообщения с эквивалентными именами ключей + def get_equal_id_names(self): + comparator = lambda a, b: a.element.equals(b.element, ignored_fields=['span', 'value', 'comment', 'attributes']) + eq = py_.intersection_with(self.source_elements, self.target_elements, comparator=comparator) + + return eq + + # Возвращает сообщения с неэквивалентными именами ключей + def get_not_equal_id_names(self): + comparator = lambda a, b: a.element.equals(b.element, ignored_fields=['span', 'value', 'comment', 'attributes']) + diff = py_.difference_with(self.source_elements, self.target_elements, comparator=comparator) + + return diff + + # Возвращает сообщения target, существующие в source + def get_exist_id_names(self, source, target): + comparator = lambda a, b: a.element.equals(b.element, ignored_fields=['span', 'value', 'comment', 'attributes']) + eq = py_.intersection_with(source, target, comparator=comparator) + + return eq + + # Возвращает сообщения target, существующие в source + def get_not_exist_id_names(self): + comparator = lambda a, b: a.element.equals(b.element, ignored_fields=['span', 'value', 'comment', 'attributes']) + diff = py_.difference_with(self.target_elements, self.source_elements, comparator=comparator) + + return diff + + # Возвращает сообщения с эквивалентным значением и атрибутами + def get_equal_values_with_attrs(self): + comparator = lambda a, b: a.element.equals(b.element, ignored_fields=['span', 'id', 'comment']) + eq = py_.intersection_with(self.target_elements, self.source_elements, comparator=comparator) + + return eq + + # Возвращает сообщения из source с неэквивалентным значением и атрибутами + def get_not_equal_values_with_attrs(self): + comparator = lambda a, b: a.element.equals(b.element, ignored_fields=['span', 'id', 'comment']) + diff = py_.difference_with(self.source_elements, self.target_elements, + comparator=lambda a, b: a.element.equals(b.element, + ignored_fields=['span', 'id', 'comment'])) + + return diff + + # Возвращает сообщения из source, существующие в target и source, с неэквивалентным значением и атрибутами + def get_not_equal_exist_values_with_attrs(self): + diff = py_.difference_with(self.source_elements, self.target_elements, + comparator=lambda a, b: a.element.equals(b.element, + ignored_fields=['span', 'id', 'comment'])) + ex = self.get_exist_id_names(self.source_elements, self.target_elements) + exist = py_.intersection(diff, ex) + + return exist + + # Возвращает сообщения из target с неэквивалентным значением и атрибутами + + def get_target_not_equal_values_with_attrs(self): + comparator = lambda a, b: a.element.equals(b.element, ignored_fields=['span', 'id', 'comment']) + diff = py_.difference_with(self.source_elements, self.target_elements, comparator=comparator) + + return diff + + # Возвращает сообщения, существующие в target и source, с неэквивалентным значением и атрибутами + def get_target_not_equal_exist_values_with_attrs(self): + diff = py_.difference_with(self.target_elements, self.source_elements, + comparator=lambda a, b: a.element.equals(b.element, + ignored_fields=['span', 'id', 'comment'])) + exist = py_.intersection(diff, self.get_exist_id_names(self.target_elements, self.source_elements)) + + return exist + + def find_message_by_id_name(self, id_name, list): + return py_.find(list, lambda el: el.get_id_name() == id_name) diff --git a/Tools/ss14_ru/fluentastmanager.py b/Tools/ss14_ru/fluentastmanager.py new file mode 100644 index 0000000000..76cf4f7bcd --- /dev/null +++ b/Tools/ss14_ru/fluentastmanager.py @@ -0,0 +1,25 @@ +from fluent.syntax import ast +from fluentast import FluentAstAbstract + + +class FluentAstManager: + def __init__(self, sourse_parsed: ast.Resource, target_parsed: ast.Resource): + self.sourse_parsed = sourse_parsed + self.target_parsed = target_parsed + self.source_elements = list(map(lambda e: FluentAstAbstract.create_element(e), sourse_parsed.body)) + self.target_elements = list(map(lambda e: FluentAstAbstract.create_element(e), target_parsed.body)) + + def update_by_index(self, index, update_element: ast.Message): + source_element = None + + try: + source_element = self.sourse_parsed.body[index] + except: + raise Exception(f'Нет элемента с индексом {index}') + + if not source_element: + raise Exception(f'Элемен с индексом {index} не существует') + + self.sourse_parsed.body[index] = update_element + + return self.sourse_parsed diff --git a/Tools/ss14_ru/fluentformatter.py b/Tools/ss14_ru/fluentformatter.py new file mode 100644 index 0000000000..f7a96dbb6c --- /dev/null +++ b/Tools/ss14_ru/fluentformatter.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 + +# Форматтер, приводящий fluent-файлы (.ftl) в соответствие стайлгайду +# path - путь к папке, содержащий форматируемые файлы. Для форматирования всего проекта, необходимо заменить значение на root_dir_path +import typing + +from file import FluentFile +from project import Project +from fluent.syntax import ast, FluentParser, FluentSerializer + + +######################################### Class defifitions ############################################################ + +class FluentFormatter: + @classmethod + def format(cls, fluent_files: typing.List[FluentFile]): + for file in fluent_files: + file_data = file.read_data() + parsed_file_data = file.parse_data(file_data) + serialized_file_data = file.serialize_data(parsed_file_data) + file.save_data(serialized_file_data) + + @classmethod + def format_serialized_file_data(cls, file_data: typing.AnyStr): + parsed_data = FluentParser().parse(file_data) + + return FluentSerializer(with_junk=True).serialize(parsed_data) + + + +######################################## Var definitions ############################################################### +project = Project() +fluent_files = project.get_fluent_files_by_dir(project.ru_locale_dir_path) + +######################################################################################################################## + +FluentFormatter.format(fluent_files) diff --git a/Tools/ss14_ru/keyfinder.py b/Tools/ss14_ru/keyfinder.py new file mode 100644 index 0000000000..54dcd54ba6 --- /dev/null +++ b/Tools/ss14_ru/keyfinder.py @@ -0,0 +1,220 @@ +import typing +import logging + +from pydash import py_ + +from file import FluentFile +from fluentast import FluentAstAbstract +from fluentformatter import FluentFormatter +from project import Project +from fluent.syntax import ast, FluentParser, FluentSerializer + + +# Осуществляет актуализацию ключей. Находит файлы английского перевода, проверяет: есть ли русскоязычная пара +# Если нет - создаёт файл с копией переводов из англоязычного +# Далее, пофайлово проверяются ключи. Если в английском файле больше ключей - создает недостающие в русском, с английской копией перевода +# Отмечает русские файлы, в которых есть те ключи, что нет в аналогичных английских +# Отмечает русские файлы, у которых нет англоязычной пары + +######################################### Class defifitions ############################################################ +class RelativeFile: + def __init__(self, file: FluentFile, locale: typing.AnyStr, relative_path_from_locale: typing.AnyStr): + self.file = file + self.locale = locale + self.relative_path_from_locale = relative_path_from_locale + + +class FilesFinder: + def __init__(self, project: Project): + self.project: Project = project + self.created_files: typing.List[FluentFile] = [] + + def get_relative_path_dict(self, file: FluentFile, locale): + if locale == 'ru-RU': + return RelativeFile(file=file, locale=locale, + relative_path_from_locale=file.get_relative_path(self.project.ru_locale_dir_path)) + elif locale == 'en-US': + return RelativeFile(file=file, locale=locale, + relative_path_from_locale=file.get_relative_path(self.project.en_locale_dir_path)) + else: + raise Exception(f'Локаль {locale} не поддерживается') + + def get_file_pair(self, en_file: FluentFile) -> typing.Tuple[FluentFile, FluentFile]: + ru_file_path = en_file.full_path.replace('en-US', 'ru-RU') + ru_file = FluentFile(ru_file_path) + + return en_file, ru_file + + def execute(self): + self.created_files = [] + groups = self.get_files_pars() + keys_without_pair = list(filter(lambda g: len(groups[g]) < 2, groups)) + + for key_without_pair in keys_without_pair: + relative_file: RelativeFile = groups.get(key_without_pair)[0] + + if relative_file.locale == 'en-US': + ru_file = self.create_ru_analog(relative_file) + self.created_files.append(ru_file) + elif relative_file.locale == 'ru-RU': + is_engine_files = "robust-toolbox" in (relative_file.file.full_path) + is_white_files = "white" in (relative_file.file.full_path) + if not is_engine_files and not is_white_files: + self.warn_en_analog_not_exist(relative_file) + else: + raise Exception(f'Файл {relative_file.file.full_path} имеет неизвестную локаль "{relative_file.locale}"') + + return self.created_files + + def get_files_pars(self): + en_fluent_files = self.project.get_fluent_files_by_dir(project.en_locale_dir_path) + ru_fluent_files = self.project.get_fluent_files_by_dir(project.ru_locale_dir_path) + + en_fluent_relative_files = list(map(lambda f: self.get_relative_path_dict(f, 'en-US'), en_fluent_files)) + ru_fluent_relative_files = list(map(lambda f: self.get_relative_path_dict(f, 'ru-RU'), ru_fluent_files)) + relative_files = py_.flatten_depth(py_.concat(en_fluent_relative_files, ru_fluent_relative_files), depth=1) + + return py_.group_by(relative_files, 'relative_path_from_locale') + + def create_ru_analog(self, en_relative_file: RelativeFile) -> FluentFile: + en_file: FluentFile = en_relative_file.file + en_file_data = en_file.read_data() + ru_file_path = en_file.full_path.replace('en-US', 'ru-RU') + ru_file = FluentFile(ru_file_path) + ru_file.save_data(en_file_data) + + logging.info(f'Создан файл {ru_file_path} с переводами из английского файла') + + return ru_file + + def warn_en_analog_not_exist(self, ru_relative_file: RelativeFile): + file: FluentFile = ru_relative_file.file + en_file_path = file.full_path.replace('ru-RU', 'en-US') + + logging.warning(f'Файл {file.full_path} не имеет английского аналога по пути {en_file_path}') + + +class KeyFinder: + def __init__(self, files_dict): + self.files_dict = files_dict + self.changed_files: typing.List[FluentFile] = [] + + def execute(self) -> typing.List[FluentFile]: + self.changed_files = [] + for pair in self.files_dict: + ru_relative_file = py_.find(self.files_dict[pair], {'locale': 'ru-RU'}) + en_relative_file = py_.find(self.files_dict[pair], {'locale': 'en-US'}) + + if not en_relative_file or not ru_relative_file: + continue + + ru_file: FluentFile = ru_relative_file.file + en_file: FluentFile = en_relative_file.file + + self.compare_files(en_file, ru_file) + + return self.changed_files + + + def compare_files(self, en_file, ru_file): + ru_file_parsed: ast.Resource = ru_file.parse_data(ru_file.read_data()) + en_file_parsed: ast.Resource = en_file.parse_data(en_file.read_data()) + + self.write_to_ru_files(ru_file, ru_file_parsed, en_file_parsed) + self.log_not_exist_en_files(en_file, ru_file_parsed, en_file_parsed) + + + def write_to_ru_files(self, ru_file, ru_file_parsed, en_file_parsed): + for idx, en_message in enumerate(en_file_parsed.body): + if isinstance(en_message, ast.ResourceComment) or isinstance(en_message, ast.GroupComment) or isinstance(en_message, ast.Comment): + continue + + ru_message_analog_idx = py_.find_index(ru_file_parsed.body, lambda ru_message: self.find_duplicate_message_id_name(ru_message, en_message)) + have_changes = False + + # Attributes + if getattr(en_message, 'attributes', None) and ru_message_analog_idx != -1: + if not ru_file_parsed.body[ru_message_analog_idx].attributes: + ru_file_parsed.body[ru_message_analog_idx].attributes = en_message.attributes + have_changes = True + else: + for en_attr in en_message.attributes: + ru_attr_analog = py_.find(ru_file_parsed.body[ru_message_analog_idx].attributes, lambda ru_attr: ru_attr.id.name == en_attr.id.name) + if not ru_attr_analog: + ru_file_parsed.body[ru_message_analog_idx].attributes.append(en_attr) + have_changes = True + + # New elements + if ru_message_analog_idx == -1: + ru_file_body = ru_file_parsed.body + if (len(ru_file_body) >= idx + 1): + ru_file_parsed = self.append_message(ru_file_parsed, en_message, idx) + else: + ru_file_parsed = self.push_message(ru_file_parsed, en_message) + have_changes = True + + if have_changes: + serialized = serializer.serialize(ru_file_parsed) + self.save_and_log_file(ru_file, serialized, en_message) + + def log_not_exist_en_files(self, en_file, ru_file_parsed, en_file_parsed): + for idx, ru_message in enumerate(ru_file_parsed.body): + if isinstance(ru_message, ast.ResourceComment) or isinstance(ru_message, ast.GroupComment) or isinstance(ru_message, ast.Comment): + continue + + en_message_analog = py_.find(en_file_parsed.body, lambda en_message: self.find_duplicate_message_id_name(ru_message, en_message)) + + if not en_message_analog: + logging.warning(f'Ключ "{FluentAstAbstract.get_id_name(ru_message)}" не имеет английского аналога по пути {en_file.full_path}"') + + def append_message(self, ru_file_parsed, en_message, en_message_idx): + ru_message_part_1 = ru_file_parsed.body[0:en_message_idx] + ru_message_part_middle = [en_message] + ru_message_part_2 = ru_file_parsed.body[en_message_idx:] + new_body = py_.flatten_depth([ru_message_part_1, ru_message_part_middle, ru_message_part_2], depth=1) + ru_file_parsed.body = new_body + + return ru_file_parsed + + def push_message(self, ru_file_parsed, en_message): + ru_file_parsed.body.append(en_message) + return ru_file_parsed + + def save_and_log_file(self, file, file_data, message): + file.save_data(file_data) + logging.info(f'В файл {file.full_path} добавлен ключ "{FluentAstAbstract.get_id_name(message)}"') + self.changed_files.append(file) + + def find_duplicate_message_id_name(self, ru_message, en_message): + ru_element_id_name = FluentAstAbstract.get_id_name(ru_message) + en_element_id_name = FluentAstAbstract.get_id_name(en_message) + + if not ru_element_id_name or not en_element_id_name: + return False + + if ru_element_id_name == en_element_id_name: + return ru_message + else: + return None + +######################################## Var definitions ############################################################### + +logging.basicConfig(level = logging.INFO) +project = Project() +parser = FluentParser() +serializer = FluentSerializer(with_junk=True) +files_finder = FilesFinder(project) +key_finder = KeyFinder(files_finder.get_files_pars()) + +######################################################################################################################## + +print('Проверка актуальности файлов ...') +created_files = files_finder.execute() +if len(created_files): + print('Форматирование созданных файлов ...') + FluentFormatter.format(created_files) +print('Проверка актуальности ключей ...') +changed_files = key_finder.execute() +if len(changed_files): + print('Форматирование изменённых файлов ...') + FluentFormatter.format(changed_files) diff --git a/Tools/ss14_ru/lokalise_fluent_ast_comparer_manager.py b/Tools/ss14_ru/lokalise_fluent_ast_comparer_manager.py new file mode 100644 index 0000000000..cdbc84d5bd --- /dev/null +++ b/Tools/ss14_ru/lokalise_fluent_ast_comparer_manager.py @@ -0,0 +1,48 @@ +from fluent.syntax import ast + +from fluentast import FluentAstMessage +from fluentastcomparer import FluentAstComparer +from fluentastmanager import FluentAstManager + + +class LokaliseFluentAstComparerManager: + def __init__(self, sourse_parsed: ast.Resource, target_parsed: ast.Resource): + self.sourse_parsed = sourse_parsed + self.target_parsed = target_parsed + self.comparer = FluentAstComparer(sourse_parsed, target_parsed) + self.ast_manager = FluentAstManager(sourse_parsed, target_parsed) + + def for_update(self): + for_update = self.comparer.get_not_equal_exist_values_with_attrs() + + if not len(for_update): + return [] + + return for_update + + def update(self, for_update): + for update in for_update: + idx = self.comparer.sourse_parsed.body.index(update.element) + update_mess: FluentAstMessage = self.comparer.find_message_by_id_name(update.get_id_name(), + self.comparer.target_elements) + self.ast_manager.update_by_index(idx, update_mess.element) + + return self.ast_manager.sourse_parsed + + def for_delete(self): + for_delete = self.comparer.get_not_exist_id_names() + + if len(for_delete): + keys = list(map(lambda el: el.get_id_name(), for_delete)) + print(f'Следующие ключи есть в lokalise, но нет в файле. Возможно, их нужно удалить из lokalise: {keys}') + + return for_delete + + def for_create(self): + for_create = self.comparer.get_not_equal_id_names() + + if len(for_create): + keys = list(map(lambda el: el.get_id_name(), for_create)) + print(f'Следующих ключей файла нет в lokalise. Необходимо добавить: {keys}') + + return for_create diff --git a/Tools/ss14_ru/lokalise_project.py b/Tools/ss14_ru/lokalise_project.py new file mode 100644 index 0000000000..05a4f4d285 --- /dev/null +++ b/Tools/ss14_ru/lokalise_project.py @@ -0,0 +1,33 @@ +import lokalise +import typing +from lokalisemodels import LokaliseKey +from pydash import py_ + +class LokaliseProject: + def __init__(self, project_id, personal_token): + self.project_id = project_id + self.personal_token = personal_token + self.client = lokalise.Client(self.personal_token) + + def get_all_keys(self) -> typing.List[LokaliseKey]: + page = 1 + keys = self.get_keys(page=page) + keys_items: typing.List[lokalise.client.KeyModel] = [] + general_count = 0 + + while (general_count < keys.total_count): + general_count = general_count + len(keys.items) + keys_items = py_.flatten_depth(py_.concat(keys_items, keys.items), depth=1) + + if (general_count == keys.total_count): + break + + next_page = page = page + 1 + keys = self.get_keys(page=next_page) + + sorted_list = py_.sort(keys_items, key=lambda item: item.translations_modified_at_timestamp, reverse=True) + + return list(map(lambda k: LokaliseKey(k), sorted_list)) + + def get_keys(self, page): + return self.client.keys(self.project_id, {'page': page, 'limit': 5000, 'include_translations': 1}) diff --git a/Tools/ss14_ru/lokalisemodels.py b/Tools/ss14_ru/lokalisemodels.py new file mode 100644 index 0000000000..98e238cc18 --- /dev/null +++ b/Tools/ss14_ru/lokalisemodels.py @@ -0,0 +1,64 @@ +import typing +import os +from pydash import py_ +from project import Project + +class LocalePath: + def __init__(self, relative_file_path): + self.ru = os.path.join(Project().ru_locale_dir_path, relative_file_path) + self.en = os.path.join(Project().en_locale_dir_path, relative_file_path) + + +class LokaliseTranslation: + def __init__(self, data, key_name: typing.AnyStr): + self.key_name = key_name, + self.data = data + +class LokaliseKey: + def __init__(self, data): + self.data = data + self.key_name = self.data.key_name['web'] + self.key_base_name = self.get_key_base_name(self.key_name) + self.is_attr = self.check_is_attr() + + def get_file_path(self): + + relative_dir_path = '{relative_file_path}.ftl'.format( + relative_file_path='/'.join(self.data.key_name['web'].split('.')[0].split('::'))) + + return LocalePath(relative_dir_path) + + def get_key_base_name(self, key_name): + splitted_name = key_name.split('.') + return splitted_name[0] + + def get_key_last_name(self, key_name): + splitted_name = key_name.split('.') + return py_.last(splitted_name) + + def get_parent_key(self): + if self.is_attr: + splitted_name = self.key_name.split('.')[0:-1] + return '.'.join(splitted_name) + else: + return None + + def check_is_attr(self): + return len(self.key_name.split('.')) > 2 + + def serialize(self): + if self.is_attr: + return self.serialize_attr() + else: + return self.serialize_message() + + + + def serialize_attr(self): + return '.{name} = {value}'.format(name=self.get_key_last_name(self.key_name), value=self.get_translation('ru').data['translation']) + + def serialize_message(self): + return '{name} = {value}'.format(name=self.get_key_last_name(self.key_name), value=self.get_translation('ru').data['translation']) + + def get_translation(self, language_iso='ru'): + return list(map(lambda data: LokaliseTranslation(key_name=self.data.key_name['web'], data=data), py_.filter(self.data.translations, {'language_iso': language_iso})))[0] diff --git a/Tools/ss14_ru/project.py b/Tools/ss14_ru/project.py new file mode 100644 index 0000000000..7fcc9c7c32 --- /dev/null +++ b/Tools/ss14_ru/project.py @@ -0,0 +1,31 @@ +import pathlib +import os +import glob +from file import FluentFile + +class Project: + def __init__(self): + self.base_dir_path = pathlib.Path(os.path.abspath(os.curdir)).parent.parent.resolve() + self.resources_dir_path = os.path.join(self.base_dir_path, 'Resources') + self.locales_dir_path = os.path.join(self.resources_dir_path, 'Locale') + self.ru_locale_dir_path = os.path.join(self.locales_dir_path, 'ru-RU') + self.en_locale_dir_path = os.path.join(self.locales_dir_path, 'en-US') + self.prototypes_dir_path = os.path.join(self.resources_dir_path, "Prototypes") + self.en_locale_prototypes_dir_path = os.path.join(self.en_locale_dir_path, 'ss14-ru', 'prototypes') + self.ru_locale_prototypes_dir_path = os.path.join(self.ru_locale_dir_path, 'ss14-ru', 'prototypes') + + def get_files_paths_by_dir(self, dir_path, files_extenstion): + return glob.glob(f'{dir_path}/**/*.{files_extenstion}', recursive=True) + + def get_fluent_files_by_dir(self, dir_path): + files = [] + files_paths_list = glob.glob(f'{dir_path}/**/*.ftl', recursive=True) + + for file_path in files_paths_list: + try: + files.append(FluentFile(file_path)) + except: + continue + + return files + diff --git a/Tools/ss14_ru/translationsassembler.py b/Tools/ss14_ru/translationsassembler.py new file mode 100644 index 0000000000..4ce893626f --- /dev/null +++ b/Tools/ss14_ru/translationsassembler.py @@ -0,0 +1,67 @@ +import logging +import typing + +from fluent.syntax import FluentParser, FluentSerializer +from pydash import py_ + +from file import FluentFile +from fluentast import FluentSerializedMessage +from lokalise_fluent_ast_comparer_manager import LokaliseFluentAstComparerManager +from lokalise_project import LokaliseProject +from lokalisemodels import LokaliseKey +import os + +######################################### Class defifitions ############################################################ + +# TODO непереведенные элементы приходят как { "" }. Необходимо сохранять английский перевод +class TranslationsAssembler: + def __init__(self, items: typing.List[LokaliseKey]): + self.group = py_.group_by(items, 'key_base_name') + keys = list(self.group.keys()) + self.sorted_keys = py_.sort_by(keys, lambda key: self.sort_by_translations_timestamp(self.group[key]), + reverse=True) + + def execute(self): + for keys in self.group: + full_message = FluentSerializedMessage.from_lokalise_keys(self.group[keys]) + parsed_message = FluentParser().parse(full_message) + ru_full_path = self.group[keys][0].get_file_path().ru + ru_file = FluentFile(ru_full_path) + try: + ru_file_parsed = ru_file.read_parsed_data() + except: + logging.error(f'Файла {ru_file.full_path} не существует') + continue + + manager = LokaliseFluentAstComparerManager(sourse_parsed=ru_file_parsed, target_parsed=parsed_message) + + for_update = manager.for_update() + for_create = manager.for_create() + for_delete = manager.for_delete() + + if len(for_update): + updated_ru_file_parsed = manager.update(for_update) + updated_ru_file_serialized = FluentSerializer(with_junk=True).serialize(updated_ru_file_parsed) + ru_file.save_data(updated_ru_file_serialized) + + updated_keys = list(map(lambda el: el.get_id_name(), for_update)) + logging.info(f'Обновлены ключи: {updated_keys} в файле {ru_file.full_path}') + + def sort_by_translations_timestamp(self, list): + sorted_list = py_.sort_by(list, 'data.translations_modified_at_timestamp', reverse=True) + + return sorted_list[0].data.translations_modified_at_timestamp + +######################################## Var definitions ############################################################### + +logging.basicConfig(level=logging.INFO) +lokalise_project_id = os.getenv('lokalise_project_id') +lokalise_personal_token = os.getenv('lokalise_personal_token') +lokalise_project = LokaliseProject(project_id=lokalise_project_id, + personal_token=lokalise_personal_token) +all_keys: typing.List[LokaliseKey] = lokalise_project.get_all_keys() +translations_assembler = TranslationsAssembler(all_keys) + +######################################################################################################################## + +translations_assembler.execute() diff --git a/Tools/ss14_ru/yamlextractor.py b/Tools/ss14_ru/yamlextractor.py new file mode 100644 index 0000000000..aa8511263e --- /dev/null +++ b/Tools/ss14_ru/yamlextractor.py @@ -0,0 +1,85 @@ +import os + +from fluent.syntax.parser import FluentParser +from fluent.syntax.serializer import FluentSerializer + +from file import YAMLFile, FluentFile +from fluentast import FluentSerializedMessage, FluentAstAttributeFactory +from fluentformatter import FluentFormatter +from project import Project +import logging + +######################################### Class defifitions ############################################################ +class YAMLExtractor: + def __init__(self, yaml_files): + self.yaml_files = yaml_files + + def execute(self): + for yaml_file in yaml_files: + yaml_elements = yaml_file.get_elements(yaml_file.parse_data(yaml_file.read_data())) + + if not len(yaml_elements): + continue + + fluent_file_serialized = self.get_serialized_fluent_from_yaml_elements(yaml_elements) + + if not fluent_file_serialized: + continue + + pretty_fluent_file_serialized = formatter.format_serialized_file_data(fluent_file_serialized) + + relative_parent_dir = yaml_file.get_relative_parent_dir(project.prototypes_dir_path).lower() + file_name = yaml_file.get_name() + + en_fluent_file_path = self.create_en_fluent_file(relative_parent_dir, file_name, pretty_fluent_file_serialized) + ru_fluent_file_path = self.create_ru_fluent_file(en_fluent_file_path) + + def get_serialized_fluent_from_yaml_elements(self, yaml_elements): + fluent_serialized_messages = list( + map(lambda el: FluentSerializedMessage.from_yaml_element(el.id, el.name, FluentAstAttributeFactory.from_yaml_element(el), el.parent_id), yaml_elements) + ) + fluent_exist_serialized_messages = list(filter(lambda m: m, fluent_serialized_messages)) + + if not len(fluent_exist_serialized_messages): + return None + + return '\n'.join(fluent_exist_serialized_messages) + + def create_en_fluent_file(self, relative_parent_dir, file_name, file_data): + en_new_dir_path = os.path.join(project.en_locale_prototypes_dir_path, relative_parent_dir) + en_fluent_file = FluentFile(os.path.join(en_new_dir_path, f'{file_name}.ftl')) + en_fluent_file.save_data(file_data) + logging.info(f'Актуализирован файл английской локали {en_fluent_file.full_path}') + + return en_fluent_file.full_path + + def create_ru_fluent_file(self, en_analog_file_path): + ru_file_full_path = en_analog_file_path.replace('en-US', 'ru-RU') + + if os.path.isfile(ru_file_full_path): + return + else: + en_file = FluentFile(f'{en_analog_file_path}') + file = FluentFile(f'{ru_file_full_path}') + file.save_data(en_file.read_data()) + logging.info(f'Создан файл русской локали {ru_file_full_path}') + + return ru_file_full_path + + + +######################################## Var definitions ############################################################### + +logging.basicConfig(level = logging.INFO) +project = Project() +serializer = FluentSerializer() +parser = FluentParser() +formatter = FluentFormatter() + +yaml_files_paths = project.get_files_paths_by_dir(project.prototypes_dir_path, 'yml') +yaml_files = list(map(lambda yaml_file_path: YAMLFile(yaml_file_path), yaml_files_paths)) + +######################################################################################################################## + +logging.info(f'Поиск yaml-файлов ...') +YAMLExtractor(yaml_files).execute() diff --git a/Tools/ss14_ru/yamlmodels.py b/Tools/ss14_ru/yamlmodels.py new file mode 100644 index 0000000000..0c35e9af71 --- /dev/null +++ b/Tools/ss14_ru/yamlmodels.py @@ -0,0 +1,26 @@ +class YAMLEntity: + def __init__(self, id, name, description, suffix, parent_id = None): + self.id = id + self.name = name + self.description = description + self.suffix = suffix + self.parent_id = parent_id + + +class YAMLElements: + def __init__(self, items): + self.elements = list(map(lambda i: self.create_element(i), items)) + + def create_element(self, item): + if not 'id' in item: + return None + + if item['type'] == 'entity': + entity = YAMLEntity(item['id'], item['name'] if 'name' in item else None, + item['description'] if 'description' in item else None, + item['suffix'] if 'suffix' in item else None, + item['parent'] if 'parent' in item else None + ) + return entity + else: + return None diff --git a/Tools/translate.py b/Tools/translate.py new file mode 100644 index 0000000000..97a12147ed --- /dev/null +++ b/Tools/translate.py @@ -0,0 +1,80 @@ +#FDEV NDA licensed https://assets.station13.ru/LICENSE.txt +import yaml +import os +import re + +locale_template = "ent-{} = {}\n .desc = {}\n" + +enitites_path = "../Resources/Prototypes/Entities" +locales_path = "../Resources/Locale/ru-RU" +new_locales_path = locales_path+"/locales-new" + +existing_prototypes = {} +existing_locales = [] + +#counter for poor ss14 to now break with > 20 locales in one file +locales = 0 +new_filename = 0 +num = 0 +locale_text = "" + +#treat custom constructors as text +def default_ctor(loader, tag_suffix, node): + return f"{tag_suffix} {node.value}" + +yaml.add_multi_constructor('', default_ctor) + +#cache all existing enitites +for root, dirs, files in os.walk(enitites_path): + for filename in files: + # print(f"{root}/{filename}") + with open(f"{root}/{filename}", "r", encoding="utf-8") as file: + # text = file.read().encode() + # text = text.decode("utf-8-sig") + data = yaml.full_load_all(file) + if not data: continue + for entrylist in data: + for entry in entrylist: + entry: dict + if entry["type"] != "entity": continue + existing_prototypes[entry["id"]] = {"name":entry.get("name", '"name"'), "desc":entry.get("description", '"desc"')} + +#cache all existing locales +for root, dirs, files in os.walk(locales_path): + for filename in files: + # print(f"{root}/{filename}") + if "autotranslate-" in filename: + _num = filename.split("autotranslate-")[1] + _num = int(_num.split(".")[0]) + if _num >= num: + num = _num + new_filename = _num + 1 + with open(f"{root}/{filename}", "r", encoding="utf-8") as file: + data = re.findall(r'(?<=^ent-)(\w+)', file.read(), re.MULTILINE) + if not len(data): continue + for entity in data: + existing_locales.append(entity) + +os.makedirs(new_locales_path, exist_ok=True) + +#create locales for not existing entities +for entity, entity_data in existing_prototypes.items(): + if entity in existing_locales: continue + name = entity_data["name"] + desc = entity_data["desc"] + locale_text += locale_template.format(entity, name, desc) + locales += 1 + if locales == 20: + with open(f"{new_locales_path}/autotranslate-{new_filename}.ftl", "w", encoding="utf-8") as file: + file.write(locale_text) + locale_text = "" + new_filename += 1 + locales = 0 + +#write remaining stuff if we have that +if locale_text: + with open(f"{new_locales_path}/autotranslate-{new_filename}.ftl", "w", encoding="utf-8") as file: + file.write(locale_text) + new_filename += 1 + +print(f"Wrote {new_filename-num} new files.")