Fallback fonts + localizations (#262)
* Fallback fonts + localizations * cannot find address on h1 [skip] * fix build * fix language menu * small fix * improved regular font * format LUI stuff [skip ci] Co-authored-by: m <mjkzyalt@gmail.com>
This commit is contained in:
parent
637913f7cb
commit
367548e86e
BIN
data/cdata/fallback/fonts/defaultBold.otf
Normal file
BIN
data/cdata/fallback/fonts/defaultBold.otf
Normal file
Binary file not shown.
@ -8,7 +8,7 @@ local container = LUI.UIVerticalList.new({
|
|||||||
top = 20,
|
top = 20,
|
||||||
right = 200,
|
right = 200,
|
||||||
width = 200,
|
width = 200,
|
||||||
spacing = 5,
|
spacing = 5
|
||||||
})
|
})
|
||||||
|
|
||||||
function canasktojoin(userid)
|
function canasktojoin(userid)
|
||||||
@ -46,14 +46,14 @@ function addrequest(request)
|
|||||||
local invite = LUI.UIElement.new({
|
local invite = LUI.UIElement.new({
|
||||||
leftAnchor = true,
|
leftAnchor = true,
|
||||||
rightAnchor = true,
|
rightAnchor = true,
|
||||||
height = 75,
|
height = 75
|
||||||
})
|
})
|
||||||
|
|
||||||
invite:registerAnimationState("move_in", {
|
invite:registerAnimationState("move_in", {
|
||||||
leftAnchor = true,
|
leftAnchor = true,
|
||||||
height = 75,
|
height = 75,
|
||||||
width = 200,
|
width = 200,
|
||||||
left = -220,
|
left = -220
|
||||||
})
|
})
|
||||||
|
|
||||||
invite:animateToState("move_in", 100)
|
invite:animateToState("move_in", 100)
|
||||||
@ -71,9 +71,9 @@ function addrequest(request)
|
|||||||
color = {
|
color = {
|
||||||
r = 0,
|
r = 0,
|
||||||
b = 0,
|
b = 0,
|
||||||
g = 0,
|
g = 0
|
||||||
},
|
},
|
||||||
alpha = 0.6,
|
alpha = 0.6
|
||||||
})
|
})
|
||||||
|
|
||||||
local border = LUI.UIImage.new({
|
local border = LUI.UIImage.new({
|
||||||
@ -81,7 +81,7 @@ function addrequest(request)
|
|||||||
leftAnchor = true,
|
leftAnchor = true,
|
||||||
rightAnchor = true,
|
rightAnchor = true,
|
||||||
bottomAnchor = true,
|
bottomAnchor = true,
|
||||||
material = RegisterMaterial("btn_focused_rect_innerglow"),
|
material = RegisterMaterial("btn_focused_rect_innerglow")
|
||||||
})
|
})
|
||||||
|
|
||||||
border:setup9SliceImage(10, 5, 0.25, 0.12)
|
border:setup9SliceImage(10, 5, 0.25, 0.12)
|
||||||
@ -95,7 +95,7 @@ function addrequest(request)
|
|||||||
top = paddingvalue,
|
top = paddingvalue,
|
||||||
left = paddingvalue,
|
left = paddingvalue,
|
||||||
right = -paddingvalue,
|
right = -paddingvalue,
|
||||||
bottom = -paddingvalue,
|
bottom = -paddingvalue
|
||||||
})
|
})
|
||||||
|
|
||||||
local avatarmaterial = discord.getavatarmaterial(request.userid)
|
local avatarmaterial = discord.getavatarmaterial(request.userid)
|
||||||
@ -119,15 +119,15 @@ function addrequest(request)
|
|||||||
font = CoD.TextSettings.BodyFontBold.Font
|
font = CoD.TextSettings.BodyFontBold.Font
|
||||||
})
|
})
|
||||||
|
|
||||||
username:setText(string.format("%s^7#%s requested to join your game!",
|
username:setText(string.format("%s^7#%s requested to join your game!", truncatename(request.username, 18),
|
||||||
truncatename(request.username, 18), request.discriminator))
|
request.discriminator))
|
||||||
|
|
||||||
local buttons = LUI.UIElement.new({
|
local buttons = LUI.UIElement.new({
|
||||||
leftAnchor = true,
|
leftAnchor = true,
|
||||||
rightAnchor = true,
|
rightAnchor = true,
|
||||||
topAnchor = true,
|
topAnchor = true,
|
||||||
top = 37,
|
top = 37,
|
||||||
height = 18,
|
height = 18
|
||||||
})
|
})
|
||||||
|
|
||||||
local createbutton = function(text, left)
|
local createbutton = function(text, left)
|
||||||
@ -137,7 +137,7 @@ function addrequest(request)
|
|||||||
topAnchor = true,
|
topAnchor = true,
|
||||||
height = 18,
|
height = 18,
|
||||||
width = 85,
|
width = 85,
|
||||||
material = RegisterMaterial("btn_focused_rect_innerglow"),
|
material = RegisterMaterial("btn_focused_rect_innerglow")
|
||||||
})
|
})
|
||||||
|
|
||||||
local center = LUI.UIText.new({
|
local center = LUI.UIText.new({
|
||||||
@ -219,7 +219,7 @@ function addrequest(request)
|
|||||||
color = {
|
color = {
|
||||||
r = 92 / 255,
|
r = 92 / 255,
|
||||||
g = 206 / 255,
|
g = 206 / 255,
|
||||||
b = 113 / 255,
|
b = 113 / 255
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -229,7 +229,7 @@ function addrequest(request)
|
|||||||
bottom = -3,
|
bottom = -3,
|
||||||
left = 3,
|
left = 3,
|
||||||
width = 0,
|
width = 0,
|
||||||
height = 2,
|
height = 2
|
||||||
})
|
})
|
||||||
|
|
||||||
bar:animateToState("closing", timeout)
|
bar:animateToState("closing", timeout)
|
||||||
|
@ -57,12 +57,7 @@ function updateinfobarvisibility()
|
|||||||
infobar:animateToState("hud_on")
|
infobar:animateToState("hud_on")
|
||||||
end
|
end
|
||||||
|
|
||||||
local validstates = {
|
local validstates = {"hud_on", "active", "nosignal", "scrambled"}
|
||||||
"hud_on",
|
|
||||||
"active",
|
|
||||||
"nosignal",
|
|
||||||
"scrambled"
|
|
||||||
}
|
|
||||||
|
|
||||||
infobar:animateToState("minimap_off")
|
infobar:animateToState("minimap_off")
|
||||||
for i = 1, #validstates do
|
for i = 1, #validstates do
|
||||||
@ -78,7 +73,7 @@ function populateinfobar(infobar)
|
|||||||
|
|
||||||
if (Engine.GetDvarBool("cg_infobar_fps")) then
|
if (Engine.GetDvarBool("cg_infobar_fps")) then
|
||||||
infobar:addElement(infoelement({
|
infobar:addElement(infoelement({
|
||||||
label = "FPS: ",
|
label = Engine.Localize("@MPHUD_FPS"),
|
||||||
getvalue = function()
|
getvalue = function()
|
||||||
return game:getfps()
|
return game:getfps()
|
||||||
end,
|
end,
|
||||||
@ -89,9 +84,9 @@ function populateinfobar(infobar)
|
|||||||
|
|
||||||
if (Engine.GetDvarBool("cg_infobar_ping")) then
|
if (Engine.GetDvarBool("cg_infobar_ping")) then
|
||||||
infobar:addElement(infoelement({
|
infobar:addElement(infoelement({
|
||||||
label = "Latency: ",
|
label = Engine.Localize("@MPHUD_LATENCY"),
|
||||||
getvalue = function()
|
getvalue = function()
|
||||||
return game:getping() .. " ms"
|
return game:getping() .. Engine.Localize("@MPHUD_LATENCY_MS")
|
||||||
end,
|
end,
|
||||||
width = 115,
|
width = 115,
|
||||||
interval = 100
|
interval = 100
|
||||||
|
@ -71,37 +71,25 @@ pcdisplay.CreateOptions = function(menu)
|
|||||||
LUI.Options.AddButtonOptionVariant(menu, luiglobals.GenericButtonSettings.Variants.Common, "@MENU_BRIGHTNESS",
|
LUI.Options.AddButtonOptionVariant(menu, luiglobals.GenericButtonSettings.Variants.Common, "@MENU_BRIGHTNESS",
|
||||||
"@MENU_BRIGHTNESS_DESC1", nil, nil, nil, pcdisplay.OpenBrightnessMenu, nil, nil, nil)
|
"@MENU_BRIGHTNESS_DESC1", nil, nil, nil, pcdisplay.OpenBrightnessMenu, nil, nil, nil)
|
||||||
|
|
||||||
|
|
||||||
local reddotbounds = {
|
local reddotbounds = {
|
||||||
step = 0.2,
|
step = 0.2,
|
||||||
max = 4,
|
max = 4,
|
||||||
min = 0.2
|
min = 0.2
|
||||||
}
|
}
|
||||||
|
|
||||||
LUI.Options.AddButtonOptionVariant(
|
LUI.Options.AddButtonOptionVariant(menu, GenericButtonSettings.Variants.Slider, "@LUA_MENU_RED_DOT_BRIGHTNESS",
|
||||||
menu,
|
"@LUA_MENU_RED_DOT_BRIGHTNESS_DESC", function()
|
||||||
GenericButtonSettings.Variants.Slider,
|
return (Engine.GetDvarFloat("r_redDotBrightnessScale") - reddotbounds.min) /
|
||||||
"@LUA_MENU_RED_DOT_BRIGHTNESS",
|
(reddotbounds.max - reddotbounds.min)
|
||||||
"@LUA_MENU_RED_DOT_BRIGHTNESS_DESC",
|
end, function()
|
||||||
function()
|
Engine.SetDvarFloat("r_redDotBrightnessScale", math.min(reddotbounds.max, math.max(reddotbounds.min,
|
||||||
return (Engine.GetDvarFloat( "r_redDotBrightnessScale" ) -
|
Engine.GetDvarFloat("r_redDotBrightnessScale") - reddotbounds.step)))
|
||||||
reddotbounds.min) / (reddotbounds.max - reddotbounds.min)
|
end, function()
|
||||||
end,
|
Engine.SetDvarFloat("r_redDotBrightnessScale", math.min(reddotbounds.max, math.max(reddotbounds.min,
|
||||||
function()
|
Engine.GetDvarFloat("r_redDotBrightnessScale") + reddotbounds.step)))
|
||||||
Engine.SetDvarFloat("r_redDotBrightnessScale",
|
end)
|
||||||
math.min(reddotbounds.max,
|
|
||||||
math.max(reddotbounds.min, Engine.GetDvarFloat("r_redDotBrightnessScale") - reddotbounds.step))
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
function()
|
|
||||||
Engine.SetDvarFloat("r_redDotBrightnessScale",
|
|
||||||
math.min(reddotbounds.max,
|
|
||||||
math.max(reddotbounds.min, Engine.GetDvarFloat("r_redDotBrightnessScale") + reddotbounds.step))
|
|
||||||
)
|
|
||||||
end
|
|
||||||
)
|
|
||||||
|
|
||||||
createdivider(menu, "TELEMETRY")
|
createdivider(menu, Engine.Localize("@LUA_MENU_TELEMETRY"))
|
||||||
|
|
||||||
LUI.Options.CreateOptionButton(menu, "cg_infobar_ping", "@LUA_MENU_LATENCY", "@LUA_MENU_LATENCY_DESC", {{
|
LUI.Options.CreateOptionButton(menu, "cg_infobar_ping", "@LUA_MENU_LATENCY", "@LUA_MENU_LATENCY_DESC", {{
|
||||||
text = "@LUA_MENU_ENABLED",
|
text = "@LUA_MENU_ENABLED",
|
||||||
|
@ -52,8 +52,7 @@ function getmodname(path)
|
|||||||
game:addlocalizedstring(data.description, data.description)
|
game:addlocalizedstring(data.description, data.description)
|
||||||
game:addlocalizedstring(data.author, data.author)
|
game:addlocalizedstring(data.author, data.author)
|
||||||
game:addlocalizedstring(data.version, data.version)
|
game:addlocalizedstring(data.version, data.version)
|
||||||
desc = Engine.Localize("@LUA_MENU_MOD_DESC",
|
desc = Engine.Localize("@LUA_MENU_MOD_DESC", data.description, data.author, data.version)
|
||||||
data.description, data.author, data.version)
|
|
||||||
name = data.name
|
name = data.name
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
@ -67,7 +66,8 @@ LUI.MenuBuilder.registerType("mods_menu", function(a1)
|
|||||||
exclusiveController = 0,
|
exclusiveController = 0,
|
||||||
menu_width = 400,
|
menu_width = 400,
|
||||||
menu_top_indent = LUI.MenuTemplate.spMenuOffset,
|
menu_top_indent = LUI.MenuTemplate.spMenuOffset,
|
||||||
showTopRightSmallBar = true
|
showTopRightSmallBar = true,
|
||||||
|
uppercase_title = true
|
||||||
})
|
})
|
||||||
|
|
||||||
local modfolder = game:getloadedmod()
|
local modfolder = game:getloadedmod()
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
require("language")
|
||||||
|
|
||||||
if (game:issingleplayer()) then
|
if (game:issingleplayer()) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@ -11,8 +13,8 @@ end
|
|||||||
|
|
||||||
-- defined in mp_hud/hudutils.lua
|
-- defined in mp_hud/hudutils.lua
|
||||||
function GetGameModeName()
|
function GetGameModeName()
|
||||||
return Engine.Localize(Engine.TableLookup(GameTypesTable.File,
|
return Engine.Localize(Engine.TableLookup(GameTypesTable.File, GameTypesTable.Cols.Ref, GameX.GetGameMode(),
|
||||||
GameTypesTable.Cols.Ref, GameX.GetGameMode(), GameTypesTable.Cols.Name))
|
GameTypesTable.Cols.Name))
|
||||||
end
|
end
|
||||||
|
|
||||||
function NeverAllowChangeTeams()
|
function NeverAllowChangeTeams()
|
||||||
|
97
data/cdata/ui_scripts/patches/language.lua
Normal file
97
data/cdata/ui_scripts/patches/language.lua
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
local available_languages = {"english", "english_safe", "french", "german", "italian", "polish", "portuguese",
|
||||||
|
"russian", "spanish", "simplified_chinese", "traditional_chinese", "japanese_partial",
|
||||||
|
"korean"}
|
||||||
|
local current_language = "english"
|
||||||
|
|
||||||
|
LUI.UIButtonText.IsOffsetedLanguage = function()
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function get_current_language()
|
||||||
|
current_language = game:getcurrentgamelanguage()
|
||||||
|
end
|
||||||
|
|
||||||
|
function set_language(value)
|
||||||
|
local file_path = "players2/default/language"
|
||||||
|
local file = io.open(file_path, "w")
|
||||||
|
file:write(value)
|
||||||
|
file:close()
|
||||||
|
end
|
||||||
|
|
||||||
|
function does_zone_folder_exists(language)
|
||||||
|
return io.directoryexists("zone/" .. language)
|
||||||
|
end
|
||||||
|
|
||||||
|
get_current_language()
|
||||||
|
|
||||||
|
LUI.addmenubutton("pc_controls", {
|
||||||
|
index = 4,
|
||||||
|
text = "@MENU_LANGUAGE",
|
||||||
|
description = Engine.Localize("@LUA_MENU_CHOOSE_LANGUAGE"),
|
||||||
|
callback = function()
|
||||||
|
LUI.FlowManager.RequestAddMenu(nil, "choose_language_menu")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
LUI.MenuBuilder.registerType("choose_language_menu", function(a1)
|
||||||
|
local menu = LUI.MenuTemplate.new(a1, {
|
||||||
|
menu_title = "@LUA_MENU_CHOOSE_LANGUAGE",
|
||||||
|
menu_list_divider_top_offset = -(LUI.H1MenuTab.tabChangeHoldingElementHeight + H1MenuDims.spacing),
|
||||||
|
uppercase_title = true
|
||||||
|
})
|
||||||
|
|
||||||
|
function createdivider(menu, text)
|
||||||
|
local element = LUI.UIElement.new({
|
||||||
|
leftAnchor = true,
|
||||||
|
rightAnchor = false,
|
||||||
|
left = 10,
|
||||||
|
right = 0,
|
||||||
|
topAnchor = true,
|
||||||
|
bottomAnchor = false,
|
||||||
|
top = 0,
|
||||||
|
bottom = 33.33
|
||||||
|
})
|
||||||
|
|
||||||
|
element.scrollingToNext = true
|
||||||
|
element:addElement(LUI.MenuBuilder.BuildRegisteredType("h1_option_menu_titlebar", {
|
||||||
|
title_bar_text = text
|
||||||
|
}))
|
||||||
|
|
||||||
|
menu.list:addElement(element)
|
||||||
|
end
|
||||||
|
|
||||||
|
createdivider(menu, "^2" .. Engine.Localize("@LUA_MENU_DOWNLOAD") .. ": ^7https://docs.h1.gg/languages")
|
||||||
|
|
||||||
|
for i = 1, #available_languages do
|
||||||
|
if does_zone_folder_exists(available_languages[i]) then
|
||||||
|
menu:AddButton(Engine.Localize(string.format("MENU_%s", available_languages[i])), function()
|
||||||
|
LUI.yesnopopup({
|
||||||
|
title = Engine.Localize("@MENU_NOTICE"),
|
||||||
|
text = Engine.Localize("MENU_" .. current_language) .. " → " ..
|
||||||
|
Engine.Localize("MENU_" .. available_languages[i]) .. "\n\n" ..
|
||||||
|
Engine.Localize("@LUA_MENU_CONFIRM_LANGUAGE") .. " " ..
|
||||||
|
Engine.Localize("@MENU_APPLY_LANGUAGE_SETTINGS"),
|
||||||
|
callback = function(result)
|
||||||
|
if (result) then
|
||||||
|
set_language(available_languages[i])
|
||||||
|
updater.relaunch()
|
||||||
|
else
|
||||||
|
LUI.FlowManager.RequestLeaveMenu(popup)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
end, available_languages[i] == current_language, true, nil, {
|
||||||
|
desc_text = Engine.Localize("LOCALE_" .. (available_languages[i]))
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
LUI.Options.InitScrollingList(menu.list, nil, {
|
||||||
|
rows = 12
|
||||||
|
})
|
||||||
|
|
||||||
|
LUI.Options.AddOptionTextInfo(menu)
|
||||||
|
menu:AddBackButton()
|
||||||
|
|
||||||
|
return menu
|
||||||
|
end)
|
@ -5,33 +5,27 @@ if (not SystemLinkJoinMenu) then
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local columns = {
|
local columns = {{
|
||||||
{
|
|
||||||
offset = 40,
|
offset = 40,
|
||||||
text = "@MENU_HOST_NAME",
|
text = "@MENU_HOST_NAME",
|
||||||
dataindex = 0
|
dataindex = 0
|
||||||
},
|
}, {
|
||||||
{
|
|
||||||
offset = 500,
|
offset = 500,
|
||||||
text = "@MENU_MAP",
|
text = "@MENU_MAP",
|
||||||
dataindex = 1
|
dataindex = 1
|
||||||
},
|
}, {
|
||||||
{
|
offset = 725,
|
||||||
offset = 700,
|
|
||||||
text = "@MENU_TYPE1",
|
text = "@MENU_TYPE1",
|
||||||
dataindex = 3
|
dataindex = 3
|
||||||
},
|
}, {
|
||||||
{
|
offset = 920,
|
||||||
offset = 950,
|
|
||||||
text = "@MENU_NUMPLAYERS",
|
text = "@MENU_NUMPLAYERS",
|
||||||
dataindex = 2
|
dataindex = 2
|
||||||
},
|
}, {
|
||||||
{
|
offset = 1070,
|
||||||
offset = 1100,
|
|
||||||
text = "@MENU_PING",
|
text = "@MENU_PING",
|
||||||
dataindex = 4
|
dataindex = 4
|
||||||
},
|
}, {
|
||||||
{
|
|
||||||
offset = 10,
|
offset = 10,
|
||||||
image = "s1_icon_locked",
|
image = "s1_icon_locked",
|
||||||
customelement = function(value, offset)
|
customelement = function(value, offset)
|
||||||
@ -52,8 +46,7 @@ local columns = {
|
|||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
dataindex = 5
|
dataindex = 5
|
||||||
}
|
}}
|
||||||
}
|
|
||||||
|
|
||||||
function textlength(text, font, height)
|
function textlength(text, font, height)
|
||||||
local _, _, width = luiglobals.GetTextDimensions(text, font, height)
|
local _, _, width = luiglobals.GetTextDimensions(text, font, height)
|
||||||
@ -140,7 +133,8 @@ SystemLinkJoinMenu.AddServerButton = function(menu, controller, index)
|
|||||||
local element = columns[i].customelement(value, columns[i].offset)
|
local element = columns[i].customelement(value, columns[i].offset)
|
||||||
button.textHolder:addElement(element)
|
button.textHolder:addElement(element)
|
||||||
else
|
else
|
||||||
SystemLinkJoinMenu.MakeText(button.textHolder, columns[i].offset, gettext(i), luiglobals.Colors.h1.medium_grey)
|
SystemLinkJoinMenu.MakeText(button.textHolder, columns[i].offset, gettext(i),
|
||||||
|
luiglobals.Colors.h1.medium_grey)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -199,7 +193,7 @@ function menu_systemlink_join(f19_arg0, f19_arg1)
|
|||||||
bottom = 58,
|
bottom = 58,
|
||||||
font = CoD.TextSettings.BodyFont.Font,
|
font = CoD.TextSettings.BodyFont.Font,
|
||||||
width = 300,
|
width = 300,
|
||||||
alignment = LUI.Alignment.Right,
|
alignment = LUI.Alignment.Right
|
||||||
})
|
})
|
||||||
menu:addElement(playercount)
|
menu:addElement(playercount)
|
||||||
|
|
||||||
@ -210,7 +204,7 @@ function menu_systemlink_join(f19_arg0, f19_arg1)
|
|||||||
bottom = 58 - 25,
|
bottom = 58 - 25,
|
||||||
font = CoD.TextSettings.BodyFont.Font,
|
font = CoD.TextSettings.BodyFont.Font,
|
||||||
width = 300,
|
width = 300,
|
||||||
alignment = LUI.Alignment.Right,
|
alignment = LUI.Alignment.Right
|
||||||
})
|
})
|
||||||
menu:addElement(servercount)
|
menu:addElement(servercount)
|
||||||
|
|
||||||
|
@ -1,2 +1,14 @@
|
|||||||
|
deu_h1_mod_common
|
||||||
eng_h1_mod_common
|
eng_h1_mod_common
|
||||||
|
ens_h1_mod_common
|
||||||
|
fra_h1_mod_common
|
||||||
h1_mod_common
|
h1_mod_common
|
||||||
|
ita_h1_mod_common
|
||||||
|
jpp_h1_mod_common
|
||||||
|
kor_h1_mod_common
|
||||||
|
pol_h1_mod_common
|
||||||
|
por_h1_mod_common
|
||||||
|
rus_h1_mod_common
|
||||||
|
sch_h1_mod_common
|
||||||
|
spa_h1_mod_common
|
||||||
|
tch_h1_mod_common
|
1
data/zone_source/deu_h1_mod_common.csv
Normal file
1
data/zone_source/deu_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,german
|
|
1
data/zone_source/ens_h1_mod_common.csv
Normal file
1
data/zone_source/ens_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,english_safe
|
|
1
data/zone_source/fra_h1_mod_common.csv
Normal file
1
data/zone_source/fra_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,french
|
|
@ -1 +1,2 @@
|
|||||||
localize,english
|
localize,english
|
||||||
|
ttf,fonts/default.otf
|
|
1
data/zone_source/ita_h1_mod_common.csv
Normal file
1
data/zone_source/ita_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,italian
|
|
1
data/zone_source/jpp_h1_mod_common.csv
Normal file
1
data/zone_source/jpp_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,japanese_partial
|
|
1
data/zone_source/kor_h1_mod_common.csv
Normal file
1
data/zone_source/kor_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,korean
|
|
1
data/zone_source/pol_h1_mod_common.csv
Normal file
1
data/zone_source/pol_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,polish
|
|
1
data/zone_source/por_h1_mod_common.csv
Normal file
1
data/zone_source/por_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,portuguese
|
|
1
data/zone_source/rus_h1_mod_common.csv
Normal file
1
data/zone_source/rus_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,russian
|
|
1
data/zone_source/sch_h1_mod_common.csv
Normal file
1
data/zone_source/sch_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,simplified_chinese
|
|
1
data/zone_source/spa_h1_mod_common.csv
Normal file
1
data/zone_source/spa_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,spanish
|
|
1
data/zone_source/tch_h1_mod_common.csv
Normal file
1
data/zone_source/tch_h1_mod_common.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
localize,traditional_chinese
|
|
BIN
data/zonetool/fonts/default.otf
Normal file
BIN
data/zonetool/fonts/default.otf
Normal file
Binary file not shown.
@ -49,5 +49,47 @@
|
|||||||
"LUA_MENU_SAVE": "Save changes",
|
"LUA_MENU_SAVE": "Save changes",
|
||||||
"LUA_MENU_SAVE_DESC": "Save changes.",
|
"LUA_MENU_SAVE_DESC": "Save changes.",
|
||||||
"LUA_MENU_SETTINGS": "Settings",
|
"LUA_MENU_SETTINGS": "Settings",
|
||||||
"LUA_MENU_EDIT_STATS": "Edit Stats"
|
"LUA_MENU_EDIT_STATS": "Edit Stats",
|
||||||
|
|
||||||
|
"UPDATER_POPUP_NO_UPDATES_AVAILABLE": "No updates available",
|
||||||
|
"UPDATER_POPUP_AVAILABLE_UPDATE_TEXT": "An update is available, proceed with installation?",
|
||||||
|
"UPDATER_POPUP_SUCCESSFUL": "Update successful",
|
||||||
|
"UPDATER_POPUP_RESTART_POPUP_TEXT": "Update requires restart",
|
||||||
|
"UPDATER_POPUP_CHECKING_FOR_UPDATES": "Checking for updates...",
|
||||||
|
|
||||||
|
"MPHUD_FPS": "FPS: ",
|
||||||
|
"MPHUD_LATENCY": "Latency: ",
|
||||||
|
"MPHUD_LATENCY_MS": " ms",
|
||||||
|
"LUA_MENU_TELEMETRY": "TELEMETRY",
|
||||||
|
|
||||||
|
"MENU_ENGLISH": "English",
|
||||||
|
"MENU_ENGLISH_SAFE": "English (Safe)",
|
||||||
|
"MENU_FRENCH": "Français",
|
||||||
|
"MENU_GERMAN": "Deutsch",
|
||||||
|
"MENU_ITALIAN": "Italiano",
|
||||||
|
"MENU_JAPANESE_PARTIAL": "日本語(一部)",
|
||||||
|
"MENU_KOREAN": "한국어",
|
||||||
|
"MENU_POLISH": "Polski",
|
||||||
|
"MENU_PORTUGUESE": "Português",
|
||||||
|
"MENU_RUSSIAN": "Русский",
|
||||||
|
"MENU_SIMPLIFIED_CHINESE": "简体中文",
|
||||||
|
"MENU_SPANISH": "Español",
|
||||||
|
"MENU_TRADITIONAL_CHINESE": "繁體中文",
|
||||||
|
|
||||||
|
"LOCALE_ENGLISH": "English",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "English (Safe)",
|
||||||
|
"LOCALE_FRENCH": "French",
|
||||||
|
"LOCALE_GERMAN": "German",
|
||||||
|
"LOCALE_ITALIAN": "Italian",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "Japanese (Partial)",
|
||||||
|
"LOCALE_KOREAN": "Korean",
|
||||||
|
"LOCALE_POLISH": "Polish",
|
||||||
|
"LOCALE_PORTUGUESE": "Portuguese",
|
||||||
|
"LOCALE_RUSSIAN": "Russian",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "Simplified Chinese",
|
||||||
|
"LOCALE_SPANISH": "Spanish",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "Traditional Chinese",
|
||||||
|
|
||||||
|
"LUA_MENU_CHOOSE_LANGUAGE": "Choose your language",
|
||||||
|
"MENU_APPLY_LANGUAGE_SETTINGS": "Apply language settings?"
|
||||||
}
|
}
|
95
data/zonetool/localizedstrings/english_safe.json
Normal file
95
data/zonetool/localizedstrings/english_safe.json
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
{
|
||||||
|
"CUSTOM_DEPOT_EULA_1": "Dear User,",
|
||||||
|
"CUSTOM_DEPOT_EULA_2": "By using this feature, you acknowledge that you are over the age of 18 years old, and that any sort of gambling is allowed in your country. (even if they do not involve real money)",
|
||||||
|
"CUSTOM_DEPOT_EULA_3": "The H1-mod team is not responsible if you break any law within your country, and the sole responsibility will be upon you to respect the same.",
|
||||||
|
"CUSTOM_DEPOT_EULA_4": "The H1-mod team will never include real money transactions within the modified systems. The only way to get currency, should you wish to, is by playing the game.",
|
||||||
|
"CUSTOM_DEPOT_EULA_5": "Best regards,",
|
||||||
|
"CUSTOM_DEPOT_EULA_6": "The H1-mod team.",
|
||||||
|
|
||||||
|
"LUA_MENU_FPS": "FPS Counter",
|
||||||
|
"LUA_MENU_FPS_DESC": "Show FPS counter.",
|
||||||
|
"LUA_MENU_LATENCY": "Server Latency",
|
||||||
|
"LUA_MENU_LATENCY_DESC": "Show server latency.",
|
||||||
|
"LUA_MENU_RED_DOT_BRIGHTNESS": "Red Dot Brightness",
|
||||||
|
"LUA_MENU_RED_DOT_BRIGHTNESS_DESC": "Adjust the brightness of red dot reticles.",
|
||||||
|
|
||||||
|
"MENU_SYSINFO_CUSTOMER_SUPPORT_URL": "https://h1.gg/",
|
||||||
|
|
||||||
|
"MENU_MODS": "MODS",
|
||||||
|
"MENU_MODS_DESC": "Load installed mods.",
|
||||||
|
"LUA_MENU_MOD_DESC_DEFAULT": "Load &&1.",
|
||||||
|
"LUA_MENU_MOD_DESC": "&&1\nAuthor: &&2\nVersion: &&3",
|
||||||
|
"LUA_MENU_LOADED_MOD": "Loaded mod: ^2&&1",
|
||||||
|
"LUA_MENU_AVAILABLE_MODS": "Available mods",
|
||||||
|
"LUA_MENU_UNLOAD": "Unload",
|
||||||
|
"LUA_MENU_UNLOAD_DESC": "Unload the currently loaded mod.",
|
||||||
|
|
||||||
|
"PLATFORM_SHADER_PRECACHE_ASK": "Would you like to populate the shader cache? It may cause crashes with certain GPUs (e.g. RTX cards) but will improve performance if successful.",
|
||||||
|
"MENU_NO_DONT_ASK": "No, don't ask me again",
|
||||||
|
|
||||||
|
"LUA_MENU_SERVERLIST": "SERVER LIST",
|
||||||
|
"MENU_NUMPLAYERS": "Players",
|
||||||
|
"MENU_PING": "Ping",
|
||||||
|
"SERVERLIST_PLAYER_COUNT": "&&1 Players",
|
||||||
|
"SERVERLIST_SERVER_COUNT": "&&1 Servers",
|
||||||
|
|
||||||
|
"LUA_MENU_STATS": "Stats",
|
||||||
|
"LUA_MENU_STATS_DESC": "Edit player stats settings.",
|
||||||
|
"LUA_MENU_UNLOCKALL_ITEMS": "Unlock all items",
|
||||||
|
"LUA_MENU_UNLOCKALL_ITEMS_DESC": "Whether items should be locked based on the player's stats or always unlocked.",
|
||||||
|
"LUA_MENU_UNLOCKALL_LOOT": "Unlock all loot",
|
||||||
|
"LUA_MENU_UNLOCKALL_LOOT_DESC": "Whether loot should be locked based on the player's stats or always unlocked.",
|
||||||
|
"LUA_MENU_UNLOCKALL_CLASSES": "Unlock all classes",
|
||||||
|
"LUA_MENU_UNLOCKALL_CLASSES_DESC": "Whether classes should be locked based on the player's stats or always unlocked.",
|
||||||
|
"LUA_MENU_PRESTIGE": "Prestige",
|
||||||
|
"LUA_MENU_PRESTIGE_DESC": "Edit prestige level.",
|
||||||
|
"LUA_MENU_RANK": "Rank",
|
||||||
|
"LUA_MENU_RANK_DESC": "Edit rank.",
|
||||||
|
"LUA_MENU_UNSAVED_CHANGES": "You have unsaved changes: are you sure you want to exit?",
|
||||||
|
"LUA_MENU_SAVE": "Save changes",
|
||||||
|
"LUA_MENU_SAVE_DESC": "Save changes.",
|
||||||
|
"LUA_MENU_SETTINGS": "Settings",
|
||||||
|
"LUA_MENU_EDIT_STATS": "Edit Stats",
|
||||||
|
|
||||||
|
"UPDATER_POPUP_NO_UPDATES_AVAILABLE": "No updates available",
|
||||||
|
"UPDATER_POPUP_AVAILABLE_UPDATE_TEXT": "An update is available, proceed with installation?",
|
||||||
|
"UPDATER_POPUP_SUCCESSFUL": "Update successful",
|
||||||
|
"UPDATER_POPUP_RESTART_POPUP_TEXT": "Update requires restart",
|
||||||
|
"UPDATER_POPUP_CHECKING_FOR_UPDATES": "Checking for updates...",
|
||||||
|
|
||||||
|
"MPHUD_FPS": "FPS: ",
|
||||||
|
"MPHUD_LATENCY": "Latency: ",
|
||||||
|
"MPHUD_LATENCY_MS": " ms",
|
||||||
|
"LUA_MENU_TELEMETRY": "TELEMETRY",
|
||||||
|
|
||||||
|
"MENU_ENGLISH": "English",
|
||||||
|
"MENU_ENGLISH_SAFE": "English (Safe)",
|
||||||
|
"MENU_FRENCH": "Français",
|
||||||
|
"MENU_GERMAN": "Deutsch",
|
||||||
|
"MENU_ITALIAN": "Italiano",
|
||||||
|
"MENU_JAPANESE_PARTIAL": "日本語(一部)",
|
||||||
|
"MENU_KOREAN": "한국어",
|
||||||
|
"MENU_POLISH": "Polski",
|
||||||
|
"MENU_PORTUGUESE": "Português",
|
||||||
|
"MENU_RUSSIAN": "Русский",
|
||||||
|
"MENU_SIMPLIFIED_CHINESE": "简体中文",
|
||||||
|
"MENU_SPANISH": "Español",
|
||||||
|
"MENU_TRADITIONAL_CHINESE": "繁體中文",
|
||||||
|
|
||||||
|
"LOCALE_ENGLISH": "English",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "English (Safe)",
|
||||||
|
"LOCALE_FRENCH": "French",
|
||||||
|
"LOCALE_GERMAN": "German",
|
||||||
|
"LOCALE_ITALIAN": "Italian",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "Japanese (Partial)",
|
||||||
|
"LOCALE_KOREAN": "Korean",
|
||||||
|
"LOCALE_POLISH": "Polish",
|
||||||
|
"LOCALE_PORTUGUESE": "Portuguese",
|
||||||
|
"LOCALE_RUSSIAN": "Russian",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "Simplified Chinese",
|
||||||
|
"LOCALE_SPANISH": "Spanish",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "Traditional Chinese",
|
||||||
|
|
||||||
|
"LUA_MENU_CHOOSE_LANGUAGE": "Choose your language",
|
||||||
|
"MENU_APPLY_LANGUAGE_SETTINGS": "Apply language settings?"
|
||||||
|
}
|
76
data/zonetool/localizedstrings/french.json
Normal file
76
data/zonetool/localizedstrings/french.json
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
{
|
||||||
|
"LUA_MENU_FPS": "Compteur d'IPS",
|
||||||
|
"LUA_MENU_FPS_DESC": "Afficher le compteur d'IPS.",
|
||||||
|
"LUA_MENU_LATENCY": "Latence du serveur",
|
||||||
|
"LUA_MENU_LATENCY_DESC": "Afficher la latence du serveur",
|
||||||
|
"LUA_MENU_RED_DOT_BRIGHTNESS": "Luminosité du point rouge",
|
||||||
|
"LUA_MENU_RED_DOT_BRIGHTNESS_DESC": "Ajustez la luminosité du point rouge des réticules.",
|
||||||
|
|
||||||
|
"MENU_MODS": "MODS",
|
||||||
|
"MENU_MODS_DESC": "Charger les mods installés.",
|
||||||
|
"LUA_MENU_MOD_DESC_DEFAULT": "Charger &&1.",
|
||||||
|
"LUA_MENU_MOD_DESC": "&&1\nAuteur: &&2\nVersion: &&3",
|
||||||
|
"LUA_MENU_LOADED_MOD": "Mod chargé: ^2&&1",
|
||||||
|
"LUA_MENU_AVAILABLE_MODS": "Mods disponibles",
|
||||||
|
"LUA_MENU_UNLOAD": "Décharger",
|
||||||
|
"LUA_MENU_UNLOAD_DESC": "Déchargez le mod actuellement chargé.",
|
||||||
|
|
||||||
|
"PLATFORM_SHADER_PRECACHE_ASK": "Souhaitez-vous remplir le cache de shader ? Cela peut provoquer des plantages avec certains GPU (par exemple, les cartes RTX), mais améliorera les performances en cas de succès.",
|
||||||
|
"MENU_NO_DONT_ASK": "Non, ne plus me le demander",
|
||||||
|
|
||||||
|
"LUA_MENU_SERVERLIST": "LISTE DES SERVEURS",
|
||||||
|
"MENU_NUMPLAYERS": "Joueurs",
|
||||||
|
"MENU_PING": "Latence",
|
||||||
|
"SERVERLIST_PLAYER_COUNT": "&&1 Joueurs",
|
||||||
|
"SERVERLIST_SERVER_COUNT": "&&1 Serveurs",
|
||||||
|
|
||||||
|
"LUA_MENU_STATS": "Stats",
|
||||||
|
"LUA_MENU_STATS_DESC": "Modifier les paramètres des statistiques du joueur.",
|
||||||
|
"LUA_MENU_UNLOCKALL_ITEMS": "Déverrouiller tous les éléments",
|
||||||
|
"LUA_MENU_UNLOCKALL_ITEMS_DESC": "Si les éléments doivent être verrouillés en fonction des statistiques du joueur ou toujours déverrouillés.",
|
||||||
|
"LUA_MENU_UNLOCKALL_LOOT": "Débloquez tout le butin",
|
||||||
|
"LUA_MENU_UNLOCKALL_LOOT_DESC": "Si le butin doit être verrouillé en fonction des statistiques du joueur ou toujours déverrouillé.",
|
||||||
|
"LUA_MENU_UNLOCKALL_CLASSES": "Débloquer toutes les classes",
|
||||||
|
"LUA_MENU_UNLOCKALL_CLASSES_DESC": "Si les classes doivent être verrouillées en fonction des statistiques du joueur ou toujours déverrouillées.",
|
||||||
|
"LUA_MENU_PRESTIGE": "Prestige",
|
||||||
|
"LUA_MENU_PRESTIGE_DESC": "Modifier le niveau de prestige.",
|
||||||
|
"LUA_MENU_RANK": "Grade",
|
||||||
|
"LUA_MENU_RANK_DESC": "Modifier le grade.",
|
||||||
|
"LUA_MENU_UNSAVED_CHANGES": "Vous avez des modifications non enregistrées, êtes-vous sûr de vouloir quitter ?",
|
||||||
|
"LUA_MENU_SAVE": "Sauvegarder les modifications",
|
||||||
|
"LUA_MENU_SAVE_DESC": "Sauvegarder les modifications.",
|
||||||
|
"LUA_MENU_SETTINGS": "Paramètres",
|
||||||
|
"LUA_MENU_EDIT_STATS": "Modifier les statistiques",
|
||||||
|
|
||||||
|
"UPDATER_POPUP_NO_UPDATES_AVAILABLE": "Aucune mise à jour disponible",
|
||||||
|
"UPDATER_POPUP_AVAILABLE_UPDATE_TEXT": "Une mise à jour est disponible,\npoursuivre l'installation ?",
|
||||||
|
"UPDATER_POPUP_SUCCESSFUL": "Mise à jour réussie",
|
||||||
|
"UPDATER_POPUP_RESTART_POPUP_TEXT": "La mise à jour nécessite un redémarrage",
|
||||||
|
"UPDATER_POPUP_CHECKING_FOR_UPDATES": "Vérification des mises à jour...",
|
||||||
|
|
||||||
|
"MPHUD_FPS": "IPS: ",
|
||||||
|
"MPHUD_LATENCY": "Latence: ",
|
||||||
|
"MPHUD_LATENCY_MS": " ms",
|
||||||
|
"LUA_MENU_TELEMETRY": "TÉLÉMÉTRIE",
|
||||||
|
|
||||||
|
"LOCALE_ENGLISH": "Anglais",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "Anglais (sécuritaire)",
|
||||||
|
"LOCALE_FRENCH": "Français",
|
||||||
|
"LOCALE_GERMAN": "Allemand",
|
||||||
|
"LOCALE_ITALIAN": "Italien",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "Japonais (partiel)",
|
||||||
|
"LOCALE_KOREAN": "Coréen",
|
||||||
|
"LOCALE_POLISH": "Polonais",
|
||||||
|
"LOCALE_PORTUGUESE": "Portugais",
|
||||||
|
"LOCALE_RUSSIAN": "Russe",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "Chinois simplifié",
|
||||||
|
"LOCALE_SPANISH": "Espagnol",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "Chinois traditionnel",
|
||||||
|
|
||||||
|
"LUA_MENU_CHOOSE_LANGUAGE": "Choisissez la langue",
|
||||||
|
|
||||||
|
"LUA_MENU_MULTIPLAYER_CAPS": "H1-MOD: MULTIJOUEUR\n",
|
||||||
|
"MENU_MULTIPLAYER_CAPS": "H1-MOD: MULTIJOUEUR\n",
|
||||||
|
|
||||||
|
"PLATFORM_SYSTEM_LINK_TITLE": "LISTE DES SERVEURS"
|
||||||
|
}
|
15
data/zonetool/localizedstrings/german.json
Normal file
15
data/zonetool/localizedstrings/german.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"LOCALE_ENGLISH": "Englisch",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "Englisch (Sicher)",
|
||||||
|
"LOCALE_FRENCH": "Französisch",
|
||||||
|
"LOCALE_GERMAN": "Deutsch",
|
||||||
|
"LOCALE_ITALIAN": "Italienisch",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "Japanisch (Untertitelt)",
|
||||||
|
"LOCALE_KOREAN": "Koreanisch",
|
||||||
|
"LOCALE_POLISH": "Polnisch",
|
||||||
|
"LOCALE_PORTUGUESE": "Portugiesisch",
|
||||||
|
"LOCALE_RUSSIAN": "Russisch",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "Vereinfachtes Chinesisch",
|
||||||
|
"LOCALE_SPANISH": "Spanisch",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "Traditionelles Chinesisch"
|
||||||
|
}
|
23
data/zonetool/localizedstrings/italian.json
Normal file
23
data/zonetool/localizedstrings/italian.json
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"MENU_MODS_DESC": "Abilita mod installate.",
|
||||||
|
"LUA_MENU_MOD_DESC_DEFAULT": "Abilita &&1.",
|
||||||
|
"LUA_MENU_MOD_DESC": "&&1\nAutore: &&2\nVersione: &&3",
|
||||||
|
"LUA_MENU_LOADED_MOD": "Mod attiva: ^2&&1",
|
||||||
|
"LUA_MENU_AVAILABLE_MODS": "Mod disponibili",
|
||||||
|
"LUA_MENU_UNLOAD": "Disabilita",
|
||||||
|
"LUA_MENU_UNLOAD_DESC": "Disabilita la mod attualmente attiva.",
|
||||||
|
|
||||||
|
"LOCALE_ENGLISH": "Inglese",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "Inglese (sicuro)",
|
||||||
|
"LOCALE_FRENCH": "Francese",
|
||||||
|
"LOCALE_GERMAN": "Tedesco",
|
||||||
|
"LOCALE_ITALIAN": "Italiano",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "Giapponese (parziale)",
|
||||||
|
"LOCALE_KOREAN": "Coreano",
|
||||||
|
"LOCALE_POLISH": "Polacco",
|
||||||
|
"LOCALE_PORTUGUESE": "Portoghese",
|
||||||
|
"LOCALE_RUSSIAN": "Russo",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "Cinese semplificato",
|
||||||
|
"LOCALE_SPANISH": "Spagnolo",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "Cinese tradizionale"
|
||||||
|
}
|
15
data/zonetool/localizedstrings/japenese_partial.json
Normal file
15
data/zonetool/localizedstrings/japenese_partial.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"LOCALE_ENGLISH": "英語",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "英語(検閲)",
|
||||||
|
"LOCALE_FRENCH": "フランス語",
|
||||||
|
"LOCALE_GERMAN": "ドイツ語",
|
||||||
|
"LOCALE_ITALIAN": "イタリア語",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "日本語(一部)",
|
||||||
|
"LOCALE_KOREAN": "韓国語",
|
||||||
|
"LOCALE_POLISH": "ポーランド語",
|
||||||
|
"LOCALE_PORTUGUESE": "ポルトガル語",
|
||||||
|
"LOCALE_RUSSIAN": "ロシア語",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "簡体字中国語",
|
||||||
|
"LOCALE_SPANISH": "スペイン語",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "繁体字中国語"
|
||||||
|
}
|
15
data/zonetool/localizedstrings/korean.json
Normal file
15
data/zonetool/localizedstrings/korean.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"LOCALE_ENGLISH": "영어",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "영어(검열)",
|
||||||
|
"LOCALE_FRENCH": "프랑스어",
|
||||||
|
"LOCALE_GERMAN": "독일어",
|
||||||
|
"LOCALE_ITALIAN": "이탈리아어",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "일본어(일부)",
|
||||||
|
"LOCALE_KOREAN": "한국어",
|
||||||
|
"LOCALE_POLISH": "폴란드어",
|
||||||
|
"LOCALE_PORTUGUESE": "포르투갈어",
|
||||||
|
"LOCALE_RUSSIAN": "러시아어",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "중국어(간체)",
|
||||||
|
"LOCALE_SPANISH": "스페인어",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "중국어(번체)"
|
||||||
|
}
|
15
data/zonetool/localizedstrings/polish.json
Normal file
15
data/zonetool/localizedstrings/polish.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"LOCALE_ENGLISH": "Angielski",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "Angielski (cenzuralny)",
|
||||||
|
"LOCALE_FRENCH": "Francuski",
|
||||||
|
"LOCALE_GERMAN": "Niemiecki",
|
||||||
|
"LOCALE_ITALIAN": "Włoski",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "Japoński (częściowy)",
|
||||||
|
"LOCALE_KOREAN": "Koreański",
|
||||||
|
"LOCALE_POLISH": "Polski",
|
||||||
|
"LOCALE_PORTUGUESE": "Portugalski",
|
||||||
|
"LOCALE_RUSSIAN": "Rosyjski",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "Chiński uproszczony",
|
||||||
|
"LOCALE_SPANISH": "Hiszpański",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "Chiński tradycyjny"
|
||||||
|
}
|
15
data/zonetool/localizedstrings/portuguese.json
Normal file
15
data/zonetool/localizedstrings/portuguese.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"LOCALE_ENGLISH": "Inglês",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "Inglês (Censurado)",
|
||||||
|
"LOCALE_FRENCH": "Français",
|
||||||
|
"LOCALE_GERMAN": "Alemão",
|
||||||
|
"LOCALE_ITALIAN": "Italiano",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "Japonês (Parcial)",
|
||||||
|
"LOCALE_KOREAN": "Coreano",
|
||||||
|
"LOCALE_POLISH": "Polonês",
|
||||||
|
"LOCALE_PORTUGUESE": "Português",
|
||||||
|
"LOCALE_RUSSIAN": "Russo",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "Chinês simplificado",
|
||||||
|
"LOCALE_SPANISH": "Español",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "Chinês tradicional"
|
||||||
|
}
|
595
data/zonetool/localizedstrings/russian.json
Normal file
595
data/zonetool/localizedstrings/russian.json
Normal file
@ -0,0 +1,595 @@
|
|||||||
|
{
|
||||||
|
"CUSTOM_DEPOT_EULA_1": "Уважаемый игрок,",
|
||||||
|
"CUSTOM_DEPOT_EULA_2": "Используя эту функцию, вы подтверждаете, что вам исполнилось 18 лет и что в вашей стране разрешены азартные игры и сюрприз-механики (даже если они в них не вовлечены реальные деньги)",
|
||||||
|
"CUSTOM_DEPOT_EULA_3": "Команда H1-mod не несет ответственности, если вы нарушите какой-либо закон у себя в стране, и вы несете исключительную ответственность за соблюдение правил.",
|
||||||
|
"CUSTOM_DEPOT_EULA_4": "Команда H1-mod никогда не добавит микротранзакции с реальными деньгами в свой мод. Единственный способ получить внутриигровую валюту, если вы того захотите, – это играть в игру.",
|
||||||
|
"CUSTOM_DEPOT_EULA_5": "С наилучшими пожеланиями,",
|
||||||
|
"CUSTOM_DEPOT_EULA_6": "Команда H1-mod.",
|
||||||
|
|
||||||
|
"LUA_MENU_FPS": "Счетчик кадров",
|
||||||
|
"LUA_MENU_FPS_DESC": "Показывать частоту кадров в секунду (FPS).",
|
||||||
|
"LUA_MENU_LATENCY": "Задержка до сервера",
|
||||||
|
"LUA_MENU_LATENCY_DESC": "Показывать пинг до сервера.",
|
||||||
|
"LUA_MENU_RED_DOT_BRIGHTNESS": "Яркость коллиматора",
|
||||||
|
"LUA_MENU_RED_DOT_BRIGHTNESS_DESC": "Регулировка яркости красной точки коллиматорных прицелов.",
|
||||||
|
|
||||||
|
"MENU_MODS": "МОДЫ",
|
||||||
|
"MENU_MODS_DESC": "Запуск установленных модов.",
|
||||||
|
"LUA_MENU_MOD_DESC_DEFAULT": "Запустить &&1.",
|
||||||
|
"LUA_MENU_MOD_DESC": "&&1\nАвтор: &&2\nВерсия: &&3.",
|
||||||
|
"LUA_MENU_LOADED_MOD": "Запущенный мод: ^3&&1",
|
||||||
|
"LUA_MENU_AVAILABLE_MODS": "Доступные моды",
|
||||||
|
"LUA_MENU_UNLOAD": "Выгрузить",
|
||||||
|
"LUA_MENU_UNLOAD_DESC": "Выгрузить из игры запущенный сейчас мод.",
|
||||||
|
|
||||||
|
"PLATFORM_SHADER_PRECACHE_ASK": "Хотите скомпилировать шейдеры? С некоторыми видеокартами (например, серии GeForce RTX, GTX 16xx) это может привести к вылетам игры, но в общем случае повысит производительность.",
|
||||||
|
"MENU_NO_DONT_ASK": "Нет, больше не спрашивать",
|
||||||
|
|
||||||
|
"LUA_MENU_SERVERLIST": "Список серверов",
|
||||||
|
"MENU_NUMPLAYERS": "Игроки [+боты]",
|
||||||
|
"MENU_PING": "Пинг",
|
||||||
|
"SERVERLIST_PLAYER_COUNT": "Игроков: &&1",
|
||||||
|
"SERVERLIST_SERVER_COUNT": "Серверов: &&1",
|
||||||
|
|
||||||
|
"LUA_MENU_STATS": "Статистика",
|
||||||
|
"LUA_MENU_STATS_DESC": "Изменение статистических показателей игрока.",
|
||||||
|
"LUA_MENU_UNLOCKALL_ITEMS": "Открыть все предметы",
|
||||||
|
"LUA_MENU_UNLOCKALL_ITEMS_DESC": "Определяет, должны ли камуфляжи и базовые предметы открываться в соответствии со статистикой игрока или всегда быть разблокированы.",
|
||||||
|
"LUA_MENU_UNLOCKALL_LOOT": "Открыть все трофеи",
|
||||||
|
"LUA_MENU_UNLOCKALL_LOOT_DESC": "Определяет, должно ли оружие из DLC (не включая DLC-камуфляжи) открываться по правилам или всегда быть разблокировано.",
|
||||||
|
"LUA_MENU_UNLOCKALL_CLASSES": "Открыть все классы",
|
||||||
|
"LUA_MENU_UNLOCKALL_CLASSES_DESC": "Определяет, должны ли дополнительные классы открываться при достижении нового уровня престижа или всегда быть разблокированы.",
|
||||||
|
"LUA_MENU_PRESTIGE": "Престиж",
|
||||||
|
"LUA_MENU_PRESTIGE_DESC": "Изменение уровня престижа.",
|
||||||
|
"LUA_MENU_RANK": "Ранг",
|
||||||
|
"LUA_MENU_RANK_DESC": "Изменение ранга.",
|
||||||
|
"LUA_MENU_UNSAVED_CHANGES": "Изменения не были сохранены, вы уверены, что хотите выйти?",
|
||||||
|
"LUA_MENU_SAVE": "Сохранить изменения",
|
||||||
|
"LUA_MENU_SAVE_DESC": "Внесение изменений в игру.",
|
||||||
|
"LUA_MENU_SETTINGS": "Параметры",
|
||||||
|
"LUA_MENU_EDIT_STATS": "Корректировка статистики",
|
||||||
|
|
||||||
|
"UPDATER_POPUP_NO_UPDATES_AVAILABLE": "У вас установлены все последние обновления",
|
||||||
|
"UPDATER_POPUP_AVAILABLE_UPDATE_TEXT": "Доступно обновление клиента игры,\nначать установку сейчас?",
|
||||||
|
"UPDATER_POPUP_SUCCESSFUL": "Обновление завершено",
|
||||||
|
"UPDATER_POPUP_RESTART_POPUP_TEXT": "Для применения изменений необходим перезапуск игры",
|
||||||
|
"UPDATER_POPUP_CHECKING_FOR_UPDATES": "Проверка наличия обновлений...",
|
||||||
|
|
||||||
|
"MPHUD_FPS": "К/С: ",
|
||||||
|
"MPHUD_LATENCY": "Задержка: ",
|
||||||
|
"MPHUD_LATENCY_MS": " мс",
|
||||||
|
"LUA_MENU_TELEMETRY": "ТЕЛЕМЕТРИЯ",
|
||||||
|
|
||||||
|
"LOCALE_ENGLISH": "Английский",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "Английский цензурный",
|
||||||
|
"LOCALE_FRENCH": "Французский",
|
||||||
|
"LOCALE_GERMAN": "Немецкий",
|
||||||
|
"LOCALE_ITALIAN": "Итальянский",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "Японский (английская озвучка)",
|
||||||
|
"LOCALE_KOREAN": "Корейский",
|
||||||
|
"LOCALE_POLISH": "Польский",
|
||||||
|
"LOCALE_PORTUGUESE": "Португальский",
|
||||||
|
"LOCALE_RUSSIAN": "Русский",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "Китайский упрощенный",
|
||||||
|
"LOCALE_SPANISH": "Испанский",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "Китайский традиционный",
|
||||||
|
"LUA_MENU_DOWNLOAD": "Скачать",
|
||||||
|
|
||||||
|
"LUA_MENU_MULTIPLAYER_CAPS": "H1-MOD: СЕТЕВАЯ ИГРА\n",
|
||||||
|
"MENU_MULTIPLAYER_CAPS": "H1-MOD: СЕТЕВАЯ ИГРА",
|
||||||
|
|
||||||
|
"PLATFORM_SYSTEM_LINK_TITLE": "СПИСОК СЕРВЕРОВ",
|
||||||
|
|
||||||
|
"MPUI_MP44": "MP-44",
|
||||||
|
"WEAPON_AT4": "AT4",
|
||||||
|
"WEAPON_BARRETT": "Barrett .50",
|
||||||
|
"WEAPON_BERETTA": "M9",
|
||||||
|
"WEAPON_COLT1911": "M1911 .45",
|
||||||
|
"WEAPON_COLT45": "M1911 .45",
|
||||||
|
"WEAPON_DESERTEAGLE55": "Командирский Дезерт Игл",
|
||||||
|
"WEAPON_DESERTEAGLEGOLD": "Золотой Дезерт Игл",
|
||||||
|
"WEAPON_HK79": "HK79",
|
||||||
|
"WEAPON_MELEESHOVEL": "Могильщик",
|
||||||
|
"WEAPON_MP44": "MP-44",
|
||||||
|
"WEAPON_MP5_SILENCER": "MP5 с глушителем",
|
||||||
|
"WEAPON_NO_AMMO_CAPS": "НЕТ ПАТРОНОВ",
|
||||||
|
"WEAPON_NO_FRAG_GRENADE": "Осколочных гранат не осталось",
|
||||||
|
"WEAPON_NO_SPECIAL_GRENADE": "Особых гранат не осталось",
|
||||||
|
"WEAPON_P90_SILENCER": "P90 с глушителем",
|
||||||
|
"WEAPON_SILENCER_ATTACHMENT": "с глушителем",
|
||||||
|
"WEAPON_USP": "USP .45",
|
||||||
|
|
||||||
|
"EXE_SAY": "^3Всем^7",
|
||||||
|
"EXE_SAYTEAM": "^5Команде^7",
|
||||||
|
|
||||||
|
"MENU_SB_TOOLTIP_BTN_REFRESH": "Обновить список",
|
||||||
|
"MENU_TYPE1": "Режим",
|
||||||
|
"SERVERLIST_ADD_TO_BLACKLIST": "Добавить в ЧС",
|
||||||
|
"SERVERLIST_REMOVE_FROM_BLACKLIST": "Убрать из ЧС",
|
||||||
|
"LUI_MENU_BLACKLIST": "Черный список",
|
||||||
|
|
||||||
|
"MPUI_ATDM_RECIPE_NAME": "Usilenie",
|
||||||
|
"MPUI_BALL_RECIPE_NAME": "Stancija svjazi",
|
||||||
|
"MPUI_CONF_RECIPE_NAME": "Ubijstvo podtverzhdeno",
|
||||||
|
"MPUI_CTF_PRO_RECIPE_NAME": "Zahvat flaga PRO",
|
||||||
|
"MPUI_CTF_RECIPE_NAME": "Zahvat flaga",
|
||||||
|
"MPUI_DD_RECIPE_NAME": "Unichtozhenie",
|
||||||
|
"MPUI_DEATHMATCH_RECIPE_NAME": "Kazhdyj za sebja",
|
||||||
|
"MPUI_DOMINATION_RECIPE_NAME": "Prevoshodstvo",
|
||||||
|
"MPUI_GUN_RECIPE_NAME": "Oruzhie",
|
||||||
|
"MPUI_HEADQUARTERS_RECIPE_NAME": "Shtab",
|
||||||
|
"MPUI_HP_RECIPE_NAME": "Opornyj punkt",
|
||||||
|
"MPUI_INFECT_RECIPE_NAME": "Zarazhenie",
|
||||||
|
"MPUI_JUGG_RECIPE_NAME": "Dzhaggernaut",
|
||||||
|
"MPUI_KINGS_RECIPE_NAME": "Koroli",
|
||||||
|
"MPUI_KOTM_RECIPE_NAME": "Gora",
|
||||||
|
"MPUI_OIC_RECIPE_NAME": "Poslednij patron",
|
||||||
|
"MPUI_SABOTAGE_RECIPE_NAME": "Sabotazh",
|
||||||
|
"MPUI_SD_RECIPE_NAME": "NiU",
|
||||||
|
"MPUI_SOTF_FFA_RECIPE_NAME": "Ohota KZS",
|
||||||
|
"MPUI_SOTF_RECIPE_NAME": "Ohota",
|
||||||
|
"MPUI_SR_RECIPE_NAME": "NiS",
|
||||||
|
"MPUI_TWAR_RECIPE_NAME": "Impuls",
|
||||||
|
"MPUI_WAR_RECIPE_NAME": "Komandnyj boj",
|
||||||
|
"MPUI_XTDM_RECIPE_NAME": "XTDM",
|
||||||
|
|
||||||
|
"CLASS_SPETSNAZ_CLASSES": "КЛАССЫ СПЕЦНАЗА",
|
||||||
|
"LOOT_DEC_CHAR_REWARD_02": "ЧАД",
|
||||||
|
"LOOT_DEC_COSTUME_15": "ЧАД",
|
||||||
|
"LOOT_DEC_ITEMSET_32_SPECIAL": "ЧАД",
|
||||||
|
"LUA_MENU_SCOREBOARD_MARINES": "%d · МОРПЕХИ",
|
||||||
|
"LUA_MENU_SCOREBOARD_MARINES_LOST": "%d · МОРПЕХИ ПРОИГРАЛИ",
|
||||||
|
"MPUI_MARINES_DESERT": "Морпехи",
|
||||||
|
"MPUI_MARINES_SHORT": "Морпехи",
|
||||||
|
"MPUI_OPFOR": "Оппозиция",
|
||||||
|
"MPUI_OPFOR_SHORT": "Оппозиция",
|
||||||
|
"MPUI_SPETSNAZ": "Спецназ",
|
||||||
|
"MPUI_SPETSNAZ_SHORT": "Спецназ",
|
||||||
|
|
||||||
|
"CGAME_COMPLAINTDISMISSED": "Жалоба отклонена",
|
||||||
|
"CGAME_COMPLAINTFILED": "Жалоба учтена",
|
||||||
|
"CGAME_COMPLAINTSERVERHOST": "Нельзя пожаловаться на хост",
|
||||||
|
"CGAME_COMPLAINTTEAMKILLFILE": "Отправить жалобу на игрока &&1 за убийство товарища по команде?",
|
||||||
|
"CGAME_CONNECTIONINTERUPTED": "Связь прервана",
|
||||||
|
"CGAME_CONTINUE_SAVING": "Сохранить и выйти",
|
||||||
|
"CGAME_CRUSH": "раздавлен",
|
||||||
|
"CGAME_FALLING": "упал",
|
||||||
|
"CGAME_HEAD_SHOT": "выстрел в голову",
|
||||||
|
"CGAME_MISSIONOBJECTIVES": "ЦЕЛИ ЗАДАНИЯ",
|
||||||
|
"CGAME_NOSPECTATORVOICECHAT": "Зрители не могут использовать голосовую связь.",
|
||||||
|
"CGAME_PRESSYESNO": "Для ответа ДА нажмите '&&1', для ответа НЕТ - '&&2'",
|
||||||
|
"CGAME_PRONE_BLOCKED": "Движение лежа заблокировано",
|
||||||
|
"CGAME_PRONE_BLOCKED_WEAPON": "С этим оружием нельзя лечь",
|
||||||
|
"CGAME_RESTART_WARNING": "Если начать игру заново, \nвесь прогресс в текущем \nзадании будет утрачен\n\nНачать заново?",
|
||||||
|
"CGAME_SAVE_WARNING": "Если вы сохраните игру сейчас,\nвесь прогресс с момента последней\nконтрольной точки будет утрачен\n\nСохранить игру?",
|
||||||
|
"CGAME_SB_ASSISTS": "Помощь",
|
||||||
|
"CGAME_SB_DEATHS": "Смерти",
|
||||||
|
"CGAME_SB_KILLS": "Убийства",
|
||||||
|
"CGAME_SB_PING": "Пинг",
|
||||||
|
"CGAME_SERVERHOSTTEAMKILLED": "Вас убил хост вашей же команды",
|
||||||
|
"CGAME_SPECTATOR": "ЗРИТЕЛЬ",
|
||||||
|
"CGAME_SPECTATORS": "Зрители",
|
||||||
|
"CGAME_TEAMMATE": "НАПАРНИК",
|
||||||
|
"CGAME_UNKNOWN": "неизвестно",
|
||||||
|
"CGAME_WAITINGFORSERVERLOAD": "Ожидание загрузки новой карты на сервере",
|
||||||
|
"CGAME_YOUKILLED": "Вы убили игрока &&1",
|
||||||
|
"CGAME_YOUWEREKILLED": "Вас убил игрок &&1",
|
||||||
|
"CLANS_OFFENSIVENAME": "Имя клана отвергнуто: запрещенный текст",
|
||||||
|
"DEPOT_NEXT_DEPOT_CREDIT": "До след. начисления",
|
||||||
|
"DLC_MAPS": "Загружаемые карты",
|
||||||
|
"EXE_DISCONNECTED": "Соединение с сервером разорвано",
|
||||||
|
"EXE_ERR_BAD_GAME_FOLDER": "Указана неверная папка с игрой.",
|
||||||
|
"EXE_ERR_CORRECT_FOLDER": "Убедитесь, что игра запущена из правильной папки.",
|
||||||
|
"EXE_ERR_HIGH_PING_ONLY": "Этот сервер предназначен только для игроков с большим пингом.",
|
||||||
|
"EXE_ERR_HUNK_ALLOC_FAILED": "Не удалось выделить &&1 Мб.",
|
||||||
|
"EXE_ERR_LOW_PING_ONLY": "Этот сервер предназначен только для игроков с небольшим пингом.",
|
||||||
|
"EXE_ERR_WRONG_MAP_VERSION_NUM": "Неверная версия карты '&&1'.",
|
||||||
|
"EXE_FAVORITES": "Избранное",
|
||||||
|
"EXE_GAMEISENDING": "Не удалось войти - игра уже заканчивается",
|
||||||
|
"EXE_HOST_HANDLE_ERROR": "Не удалось обеспечить защищенную связь с сервером.",
|
||||||
|
"EXE_INVALIDUPDATESERVERDOWNLOAD": "Загруженное обновление повреждено",
|
||||||
|
"EXE_KEYWAIT": "Нажмите ESC для отмены или BACKSPACE для сброса",
|
||||||
|
"EXE_SERVERFILTER": "Фильтр: &&1",
|
||||||
|
"EXE_SERVERKILLED": "Сервер остановлен.",
|
||||||
|
"EXE_SHADERPRELOAD": "Подгрузка шейдеров... &&1%",
|
||||||
|
"EXE_SV_INFO_FRIENDLY_FIRE": "Огонь по своим",
|
||||||
|
"EXE_SV_INFO_GAMETYPE": "Режим игры",
|
||||||
|
"EXE_SV_INFO_KILLCAM": "Повтор",
|
||||||
|
"EXE_SV_INFO_NAME": "имя",
|
||||||
|
"EXE_SV_INFO_PASSWORD": "С паролем",
|
||||||
|
"EXE_SV_INFO_PING": "пинг",
|
||||||
|
"EXE_TIMEDOUT": "Время ожидания запроса истекло",
|
||||||
|
"EXE_YES": "Да",
|
||||||
|
"GAME_CHEATSNOTENABLED": "На этом сервере отключены чит-коды.",
|
||||||
|
"GAME_CROUCH_BLOCKED": "Здесь нельзя пригнуться",
|
||||||
|
"GAME_DIFFICULTY_HARD": "Сложность: Закаленный",
|
||||||
|
"GAME_DIFFICULTY_MEDIUM": "Сложность: Рядовой",
|
||||||
|
"GAME_DIFFICULTY_UNKNOWN": "Сложность: Неизвестна",
|
||||||
|
"GAME_DROPPEDFORINACTIVITY": "Отключен от сервера из-за бездействия.",
|
||||||
|
"GAME_INVALIDGAMETYPE": "Неверный режим игры.",
|
||||||
|
"GAME_NOSPECTATORCALLVOTE": "Зрители не могут начинать голосование.",
|
||||||
|
"GAME_NOSPECTATORVOTE": "Зрители не могут голосовать.",
|
||||||
|
"GAME_OBJECTIVECOMPLETED": "Задача выполнена.",
|
||||||
|
"GAME_OBJECTIVEFAILED": "Цель не достигнута.",
|
||||||
|
"GAME_OBJECTIVESUPDATED": "Новая цель.",
|
||||||
|
"GAME_SPECTATOR": "Зритель",
|
||||||
|
"GAME_VOTE_GAMETYPE": "Режим: ",
|
||||||
|
"KEY_COMMAND": "Command",
|
||||||
|
"KEY_ENTER": "Enter",
|
||||||
|
"KEY_ESCAPE": "Escape",
|
||||||
|
"KEY_KP_MINUS": "- (цифр.)",
|
||||||
|
"KEY_KP_PLUS": "+ (цифр.)",
|
||||||
|
"KEY_KP_STAR": "* (цифр.)",
|
||||||
|
"KEY_MOUSE1": "ЛКМ",
|
||||||
|
"KEY_MOUSE2": "ПКМ",
|
||||||
|
"KEY_MOUSE3": "СКМ",
|
||||||
|
"KEY_USE": "использовать",
|
||||||
|
"LUA_MENU_ADVANCED_VIDEO": "Параметры графики",
|
||||||
|
"LUA_MENU_AIM_ASSIST_LOCKON_DESC": "Поворот оружия в сторону цели во время движения.",
|
||||||
|
"LUA_MENU_AIM_ASSIST_SLOWDOWN_DESC": "Замедление движений прицела при наведении оружия на цель.",
|
||||||
|
"LUA_MENU_AUTO_MANTLE_DESC": "Автоматически цепляться за уступ при прыжке рядом с ним.",
|
||||||
|
"LUA_MENU_BOTS_REGULAR": "Рядовой",
|
||||||
|
"LUA_MENU_CHALLENGE_XP": "&&1 XP",
|
||||||
|
"LUA_MENU_CHANGE_FACTION": "Смена фракции",
|
||||||
|
"LUA_MENU_CHANGE_TEAM": "Смена команды",
|
||||||
|
"LUA_MENU_CHANGE_TEAM_CAPS": "ВЫБОР КОМАНДЫ",
|
||||||
|
"LUA_MENU_CHOOSE_CLASS": "Смена класса",
|
||||||
|
"LUA_MENU_CHOOSE_CLASS_CAPS": "ВЫБОР КЛАССА",
|
||||||
|
"LUA_MENU_COLOR_BLIND_DESC": "Включение и отключение цветовой схемы для людей с пониженной чувствительностью к цвету.",
|
||||||
|
"LUA_MENU_COMPLETE": "ЗАВЕРШЕНО",
|
||||||
|
"LUA_MENU_CONFIRMS": "Жетоны",
|
||||||
|
"LUA_MENU_CONFIRMS_CAPS": "ЖЕТОНЫ",
|
||||||
|
"LUA_MENU_CONFIRM_REDEEM_DUPLICATES_CAPS": "ОБМЕНЯТЬ ДУБЛИКАТЫ ПРЕДМЕТОВ (&&1) НА ОПЫТ?",
|
||||||
|
"LUA_MENU_CONF_CAPS": "УБИЙСТВО ПОДТВЕРЖДЕНО",
|
||||||
|
"LUA_MENU_CONF_RECIPE_DESC": "Версия на основе режима Убийство подтверждено",
|
||||||
|
"LUA_MENU_CONF_RECIPE_NAME": "Версия У.П.",
|
||||||
|
"LUA_MENU_CREATE_A_CLASS": "Создание классов",
|
||||||
|
"LUA_MENU_CREATE_A_CLASS_CAPS": "ИЗМЕНИТЬ КЛАСС",
|
||||||
|
"LUA_MENU_DATE": "&&2.&&1.&&3",
|
||||||
|
"LUA_MENU_DAYS": "&&1 д",
|
||||||
|
"LUA_MENU_DAYS_HOURS_MINUTES_SECONDS": "&&1 д &&2 ч &&3 м &&4 с",
|
||||||
|
"LUA_MENU_DEATHMATCH": "Каждый за себя",
|
||||||
|
"LUA_MENU_DEATHMATCH_CAPS": "КАЖДЫЙ ЗА СЕБЯ",
|
||||||
|
"LUA_MENU_DEATHMATCH_RECIPE_DESC": "Версия на основе режима Каждый за себя",
|
||||||
|
"LUA_MENU_DEATHMATCH_RECIPE_NAME": "Версия Каждый за себя",
|
||||||
|
"LUA_MENU_DEFENDS": "Защиты",
|
||||||
|
"LUA_MENU_DEFENDS_CAPS": "ЗАЩИТЫ",
|
||||||
|
"LUA_MENU_DESC_LEADERBOARD_CONF": "Убийство подтверждено - список лидеров",
|
||||||
|
"LUA_MENU_DESC_LEADERBOARD_DM": "Каждый за себя - список лидеров",
|
||||||
|
"LUA_MENU_DESC_LEADERBOARD_DOM": "Превосходство - список лидеров",
|
||||||
|
"LUA_MENU_DESC_LEADERBOARD_SOTF_FFA": "Охота КЗС - список лидеров",
|
||||||
|
"LUA_MENU_DISPLAY_OPTIONS": "Интерфейс",
|
||||||
|
"LUA_MENU_DM_HARDCORE": "Каждый за себя. Хардкор",
|
||||||
|
"LUA_MENU_DOMINATION": "Превосходство",
|
||||||
|
"LUA_MENU_DOMINATION_CAPS": "ПРЕВОСХОДСТВО",
|
||||||
|
"LUA_MENU_DOMINATION_RECIPE_DESC": "Версия на основе режима Превосходство",
|
||||||
|
"LUA_MENU_DOMINATION_RECIPE_NAME": "Версия Превосходство",
|
||||||
|
"LUA_MENU_END_GAME": "Выйти из боя",
|
||||||
|
"LUA_MENU_ENVIRONMENT_KILLS": "Убито предметами окружения",
|
||||||
|
"LUA_MENU_FREE_ONLY": "Свободная камера",
|
||||||
|
"LUA_MENU_GAME_SETUP": "Параметры боя",
|
||||||
|
"LUA_MENU_GAME_SETUP_CAPS": "ПАРАМЕТРЫ БОЯ",
|
||||||
|
"LUA_MENU_GRAPHICS": "Изображение",
|
||||||
|
"LUA_MENU_GRAPHIC_OPTIONS": "Изображение",
|
||||||
|
"LUA_MENU_HEALTH_AND_DAMAGE": "Здоровье и урон",
|
||||||
|
"LUA_MENU_KILLCAM_FINAL_CAPS": "ПОСЛЕДНЕЕ УБИЙСТВО",
|
||||||
|
"LUA_MENU_KILLS": "Убийства",
|
||||||
|
"LUA_MENU_KILLS_CAPS": "УБИЙСТВА",
|
||||||
|
"LUA_MENU_LEAVE_GAME_TITLE": "Покинуть бой?",
|
||||||
|
"LUA_MENU_LOSING": "Вы проигрываете",
|
||||||
|
"LUA_MENU_LOSSES_CAPS": "ПОРАЖЕНИЯ",
|
||||||
|
"LUA_MENU_MELEEKILLS": "С ножа",
|
||||||
|
"LUA_MENU_MODE_WINDOWED_NO_BORDER": "В окне (без границ)",
|
||||||
|
"LUA_MENU_OPTIMAL_VIDEO_AUDIO": "Сбросить настройки изображения",
|
||||||
|
"LUA_MENU_OPTIONS_UPPER_CASE": "НАСТРОЙКИ",
|
||||||
|
"LUA_MENU_PLAY_TIME": "Всего наиграно",
|
||||||
|
"LUA_MENU_PRESET_CLASSES": "Готовые классы",
|
||||||
|
"LUA_MENU_PRESET_CLASSES_CAPS": "ГОТОВЫЕ КЛАССЫ",
|
||||||
|
"LUA_MENU_RATIO_CAPS": "У/С",
|
||||||
|
"LUA_MENU_RECIPE_LOAD_CUSTOM": "Загрузить свою версию",
|
||||||
|
"LUA_MENU_REPORT_DEFEAT": "Поражение",
|
||||||
|
"LUA_MENU_REPORT_DEFEAT_CAPS": "ПОРАЖЕНИЕ",
|
||||||
|
"LUA_MENU_REPORT_VICTORY": "Победа",
|
||||||
|
"LUA_MENU_REPORT_VICTORY_CAPS": "ПОБЕДА",
|
||||||
|
"LUA_MENU_RESTORE_EACH_SETTING": "Вернуть параметры управления к значениям по умолчанию?",
|
||||||
|
"LUA_MENU_RESTRICTIONS_TACTICAL_CAPS": "ОГРАНИЧЕНИЯ НА ТАКТИЧЕСКОЕ ОРУЖИЕ",
|
||||||
|
"LUA_MENU_RESTRICT_TACTICAL": "Ограничение на тактическое оружие",
|
||||||
|
"LUA_MENU_ROTATION": "Несколько",
|
||||||
|
"LUA_MENU_RULES_EDIT_DEF_CLASSES": "Список заготовленных классов",
|
||||||
|
"LUA_MENU_RULES_FAST": "Быстро",
|
||||||
|
"LUA_MENU_RULES_GUN_CQC": "Холодное",
|
||||||
|
"LUA_MENU_RULES_GUN_MELEE": "Холодное",
|
||||||
|
"LUA_MENU_RULES_GUN_MELEE_RPG": "Холодное, РПГ",
|
||||||
|
"LUA_MENU_RULES_GUN_PROGRESSION_END": "Последнее оружие",
|
||||||
|
"LUA_MENU_RULES_GUN_RPG_MELEE": "РПГ, холодное",
|
||||||
|
"LUA_MENU_RULES_HEADSHOTS_ONLY": "Только попадания в голову",
|
||||||
|
"LUA_MENU_RULES_NORMAL": "По умолчанию",
|
||||||
|
"LUA_MENU_RULES_RETURN_TIME": "Время автовозврата флага",
|
||||||
|
"LUA_MENU_RULES_SETBACK_LEVELS": "Потеря уровня от ножа",
|
||||||
|
"LUA_MENU_RULES_STREAK_GRACE_PERIOD": "Отсрочка серии",
|
||||||
|
"LUA_MENU_RULES_TEAMKILL_KICK": "Исключение за убийство союзников",
|
||||||
|
"LUA_MENU_RULES_TEAM_SWITCH": "Смена команды посреди игры",
|
||||||
|
"LUA_MENU_RULES_TOGGLE_ROTATION_OFF": "Указать одну карту",
|
||||||
|
"LUA_MENU_RULES_TOGGLE_ROTATION_ON": "Указать несколько карт",
|
||||||
|
"LUA_MENU_RULES_UNLIMITED": "Без ограничений",
|
||||||
|
"LUA_MENU_SAS": "S.A.S",
|
||||||
|
"LUA_MENU_SD_RECIPE_DESC": "Версия на основе режима Найти и Уничтожить",
|
||||||
|
"LUA_MENU_SD_RECIPE_NAME": "Версия Найти и уничтожить",
|
||||||
|
"LUA_MENU_SETBACKS": "Откаты",
|
||||||
|
"LUA_MENU_SPAWN_SETTINGS": "Возрождение",
|
||||||
|
"LUA_MENU_SR_RECIPE_DESC": "Версия на основе Найти и спасти",
|
||||||
|
"LUA_MENU_SR_RECIPE_NAME": "Версия Найти и спасти",
|
||||||
|
"LUA_MENU_SUPPLY_DROP_MTX": "Редкий ящик снабжения",
|
||||||
|
"LUA_MENU_SYSTEM_INFO": "Другое",
|
||||||
|
"LUA_MENU_SYSTEM_INFO_CAPS": "ДРУГОЕ",
|
||||||
|
"LUA_MENU_VERSUS": "VS",
|
||||||
|
"LUA_MENU_VIDEO_OPTIONS": "Отображение",
|
||||||
|
"LUA_MENU_VIDEO_OPTIONS_CAPS": "ОТОБРАЖЕНИЕ",
|
||||||
|
"LUA_MENU_WAR_RECIPE_DESC": "Версия на основе режима Командный бой",
|
||||||
|
"LUA_MENU_WAR_RECIPE_NAME": "Версия Командный бой",
|
||||||
|
"LUA_MENU_WEAPON_ATTRIBUTE_HEADER": "СВОЙСТВА",
|
||||||
|
"LUA_MENU_WEAPON_STAT_MOBILITY": "МОБИЛЬН.",
|
||||||
|
"LUA_MENU_WEAPPERF_KILLS": "Убийства",
|
||||||
|
"LUA_MENU_WIN_PERCENTAGE": "% побед",
|
||||||
|
"LUA_MENU_WL_RATIO": "Победы/поражения",
|
||||||
|
"LUA_MP_FRONTEND_SCORE_PER_MINUTE_CAPS": "Очков в минуту",
|
||||||
|
"MENU_ACT_I": "Акт I",
|
||||||
|
"MENU_ACT_II": "Акт II",
|
||||||
|
"MENU_ACT_III": "Акт III",
|
||||||
|
"MENU_ADVANCED_VIDEO": "Параметры графики",
|
||||||
|
"MENU_AIM_DOWN_THE_SIGHT": "Прицелиться",
|
||||||
|
"MENU_AIM_DOWN_THE_SIGHT_AUTOAIM": "Автонаведение при прицеливании",
|
||||||
|
"MENU_ALLOW_ENEMY_SPECTATING": "Наблюдение за противником: ",
|
||||||
|
"MENU_APPLY_SETTINGS": "Применить новые значения?",
|
||||||
|
"MENU_AUTOAIM": "Автонаведение",
|
||||||
|
"MENU_A_GAME_TYPE_WILL_BE_SELECTED_AT_RANDOM": "Режим игры будет выбран случайно.",
|
||||||
|
"MENU_BRIGHTNESS": "Яркость изображения",
|
||||||
|
"MENU_BUTTON_LAYOUT": "Раскладка кнопок",
|
||||||
|
"MENU_CAMPAIGN_ARCADE_CHEAT_UNLOCKED_DESC_GERMAN_SKU": "Вы получили доступ к чит-кодам игры.\n\nАктивировать их можно в главном меню или меню паузы.\n ",
|
||||||
|
"MENU_CAPTURE_AND_HOLD_THE": "Зарабатывайте очки, захватывая и удерживая указанные позиции. ",
|
||||||
|
"MENU_CCS_RESTART_BUTTON_LABEL": "Перезапустить",
|
||||||
|
"MENU_CHANGE_GAME_TYPE": "Изменить режим игры",
|
||||||
|
"MENU_CHANGE_RATE_OF_FIRE": "Изменить темп стрельбы",
|
||||||
|
"MENU_CHANGE_WEAPON": "Сменить оружие",
|
||||||
|
"MENU_CHEAT_ENABLED": "Чит-код активирован",
|
||||||
|
"MENU_COMPLETED": "Пройдено",
|
||||||
|
"MENU_COMPLETED_CHEAT": "Доступен чит-код",
|
||||||
|
"MENU_COMPLETED_HARDENED": "Пройдено (Закаленный)",
|
||||||
|
"MENU_COMPLETED_REGULAR": "Пройдено (Рядовой)",
|
||||||
|
"MENU_COMPLETED_SKILLED": "Пройдено (Опытный)",
|
||||||
|
"MENU_COMPLETED_VETERAN": "Пройдено (Ветеран)",
|
||||||
|
"MENU_CONF_DESC": "Зарабатывайте очки, убивая противников и собирая их жетоны.",
|
||||||
|
"MENU_CORRUPT_SAVEDATA_MESSAGE": "Сохраненные данные не были загружены, поскольку они повреждены. В случае продолжения они будут удалены.",
|
||||||
|
"MENU_CREATE_A_CLASS_CAPS": "СОЗДАНИЕ КЛАССОВ",
|
||||||
|
"MENU_CUSTOM": "Свои",
|
||||||
|
"MENU_CUSTOM_N": "Свой (&&1)",
|
||||||
|
"MENU_DEATHS": "Смерти",
|
||||||
|
"MENU_DEFAULT_ALT": "Станд. перевернутая",
|
||||||
|
"MENU_DIFFICULTY_HARDENED": "Сложность: Закаленный",
|
||||||
|
"MENU_DIFFICULTY_REGULAR": "Сложность: Рядовой",
|
||||||
|
"MENU_DIFFICULTY_WARNING": "Вам рекомендуется другой уровень сложности. Хотите продолжить на этом?",
|
||||||
|
"MENU_DISPLAY_MODE": "Режим вывода",
|
||||||
|
"MENU_DOF": "Глубина резкости",
|
||||||
|
"MENU_EXTRA": "Ультра",
|
||||||
|
"MENU_FILL_MEMORY_TEXTURES": "Заполнить оставшуюся память",
|
||||||
|
"MENU_FIRE_RATE": "Темп стрельбы:",
|
||||||
|
"MENU_FRAG_EQUIPMENT": "Граната/снаряжение",
|
||||||
|
"MENU_FREE_FOR_ALL": "Каждый за себя",
|
||||||
|
"MENU_FREE_LOOK": "Своб. обзор",
|
||||||
|
"MENU_FRIENDLY_FIRE": "Огонь по своим: ",
|
||||||
|
"MENU_GAME_OPTIONS": "Правила игры",
|
||||||
|
"MENU_GAME_SETUP_CAPS": "ПАРАМЕТРЫ БОЯ",
|
||||||
|
"MENU_GAME_TYPE": "Режим игры: ",
|
||||||
|
"MENU_GAME_TYPE1": "Режим игры",
|
||||||
|
"MENU_GAME_TYPES": "Режимы игры",
|
||||||
|
"MENU_GAME_TYPE_SETTINGS": "Настройки режима игры",
|
||||||
|
"MENU_GO_TO_CROUCH": "Пригнуться",
|
||||||
|
"MENU_GO_TO_PRONE": "Лечь",
|
||||||
|
"MENU_GRAPHICS": "Изображение",
|
||||||
|
"MENU_HARDENED": "Закаленный",
|
||||||
|
"MENU_HIGH": "Высок.",
|
||||||
|
"MENU_HP_DESC": "Зарабатывайте очки, захватывая и удерживая опорные пункты. ",
|
||||||
|
"MENU_INSANE": "Безумн.",
|
||||||
|
"MENU_INSPECT_WEAPON": "Осмотреть оружие",
|
||||||
|
"MENU_INTEL": "ЧИТ-КОДЫ",
|
||||||
|
"MENU_JOIN_SERVER_CAP": "ПОДКЛЮЧИТЬСЯ",
|
||||||
|
"MENU_JUMP_STANCE_UP": "Прыгнуть/Подняться",
|
||||||
|
"MENU_KILLS": "Убийства",
|
||||||
|
"MENU_KILLSTREAK_REWARD_SLOT_1": "Награды за серию убийств - ячейка 1",
|
||||||
|
"MENU_KILLSTREAK_REWARD_SLOT_2": "Награды за серию убийств - ячейка 2",
|
||||||
|
"MENU_KILLSTREAK_REWARD_SLOT_3": "Награды за серию убийств - ячейка 3",
|
||||||
|
"MENU_KILLSTREAK_REWARD_SLOT_4": "Награды за серию убийств - ячейка 4",
|
||||||
|
"MENU_KILLSTREAK_REWARD_SLOT_5": "Награды за серию убийств - ячейка 5",
|
||||||
|
"MENU_LARGE": "Больш.",
|
||||||
|
"MENU_LAST_CHECKPOINT": "Посл. контрольная точка",
|
||||||
|
"MENU_LAUNCH_WITHOUT_MODS": "Запустить без модов",
|
||||||
|
"MENU_LEADERBOARD": "Список лидеров",
|
||||||
|
"MENU_LEAVE_GAME_RANKED2": "игры лишит вас бонуса за матч и",
|
||||||
|
"MENU_LEAVE_GAME_RANKED3": "будет засчитан как поражение.",
|
||||||
|
"MENU_LEGACY": "Классика",
|
||||||
|
"MENU_LOAD_MISSION": "Загрузить задание?",
|
||||||
|
"MENU_LOAD_RECIPE_CAPS": "ЗАГРУЗИТЬ ВЕРСИЮ",
|
||||||
|
"MENU_LOAD_RECIPE_FROM_DISK": "Загрузить версию с диска",
|
||||||
|
"MENU_LOOK_INVERSION": "Инверсия обзора",
|
||||||
|
"MENU_LOSSES": "Проигрыши",
|
||||||
|
"MENU_LOWER_DIFFICULTY": "Понизить сложность",
|
||||||
|
"MENU_MELEE_CAPS": "ХОЛОДНОЕ",
|
||||||
|
"MENU_MISSES": "Промахи",
|
||||||
|
"MENU_MODIFIERS": "Модификаторы",
|
||||||
|
"MENU_NORMAL_MAP_RESOLUTION": "Разрешение карт нормалей",
|
||||||
|
"MENU_NO_CONTROLLER_INITIAL": "У вас не подключен геймпад. Переключиться на схему управления клавиатурой и мышью?",
|
||||||
|
"MENU_ONLINE_STATS": "Сетевая статистика",
|
||||||
|
"MENU_OPTIONS": "Настройки",
|
||||||
|
"MENU_OPTIONS_UPPER_CASE": "НАСТРОЙКИ",
|
||||||
|
"MENU_PAUSED_CAP": "ПАУЗА",
|
||||||
|
"MENU_PRESTIGE_RESET_TITLE2": "Подробнее",
|
||||||
|
"MENU_PRESTIGE_RESET_WARNING3": "Обратного пути нет...",
|
||||||
|
"MENU_PRIVATE_MATCH": "Закрытый матч",
|
||||||
|
"MENU_QUIT": "Выйти",
|
||||||
|
"MENU_RATIO": "У/С",
|
||||||
|
"MENU_RECIPE_CHANGE_BASE_CAPS": "СМЕНИТЬ ТИП ВЕРСИИ",
|
||||||
|
"MENU_RECIPE_LOAD_CUSTOM": "Загрузить свою версию",
|
||||||
|
"MENU_RECIPE_SAVE_CUSTOM": "Сохранить свою версию",
|
||||||
|
"MENU_RECIPE_SETUP_CAPS": "НАСТРОЙКА ВЕРСИИ",
|
||||||
|
"MENU_RECRUIT": "Новобранец",
|
||||||
|
"MENU_REGULAR": "Рядовой",
|
||||||
|
"MENU_REGULAR_CAPS": "РЯДОВОЙ",
|
||||||
|
"MENU_REMOVE_FROM_FAVORITES": "Убрать из избранного",
|
||||||
|
"MENU_REPORT_CHEATING": "Читерство",
|
||||||
|
"MENU_RESET_SYSTEM_DEFAULTS": "Оптимальные настройки игры",
|
||||||
|
"MENU_RESTART_LEVEL_Q": "Начать уровень сначала?",
|
||||||
|
"MENU_RESTORE_DEFAULTS": "Системные настройки будут возвращены к значениям по умолчанию, продолжить?",
|
||||||
|
"MENU_RESTORE_EACH_SETTING": "Все параметры будут возвращены к значениям по умолчанию, продолжить?",
|
||||||
|
"MENU_RESUMEGAME_NOSAVE": "Продолжить без сохранения",
|
||||||
|
"MENU_RESUMEGAME_Q_DESC": "Хотите возобновить прохождение задания?",
|
||||||
|
"MENU_RESUME_CREDITS": "Продолжить",
|
||||||
|
"MENU_SAVEDATA_CORRUPTED": "Невозможно возобновить игру, т.к. поврежден файл сохранения. Пожалуйста, перезапустите уровень из меню выбора задания.",
|
||||||
|
"MENU_SCORE_LOSING": "Вы проигрываете &&1 - &&2",
|
||||||
|
"MENU_SCORE_LOSING_WITH": "Вы проигрываете с &&1 из &&2 очков.",
|
||||||
|
"MENU_SCORE_WINNING": "Вы ведете &&1 - &&2",
|
||||||
|
"MENU_SCORE_WINNING_WITH": "Вы ведете с &&1 из &&2 очков.",
|
||||||
|
"MENU_SCREENSHOT": "Скриншот",
|
||||||
|
"MENU_SEARCHINGFORGAMES_100MS": "Поиск игр - пинг 100 мс",
|
||||||
|
"MENU_SEARCHINGFORGAMES_150MS": "Поиск игр - пинг 150 мс",
|
||||||
|
"MENU_SEARCHINGFORGAMES_200MS": "Поиск игр - пинг 200 мс",
|
||||||
|
"MENU_SEARCHINGFORGAMES_250MS": "Поиск игр - пинг 250 мс",
|
||||||
|
"MENU_SEARCHINGFORGAMES_300MS": "Поиск игр - пинг 300 мс",
|
||||||
|
"MENU_SEARCHINGFORGAMES_350MS": "Поиск игр - пинг 350 мс",
|
||||||
|
"MENU_SEARCHINGFORGAMES_50MS": "Поиск игр - пинг 50 мс",
|
||||||
|
"MENU_SEARCHINGFORGAMES_NMS": "Поиск игр: пинг <&&1 мс",
|
||||||
|
"MENU_SELECT_DIFFICULTY": "Выбор сложности",
|
||||||
|
"MENU_SELECT_GAME_TYPE": "Выбрать режим игры",
|
||||||
|
"MENU_SELECT_LEVEL": "Выбрать уровень",
|
||||||
|
"MENU_SELECT_MATCH_TYPE": "Выбрать тип матча",
|
||||||
|
"MENU_SELECT_NEXT_MISSION": "Выбрать следующее задание",
|
||||||
|
"MENU_SET_MAP_PREFERENCES": "Укажите, на каких картах вы предпочитаете играть",
|
||||||
|
"MENU_SHARED": "Урон обоим",
|
||||||
|
"MENU_SPECTATOR": "Зритель",
|
||||||
|
"MENU_SPECTATOR_MODE": "Режим зрителя",
|
||||||
|
"MENU_SPECULAR_MAP": "Карта бликов",
|
||||||
|
"MENU_SPECULAR_MAP_RESOLUTION": "Разрешение карт бликов",
|
||||||
|
"MENU_SPRINT_HOLD_BREATH": "Бег/Задержка дыхания",
|
||||||
|
"MENU_SPRINT_STEADY_SNIPER_RIFLE": "Бег/Удержание прицела",
|
||||||
|
"MENU_STANDARD_4_3": "Стандартное 4:3",
|
||||||
|
"MENU_TEXTURE_RESOLUTION": "Разрешение текстур",
|
||||||
|
"MENU_UNLOCK": "Открыть",
|
||||||
|
"MENU_VERY_LOW": "Очень низк.",
|
||||||
|
"MENU_VIDEO": "Отображение",
|
||||||
|
"MENU_VIEW_FRIENDLY_FIRE": "Огонь по своим:",
|
||||||
|
"MENU_WARNING": "Внимание",
|
||||||
|
"MENU_WARNING_CHECKPOINT_RESET_TITLE": "Откат к началу задания",
|
||||||
|
"MENU_WIDE_16_10": "Широкое 16:10",
|
||||||
|
"MENU_WIDE_16_9": "Широкое 16:9",
|
||||||
|
"MENU_WIDE_21_9": "Сверхширокое 21:9",
|
||||||
|
"MENU_WINS": "Победы",
|
||||||
|
"MENU_WLRATIO": "Победы/Поражения",
|
||||||
|
"MENU_YES": "Да",
|
||||||
|
"MPUI_ACCURACY_FRIENDS": "Меткость (Друзья)",
|
||||||
|
"MPUI_ACCURACY_GLOBAL": "Меткость (Все игроки)",
|
||||||
|
"MPUI_BOTS_REGULAR": "Рядовой",
|
||||||
|
"MPUI_CHANGE_GAMETYPEMAP": "Сменить режим игры/карту",
|
||||||
|
"MPUI_CHANGE_GAME_TYPE": "Изменить режим игры",
|
||||||
|
"MPUI_CHANGE_GAME_TYPEMAP": "Сменить режим/карту",
|
||||||
|
"MPUI_COMBATRECORD_GAMEMODESTAT_CONFIRMS": "Жетоны",
|
||||||
|
"MPUI_COMBATRECORD_GAMEMODESTAT_DEFENDS": "Защиты",
|
||||||
|
"MPUI_CONF": "Убийство подтверждено",
|
||||||
|
"MPUI_CONF_CAPS": "УБИЙСТВО ПОДТВЕРЖДЕНО",
|
||||||
|
"MPUI_CONF_RECIPE_DESC": "Версия на основе режима Убийство подтверждено",
|
||||||
|
"MPUI_DD": "Уничтожение",
|
||||||
|
"MPUI_DD_CAPS": "УНИЧТОЖЕНИЕ",
|
||||||
|
"MPUI_DEATHMATCH": "Каждый за себя",
|
||||||
|
"MPUI_DEATHMATCH_CAPS": "КАЖДЫЙ ЗА СЕБЯ",
|
||||||
|
"MPUI_DESC_CHANGE_GAMETYPE": "Выбрать другой режим игры.",
|
||||||
|
"MPUI_DESC_CHANGE_RULES": "Изменить правила матча.",
|
||||||
|
"MPUI_DESC_GAME_SETUP": "Сменить карту, режим и правила игры.",
|
||||||
|
"MPUI_DESC_LEADERBOARD_CONF": "Убийство подтверждено - список лидеров",
|
||||||
|
"MPUI_DESC_LEADERBOARD_DM": "Каждый за себя - список лидеров",
|
||||||
|
"MPUI_DESC_LEADERBOARD_DOM": "Превосходство - список лидеров",
|
||||||
|
"MPUI_DOMINATION": "Превосходство",
|
||||||
|
"MPUI_DOMINATION_CAPS": "ПРЕВОСХОДСТВО",
|
||||||
|
"MPUI_ENABLED_NO_BLEED": "Без ограничений",
|
||||||
|
"MPUI_FRIENDY_FIRE_PRE": "Огонь по своим:",
|
||||||
|
"MPUI_HARDCORE_PRE": "Хардкор:",
|
||||||
|
"MPUI_HARDPOINT": "Каждый за себя",
|
||||||
|
"MPUI_HITS": "Попадания",
|
||||||
|
"MPUI_LOSING_CAPS": "ТЕРЯЕМ",
|
||||||
|
"MPUI_LOSSES": "Поражения",
|
||||||
|
"MPUI_MISSES": "Промахи",
|
||||||
|
"MPUI_N_XP": "&&1 XP",
|
||||||
|
"MPUI_RANK": "Уровень",
|
||||||
|
"MPUI_RATIO": "У/С",
|
||||||
|
"MPUI_RECOMMENDEDPLAYERS": "Рекоменд. лимит игроков: &&1",
|
||||||
|
"MPUI_ROUND_SWITCH_PRE": "Смена сторон:",
|
||||||
|
"MPUI_RULES_FRIENDLY_FIRE": "Огонь по своим:",
|
||||||
|
"MPUI_RULES_HARDCORE": "Хардкор:",
|
||||||
|
"MPUI_RULES_INSTANT": "Сразу",
|
||||||
|
"MPUI_RULES_OLDSCHOOL": "Режим \"Старая школа\":",
|
||||||
|
"MPUI_RULES_ROUND_SWITCH": "Смена сторон:",
|
||||||
|
"MPUI_RULES_SHARED": "Урон обоим",
|
||||||
|
"MPUI_RULES_SPECTATING": "Вид от:",
|
||||||
|
"MPUI_RULES_TOGGLE_ROTATION_OFF": "Отключить ротацию карт",
|
||||||
|
"MPUI_RULES_TOGGLE_ROTATION_ON": "Включить ротацию карт",
|
||||||
|
"MPUI_RUSSIAN": "Русский",
|
||||||
|
"MPUI_SPECTATE": "Смотреть",
|
||||||
|
"MPUI_SPECTATING_PRE": "Вид от:",
|
||||||
|
"MPUI_SPECTATOR": "Зритель",
|
||||||
|
"MPUI_WAR_HARDCORE": "Командный бой. Хардкор",
|
||||||
|
"MPUI_WAR_RECIPE_DESC": "Версия на основе режима Командный бой",
|
||||||
|
"MPUI_WINLOSSRATIO": "Победы/поражения",
|
||||||
|
"MPUI_WINS": "Победы",
|
||||||
|
"MPUI_YES": "Да",
|
||||||
|
"MP_DEATHMATCH": "Каждый за себя",
|
||||||
|
"MP_DEATHMATCH_TIMER": "Каждый за себя - &&1",
|
||||||
|
"MP_HALFTIME": "Конец раунда",
|
||||||
|
"MP_IED_PRESS_LEFT_TRIGGER_TO_DETONATE": "Нажмите левый триггер, чтобы активировать детонатор",
|
||||||
|
"MP_INVALIDGAMETYPE": "Неверный режим игры.",
|
||||||
|
"MP_JOINED_ONE": "%s присоединяется к первому отряду",
|
||||||
|
"MP_KILLCAM": "ПОВТОР",
|
||||||
|
"MP_MATCH_BEGINS_IN_VAL": "Бой начнется через &&1 с",
|
||||||
|
"MP_MELEE": "Холодное",
|
||||||
|
"MP_NOSPECTATORCALLVOTE": "Зрители не могут начинать голосование.",
|
||||||
|
"MP_NOSPECTATORVOTE": "Зрители не могут голосовать.",
|
||||||
|
"MP_PLAY_TYPE": "Выберите режим",
|
||||||
|
"MP_SWITCHING_SIDES": "СМЕНА СТОРОН",
|
||||||
|
"MP_TEAMKILL": "Убийство своего",
|
||||||
|
"MP_THE_SERVER_DOES_NOT_HAVE": "На сервере нет этой карты.",
|
||||||
|
"MP_VOTE_GAMETYPE": "Режим игры: &&1",
|
||||||
|
"MP_VOTE_TEMPBAN": "Временно забанить: &&1",
|
||||||
|
"MP_ZOOM": "^3[{+ads}]^7 Смена кратности",
|
||||||
|
"PLATFORM_EMBLEM_LAYER_DOWN_KBM": "Опустить слой",
|
||||||
|
"PLATFORM_EMBLEM_LAYER_UP_KBM": "Поднять слой",
|
||||||
|
"PLATFORM_FOV": "Угол обзора (FOV)",
|
||||||
|
"PLATFORM_HOLD_TO_SKIP": "Удерж. \u0001 для пропуска",
|
||||||
|
"PLATFORM_HOLD_TO_SKIP_KEYBOARD": "Удерж. ^2ENTER^7 для пропуска\n",
|
||||||
|
"PLATFORM_LOW_AMMO_NO_RELOAD": "Мало боеприпасов",
|
||||||
|
"PLATFORM_LOW_AMMO_NO_RELOAD_CAPS": "МАЛО БОЕПРИПАСОВ",
|
||||||
|
"PLATFORM_MDAO": "Затенение методом MDAO",
|
||||||
|
"PLATFORM_PLAY_ONLINE": "Сетевая игра",
|
||||||
|
"PLATFORM_RELOAD_CAPS": "ПЕРЕЗАРЯДКА",
|
||||||
|
"PLATFORM_SSAO": "Затенение методом SSAO",
|
||||||
|
"PLATFORM_UI_ADAPTER": "Видеокарта",
|
||||||
|
"PLATFORM_UI_ANTI_ALIASING_OPTIONS": "Настройки сглаживания",
|
||||||
|
"PLATFORM_UI_CACHED_SPOT_SHADOWS": "Кэшировать точечные тени",
|
||||||
|
"PLATFORM_UI_CACHED_SUN_SHADOWS": "Кэшировать тени от солнца",
|
||||||
|
"PLATFORM_UI_DEDICATED_VIDEO_MEMORY": "Загрузка видеопамяти",
|
||||||
|
"PLATFORM_UI_HEADER_PLAY_MP_CAPS": "СЕТЕВАЯ ИГРА",
|
||||||
|
"PLATFORM_UI_IMAGE_QUALITY": "Разрешение картинки",
|
||||||
|
"PLATFORM_UI_NATIVE_RENDER_RESOLUTION": "Отрисовка в родном разрешении",
|
||||||
|
"PLATFORM_UI_NATIVE_RENDER_RESOLUTION_OPTION": "Родное (&&1 x &&2)",
|
||||||
|
"PLATFORM_UI_POST_AA": "Постобработка",
|
||||||
|
"PLATFORM_UI_SHADER_PRELOAD_AFTER_CINEMATIC": "Во время роликов",
|
||||||
|
"PLATFORM_UI_VIDEO_ADAPTER": "Видеокарта",
|
||||||
|
"PLATFORM_YES": "Да",
|
||||||
|
"PRESENCE_CONF_TDM": "Убийство подтверждено",
|
||||||
|
"PRESENCE_C_DOM": "Превосходство. Классика",
|
||||||
|
"PRESENCE_C_DOM_SYSTEM_DIALOG": "Превосходство, классика",
|
||||||
|
"PRESENCE_FFA": "Каждый за себя",
|
||||||
|
"PRESENCE_FFA_SYSTEM_DIALOG": "Каждый за себя",
|
||||||
|
"PRESENCE_HC_DOM": "Превосходство. Хардкор",
|
||||||
|
"PRESENCE_HC_FFA": "Каждый за себя. Хардкор",
|
||||||
|
"PRESENCE_HC_FFA_SYSTEM_DIALOG": "Каждый за себя, хардкор",
|
||||||
|
"SPLASHES_CAPTURE": "Плеймейкер!",
|
||||||
|
"SPLASHES_LAST_MAN_DEFUSE": "Крепкая хватка",
|
||||||
|
"SPLASHES_TAG_COLLECTOR": "Инкассатор",
|
||||||
|
"XBOXLIVE_DESTROYPARTY": "Распустить команду?"
|
||||||
|
}
|
15
data/zonetool/localizedstrings/simplified_chinese.json
Normal file
15
data/zonetool/localizedstrings/simplified_chinese.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"LOCALE_ENGLISH": "英语",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "英语 (审查制度)",
|
||||||
|
"LOCALE_FRENCH": "法语",
|
||||||
|
"LOCALE_GERMAN": "德语",
|
||||||
|
"LOCALE_ITALIAN": "意大利语",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "日语(部分)",
|
||||||
|
"LOCALE_KOREAN": "韩语",
|
||||||
|
"LOCALE_POLISH": "波兰语",
|
||||||
|
"LOCALE_PORTUGUESE": "葡萄牙语",
|
||||||
|
"LOCALE_RUSSIAN": "俄语",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "简体中文",
|
||||||
|
"LOCALE_SPANISH": "西班牙语",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "繁体中文"
|
||||||
|
}
|
15
data/zonetool/localizedstrings/spanish.json
Normal file
15
data/zonetool/localizedstrings/spanish.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"LOCALE_ENGLISH": "Inglés",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "Inglés (censura)",
|
||||||
|
"LOCALE_FRENCH": "Français",
|
||||||
|
"LOCALE_GERMAN": "Alemán",
|
||||||
|
"LOCALE_ITALIAN": "Italiano",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "Japonés (parcial)",
|
||||||
|
"LOCALE_KOREAN": "Coreano",
|
||||||
|
"LOCALE_POLISH": "Polaco",
|
||||||
|
"LOCALE_PORTUGUESE": "Portugués",
|
||||||
|
"LOCALE_RUSSIAN": "Ruso",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "Chino simplificado",
|
||||||
|
"LOCALE_SPANISH": "Español",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "Chino tradicional"
|
||||||
|
}
|
15
data/zonetool/localizedstrings/traditional_chinese.json
Normal file
15
data/zonetool/localizedstrings/traditional_chinese.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"LOCALE_ENGLISH": "英文",
|
||||||
|
"LOCALE_ENGLISH_SAFE": "英文 (審查制度)",
|
||||||
|
"LOCALE_FRENCH": "法文",
|
||||||
|
"LOCALE_GERMAN": "德文",
|
||||||
|
"LOCALE_ITALIAN": "義大利文",
|
||||||
|
"LOCALE_JAPANESE_PARTIAL": "日文(部份)",
|
||||||
|
"LOCALE_KOREAN": "韓文",
|
||||||
|
"LOCALE_POLISH": "波蘭文",
|
||||||
|
"LOCALE_PORTUGUESE": "葡萄牙文",
|
||||||
|
"LOCALE_RUSSIAN": "俄文",
|
||||||
|
"LOCALE_SIMPLIFIED_CHINESE": "簡體中文",
|
||||||
|
"LOCALE_SPANISH": "西班牙文",
|
||||||
|
"LOCALE_TRADITIONAL_CHINESE": "繁體中文"
|
||||||
|
}
|
@ -32,7 +32,7 @@ namespace filesystem
|
|||||||
{
|
{
|
||||||
static const auto* loc_language = game::Dvar_FindVar("loc_language");
|
static const auto* loc_language = game::Dvar_FindVar("loc_language");
|
||||||
const auto id = loc_language->current.integer;
|
const auto id = loc_language->current.integer;
|
||||||
return id == 5 || id == 6 || id == 8 || id == 9 || id == 10 || id == 11 || id == 12 || id == 13 || id == 15;
|
return id == 5 || id == 6 || id == 8 || id == 9 || id == 10 || id == 11 || id == 13 || id == 15;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fs_startup_stub(const char* name)
|
void fs_startup_stub(const char* name)
|
||||||
|
@ -30,6 +30,8 @@
|
|||||||
#include <utils/io.hpp>
|
#include <utils/io.hpp>
|
||||||
#include <utils/binary_resource.hpp>
|
#include <utils/binary_resource.hpp>
|
||||||
|
|
||||||
|
#include "steam/steam.hpp"
|
||||||
|
|
||||||
namespace ui_scripting
|
namespace ui_scripting
|
||||||
{
|
{
|
||||||
namespace
|
namespace
|
||||||
@ -344,6 +346,11 @@ namespace ui_scripting
|
|||||||
::game::Dvar_SetFromStringByNameFromSource("virtualLobbyPresentable", "1", ::game::DvarSetSource::DVAR_SOURCE_INTERNAL);
|
::game::Dvar_SetFromStringByNameFromSource("virtualLobbyPresentable", "1", ::game::DvarSetSource::DVAR_SOURCE_INTERNAL);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
game_type["getcurrentgamelanguage"] = [](const game&)
|
||||||
|
{
|
||||||
|
return steam::SteamApps()->GetCurrentGameLanguage();
|
||||||
|
};
|
||||||
|
|
||||||
auto server_list_table = table();
|
auto server_list_table = table();
|
||||||
lua["serverlist"] = server_list_table;
|
lua["serverlist"] = server_list_table;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ function startupdatecheck(popup, autoclose)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if (not updater.getupdatecheckstatus()) then
|
if (not updater.getupdatecheckstatus()) then
|
||||||
popup.text:setText("Error: " .. updater.getlasterror())
|
popup.text:setText(Engine.Localize("@MENU_ERROR") .. ": " .. updater.getlasterror())
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -22,13 +22,13 @@ function startupdatecheck(popup, autoclose)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
popup.text:setText("No updates available")
|
popup.text:setText(Engine.Localize("UPDATER_POPUP_NO_UPDATES_AVAILABLE"))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
LUI.yesnopopup({
|
LUI.yesnopopup({
|
||||||
title = "NOTICE",
|
title = Engine.Localize("@MENU_NOTICE"),
|
||||||
text = "An update is available, proceed with installation?",
|
text = Engine.Localize("UPDATER_POPUP_AVAILABLE_UPDATE_TEXT"),
|
||||||
callback = function(result)
|
callback = function(result)
|
||||||
if (result) then
|
if (result) then
|
||||||
startupdatedownload(popup, autoclose)
|
startupdatedownload(popup, autoclose)
|
||||||
@ -55,7 +55,7 @@ function startupdatedownload(popup, autoclose)
|
|||||||
end
|
end
|
||||||
|
|
||||||
file = previousfile
|
file = previousfile
|
||||||
popup.text:setText("Downloading file " .. updater.getcurrentfile() .. "...")
|
popup.text:setText(Engine.Localize("@EXE_DOWNLOADING") .. " " .. updater.getcurrentfile() .. "...")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
Engine.GetLuiRoot():registerEventHandler("update_done", function(element, event)
|
Engine.GetLuiRoot():registerEventHandler("update_done", function(element, event)
|
||||||
@ -66,17 +66,17 @@ function startupdatedownload(popup, autoclose)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if (not updater.getupdatedownloadstatus()) then
|
if (not updater.getupdatedownloadstatus()) then
|
||||||
popup.text:setText("Error: " .. updater.getlasterror())
|
popup.text:setText(Engine.Localize("@MENU_ERROR") .. ": " .. updater.getlasterror())
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
popup.text:setText("Update successful")
|
popup.text:setText(Engine.Localize("UPDATER_POPUP_SUCCESSFUL"))
|
||||||
|
|
||||||
if (updater.isrestartrequired()) then
|
if (updater.isrestartrequired()) then
|
||||||
LUI.confirmationpopup({
|
LUI.confirmationpopup({
|
||||||
title = "RESTART REQUIRED",
|
title = Engine.Localize("@MENU_CCS_RESTART_CONFIRMATION_TITLE"),
|
||||||
text = "Update requires restart",
|
text = Engine.Localize("UPDATER_POPUP_RESTART_POPUP_TEXT"),
|
||||||
buttontext = "RESTART",
|
buttontext = Engine.Localize("@MENU_CCS_RESTART_BUTTON_LABEL"),
|
||||||
callback = function()
|
callback = function()
|
||||||
updater.relaunch()
|
updater.relaunch()
|
||||||
end
|
end
|
||||||
@ -97,7 +97,7 @@ function updaterpopup(oncancel)
|
|||||||
return LUI.openpopupmenu("generic_waiting_popup_", {
|
return LUI.openpopupmenu("generic_waiting_popup_", {
|
||||||
oncancel = oncancel,
|
oncancel = oncancel,
|
||||||
withcancel = true,
|
withcancel = true,
|
||||||
text = "Checking for updates..."
|
text = Engine.Localize("UPDATER_POPUP_CHECKING_FOR_UPDATES")
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -25,12 +25,12 @@ namespace steam
|
|||||||
|
|
||||||
const char* apps::GetCurrentGameLanguage()
|
const char* apps::GetCurrentGameLanguage()
|
||||||
{
|
{
|
||||||
return "english";
|
return language;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* apps::GetAvailableGameLanguages()
|
const char* apps::GetAvailableGameLanguages()
|
||||||
{
|
{
|
||||||
return "english";
|
return language;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool apps::BIsSubscribedApp(unsigned int appID)
|
bool apps::BIsSubscribedApp(unsigned int appID)
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "component/console.hpp"
|
||||||
|
#include <utils/io.hpp>
|
||||||
|
|
||||||
|
#define LANGUAGE_FILE "players2/default/language"
|
||||||
|
|
||||||
namespace steam
|
namespace steam
|
||||||
{
|
{
|
||||||
class apps
|
class apps
|
||||||
@ -7,6 +12,24 @@ namespace steam
|
|||||||
public:
|
public:
|
||||||
~apps() = default;
|
~apps() = default;
|
||||||
|
|
||||||
|
char language[0x30] = { 0 };
|
||||||
|
|
||||||
|
apps()
|
||||||
|
{
|
||||||
|
std::string content;
|
||||||
|
if (::utils::io::read_file(LANGUAGE_FILE, &content))
|
||||||
|
{
|
||||||
|
#if DEBUG
|
||||||
|
console::info("Language switched to \"%s\".\n", content.data());
|
||||||
|
#endif
|
||||||
|
strcpy_s(language, sizeof(language), content.data());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// default to english if no file is found
|
||||||
|
strcpy_s(language, sizeof(language), "english");
|
||||||
|
}
|
||||||
|
|
||||||
virtual bool BIsSubscribed();
|
virtual bool BIsSubscribed();
|
||||||
virtual bool BIsLowViolence();
|
virtual bool BIsLowViolence();
|
||||||
virtual bool BIsCybercafe();
|
virtual bool BIsCybercafe();
|
||||||
|
Loading…
Reference in New Issue
Block a user