1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-10 22:31:40 +02:00

Merge remote-tracking branch 'upstream/develop' into develop

This commit is contained in:
Xilmi
2024-10-20 00:49:17 +02:00
194 changed files with 3433 additions and 2397 deletions

View File

@@ -17,20 +17,22 @@ env:
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- platform: linux-qt6
os: ubuntu-24.04
test: 0
before_install: linux_qt6.sh
preset: linux-clang-test
- platform: linux
os: ubuntu-24.04
test: 1
before_install: linux_qt5.sh
preset: linux-gcc-test
- platform: linux
os: ubuntu-20.04
test: 0
before_install: linux_qt5.sh
preset: linux-gcc-debug
- platform: mac-intel
os: macos-13
@@ -38,8 +40,10 @@ jobs:
pack: 1
pack_type: Release
extension: dmg
before_install: macos.sh
preset: macos-conan-ninja-release
conan_profile: macos-intel
conan_prebuilts: dependencies-mac-intel
conan_options: --options with_apple_system_libs=True
artifact_platform: intel
- platform: mac-arm
@@ -48,8 +52,10 @@ jobs:
pack: 1
pack_type: Release
extension: dmg
before_install: macos.sh
preset: macos-arm-conan-ninja-release
conan_profile: macos-arm
conan_prebuilts: dependencies-mac-arm
conan_options: --options with_apple_system_libs=True
artifact_platform: arm
- platform: ios
@@ -58,8 +64,10 @@ jobs:
pack: 1
pack_type: Release
extension: ipa
before_install: macos.sh
preset: ios-release-conan-ccache
conan_profile: ios-arm64
conan_prebuilts: dependencies-ios
conan_options: --options with_apple_system_libs=True
- platform: msvc
os: windows-latest
@@ -67,40 +75,45 @@ jobs:
pack: 1
pack_type: RelWithDebInfo
extension: exe
before_install: msvc.sh
preset: windows-msvc-release
- platform: mingw
os: ubuntu-22.04
- platform: mingw_x86_64
os: ubuntu-24.04
test: 0
pack: 1
pack_type: Release
extension: exe
cpack_args: -D CPACK_NSIS_EXECUTABLE=`which makensis`
cmake_args: -G Ninja
before_install: mingw.sh
preset: windows-mingw-conan-linux
conan_profile: mingw64-linux.jinja
- platform: mingw-32
os: ubuntu-22.04
conan_prebuilts: dependencies-mingw-x86-64
- platform: mingw_x86
os: ubuntu-24.04
test: 0
pack: 1
pack_type: Release
extension: exe
cpack_args: -D CPACK_NSIS_EXECUTABLE=`which makensis`
cmake_args: -G Ninja
before_install: mingw.sh
preset: windows-mingw-conan-linux
conan_profile: mingw32-linux.jinja
conan_prebuilts: dependencies-mingw-x86
- platform: android-32
os: macos-14
os: ubuntu-24.04
extension: apk
preset: android-conan-ninja-release
conan_profile: android-32
conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
before_install: android.sh
conan_profile: android-32-ndk
conan_prebuilts: dependencies-android-armeabi-v7a
artifact_platform: armeabi-v7a
- platform: android-64
os: macos-14
os: ubuntu-24.04
extension: apk
preset: android-conan-ninja-release
conan_profile: android-64
conan_options: --conf tools.android:ndk_path=$ANDROID_NDK_ROOT
before_install: android.sh
conan_profile: android-64-ndk
conan_prebuilts: dependencies-android-arm64-v8a
artifact_platform: arm64-v8a
runs-on: ${{ matrix.os }}
defaults:
@@ -108,15 +121,21 @@ jobs:
shell: bash
steps:
- uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Dependencies
run: source '${{github.workspace}}/CI/${{matrix.platform}}/before_install.sh'
- name: Prepare CI
if: "${{ matrix.before_install != '' }}"
run: source '${{github.workspace}}/CI/before_install/${{matrix.before_install}}'
env:
VCMI_BUILD_PLATFORM: x64
- name: Install Conan Dependencies
if: "${{ matrix.conan_prebuilts != '' }}"
run: source '${{github.workspace}}/CI/install_conan_dependencies.sh' '${{matrix.conan_prebuilts}}'
# ensure the ccache for each PR is separate so they don't interfere with each other
# fall back to ccache of the vcmi/vcmi repo if no PR-specific ccache is found
- name: ccache for PRs
@@ -158,15 +177,13 @@ jobs:
mkdir -p ~/.local/share/vcmi/
mv h3_assets/* ~/.local/share/vcmi/
- uses: actions/setup-python@v5
- name: Install Conan
if: "${{ matrix.conan_profile != '' }}"
with:
python-version: '3.10'
run: pipx install 'conan<2.0'
- name: Conan setup
- name: Install Conan profile
if: "${{ matrix.conan_profile != '' }}"
run: |
pip3 install 'conan<2.0'
conan profile new default --detect
conan install . \
--install-folder=conan-generated \
@@ -178,7 +195,13 @@ jobs:
env:
GENERATE_ONLY_BUILT_CONFIG: 1
- uses: actions/setup-java@v4
# Workaround for gradle not discovering SDK that was installed via conan
- name: Find Android NDK
if: ${{ startsWith(matrix.platform, 'android') }}
run: sudo ln -s -T /home/runner/.conan/data/android-ndk/r25c/_/_/package/4db1be536558d833e52e862fd84d64d75c2b3656/bin /usr/local/lib/android/sdk/ndk/25.2.9519653
- name: Install Java
uses: actions/setup-java@v4
if: ${{ startsWith(matrix.platform, 'android') }}
with:
distribution: 'temurin'
@@ -243,11 +266,13 @@ jobs:
if: ${{ matrix.pack == 1 }}
run: |
cd '${{github.workspace}}/out/build/${{matrix.preset}}'
CPACK_PATH=`which -a cpack | grep -m1 -v -i chocolatey`
counter=0; until "$CPACK_PATH" -C ${{matrix.pack_type}} ${{ matrix.cpack_args }} || ((counter > 20)); do sleep 3; ((counter++)); done
test -f '${{github.workspace}}/CI/${{matrix.platform}}/post_pack.sh' \
&& '${{github.workspace}}/CI/${{matrix.platform}}/post_pack.sh' '${{github.workspace}}' "$(ls '${{ env.VCMI_PACKAGE_FILE_NAME }}'.*)"
rm -rf _CPack_Packages
# Workaround for CPack bug on macOS 13
counter=0
until cpack -C ${{matrix.pack_type}} || ((counter > 20)); do
sleep 3
((counter++))
done
- name: Artifacts
if: ${{ matrix.pack == 1 }}
@@ -269,7 +294,7 @@ jobs:
echo "ANDROID_APK_PATH=$ANDROID_APK_PATH" >> $GITHUB_ENV
echo "ANDROID_AAB_PATH=$ANDROID_AAB_PATH" >> $GITHUB_ENV
- name: Android apk artifacts
- name: Upload android apk artifacts
if: ${{ startsWith(matrix.platform, 'android') }}
uses: actions/upload-artifact@v4
with:
@@ -277,15 +302,15 @@ jobs:
path: |
${{ env.ANDROID_APK_PATH }}
- name: Android aab artifacts
if: ${{ startsWith(matrix.platform, 'android') }}
- name: Upload Android aab artifacts
if: ${{ startsWith(matrix.platform, 'android') && github.ref == 'refs/heads/master' }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.VCMI_PACKAGE_FILE_NAME }} - ${{ matrix.platform }} - aab
path: |
${{ env.ANDROID_AAB_PATH }}
- name: Symbols
- name: Upload debug symbols
if: ${{ matrix.platform == 'msvc' }}
uses: actions/upload-artifact@v4
with:
@@ -344,11 +369,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
if: "${{ matrix.conan_profile != '' }}"
with:
python-version: '3.10'
- name: Ensure LF line endings
run: |
find . -path ./.git -prune -o -path ./AI/FuzzyLite -prune -o -path ./test/googletest \
@@ -359,4 +379,4 @@ jobs:
- name: Validate JSON
run: |
sudo apt install python3-jstyleson
python3 CI/linux-qt6/validate_json.py
python3 CI/validate_json.py

View File

@@ -58,7 +58,7 @@ void DamageCache::buildObstacleDamageCache(std::shared_ptr<HypotheticBattle> hb,
return u->alive() && !u->isTurret() && u->getPosition().isValid();
});
std::shared_ptr<HypotheticBattle> inner = std::make_shared<HypotheticBattle>(hb->env, hb);
auto inner = std::make_shared<HypotheticBattle>(hb->env, hb);
for(auto stack : stacks)
{

View File

@@ -17,7 +17,6 @@
#include "../../lib/mapObjects/ObjectTemplate.h"
#include "../../lib/mapObjects/CGHeroInstance.h"
#include "../../lib/CConfigHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/IGameSettings.h"
#include "../../lib/gameState/CGameState.h"
#include "../../lib/serializer/CTypeList.h"
@@ -649,12 +648,12 @@ void AIGateway::showBlockingDialog(const std::string & text, const std::vector<C
auto danger = nullkiller->dangerEvaluator->evaluateDanger(target, hero.get());
auto ratio = static_cast<float>(danger) / hero->getTotalStrength();
answer = 1;
answer = true;
if(topObj->id != goalObjectID && nullkiller->dangerEvaluator->evaluateDanger(topObj) > 0)
{
// no if we do not aim to visit this object
answer = 0;
answer = false;
}
logAi->trace("Query hook: %s(%s) by %s danger ratio %f", target.toString(), topObj->getObjectName(), hero.name(), ratio);

View File

@@ -14,7 +14,6 @@
#include "../../lib/UnlockGuard.h"
#include "../../lib/CConfigHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/mapObjects/MapObjects.h"
#include "../../lib/mapping/CMapDefines.h"
#include "../../lib/gameState/QuestInfo.h"

View File

@@ -11,7 +11,6 @@
#include "../StdInc.h"
#include "../Engine/Nullkiller.h"
#include "../../../lib/mapObjects/MapObjects.h"
#include "../../../lib/CHeroHandler.h"
#include "../../../lib/IGameSettings.h"
namespace NKAI

View File

@@ -31,7 +31,7 @@ namespace Goals
{
objid = obj->id.getNum();
tile = obj->visitablePos();
name = obj->typeName;
name = obj->getTypeName();
}
bool operator==(const CaptureObject & other) const override;

View File

@@ -31,7 +31,7 @@ ExecuteHeroChain::ExecuteHeroChain(const AIPath & path, const CGObjectInstance *
#if NKAI_TRACE_LEVEL >= 1
targetName = obj->getObjectName() + tile.toString();
#else
targetName = obj->typeName + tile.toString();
targetName = obj->getTypeName() + tile.toString();
#endif
}
else

View File

@@ -13,7 +13,7 @@
#include "Rules/AIMovementAfterDestinationRule.h"
#include "Rules/AIMovementToDestinationRule.h"
#include "Rules/AIPreviousNodeRule.h"
#include "../Engine//Nullkiller.h"
#include "../Engine/Nullkiller.h"
#include "../../../lib/pathfinder/CPathfinder.h"

View File

@@ -182,7 +182,7 @@ ExchangeResult HeroActor::tryExchangeNoLock(const ChainActor * specialActor, con
return &actor == specialActor;
});
result.actor = &(dynamic_cast<HeroActor *>(result.actor)->specialActors[index]);
result.actor = &(dynamic_cast<HeroActor *>(result.actor)->specialActors.at(index));
return result;
}
@@ -440,7 +440,7 @@ int DwellingActor::getInitialTurn(bool waitForGrowth, int dayOfWeek)
std::string DwellingActor::toString() const
{
return dwelling->typeName + dwelling->visitablePos().toString();
return dwelling->getTypeName() + dwelling->visitablePos().toString();
}
CCreatureSet * DwellingActor::getDwellingCreatures(const CGDwelling * dwelling, bool waitForGrowth)

View File

@@ -113,7 +113,7 @@ public:
static const int SPECIAL_ACTORS_COUNT = 7;
private:
ChainActor specialActors[SPECIAL_ACTORS_COUNT];
std::array<ChainActor, SPECIAL_ACTORS_COUNT> specialActors;
std::unique_ptr<HeroExchangeMap> exchangeMap;
void setupSpecialActors();

View File

@@ -15,7 +15,6 @@
#include "../../lib/UnlockGuard.h"
#include "../../lib/CConfigHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/mapObjects/CGTownInstance.h"
#include "../../lib/mapObjects/CQuest.h"
#include "../../lib/mapping/CMapDefines.h"

View File

@@ -12,7 +12,6 @@
#include "../../lib/GameConstants.h"
#include "../../lib/VCMI_Lib.h"
#include "../../lib/CCreatureHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/mapObjects/CompoundMapObjectID.h"
#include "../../lib/mapObjectConstructors/AObjectTypeHandler.h"
#include "../../lib/mapObjects/CGHeroInstance.h"

View File

@@ -20,7 +20,6 @@
#include "../../lib/mapObjects/MapObjects.h"
#include "../../lib/mapObjects/ObjectTemplate.h"
#include "../../lib/CConfigHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/IGameSettings.h"
#include "../../lib/gameState/CGameState.h"
#include "../../lib/bonuses/Limiters.h"

View File

@@ -18,7 +18,6 @@
#include "lib/mapObjects/CGHeroInstance.h"
#include "lib/mapObjects/CGTownInstance.h"
#include "lib/texts/CGeneralTextHandler.h"
#include "lib/CHeroHandler.h"
#include "lib/CArtHandler.h"
#include "lib/GameConstants.h"
#include "lib/CPlayerState.h"

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env bash
DEPS_FILENAME=dependencies-android-32
. CI/android/before_install.sh

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env bash
DEPS_FILENAME=dependencies-android-64
. CI/android/before_install.sh

View File

@@ -1,7 +0,0 @@
#!/usr/bin/env bash
echo "ANDROID_NDK_ROOT=$ANDROID_HOME/ndk/25.2.9519653" >> $GITHUB_ENV
brew install ninja
. CI/install_conan_dependencies.sh "$DEPS_FILENAME"

View File

@@ -0,0 +1,4 @@
#!/bin/sh
sudo apt-get update
sudo apt-get install ninja-build

View File

@@ -1,6 +1,5 @@
#!/bin/sh
sudo apt remove needrestart
sudo apt-get update
# Dependencies
@@ -9,6 +8,6 @@ sudo apt-get update
# - debian build settings at debian/control
sudo apt-get install libboost-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-locale-dev libboost-iostreams-dev \
libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \
qtbase5-dev \
qtbase5-dev qttools5-dev \
ninja-build zlib1g-dev libavformat-dev libswscale-dev libtbb-dev libluajit-5.1-dev \
libminizip-dev libfuzzylite-dev qttools5-dev libsqlite3-dev # Optional dependencies
libminizip-dev libfuzzylite-dev libsqlite3-dev # Optional dependencies

View File

@@ -1,9 +1,11 @@
#!/bin/sh
sudo apt remove needrestart
sudo apt-get update
# Dependencies
# In case of change in dependencies list please also update:
# - developer docs at docs/developer/Building_Linux.md
# - debian build settings at debian/control
sudo apt-get install libboost-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-locale-dev libboost-iostreams-dev \
libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \
qt6-base-dev qt6-base-dev-tools qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools \

View File

@@ -3,5 +3,3 @@
echo DEVELOPER_DIR=/Applications/Xcode_14.2.app >> $GITHUB_ENV
brew install ninja
. CI/install_conan_dependencies.sh "$DEPS_FILENAME"

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
sudo apt-get update
sudo apt-get install ninja-build mingw-w64 nsis
sudo update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix

View File

@@ -10,7 +10,7 @@ STRIP={{ target_host }}-strip
{%- endmacro -%}
{% macro generate_env_win32(target_host) -%}
CONAN_SYSTEM_LIBRARY_LOCATION=/usr/lib/gcc/{{ target_host }}/10-posix/
CONAN_SYSTEM_LIBRARY_LOCATION=/usr/lib/gcc/{{ target_host }}/13-posix/
RC={{ target_host }}-windres
{%- endmacro -%}

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
RELEASE_TAG="1.2"
RELEASE_TAG="1.3"
FILENAME="$1"
DOWNLOAD_URL="https://github.com/vcmi/vcmi-dependencies/releases/download/$RELEASE_TAG/$FILENAME.txz"

View File

@@ -1,5 +0,0 @@
#!/usr/bin/env bash
echo DEVELOPER_DIR=/Applications/Xcode_14.2.app >> $GITHUB_ENV
. CI/install_conan_dependencies.sh "dependencies-ios"

View File

@@ -1 +0,0 @@
#!/bin/sh

View File

@@ -1 +0,0 @@
#!/bin/sh

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env bash
DEPS_FILENAME=dependencies-mac-arm
. CI/mac/before_install.sh

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env bash
DEPS_FILENAME=dependencies-mac-intel
. CI/mac/before_install.sh

View File

@@ -1,14 +0,0 @@
#!/usr/bin/env bash
sudo apt-get update
sudo apt-get install ninja-build mingw-w64 nsis
sudo update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix
# Workaround for getting new MinGW headers on Ubuntu 22.04.
# Remove it once MinGW headers version in repository will be 10.0 at least
curl -O -L http://mirrors.kernel.org/ubuntu/pool/universe/m/mingw-w64/mingw-w64-common_10.0.0-3_all.deb \
&& sudo dpkg -i mingw-w64-common_10.0.0-3_all.deb;
curl -O -L http://mirrors.kernel.org/ubuntu/pool/universe/m/mingw-w64/mingw-w64-i686-dev_10.0.0-3_all.deb \
&& sudo dpkg -i mingw-w64-i686-dev_10.0.0-3_all.deb;
. CI/install_conan_dependencies.sh "dependencies-mingw-32"

View File

@@ -1,14 +0,0 @@
#!/usr/bin/env bash
sudo apt-get update
sudo apt-get install ninja-build mingw-w64 nsis
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
# Workaround for getting new MinGW headers on Ubuntu 22.04.
# Remove it once MinGW headers version in repository will be 10.0 at least
curl -O -L http://mirrors.kernel.org/ubuntu/pool/universe/m/mingw-w64/mingw-w64-common_10.0.0-3_all.deb \
&& sudo dpkg -i mingw-w64-common_10.0.0-3_all.deb;
curl -O -L http://mirrors.kernel.org/ubuntu/pool/universe/m/mingw-w64/mingw-w64-x86-64-dev_10.0.0-3_all.deb \
&& sudo dpkg -i mingw-w64-x86-64-dev_10.0.0-3_all.deb;
. CI/install_conan_dependencies.sh "dependencies-mingw"

View File

@@ -1,6 +0,0 @@
cd %APPVEYOR_BUILD_FOLDER%
cd build_%VCMI_BUILD_PLATFORM%
cmake --build . --config %VCMI_BUILD_CONFIGURATION% -- /maxcpucount:2
cpack

View File

@@ -1,5 +0,0 @@
cd %APPVEYOR_BUILD_FOLDER%
cd build_%VCMI_BUILD_PLATFORM%
echo Building with coverity...
cov-build.exe --dir cov-int cmake --build . --config %VCMI_BUILD_CONFIGURATION% -- /maxcpucount:2

View File

@@ -1,17 +0,0 @@
7z a "$Env:APPVEYOR_BUILD_FOLDER\$Env:APPVEYOR_PROJECT_NAME.zip" "$Env:APPVEYOR_BUILD_FOLDER\build_$Env:VCMI_BUILD_PLATFORM\cov-int\"
# cf. http://stackoverflow.com/a/25045154/335418
Remove-item alias:curl
Write-Host "Uploading Coverity analysis result..." -ForegroundColor "Green"
curl --silent --show-error `
--output curl-out.txt `
--form token="$Env:coverity_token" `
--form email="$Env:coverity_email" `
--form "file=@$Env:APPVEYOR_BUILD_FOLDER\$Env:APPVEYOR_PROJECT_NAME.zip" `
--form version="$Env:APPVEYOR_REPO_COMMIT" `
--form description="CI server scheduled build." `
https://scan.coverity.com/builds?project=vcmi%2Fvcmi
cat .\curl-out.txt

View File

@@ -180,11 +180,6 @@ else()
add_definitions(-DVCMI_NO_EXTRA_VERSION)
endif(ENABLE_GITVERSION)
# Precompiled header configuration
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0 )
set(ENABLE_PCH OFF) # broken
endif()
if(ENABLE_PCH)
macro(enable_pch name)
target_precompile_headers(${name} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:<StdInc.h$<ANGLE-R>>)
@@ -328,7 +323,6 @@ if(MINGW OR MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244") # 4244: conversion from 'xxx' to 'yyy', possible loss of data
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267") # 4267: conversion from 'xxx' to 'yyy', possible loss of data
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4275") # 4275: non dll-interface class 'xxx' used as base for dll-interface class
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4800") # 4800: implicit conversion from 'xxx' to bool. Possible information loss
if(ENABLE_STRICT_COMPILATION)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX") # Treats all compiler warnings as errors
@@ -493,14 +487,23 @@ if (ENABLE_CLIENT)
if(TARGET SDL2_image::SDL2_image)
add_library(SDL2::Image ALIAS SDL2_image::SDL2_image)
endif()
if(TARGET SDL2_image::SDL2_image-static)
add_library(SDL2::Image ALIAS SDL2_image::SDL2_image-static)
endif()
find_package(SDL2_mixer REQUIRED)
if(TARGET SDL2_mixer::SDL2_mixer)
add_library(SDL2::Mixer ALIAS SDL2_mixer::SDL2_mixer)
endif()
if(TARGET SDL2_mixer::SDL2_mixer-static)
add_library(SDL2::Mixer ALIAS SDL2_mixer::SDL2_mixer-static)
endif()
find_package(SDL2_ttf REQUIRED)
if(TARGET SDL2_ttf::SDL2_ttf)
add_library(SDL2::TTF ALIAS SDL2_ttf::SDL2_ttf)
endif()
if(TARGET SDL2_ttf::SDL2_ttf-static)
add_library(SDL2::TTF ALIAS SDL2_ttf::SDL2_ttf-static)
endif()
endif()
if(ENABLE_LOBBY)
@@ -727,7 +730,7 @@ endif()
if(WIN32)
if(TBB_FOUND AND MSVC)
install_vcpkg_imported_tgt(TBB::tbb)
install_vcpkg_imported_tgt(TBB::tbb)
endif()
if(USING_CONAN)
@@ -737,7 +740,9 @@ if(WIN32)
${dep_files}
"${CMAKE_SYSROOT}/bin/*.dll"
"${CMAKE_SYSROOT}/lib/*.dll"
"${CONAN_SYSTEM_LIBRARY_LOCATION}/*.dll")
"${CONAN_SYSTEM_LIBRARY_LOCATION}/libgcc_s_dw2-1.dll" # for 32-bit only?
"${CONAN_SYSTEM_LIBRARY_LOCATION}/libgcc_s_seh-1.dll" # for 64-bit only?
"${CONAN_SYSTEM_LIBRARY_LOCATION}/libstdc++-6.dll")
else()
file(GLOB dep_files
${dep_files}

View File

@@ -581,7 +581,7 @@
"core.bonus.GARGOYLE.description": "不能被复活或治疗",
"core.bonus.GENERAL_DAMAGE_REDUCTION.name": "减少伤害 (${val}%)",
"core.bonus.GENERAL_DAMAGE_REDUCTION.description": "减少从远程和近战中遭受的物理伤害",
"core.bonus.HATE.name": "${subtype.creature}的死敌",
"core.bonus.HATE.name": "憎恨${subtype.creature}",
"core.bonus.HATE.description": "对${subtype.creature}造成额外${val}%伤害",
"core.bonus.HEALER.name": "治疗者",
"core.bonus.HEALER.description": "可以治疗友军单位",

View File

@@ -12,14 +12,21 @@
"vcmi.adventureMap.monsterThreat.levels.9" : "Převažující",
"vcmi.adventureMap.monsterThreat.levels.10" : "Smrtelná",
"vcmi.adventureMap.monsterThreat.levels.11" : "Nemožná",
"vcmi.adventureMap.monsterLevel" : "\n\nÚroveň %LEVEL %TOWN %ATTACK_TYPE jednotka",
"vcmi.adventureMap.monsterMeleeType" : "útok zblízka",
"vcmi.adventureMap.monsterRangedType" : "útok na dálku",
"vcmi.adventureMap.search.hover" : "Prohledat mapový objekt",
"vcmi.adventureMap.search.help" : "Vyberte objekt na mapě pro prohledání.",
"vcmi.adventureMap.confirmRestartGame" : "Jste si jisti, že chcete restartovat hru?",
"vcmi.adventureMap.noTownWithMarket" : "Nejsou dostupná jakákoliv tržiště!",
"vcmi.adventureMap.noTownWithTavern" : "Nejsou dostupná jakákoliv města s krčmou!",
"vcmi.adventureMap.noTownWithMarket" : "Nejsou dostupné žádne tržnice!",
"vcmi.adventureMap.noTownWithTavern" : "Nejsou dostupná žádná města s putykou!",
"vcmi.adventureMap.spellUnknownProblem" : "Neznámý problém s tímto kouzlem! Další informace nejsou k dispozici.",
"vcmi.adventureMap.playerAttacked" : "Hráč byl napaden: %s",
"vcmi.adventureMap.moveCostDetails" : "Body pohybu - Cena: %TURNS tahů + %POINTS bodů, zbylé body: %REMAINING",
"vcmi.adventureMap.moveCostDetailsNoTurns" : "Body pohybu - Cena: %POINTS bodů, zbylé body: %REMAINING",
"vcmi.adventureMap.movementPointsHeroInfo" : "(Body pohybu: %REMAINING / %POINTS)",
"vcmi.adventureMap.replayOpponentTurnNotImplemented" : "Omlouváme se, přehrání tahu soupeře ještě není implementováno!",
"vcmi.capitalColors.0" : "Červený",
"vcmi.capitalColors.1" : "Modrý",
@@ -29,7 +36,7 @@
"vcmi.capitalColors.5" : "Fialový",
"vcmi.capitalColors.6" : "Tyrkysový",
"vcmi.capitalColors.7" : "Růžový",
"vcmi.heroOverview.startingArmy" : "Počáteční jednotky",
"vcmi.heroOverview.warMachine" : "Bojové stroje",
"vcmi.heroOverview.secondarySkills" : "Druhotné schopnosti",
@@ -41,11 +48,11 @@
"vcmi.radialWheel.splitUnitEqually" : "Rozdělit jednotky rovnoměrně",
"vcmi.radialWheel.moveUnit" : "Přesunout jednotky do jiného oddílu",
"vcmi.radialWheel.splitUnit" : "Rozdělit jednotku do jiné pozice",
"vcmi.radialWheel.heroGetArmy" : "Získat armádu jiného hrdiny",
"vcmi.radialWheel.heroSwapArmy" : "Vyměnit armádu s jiným hrdinou",
"vcmi.radialWheel.heroExchange" : "Otevřít výměnu hrdinů",
"vcmi.radialWheel.heroGetArtifacts" : "Získat artefakty od jiního hrdiny",
"vcmi.radialWheel.heroGetArtifacts" : "Získat artefakty od jiného hrdiny",
"vcmi.radialWheel.heroSwapArtifacts" : "Vyměnit artefakty s jiným hrdinou",
"vcmi.radialWheel.heroDismiss" : "Propustit hrdinu",
@@ -56,6 +63,13 @@
"vcmi.spellBook.search" : "hledat...",
"vcmi.spellResearch.canNotAfford" : "Nemáte dostatek prostředků k nahrazení {%SPELL1} za {%SPELL2}. Stále však můžete toto kouzlo zrušit a pokračovat ve výzkumu kouzel.",
"vcmi.spellResearch.comeAgain" : "Výzkum už byl dnes proveden. Vraťte se zítra.",
"vcmi.spellResearch.pay" : "Chcete nahradit {%SPELL1} za {%SPELL2}? Nebo zrušit toto kouzlo a pokračovat ve výzkumu kouzel?",
"vcmi.spellResearch.research" : "Prozkoumat toto kouzlo",
"vcmi.spellResearch.skip" : "Přeskočit toto kouzlo",
"vcmi.spellResearch.abort" : "Přerušit",
"vcmi.mainMenu.serverConnecting" : "Připojování...",
"vcmi.mainMenu.serverAddressEnter" : "Zadejte adresu:",
"vcmi.mainMenu.serverConnectionFailed" : "Připojování selhalo",
@@ -70,9 +84,14 @@
"vcmi.lobby.noPreview" : "bez náhledu",
"vcmi.lobby.noUnderground" : "bez podzemí",
"vcmi.lobby.sortDate" : "Řadit mapy dle data změny",
"vcmi.lobby.backToLobby" : "Vrátit se do předsíně",
"vcmi.lobby.login.title" : "Online předsíň VCMI",
"vcmi.lobby.backToLobby" : "Vrátit se do lobby",
"vcmi.lobby.author" : "Autor",
"vcmi.lobby.handicap" : "Handicap",
"vcmi.lobby.handicap.resource" : "Dává hráčům odpovídající zdroje navíc k běžným startovním zdrojům. Jsou povoleny záporné hodnoty, ale jsou omezeny na celkovou hodnotu 0 (hráč nikdy nezačíná se zápornými zdroji).",
"vcmi.lobby.handicap.income" : "Mění různé příjmy hráče podle procent. Výsledek je zaokrouhlen nahoru.",
"vcmi.lobby.handicap.growth" : "Mění rychlost růstu jednotel v městech vlastněných hráčem. Výsledek je zaokrouhlen nahoru.",
"vcmi.lobby.login.title" : "Online lobby VCMI",
"vcmi.lobby.login.username" : "Uživatelské jméno:",
"vcmi.lobby.login.connecting" : "Připojování...",
"vcmi.lobby.login.error" : "Chyba při připojování: %s",
@@ -135,14 +154,15 @@
"vcmi.client.errors.invalidMap" : "{Neplatná mapa nebo kampaň}\n\nChyba při startu hry! Vybraná mapa nebo kampaň může být neplatná nebo poškozená. Důvod:\n%s",
"vcmi.client.errors.missingCampaigns" : "{Chybějící datové soubory}\n\nDatové soubory kampaně nebyly nalezeny! Možná máte nekompletní nebo poškozené datové soubory Heroes 3. Prosíme, přeinstalujte hru.",
"vcmi.server.errors.disconnected" : "{Chyba sítě}\n\nPřipojení k hernímu serveru bylo ztraceno!",
"vcmi.server.errors.playerLeft" : "{Hráč opustil hru}\n\nHráč %s se odpojil ze hry!", //%s -> player color
"vcmi.server.errors.existingProcess" : "Již běží jiný server VCMI. Prosím, ukončete ho před startem nové hry.",
"vcmi.server.errors.modsToEnable" : "{Následující modifikace jsou nutné pro načtení hry}",
"vcmi.server.errors.modsToDisable" : "{Následující modifikace musí být zakázány}",
"vcmi.server.errors.modNoDependency" : "Nelze načíst modifikaci {'%s'}!\n Závisí na modifikaci {'%s'}, která není aktivní!\n",
"vcmi.server.errors.modConflict" : "Nelze načíst modifikaci {'%s'}!\n Je v kolizi s aktivní modifikací {'%s'}!\n",
"vcmi.server.errors.unknownEntity" : "Nelze načíst uloženou pozici! Neznámá entita '%s' nalezena v uložené pozici! Uložná pozice nemusí být kompatibilní s aktuálními verzemi modifikací!",
"vcmi.dimensionDoor.seaToLandError" : "It's not possible to teleport from sea to land or vice versa with a Dimension Door.", //TODO
"vcmi.dimensionDoor.seaToLandError" : "Pomocí dimenzní brány není možné se teleportovat z moře na pevninu nebo naopak.",
"vcmi.settingsMainWindow.generalTab.hover" : "Obecné",
"vcmi.settingsMainWindow.generalTab.help" : "Přepne na kartu obecných nastavení, která obsahuje nastavení související s obecným chováním klienta hry.",
@@ -156,6 +176,38 @@
"vcmi.systemOptions.otherGroup" : "Ostatní nastavení", // unused right now
"vcmi.systemOptions.townsGroup" : "Obrazovka města",
"vcmi.statisticWindow.statistics" : "Statistiky",
"vcmi.statisticWindow.tsvCopy" : "Zkopírovat data do schránky",
"vcmi.statisticWindow.selectView" : "Vybrat pohled",
"vcmi.statisticWindow.value" : "Hodnota",
"vcmi.statisticWindow.title.overview" : "Přehled",
"vcmi.statisticWindow.title.resources" : "Zdroje",
"vcmi.statisticWindow.title.income" : "Příjem",
"vcmi.statisticWindow.title.numberOfHeroes" : "Počet hrdinů",
"vcmi.statisticWindow.title.numberOfTowns" : "Počet měst",
"vcmi.statisticWindow.title.numberOfArtifacts" : "Počet artefaktů",
"vcmi.statisticWindow.title.numberOfDwellings" : "Počet obydlí",
"vcmi.statisticWindow.title.numberOfMines" : "Počet dolů",
"vcmi.statisticWindow.title.armyStrength" : "Síla armády",
"vcmi.statisticWindow.title.experience" : "Zkušenosti",
"vcmi.statisticWindow.title.resourcesSpentArmy" : "Náklady na armádu",
"vcmi.statisticWindow.title.resourcesSpentBuildings" : "Náklady na budovy",
"vcmi.statisticWindow.title.mapExplored" : "Prozkoumaná část mapy",
"vcmi.statisticWindow.param.playerName" : "Jméno hráče",
"vcmi.statisticWindow.param.daysSurvived" : "Počet přežitých dní",
"vcmi.statisticWindow.param.maxHeroLevel" : "Maximální úroveň hrdiny",
"vcmi.statisticWindow.param.battleWinRatioHero" : "Poměr výher (proti hrdinům)",
"vcmi.statisticWindow.param.battleWinRatioNeutral" : "Poměr výher (proti neutrálním jednotkám)",
"vcmi.statisticWindow.param.battlesHero" : "Bitev (proti hrdinům)",
"vcmi.statisticWindow.param.battlesNeutral" : "Bitej (proti neutrálním jednotkám)",
"vcmi.statisticWindow.param.maxArmyStrength" : "Maximální síla armády",
"vcmi.statisticWindow.param.tradeVolume" : "Objem obchodu",
"vcmi.statisticWindow.param.obeliskVisited" : "Navštívené obelisky",
"vcmi.statisticWindow.icon.townCaptured" : "Dobyto měst",
"vcmi.statisticWindow.icon.strongestHeroDefeated" : "Nejsilnější hrdina protivníka poražen",
"vcmi.statisticWindow.icon.grailFound" : "Nalezen Svatý grál",
"vcmi.statisticWindow.icon.defeated" : "Porážka",
"vcmi.systemOptions.fullscreenBorderless.hover" : "Celá obrazovka (bez okrajů)",
"vcmi.systemOptions.fullscreenBorderless.help" : "{Celá obrazovka bez okrajů}\n\nPokud je vybráno, VCMI poběží v režimu celé obrazovky bez okrajů. V tomto režimu bude hra respektovat systémové rozlišení a ignorovat vybrané rozlišení ve hře.",
"vcmi.systemOptions.fullscreenExclusive.hover" : "Celá obrazovka (exkluzivní)",
@@ -169,18 +221,18 @@
"vcmi.systemOptions.scalingMenu.hover" : "Vybrat škálování rozhraní",
"vcmi.systemOptions.scalingMenu.help" : "Změní škálování herního rozhraní.",
"vcmi.systemOptions.longTouchButton.hover" : "Doba dlouhého podržení: %d ms", // Translation note: "ms" = "milliseconds"
"vcmi.systemOptions.longTouchButton.help" : "{Doba dlouhého podržení}\n\nPři používání dotykové obrazovky budou zobrazeno vyskakovací okno při podržení prstu na obrazovce, v milisekundách",
"vcmi.systemOptions.longTouchButton.help" : "{Doba dlouhého podržení}\n\nPři používání dotykové obrazovky bude zobrazeno vyskakovací okno při podržení prstu na obrazovce, v milisekundách",
"vcmi.systemOptions.longTouchMenu.hover" : "Vybrat dobu dlouhého podržení",
"vcmi.systemOptions.longTouchMenu.help" : "Změnit dobu dlouhého podržení.",
"vcmi.systemOptions.longTouchMenu.entry" : "%d milisekund",
"vcmi.systemOptions.framerateButton.hover" : "Zobrazit FPS",
"vcmi.systemOptions.framerateButton.help" : "{Zobrazit FPS}\n\nPřepne viditelnost počitadla snímků za sekundu v rohu obrazovky hry.",
"vcmi.systemOptions.framerateButton.help" : "{Zobrazit FPS}\n\nPřepne viditelnost počítadla snímků za sekundu v rohu obrazovky hry.",
"vcmi.systemOptions.hapticFeedbackButton.hover" : "Vibrace",
"vcmi.systemOptions.hapticFeedbackButton.help" : "{Vibrace}\n\nPřepnout stav vibrací při dotykovém ovládání.",
"vcmi.systemOptions.enableUiEnhancementsButton.hover" : "Vylepšení rozhraní",
"vcmi.systemOptions.enableUiEnhancementsButton.help" : "{Vylepšení rozhraní}\n\nZapne různá vylepšení rozhraní, jako je tlačítko batohu atd. Zakažte pro zážitek klasické hry.",
"vcmi.systemOptions.enableLargeSpellbookButton.hover" : "Velká kniha kouzel",
"vcmi.systemOptions.enableLargeSpellbookButton.help" : "{Velká kniha kouzel}\n\nPovolí větší knihu kouzel, do které se jich více vleze na jednu stranu. Animace změny stránek s tímto nastavením nefunguje.",
"vcmi.systemOptions.enableLargeSpellbookButton.help" : "{Velká kniha kouzel}\n\nPovolí větší knihu kouzel, do které se vejde více kouzel na jednu stranu. Animace změny stránek s tímto nastavením nefunguje.",
"vcmi.systemOptions.audioMuteFocus.hover" : "Ztlumit při neaktivitě",
"vcmi.systemOptions.audioMuteFocus.help" : "{Ztlumit při neaktivitě}\n\nZtlumit zvuk, pokud je okno hry v pozadí. Výjimkou jsou zprávy ve hře a zvuk nového tahu.",
@@ -194,18 +246,24 @@
"vcmi.adventureOptions.showGrid.help" : "{Zobrazit mřížku}\n\nZobrazit překrytí mřížkou, zvýrazňuje hranice mezi dlaždicemi mapy světa.",
"vcmi.adventureOptions.borderScroll.hover" : "Posouvání okraji",
"vcmi.adventureOptions.borderScroll.help" : "{Posouvání okraji}\n\nPosouvat mapu světa, když je kurzor na okraji obrazovky. Může být zakázáno držením klávesy CTRL.",
"vcmi.adventureOptions.infoBarCreatureManagement.hover" : "Info Panel Creature Management", //TODO
"vcmi.adventureOptions.infoBarCreatureManagement.help" : "{Info Panel Creature Management}\n\nAllows rearranging creatures in info panel instead of cycling between default components.",
"vcmi.adventureOptions.infoBarCreatureManagement.hover" : "Správa jednotek v informačním panelu",
"vcmi.adventureOptions.infoBarCreatureManagement.help" : "{Správa jednotek v informačním panelu}\n\nUmožňuje přeskupovat jednotky v informačním panelu namísto procházení standardních informací.",
"vcmi.adventureOptions.leftButtonDrag.hover" : "Posouvání mapy levým kliknutím",
"vcmi.adventureOptions.leftButtonDrag.help" : "{Posouvání mapy levým kliknutím}\n\nPosouvání mapy tažením myši se stisknutým levým tlačítkem.",
"vcmi.adventureOptions.rightButtonDrag.hover" : "Přetahování pravým tlačítkem",
"vcmi.adventureOptions.rightButtonDrag.help" : "{Přetahování pravým tlačítkem}\n\nKdyž je povoleno, pohyb myší se stisknutým pravým tlačítkem bude posouvat pohled na mapě dobrodružství.",
"vcmi.adventureOptions.smoothDragging.hover" : "Plynulé posouvání mapy",
"vcmi.adventureOptions.smoothDragging.help" : "{Plynulé posouvání mapy}\n\nWhen enabled, map dragging has a modern run out effect.", // TODO
"vcmi.adventureOptions.smoothDragging.help" : "{Plynulé posouvání mapy}\n\nPokud je tato možnost aktivována, posouvání mapy bude plynulé.",
"vcmi.adventureOptions.skipAdventureMapAnimations.hover" : "Přeskočit efekty mizení",
"vcmi.adventureOptions.skipAdventureMapAnimations.help" : "{Přeskočit efekty mizení}\n\nKdyž je povoleno, přeskočí se efekty mizení objektů a podobné efekty (sběr surovin, nalodění atd.). V některých případech zrychlí uživatelské rozhraní na úkor estetiky. Obzvláště užitečné v PvP hrách. Pro maximální rychlost pohybu je toto nastavení aktivní bez ohledu na další volby.",
"vcmi.adventureOptions.mapScrollSpeed1.hover": "",
"vcmi.adventureOptions.mapScrollSpeed5.hover": "",
"vcmi.adventureOptions.mapScrollSpeed6.hover": "",
"vcmi.adventureOptions.mapScrollSpeed1.help": "Nastavit posouvání mapy na velmi pomalé",
"vcmi.adventureOptions.mapScrollSpeed5.help": "Nastavit posouvání mapy na velmi rychlé",
"vcmi.adventureOptions.mapScrollSpeed6.help": "Nastavit posouvání mapy na okamžité",
"vcmi.adventureOptions.hideBackground.hover" : "Skrýt pozadí",
"vcmi.adventureOptions.hideBackground.help" : "{Skrýt pozadí}\n\nSkryje mapu dobrodružství na pozadí a místo ní zobrazí texturu.",
"vcmi.battleOptions.queueSizeLabel.hover": "Zobrazit frontu pořadí tahů",
"vcmi.battleOptions.queueSizeNoneButton.hover": "VYPNUTO",
@@ -230,9 +288,13 @@
"vcmi.battleOptions.showStickyHeroInfoWindows.help": "{Zobrazit okno statistik hrdinů}\n\nTrvale zapne okno statistiky hrdinů, které ukazuje hlavní schopnosti a magickou energii.",
"vcmi.battleOptions.skipBattleIntroMusic.hover": "Přeskočit úvodní hudbu",
"vcmi.battleOptions.skipBattleIntroMusic.help": "{Přeskočit úvodní hudbu}\n\nPovolí akce při úvodní hudbě přehrávané při začátku každé bitvy.",
"vcmi.battleOptions.endWithAutocombat.hover": "Ukončit bitvu",
"vcmi.battleOptions.endWithAutocombat.help": "{Ukončit bitvu}\n\nAutomatický boj okamžitě dohraje bitvu do konce.",
"vcmi.battleOptions.showQuickSpell.hover": "Zobrazit rychlý panel kouzel",
"vcmi.battleOptions.showQuickSpell.help": "{Zobrazit rychlý panel kouzel}\n\nZobrazí panel pro rychlý výběr kouzel.",
"vcmi.adventureMap.revisitObject.hover" : "Znovu navštívit místo",
"vcmi.adventureMap.revisitObject.help" : "{Znovu navštívit místo}\n\nPokud se hrdina nachází na nějakém místě mapy, může jej znovu navštívit.",
"vcmi.adventureMap.revisitObject.hover" : "Znovu navštívit objekt",
"vcmi.adventureMap.revisitObject.help" : "{Znovu navštívit objekt}\n\nPokud hrdina právě stojí na objektu na mapě, může toto místo znovu navštívit.",
"vcmi.battleWindow.pressKeyToSkipIntro" : "Stiskněte jakoukoliv klávesu pro okamžité zahájení bitvy",
"vcmi.battleWindow.damageEstimation.melee" : "Zaútočit na %CREATURE (%DAMAGE).",
@@ -245,18 +307,18 @@
"vcmi.battleWindow.damageEstimation.damage.1" : "%d poškození",
"vcmi.battleWindow.damageEstimation.kills" : "%d zahyne",
"vcmi.battleWindow.damageEstimation.kills.1" : "%d zahyne",
"vcmi.battleWindow.damageRetaliation.will" : "Zahyne ",
"vcmi.battleWindow.damageRetaliation.may" : "Možná zahyne ",
"vcmi.battleWindow.damageRetaliation.never" : "Nezahyne.",
"vcmi.battleWindow.damageRetaliation.will" : "Provede odvetu",
"vcmi.battleWindow.damageRetaliation.may" : "Může provést odvetu",
"vcmi.battleWindow.damageRetaliation.never" : "Neprovede odvetu.",
"vcmi.battleWindow.damageRetaliation.damage" : "(%DAMAGE).",
"vcmi.battleWindow.damageRetaliation.damageKills" : "(%DAMAGE, %KILLS).",
"vcmi.battleWindow.killed" : "Zabito", //TODO
"vcmi.battleWindow.accurateShot.resultDescription.0" : "%d %s were killed by accurate shots!",
"vcmi.battleWindow.accurateShot.resultDescription.1" : "%d %s was killed with an accurate shot!",
"vcmi.battleWindow.accurateShot.resultDescription.2" : "%d %s were killed by accurate shots!",
"vcmi.battleWindow.endWithAutocombat" : "Are you sure you wish to end the battle with auto combat?",
"vcmi.battleWindow.killed" : "Zabito",
"vcmi.battleWindow.accurateShot.resultDescription.0" : "%d %s bylo zabito přesnými zásahy!",
"vcmi.battleWindow.accurateShot.resultDescription.1" : "%d %s byl zabit přesným zásahem!",
"vcmi.battleWindow.accurateShot.resultDescription.2" : "%d %s bylo zabito přesnými zásahy!",
"vcmi.battleWindow.endWithAutocombat" : "Opravdu chcete ukončit bitvu s automatickým bojem?",
"vcmi.battleResultsWindow.applyResultsLabel" : "Použít výsledek bitvy",
@@ -264,7 +326,7 @@
"vcmi.tutorialWindow.decription.RightClick" : "Klepněte a držte prvek, na který byste chtěli použít pravé tlačítko myši. Klepněte na volnou oblast pro zavření.",
"vcmi.tutorialWindow.decription.MapPanning" : "Klepněte a držte jedním prstem pro posouvání mapy.",
"vcmi.tutorialWindow.decription.MapZooming" : "Přibližte dva prsty k sobě pro přiblížení mapy.",
"vcmi.tutorialWindow.decription.RadialWheel" : "Přejetí otevře kruhovou nabídku pro různé akce, třeba správa hrdiny/bojovnínků a příkazy měst.",
"vcmi.tutorialWindow.decription.RadialWheel" : "Přejetí otevře kruhovou nabídku pro různé akce, třeba správa hrdiny/jednotek a příkazy měst.",
"vcmi.tutorialWindow.decription.BattleDirection" : "Pro útok ze speifického úhlu, přejeďte směrem, ze kterého má být útok vykonán.",
"vcmi.tutorialWindow.decription.BattleDirectionAbort" : "Gesto útoku pod úhlem může být zrušeno, pokud, pokud je prst dostatečně daleko.",
"vcmi.tutorialWindow.decription.AbortSpell" : "Klepněte a držte pro zrušení kouzla.",
@@ -276,26 +338,38 @@
"vcmi.otherOptions.compactTownCreatureInfo.hover": "Kompaktní informace o jednotkách",
"vcmi.otherOptions.compactTownCreatureInfo.help": "{Kompaktní informace o jednotkách}\n\nZobrazit menší informace o jednotkách města v jeho přehledu (levý spodní okraj obrazovky města).",
"vcmi.townHall.missingBase" : "Základní budova %s musí být postavena jako první",
"vcmi.townHall.noCreaturesToRecruit" : "Žádné jednotky k vycvičení!",
"vcmi.townHall.missingBase" : "Nejdříve musí být postavena základní budova %s",
"vcmi.townHall.noCreaturesToRecruit" : "Nejsou k dispozici žádné jednotky k najmutí!",
"vcmi.townStructure.bank.borrow" : "Vstupujete do banky. Bankéř vás spatří a říká: \"Máme pro vás speciální nabídku. Můžete si vzít půjčku 2500 zlata na 5 dní. Každý den budete muset splácet 500 zlata.\"",
"vcmi.townStructure.bank.payBack" : "Vstupujete do banky. Bankéř vás spatří a říká: \"Již jste si vzali půjčku. Nejprve ji splaťte, než si vezmete další.\"",
"vcmi.logicalExpressions.anyOf" : "Něco z následujících:",
"vcmi.logicalExpressions.allOf" : "Všechny následující:",
"vcmi.logicalExpressions.noneOf" : "Žádné z následujících:",
"vcmi.heroWindow.openCommander.hover" : "Open commander info window",
"vcmi.heroWindow.openCommander.help" : "Shows details about the commander of this hero.",
"vcmi.heroWindow.openBackpack.hover" : "Open artifact backpack window",
"vcmi.heroWindow.openBackpack.help" : "Opens window that allows easier artifact backpack management.",
"vcmi.heroWindow.openCommander.hover" : "Otevřít okno s informacemi o veliteli",
"vcmi.heroWindow.openCommander.help" : "Zobrazí podrobnosti o veliteli tohoto hrdiny.",
"vcmi.heroWindow.openBackpack.hover" : "Otevřít okno s artefakty",
"vcmi.heroWindow.openBackpack.help" : "Otevře okno, které umožňuje snadnější správu artefaktů v batohu.",
"vcmi.heroWindow.sortBackpackByCost.hover" : "Seřadit podle ceny",
"vcmi.heroWindow.sortBackpackByCost.help" : "Seřadí artefakty v batohu podle ceny.",
"vcmi.heroWindow.sortBackpackBySlot.hover" : "Seřadit podle slotu",
"vcmi.heroWindow.sortBackpackBySlot.help" : "Seřadí artefakty v batohu podle přiřazeného slotu.",
"vcmi.heroWindow.sortBackpackByClass.hover" : "Seřadit podle třídy",
"vcmi.heroWindow.sortBackpackByClass.help" : "Seřadí artefakty v batohu podle třídy artefaktu. Poklad, Menší, Větší, Relikvie.",
"vcmi.heroWindow.fusingArtifact.fusing" : "Máte všechny potřebné části k vytvoření %s. Chcete provést sloučení? {Při sloučení budou použity všechny části.}",
"vcmi.commanderWindow.artifactMessage" : "Chcete navrátit tento artefakt hrdinovi?",
"vcmi.tavernWindow.inviteHero" : "Pozvat hrdinu",
"vcmi.commanderWindow.artifactMessage" : "Chcete tento artefakt vrátit hrdinovi?",
"vcmi.creatureWindow.showBonuses.hover" : "Přepnout na zobrazení bonusů",
"vcmi.creatureWindow.showBonuses.help" : "Display all active bonuses of the commander.",
"vcmi.creatureWindow.showSkills.hover" : "Přepnout na zobrazení schoostí",
"vcmi.creatureWindow.showSkills.help" : "Display all learned skills of the commander.",
"vcmi.creatureWindow.showBonuses.help" : "Zobrazí všechny aktiv bonusy velitele.",
"vcmi.creatureWindow.showSkills.hover" : "Přepnout na zobrazení dovedností",
"vcmi.creatureWindow.showSkills.help" : "Zobrazí všechny naučené dovednosti velitele.",
"vcmi.creatureWindow.returnArtifact.hover" : "Vrátit artefakt",
"vcmi.creatureWindow.returnArtifact.help" : "Klikněte na toto tlačítko pro navrácení artefaktů do hrdinova batohu.",
"vcmi.creatureWindow.returnArtifact.help" : "Klikněte na toto tlačítko pro vrácení artefaktu do batohu hrdiny.",
"vcmi.questLog.hideComplete.hover" : "Skrýt dokončené úkoly",
"vcmi.questLog.hideComplete.help" : "Skrýt všechny dokončené úkoly.",
@@ -371,21 +445,22 @@
"vcmi.optionsTab.extraOptions.help" : "Další herní možnosti",
"vcmi.optionsTab.cheatAllowed.hover" : "Povolit cheaty",
"vcmi.optionsTab.unlimitedReplay.hover" : "Unlimited battle replay",
"vcmi.optionsTab.unlimitedReplay.hover" : "Neomezené opakování bitvy",
"vcmi.optionsTab.cheatAllowed.help" : "{Povolit cheaty}\nPovolí zadávání cheatů během hry.",
"vcmi.optionsTab.unlimitedReplay.help" : "{Unlimited battle replay}\nNo limit of replaying battles.",
"vcmi.optionsTab.unlimitedReplay.help" : "{Neomezené opakování bitvy}\nŽádné omezení pro opakování bitev.",
// Custom victory conditions for H3 campaigns and HotA maps
"vcmi.map.victoryCondition.daysPassed.toOthers" : "Nepřítel zvládl přežít do této chvíle. Vítězství je jeho!",
"vcmi.map.victoryCondition.daysPassed.toSelf" : "Gratulace! Zvládli jste přežít. Vítězství je vaše!",
"vcmi.map.victoryCondition.eliminateMonsters.toOthers" : "Nepřítel porazil všechny bojovníky zamořující tuto zemi a nárokuje si vítězství!",
"vcmi.map.victoryCondition.eliminateMonsters.toOthers" : "Nepřítel porazil všechny jednotky zamořující tuto zemi a nárokuje si vítězství!",
"vcmi.map.victoryCondition.eliminateMonsters.toSelf" : "Gratulace! Porazili jste všechny nepřátele zamořující tuto zemi a můžete si nárokovat vítězství!",
"vcmi.map.victoryCondition.collectArtifacts.message" : "Získejte tři artefakty",
"vcmi.map.victoryCondition.angelicAlliance.toSelf" : "Gratulace! Všichni vaši nepřítelé byli poraženi a máte Andělskou alianci! Vítězství je vaše!",
"vcmi.map.victoryCondition.angelicAlliance.message" : "Porazte všechny nepřátele a utužte Andělskou alianci",
"vcmi.map.victoryCondition.angelicAlliancePartLost.toSelf" : "Bohužel, ztratili jste část Andělské aliance. Vše je ztraceno.",
// few strings from WoG used by vcmi
"vcmi.stackExperience.description" : "» P o d r o b n o s t i z k u š e n o s t í o d d í l u «\n\nDruh bojovníka ................... : %s\nÚroveň hodnosti ................. : %s (%i)\nBody zkušeností ............... : %i\nZkušenostních bodů do další úrovně hodnosti .. : %i\nMaximum zkušeností na bitvu ... : %i%% (%i)\nPočet bojovníků v oddílu .... : %i\nMaximum nových rekrutů\n bez ztráty současné hodnosti .... : %i\nNásobič zkušeností ........... : %.2f\nNásobič vylepšení .............. : %.2f\nZkušnosti po 10. úrovně hodnosti ........ : %i\nMaximální počet nových rekrutů pro zachování\n 10. úrovně hodnosti s maximálními zkušenostmi: %i",
"vcmi.stackExperience.description" : "» P o d r o b n o s t i z k u š e n o s t í o d d í l u «\n\nDruh jednotky ................... : %s\nÚroveň hodnosti ................. : %s (%i)\nBody zkušeností ............... : %i\nZkušenostních bodů do další úrovně hodnosti .. : %i\nMaximum zkušeností na bitvu ... : %i%% (%i)\nPočet jednotek v oddílu .... : %i\nMaximum nových rekrutů\n bez ztráty současné hodnosti .... : %i\nNásobič zkušeností ........... : %.2f\nNásobič vylepšení .............. : %.2f\nZkušnosti po 10. úrovně hodnosti ........ : %i\nMaximální počet nových rekrutů pro zachování\n 10. úrovně hodnosti s maximálními zkušenostmi: %i",
"vcmi.stackExperience.rank.0" : "Začátečník",
"vcmi.stackExperience.rank.1" : "Učeň",
"vcmi.stackExperience.rank.2" : "Trénovaný",
@@ -398,151 +473,219 @@
"vcmi.stackExperience.rank.9" : "Mistr",
"vcmi.stackExperience.rank.10" : "Eso",
"core.bonus.ADDITIONAL_ATTACK.name": "Dvojitý úder",
// Strings for HotA Seer Hut / Quest Guards
"core.seerhut.quest.heroClass.complete.0" : "Ah, vy jste %s. Tady máte dárek. Přijmete ho?",
"core.seerhut.quest.heroClass.complete.1" : "Ah, vy jste %s. Tady máte dárek. Přijmete ho?",
"core.seerhut.quest.heroClass.complete.2" : "Ah, vy jste %s. Tady máte dárek. Přijmete ho?",
"core.seerhut.quest.heroClass.complete.3" : "Stráže si všimly, že jste %s a nabízejí vám průchod. Přijmete to?",
"core.seerhut.quest.heroClass.complete.4" : "Stráže si všimly, že jste %s a nabízejí vám průchod. Přijmete to?",
"core.seerhut.quest.heroClass.complete.5" : "Stráže si všimly, že jste %s a nabízejí vám průchod. Přijmete to?",
"core.seerhut.quest.heroClass.description.0" : "Pošlete %s do %s",
"core.seerhut.quest.heroClass.description.1" : "Pošlete %s do %s",
"core.seerhut.quest.heroClass.description.2" : "Pošlete %s do %s",
"core.seerhut.quest.heroClass.description.3" : "Pošlete %s, aby otevřel bránu",
"core.seerhut.quest.heroClass.description.4" : "Pošlete %s, aby otevřel bránu",
"core.seerhut.quest.heroClass.description.5" : "Pošlete %s, aby otevřel bránu",
"core.seerhut.quest.heroClass.hover.0" : "(hledá hrdinu třídy %s)",
"core.seerhut.quest.heroClass.hover.1" : "(hledá hrdinu třídy %s)",
"core.seerhut.quest.heroClass.hover.2" : "(hledá hrdinu třídy %s)",
"core.seerhut.quest.heroClass.hover.3" : "(hledá hrdinu třídy %s)",
"core.seerhut.quest.heroClass.hover.4" : "(hledá hrdinu třídy %s)",
"core.seerhut.quest.heroClass.hover.5" : "(hledá hrdinu třídy %s)",
"core.seerhut.quest.heroClass.receive.0" : "Mám dárek pro %s.",
"core.seerhut.quest.heroClass.receive.1" : "Mám dárek pro %s.",
"core.seerhut.quest.heroClass.receive.2" : "Mám dárek pro %s.",
"core.seerhut.quest.heroClass.receive.3" : "Stráže říkají, že průchod povolí pouze %s.",
"core.seerhut.quest.heroClass.receive.4" : "Stráže říkají, že průchod povolí pouze %s.",
"core.seerhut.quest.heroClass.receive.5" : "Stráže říkají, že průchod povolí pouze %s.",
"core.seerhut.quest.heroClass.visit.0" : "Nejste %s. Nemám pro vás nic. Zmizte!",
"core.seerhut.quest.heroClass.visit.1" : "Nejste %s. Nemám pro vás nic. Zmizte!",
"core.seerhut.quest.heroClass.visit.2" : "Nejste %s. Nemám pro vás nic. Zmizte!",
"core.seerhut.quest.heroClass.visit.3" : "Stráže zde povolí průchod pouze %s.",
"core.seerhut.quest.heroClass.visit.4" : "Stráže zde povolí průchod pouze %s.",
"core.seerhut.quest.heroClass.visit.5" : "Stráže zde povolí průchod pouze %s.",
"core.seerhut.quest.reachDate.complete.0" : "Jsem nyní volný. Tady máte, co jsem pro vás měl. Přijmete to?",
"core.seerhut.quest.reachDate.complete.1" : "Jsem nyní volný. Tady máte, co jsem pro vás měl. Přijmete to?",
"core.seerhut.quest.reachDate.complete.2" : "Jsem nyní volný. Tady máte, co jsem pro vás měl. Přijmete to?",
"core.seerhut.quest.reachDate.complete.3" : "Nyní můžete projít. Chcete pokračovat?",
"core.seerhut.quest.reachDate.complete.4" : "Nyní můžete projít. Chcete pokračovat?",
"core.seerhut.quest.reachDate.complete.5" : "Nyní můžete projít. Chcete pokračovat?",
"core.seerhut.quest.reachDate.description.0" : "Čekejte do %s pro %s",
"core.seerhut.quest.reachDate.description.1" : "Čekejte do %s pro %s",
"core.seerhut.quest.reachDate.description.2" : "Čekejte do %s pro %s",
"core.seerhut.quest.reachDate.description.3" : "Čekejte do %s, abyste otevřeli bránu",
"core.seerhut.quest.reachDate.description.4" : "Čekejte do %s, abyste otevřeli bránu",
"core.seerhut.quest.reachDate.description.5" : "Čekejte do %s, abyste otevřeli bránu",
"core.seerhut.quest.reachDate.hover.0" : "(Vraťte se nejdříve %s)",
"core.seerhut.quest.reachDate.hover.1" : "(Vraťte se nejdříve %s)",
"core.seerhut.quest.reachDate.hover.2" : "(Vraťte se nejdříve %s)",
"core.seerhut.quest.reachDate.hover.3" : "(Vraťte se nejdříve %s)",
"core.seerhut.quest.reachDate.hover.4" : "(Vraťte se nejdříve %s)",
"core.seerhut.quest.reachDate.hover.5" : "(Vraťte se nejdříve %s)",
"core.seerhut.quest.reachDate.receive.0" : "Jsem zaneprázdněný. Vraťte se nejdříve %s",
"core.seerhut.quest.reachDate.receive.1" : "Jsem zaneprázdněný. Vraťte se nejdříve %s",
"core.seerhut.quest.reachDate.receive.2" : "Jsem zaneprázdněný. Vraťte se nejdříve %s",
"core.seerhut.quest.reachDate.receive.3" : "Zavřeno do %s.",
"core.seerhut.quest.reachDate.receive.4" : "Zavřeno do %s.",
"core.seerhut.quest.reachDate.receive.5" : "Zavřeno do %s.",
"core.seerhut.quest.reachDate.visit.0" : "Jsem zaneprázdněný. Vraťte se nejdříve %s.",
"core.seerhut.quest.reachDate.visit.1" : "Jsem zaneprázdněný. Vraťte se nejdříve %s.",
"core.seerhut.quest.reachDate.visit.2" : "Jsem zaneprázdněný. Vraťte se nejdříve %s.",
"core.seerhut.quest.reachDate.visit.3" : "Zavřeno do %s.",
"core.seerhut.quest.reachDate.visit.4" : "Zavřeno do %s.",
"core.seerhut.quest.reachDate.visit.5" : "Zavřeno do %s.",
"core.bonus.ADDITIONAL_ATTACK.name": "Dvojitý útok",
"core.bonus.ADDITIONAL_ATTACK.description": "Útočí dvakrát",
"core.bonus.ADDITIONAL_RETALIATION.name": "Další odveta",
"core.bonus.ADDITIONAL_RETALIATION.description": "Může zaútočit zpět navíc ${val}x",
"core.bonus.AIR_IMMUNITY.name": "Vzdušná odolnost",
"core.bonus.AIR_IMMUNITY.description": "Imunní všem kouzlům školy vzdušné magie",
"core.bonus.ATTACKS_ALL_ADJACENT.name": "Útok okolo",
"core.bonus.ATTACKS_ALL_ADJACENT.description": "Útočí na všechny sousední jednotky",
"core.bonus.ADDITIONAL_RETALIATION.name": "Další odvetné útoky",
"core.bonus.ADDITIONAL_RETALIATION.description": "Může odvetně zaútočit ${val} krát navíc",
"core.bonus.AIR_IMMUNITY.name": "Odolnost vůči vzdušné magii",
"core.bonus.AIR_IMMUNITY.description": "Imunní vůči všem kouzlům školy vzdušné magie",
"core.bonus.ATTACKS_ALL_ADJACENT.name": "Útok na všechny kolem",
"core.bonus.ATTACKS_ALL_ADJACENT.description": "Útočí na všechny sousední nepřátele",
"core.bonus.BLOCKS_RETALIATION.name": "Žádná odveta",
"core.bonus.BLOCKS_RETALIATION.description": "Nepřítel nemůže zaútočit zpět",
"core.bonus.BLOCKS_RANGED_RETALIATION.name": "Žádná odveta na dálku",
"core.bonus.BLOCKS_RANGED_RETALIATION.description": "Nepřítel nemůže zaútočit zpět útokem na dálku",
"core.bonus.BLOCKS_RETALIATION.description": "Nepřítel nemůže odvetně zaútočit",
"core.bonus.BLOCKS_RANGED_RETALIATION.name": "Žádná střelecká odveta",
"core.bonus.BLOCKS_RANGED_RETALIATION.description": "Nepřítel nemůže odvetně zaútočit střeleckým útokem",
"core.bonus.CATAPULT.name": "Katapult",
"core.bonus.CATAPULT.description": "Útočí na ochranné hradby",
"core.bonus.CHANGES_SPELL_COST_FOR_ALLY.name": "Snížit cenu kouzel (${val})",
"core.bonus.CHANGES_SPELL_COST_FOR_ALLY.description": "Snižuje cenu energie hrdiny o ${val}",
"core.bonus.CHANGES_SPELL_COST_FOR_ALLY.description": "Snižuje náklady na kouzla pro hrdinu o ${val}",
"core.bonus.CHANGES_SPELL_COST_FOR_ENEMY.name": "Tlumič magie (${val})",
"core.bonus.CHANGES_SPELL_COST_FOR_ENEMY.description": "Zvyšuje cenu energie kouzlení nepřítele o ${val}",
"core.bonus.CHARGE_IMMUNITY.name": "Immune to Charge", // TODO
"core.bonus.CHARGE_IMMUNITY.description": "Immune to Cavalier's and Champion's Charge",
"core.bonus.CHANGES_SPELL_COST_FOR_ENEMY.description": "Zvyšuje náklady na kouzla nepřítele o ${val}",
"core.bonus.CHARGE_IMMUNITY.name": "Odolnost vůči Nájezdu",
"core.bonus.CHARGE_IMMUNITY.description": "Imunní vůči Nájezdu Jezdců a Šampionů",
"core.bonus.DARKNESS.name": "Závoj temnoty",
"core.bonus.DARKNESS.description": "Vytvoří clonu temnoty v oblasti ${val} polí",
"core.bonus.DARKNESS.description": "Vytváří závoj temnoty s poloměrem ${val}",
"core.bonus.DEATH_STARE.name": "Smrtící pohled (${val}%)",
"core.bonus.DEATH_STARE.description": "Má ${val}% šanci zabít jednu creature",
"core.bonus.DEATH_STARE.description": "Má ${val}% šanci zabít jednu jednotku",
"core.bonus.DEFENSIVE_STANCE.name": "Obranný bonus",
"core.bonus.DEFENSIVE_STANCE.description": "+${val} obranné síly při obraně",
"core.bonus.DEFENSIVE_STANCE.description": "+${val} k obraně při brá",
"core.bonus.DESTRUCTION.name": "Zničení",
"core.bonus.DESTRUCTION.description": "Má ${val}% šanci zabít další jednotky po útoku",
"core.bonus.DOUBLE_DAMAGE_CHANCE.name": "Smrtící rána",
"core.bonus.DOUBLE_DAMAGE_CHANCE.description": "Má ${val}% šanci na udělení dvojnásobného základního poškození při útoku",
"core.bonus.DRAGON_NATURE.name": "Drak",
"core.bonus.DRAGON_NATURE.description": "Jednotka má povahu draka",
"core.bonus.EARTH_IMMUNITY.name": "Zemní odolnost",
"core.bonus.EARTH_IMMUNITY.description": "Imunní všem kouzlům školy zemské magie",
"core.bonus.DOUBLE_DAMAGE_CHANCE.name": "Smrtelný úder",
"core.bonus.DOUBLE_DAMAGE_CHANCE.description": "Má ${val}% šanci způsobit dvojnásobné základní poškození při útoku",
"core.bonus.DRAGON_NATURE.name": "Dračí povaha",
"core.bonus.DRAGON_NATURE.description": "Jednotka má Dračí povahu",
"core.bonus.EARTH_IMMUNITY.name": "Odolnost vůči zemské magii",
"core.bonus.EARTH_IMMUNITY.description": "Imunní vůči všem kouzlům školy zemské magie",
"core.bonus.ENCHANTER.name": "Zaklínač",
"core.bonus.ENCHANTER.description": "Může masově seslat ${subtype.spell} každý tah",
"core.bonus.ENCHANTER.description": "Může každé kolo sesílat masové kouzlo ${subtype.spell}",
"core.bonus.ENCHANTED.name": "Očarovaný",
"core.bonus.ENCHANTED.description": "Trvale ovlivněm kouzlem ${subtype.spell}",
"core.bonus.ENEMY_DEFENCE_REDUCTION.name": "Nevšímá si ${val} % bodů obrany",
"core.bonus.ENEMY_ATTACK_REDUCTION.description": "When being attacked, ${val}% of the attacker's attack is ignored",
"core.bonus.ENEMY_DEFENCE_REDUCTION.description": "Pří útoku nebude brát v potaz ${val}% bodů obrany obránce",
"core.bonus.FIRE_IMMUNITY.name": "Ohnivá odolnost",
"core.bonus.FIRE_IMMUNITY.description": "Imunní všem kouzlům školy ohnivé magie",
"core.bonus.ENCHANTED.description": "Je pod trvalým účinkem kouzla ${subtype.spell}",
"core.bonus.ENEMY_ATTACK_REDUCTION.name": "Ignorování útoku (${val}%)",
"core.bonus.ENEMY_ATTACK_REDUCTION.description": "Při útoku je ignorováno ${val}% útočníkovy síly",
"core.bonus.ENEMY_DEFENCE_REDUCTION.name": "Ignorování obrany (${val}%)",
"core.bonus.ENEMY_DEFENCE_REDUCTION.description": "Pří útoku nebude bráno v potaz ${val}% bodů obrany obránce",
"core.bonus.FIRE_IMMUNITY.name": "Odolnost vůči ohnivé magii",
"core.bonus.FIRE_IMMUNITY.description": "Imunní vůči všem kouzlům školy ohnivé magie",
"core.bonus.FIRE_SHIELD.name": "Ohnivý štít (${val}%)",
"core.bonus.FIRE_SHIELD.description": "Odrazí část zranení útoku zblízka",
"core.bonus.FIRE_SHIELD.description": "Odrazí část zraně při útoku z blízka",
"core.bonus.FIRST_STRIKE.name": "První úder",
"core.bonus.FIRST_STRIKE.description": "Tato jednotka provede odvetu ještě než je na ni zaútočeno",
"core.bonus.FIRST_STRIKE.description": "Tato jednotka útočí dříve, než je napadena",
"core.bonus.FEAR.name": "Strach",
"core.bonus.FEAR.description": "Způsobí strach nepřátelskému oddílu",
"core.bonus.FEAR.description": "Vyvolává strach u nepřátelské jednotky",
"core.bonus.FEARLESS.name": "Nebojácnost",
"core.bonus.FEARLESS.description": "Odolnost proti strachu",
"core.bonus.FEROCITY.name": "Ferocity", //TODO
"core.bonus.FEROCITY.description": "Attacks ${val} additional times if killed anybody",
"core.bonus.FLYING.name": "Letec",
"core.bonus.FLYING.description": "Při pohybu létá (přes překážky)",
"core.bonus.FREE_SHOOTING.name": "Blízké výstřely",
"core.bonus.FREE_SHOOTING.description": "Může použít výstřely při útoku zblízka",
"core.bonus.FEARLESS.description": "Imunní vůči schopnosti Strach",
"core.bonus.FEROCITY.name": "Zuřivost",
"core.bonus.FEROCITY.description": "Útočí ${val} krát navíc, pokud někoho zabije",
"core.bonus.FLYING.name": "Létání",
"core.bonus.FLYING.description": "Při pohybu létá (ignoruje překážky)",
"core.bonus.FREE_SHOOTING.name": "Střelba zblízka",
"core.bonus.FREE_SHOOTING.description": "Může použít výstřely i při útoku zblízka",
"core.bonus.GARGOYLE.name": "Chrlič",
"core.bonus.GARGOYLE.description": "Cannot be raised or healed", // TODO
"core.bonus.GARGOYLE.description": "Nemůže být oživen ani vyléčen",
"core.bonus.GENERAL_DAMAGE_REDUCTION.name": "Snižuje poškození (${val}%)",
"core.bonus.GENERAL_DAMAGE_REDUCTION.description": "Snižuje poškození od útoků z dálky a blízka",
"core.bonus.HATE.name": "Nesší ${subtype.creature}",
"core.bonus.HATE.description": "Dává o ${val} % větší zranění jednotce ${subtype.creature}",
"core.bonus.HATE.name": "Nenávidí ${subtype.creature}",
"core.bonus.HATE.description": "Způsobuje ${val}% více poškození vůči ${subtype.creature}",
"core.bonus.HEALER.name": "Léčitel",
"core.bonus.HEALER.description": "Léčí spojenecké jednotky",
"core.bonus.HP_REGENERATION.name": "Regenerace",
"core.bonus.HP_REGENERATION.description": "Každé kolo léčí ${val} životů",
"core.bonus.JOUSTING.name": "Nabití šampiona",
"core.bonus.HP_REGENERATION.description": "Každé kolo regeneruje ${val} bodů zdraví",
"core.bonus.JOUSTING.name": "Nájezd šampionů",
"core.bonus.JOUSTING.description": "+${val}% poškození za každé projité pole",
"core.bonus.KING.name": "Král",
"core.bonus.KING.description": "Zranitelný zabijákovi úrovně ${val} a vyšší",
"core.bonus.KING.description": "Zranitelný proti zabijákovi úrovně ${val} a vyšší",
"core.bonus.LEVEL_SPELL_IMMUNITY.name": "Odolnost kouzel 1-${val}",
"core.bonus.LEVEL_SPELL_IMMUNITY.description": "Odolnost vůči kouzlům úrovní 1-${val}",
"core.bonus.LIMITED_SHOOTING_RANGE.name" : "Omezený dosah střelby",
"core.bonus.LIMITED_SHOOTING_RANGE.description" : "Nevystřelí na jednotky dále než ${val} polí",
"core.bonus.LIFE_DRAIN.name": "Vysátí životů (${val}%)",
"core.bonus.LIFE_DRAIN.description": "Vysaje ${val}% uděleného poškození",
"core.bonus.MANA_CHANNELING.name": "${val}% kouzelný kanál",
"core.bonus.MANA_CHANNELING.description": " vašemu hrdinovi ${val} % many využité nepřítelem",
"core.bonus.MANA_DRAIN.name": "Vysátí many",
"core.bonus.MANA_DRAIN.description": "Každé kolo vysaje ${val} many",
"core.bonus.MAGIC_MIRROR.name": "Kouzelné zrcadlo (${val}%)",
"core.bonus.LIMITED_SHOOTING_RANGE.name": "Omezený dostřel",
"core.bonus.LIMITED_SHOOTING_RANGE.description": "Není schopen zasáhnout jednotky vzdálenější než ${val} polí",
"core.bonus.LIFE_DRAIN.name": "Vysávání života (${val}%)",
"core.bonus.LIFE_DRAIN.description": "Vysává ${val}% způsobeného poškození",
"core.bonus.MANA_CHANNELING.name": "Kanál magie ${val}%",
"core.bonus.MANA_CHANNELING.description": "Poskytuje vašemu hrdinovi ${val}% many použité nepřítelem",
"core.bonus.MANA_DRAIN.name": "Vysávání many",
"core.bonus.MANA_DRAIN.description": "Vysává ${val} many každý tah",
"core.bonus.MAGIC_MIRROR.name": "Magické zrcadlo (${val}%)",
"core.bonus.MAGIC_MIRROR.description": "Má ${val}% šanci odrazit útočné kouzlo na nepřátelskou jednotku",
"core.bonus.MAGIC_RESISTANCE.name": "Magická odolnost (${val}%)",
"core.bonus.MAGIC_RESISTANCE.description": "Má ${val}% šanci ustát nepřátelské kouzlo",
"core.bonus.MIND_IMMUNITY.name": "Imunita kouzel mysli",
"core.bonus.MIND_IMMUNITY.description": "Imunní vůči kouzlům cílícím na mysl",
"core.bonus.NO_DISTANCE_PENALTY.name": "Bez penalizace vzdálenosti",
"core.bonus.NO_DISTANCE_PENALTY.description": "Plné poškození na jakoukoliv vzdálenost",
"core.bonus.MAGIC_RESISTANCE.description": "Má ${val}% šanci odolat nepřátelskému kouzlu",
"core.bonus.MIND_IMMUNITY.name": "Imunita vůči kouzlům mysli",
"core.bonus.MIND_IMMUNITY.description": "Imunní vůči kouzlům mysli",
"core.bonus.NO_DISTANCE_PENALTY.name": "Žádná penalizace vzdálenosti",
"core.bonus.NO_DISTANCE_PENALTY.description": "Způsobuje plné poškození na jakoukoliv vzdálenost",
"core.bonus.NO_MELEE_PENALTY.name": "Bez penalizace útoku zblízka",
"core.bonus.NO_MELEE_PENALTY.description": "Jednotka není penalizována za útok zblízka",
"core.bonus.NO_MORALE.name": "Neutrální morálka",
"core.bonus.NO_MORALE.description": "Jednotka je imunní vůči efektu morálky",
"core.bonus.NO_MORALE.description": "Jednotka je imunní vůči efektům morálky",
"core.bonus.NO_WALL_PENALTY.name": "Bez penalizace hradbami",
"core.bonus.NO_WALL_PENALTY.description": "Plné poškození při obléhání",
"core.bonus.NON_LIVING.name": "Neživoucí",
"core.bonus.NO_WALL_PENALTY.description": "Plné poškození během obléhání",
"core.bonus.NON_LIVING.name": "Neživý",
"core.bonus.NON_LIVING.description": "Imunní vůči mnohým efektům",
"core.bonus.RANDOM_SPELLCASTER.name": "Náhodný kouzelník",
"core.bonus.RANDOM_SPELLCASTER.description": "Může seslat náhodné kouzlo",
"core.bonus.RANGED_RETALIATION.name": "Vzdálená odveta",
"core.bonus.RANGED_RETALIATION.name": "Střelecká odveta",
"core.bonus.RANGED_RETALIATION.description": "Může provést protiútok na dálku",
"core.bonus.RECEPTIVE.name": "Přijímavý",
"core.bonus.RECEPTIVE.description": "Ne imunní vůči přátelským kouzlům",
"core.bonus.RECEPTIVE.name": "Vnímavý",
"core.bonus.RECEPTIVE.description": "Ne imunitu na přátelská kouzla",
"core.bonus.REBIRTH.name": "Znovuzrození (${val}%)",
"core.bonus.REBIRTH.description": "${val}% oddílu se po smrti znovu narodí",
"core.bonus.REBIRTH.description": "${val}% jednotek povstane po smrti",
"core.bonus.RETURN_AFTER_STRIKE.name": "Útok a návrat",
"core.bonus.RETURN_AFTER_STRIKE.description": "Navrátí se po útoku na blízko",
"core.bonus.REVENGE.name": "Msta",
"core.bonus.REVENGE.description": "Deals extra damage based on attacker's lost health in battle", //TODO
"core.bonus.RETURN_AFTER_STRIKE.description": "Navrátí se po útoku na zblízka",
"core.bonus.REVENGE.name": "Pomsta",
"core.bonus.REVENGE.description": "Způsobuje extra poškození na základě ztrát útočníka v bitvě",
"core.bonus.SHOOTER.name": "Střelec",
"core.bonus.SHOOTER.description": "Jednotka může střílet",
"core.bonus.SHOOTS_ALL_ADJACENT.name": "Střílí okolo",
"core.bonus.SHOOTS_ALL_ADJACENT.description": "Vzdálené útoky této jednotky zasáhnou všechny cíle v malé oblasti",
"core.bonus.SHOOTS_ALL_ADJACENT.name": "Střílí všude kolem",
"core.bonus.SHOOTS_ALL_ADJACENT.description": "Střelecký útok této jednotky zasáhne všechny cíle v malé oblasti",
"core.bonus.SOUL_STEAL.name": "Zloděj duší",
"core.bonus.SOUL_STEAL.description": "Získá ${val} nových jednotek za každého zabitého nepřítele",
"core.bonus.SOUL_STEAL.description": "Získá ${val} nové jednotky za každého zabitého nepřítele",
"core.bonus.SPELLCASTER.name": "Kouzelník",
"core.bonus.SPELLCASTER.description": "Může seslat ${subtype.spell}",
"core.bonus.SPELL_AFTER_ATTACK.name": "Kouzlení po útoku",
"core.bonus.SPELL_AFTER_ATTACK.description": "Má ${val}% šanci seslat ${subtype.spell} po zaútočení",
"core.bonus.SPELL_BEFORE_ATTACK.name": "Kouzlení před útokem",
"core.bonus.SPELL_BEFORE_ATTACK.description": "Má ${val}% šanci seslat ${subtype.spell} před zaútočením",
"core.bonus.SPELLCASTER.description": "Může seslat kouzlo ${subtype.spell}",
"core.bonus.SPELL_AFTER_ATTACK.name": "Sesílá po útoku",
"core.bonus.SPELL_AFTER_ATTACK.description": "Má ${val}% šanci seslat ${subtype.spell} po útoku",
"core.bonus.SPELL_BEFORE_ATTACK.name": "Sesílá před útokem",
"core.bonus.SPELL_BEFORE_ATTACK.description": "Má ${val}% šanci seslat ${subtype.spell} před útokem",
"core.bonus.SPELL_DAMAGE_REDUCTION.name": "Magická odolnost",
"core.bonus.SPELL_DAMAGE_REDUCTION.description": "Zranění od kouzel sníženo o ${val}%.",
"core.bonus.SPELL_IMMUNITY.name": "Odolnost vůči kouzlům",
"core.bonus.SPELL_IMMUNITY.description": "Odolnost proti ${subtype.spell}",
"core.bonus.SPELL_DAMAGE_REDUCTION.description": "Poškození kouzly sníženo o ${val}%.",
"core.bonus.SPELL_IMMUNITY.name": "Imunita vůči kouzlům",
"core.bonus.SPELL_IMMUNITY.description": "Imunní vůči ${subtype.spell}",
"core.bonus.SPELL_LIKE_ATTACK.name": "Útok kouzlem",
"core.bonus.SPELL_LIKE_ATTACK.description": "Útočí kouzlem ${subtype.spell}",
"core.bonus.SPELL_RESISTANCE_AURA.name": "Aura odolnosti",
"core.bonus.SPELL_RESISTANCE_AURA.description": "Oddíly poblíž získají ${val}% magickou odolnost",
"core.bonus.SUMMON_GUARDIANS.name": "Povolat strážce",
"core.bonus.SUMMON_GUARDIANS.description": "Na začátku bitvy povolá ${subtype.creature} (${val}%)",
"core.bonus.SYNERGY_TARGET.name": "Synergizable", // TODO
"core.bonus.SYNERGY_TARGET.description": "This creature is vulnerable to synergy effect", //TODO
"core.bonus.SPELL_RESISTANCE_AURA.name": "Aura odporu",
"core.bonus.SPELL_RESISTANCE_AURA.description": "Jednotky poblíž získají ${val}% magickou odolnost",
"core.bonus.SUMMON_GUARDIANS.name": "Přivolání ochránců",
"core.bonus.SUMMON_GUARDIANS.description": "Na začátku bitvy přivolá ${subtype.creature} (${val}%)",
"core.bonus.SYNERGY_TARGET.name": "Synergizovatelný",
"core.bonus.SYNERGY_TARGET.description": "Tato jednotka je náchylná k synergickým efektům",
"core.bonus.TWO_HEX_ATTACK_BREATH.name": "Dech",
"core.bonus.TWO_HEX_ATTACK_BREATH.description": "Dechový útok (dosah do dvou polí)",
"core.bonus.TWO_HEX_ATTACK_BREATH.description": "Útok dechem (dosah 2 polí)",
"core.bonus.THREE_HEADED_ATTACK.name": "Tříhlavý útok",
"core.bonus.THREE_HEADED_ATTACK.description": "Útočí na tři sousední jednotky",
"core.bonus.TRANSMUTATION.name": "Transmutace",
"core.bonus.TRANSMUTATION.description": "${val}% šance na přeměnu útočené jednotky na jiný druh",
"core.bonus.TRANSMUTATION.description": "${val}% šance na přeměnu napadené jednotky na jiný typ",
"core.bonus.UNDEAD.name": "Nemrtvý",
"core.bonus.UNDEAD.description": "Jednotka je nemrtvá",
"core.bonus.UNLIMITED_RETALIATIONS.name": "Neomezené odvety",
"core.bonus.UNLIMITED_RETALIATIONS.description": "Může provést odvetu za neomezený počet útoků",
"core.bonus.WATER_IMMUNITY.name": "Vodní odolnost",
"core.bonus.WATER_IMMUNITY.description": "Imunní všem kouzlům školy vodní magie",
"core.bonus.UNLIMITED_RETALIATIONS.name": "Neomezené odvetné útoky",
"core.bonus.UNLIMITED_RETALIATIONS.description": "Může provést neomezený počet odvetných útoků",
"core.bonus.WATER_IMMUNITY.name": "Odolnost vůči vodní magii",
"core.bonus.WATER_IMMUNITY.description": "Imunní vůči všem kouzlům školy vodní magie",
"core.bonus.WIDE_BREATH.name": "Široký dech",
"core.bonus.WIDE_BREATH.description": "Útočí širokým dechem (více polí)"
"core.bonus.WIDE_BREATH.description": "Široký útok dechem (více polí)",
"core.bonus.DISINTEGRATE.name": "Rozpad",
"core.bonus.DISINTEGRATE.description": "Po smrti nezůstane žádné tělo",
"core.bonus.INVINCIBLE.name": "Neporazitelný",
"core.bonus.INVINCIBLE.description": "Nelze ovlivnit žádným efektem"
}

View File

@@ -15,6 +15,8 @@
"vcmi.adventureMap.monsterLevel" : "\n\nLevel %LEVEL %TOWN %ATTACK_TYPE unit",
"vcmi.adventureMap.monsterMeleeType" : "melee",
"vcmi.adventureMap.monsterRangedType" : "ranged",
"vcmi.adventureMap.search.hover" : "Search map object",
"vcmi.adventureMap.search.help" : "Select object to search on map.",
"vcmi.adventureMap.confirmRestartGame" : "Are you sure you want to restart the game?",
"vcmi.adventureMap.noTownWithMarket" : "There are no available marketplaces!",
@@ -356,6 +358,7 @@
"vcmi.heroWindow.sortBackpackBySlot.help" : "Sort artifacts in backpack by equipped slot.",
"vcmi.heroWindow.sortBackpackByClass.hover" : "Sort by class",
"vcmi.heroWindow.sortBackpackByClass.help" : "Sort artifacts in backpack by artifact class. Treasure, Minor, Major, Relic",
"vcmi.heroWindow.fusingArtifact.fusing" : "You possess all of the components needed for the fusion of the %s. Do you wish to perform the fusion? {All components will be consumed upon fusion.}",
"vcmi.tavernWindow.inviteHero" : "Invite hero",

View File

@@ -15,6 +15,8 @@
"vcmi.adventureMap.monsterLevel" : "\n\nStufe %LEVEL %TOWN-Einheit (%ATTACK_TYPE)",
"vcmi.adventureMap.monsterMeleeType" : "Nahkampf",
"vcmi.adventureMap.monsterRangedType" : "Fernkampf",
"vcmi.adventureMap.search.hover" : "Suche Kartenobjekt",
"vcmi.adventureMap.search.help" : "Wähle Objekt das gesucht werden soll.",
"vcmi.adventureMap.confirmRestartGame" : "Seid Ihr sicher, dass Ihr das Spiel neu starten wollt?",
"vcmi.adventureMap.noTownWithMarket" : "Kein Marktplatz verfügbar!",

View File

@@ -12,6 +12,9 @@
"vcmi.adventureMap.monsterThreat.levels.9" : "Przytłaczający",
"vcmi.adventureMap.monsterThreat.levels.10" : "Śmiertelny",
"vcmi.adventureMap.monsterThreat.levels.11" : "Nie do pokonania",
"vcmi.adventureMap.monsterLevel" : "\n\n%Jednostka %ATTACK_TYPE %LEVEL poziomu z miasta %TOWN",
"vcmi.adventureMap.monsterMeleeType" : "Walcząca wręcz",
"vcmi.adventureMap.monsterRangedType" : "Dystansowa",
"vcmi.adventureMap.confirmRestartGame" : "Czy na pewno chcesz zrestartować grę?",
"vcmi.adventureMap.noTownWithMarket" : "Brak dostępnego targowiska!",
@@ -58,6 +61,13 @@
"vcmi.spellBook.search" : "szukaj...",
"vcmi.spellResearch.canNotAfford" : "Nie stać Cię na zastąpienie {%SPELL1} przez {%SPELL2}, ale za to możesz odrzucić ten czar i kontynuować badania.",
"vcmi.spellResearch.comeAgain" : "Badania zostały już przeprowadzone dzisiaj. Wróć jutro.",
"vcmi.spellResearch.pay" : "Czy chcesz zastąpić {%SPELL1} czarem {%SPELL2}? Czy odrzucić ten czar i kontynuować badania?",
"vcmi.spellResearch.research" : "Zamień zaklęcia",
"vcmi.spellResearch.skip" : "Kontynuuj badania",
"vcmi.spellResearch.abort" : "Anuluj",
"vcmi.mainMenu.serverConnecting" : "Łączenie...",
"vcmi.mainMenu.serverAddressEnter" : "Wprowadź adres:",
"vcmi.mainMenu.serverConnectionFailed" : "Połączenie nie powiodło się",
@@ -142,6 +152,7 @@
"vcmi.client.errors.invalidMap" : "{Błędna mapa lub kampania}\n\nNie udało się stworzyć gry! Wybrana mapa lub kampania jest niepoprawna lub uszkodzona. Powód:\n%s",
"vcmi.client.errors.missingCampaigns" : "{Brakujące pliki gry}\n\nPliki kampanii nie zostały znalezione! Możliwe że używasz niekompletnych lub uszkodzonych plików Heroes 3. Spróbuj ponownej instalacji plików gry.",
"vcmi.server.errors.disconnected" : "{Błąd sieciowy}\n\nUtracono połączenie z serwerem!",
"vcmi.server.errors.playerLeft" : "{Rozłączenie z graczem}\n\n%s opuścił rozgrywkę!", //%s -> player color
"vcmi.server.errors.existingProcess" : "Inny proces 'vcmiserver' został już uruchomiony, zakończ go nim przejdziesz dalej",
"vcmi.server.errors.modsToEnable" : "{Następujące mody są wymagane do wczytania gry}",
"vcmi.server.errors.modsToDisable" : "{Następujące mody muszą zostać wyłączone}",
@@ -235,8 +246,10 @@
"vcmi.adventureOptions.borderScroll.help" : "{Przewijanie na brzegu mapy}\n\nPrzewijanie mapy przygody gdy kursor najeżdża na brzeg okna gry. Może być wyłączone poprzez przytrzymanie klawisza CTRL.",
"vcmi.adventureOptions.infoBarCreatureManagement.hover" : "Zarządzanie armią w panelu informacyjnym",
"vcmi.adventureOptions.infoBarCreatureManagement.help" : "{Zarządzanie armią w panelu informacyjnym}\n\nPozwala zarządzać jednostkami w panelu informacyjnym, zamiast przełączać między domyślnymi informacjami.",
"vcmi.adventureOptions.leftButtonDrag.hover" : "Przeciąganie mapy lewym kliknięciem",
"vcmi.adventureOptions.leftButtonDrag.hover" : "Przeciąganie lewym",
"vcmi.adventureOptions.leftButtonDrag.help" : "{Przeciąganie mapy lewym kliknięciem}\n\nUmożliwia przesuwanie mapy przygody poprzez przeciąganie myszy z wciśniętym lewym przyciskiem.",
"vcmi.adventureOptions.rightButtonDrag.hover" : "Przeciąganie prawym",
"vcmi.adventureOptions.rightButtonDrag.help" : "{Przeciąganie mapy prawym kliknięciem}\n\nUmożliwia przesuwanie mapy przygody poprzez przeciąganie myszy z wciśniętym prawym przyciskiem.",
"vcmi.adventureOptions.smoothDragging.hover" : "'Pływające' przeciąganie mapy",
"vcmi.adventureOptions.smoothDragging.help" : "{'Pływające' przeciąganie mapy}\n\nPrzeciąganie mapy następuje ze stopniowo zanikającym przyspieszeniem.",
"vcmi.adventureOptions.skipAdventureMapAnimations.hover" : "Pomiń efekty zanikania",
@@ -337,6 +350,12 @@
"vcmi.heroWindow.openCommander.help" : "Wyświetla informacje o dowódcy przynależącym do tego bohatera",
"vcmi.heroWindow.openBackpack.hover" : "Otwórz okno sakwy",
"vcmi.heroWindow.openBackpack.help" : "Otwiera okno pozwalające łatwiej zarządzać artefaktami w sakwie",
"vcmi.heroWindow.sortBackpackByCost.hover" : "Sortuj wg. wartości",
"vcmi.heroWindow.sortBackpackByCost.help" : "Sortuj artefakty w sakwie według wartości",
"vcmi.heroWindow.sortBackpackBySlot.hover" : "Sortuj wg. miejsc",
"vcmi.heroWindow.sortBackpackBySlot.help" : "Sortuj artefakty w sakwie według umiejscowienia na ciele",
"vcmi.heroWindow.sortBackpackByClass.hover" : "Sortuj wg. jakości",
"vcmi.heroWindow.sortBackpackByClass.help" : "Sortuj artefakty w sakwie według jakości: Skarb, Pomniejszy, Potężny, Relikt",
"vcmi.tavernWindow.inviteHero" : "Zaproś bohatera",
@@ -663,5 +682,7 @@
"core.bonus.WIDE_BREATH.name": "Szerokie zionięcie",
"core.bonus.WIDE_BREATH.description": "Szeroki atak zionięciem (wiele heksów)",
"core.bonus.DISINTEGRATE.name": "Rozpadanie",
"core.bonus.DISINTEGRATE.description": "Po śmierci nie pozostaje żaden trup"
"core.bonus.DISINTEGRATE.description": "Po śmierci nie pozostaje żaden trup",
"core.bonus.INVINCIBLE.name": "Niezwyciężony",
"core.bonus.INVINCIBLE.description": "Nic nie może mieć na niego wpływu"
}

View File

@@ -12,7 +12,9 @@
"vcmi.adventureMap.monsterThreat.levels.9" : "Avassaladora",
"vcmi.adventureMap.monsterThreat.levels.10" : "Mortal",
"vcmi.adventureMap.monsterThreat.levels.11" : "Impossível",
"vcmi.adventureMap.monsterLevel" : "\n\nNível %LEVEL, unidade de %TOWN",
"vcmi.adventureMap.monsterLevel" : "\n\nNível %LEVEL, unidade %TOWN de ataque %ATTACK_TYPE",
"vcmi.adventureMap.monsterMeleeType" : "corpo a corpo",
"vcmi.adventureMap.monsterRangedType" : "à distância",
"vcmi.adventureMap.confirmRestartGame" : "Tem certeza de que deseja reiniciar o jogo?",
"vcmi.adventureMap.noTownWithMarket" : "Não há mercados disponíveis!",
@@ -59,6 +61,13 @@
"vcmi.spellBook.search" : "Procurar...",
"vcmi.spellResearch.canNotAfford" : "Você não pode se dar ao luxo de substituir {%SPELL1} por {%SPELL2}. Mas você ainda pode descartar este feitiço e continuar a pesquisa de feitiços.",
"vcmi.spellResearch.comeAgain" : "A pesquisa já foi realizada hoje. Volte amanhã.",
"vcmi.spellResearch.pay" : "Gostaria de substituir {%SPELL1} por {%SPELL2}? Ou descartar este feitiço e continuar a pesquisa de feitiços?",
"vcmi.spellResearch.research" : "Pesquisar este Feitiço",
"vcmi.spellResearch.skip" : "Pular este Feitiço",
"vcmi.spellResearch.abort" : "Abortar",
"vcmi.mainMenu.serverConnecting" : "Conectando...",
"vcmi.mainMenu.serverAddressEnter" : "Insira o endereço:",
"vcmi.mainMenu.serverConnectionFailed" : "Falha ao conectar",
@@ -143,6 +152,7 @@
"vcmi.client.errors.invalidMap" : "{Mapa ou campanha inválido}\n\nFalha ao iniciar o jogo! O mapa ou campanha selecionado pode ser inválido ou corrompido. Motivo:\n%s",
"vcmi.client.errors.missingCampaigns" : "{Arquivos de dados ausentes}\n\nOs arquivos de dados das campanhas não foram encontrados! Você pode estar usando arquivos de dados incompletos ou corrompidos do Heroes 3. Por favor, reinstale os dados do jogo.",
"vcmi.server.errors.disconnected" : "{Erro de Rede}\n\nA conexão com o servidor do jogo foi perdida!",
"vcmi.server.errors.playerLeft" : "{Jogador Saiu}\n\nO jogador %s desconectou-se do jogo!", //%s -> player color
"vcmi.server.errors.existingProcess" : "Outro processo do servidor VCMI está em execução. Por favor, termine-o antes de iniciar um novo jogo.",
"vcmi.server.errors.modsToEnable" : "{Os seguintes mods são necessários}",
"vcmi.server.errors.modsToDisable" : "{Os seguintes mods devem ser desativados}",
@@ -340,6 +350,12 @@
"vcmi.heroWindow.openCommander.help" : "Mostra detalhes sobre o comandante deste herói.",
"vcmi.heroWindow.openBackpack.hover" : "Abrir janela da mochila de artefatos",
"vcmi.heroWindow.openBackpack.help" : "Abre a janela que facilita o gerenciamento da mochila de artefatos.",
"vcmi.heroWindow.sortBackpackByCost.hover" : "Ordenar por custo",
"vcmi.heroWindow.sortBackpackByCost.help" : "Ordenar artefatos na mochila por custo.",
"vcmi.heroWindow.sortBackpackBySlot.hover" : "Ordenar por espaço",
"vcmi.heroWindow.sortBackpackBySlot.help" : "Ordenar artefatos na mochila por espaço equipado.",
"vcmi.heroWindow.sortBackpackByClass.hover" : "Ordenar por classe",
"vcmi.heroWindow.sortBackpackByClass.help" : "Ordenar artefatos na mochila por classe de artefato. Tesouro, Menor, Maior, Relíquia",
"vcmi.tavernWindow.inviteHero" : "Convidar herói",

View File

@@ -40,12 +40,12 @@
"vcmi.heroOverview.secondarySkills" : "Sekundärförmågor",
"vcmi.heroOverview.spells" : "Trollformler",
"vcmi.radialWheel.mergeSameUnit" : "Slå samman samma varelser",
"vcmi.radialWheel.mergeSameUnit" : "Slå samman varelser av samma sort",
"vcmi.radialWheel.fillSingleUnit" : "Fyll på med enstaka varelser",
"vcmi.radialWheel.splitSingleUnit" : "Dela av en enda varelse",
"vcmi.radialWheel.splitUnitEqually" : "Dela upp varelser lika",
"vcmi.radialWheel.moveUnit" : "Flytta varelser till en annan armé",
"vcmi.radialWheel.splitUnit" : "Dela upp varelse till en annan ruta",
"vcmi.radialWheel.splitUnit" : "Dela upp varelseförband till en annan ruta",
"vcmi.radialWheel.heroGetArmy" : "Hämta armé från annan hjälte",
"vcmi.radialWheel.heroSwapArmy" : "Byt armé med annan hjälte",
@@ -54,13 +54,20 @@
"vcmi.radialWheel.heroSwapArtifacts" : "Byt artefakter med annan hjälte",
"vcmi.radialWheel.heroDismiss" : "Avfärda hjälten",
"vcmi.radialWheel.moveTop" : "Flytta till toppen",
"vcmi.radialWheel.moveTop" : "Flytta längst upp",
"vcmi.radialWheel.moveUp" : "Flytta upp",
"vcmi.radialWheel.moveDown" : "Flytta nedåt",
"vcmi.radialWheel.moveBottom" : "Flytta till botten",
"vcmi.radialWheel.moveBottom" : "Flytta längst ner",
"vcmi.spellBook.search" : "sök...",
"vcmi.spellResearch.canNotAfford" : "Du har inte råd att byta ut '{%SPELL1}' med '{%SPELL2}'. Du kan fortfarande göra dig av med den här trollformeln och forska vidare.",
"vcmi.spellResearch.comeAgain" : "Forskningen har redan gjorts idag. Kom tillbaka imorgon.",
"vcmi.spellResearch.pay" : "Vill du byta ut '{%SPELL1}' med '{%SPELL2}'? Eller vill du göra dig av med den valda trollformeln och forska vidare?",
"vcmi.spellResearch.research" : "Forska fram denna trollformel",
"vcmi.spellResearch.skip" : "Strunta i denna trollformel",
"vcmi.spellResearch.abort" : "Avbryt",
"vcmi.mainMenu.serverConnecting" : "Ansluter...",
"vcmi.mainMenu.serverAddressEnter" : "Ange adress:",
"vcmi.mainMenu.serverConnectionFailed" : "Misslyckades med att ansluta",
@@ -343,6 +350,12 @@
"vcmi.heroWindow.openCommander.help" : "Visar detaljer om befälhavaren för den här hjälten.",
"vcmi.heroWindow.openBackpack.hover" : "Öppna artefaktryggsäcksfönster",
"vcmi.heroWindow.openBackpack.help" : "Öppnar fönster som gör det enklare att hantera artefaktryggsäcken.",
"vcmi.heroWindow.sortBackpackByCost.hover" : "Sortera efter kostnad",
"vcmi.heroWindow.sortBackpackByCost.help" : "Sorterar artefakter i ryggsäcken efter kostnad.",
"vcmi.heroWindow.sortBackpackBySlot.hover" : "Sortera efter plats",
"vcmi.heroWindow.sortBackpackBySlot.help" : "Sorterar artefakter i ryggsäcken efter utrustad plats.",
"vcmi.heroWindow.sortBackpackByClass.hover" : "Sortera efter klass",
"vcmi.heroWindow.sortBackpackByClass.help" : "Sorterar artefakter i ryggsäcken efter artefaktklass (skatt, mindre, större, relik)",
"vcmi.tavernWindow.inviteHero" : "Bjud in hjälte",
@@ -355,8 +368,8 @@
"vcmi.creatureWindow.returnArtifact.hover" : "Återlämna artefakt",
"vcmi.creatureWindow.returnArtifact.help" : "Klicka på den här knappen för att lägga tillbaka artefakten i hjältens ryggsäck.",
"vcmi.questLog.hideComplete.hover" : "Gömmer alla slutförda uppdrag",
"vcmi.questLog.hideComplete.help" : "Dölj alla slutförda uppdrag.",
"vcmi.questLog.hideComplete.hover" : "Dölj alla slutförda uppdrag",
"vcmi.questLog.hideComplete.help" : "Gömmer undan alla slutförda uppdrag.",
"vcmi.randomMapTab.widgets.randomTemplate" : "(Slumpmässig)",
"vcmi.randomMapTab.widgets.templateLabel" : "Mall",
@@ -365,22 +378,22 @@
"vcmi.randomMapTab.widgets.roadTypesLabel" : "Vägtyper",
"vcmi.optionsTab.turnOptions.hover" : "Turomgångsalternativ",
"vcmi.optionsTab.turnOptions.help" : "Välj alternativ för turomgångs-timer och simultana turer",
"vcmi.optionsTab.turnOptions.help" : "Turomgångs-timer och samtidiga turomgångar (förinställningar)",
"vcmi.optionsTab.chessFieldBase.hover" : "Bas-timern",
"vcmi.optionsTab.chessFieldTurn.hover" : "Tur-timern",
"vcmi.optionsTab.chessFieldBattle.hover" : "Strids-timern",
"vcmi.optionsTab.chessFieldUnit.hover" : "Enhets-timern",
"vcmi.optionsTab.chessFieldBase.help" : "Används när {Tur-timern} når '0'. Ställs in en gång i början av spelet. När den når '0' avslutas den aktuella turomgången (pågående strid avslutas med förlust).",
"vcmi.optionsTab.chessFieldTurnAccumulate.help" : "Används utanför strid eller när {Strids-timern} tar slut. Återställs varje turomgång. Outnyttjad tid läggs till i {Bas-timern} till nästa turomgång.",
"vcmi.optionsTab.chessFieldBase.help" : "Används när {Tur-timern} når 0. Ställs in i början av spelet. Vid 0 avslutas turomgången (pågående strid avslutas med förlust).",
"vcmi.optionsTab.chessFieldTurnAccumulate.help" : "Används utanför strid eller när {Strids-timern} tar slut. Återställs varje turomgång. Outnyttjad tid läggs till i {Bas-timern}.",
"vcmi.optionsTab.chessFieldTurnDiscard.help" : "Används utanför strid eller när {Strids-timern} tar slut. Återställs varje turomgång. Outnyttjad tid går förlorad.",
"vcmi.optionsTab.chessFieldBattle.help" : "Används i strider med AI eller i PvP-strid när {Enhets-timern} tar slut. Återställs i början av varje strid.",
"vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Används när du styr din enhet i PvP-strid. Outnyttjad tid läggs till i {Strids-timern} när enheten har avslutat sin turomgång.",
"vcmi.optionsTab.chessFieldUnitDiscard.help" : "Används när du styr din enhet i PvP-strid. Återställs i början av varje enhets turomgång. Outnyttjad tid går förlorad.",
"vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Används när du styr dina enheter i PvP-strid. Outnyttjad tid läggs till i {Strids-timern} när enheten har avslutat sin turomgång.",
"vcmi.optionsTab.chessFieldUnitDiscard.help" : "Används när du styr dina enheter i PvP-strid. Återställs i början av varje enhets turomgång. Outnyttjad tid går förlorad.",
"vcmi.optionsTab.accumulate" : "Ackumulera",
"vcmi.optionsTab.simturnsTitle" : "Simultana turomgångar",
"vcmi.optionsTab.simturnsTitle" : "Samtidiga turomgångar",
"vcmi.optionsTab.simturnsMin.hover" : "Åtminstone i",
"vcmi.optionsTab.simturnsMax.hover" : "Som mest i",
"vcmi.optionsTab.simturnsAI.hover" : "(Experimentell) Simultana AI-turomgångar",
@@ -388,7 +401,7 @@
"vcmi.optionsTab.simturnsMax.help" : "Spela samtidigt som andra spelare under ett angivet antal dagar eller tills en tillräckligt nära kontakt inträffar med en annan spelare",
"vcmi.optionsTab.simturnsAI.help" : "{Simultana AI-turomgångar}\nExperimentellt alternativ. Tillåter AI-spelare att agera samtidigt som den mänskliga spelaren när simultana turomgångar är aktiverade.",
"vcmi.optionsTab.turnTime.select" : "Timer-inställningar för turomgångar",
"vcmi.optionsTab.turnTime.select" : "Ställ in turomgångs-timer",
"vcmi.optionsTab.turnTime.unlimited" : "Obegränsat med tid",
"vcmi.optionsTab.turnTime.classic.1" : "Klassisk timer: 1 minut",
"vcmi.optionsTab.turnTime.classic.2" : "Klassisk timer: 2 minuter",
@@ -403,15 +416,15 @@
"vcmi.optionsTab.turnTime.chess.2" : "Schack: 02:00 + 01:00 + 00:15 + 00:00",
"vcmi.optionsTab.turnTime.chess.1" : "Schack: 01:00 + 01:00 + 00:00 + 00:00",
"vcmi.optionsTab.simturns.select" : "Simultana/samtidiga turomgångsinställningar",
"vcmi.optionsTab.simturns.none" : "Inga simultana/samtidiga turer",
"vcmi.optionsTab.simturns.tillContactMax" : "Sam-tur: Fram till kontakt",
"vcmi.optionsTab.simturns.tillContact1" : "Sam-tur: 1 vecka, bryt vid kontakt",
"vcmi.optionsTab.simturns.tillContact2" : "Sam-tur: 2 veckor, bryt vid kontakt",
"vcmi.optionsTab.simturns.tillContact4" : "Sam-tur: 1 månad, bryt vid kontakt",
"vcmi.optionsTab.simturns.blocked1" : "Sam-tur: 1 vecka, kontakter blockerade",
"vcmi.optionsTab.simturns.blocked2" : "Sam-tur: 2 veckor, kontakter blockerade",
"vcmi.optionsTab.simturns.blocked4" : "Sam-tur: 1 månad, kontakter blockerade",
"vcmi.optionsTab.simturns.select" : "Ställ in samtidiga turomgångar",
"vcmi.optionsTab.simturns.none" : "Inga samtidiga turomgångar",
"vcmi.optionsTab.simturns.tillContactMax" : "Samtur: Fram till närkontakt",
"vcmi.optionsTab.simturns.tillContact1" : "Samtur: 1 vecka (bryts vid närkontakt)",
"vcmi.optionsTab.simturns.tillContact2" : "Samtur: 2 veckor (bryts vid närkontakt)",
"vcmi.optionsTab.simturns.tillContact4" : "Samtur: 1 månad (bryts vid närkontakt)",
"vcmi.optionsTab.simturns.blocked1" : "Samtur: 1 vecka (närkontakt blockerad)",
"vcmi.optionsTab.simturns.blocked2" : "Samtur: 2 veckor (närkontakt blockerad)",
"vcmi.optionsTab.simturns.blocked4" : "Samtur: 1 månad (närkontakt blockerad)",
// Translation note: translate strings below using form that is correct for "0 days", "1 day" and "2 days" in your language
// Using this information, VCMI will automatically select correct plural form for every possible amount
@@ -521,155 +534,155 @@
"core.seerhut.quest.reachDate.visit.5" : "Stängt fram till %s.",
"core.bonus.ADDITIONAL_ATTACK.name" : "Dubbelslag",
"core.bonus.ADDITIONAL_ATTACK.description" : "Attackerar två gånger",
"core.bonus.ADDITIONAL_ATTACK.description" : "Attackerar två gånger.",
"core.bonus.ADDITIONAL_RETALIATION.name" : "Ytterligare motattacker",
"core.bonus.ADDITIONAL_RETALIATION.description" : "Kan slå tillbaka ${val} extra gånger",
"core.bonus.ADDITIONAL_RETALIATION.description" : "Kan slå tillbaka ${val} extra gång(er).",
"core.bonus.AIR_IMMUNITY.name" : "Luft-immunitet",
"core.bonus.AIR_IMMUNITY.description" : "Immun mot alla trollformler från skolan för luftmagi",
"core.bonus.AIR_IMMUNITY.description" : "Immun mot alla luftmagi-trollformler.",
"core.bonus.ATTACKS_ALL_ADJACENT.name" : "Attackera runtomkring",
"core.bonus.ATTACKS_ALL_ADJACENT.description" : "Attackerar alla angränsande fiender",
"core.bonus.BLOCKS_RETALIATION.name" : "Blockera närstrids-motattack",
"core.bonus.BLOCKS_RETALIATION.description" : "Fienden kan inte slå tillbaka/retaliera",
"core.bonus.BLOCKS_RANGED_RETALIATION.name" : "Blockera fjärrstrids-motattack",
"core.bonus.BLOCKS_RANGED_RETALIATION.description" : "Fienden kan inte retaliera på avstånd genom att använda en distansattack",
"core.bonus.CATAPULT.name" : "Katapult",
"core.bonus.CATAPULT.description" : "Attackerar belägringsmurar",
"core.bonus.CHANGES_SPELL_COST_FOR_ALLY.name" : "Minska trollformelkostnaden (${val})",
"core.bonus.CHANGES_SPELL_COST_FOR_ALLY.description" : "Minskar trollformelkostnaden för hjälten med ${val}",
"core.bonus.ATTACKS_ALL_ADJACENT.description" : "Attackerar alla angränsande fiender.",
"core.bonus.BLOCKS_RETALIATION.name" : "Retaliera ej i närstrid",
"core.bonus.BLOCKS_RETALIATION.description" : "Fienden kan inte slå tillbaka/retaliera.",
"core.bonus.BLOCKS_RANGED_RETALIATION.name" : "Retaliera ej på avstånd",
"core.bonus.BLOCKS_RANGED_RETALIATION.description" : "Fienden kan inte retaliera på avstånd.",
"core.bonus.CATAPULT.name" : "Katapult-attack",
"core.bonus.CATAPULT.description" : "Attackerar belägringsmurar.",
"core.bonus.CHANGES_SPELL_COST_FOR_ALLY.name" : "Minska magikostnad (${val})",
"core.bonus.CHANGES_SPELL_COST_FOR_ALLY.description" : "Minskar magikostnaden för hjälten med ${val}.",
"core.bonus.CHANGES_SPELL_COST_FOR_ENEMY.name" : "Magisk dämpare (${val})",
"core.bonus.CHANGES_SPELL_COST_FOR_ENEMY.description": "Ökar trollformelkostnaden för fiendens trollformler med ${val}",
"core.bonus.CHANGES_SPELL_COST_FOR_ENEMY.description": "Ökar fiendens magikostnad med ${val}.",
"core.bonus.CHARGE_IMMUNITY.name" : "Galoppanfalls-immunitet",
"core.bonus.CHARGE_IMMUNITY.description" : "Immun mot ryttares och tornerares galopperande ridanfall",
"core.bonus.CHARGE_IMMUNITY.description" : "Immun mot ryttares galopperande ridanfall.",
"core.bonus.DARKNESS.name" : "I skydd av mörkret",
"core.bonus.DARKNESS.description" : "Skapar ett mörkerhölje med en rut-radie ${val} som gäckar dina fiender",
"core.bonus.DARKNESS.description" : "Skapar ett mörkerhölje med rutradien ${val}.",
"core.bonus.DEATH_STARE.name" : "Dödsblick (${val}%)",
"core.bonus.DEATH_STARE.description" : "Varje 'Dödsblick' har ${val}% chans att döda den översta fiendeenheten",
"core.bonus.DEATH_STARE.description" : "Varje dödsblick har ${val}% chans att döda.",
"core.bonus.DEFENSIVE_STANCE.name" : "Försvarshållning",
"core.bonus.DEFENSIVE_STANCE.description" : "När du väljer att försvara en enhet så får den +${val} extra försvar",
"core.bonus.DEFENSIVE_STANCE.description" : "+${val} extra försvar när du försvarar dig.",
"core.bonus.DESTRUCTION.name" : "Förintelse",
"core.bonus.DESTRUCTION.description" : "Har ${val}% chans att döda extra enheter efter attack",
"core.bonus.DESTRUCTION.description" : "${val}% chans att ta död på fler efter attack.",
"core.bonus.DOUBLE_DAMAGE_CHANCE.name" : "Dödsstöt",
"core.bonus.DOUBLE_DAMAGE_CHANCE.description" : "Har ${val}% chans att utdela dubbel basskada vid attack",
"core.bonus.DOUBLE_DAMAGE_CHANCE.description" : "${val}% chans till dubbel basskada vid attack.",
"core.bonus.DRAGON_NATURE.name" : "Drake",
"core.bonus.DRAGON_NATURE.description" : "Varelsen har en draknatur",
"core.bonus.DRAGON_NATURE.description" : "Varelsen har en draknatur.",
"core.bonus.EARTH_IMMUNITY.name" : "Jord-immunitet",
"core.bonus.EARTH_IMMUNITY.description" : "Immun mot alla trollformler från skolan för jordmagi",
"core.bonus.EARTH_IMMUNITY.description" : "Immun mot alla jordmagi-trollformler.",
"core.bonus.ENCHANTER.name" : "Förtrollare",
"core.bonus.ENCHANTER.description" : "Kan kasta ${subtyp.spell} på alla varje turomgång",
"core.bonus.ENCHANTER.description" : "Kastar mass-${subtype.spell} varje turomgång.",
"core.bonus.ENCHANTED.name" : "Förtrollad",
"core.bonus.ENCHANTED.description" : "Påverkas av permanent ${subtype.spell}",
"core.bonus.ENCHANTED.description" : "Påverkas av permanent ${subtype.spell}.",
"core.bonus.ENEMY_ATTACK_REDUCTION.name" : "Avfärda attack (${val}%)",
"core.bonus.ENEMY_ATTACK_REDUCTION.description" : "När du blir attackerad ignoreras ${val}% av angriparens attack",
"core.bonus.ENEMY_ATTACK_REDUCTION.description" : "Ignorerar ${val}% av angriparens attack.",
"core.bonus.ENEMY_DEFENCE_REDUCTION.name" : "Förbigå försvar (${val}%)",
"core.bonus.ENEMY_DEFENCE_REDUCTION.description" : "När du attackerar ignoreras ${val}% av försvararens försvar",
"core.bonus.ENEMY_DEFENCE_REDUCTION.description" : "Din attack ignorerar ${val}% av fiendens försvar.",
"core.bonus.FIRE_IMMUNITY.name" : "Eld-immunitet",
"core.bonus.FIRE_IMMUNITY.description" : "Immun mot alla trollformler från skolan för eldmagi",
"core.bonus.FIRE_IMMUNITY.description" : "Immun mot alla eldmagi-trollformler.",
"core.bonus.FIRE_SHIELD.name" : "Eldsköld (${val}%)",
"core.bonus.FIRE_SHIELD.description" : "Reflekterar en del av närstridsskadorna",
"core.bonus.FIRE_SHIELD.description" : "Reflekterar en del av närstridsskadorna.",
"core.bonus.FIRST_STRIKE.name" : "Första slaget",
"core.bonus.FIRST_STRIKE.description" : "Denna varelse gör en motattack innan den blir attackerad",
"core.bonus.FIRST_STRIKE.description" : "Retalierar innan den blir attackerad.",
"core.bonus.FEAR.name" : "Rädsla",
"core.bonus.FEAR.description" : "Orsakar rädsla på ett fiendeförband",
"core.bonus.FEAR.description" : "Orsakar rädsla på ett fiendeförband.",
"core.bonus.FEARLESS.name" : "Orädd",
"core.bonus.FEARLESS.description" : "Immun mot rädsla",
"core.bonus.FEARLESS.description" : "Immun mot rädsla.",
"core.bonus.FEROCITY.name" : "Vildsint",
"core.bonus.FEROCITY.description" : "Attackerar ${val} extra gång(er) om någon dödas",
"core.bonus.FEROCITY.description" : "+${val} extra attack(er) om någon dödas.",
"core.bonus.FLYING.name" : "Flygande",
"core.bonus.FLYING.description" : "Flyger vid förflyttning (ignorerar hinder)",
"core.bonus.FLYING.description" : "Flyger vid förflyttning (ignorerar hinder).",
"core.bonus.FREE_SHOOTING.name" : "Skjut på nära håll",
"core.bonus.FREE_SHOOTING.description" : "Kan använda distansattacker på närstridsavstånd",
"core.bonus.FREE_SHOOTING.description" : "Använd distansattacker på närstridsavstånd.",
"core.bonus.GARGOYLE.name" : "Stenfigur",
"core.bonus.GARGOYLE.description" : "Kan varken upplivas eller läkas",
"core.bonus.GARGOYLE.description" : "Kan varken upplivas eller läkas.",
"core.bonus.GENERAL_DAMAGE_REDUCTION.name" : "Minska skada (${val}%)",
"core.bonus.GENERAL_DAMAGE_REDUCTION.description" : "Reducerar skadan från distans- och närstrids-attacker",
"core.bonus.HATE.name" : "Hatar ${subtyp.varelse}",
"core.bonus.HATE.description" : "Gör ${val}% mer skada mot ${subtyp.varelse}",
"core.bonus.GENERAL_DAMAGE_REDUCTION.description" : "Reducerar skadan från inkommande attacker.",
"core.bonus.HATE.name" : "Hatar: ${subtype.creature}",
"core.bonus.HATE.description" : "Gör ${val}% mer skada mot ${subtype.creature}.",
"core.bonus.HEALER.name" : "Helare",
"core.bonus.HEALER.description" : "Helar/läker allierade enheter",
"core.bonus.HEALER.description" : "Helar/läker allierade enheter.",
"core.bonus.HP_REGENERATION.name" : "Självläkande",
"core.bonus.HP_REGENERATION.description" : "Får tillbaka ${val} hälsa (träffpoäng) varje runda",
"core.bonus.HP_REGENERATION.description" : "Återfår ${val} hälsa (träffpoäng) varje runda.",
"core.bonus.JOUSTING.name" : "Galopperande ridanfall",
"core.bonus.JOUSTING.description" : "Orsakar +${val}% mer skada för varje ruta som förflyttas innan attack",
"core.bonus.JOUSTING.description" : "+${val}% skada per rutförflyttning före attack.",
"core.bonus.KING.name" : "Kung",
"core.bonus.KING.description" : "Sårbar för 'Dräpar'-nivå ${val} eller högre",
"core.bonus.LEVEL_SPELL_IMMUNITY.name" : "Förtrollningsimmunitet 1-${val}",
"core.bonus.LEVEL_SPELL_IMMUNITY.description" : "Immun mot trollformler på nivå 1-${val}",
"core.bonus.LIMITED_SHOOTING_RANGE.name" : "Begränsad räckvidd för skjutning",
"core.bonus.LIMITED_SHOOTING_RANGE.description" : "Kan inte sikta på enheter längre bort än ${val} rutor",
"core.bonus.LIFE_DRAIN.name" : "Dränerar livskraft (${val}%)",
"core.bonus.LIFE_DRAIN.description" : "Dränerar ${val}% hälsa (träffpoäng) av utdelad skada",
"core.bonus.MANA_CHANNELING.name" : "Kanalisera trollformelspoäng ${val}%",
"core.bonus.MANA_CHANNELING.description" : "Ger din hjälte ${val}% av fiendens spenderade trollformelspoäng i strid",
"core.bonus.MANA_DRAIN.name" : "Dränera trollformelspoäng",
"core.bonus.MANA_DRAIN.description" : "Dränerar ${val} trollformelspoäng varje tur",
"core.bonus.KING.description" : "Sårbar för Dräpar-nivå ${val} eller högre.",
"core.bonus.LEVEL_SPELL_IMMUNITY.name" : "Trolldomsimmunitet 1-${val}",
"core.bonus.LEVEL_SPELL_IMMUNITY.description" : "Immun mot nivå 1-${val}-trollformler.",
"core.bonus.LIMITED_SHOOTING_RANGE.name" : "Begränsad skjuträckvidd",
"core.bonus.LIMITED_SHOOTING_RANGE.description" : "Skjuträckvidd: ${val} rutor.",
"core.bonus.LIFE_DRAIN.name" : "Dränera livskraft (${val}%)",
"core.bonus.LIFE_DRAIN.description" : "Dränera ${val}% hälsa av den vållade skadan.",
"core.bonus.MANA_CHANNELING.name" : "Kanalisera magi (${val}%)",
"core.bonus.MANA_CHANNELING.description" : "Ger din hjälte ${val}% av fiendens spenderade mana.",
"core.bonus.MANA_DRAIN.name" : "Dränera mana",
"core.bonus.MANA_DRAIN.description" : "Dränerar ${val} mana från fienden varje tur.",
"core.bonus.MAGIC_MIRROR.name" : "Magisk spegel (${val}%)",
"core.bonus.MAGIC_MIRROR.description" : "${val}% chans att reflektera en offensiv trollformel på en fiendeenhet",
"core.bonus.MAGIC_MIRROR.description" : "${val}% chans att reflektera skadliga trollformler.",
"core.bonus.MAGIC_RESISTANCE.name" : "Magiskt motstånd (${val}%)",
"core.bonus.MAGIC_RESISTANCE.description" : "Har en ${val}% chans att motstå en skadlig trollformel",
"core.bonus.MIND_IMMUNITY.name" : "Immunitet mot sinnesförtrollningar",
"core.bonus.MIND_IMMUNITY.description" : "Immun mot förtrollningar som påverkar dina sinnen",
"core.bonus.NO_DISTANCE_PENALTY.name" : "Ingen avståndsbestraffning",
"core.bonus.NO_DISTANCE_PENALTY.description" : "Gör full skada på vilket avstånd som helst i strid",
"core.bonus.NO_MELEE_PENALTY.name" : "Ingen närstridsbestraffning",
"core.bonus.NO_MELEE_PENALTY.description" : "Varelsen har ingen närstridsbestraffning",
"core.bonus.NO_MORALE.name" : "Ingen Moralpåverkan",
"core.bonus.NO_MORALE.description" : "Är immun mot moraliska effekter och har alltid neutral moral",
"core.bonus.MAGIC_RESISTANCE.description" : "${val}% chans att motstå en skadlig trollformel.",
"core.bonus.MIND_IMMUNITY.name" : "Immun mot sinnesmagi",
"core.bonus.MIND_IMMUNITY.description" : "Immun mot magi som påverkar dina sinnen.",
"core.bonus.NO_DISTANCE_PENALTY.name" : "Långdistansskytt",
"core.bonus.NO_DISTANCE_PENALTY.description" : "Gör full skada på alla avstånd i strid.",
"core.bonus.NO_MELEE_PENALTY.name" : "Närstridsspecialist",
"core.bonus.NO_MELEE_PENALTY.description" : "Ingen närstridsbestraffning.",
"core.bonus.NO_MORALE.name" : "Ingen moralpåverkan",
"core.bonus.NO_MORALE.description" : "Immun mot moral-effekter (neutral moral).",
"core.bonus.NO_WALL_PENALTY.name" : "Ingen murbestraffning",
"core.bonus.NO_WALL_PENALTY.description" : "Orsakar full skada mot fiender bakom en mur",
"core.bonus.NO_WALL_PENALTY.description" : "r full skada mot fiender bakom en mur.",
"core.bonus.NON_LIVING.name" : "Icke levande",
"core.bonus.NON_LIVING.description" : "Påverkas inte av vissa effekter som levande/odöda gör",
"core.bonus.NON_LIVING.description" : "Immunitet mot många effekter.",
"core.bonus.RANDOM_SPELLCASTER.name" : "Slumpmässig besvärjare",
"core.bonus.RANDOM_SPELLCASTER.description" : "Kan kasta trollformler som väljs slumpmässigt",
"core.bonus.RANDOM_SPELLCASTER.description" : "Kastar trollformler som väljs slumpmässigt.",
"core.bonus.RANGED_RETALIATION.name" : "Motattacker på avstånd",
"core.bonus.RANGED_RETALIATION.description" : "Kan retaliera/motattackera på avstånd",
"core.bonus.RECEPTIVE.name" : "Mottaglig",
"core.bonus.RECEPTIVE.description" : "Ingen immunitet mot vänliga besvärjelser",
"core.bonus.RANGED_RETALIATION.description" : "Kan retaliera/motattackera på avstånd.",
"core.bonus.RECEPTIVE.name" : "Magiskt mottaglig",
"core.bonus.RECEPTIVE.description" : "Ingen immunitet mot vänliga trollformler.",
"core.bonus.REBIRTH.name" : "Återfödelse (${val}%)",
"core.bonus.REBIRTH.description" : "${val}% av enheterna kommer att återuppväckas efter döden",
"core.bonus.REBIRTH.description" : "${val}% återuppväcks efter döden.",
"core.bonus.RETURN_AFTER_STRIKE.name" : "Återvänder efter närstrid",
"core.bonus.RETURN_AFTER_STRIKE.description" : "Efter närstridsattack återvänder den till sin ursprungliga ruta",
"core.bonus.REVENGE.name" : "Hämnd",
"core.bonus.REVENGE.description" : "Orsakar mer skada om den själv blivit skadad",
"core.bonus.RETURN_AFTER_STRIKE.description" : "Återvänder till sin ruta efter attack.",
"core.bonus.REVENGE.name" : "Hämndlysten",
"core.bonus.REVENGE.description" : "Vållar mer skada om den själv blivit skadad.",
"core.bonus.SHOOTER.name" : "Distans-attack",
"core.bonus.SHOOTER.description" : "Varelsen kan skjuta/attackera på avstånd",
"core.bonus.SHOOTER.description" : "Varelsen kan skjuta/attackera på avstånd.",
"core.bonus.SHOOTS_ALL_ADJACENT.name" : "Skjuter alla i närheten",
"core.bonus.SHOOTS_ALL_ADJACENT.description" : "Dess distans-attacker drabbar alla mål i ett litet område",
"core.bonus.SHOOTS_ALL_ADJACENT.description" : "Distans-attack drabbar alla inom räckhåll.",
"core.bonus.SOUL_STEAL.name" : "Själtjuv",
"core.bonus.SOUL_STEAL.description" : "Återuppväcker ${val} av sina egna för varje dödad fiendeenhet",
"core.bonus.SOUL_STEAL.description" : "För varje dödad fiende återuppväcks: ${val}.",
"core.bonus.SPELLCASTER.name" : "Besvärjare",
"core.bonus.SPELLCASTER.description" : "Kan kasta ${subtype.spell}",
"core.bonus.SPELLCASTER.description" : "Kan kasta: ${subtype.spell}.",
"core.bonus.SPELL_AFTER_ATTACK.name" : "Besvärja efter attack",
"core.bonus.SPELL_AFTER_ATTACK.description" : "Har ${val}% chans att kasta ${subtype.spell} efter anfall",
"core.bonus.SPELL_AFTER_ATTACK.description" : "${val}% chans för '${subtype.spell}' efter attack.",
"core.bonus.SPELL_BEFORE_ATTACK.name" : "Besvärja före attack",
"core.bonus.SPELL_BEFORE_ATTACK.description" : "Har ${val}% chans att kasta ${subtype.spell} före anfall",
"core.bonus.SPELL_BEFORE_ATTACK.description" : "${val}% chans för '${subtype.spell}' före attack.",
"core.bonus.SPELL_DAMAGE_REDUCTION.name" : "Trolldoms-resistens",
"core.bonus.SPELL_DAMAGE_REDUCTION.description" : "Skadan från trollformler är reducet med ${val}%.",
"core.bonus.SPELL_DAMAGE_REDUCTION.description" : "Reducerar magisk-skada med ${val}%.",
"core.bonus.SPELL_IMMUNITY.name" : "Trolldoms-immunitet",
"core.bonus.SPELL_IMMUNITY.description" : "Immun mot ${subtype.spell}",
"core.bonus.SPELL_LIKE_ATTACK.name" : "Trolldomsliknande attack",
"core.bonus.SPELL_LIKE_ATTACK.description" : "Attackerar med ${subtype.spell}",
"core.bonus.SPELL_IMMUNITY.description" : "Immun mot '${subtype.spell}'.",
"core.bonus.SPELL_LIKE_ATTACK.name" : "Magisk attack",
"core.bonus.SPELL_LIKE_ATTACK.description" : "Attackerar med '${subtype.spell}'.",
"core.bonus.SPELL_RESISTANCE_AURA.name" : "Motståndsaura",
"core.bonus.SPELL_RESISTANCE_AURA.description" : "Närbelägna förband får ${val}% magi-resistens",
"core.bonus.SPELL_RESISTANCE_AURA.description" : "Angränsande förband får ${val}% magi-resistens.",
"core.bonus.SUMMON_GUARDIANS.name" : "Åkalla väktare",
"core.bonus.SUMMON_GUARDIANS.description" : "I början av striden åkallas ${subtype.creature} (${val}%)",
"core.bonus.SUMMON_GUARDIANS.description" : "Vid strid åkallas: ${subtype.creature} ${val}%.",
"core.bonus.SYNERGY_TARGET.name" : "Synergibar",
"core.bonus.SYNERGY_TARGET.description" : "Denna varelse är sårbar för synergieffekt",
"core.bonus.SYNERGY_TARGET.description" : "Denna varelse är sårbar för synergieffekt.",
"core.bonus.TWO_HEX_ATTACK_BREATH.name" : "Dödlig andedräkt",
"core.bonus.TWO_HEX_ATTACK_BREATH.description" : "Andningsattack (2 rutors räckvidd)",
"core.bonus.TWO_HEX_ATTACK_BREATH.description" : "Andningsattack (2 rutors räckvidd).",
"core.bonus.THREE_HEADED_ATTACK.name" : "Trehövdad attack",
"core.bonus.THREE_HEADED_ATTACK.description" : "Attackerar tre angränsande enheter",
"core.bonus.THREE_HEADED_ATTACK.description" : "Attackerar upp till tre enheter framför sig.",
"core.bonus.TRANSMUTATION.name" : "Transmutation",
"core.bonus.TRANSMUTATION.description" : "${val}% chans att förvandla angripen enhet till en annan typ",
"core.bonus.TRANSMUTATION.description" : "${val}% chans att förvandla angripen enhet.",
"core.bonus.UNDEAD.name" : "Odöd",
"core.bonus.UNDEAD.description" : "Varelsen är odöd",
"core.bonus.UNDEAD.description" : "Varelsen är odöd.",
"core.bonus.UNLIMITED_RETALIATIONS.name" : "Slår tillbaka varje gång",
"core.bonus.UNLIMITED_RETALIATIONS.description" : "Obegränsat antal motattacker",
"core.bonus.UNLIMITED_RETALIATIONS.description" : "Obegränsat antal motattacker.",
"core.bonus.WATER_IMMUNITY.name" : "Vatten-immunitet",
"core.bonus.WATER_IMMUNITY.description" : "Immun mot alla trollformler från vattenmagiskolan",
"core.bonus.WATER_IMMUNITY.description" : "Immun mot alla vattenmagi-trollformler.",
"core.bonus.WIDE_BREATH.name" : "Bred dödlig andedräkt",
"core.bonus.WIDE_BREATH.description" : "Bred andningsattack (flera rutor)",
"core.bonus.WIDE_BREATH.description" : "Bred andningsattack (flera rutor).",
"core.bonus.DISINTEGRATE.name" : "Desintegrerar",
"core.bonus.DISINTEGRATE.description" : "Ingen kropp lämnas kvar efter dödsögonblicket",
"core.bonus.DISINTEGRATE.description" : "Ingen kropp lämnas kvar på slagfältet.",
"core.bonus.INVINCIBLE.name" : "Oövervinnerlig",
"core.bonus.INVINCIBLE.description" : "Kan inte påverkas av någonting"
"core.bonus.INVINCIBLE.description" : "Kan inte påverkas av någonting."
}

View File

@@ -74,7 +74,10 @@ bool ArtifactsUIController::askToAssemble(const CGHeroInstance * hero, const Art
MetaString message = MetaString::createFromTextID(art->artType->getDescriptionTextID());
message.appendEOL();
message.appendEOL();
message.appendRawString(CGI->generaltexth->allTexts[732]); // You possess all of the components needed to assemble the
if(combinedArt->isFused())
message.appendRawString(CGI->generaltexth->translate("vcmi.heroWindow.fusingArtifact.fusing"));
else
message.appendRawString(CGI->generaltexth->allTexts[732]); // You possess all of the components needed to assemble the
message.replaceName(ArtifactID(combinedArt->getId()));
LOCPLINT->showYesNoDialog(message.toString(), [&assembleConfirmed, hero, slot, combinedArt]()
{
@@ -102,7 +105,7 @@ bool ArtifactsUIController::askToDisassemble(const CGHeroInstance * hero, const
if(hero->tempOwner != LOCPLINT->playerID)
return false;
if(art->isCombined())
if(art->hasParts())
{
if(ArtifactUtils::isSlotBackpack(slot) && !ArtifactUtils::isBackpackFreeSlots(hero, art->artType->getConstituents().size() - 1))
return false;

View File

@@ -67,7 +67,6 @@
#include "../lib/CConfigHandler.h"
#include "../lib/texts/CGeneralTextHandler.h"
#include "../lib/CHeroHandler.h"
#include "../lib/CPlayerState.h"
#include "../lib/CRandomGenerator.h"
#include "../lib/CStack.h"

View File

@@ -158,7 +158,7 @@ public:
friend class CBattleCallback; //handling players actions
void changeSpells(const CGHeroInstance * hero, bool give, const std::set<SpellID> & spells) override {};
void setResearchedSpells(const CGTownInstance * town, int level, const std::vector<SpellID> spells, bool accepted) override {};
void setResearchedSpells(const CGTownInstance * town, int level, const std::vector<SpellID> & spells, bool accepted) override {};
bool removeObject(const CGObjectInstance * obj, const PlayerColor & initiator) override {return false;};
void createBoat(const int3 & visitablePosition, BoatId type, PlayerColor initiator) override {};
void setOwner(const CGObjectInstance * obj, PlayerColor owner) override {};

View File

@@ -36,7 +36,6 @@
#include "../lib/modding/CModHandler.h"
#include "../lib/modding/ContentTypeHandler.h"
#include "../lib/modding/ModUtility.h"
#include "../lib/CHeroHandler.h"
#include "../lib/VCMIDirs.h"
#include "../lib/logging/VisualLogger.h"
#include "../lib/serializer/Connection.h"

View File

@@ -32,7 +32,6 @@
#include "../lib/filesystem/FileInfo.h"
#include "../lib/serializer/Connection.h"
#include "../lib/texts/CGeneralTextHandler.h"
#include "../lib/CHeroHandler.h"
#include "../lib/VCMI_Lib.h"
#include "../lib/mapping/CMap.h"
#include "../lib/VCMIDirs.h"

View File

@@ -24,7 +24,7 @@ PlayerLocalState::PlayerLocalState(CPlayerInterface & owner)
{
}
const PlayerSpellbookSetting & PlayerLocalState::getSpellbookSettings()
const PlayerSpellbookSetting & PlayerLocalState::getSpellbookSettings() const
{
return spellbookSettings;
}
@@ -347,7 +347,7 @@ void PlayerLocalState::deserialize(const JsonNode & source)
{
// this method must be called after player state has been initialized
assert(currentSelection != nullptr);
assert(!ownedTowns.empty() || wanderingHeroes.empty());
assert(!ownedTowns.empty() || !wanderingHeroes.empty());
auto oldHeroes = wanderingHeroes;
auto oldTowns = ownedTowns;

View File

@@ -55,7 +55,7 @@ public:
void setHeroAsleep(const CGHeroInstance * hero);
void setHeroAwaken(const CGHeroInstance * hero);
const PlayerSpellbookSetting & getSpellbookSettings();
const PlayerSpellbookSetting & getSpellbookSettings() const;
void setSpellbookSettings(const PlayerSpellbookSetting & newSettings);
const std::vector<const CGTownInstance *> & getOwnedTowns();

View File

@@ -24,6 +24,7 @@
#include "../windows/CKingdomInterface.h"
#include "../windows/CSpellWindow.h"
#include "../windows/CMarketWindow.h"
#include "../windows/GUIClasses.h"
#include "../windows/settings/SettingsMainWindow.h"
#include "AdventureMapInterface.h"
#include "AdventureOptions.h"
@@ -36,11 +37,14 @@
#include "../../lib/mapObjects/CGTownInstance.h"
#include "../../lib/mapping/CMap.h"
#include "../../lib/pathfinder/CGPathNode.h"
#include "../../lib/mapObjectConstructors/CObjectClassesHandler.h"
AdventureMapShortcuts::AdventureMapShortcuts(AdventureMapInterface & owner)
: owner(owner)
, state(EAdventureState::NOT_INITIALIZED)
, mapLevel(0)
, searchLast("")
, searchPos(0)
{}
void AdventureMapShortcuts::setState(EAdventureState newState)
@@ -109,7 +113,9 @@ std::vector<AdventureMapShortcutState> AdventureMapShortcuts::getShortcuts()
{ EShortcut::ADVENTURE_MOVE_HERO_EE, optionHeroSelected(), [this]() { this->moveHeroDirectional({+1, 0}); } },
{ EShortcut::ADVENTURE_MOVE_HERO_NW, optionHeroSelected(), [this]() { this->moveHeroDirectional({-1, -1}); } },
{ EShortcut::ADVENTURE_MOVE_HERO_NN, optionHeroSelected(), [this]() { this->moveHeroDirectional({ 0, -1}); } },
{ EShortcut::ADVENTURE_MOVE_HERO_NE, optionHeroSelected(), [this]() { this->moveHeroDirectional({+1, -1}); } }
{ EShortcut::ADVENTURE_MOVE_HERO_NE, optionHeroSelected(), [this]() { this->moveHeroDirectional({+1, -1}); } },
{ EShortcut::ADVENTURE_SEARCH, optionSidePanelActive(),[this]() { this->search(false); } },
{ EShortcut::ADVENTURE_SEARCH_CONTINUE, optionSidePanelActive(),[this]() { this->search(true); } }
};
return result;
}
@@ -457,6 +463,62 @@ void AdventureMapShortcuts::zoom( int distance)
owner.hotkeyZoom(distance, false);
}
void AdventureMapShortcuts::search(bool next)
{
// get all relevant objects
std::vector<ObjectInstanceID> visitableObjInstances;
for(auto & obj : LOCPLINT->cb->getAllVisitableObjs())
if(obj->ID != MapObjectID::MONSTER && obj->ID != MapObjectID::HERO && obj->ID != MapObjectID::TOWN)
visitableObjInstances.push_back(obj->id);
// count of elements for each group (map is already sorted)
std::map<std::string, int> mapObjCount;
for(auto & obj : visitableObjInstances)
mapObjCount[{ LOCPLINT->cb->getObjInstance(obj)->getObjectName() }]++;
// convert to vector for indexed access
std::vector<std::pair<std::string, int>> textCountList;
for (auto itr = mapObjCount.begin(); itr != mapObjCount.end(); ++itr)
textCountList.push_back(*itr);
// get pos of last selection
int lastSel = 0;
for(int i = 0; i < textCountList.size(); i++)
if(textCountList[i].first == searchLast)
lastSel = i;
// create texts
std::vector<std::string> texts;
for(auto & obj : textCountList)
texts.push_back(obj.first + " (" + std::to_string(obj.second) + ")");
// function to center element from list on map
auto selectObjOnMap = [this, textCountList, visitableObjInstances](int index)
{
auto selObj = textCountList[index].first;
// filter for matching objects
std::vector<ObjectInstanceID> selVisitableObjInstances;
for(auto & obj : visitableObjInstances)
if(selObj == LOCPLINT->cb->getObjInstance(obj)->getObjectName())
selVisitableObjInstances.push_back(obj);
if(searchPos + 1 < selVisitableObjInstances.size() && searchLast == selObj)
searchPos++;
else
searchPos = 0;
auto objInst = LOCPLINT->cb->getObjInstance(selVisitableObjInstances[searchPos]);
owner.centerOnObject(objInst);
searchLast = objInst->getObjectName();
};
if(next)
selectObjOnMap(lastSel);
else
GH.windows().createAndPushWindow<CObjectListWindow>(texts, nullptr, CGI->generaltexth->translate("vcmi.adventureMap.search.hover"), CGI->generaltexth->translate("vcmi.adventureMap.search.help"), [selectObjOnMap](int index){ selectObjOnMap(index); }, lastSel, std::vector<std::shared_ptr<IImage>>(), true);
}
void AdventureMapShortcuts::nextObject()
{
const CGHeroInstance *h = LOCPLINT->localState->getCurrentHero();

View File

@@ -33,6 +33,9 @@ class AdventureMapShortcuts
EAdventureState state;
int mapLevel;
std::string searchLast;
int searchPos;
void showOverview();
void worldViewBack();
void worldViewScale1x();
@@ -71,6 +74,7 @@ class AdventureMapShortcuts
void nextTown();
void nextObject();
void zoom( int distance);
void search(bool next);
void moveHeroDirectional(const Point & direction);
public:

View File

@@ -29,7 +29,6 @@
#include "../render/Colors.h"
#include "../../lib/texts/CGeneralTextHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/IGameSettings.h"
#include "../../lib/mapObjects/CGHeroInstance.h"
#include "../../lib/mapObjects/CGTownInstance.h"

View File

@@ -39,7 +39,6 @@
#include "../../lib/CStack.h"
#include "../../lib/CConfigHandler.h"
#include "../../lib/texts/CGeneralTextHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/gameState/InfoAboutArmy.h"
#include "../../lib/mapObjects/CGTownInstance.h"
#include "../../lib/networkPacks/PacksForClientBattle.h"

View File

@@ -50,10 +50,11 @@
#include "../../lib/CStack.h"
#include "../../lib/CConfigHandler.h"
#include "../../lib/CCreatureHandler.h"
#include "../../lib/entities/hero/CHeroClass.h"
#include "../../lib/entities/hero/CHero.h"
#include "../../lib/gameState/InfoAboutArmy.h"
#include "../../lib/texts/CGeneralTextHandler.h"
#include "../../lib/texts/TextOperations.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/StartInfo.h"
#include "../../lib/mapObjects/CGTownInstance.h"
#include "../../lib/networkPacks/PacksForClientBattle.h"

View File

@@ -161,6 +161,8 @@ enum class EShortcut
ADVENTURE_RESTART_GAME,
ADVENTURE_TO_MAIN_MENU,
ADVENTURE_QUIT_GAME,
ADVENTURE_SEARCH,
ADVENTURE_SEARCH_CONTINUE,
// Move hero one tile in specified direction. Bound to cursors & numpad buttons
ADVENTURE_MOVE_HERO_SW,

View File

@@ -209,6 +209,8 @@ EShortcut ShortcutHandler::findShortcut(const std::string & identifier ) const
{"adventureZoomIn", EShortcut::ADVENTURE_ZOOM_IN },
{"adventureZoomOut", EShortcut::ADVENTURE_ZOOM_OUT },
{"adventureZoomReset", EShortcut::ADVENTURE_ZOOM_RESET },
{"adventureSearch", EShortcut::ADVENTURE_SEARCH },
{"adventureSearchContinue", EShortcut::ADVENTURE_SEARCH_CONTINUE },
{"battleToggleHeroesStats", EShortcut::BATTLE_TOGGLE_HEROES_STATS},
{"battleToggleQueue", EShortcut::BATTLE_TOGGLE_QUEUE },
{"battleUseCreatureSpell", EShortcut::BATTLE_USE_CREATURE_SPELL },

View File

@@ -38,10 +38,10 @@
#include "../gui/CGuiHandler.h"
#include "../gui/Shortcut.h"
#include "../gui/WindowHandler.h"
#include "../adventureMap/AdventureMapInterface.h"
#include "../../lib/CConfigHandler.h"
#include "../../lib/CCreatureHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/CSkillHandler.h"
#include "../../lib/StartInfo.h"
#include "../../lib/entities/building/CBuilding.h"
@@ -49,6 +49,7 @@
#include "../../lib/entities/faction/CFaction.h"
#include "../../lib/entities/faction/CTown.h"
#include "../../lib/entities/faction/CTownHandler.h"
#include "../../lib/entities/hero/CHeroHandler.h"
#include "../../lib/filesystem/Filesystem.h"
#include "../../lib/texts/CGeneralTextHandler.h"
@@ -389,10 +390,13 @@ void CBonusSelection::goBack()
if(CSH->getState() != EClientState::GAMEPLAY)
{
GH.windows().popWindows(2);
CMM->playMusic();
}
else
{
close();
if(adventureInt)
adventureInt->onAudioResumed();
}
// TODO: we can actually only pop bonus selection interface for custom campaigns
// Though this would require clearing CLobbyScreen::bonusSel pointer when poping this interface
@@ -403,7 +407,6 @@ void CBonusSelection::goBack()
CSH->state = EClientState::LOBBY;
}
*/
CMM->playMusic();
}
void CBonusSelection::startMap()

View File

@@ -43,7 +43,6 @@
#include "../render/IFont.h"
#include "../render/IRenderHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/CRandomGenerator.h"
#include "../../lib/CThreadHelper.h"
#include "../../lib/filesystem/Filesystem.h"

View File

@@ -39,12 +39,13 @@
#include "../../lib/entities/faction/CFaction.h"
#include "../../lib/entities/faction/CTown.h"
#include "../../lib/entities/faction/CTownHandler.h"
#include "../../lib/entities/hero/CHeroHandler.h"
#include "../../lib/entities/hero/CHeroClass.h"
#include "../../lib/filesystem/Filesystem.h"
#include "../../lib/networkPacks/PacksForLobby.h"
#include "../../lib/texts/CGeneralTextHandler.h"
#include "../../lib/CArtHandler.h"
#include "../../lib/CConfigHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/mapping/CMapInfo.h"
#include "../../lib/mapping/CMapHeader.h"

View File

@@ -693,7 +693,7 @@ void SelectionTab::selectFileName(std::string fname)
for(int i = (int)allItems.size() - 1; i >= 0; i--)
{
if(allItems[i]->fileURI == fname)
if(boost::to_upper_copy(allItems[i]->fileURI) == fname)
{
auto [folderName, baseFolder, parentExists, fileInFolder] = checkSubfolder(allItems[i]->originalFileURI);
curFolder = baseFolder != "" ? baseFolder + "/" : "";
@@ -704,7 +704,7 @@ void SelectionTab::selectFileName(std::string fname)
for(int i = (int)curItems.size() - 1; i >= 0; i--)
{
if(curItems[i]->fileURI == fname)
if(boost::to_upper_copy(curItems[i]->fileURI) == fname)
{
slider->scrollTo(i);
selectAbs(i);

View File

@@ -37,7 +37,6 @@
#include "../../lib/spells/CSpellHandler.h"
#include "../../lib/CConfigHandler.h"
#include "../../lib/CSkillHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/CCreatureHandler.h"
#include "../../lib/campaign/CampaignHandler.h"

View File

@@ -48,6 +48,7 @@ CPrologEpilogVideo::CPrologEpilogVideo(CampaignScenarioPrologEpilog _spe, std::f
if (videoPlayer->pos.h == 400)
videoPlayer->moveBy(Point(0, 100));
CCS->musich->setVolume(CCS->musich->getVolume() / 2); // background volume is too loud by default
CCS->musich->playMusic(spe.prologMusic, true, true);
voiceDurationMilliseconds = CCS->soundh->getSoundDurationMilliseconds(spe.prologVoice);
voiceSoundHandle = CCS->soundh->playSound(spe.prologVoice);
@@ -59,7 +60,10 @@ CPrologEpilogVideo::CPrologEpilogVideo(CampaignScenarioPrologEpilog _spe, std::f
CCS->soundh->setCallback(voiceSoundHandle, onVoiceStop);
text = std::make_shared<CMultiLineLabel>(Rect(100, 500, 600, 100), EFonts::FONT_BIG, ETextAlignment::CENTER, Colors::METALLIC_GOLD, spe.prologText.toString());
text->scrollTextTo(-50); // beginning of text in the vertical middle of black area
if(text->getLines().size() == 3)
text->scrollTextTo(-25); // beginning of text in the vertical middle of black area
else if(text->getLines().size() > 3)
text->scrollTextTo(-50); // beginning of text in the vertical middle of black area
}
void CPrologEpilogVideo::tick(uint32_t msPassed)
@@ -88,6 +92,7 @@ void CPrologEpilogVideo::show(Canvas & to)
void CPrologEpilogVideo::clickPressed(const Point & cursorPosition)
{
CCS->musich->setVolume(CCS->musich->getVolume() * 2); // restore background volume
close();
CCS->soundh->resetCallback(voiceSoundHandle); // reset callback to avoid memory corruption since 'this' will be destroyed
CCS->soundh->stopSound(voiceSoundHandle);

View File

@@ -147,18 +147,24 @@ uint32_t CSoundHandler::getSoundDurationMilliseconds(const AudioPath & sound)
auto data = CResourceHandler::get()->load(resourcePath)->readAll();
SDL_AudioSpec spec;
uint32_t audioLen;
uint8_t * audioBuf;
uint32_t milliseconds = 0;
if(SDL_LoadWAV_RW(SDL_RWFromMem(data.first.get(), data.second), 1, &spec, &audioBuf, &audioLen) != nullptr)
Mix_Chunk * chunk = Mix_LoadWAV_RW(SDL_RWFromMem(data.first.get(), data.second), 1);
int freq = 0;
Uint16 fmt = 0;
int channels = 0;
if(!Mix_QuerySpec(&freq, &fmt, &channels))
return 0;
if(chunk != nullptr)
{
SDL_FreeWAV(audioBuf);
uint32_t sampleSize = SDL_AUDIO_BITSIZE(spec.format) / 8;
uint32_t sampleCount = audioLen / sampleSize;
uint32_t sampleLen = sampleCount / spec.channels;
milliseconds = 1000 * sampleLen / spec.freq;
Uint32 sampleSizeBytes = (fmt & 0xFF) / 8;
Uint32 samples = (chunk->alen / sampleSizeBytes);
Uint32 frames = (samples / channels);
milliseconds = ((frames * 1000) / freq);
Mix_FreeChunk(chunk);
}
return milliseconds;

View File

@@ -545,7 +545,7 @@ std::pair<std::unique_ptr<ui8 []>, si64> CAudioInstance::extractAudio(const Vide
frameSamplesBuffer.resize(std::max(frameSamplesBuffer.size(), bytesToRead));
uint8_t * frameSamplesPtr = frameSamplesBuffer.data();
int result = swr_convert(swr_ctx, &frameSamplesPtr, frame->nb_samples, (const uint8_t **)frame->data, frame->nb_samples);
int result = swr_convert(swr_ctx, &frameSamplesPtr, frame->nb_samples, const_cast<const uint8_t **>(frame->data), frame->nb_samples);
if (result < 0)
throwFFmpegError(result);

View File

@@ -158,7 +158,7 @@ void AssetGenerator::createPlayerColoredBackground(const PlayerColor & player)
assert(player.isValidPlayer());
if (!player.isValidPlayer())
{
logGlobal->error("Unable to colorize to invalid player color %d!", static_cast<int>(player.getNum()));
logGlobal->error("Unable to colorize to invalid player color %d!", player.getNum());
return;
}

View File

@@ -28,7 +28,6 @@
#include "../lib/modding/CModHandler.h"
#include "../lib/modding/ModScope.h"
#include "../lib/VCMI_Lib.h"
#include "../lib/CHeroHandler.h"
#include <SDL_surface.h>

View File

@@ -64,9 +64,9 @@ int CTrueTypeFont::getFontStyle(const JsonNode &config) const
CTrueTypeFont::CTrueTypeFont(const JsonNode & fontConfig):
data(loadData(fontConfig)),
font(loadFont(fontConfig), TTF_CloseFont),
dropShadow(!fontConfig["noShadow"].Bool()),
blended(true),
outline(fontConfig["outline"].Bool()),
blended(true)
dropShadow(!fontConfig["noShadow"].Bool())
{
assert(font);
@@ -95,14 +95,14 @@ size_t CTrueTypeFont::getLineHeightScaled() const
return TTF_FontHeight(font.get());
}
size_t CTrueTypeFont::getGlyphWidthScaled(const char *data) const
size_t CTrueTypeFont::getGlyphWidthScaled(const char *text) const
{
return getStringWidthScaled(std::string(data, TextOperations::getUnicodeCharacterSize(*data)));
return getStringWidthScaled(std::string(text, TextOperations::getUnicodeCharacterSize(*text)));
}
bool CTrueTypeFont::canRepresentCharacter(const char * data) const
bool CTrueTypeFont::canRepresentCharacter(const char * text) const
{
uint32_t codepoint = TextOperations::getUnicodeCodepoint(data, TextOperations::getUnicodeCharacterSize(*data));
uint32_t codepoint = TextOperations::getUnicodeCodepoint(text, TextOperations::getUnicodeCharacterSize(*text));
#if SDL_TTF_VERSION_ATLEAST(2, 0, 18)
return TTF_GlyphIsProvided32(font.get(), codepoint);
#elif SDL_TTF_VERSION_ATLEAST(2, 0, 12)
@@ -114,10 +114,10 @@ bool CTrueTypeFont::canRepresentCharacter(const char * data) const
#endif
}
size_t CTrueTypeFont::getStringWidthScaled(const std::string & data) const
size_t CTrueTypeFont::getStringWidthScaled(const std::string & text) const
{
int width;
TTF_SizeUTF8(font.get(), data.c_str(), &width, nullptr);
TTF_SizeUTF8(font.get(), text.c_str(), &width, nullptr);
return width;
}

View File

@@ -217,9 +217,9 @@ void CArtPlace::setGestureCallback(const ClickFunctor & callback)
void CArtPlace::addCombinedArtInfo(const std::map<const ArtifactID, std::vector<ArtifactID>> & arts)
{
for(const auto & availableArts : arts)
for(auto [combinedId, availableArts] : arts)
{
const auto combinedArt = availableArts.first.toArtifact();
const auto combinedArt = combinedId.toArtifact();
MetaString info;
info.appendEOL();
info.appendEOL();
@@ -227,14 +227,20 @@ void CArtPlace::addCombinedArtInfo(const std::map<const ArtifactID, std::vector<
info.appendName(combinedArt->getId());
info.appendRawString("}");
info.appendRawString(" (%d/%d)");
info.replaceNumber(availableArts.second.size());
info.replaceNumber(availableArts.size());
info.replaceNumber(combinedArt->getConstituents().size());
for(const auto part : combinedArt->getConstituents())
{
const auto found = std::find_if(availableArts.begin(), availableArts.end(), [part](const auto & availablePart) -> bool
{
return availablePart == part->getId() ? true : false;
});
info.appendEOL();
if(vstd::contains(availableArts.second, part->getId()))
if(found < availableArts.end())
{
info.appendName(part->getId());
availableArts.erase(found);
}
else
{

View File

@@ -268,11 +268,17 @@ void CArtifactsOfHeroBase::setSlotData(ArtPlacePtr artPlace, const ArtifactPosit
std::map<const ArtifactID, std::vector<ArtifactID>> arts;
for(const auto combinedArt : slotInfo->artifact->artType->getPartOf())
{
arts.try_emplace(combinedArt->getId(), std::vector<ArtifactID>{});
assert(combinedArt->isCombined());
arts.try_emplace(combinedArt->getId());
CArtifactFittingSet fittingSet(*curHero);
for(const auto part : combinedArt->getConstituents())
{
if(curHero->hasArt(part->getId(), false, false))
const auto partSlot = fittingSet.getArtPos(part->getId(), false, false);
if(partSlot != ArtifactPosition::PRE_FIRST)
{
arts.at(combinedArt->getId()).emplace_back(part->getId());
fittingSet.lockSlot(partSlot);
}
}
}
artPlace->addCombinedArtInfo(arts);

View File

@@ -12,9 +12,6 @@
#include "Images.h"
#include <vcmi/spells/Service.h>
#include <vcmi/spells/Spell.h>
#include "../gui/CGuiHandler.h"
#include "../gui/CursorHandler.h"
#include "../gui/TextAlignment.h"
@@ -29,7 +26,6 @@
#include "../CGameInfo.h"
#include "../../lib/ArtifactUtils.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/entities/building/CBuilding.h"
#include "../../lib/entities/faction/CFaction.h"
#include "../../lib/entities/faction/CTown.h"
@@ -42,6 +38,11 @@
#include "../../lib/CArtHandler.h"
#include "../../lib/CArtifactInstance.h"
#include <vcmi/spells/Service.h>
#include <vcmi/spells/Spell.h>
#include <vcmi/HeroTypeService.h>
#include <vcmi/HeroType.h>
CComponent::CComponent(ComponentType Type, ComponentSubType Subtype, std::optional<int32_t> Val, ESize imageSize, EFonts font)
{
init(Type, Subtype, Val, imageSize, font, "");

View File

@@ -185,6 +185,9 @@ void CListBox::scrollTo(size_t which)
//scroll down
else if (first + items.size() <= which && which < totalSize)
moveToPos(which - items.size() + 1);
if(slider)
slider->scrollTo(which);
}
void CListBox::moveToPos(size_t which)

View File

@@ -176,6 +176,11 @@ void CMultiLineLabel::setText(const std::string & Txt)
CLabel::setText(Txt);
}
std::vector<std::string> CMultiLineLabel::getLines()
{
return lines;
}
void CTextContainer::blitLine(Canvas & to, Rect destRect, std::string what)
{
const auto f = GH.renderHandler().loadFont(font);
@@ -309,7 +314,7 @@ void CMultiLineLabel::splitText(const std::string & Txt, bool redrawAfter)
lines.clear();
const auto & fontPtr = GH.renderHandler().loadFont(font);
int lineHeight = static_cast<int>(fontPtr->getLineHeight());
int lineHeight = fontPtr->getLineHeight();
lines = CMessage::breakText(Txt, pos.w, font);
@@ -330,16 +335,16 @@ Rect CMultiLineLabel::getTextLocation()
return pos;
const auto & fontPtr = GH.renderHandler().loadFont(font);
Point textSize(pos.w, fontPtr->getLineHeight() * (int)lines.size());
Point textOffset(pos.w - textSize.x, pos.h - textSize.y);
Point textSizeComputed(pos.w, fontPtr->getLineHeight() * lines.size()); //FIXME: how is this different from textSize member?
Point textOffset(pos.w - textSizeComputed.x, pos.h - textSizeComputed.y);
switch(alignment)
{
case ETextAlignment::TOPLEFT: return Rect(pos.topLeft(), textSize);
case ETextAlignment::TOPCENTER: return Rect(pos.topLeft(), textSize);
case ETextAlignment::CENTER: return Rect(pos.topLeft() + textOffset / 2, textSize);
case ETextAlignment::CENTERRIGHT: return Rect(pos.topLeft() + Point(textOffset.x, textOffset.y / 2), textSize);
case ETextAlignment::BOTTOMRIGHT: return Rect(pos.topLeft() + textOffset, textSize);
case ETextAlignment::TOPLEFT: return Rect(pos.topLeft(), textSizeComputed);
case ETextAlignment::TOPCENTER: return Rect(pos.topLeft(), textSizeComputed);
case ETextAlignment::CENTER: return Rect(pos.topLeft() + textOffset / 2, textSizeComputed);
case ETextAlignment::CENTERRIGHT: return Rect(pos.topLeft() + Point(textOffset.x, textOffset.y / 2), textSizeComputed);
case ETextAlignment::BOTTOMRIGHT: return Rect(pos.topLeft() + textOffset, textSizeComputed);
}
assert(0);
return Rect();

View File

@@ -96,6 +96,7 @@ public:
CMultiLineLabel(Rect position, EFonts Font = FONT_SMALL, ETextAlignment Align = ETextAlignment::TOPLEFT, const ColorRGBA & Color = Colors::WHITE, const std::string & Text = "");
void setText(const std::string & Txt) override;
std::vector<std::string> getLines();
void showAll(Canvas & to) override;
void setVisibleSize(Rect visibleSize, bool redrawElement = true);

View File

@@ -23,9 +23,9 @@
#include "../../../CCallback.h"
#include "../../../lib/entities/hero/CHeroHandler.h"
#include "../../../lib/texts/CGeneralTextHandler.h"
#include "../../../lib/mapObjects/CGHeroInstance.h"
#include "../../../lib/CHeroHandler.h"
#include "../../../lib/mapObjects/CGMarket.h"
CMarketBase::CMarketBase(const IMarket * market, const CGHeroInstance * hero)

View File

@@ -2007,10 +2007,10 @@ void CMageGuildScreen::updateSpells(ObjectInstanceID tID)
const CGTownInstance * town = LOCPLINT->cb->getTown(townId);
for(size_t i=0; i<town->getTown()->mageLevel; i++)
for(uint32_t i=0; i<town->getTown()->mageLevel; i++)
{
size_t spellCount = town->spellsAtLevel((int)i+1,false); //spell at level with -1 hmmm?
for(size_t j=0; j<spellCount; j++)
uint32_t spellCount = town->spellsAtLevel(i+1,false); //spell at level with -1 hmmm?
for(uint32_t j=0; j<spellCount; j++)
{
if(i<town->mageGuildLevel() && town->spells[i].size()>j)
spells.push_back(std::make_shared<Scroll>(positions[i][j], town->spells[i][j].toSpell(), townId));
@@ -2063,30 +2063,26 @@ void CMageGuildScreen::Scroll::clickPressed(const Point & cursorPosition)
resComps.push_back(std::make_shared<CComponent>(ComponentType::RESOURCE, i->resType, i->resVal, CComponent::ESize::medium));
}
auto showSpellResearchDialog = [this, resComps, town, cost, newSpell](){
std::vector<std::pair<AnimationPath, CFunctionList<void()>>> pom;
for(int i = 0; i < 3; i++)
pom.emplace_back(AnimationPath::builtin("settingsWindow/button80"), nullptr);
std::vector<std::pair<AnimationPath, CFunctionList<void()>>> pom;
for(int i = 0; i < 3; i++)
pom.emplace_back(AnimationPath::builtin("settingsWindow/button80"), nullptr);
auto text = CGI->generaltexth->translate(LOCPLINT->cb->getResourceAmount().canAfford(cost) ? "vcmi.spellResearch.pay" : "vcmi.spellResearch.canNotAfford");
boost::replace_first(text, "%SPELL1", spell->id.toSpell()->getNameTranslated());
boost::replace_first(text, "%SPELL2", newSpell.toSpell()->getNameTranslated());
auto temp = std::make_shared<CInfoWindow>(text, LOCPLINT->playerID, resComps, pom);
auto text = CGI->generaltexth->translate(LOCPLINT->cb->getResourceAmount().canAfford(cost) ? "vcmi.spellResearch.pay" : "vcmi.spellResearch.canNotAfford");
boost::replace_first(text, "%SPELL1", spell->id.toSpell()->getNameTranslated());
boost::replace_first(text, "%SPELL2", newSpell.toSpell()->getNameTranslated());
auto temp = std::make_shared<CInfoWindow>(text, LOCPLINT->playerID, resComps, pom);
temp->buttons[0]->setOverlay(std::make_shared<CPicture>(ImagePath::builtin("spellResearch/accept")));
temp->buttons[0]->addCallback([this, town](){ LOCPLINT->cb->spellResearch(town, spell->id, true); });
temp->buttons[0]->addPopupCallback([](){ CRClickPopup::createAndPush(CGI->generaltexth->translate("vcmi.spellResearch.research")); });
temp->buttons[0]->setEnabled(LOCPLINT->cb->getResourceAmount().canAfford(cost));
temp->buttons[1]->setOverlay(std::make_shared<CPicture>(ImagePath::builtin("spellResearch/reroll")));
temp->buttons[1]->addCallback([this, town](){ LOCPLINT->cb->spellResearch(town, spell->id, false); });
temp->buttons[1]->addPopupCallback([](){ CRClickPopup::createAndPush(CGI->generaltexth->translate("vcmi.spellResearch.skip")); });
temp->buttons[2]->setOverlay(std::make_shared<CPicture>(ImagePath::builtin("spellResearch/close")));
temp->buttons[2]->addPopupCallback([](){ CRClickPopup::createAndPush(CGI->generaltexth->translate("vcmi.spellResearch.abort")); });
temp->buttons[0]->setOverlay(std::make_shared<CPicture>(ImagePath::builtin("spellResearch/accept")));
temp->buttons[0]->addCallback([this, town](){ LOCPLINT->cb->spellResearch(town, spell->id, true); });
temp->buttons[0]->addPopupCallback([](){ CRClickPopup::createAndPush(CGI->generaltexth->translate("vcmi.spellResearch.research")); });
temp->buttons[0]->setEnabled(LOCPLINT->cb->getResourceAmount().canAfford(cost));
temp->buttons[1]->setOverlay(std::make_shared<CPicture>(ImagePath::builtin("spellResearch/reroll")));
temp->buttons[1]->addCallback([this, town](){ LOCPLINT->cb->spellResearch(town, spell->id, false); });
temp->buttons[1]->addPopupCallback([](){ CRClickPopup::createAndPush(CGI->generaltexth->translate("vcmi.spellResearch.skip")); });
temp->buttons[2]->setOverlay(std::make_shared<CPicture>(ImagePath::builtin("spellResearch/close")));
temp->buttons[2]->addPopupCallback([](){ CRClickPopup::createAndPush(CGI->generaltexth->translate("vcmi.spellResearch.abort")); });
GH.windows().pushWindow(temp);
};
showSpellResearchDialog();
GH.windows().pushWindow(temp);
}
else
LOCPLINT->showInfoDialog(spell->getDescriptionTranslated(0), std::make_shared<CComponent>(ComponentType::SPELL, spell->id));

View File

@@ -31,7 +31,7 @@
#include "../../lib/CStack.h"
#include "../../lib/CBonusTypeHandler.h"
#include "../../lib/IGameSettings.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/entities/hero/CHeroHandler.h"
#include "../../lib/gameState/CGameState.h"
#include "../../lib/networkPacks/ArtifactLocation.h"
#include "../../lib/texts/CGeneralTextHandler.h"

View File

@@ -29,8 +29,8 @@
#include "../../CCallback.h"
#include "../lib/CHeroHandler.h"
#include "../lib/CSkillHandler.h"
#include "../lib/entities/hero/CHeroHandler.h"
#include "../lib/filesystem/Filesystem.h"
#include "../lib/mapObjects/CGHeroInstance.h"
#include "../lib/texts/CGeneralTextHandler.h"

View File

@@ -24,9 +24,10 @@
#include "../widgets/GraphicalPrimitiveCanvas.h"
#include "../../lib/IGameSettings.h"
#include "../../lib/entities/hero/CHeroHandler.h"
#include "../../lib/entities/hero/CHeroClass.h"
#include "../../lib/texts/CGeneralTextHandler.h"
#include "../../lib/CCreatureHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/CSkillHandler.h"
#include "../../lib/spells/CSpellHandler.h"

View File

@@ -35,11 +35,11 @@
#include "../lib/ArtifactUtils.h"
#include "../lib/CArtHandler.h"
#include "../lib/CConfigHandler.h"
#include "../lib/entities/hero/CHeroHandler.h"
#include "../lib/texts/CGeneralTextHandler.h"
#include "../lib/CHeroHandler.h"
#include "../lib/CSkillHandler.h"
#include "../lib/mapObjects/CGHeroInstance.h"
#include "../../lib/networkPacks/ArtifactLocation.h"
#include "../lib/networkPacks/ArtifactLocation.h"
void CHeroSwitcher::clickPressed(const Point & cursorPosition)
{

View File

@@ -33,8 +33,8 @@
#include "../../lib/CConfigHandler.h"
#include "../../lib/CCreatureHandler.h"
#include "../../lib/entities/hero/CHeroHandler.h"
#include "../../lib/texts/CGeneralTextHandler.h"
#include "../../lib/CHeroHandler.h"
#include "../../lib/IGameSettings.h"
#include "../../lib/CSkillHandler.h"
#include "../../lib/StartInfo.h"

View File

@@ -44,6 +44,7 @@
#include "../lib/entities/building/CBuilding.h"
#include "../lib/entities/faction/CTownHandler.h"
#include "../lib/entities/hero/CHeroHandler.h"
#include "../lib/mapObjectConstructors/CObjectClassesHandler.h"
#include "../lib/mapObjectConstructors/CommonConstructors.h"
#include "../lib/mapObjects/CGHeroInstance.h"
@@ -53,7 +54,6 @@
#include "../lib/gameState/SThievesGuildInfo.h"
#include "../lib/gameState/TavernHeroesPool.h"
#include "../lib/texts/CGeneralTextHandler.h"
#include "../lib/CHeroHandler.h"
#include "../lib/IGameSettings.h"
#include "ConditionalWait.h"
#include "../lib/CRandomGenerator.h"
@@ -1480,39 +1480,47 @@ void CObjectListWindow::CItem::showPopupWindow(const Point & cursorPosition)
parent->onPopup(index);
}
CObjectListWindow::CObjectListWindow(const std::vector<int> & _items, std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr, std::function<void(int)> Callback, size_t initialSelection, std::vector<std::shared_ptr<IImage>> images)
CObjectListWindow::CObjectListWindow(const std::vector<int> & _items, std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr, std::function<void(int)> Callback, size_t initialSelection, std::vector<std::shared_ptr<IImage>> images, bool searchBoxEnabled)
: CWindowObject(PLAYER_COLORED, ImagePath::builtin("TPGATE")),
onSelect(Callback),
selected(initialSelection),
images(images)
{
OBJECT_CONSTRUCTION;
addUsedEvents(KEYBOARD);
items.reserve(_items.size());
for(int id : _items)
{
items.push_back(std::make_pair(id, LOCPLINT->cb->getObjInstance(ObjectInstanceID(id))->getObjectName()));
}
itemsVisible = items;
init(titleWidget_, _title, _descr);
init(titleWidget_, _title, _descr, searchBoxEnabled);
list->scrollTo(initialSelection - 4); // -4 is for centering (list have 9 elements)
}
CObjectListWindow::CObjectListWindow(const std::vector<std::string> & _items, std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr, std::function<void(int)> Callback, size_t initialSelection, std::vector<std::shared_ptr<IImage>> images)
CObjectListWindow::CObjectListWindow(const std::vector<std::string> & _items, std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr, std::function<void(int)> Callback, size_t initialSelection, std::vector<std::shared_ptr<IImage>> images, bool searchBoxEnabled)
: CWindowObject(PLAYER_COLORED, ImagePath::builtin("TPGATE")),
onSelect(Callback),
selected(initialSelection),
images(images)
{
OBJECT_CONSTRUCTION;
addUsedEvents(KEYBOARD);
items.reserve(_items.size());
for(size_t i=0; i<_items.size(); i++)
items.push_back(std::make_pair(int(i), _items[i]));
itemsVisible = items;
init(titleWidget_, _title, _descr);
init(titleWidget_, _title, _descr, searchBoxEnabled);
list->scrollTo(initialSelection - 4); // -4 is for centering (list have 9 elements)
}
void CObjectListWindow::init(std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr)
void CObjectListWindow::init(std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr, bool searchBoxEnabled)
{
titleWidget = titleWidget_;
@@ -1527,24 +1535,51 @@ void CObjectListWindow::init(std::shared_ptr<CIntObject> titleWidget_, std::stri
titleWidget->pos.y =75 + pos.y - titleWidget->pos.h/2;
}
list = std::make_shared<CListBox>(std::bind(&CObjectListWindow::genItem, this, _1),
Point(14, 151), Point(0, 25), 9, items.size(), 0, 1, Rect(262, -32, 256, 256) );
Point(14, 151), Point(0, 25), 9, itemsVisible.size(), 0, 1, Rect(262, -32, 256, 256) );
list->setRedrawParent(true);
ok = std::make_shared<CButton>(Point(15, 402), AnimationPath::builtin("IOKAY.DEF"), CButton::tooltip(), std::bind(&CObjectListWindow::elementSelected, this), EShortcut::GLOBAL_ACCEPT);
ok->block(!list->size());
if(!searchBoxEnabled)
return;
Rect r(50, 90, pos.w - 100, 16);
const ColorRGBA rectangleColor = ColorRGBA(0, 0, 0, 75);
const ColorRGBA borderColor = ColorRGBA(128, 100, 75);
const ColorRGBA grayedColor = ColorRGBA(158, 130, 105);
searchBoxRectangle = std::make_shared<TransparentFilledRectangle>(r.resize(1), rectangleColor, borderColor);
searchBoxDescription = std::make_shared<CLabel>(r.center().x, r.center().y, FONT_SMALL, ETextAlignment::CENTER, grayedColor, CGI->generaltexth->translate("vcmi.spellBook.search"));
searchBox = std::make_shared<CTextInput>(r, FONT_SMALL, ETextAlignment::CENTER, true);
searchBox->setCallback([this](const std::string & text){
searchBoxDescription->setEnabled(text.empty());
itemsVisible.clear();
for(auto & item : items)
if(boost::algorithm::contains(boost::algorithm::to_lower_copy(item.second), boost::algorithm::to_lower_copy(text)))
itemsVisible.push_back(item);
selected = 0;
list->resize(itemsVisible.size());
list->scrollTo(0);
ok->block(!itemsVisible.size());
redraw();
});
}
std::shared_ptr<CIntObject> CObjectListWindow::genItem(size_t index)
{
if(index < items.size())
return std::make_shared<CItem>(this, index, items[index].second);
if(index < itemsVisible.size())
return std::make_shared<CItem>(this, index, itemsVisible[index].second);
return std::shared_ptr<CIntObject>();
}
void CObjectListWindow::elementSelected()
{
std::function<void(int)> toCall = onSelect;//save
int where = items[selected].first; //required variables
int where = itemsVisible[selected].first; //required variables
close();//then destroy window
toCall(where);//and send selected object
}
@@ -1600,18 +1635,18 @@ void CObjectListWindow::keyPressed(EShortcut key)
sel = 0;
break; case EShortcut::MOVE_LAST:
sel = static_cast<int>(items.size());
sel = static_cast<int>(itemsVisible.size());
break; default:
return;
}
vstd::abetween<int>(sel, 0, items.size()-1);
list->scrollTo(sel);
vstd::abetween<int>(sel, 0, itemsVisible.size()-1);
list->scrollTo(sel - 4); // -4 is for centering (list have 9 elements)
changeSelection(sel);
}
VideoWindow::VideoWindow(VideoPath video, ImagePath rim, bool showBackground, float scaleFactor, std::function<void(bool skipped)> closeCb)
VideoWindow::VideoWindow(const VideoPath & video, const ImagePath & rim, bool showBackground, float scaleFactor, const std::function<void(bool skipped)> & closeCb)
: CWindowObject(BORDERED | SHADOW_DISABLED | NEEDS_ANIMATED_BACKGROUND), closeCb(closeCb)
{
OBJECT_CONSTRUCTION;

View File

@@ -45,6 +45,7 @@ class IImage;
class VideoWidget;
class VideoWidgetOnce;
class GraphicalPrimitiveCanvas;
class TransparentFilledRectangle;
enum class EUserEvent;
@@ -186,9 +187,14 @@ class CObjectListWindow : public CWindowObject
std::shared_ptr<CButton> ok;
std::shared_ptr<CButton> exit;
std::vector< std::pair<int, std::string> > items;//all items present in list
std::shared_ptr<CTextInput> searchBox;
std::shared_ptr<TransparentFilledRectangle> searchBoxRectangle;
std::shared_ptr<CLabel> searchBoxDescription;
void init(std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr);
std::vector< std::pair<int, std::string> > items; //all items present in list
std::vector< std::pair<int, std::string> > itemsVisible; //visible items present in list
void init(std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr, bool searchBoxEnabled);
void exitPressed();
public:
size_t selected;//index of currently selected item
@@ -200,8 +206,8 @@ public:
/// Callback will be called when OK button is pressed, returns id of selected item. initState = initially selected item
/// Image can be nullptr
///item names will be taken from map objects
CObjectListWindow(const std::vector<int> &_items, std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr, std::function<void(int)> Callback, size_t initialSelection = 0, std::vector<std::shared_ptr<IImage>> images = {});
CObjectListWindow(const std::vector<std::string> &_items, std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr, std::function<void(int)> Callback, size_t initialSelection = 0, std::vector<std::shared_ptr<IImage>> images = {});
CObjectListWindow(const std::vector<int> &_items, std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr, std::function<void(int)> Callback, size_t initialSelection = 0, std::vector<std::shared_ptr<IImage>> images = {}, bool searchBoxEnabled = false);
CObjectListWindow(const std::vector<std::string> &_items, std::shared_ptr<CIntObject> titleWidget_, std::string _title, std::string _descr, std::function<void(int)> Callback, size_t initialSelection = 0, std::vector<std::shared_ptr<IImage>> images = {}, bool searchBoxEnabled = false);
std::shared_ptr<CIntObject> genItem(size_t index);
void elementSelected();//call callback and close this window
@@ -513,7 +519,7 @@ class VideoWindow : public CWindowObject
void exit(bool skipped);
public:
VideoWindow(VideoPath video, ImagePath rim, bool showBackground, float scaleFactor, std::function<void(bool)> closeCb);
VideoWindow(const VideoPath & video, const ImagePath & rim, bool showBackground, float scaleFactor, const std::function<void(bool)> & closeCb);
void clickPressed(const Point & cursorPosition) override;
void keyPressed(EShortcut key) override;

View File

@@ -187,11 +187,6 @@ bool CRClickPopup::isPopupWindow() const
return true;
}
void CRClickPopup::close()
{
WindowBase::close();
}
void CRClickPopup::createAndPush(const std::string & txt, const CInfoWindow::TCompsInfo & comps)
{
PlayerColor player = LOCPLINT ? LOCPLINT->playerID : PlayerColor(1); //if no player, then use blue

View File

@@ -64,7 +64,6 @@ public:
class CRClickPopup : public WindowBase
{
public:
void close() override;
bool isPopupWindow() const override;
static std::shared_ptr<WindowBase> createCustomInfoWindow(Point position, const CGObjectInstance * specific);

View File

@@ -15,10 +15,11 @@ class VCMI(ConanFile):
"minizip/[~1.2.12]",
]
_clientRequires = [
"sdl/[~2.26.1 || >=2.0.20 <=2.22.0]", # versions in between have broken sound
"sdl_image/[~2.0.5]",
"sdl_mixer/[~2.0.4]",
"sdl_ttf/[~2.0.18]",
# Versions between 2.5-2.8 have broken loading of palette sdl images which a lot of mods use
# there is workaround that require disabling cmake flag which is not available in conan recipes.
# Bug is fixed in version 2.8, however it is not available in conan at the moment
"sdl_image/2.0.5",
"sdl_ttf/[>=2.0.18]",
"onetbb/[^2021.7 <2021.10]", # 2021.10+ breaks mobile builds due to added hwloc dependency
"xz_utils/[>=5.2.5]", # Required for innoextract
]
@@ -46,21 +47,41 @@ class VCMI(ConanFile):
self.options["freetype"].shared = self.settings.os == "Android"
# SDL_image and Qt depend on it, in iOS both are static
# Enable static libpng due to https://github.com/conan-io/conan-center-index/issues/15440,
# which leads to VCMI crashes of MinGW
self.options["libpng"].shared = not (self.settings.os == "Windows" and cross_building(self)) and self.settings.os != "iOS"
self.options["libpng"].shared = self.settings.os != "iOS"
# static Qt for iOS is the only viable option at the moment
self.options["qt"].shared = self.settings.os != "iOS"
if self.settings.os == "Android":
self.options["qt"].android_sdk = tools.get_env("ANDROID_HOME", default="")
# TODO: enable for all platforms
if self.settings.os == "Android":
self.options["bzip2"].shared = True
self.options["libiconv"].shared = True
self.options["zlib"].shared = True
# TODO: enable for all platforms?
if self.settings.os == "Windows":
self.options["sdl"].shared = True
self.options["sdl_image"].shared = True
self.options["sdl_mixer"].shared = True
self.options["sdl_ttf"].shared = True
if self.settings.os == "iOS":
# TODO: ios - newer sdl fails to link
self.requires("sdl/2.26.1")
self.requires("sdl_mixer/2.0.4")
elif self.settings.os == "Android":
# On Android SDL version must be same as version of Java wrapper for SDL in VCMI source code
# Wrapper can be found in following directory: android/vcmi-app/src/main/java/org/libsdl/app
self.requires("sdl/2.26.5")
self.requires("sdl_mixer/2.0.4")
else:
# upcoming SDL version 3.0+ is not supported at the moment due to API breakage
# SDL versions between 2.22-2.26.1 have broken sound
self.requires("sdl/[^2.26 || >=2.0.20 <=2.22.0]")
self.requires("sdl_mixer/[>=2.0.4]")
if self.settings.os == "Android":
self.options["qt"].android_sdk = tools.get_env("ANDROID_HOME", default="")
if self.options.default_options_of_requirements:
return
@@ -86,6 +107,7 @@ class VCMI(ConanFile):
self.options["boost"].without_timer = True
self.options["boost"].without_type_erasure = True
self.options["boost"].without_wave = True
self.options["boost"].without_url = True
self.options["ffmpeg"].disable_all_bitstream_filters = True
self.options["ffmpeg"].disable_all_decoders = True
@@ -149,8 +171,13 @@ class VCMI(ConanFile):
self.options["sdl"].sdl2main = self.settings.os != "iOS"
self.options["sdl"].vulkan = False
# bmp, png are the only ones that needs to be supported
# dds support may be useful for HD edition, but not supported by sdl_image at the moment
self.options["sdl_image"].gif = False
self.options["sdl_image"].lbm = False
self.options["sdl_image"].pnm = False
self.options["sdl_image"].pcx = False
#self.options["sdl_image"].qoi = False # sdl_image >=2.6
self.options["sdl_image"].svg = False
self.options["sdl_image"].tga = False
self.options["sdl_image"].with_libjpeg = False
@@ -162,13 +189,17 @@ class VCMI(ConanFile):
if is_apple_os(self):
self.options["sdl_image"].imageio = True
# mp3, ogg and wav are the only ones that needs to be supported
# opus is nice to have, but fails to build in CI
# flac can be considered, but generally unnecessary
self.options["sdl_mixer"].flac = False
self.options["sdl_mixer"].mad = False
self.options["sdl_mixer"].mikmod = False
self.options["sdl_mixer"].modplug = False
self.options["sdl_mixer"].nativemidi = False
self.options["sdl_mixer"].opus = False
self.options["sdl_mixer"].wav = False
if self.settings.os == "iOS" or self.settings.os == "Android":
# only available in older sdl_mixer version, removed in newer version
self.options["sdl_mixer"].mad = False
self.options["sdl_mixer"].mikmod = False
self.options["sdl_mixer"].nativemidi = False
def _disableQtOptions(disableFlag, options):
return " ".join([f"-{disableFlag}-{tool}" for tool in options])

View File

@@ -162,5 +162,5 @@
159, 160, 161, 162, 163,
176, 177, 178, 179, 180]
},
"ship": { "graphics" : "CMBKDECK.BMP" }
"ship": { "graphics" : "CMBKDECK.BMP", "isSpecial" : true}
}

View File

@@ -538,7 +538,7 @@
},
"55":
{
"allowedTerrains" : ["water"],
"specialBattlefields" : ["ship"],
"width" : 3,
"height" : 3,
"blockedTiles" : [-15, -16, -33],

View File

@@ -61,6 +61,10 @@
"description" : "Optional, list of components for combinational artifacts",
"items" : { "type" : "string" }
},
"fusedComponents" : {
"type" : "boolean",
"description" : "Used together with components fild. Marks the artifact as fused. Cannot be disassembled."
},
"bonuses" : {
"type" : "array",
"description" : "Bonuses provided by this artifact using bonus system",

View File

@@ -56,6 +56,8 @@
"adventureZoomIn": "Keypad +",
"adventureZoomOut": "Keypad -",
"adventureZoomReset": "Backspace",
"adventureSearch": "Ctrl+F",
"adventureSearchContinue": "Alt+F",
"battleAutocombat": "A",
"battleAutocombatEnd": "Q",
"battleCastSpell": "C",

View File

@@ -67,6 +67,9 @@ In order to make functional artifact you also need:
"artifact2",
"artifact3"
],
// Optional, by default is false. Set to true if components are supposed to be fused.
"fusedComponents" : true,
// Creature id to use on battle field. If set, this artifact is war machine
"warMachine" : "some.creature"

View File

@@ -25,13 +25,21 @@ For animations VCMI supports .def format from Heroes III as well as alternative
### Sounds
For sounds VCMI currently requires .wav format. Generally, VCMI will support any .wav parameters, however you might want to use high-bitrate versions, such as 44100 Hz or 48000 Hz, 32 bit, 1 or 2 channels
For sounds VCMI currently supports:
- .ogg/vorbis format - preferred for mods. Unlike wav, vorbis uses compression which may cause some data loss, however even 128kbit is generally undistinguishable from lossless formats
- .wav format. This is format used by H3. It is supported by vcmi, but it may result in large file sizes (and as result - large mods)
Support for additional formats, such as ogg/vorbis and ogg/opus is likely to be added in future
Generally, VCMI will support any audio parameters, however you might want to use high-bitrate versions, such as 44100 Hz or 48000 Hz, 32 bit, 1 or 2 channels
Support for additional formats, such as ogg/opus or flac may be added in future
### Music
For sounds VCMI currently requires .mp3 format. Support for additional formats, such as ogg/vorbis and ogg/opus is likely to be added in future
For music VCMI currently supports:
- .ogg/vorbis format - preferred for mods. Generally offers better quality and lower sizes compared to mp3
- .mp3 format. This is format used by H3
Support for additional formats, such as ogg/opus may be added in future
### Video

View File

@@ -639,267 +639,310 @@ Install successfully downloaded?</source>
<context>
<name>CSettingsView</name>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="682"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="98"/>
<source>Off</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
<source>Artificial Intelligence</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1072"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1038"/>
<source>Interface Scaling</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="924"/>
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
<source>Neutral AI in battles</source>
<translation>AI</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="738"/>
<location filename="../settingsView/csettingsview_moc.ui" line="996"/>
<source>Enemy AI in battles</source>
<translation>AI</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="821"/>
<location filename="../settingsView/csettingsview_moc.ui" line="751"/>
<source>Additional repository</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="893"/>
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
<source>Downscaling Filter</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="931"/>
<location filename="../settingsView/csettingsview_moc.ui" line="597"/>
<source>Adventure Map Allies</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="490"/>
<location filename="../settingsView/csettingsview_moc.ui" line="866"/>
<source>Online Lobby port</source>
<translation>线</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="331"/>
<location filename="../settingsView/csettingsview_moc.ui" line="666"/>
<source>Autocombat AI in battles</source>
<translation>AI</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="352"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1399"/>
<source>Sticks Sensitivity</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="618"/>
<location filename="../settingsView/csettingsview_moc.ui" line="908"/>
<source>Automatic (Linear)</source>
<translation>线</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="798"/>
<location filename="../settingsView/csettingsview_moc.ui" line="274"/>
<source>Haptic Feedback</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="835"/>
<location filename="../settingsView/csettingsview_moc.ui" line="378"/>
<source>Software Cursor</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1166"/>
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1389"/>
<source>Automatic</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1171"/>
<location filename="../settingsView/csettingsview_moc.ui" line="75"/>
<source>Mods Validation</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="88"/>
<source>None</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1176"/>
<location filename="../settingsView/csettingsview_moc.ui" line="93"/>
<source>xBRZ x2</source>
<translation>xBRZ x2</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1181"/>
<location filename="../settingsView/csettingsview_moc.ui" line="98"/>
<source>xBRZ x3</source>
<translation>xBRZ x3</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1186"/>
<location filename="../settingsView/csettingsview_moc.ui" line="103"/>
<source>xBRZ x4</source>
<translation>xBRZ x4</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1194"/>
<location filename="../settingsView/csettingsview_moc.ui" line="316"/>
<source>Full</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="788"/>
<source>Use scalable fonts</source>
<translation>使</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="138"/>
<location filename="../settingsView/csettingsview_moc.ui" line="859"/>
<source>Online Lobby address</source>
<translation>线</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1158"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<source>Cursor Scaling</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1108"/>
<source>Scalable</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<source>Miscellaneous</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1303"/>
<source>Font Scaling (experimental)</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1367"/>
<source>Original</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1406"/>
<source>Upscaling Filter</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="317"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1439"/>
<source>Basic</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="656"/>
<source>Use Relative Pointer Mode</source>
<translation>使</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="608"/>
<location filename="../settingsView/csettingsview_moc.ui" line="898"/>
<source>Nearest</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="613"/>
<location filename="../settingsView/csettingsview_moc.ui" line="903"/>
<source>Linear</source>
<translation>线</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="750"/>
<location filename="../settingsView/csettingsview_moc.ui" line="807"/>
<source>Input - Touchscreen</source>
<translation> - </translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="900"/>
<location filename="../settingsView/csettingsview_moc.ui" line="774"/>
<source>Adventure Map Enemies</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<location filename="../settingsView/csettingsview_moc.ui" line="926"/>
<source>Show Tutorial again</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1151"/>
<location filename="../settingsView/csettingsview_moc.ui" line="139"/>
<source>Reset</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="854"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1129"/>
<source>Network</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="536"/>
<location filename="../settingsView/csettingsview_moc.ui" line="741"/>
<source>Audio</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="842"/>
<location filename="../settingsView/csettingsview_moc.ui" line="477"/>
<source>Relative Pointer Speed</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1137"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1045"/>
<source>Music Volume</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="767"/>
<location filename="../settingsView/csettingsview_moc.ui" line="916"/>
<source>Ignore SSL errors</source>
<translation>SSL错误</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="943"/>
<location filename="../settingsView/csettingsview_moc.ui" line="703"/>
<source>Input - Mouse</source>
<translation> - </translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="345"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1226"/>
<source>Long Touch Duration</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
<location filename="../settingsView/csettingsview_moc.ui" line="461"/>
<source>%</source>
<translation>%</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1037"/>
<location filename="../settingsView/csettingsview_moc.ui" line="873"/>
<source>Controller Click Tolerance</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
<source>Touch Tap Tolerance</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1020"/>
<location filename="../settingsView/csettingsview_moc.ui" line="337"/>
<source>Input - Controller</source>
<translation> - </translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1086"/>
<location filename="../settingsView/csettingsview_moc.ui" line="267"/>
<source>Sound Volume</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="402"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1195"/>
<source>Windowed</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="407"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1200"/>
<source>Borderless fullscreen</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1205"/>
<source>Exclusive fullscreen</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="777"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1003"/>
<source>Autosave limit (0 = off)</source>
<translation> (0 = )</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1030"/>
<location filename="../settingsView/csettingsview_moc.ui" line="781"/>
<source>Framerate Limit</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="760"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1413"/>
<source>Autosave prefix</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="828"/>
<location filename="../settingsView/csettingsview_moc.ui" line="989"/>
<source>Mouse Click Tolerance</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="94"/>
<location filename="../settingsView/csettingsview_moc.ui" line="933"/>
<source>Sticks Acceleration</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1008"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1354"/>
<source>empty = map name prefix</source>
<translation> = </translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="101"/>
<location filename="../settingsView/csettingsview_moc.ui" line="590"/>
<source>Refresh now</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
<source>Default repository</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="295"/>
<location filename="../settingsView/csettingsview_moc.ui" line="795"/>
<source>Renderer</source>
<translation></translation>
</message>
@@ -909,7 +952,7 @@ Install successfully downloaded?</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="389"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1182"/>
<source>Select display mode for game
Windowed - game will run inside a window that covers part of your screen
@@ -926,93 +969,93 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
- 使</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="131"/>
<location filename="../settingsView/csettingsview_moc.ui" line="200"/>
<source>Reserved screen area</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="269"/>
<location filename="../settingsView/csettingsview_moc.ui" line="429"/>
<source>Heroes III Translation</source>
<translatorcomment></translatorcomment>
<translation>3</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="646"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1233"/>
<source>Check on startup</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="324"/>
<location filename="../settingsView/csettingsview_moc.ui" line="982"/>
<source>Fullscreen</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="64"/>
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
<source>General</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
<location filename="../settingsView/csettingsview_moc.ui" line="852"/>
<source>VCMI Language</source>
<translation>VCMI语言</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1420"/>
<source>Resolution</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="791"/>
<location filename="../settingsView/csettingsview_moc.ui" line="222"/>
<source>Autosave</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
<location filename="../settingsView/csettingsview_moc.ui" line="764"/>
<source>VSync</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="338"/>
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
<source>Display index</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="864"/>
<location filename="../settingsView/csettingsview_moc.ui" line="713"/>
<source>Network port</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="521"/>
<location filename="../settingsView/csettingsview_moc.ui" line="945"/>
<source>Video</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="452"/>
<location filename="../settingsView/csettingsview_moc.ui" line="526"/>
<source>Show intro</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="525"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="540"/>
<source>Active</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="530"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="545"/>
<source>Disabled</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="531"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="546"/>
<source>Enable</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="536"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="551"/>
<source>Not Installed</source>
<translation></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="537"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="552"/>
<source>Install</source>
<translation></translation>
</message>

View File

@@ -54,7 +54,7 @@
<message>
<location filename="../aboutProject/aboutproject_moc.ui" line="114"/>
<source>Log files directory</source>
<translation>Složka záznamů hry</translation>
<translation>Adresář souborů s logy</translation>
</message>
<message>
<location filename="../aboutProject/aboutproject_moc.ui" line="107"/>
@@ -176,7 +176,7 @@
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="61"/>
<source>Creatures</source>
<translation>Bojovníci</translation>
<translation>Jednotky</translation>
</message>
<message>
<location filename="../modManager/cmodlistmodel_moc.cpp" line="62"/>
@@ -209,7 +209,7 @@
<message>
<location filename="../modManager/cmodlistview_moc.ui" line="71"/>
<source>Downloadable</source>
<translation>Stahovatelné</translation>
<translation>Ke stažení</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.ui" line="76"/>
@@ -219,7 +219,7 @@
<message>
<location filename="../modManager/cmodlistview_moc.ui" line="81"/>
<source>Updatable</source>
<translation>Aktualizovatelné</translation>
<translation>K aktualizaci</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.ui" line="86"/>
@@ -387,12 +387,12 @@
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="358"/>
<source>This mod can not be installed or enabled because the following dependencies are not present</source>
<translation>Tato modifikace nemůže být nainstalována nebo povolena, protože následující závislosti nejsou přítomny</translation>
<translation>Tato modifikace nelze nainstalovat ani povolit, protože nejsou přítomny následující závislosti</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="359"/>
<source>This mod can not be enabled because the following mods are incompatible with it</source>
<translation>Tato modifikace nemůže být povolena, protože následující modifikace s nejsou kompatibilní</translation>
<translation>Tato modifikace nemůže být povolena, protože není kompatibilní s následujícími modifikacemi</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="360"/>
@@ -407,7 +407,7 @@
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="362"/>
<source>This is a submod and it cannot be installed or uninstalled separately from its parent mod</source>
<translation>Toto je podmodifikace, která nemůže být nainstalována nebo odinstalována bez její rodičovské modifikace</translation>
<translation>Toto je podmodifikace a nelze ji nainstalovat ani odinstalovat samostatně bez hlavní modifikace</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="377"/>
@@ -442,17 +442,17 @@
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="648"/>
<source>Gog files</source>
<translation type="unfinished"></translation>
<translation>Soubory GOG</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="650"/>
<source>All files (*.*)</source>
<translation type="unfinished"></translation>
<translation>Všechny soubory (*.*)</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="652"/>
<source>Select files (configs, mods, maps, campaigns, gog files) to install...</source>
<translation type="unfinished"></translation>
<translation>Vyberte soubory (konfigurace, modifikace, mapy, kampaně, soubory GOG) k instalaci...</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="677"/>
@@ -467,7 +467,7 @@
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="720"/>
<source>Downloading %1. %p% (%v MB out of %m MB) finished</source>
<translation type="unfinished"></translation>
<translation>Stahování %1. %p% (%v MB z %m MB) dokončeno</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="745"/>
@@ -499,7 +499,7 @@ Nainstalovat úspěšně stažené?</translation>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="852"/>
<source>Installing chronicles</source>
<translation type="unfinished"></translation>
<translation>Instalování kronik</translation>
</message>
<message>
<location filename="../modManager/cmodlistview_moc.cpp" line="925"/>
@@ -634,267 +634,310 @@ Nainstalovat úspěšně stažené?</translation>
<context>
<name>CSettingsView</name>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="682"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="98"/>
<source>Off</source>
<translation>Vypnuto</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
<source>Artificial Intelligence</source>
<translation>Umělá inteligence</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1072"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1038"/>
<source>Interface Scaling</source>
<translation>Škálování rozhraní</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="924"/>
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
<source>Neutral AI in battles</source>
<translation>Neutrální AI v bitvách</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="738"/>
<location filename="../settingsView/csettingsview_moc.ui" line="996"/>
<source>Enemy AI in battles</source>
<translation>Nepřátelská AI v bitvách</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="821"/>
<location filename="../settingsView/csettingsview_moc.ui" line="751"/>
<source>Additional repository</source>
<translation>Další repozitáře</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="893"/>
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
<source>Downscaling Filter</source>
<translation type="unfinished"></translation>
<translation>Filtr pro zmenšování</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="931"/>
<location filename="../settingsView/csettingsview_moc.ui" line="597"/>
<source>Adventure Map Allies</source>
<translation>Spojenci na mapě světa</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="490"/>
<location filename="../settingsView/csettingsview_moc.ui" line="866"/>
<source>Online Lobby port</source>
<translation>Port online předsíně</translation>
<translation>Port online lobby</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="331"/>
<location filename="../settingsView/csettingsview_moc.ui" line="666"/>
<source>Autocombat AI in battles</source>
<translation>AI automatického boje v bitvách</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="352"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1399"/>
<source>Sticks Sensitivity</source>
<translation>Citlivost páček</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="618"/>
<location filename="../settingsView/csettingsview_moc.ui" line="908"/>
<source>Automatic (Linear)</source>
<translation type="unfinished"></translation>
<translation>Automaticky (Lineárně)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="798"/>
<location filename="../settingsView/csettingsview_moc.ui" line="274"/>
<source>Haptic Feedback</source>
<translation>Zpětná odezva</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="835"/>
<location filename="../settingsView/csettingsview_moc.ui" line="378"/>
<source>Software Cursor</source>
<translation>Softwarový kurzor</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1166"/>
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1389"/>
<source>Automatic</source>
<translation type="unfinished"></translation>
<translation>Automaticky</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1171"/>
<location filename="../settingsView/csettingsview_moc.ui" line="75"/>
<source>Mods Validation</source>
<translation>Validace modifikací</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="88"/>
<source>None</source>
<translation type="unfinished"></translation>
<translation>Nic</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1176"/>
<location filename="../settingsView/csettingsview_moc.ui" line="93"/>
<source>xBRZ x2</source>
<translation type="unfinished"></translation>
<translation>xBRZ x2</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1181"/>
<location filename="../settingsView/csettingsview_moc.ui" line="98"/>
<source>xBRZ x3</source>
<translation type="unfinished"></translation>
<translation>xBRZ x3</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1186"/>
<location filename="../settingsView/csettingsview_moc.ui" line="103"/>
<source>xBRZ x4</source>
<translation type="unfinished"></translation>
<translation>xBRZ x4</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1194"/>
<location filename="../settingsView/csettingsview_moc.ui" line="316"/>
<source>Full</source>
<translation>Plné</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="788"/>
<source>Use scalable fonts</source>
<translation type="unfinished"></translation>
<translation>Použít škálovatelná písma</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="138"/>
<location filename="../settingsView/csettingsview_moc.ui" line="859"/>
<source>Online Lobby address</source>
<translation>Adresa online předsíně</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1158"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<source>Cursor Scaling</source>
<translation>Škálování kurzoru</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1108"/>
<source>Scalable</source>
<translation>Škálovatelné</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<source>Miscellaneous</source>
<translation>Ostatní</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1303"/>
<source>Font Scaling (experimental)</source>
<translation>Škálování písma (experimentální)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1367"/>
<source>Original</source>
<translation>Původní</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1406"/>
<source>Upscaling Filter</source>
<translation>Filtr škálování</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="317"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1439"/>
<source>Basic</source>
<translation>Základní</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="656"/>
<source>Use Relative Pointer Mode</source>
<translation>Použít režim relativního ukazatele</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="608"/>
<location filename="../settingsView/csettingsview_moc.ui" line="898"/>
<source>Nearest</source>
<translation>Nejbližší</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="613"/>
<location filename="../settingsView/csettingsview_moc.ui" line="903"/>
<source>Linear</source>
<translation>Lineární</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="750"/>
<location filename="../settingsView/csettingsview_moc.ui" line="807"/>
<source>Input - Touchscreen</source>
<translation>Vstup - dotyková obrazovka</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="900"/>
<location filename="../settingsView/csettingsview_moc.ui" line="774"/>
<source>Adventure Map Enemies</source>
<translation>Nepřátelé na mapě světa</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<location filename="../settingsView/csettingsview_moc.ui" line="926"/>
<source>Show Tutorial again</source>
<translation type="unfinished"></translation>
<translation>Znovu zobrazi Tutoriál</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1151"/>
<location filename="../settingsView/csettingsview_moc.ui" line="139"/>
<source>Reset</source>
<translation type="unfinished"></translation>
<translation>Restart</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="854"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1129"/>
<source>Network</source>
<translation>Síť</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="536"/>
<location filename="../settingsView/csettingsview_moc.ui" line="741"/>
<source>Audio</source>
<translation>Zvuk</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="842"/>
<location filename="../settingsView/csettingsview_moc.ui" line="477"/>
<source>Relative Pointer Speed</source>
<translation>Relativní rychlost myši</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1137"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1045"/>
<source>Music Volume</source>
<translation>Hlasitost hudby</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="767"/>
<location filename="../settingsView/csettingsview_moc.ui" line="916"/>
<source>Ignore SSL errors</source>
<translation>Ignorovat chyby SSL</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="943"/>
<location filename="../settingsView/csettingsview_moc.ui" line="703"/>
<source>Input - Mouse</source>
<translation>Vstup - Myš</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="345"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1226"/>
<source>Long Touch Duration</source>
<translation>Doba dlouhého podržení</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
<location filename="../settingsView/csettingsview_moc.ui" line="461"/>
<source>%</source>
<translation>%</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1037"/>
<location filename="../settingsView/csettingsview_moc.ui" line="873"/>
<source>Controller Click Tolerance</source>
<translation>Odchylka klepnutí ovladače</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
<source>Touch Tap Tolerance</source>
<translation>Odchylka klepnutí dotykem</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1020"/>
<location filename="../settingsView/csettingsview_moc.ui" line="337"/>
<source>Input - Controller</source>
<translation>Vstup - ovladač</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1086"/>
<location filename="../settingsView/csettingsview_moc.ui" line="267"/>
<source>Sound Volume</source>
<translation>Hlasitost zvuků</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="402"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1195"/>
<source>Windowed</source>
<translation>V okně</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="407"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1200"/>
<source>Borderless fullscreen</source>
<translation>Celá obrazovka bez okrajů</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1205"/>
<source>Exclusive fullscreen</source>
<translation>Exkluzivní celá obrazovka</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="777"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1003"/>
<source>Autosave limit (0 = off)</source>
<translation>Limit aut. uložení (0=vypnuto)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1030"/>
<location filename="../settingsView/csettingsview_moc.ui" line="781"/>
<source>Framerate Limit</source>
<translation>Omezení snímků za sekundu</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="760"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1413"/>
<source>Autosave prefix</source>
<translation>Předpona aut. uložení</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="828"/>
<location filename="../settingsView/csettingsview_moc.ui" line="989"/>
<source>Mouse Click Tolerance</source>
<translation>Odchylka klepnutí myší</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="94"/>
<location filename="../settingsView/csettingsview_moc.ui" line="933"/>
<source>Sticks Acceleration</source>
<translation>Zrychlení páček</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1008"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1354"/>
<source>empty = map name prefix</source>
<translation>prázná = předpona - název mapy</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="101"/>
<location filename="../settingsView/csettingsview_moc.ui" line="590"/>
<source>Refresh now</source>
<translation>Obnovit nyní</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
<source>Default repository</source>
<translation>Výchozí repozitář</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="295"/>
<location filename="../settingsView/csettingsview_moc.ui" line="795"/>
<source>Renderer</source>
<translation>Vykreslovač</translation>
</message>
@@ -904,7 +947,7 @@ Nainstalovat úspěšně stažené?</translation>
<translation>Zapnuto</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="389"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1182"/>
<source>Select display mode for game
Windowed - game will run inside a window that covers part of your screen
@@ -921,92 +964,92 @@ Celá obrazovka bez okrajů- hra poběží v okně, které zakryje vaši celou
Exkluzivní celá obrazovka - hra zakryje vaši celou obrazovku a použije vybrané rozlišení.</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="131"/>
<location filename="../settingsView/csettingsview_moc.ui" line="200"/>
<source>Reserved screen area</source>
<translation>Vyhrazená část obrazovky</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="269"/>
<location filename="../settingsView/csettingsview_moc.ui" line="429"/>
<source>Heroes III Translation</source>
<translation>Překlad Heroes III</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="646"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1233"/>
<source>Check on startup</source>
<translation>Zkontrolovat při zapnutí</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="324"/>
<location filename="../settingsView/csettingsview_moc.ui" line="982"/>
<source>Fullscreen</source>
<translation>Celá obrazovka</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="64"/>
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
<source>General</source>
<translation>Všeobecné</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
<location filename="../settingsView/csettingsview_moc.ui" line="852"/>
<source>VCMI Language</source>
<translation>Jazyk VCMI</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1420"/>
<source>Resolution</source>
<translation>Rozlišení</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="791"/>
<location filename="../settingsView/csettingsview_moc.ui" line="222"/>
<source>Autosave</source>
<translation>Automatické uložení</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
<location filename="../settingsView/csettingsview_moc.ui" line="764"/>
<source>VSync</source>
<translation>VSync</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="338"/>
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
<source>Display index</source>
<translation type="unfinished"></translation>
<translation>Monitor</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="864"/>
<location filename="../settingsView/csettingsview_moc.ui" line="713"/>
<source>Network port</source>
<translation>Síťový port</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="521"/>
<location filename="../settingsView/csettingsview_moc.ui" line="945"/>
<source>Video</source>
<translation>Zobrazení</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="452"/>
<location filename="../settingsView/csettingsview_moc.ui" line="526"/>
<source>Show intro</source>
<translation>Zobrazit intro</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="525"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="540"/>
<source>Active</source>
<translation>Aktivní</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="530"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="545"/>
<source>Disabled</source>
<translation>Zakázáno</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="531"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="546"/>
<source>Enable</source>
<translation>Povolit</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="536"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="551"/>
<source>Not Installed</source>
<translation>Nenainstalováno</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="537"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="552"/>
<source>Install</source>
<translation>Instalovat</translation>
</message>
@@ -1016,35 +1059,35 @@ Exkluzivní celá obrazovka - hra zakryje vaši celou obrazovku a použije vybra
<message>
<location filename="../modManager/chroniclesextractor.cpp" line="48"/>
<source>File cannot opened</source>
<translation type="unfinished"></translation>
<translation>Soubor nelze otevřít</translation>
</message>
<message>
<location filename="../modManager/chroniclesextractor.cpp" line="56"/>
<location filename="../modManager/chroniclesextractor.cpp" line="71"/>
<source>Invalid file selected</source>
<translation type="unfinished">Vybrán neplatný soubor</translation>
<translation>Vybrán neplatný soubor</translation>
</message>
<message>
<location filename="../modManager/chroniclesextractor.cpp" line="56"/>
<source>You have to select an gog installer file!</source>
<translation type="unfinished"></translation>
<translation>Musíte vybrat instalační soubor GOG!</translation>
</message>
<message>
<location filename="../modManager/chroniclesextractor.cpp" line="71"/>
<source>You have to select an chronicle installer file!</source>
<translation type="unfinished"></translation>
<translation>Musíte vybrat instalační soubor kronik!</translation>
</message>
<message>
<location filename="../modManager/chroniclesextractor.cpp" line="87"/>
<source>Extracting error!</source>
<translation type="unfinished"></translation>
<translation>Chyb při rozbalování!</translation>
</message>
<message>
<location filename="../modManager/chroniclesextractor.cpp" line="104"/>
<location filename="../modManager/chroniclesextractor.cpp" line="105"/>
<location filename="../modManager/chroniclesextractor.cpp" line="141"/>
<source>Heroes Chronicles</source>
<translation type="unfinished"></translation>
<translation>Heroes Chronicles</translation>
</message>
</context>
<context>
@@ -1111,13 +1154,13 @@ Before you can start playing, there are a few more steps that need to be complet
Please keep in mind that in order to use VCMI you must own the original data files for Heroes® of Might and Magic® III: Complete or The Shadow of Death.
Heroes® of Might and Magic® III HD is currently not supported!</source>
<translation>Děkujeme za instalaci VCMI!
<translation>Děkujeme, že jste si nainstalovali VCMI!
Před začátkem hraní musíte ještě dokončit pár kroků.
Než začnete hrát, je třeba dokončit několik kroků.
Prosíme, mějte na paměti, že abyste mohli hrát VCMI, musíte vlastnit originální datové soubory Heroes® of Might and Magic® III: Complete nebo The Shadow of Death.
Pamatujte, že pro používání VCMI musíte vlastnit originální herní soubory pro Heroes® of Might and Magic® III: Complete nebo The Shadow of Death.
Heroes® of Might and Magic® III HD není v současnosti podporovaný!</translation>
Heroes® of Might and Magic® III HD momentálně není podporováno!</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="248"/>
@@ -1132,7 +1175,7 @@ Heroes® of Might and Magic® III HD není v současnosti podporovaný!</transla
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="310"/>
<source>You can manually copy directories Maps, Data and Mp3 from the original game directory to VCMI data directory that you can see on top of this page</source>
<translation>Můžete ručně zkopírovat existující mapy, data a MP3 z originální složky hry do složky dat VCMI, kterou můžete vidět nahoře na této stránce.</translation>
<translation>Můžete ručně zkopírovat existující mapy, data a MP3 z originální složky hry do složky dat VCMI, kterou můžete vidět nahoře na této stránce</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="329"/>
@@ -1152,7 +1195,7 @@ Heroes® of Might and Magic® III HD není v současnosti podporovaný!</transla
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="622"/>
<source>Install a translation of Heroes III in your preferred language</source>
<translation>Instalovat překlad Heroes III vašeho upřednostněného jazyka</translation>
<translation>Nainstalujte si překlad Heroes III dle preferovaného jazyka</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="388"/>
@@ -1179,7 +1222,7 @@ Offline instalátor obsahuje dvě části, .exe a .bin. Ujistěte se, že stahuj
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="689"/>
<source>Optionally, you can install additional mods either now, or at any point later, using the VCMI Launcher</source>
<translation>Nyní můžete volitelně nainstalovat další modifikace, nebo též kdykoliv potom pomocí spouštěče VCMI</translation>
<translation>Můžete si nyní, nebo kdykoliv později, nainstalovat další mody pomocí VCMI Launcheru, podle svých preferencí</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="788"/>
@@ -1189,12 +1232,12 @@ Offline instalátor obsahuje dvě části, .exe a .bin. Ujistěte se, že stahuj
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="673"/>
<source>Install compatible version of &quot;Horn of the Abyss&quot;, a fan-made Heroes III expansion ported by the VCMI team</source>
<translation type="unfinished"></translation>
<translation>Instalovat kompatibilní verzi &apos;Horn of the Abyss&apos;, fanouškovského rozšíření Heroes III portovaného týmem VCMI</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="772"/>
<source>Install compatible version of &quot;In The Wake of Gods&quot;, a fan-made Heroes III expansion</source>
<translation type="unfinished"></translation>
<translation>&quot;Instalovat kompatibilní verzi In The Wake of Gods&apos;, fanouškovského rozšíření Heroes III portovaného týmem VCMI&quot;</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="867"/>
@@ -1251,7 +1294,7 @@ Offline instalátor obsahuje dvě části, .exe a .bin. Ujistěte se, že stahuj
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="710"/>
<source>Horn of the Abyss</source>
<translation type="unfinished"></translation>
<translation>Horn of the Abyss</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="643"/>
@@ -1261,7 +1304,7 @@ Offline instalátor obsahuje dvě části, .exe a .bin. Ujistěte se, že stahuj
<message>
<location filename="../firstLaunch/firstlaunch_moc.ui" line="809"/>
<source>In The Wake of Gods</source>
<translation type="unfinished"></translation>
<translation>In The Wake of Gods</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.cpp" line="174"/>
@@ -1298,7 +1341,7 @@ Offline instalátor obsahuje dvě části, .exe a .bin. Ujistěte se, že stahuj
<message>
<location filename="../firstLaunch/firstlaunch_moc.cpp" line="326"/>
<source>File cannot be opened</source>
<translation type="unfinished"></translation>
<translation>Soubor nelze otevřít</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.cpp" line="332"/>
@@ -1318,17 +1361,17 @@ Offline instalátor obsahuje dvě části, .exe a .bin. Ujistěte se, že stahuj
<message>
<location filename="../firstLaunch/firstlaunch_moc.cpp" line="383"/>
<source>You&apos;ve provided GOG Galaxy installer! This file doesn&apos;t contain the game. Please download the offline backup game installer!</source>
<translation type="unfinished"></translation>
<translation>Poskytli jste instalátor GOG Galaxy! Tento soubor neobsahuje hru. Prosím, stáhněte si záložní offline instalátor hry!</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.cpp" line="399"/>
<source>Extracting error!</source>
<translation type="unfinished"></translation>
<translation>Chyba při rozbalování!</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.cpp" line="401"/>
<source>No Heroes III data!</source>
<translation>Žádná data Heroes III!</translation>
<translation>Chybí data Heroes III!</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.cpp" line="401"/>
@@ -1354,15 +1397,15 @@ Prosíme vyberte složku s nainstalovanými daty Heroes III.</translation>
<location filename="../firstLaunch/firstlaunch_moc.cpp" line="469"/>
<source>Heroes III: HD Edition files are not supported by VCMI.
Please select directory with Heroes III: Complete Edition or Heroes III: Shadow of Death.</source>
<translation>Soubory Heroes III HD Edice nejsou podporována ve VCMI.
Prosíme vyberte složku s Heroes III: Complete Edition nebo Heroes III: Shadow of Death.</translation>
<translation>Soubory Heroes III HD Edice nejsou podporovány ve VCMI.
Prosím vyberte složku s Heroes III: Complete Edition nebo Heroes III: Shadow of Death.</translation>
</message>
<message>
<location filename="../firstLaunch/firstlaunch_moc.cpp" line="474"/>
<source>Unknown or unsupported Heroes III version found.
Please select directory with Heroes III: Complete Edition or Heroes III: Shadow of Death.</source>
<translation>Nalezena neznámá nebo nepodporovaná verze Heroes III.
Prosíme vyberte složku s Heroes III: Complete Edition nebo Heroes III: Shadow of Death.</translation>
Prosím vyberte složku s Heroes III: Complete Edition nebo Heroes III: Shadow of Death.</translation>
</message>
</context>
<context>
@@ -1379,17 +1422,18 @@ Prosíme vyberte složku s Heroes III: Complete Edition nebo Heroes III: Shadow
<location filename="../innoextract.cpp" line="42"/>
<source>Stream error while extracting files!
error reason: </source>
<translation type="unfinished"></translation>
<translation>Chyba při extrahování souborů!
Důvod chyby: </translation>
</message>
<message>
<location filename="../innoextract.cpp" line="55"/>
<source>Not a supported Inno Setup installer!</source>
<translation type="unfinished"></translation>
<translation>Nepodporovaný Inno Setup instalátor!</translation>
</message>
<message>
<location filename="../innoextract.cpp" line="58"/>
<source>VCMI was compiled without innoextract support, which is needed to extract exe files!</source>
<translation type="unfinished"></translation>
<translation>VCMI bylo zkompilováno bez podpory innoextract, která je potřebná pro extrahování EXE souborů!</translation>
</message>
</context>
<context>
@@ -1490,7 +1534,7 @@ error reason: </source>
<message>
<location filename="../mainwindow_moc.ui" line="20"/>
<source>VCMI Launcher</source>
<translation>Spouštěč VCMI</translation>
<translation>VCMI Launcher</translation>
</message>
<message>
<location filename="../mainwindow_moc.ui" line="99"/>

View File

@@ -626,267 +626,310 @@ Install successfully downloaded?</source>
<context>
<name>CSettingsView</name>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="682"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="98"/>
<source>Off</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
<source>Artificial Intelligence</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1072"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1038"/>
<source>Interface Scaling</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="924"/>
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
<source>Neutral AI in battles</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="738"/>
<location filename="../settingsView/csettingsview_moc.ui" line="996"/>
<source>Enemy AI in battles</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="821"/>
<location filename="../settingsView/csettingsview_moc.ui" line="751"/>
<source>Additional repository</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="931"/>
<location filename="../settingsView/csettingsview_moc.ui" line="597"/>
<source>Adventure Map Allies</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="490"/>
<location filename="../settingsView/csettingsview_moc.ui" line="866"/>
<source>Online Lobby port</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="331"/>
<location filename="../settingsView/csettingsview_moc.ui" line="666"/>
<source>Autocombat AI in battles</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="352"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1399"/>
<source>Sticks Sensitivity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="618"/>
<location filename="../settingsView/csettingsview_moc.ui" line="908"/>
<source>Automatic (Linear)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="798"/>
<location filename="../settingsView/csettingsview_moc.ui" line="274"/>
<source>Haptic Feedback</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="835"/>
<location filename="../settingsView/csettingsview_moc.ui" line="378"/>
<source>Software Cursor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1166"/>
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1389"/>
<source>Automatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1171"/>
<location filename="../settingsView/csettingsview_moc.ui" line="75"/>
<source>Mods Validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="88"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1176"/>
<location filename="../settingsView/csettingsview_moc.ui" line="93"/>
<source>xBRZ x2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1181"/>
<location filename="../settingsView/csettingsview_moc.ui" line="98"/>
<source>xBRZ x3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1186"/>
<location filename="../settingsView/csettingsview_moc.ui" line="103"/>
<source>xBRZ x4</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1194"/>
<location filename="../settingsView/csettingsview_moc.ui" line="316"/>
<source>Full</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="788"/>
<source>Use scalable fonts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="138"/>
<location filename="../settingsView/csettingsview_moc.ui" line="859"/>
<source>Online Lobby address</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1158"/>
<source>Upscaling Filter</source>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<source>Cursor Scaling</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="317"/>
<source>Use Relative Pointer Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="608"/>
<source>Nearest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="613"/>
<source>Linear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="750"/>
<source>Input - Touchscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="900"/>
<source>Adventure Map Enemies</source>
<location filename="../settingsView/csettingsview_moc.ui" line="1108"/>
<source>Scalable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<source>Miscellaneous</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1303"/>
<source>Font Scaling (experimental)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1367"/>
<source>Original</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1406"/>
<source>Upscaling Filter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1439"/>
<source>Basic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="656"/>
<source>Use Relative Pointer Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="898"/>
<source>Nearest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="903"/>
<source>Linear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="807"/>
<source>Input - Touchscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="774"/>
<source>Adventure Map Enemies</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="926"/>
<source>Show Tutorial again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1151"/>
<location filename="../settingsView/csettingsview_moc.ui" line="139"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="854"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1129"/>
<source>Network</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="536"/>
<location filename="../settingsView/csettingsview_moc.ui" line="741"/>
<source>Audio</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="842"/>
<location filename="../settingsView/csettingsview_moc.ui" line="477"/>
<source>Relative Pointer Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1137"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1045"/>
<source>Music Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="767"/>
<location filename="../settingsView/csettingsview_moc.ui" line="916"/>
<source>Ignore SSL errors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="943"/>
<location filename="../settingsView/csettingsview_moc.ui" line="703"/>
<source>Input - Mouse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="345"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1226"/>
<source>Long Touch Duration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
<location filename="../settingsView/csettingsview_moc.ui" line="461"/>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1037"/>
<location filename="../settingsView/csettingsview_moc.ui" line="873"/>
<source>Controller Click Tolerance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
<source>Touch Tap Tolerance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1020"/>
<location filename="../settingsView/csettingsview_moc.ui" line="337"/>
<source>Input - Controller</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1086"/>
<location filename="../settingsView/csettingsview_moc.ui" line="267"/>
<source>Sound Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="402"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1195"/>
<source>Windowed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="407"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1200"/>
<source>Borderless fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1205"/>
<source>Exclusive fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="777"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1003"/>
<source>Autosave limit (0 = off)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="893"/>
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
<source>Downscaling Filter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1030"/>
<location filename="../settingsView/csettingsview_moc.ui" line="781"/>
<source>Framerate Limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="760"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1413"/>
<source>Autosave prefix</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="828"/>
<location filename="../settingsView/csettingsview_moc.ui" line="989"/>
<source>Mouse Click Tolerance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="94"/>
<location filename="../settingsView/csettingsview_moc.ui" line="933"/>
<source>Sticks Acceleration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1008"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1354"/>
<source>empty = map name prefix</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="101"/>
<location filename="../settingsView/csettingsview_moc.ui" line="590"/>
<source>Refresh now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
<source>Default repository</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="295"/>
<location filename="../settingsView/csettingsview_moc.ui" line="795"/>
<source>Renderer</source>
<translation type="unfinished"></translation>
</message>
@@ -896,7 +939,7 @@ Install successfully downloaded?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="389"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1182"/>
<source>Select display mode for game
Windowed - game will run inside a window that covers part of your screen
@@ -907,92 +950,92 @@ Fullscreen Exclusive Mode - game will cover entirety of your screen and will use
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="131"/>
<location filename="../settingsView/csettingsview_moc.ui" line="200"/>
<source>Reserved screen area</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="269"/>
<location filename="../settingsView/csettingsview_moc.ui" line="429"/>
<source>Heroes III Translation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="646"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1233"/>
<source>Check on startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="324"/>
<location filename="../settingsView/csettingsview_moc.ui" line="982"/>
<source>Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="64"/>
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
<location filename="../settingsView/csettingsview_moc.ui" line="852"/>
<source>VCMI Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1420"/>
<source>Resolution</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="791"/>
<location filename="../settingsView/csettingsview_moc.ui" line="222"/>
<source>Autosave</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
<location filename="../settingsView/csettingsview_moc.ui" line="764"/>
<source>VSync</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="338"/>
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
<source>Display index</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="864"/>
<location filename="../settingsView/csettingsview_moc.ui" line="713"/>
<source>Network port</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="521"/>
<location filename="../settingsView/csettingsview_moc.ui" line="945"/>
<source>Video</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="452"/>
<location filename="../settingsView/csettingsview_moc.ui" line="526"/>
<source>Show intro</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="525"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="540"/>
<source>Active</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="530"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="545"/>
<source>Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="531"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="546"/>
<source>Enable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="536"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="551"/>
<source>Not Installed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="537"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="552"/>
<source>Install</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -639,12 +639,13 @@ Installer les téchargements réussis?</translation>
<context>
<name>CSettingsView</name>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="682"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="98"/>
<source>Off</source>
<translation>Désactivé</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
<source>Artificial Intelligence</source>
<translation>Intelligence Artificielle</translation>
</message>
@@ -654,187 +655,229 @@ Installer les téchargements réussis?</translation>
<translation>Activé</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="738"/>
<location filename="../settingsView/csettingsview_moc.ui" line="996"/>
<source>Enemy AI in battles</source>
<translation>IA ennemie dans les batailles</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
<source>Default repository</source>
<translation>Dépôt par défaut</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
<location filename="../settingsView/csettingsview_moc.ui" line="764"/>
<source>VSync</source>
<translation>Synchronisation verticalle</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="490"/>
<location filename="../settingsView/csettingsview_moc.ui" line="866"/>
<source>Online Lobby port</source>
<translation>Port de la salle d&apos;attente en ligne</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="331"/>
<location filename="../settingsView/csettingsview_moc.ui" line="666"/>
<source>Autocombat AI in battles</source>
<translation>IA de combat automatique dans les batailles</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="352"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1399"/>
<source>Sticks Sensitivity</source>
<translation>Sensibilité au batons</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="618"/>
<location filename="../settingsView/csettingsview_moc.ui" line="908"/>
<source>Automatic (Linear)</source>
<translation>Automatique (Linéaire)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="798"/>
<location filename="../settingsView/csettingsview_moc.ui" line="274"/>
<source>Haptic Feedback</source>
<translation>Retour Tactile</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="835"/>
<location filename="../settingsView/csettingsview_moc.ui" line="378"/>
<source>Software Cursor</source>
<translation>Curseur Logiciel</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1166"/>
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1389"/>
<source>Automatic</source>
<translation>Automatique</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1171"/>
<location filename="../settingsView/csettingsview_moc.ui" line="75"/>
<source>Mods Validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="88"/>
<source>None</source>
<translation>Aucun</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1176"/>
<location filename="../settingsView/csettingsview_moc.ui" line="93"/>
<source>xBRZ x2</source>
<translation>xBRZ x2</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1181"/>
<location filename="../settingsView/csettingsview_moc.ui" line="98"/>
<source>xBRZ x3</source>
<translation>xBRZ x3</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1186"/>
<location filename="../settingsView/csettingsview_moc.ui" line="103"/>
<source>xBRZ x4</source>
<translation>xBRZ x4</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1194"/>
<location filename="../settingsView/csettingsview_moc.ui" line="316"/>
<source>Full</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="788"/>
<source>Use scalable fonts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="138"/>
<location filename="../settingsView/csettingsview_moc.ui" line="859"/>
<source>Online Lobby address</source>
<translation>Adresse de la salle d&apos;attente en ligne</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1158"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<source>Cursor Scaling</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1108"/>
<source>Scalable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<source>Miscellaneous</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1303"/>
<source>Font Scaling (experimental)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1367"/>
<source>Original</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1406"/>
<source>Upscaling Filter</source>
<translation>Filtre d&apos;Agrandissement</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="317"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1439"/>
<source>Basic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="656"/>
<source>Use Relative Pointer Mode</source>
<translation>Utiliser le Mode de Pointeur Relatif</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="608"/>
<location filename="../settingsView/csettingsview_moc.ui" line="898"/>
<source>Nearest</source>
<translation>Le plus Proche</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="613"/>
<location filename="../settingsView/csettingsview_moc.ui" line="903"/>
<source>Linear</source>
<translation>Linéaire</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="750"/>
<location filename="../settingsView/csettingsview_moc.ui" line="807"/>
<source>Input - Touchscreen</source>
<translation>Entrée - Écran tactile</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="854"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1129"/>
<source>Network</source>
<translation>Réseau</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="893"/>
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
<source>Downscaling Filter</source>
<translation>Filtre de Rétrécissement</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<location filename="../settingsView/csettingsview_moc.ui" line="926"/>
<source>Show Tutorial again</source>
<translation>Remontrer le Didacticiel</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1151"/>
<location filename="../settingsView/csettingsview_moc.ui" line="139"/>
<source>Reset</source>
<translation>Réinitialiser</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="536"/>
<location filename="../settingsView/csettingsview_moc.ui" line="741"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="842"/>
<location filename="../settingsView/csettingsview_moc.ui" line="477"/>
<source>Relative Pointer Speed</source>
<translation>Vitesse de Pointeur Relatif</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1137"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1045"/>
<source>Music Volume</source>
<translation>Volume de la Musique</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="767"/>
<location filename="../settingsView/csettingsview_moc.ui" line="916"/>
<source>Ignore SSL errors</source>
<translation>Ignorer les erreurs SSL</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="943"/>
<location filename="../settingsView/csettingsview_moc.ui" line="703"/>
<source>Input - Mouse</source>
<translation>Entrée - Sourie</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="345"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1226"/>
<source>Long Touch Duration</source>
<translation>Durée de Touche Prolongée</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
<location filename="../settingsView/csettingsview_moc.ui" line="461"/>
<source>%</source>
<translation>%</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1037"/>
<location filename="../settingsView/csettingsview_moc.ui" line="873"/>
<source>Controller Click Tolerance</source>
<translation>Tolérance au Clic de Contrôleur</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
<source>Touch Tap Tolerance</source>
<translation>Tolérance à la Frappe de Touche</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1020"/>
<location filename="../settingsView/csettingsview_moc.ui" line="337"/>
<source>Input - Controller</source>
<translation>Entrée - Contrôleur</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1086"/>
<location filename="../settingsView/csettingsview_moc.ui" line="267"/>
<source>Sound Volume</source>
<translation>Volume du Son</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="389"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1182"/>
<source>Select display mode for game
Windowed - game will run inside a window that covers part of your screen
@@ -851,167 +894,167 @@ Mode fenêtré sans bord - le jeu s&quot;exécutera dans une fenêtre qui couvre
Mode exclusif plein écran - le jeu couvrira l&quot;intégralité de votre écran et utilisera la résolution sélectionnée.</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="402"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1195"/>
<source>Windowed</source>
<translation>Fenêtré</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="407"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1200"/>
<source>Borderless fullscreen</source>
<translation>Fenêtré sans bord</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1205"/>
<source>Exclusive fullscreen</source>
<translation>Plein écran exclusif</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="131"/>
<location filename="../settingsView/csettingsview_moc.ui" line="200"/>
<source>Reserved screen area</source>
<translation>Zone d&apos;écran réservée</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="924"/>
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
<source>Neutral AI in battles</source>
<translation>IA neutre dans les batailles</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="777"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1003"/>
<source>Autosave limit (0 = off)</source>
<translation>Limite de sauvegarde auto (0 = désactivé)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="900"/>
<location filename="../settingsView/csettingsview_moc.ui" line="774"/>
<source>Adventure Map Enemies</source>
<translation>Ennemis de la carte d&quot;aventure</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="760"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1413"/>
<source>Autosave prefix</source>
<translation>Préfix de sauvegarde auto.</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1008"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1354"/>
<source>empty = map name prefix</source>
<translation>vide = prefix du nom de carte</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1072"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1038"/>
<source>Interface Scaling</source>
<translation>Mise à l&quot;échelle de l&quot;interface</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1030"/>
<location filename="../settingsView/csettingsview_moc.ui" line="781"/>
<source>Framerate Limit</source>
<translation>Limite de fréquence d&quot;images</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="295"/>
<location filename="../settingsView/csettingsview_moc.ui" line="795"/>
<source>Renderer</source>
<translation>Moteur de rendu</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="269"/>
<location filename="../settingsView/csettingsview_moc.ui" line="429"/>
<source>Heroes III Translation</source>
<translation>Traduction de Heroes III</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="931"/>
<location filename="../settingsView/csettingsview_moc.ui" line="597"/>
<source>Adventure Map Allies</source>
<translation>Alliés de la carte d&quot;aventure</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="821"/>
<location filename="../settingsView/csettingsview_moc.ui" line="751"/>
<source>Additional repository</source>
<translation>Dépôt supplémentaire</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="646"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1233"/>
<source>Check on startup</source>
<translation>Vérifier au démarrage</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="828"/>
<location filename="../settingsView/csettingsview_moc.ui" line="989"/>
<source>Mouse Click Tolerance</source>
<translation>Tolérance au Clic de Sourie</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="94"/>
<location filename="../settingsView/csettingsview_moc.ui" line="933"/>
<source>Sticks Acceleration</source>
<translation>Accelération de Bâton</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="101"/>
<location filename="../settingsView/csettingsview_moc.ui" line="590"/>
<source>Refresh now</source>
<translation>Actualiser maintenant</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="324"/>
<location filename="../settingsView/csettingsview_moc.ui" line="982"/>
<source>Fullscreen</source>
<translation>Plein écran</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="64"/>
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
<source>General</source>
<translation>Général</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
<location filename="../settingsView/csettingsview_moc.ui" line="852"/>
<source>VCMI Language</source>
<translation>Langue de VCMI</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1420"/>
<source>Resolution</source>
<translation>Résolution</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="791"/>
<location filename="../settingsView/csettingsview_moc.ui" line="222"/>
<source>Autosave</source>
<translation>Sauvegarde automatique</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="338"/>
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
<source>Display index</source>
<translation>Index d&apos;affichage</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="864"/>
<location filename="../settingsView/csettingsview_moc.ui" line="713"/>
<source>Network port</source>
<translation>Port de réseau</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="521"/>
<location filename="../settingsView/csettingsview_moc.ui" line="945"/>
<source>Video</source>
<translation>Vidéo</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="452"/>
<location filename="../settingsView/csettingsview_moc.ui" line="526"/>
<source>Show intro</source>
<translation>Montrer l&apos;intro</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="525"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="540"/>
<source>Active</source>
<translation>Actif</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="530"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="545"/>
<source>Disabled</source>
<translation>Désactivé</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="531"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="546"/>
<source>Enable</source>
<translation>Activé</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="536"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="551"/>
<source>Not Installed</source>
<translation>Pas Installé</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="537"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="552"/>
<source>Install</source>
<translation>Installer</translation>
</message>

View File

@@ -634,267 +634,310 @@ Installation erfolgreich heruntergeladen?</translation>
<context>
<name>CSettingsView</name>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="682"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="98"/>
<source>Off</source>
<translation>Aus</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
<source>Artificial Intelligence</source>
<translation>Künstliche Intelligenz</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1072"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1038"/>
<source>Interface Scaling</source>
<translation>Skalierung der Benutzeroberfläche</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="924"/>
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
<source>Neutral AI in battles</source>
<translation>Neutrale KI in Kämpfen</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="738"/>
<location filename="../settingsView/csettingsview_moc.ui" line="996"/>
<source>Enemy AI in battles</source>
<translation>Gegnerische KI in Kämpfen</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="821"/>
<location filename="../settingsView/csettingsview_moc.ui" line="751"/>
<source>Additional repository</source>
<translation>Zusätzliches Repository</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="893"/>
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
<source>Downscaling Filter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="931"/>
<location filename="../settingsView/csettingsview_moc.ui" line="597"/>
<source>Adventure Map Allies</source>
<translation>Abenteuerkarte Verbündete</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="490"/>
<location filename="../settingsView/csettingsview_moc.ui" line="866"/>
<source>Online Lobby port</source>
<translation>Online-Lobby-Port</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="331"/>
<location filename="../settingsView/csettingsview_moc.ui" line="666"/>
<source>Autocombat AI in battles</source>
<translation>Autokampf-KI in Kämpfen</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="352"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1399"/>
<source>Sticks Sensitivity</source>
<translation>Sticks Empfindlichkeit</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="618"/>
<location filename="../settingsView/csettingsview_moc.ui" line="908"/>
<source>Automatic (Linear)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="798"/>
<location filename="../settingsView/csettingsview_moc.ui" line="274"/>
<source>Haptic Feedback</source>
<translation>Haptisches Feedback</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="835"/>
<location filename="../settingsView/csettingsview_moc.ui" line="378"/>
<source>Software Cursor</source>
<translation>Software-Cursor</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1166"/>
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1389"/>
<source>Automatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1171"/>
<location filename="../settingsView/csettingsview_moc.ui" line="75"/>
<source>Mods Validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="88"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1176"/>
<location filename="../settingsView/csettingsview_moc.ui" line="93"/>
<source>xBRZ x2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1181"/>
<location filename="../settingsView/csettingsview_moc.ui" line="98"/>
<source>xBRZ x3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1186"/>
<location filename="../settingsView/csettingsview_moc.ui" line="103"/>
<source>xBRZ x4</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1194"/>
<location filename="../settingsView/csettingsview_moc.ui" line="316"/>
<source>Full</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="788"/>
<source>Use scalable fonts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="138"/>
<location filename="../settingsView/csettingsview_moc.ui" line="859"/>
<source>Online Lobby address</source>
<translation>Adresse der Online-Lobby</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1158"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<source>Cursor Scaling</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1108"/>
<source>Scalable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<source>Miscellaneous</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1303"/>
<source>Font Scaling (experimental)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1367"/>
<source>Original</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1406"/>
<source>Upscaling Filter</source>
<translation>Hochskalierungsfilter</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="317"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1439"/>
<source>Basic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="656"/>
<source>Use Relative Pointer Mode</source>
<translation>Relativen Zeigermodus verwenden</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="608"/>
<location filename="../settingsView/csettingsview_moc.ui" line="898"/>
<source>Nearest</source>
<translation>Nearest</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="613"/>
<location filename="../settingsView/csettingsview_moc.ui" line="903"/>
<source>Linear</source>
<translation>Linear</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="750"/>
<location filename="../settingsView/csettingsview_moc.ui" line="807"/>
<source>Input - Touchscreen</source>
<translation>Eingabe - Touchscreen</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="900"/>
<location filename="../settingsView/csettingsview_moc.ui" line="774"/>
<source>Adventure Map Enemies</source>
<translation>Abenteuerkarte Feinde</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<location filename="../settingsView/csettingsview_moc.ui" line="926"/>
<source>Show Tutorial again</source>
<translation>Zeige Tutorial erneut</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1151"/>
<location filename="../settingsView/csettingsview_moc.ui" line="139"/>
<source>Reset</source>
<translation>Zurücksetzen</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="854"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1129"/>
<source>Network</source>
<translation>Netzwerk</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="536"/>
<location filename="../settingsView/csettingsview_moc.ui" line="741"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="842"/>
<location filename="../settingsView/csettingsview_moc.ui" line="477"/>
<source>Relative Pointer Speed</source>
<translation>Relative Zeigergeschwindigkeit</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1137"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1045"/>
<source>Music Volume</source>
<translation>Musik Lautstärke</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="767"/>
<location filename="../settingsView/csettingsview_moc.ui" line="916"/>
<source>Ignore SSL errors</source>
<translation>SSL-Fehler ignorieren</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="943"/>
<location filename="../settingsView/csettingsview_moc.ui" line="703"/>
<source>Input - Mouse</source>
<translation>Eingabe - Maus</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="345"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1226"/>
<source>Long Touch Duration</source>
<translation>Dauer der Berührung für &quot;lange Berührung&quot;</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
<location filename="../settingsView/csettingsview_moc.ui" line="461"/>
<source>%</source>
<translation>%</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1037"/>
<location filename="../settingsView/csettingsview_moc.ui" line="873"/>
<source>Controller Click Tolerance</source>
<translation>Toleranz bei Controller Klick</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
<source>Touch Tap Tolerance</source>
<translation>Toleranz bei Berührungen</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1020"/>
<location filename="../settingsView/csettingsview_moc.ui" line="337"/>
<source>Input - Controller</source>
<translation>Eingabe - Controller</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1086"/>
<location filename="../settingsView/csettingsview_moc.ui" line="267"/>
<source>Sound Volume</source>
<translation>Sound-Lautstärke</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="402"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1195"/>
<source>Windowed</source>
<translation>Fenstermodus</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="407"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1200"/>
<source>Borderless fullscreen</source>
<translation>Randloser Vollbildmodus</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1205"/>
<source>Exclusive fullscreen</source>
<translation>Exklusiver Vollbildmodus</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="777"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1003"/>
<source>Autosave limit (0 = off)</source>
<translation>Limit für Autospeicherung (0 = aus)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1030"/>
<location filename="../settingsView/csettingsview_moc.ui" line="781"/>
<source>Framerate Limit</source>
<translation>Limit der Bildrate</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="760"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1413"/>
<source>Autosave prefix</source>
<translation>Präfix für Autospeicherung</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="828"/>
<location filename="../settingsView/csettingsview_moc.ui" line="989"/>
<source>Mouse Click Tolerance</source>
<translation>Toleranz bei Mausklick</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="94"/>
<location filename="../settingsView/csettingsview_moc.ui" line="933"/>
<source>Sticks Acceleration</source>
<translation>Sticks Beschleunigung</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1008"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1354"/>
<source>empty = map name prefix</source>
<translation>leer = Kartenname als Präfix</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="101"/>
<location filename="../settingsView/csettingsview_moc.ui" line="590"/>
<source>Refresh now</source>
<translation>Jetzt aktualisieren</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
<source>Default repository</source>
<translation>Standard Repository</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="295"/>
<location filename="../settingsView/csettingsview_moc.ui" line="795"/>
<source>Renderer</source>
<translation>Renderer</translation>
</message>
@@ -904,7 +947,7 @@ Installation erfolgreich heruntergeladen?</translation>
<translation>An</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="389"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1182"/>
<source>Select display mode for game
Windowed - game will run inside a window that covers part of your screen
@@ -921,92 +964,92 @@ Randloser Fenstermodus - das Spiel läuft in einem Fenster, das den gesamten Bil
Exklusiver Vollbildmodus - das Spiel bedeckt den gesamten Bildschirm und verwendet die gewählte Auflösung.</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="131"/>
<location filename="../settingsView/csettingsview_moc.ui" line="200"/>
<source>Reserved screen area</source>
<translation>Reservierter Bildschirmbereich</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="269"/>
<location filename="../settingsView/csettingsview_moc.ui" line="429"/>
<source>Heroes III Translation</source>
<translation>Heroes III Übersetzung</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="646"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1233"/>
<source>Check on startup</source>
<translation>Beim Start prüfen</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="324"/>
<location filename="../settingsView/csettingsview_moc.ui" line="982"/>
<source>Fullscreen</source>
<translation>Vollbild</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="64"/>
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
<source>General</source>
<translation>Allgemein</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
<location filename="../settingsView/csettingsview_moc.ui" line="852"/>
<source>VCMI Language</source>
<translation>VCMI-Sprache</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1420"/>
<source>Resolution</source>
<translation>Auflösung</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="791"/>
<location filename="../settingsView/csettingsview_moc.ui" line="222"/>
<source>Autosave</source>
<translation>Autospeichern</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
<location filename="../settingsView/csettingsview_moc.ui" line="764"/>
<source>VSync</source>
<translation>VSync</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="338"/>
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
<source>Display index</source>
<translation>Anzeige-Index</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="864"/>
<location filename="../settingsView/csettingsview_moc.ui" line="713"/>
<source>Network port</source>
<translation>Netzwerk-Port</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="521"/>
<location filename="../settingsView/csettingsview_moc.ui" line="945"/>
<source>Video</source>
<translation>Video</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="452"/>
<location filename="../settingsView/csettingsview_moc.ui" line="526"/>
<source>Show intro</source>
<translation>Intro anzeigen</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="525"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="540"/>
<source>Active</source>
<translation>Aktiv</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="530"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="545"/>
<source>Disabled</source>
<translation>Deaktiviert</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="531"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="546"/>
<source>Enable</source>
<translation>Aktivieren</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="536"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="551"/>
<source>Not Installed</source>
<translation>Nicht installiert</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="537"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="552"/>
<source>Install</source>
<translation>Installieren</translation>
</message>

View File

@@ -634,267 +634,310 @@ Zainstalować pomyślnie pobrane?</translation>
<context>
<name>CSettingsView</name>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="682"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="98"/>
<source>Off</source>
<translation>Wyłączony</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
<source>Artificial Intelligence</source>
<translation>Sztuczna Inteligencja</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1072"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1038"/>
<source>Interface Scaling</source>
<translation>Skala interfejsu</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="924"/>
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
<source>Neutral AI in battles</source>
<translation>AI bitewne jednostek neutralnych</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="738"/>
<location filename="../settingsView/csettingsview_moc.ui" line="996"/>
<source>Enemy AI in battles</source>
<translation>AI bitewne wrogów</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="821"/>
<location filename="../settingsView/csettingsview_moc.ui" line="751"/>
<source>Additional repository</source>
<translation>Dodatkowe repozytorium</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="893"/>
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
<source>Downscaling Filter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="931"/>
<location filename="../settingsView/csettingsview_moc.ui" line="597"/>
<source>Adventure Map Allies</source>
<translation>AI sojuszników mapy przygody</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="490"/>
<location filename="../settingsView/csettingsview_moc.ui" line="866"/>
<source>Online Lobby port</source>
<translation>Port lobby online</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="331"/>
<location filename="../settingsView/csettingsview_moc.ui" line="666"/>
<source>Autocombat AI in battles</source>
<translation>AI szybkiej walki</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="352"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1399"/>
<source>Sticks Sensitivity</source>
<translation>Czułość gałek</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="618"/>
<location filename="../settingsView/csettingsview_moc.ui" line="908"/>
<source>Automatic (Linear)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="798"/>
<location filename="../settingsView/csettingsview_moc.ui" line="274"/>
<source>Haptic Feedback</source>
<translation>Wibracje</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="835"/>
<location filename="../settingsView/csettingsview_moc.ui" line="378"/>
<source>Software Cursor</source>
<translation>Kursor programowy</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1166"/>
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1389"/>
<source>Automatic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1171"/>
<location filename="../settingsView/csettingsview_moc.ui" line="75"/>
<source>Mods Validation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="88"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1176"/>
<location filename="../settingsView/csettingsview_moc.ui" line="93"/>
<source>xBRZ x2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1181"/>
<location filename="../settingsView/csettingsview_moc.ui" line="98"/>
<source>xBRZ x3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1186"/>
<location filename="../settingsView/csettingsview_moc.ui" line="103"/>
<source>xBRZ x4</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1194"/>
<location filename="../settingsView/csettingsview_moc.ui" line="316"/>
<source>Full</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="788"/>
<source>Use scalable fonts</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="138"/>
<location filename="../settingsView/csettingsview_moc.ui" line="859"/>
<source>Online Lobby address</source>
<translation>Adres lobby online</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1158"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<source>Cursor Scaling</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1108"/>
<source>Scalable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<source>Miscellaneous</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1303"/>
<source>Font Scaling (experimental)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1367"/>
<source>Original</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1406"/>
<source>Upscaling Filter</source>
<translation>Filtr wyostrzający</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="317"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1439"/>
<source>Basic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="656"/>
<source>Use Relative Pointer Mode</source>
<translation>Użyj relatywnego trybu kursora</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="608"/>
<location filename="../settingsView/csettingsview_moc.ui" line="898"/>
<source>Nearest</source>
<translation>Najbliższych</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="613"/>
<location filename="../settingsView/csettingsview_moc.ui" line="903"/>
<source>Linear</source>
<translation>Liniowy</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="750"/>
<location filename="../settingsView/csettingsview_moc.ui" line="807"/>
<source>Input - Touchscreen</source>
<translation>Sterowanie - Ekran dotykowy</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="900"/>
<location filename="../settingsView/csettingsview_moc.ui" line="774"/>
<source>Adventure Map Enemies</source>
<translation>AI wrogów mapy przygody</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<location filename="../settingsView/csettingsview_moc.ui" line="926"/>
<source>Show Tutorial again</source>
<translation>Pokaż ponownie samouczek</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1151"/>
<location filename="../settingsView/csettingsview_moc.ui" line="139"/>
<source>Reset</source>
<translation>Zresetuj</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="854"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1129"/>
<source>Network</source>
<translation>Sieć</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="536"/>
<location filename="../settingsView/csettingsview_moc.ui" line="741"/>
<source>Audio</source>
<translation>Dźwięk i muzyka</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="842"/>
<location filename="../settingsView/csettingsview_moc.ui" line="477"/>
<source>Relative Pointer Speed</source>
<translation>Prędkość kursora w trybie relatywnym</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1137"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1045"/>
<source>Music Volume</source>
<translation>Głośność muzyki</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="767"/>
<location filename="../settingsView/csettingsview_moc.ui" line="916"/>
<source>Ignore SSL errors</source>
<translation>Ignoruj błędy SSL</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="943"/>
<location filename="../settingsView/csettingsview_moc.ui" line="703"/>
<source>Input - Mouse</source>
<translation>Sterowanie - Mysz</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="345"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1226"/>
<source>Long Touch Duration</source>
<translation>Czas do długiego dotyku</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
<location filename="../settingsView/csettingsview_moc.ui" line="461"/>
<source>%</source>
<translation>%</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1037"/>
<location filename="../settingsView/csettingsview_moc.ui" line="873"/>
<source>Controller Click Tolerance</source>
<translation>Tolerancja na kliknięcia poza elementami (kontroler)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
<source>Touch Tap Tolerance</source>
<translation>Tolerancja na nietrafianie dotykiem w elementy</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1020"/>
<location filename="../settingsView/csettingsview_moc.ui" line="337"/>
<source>Input - Controller</source>
<translation>Sterowanie - Kontroler</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1086"/>
<location filename="../settingsView/csettingsview_moc.ui" line="267"/>
<source>Sound Volume</source>
<translation>Głośność dźwięku</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="402"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1195"/>
<source>Windowed</source>
<translation>Okno</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="407"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1200"/>
<source>Borderless fullscreen</source>
<translation>Pełny ekran (tryb okna)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1205"/>
<source>Exclusive fullscreen</source>
<translation>Pełny ekran klasyczny</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="777"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1003"/>
<source>Autosave limit (0 = off)</source>
<translation>Limit autozapisów (0 = brak)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1030"/>
<location filename="../settingsView/csettingsview_moc.ui" line="781"/>
<source>Framerate Limit</source>
<translation>Limit FPS</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="760"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1413"/>
<source>Autosave prefix</source>
<translation>Przedrostek autozapisu</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="828"/>
<location filename="../settingsView/csettingsview_moc.ui" line="989"/>
<source>Mouse Click Tolerance</source>
<translation>Tolerancja na kliknięcia poza elementami (mysz)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="94"/>
<location filename="../settingsView/csettingsview_moc.ui" line="933"/>
<source>Sticks Acceleration</source>
<translation>Przyspieszenie gałek</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1008"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1354"/>
<source>empty = map name prefix</source>
<translation>puste = przedrostek z nazwy mapy</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="101"/>
<location filename="../settingsView/csettingsview_moc.ui" line="590"/>
<source>Refresh now</source>
<translation>Odśwież</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
<source>Default repository</source>
<translation>Domyślne repozytorium</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="295"/>
<location filename="../settingsView/csettingsview_moc.ui" line="795"/>
<source>Renderer</source>
<translation>Renderer</translation>
</message>
@@ -904,7 +947,7 @@ Zainstalować pomyślnie pobrane?</translation>
<translation>Włączony</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="389"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1182"/>
<source>Select display mode for game
Windowed - game will run inside a window that covers part of your screen
@@ -921,92 +964,92 @@ Pełny ekran w trybie okna - gra uruchomi się w oknie przysłaniającym cały e
Pełny ekran klasyczny - gra przysłoni cały ekran uruchamiając się w wybranej przez ciebie rozdzielczości ekranu.</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="131"/>
<location filename="../settingsView/csettingsview_moc.ui" line="200"/>
<source>Reserved screen area</source>
<translation>Zarezerwowany obszar ekranu</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="269"/>
<location filename="../settingsView/csettingsview_moc.ui" line="429"/>
<source>Heroes III Translation</source>
<translation>Tłumaczenie Heroes III</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="646"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1233"/>
<source>Check on startup</source>
<translation>Sprawdzaj przy uruchomieniu</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="324"/>
<location filename="../settingsView/csettingsview_moc.ui" line="982"/>
<source>Fullscreen</source>
<translation>Pełny ekran</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="64"/>
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
<source>General</source>
<translation>Ogólne</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
<location filename="../settingsView/csettingsview_moc.ui" line="852"/>
<source>VCMI Language</source>
<translation>Język VCMI</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1420"/>
<source>Resolution</source>
<translation>Rozdzielczość</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="791"/>
<location filename="../settingsView/csettingsview_moc.ui" line="222"/>
<source>Autosave</source>
<translation>Autozapis</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
<location filename="../settingsView/csettingsview_moc.ui" line="764"/>
<source>VSync</source>
<translation>Synchronizacja pionowa (VSync)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="338"/>
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
<source>Display index</source>
<translation>Numer wyświetlacza</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="864"/>
<location filename="../settingsView/csettingsview_moc.ui" line="713"/>
<source>Network port</source>
<translation>Port sieciowy</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="521"/>
<location filename="../settingsView/csettingsview_moc.ui" line="945"/>
<source>Video</source>
<translation>Obraz</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="452"/>
<location filename="../settingsView/csettingsview_moc.ui" line="526"/>
<source>Show intro</source>
<translation>Pokaż intro</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="525"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="540"/>
<source>Active</source>
<translation>Aktywny</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="530"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="545"/>
<source>Disabled</source>
<translation>Wyłączone</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="531"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="546"/>
<source>Enable</source>
<translation>Włącz</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="536"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="551"/>
<source>Not Installed</source>
<translation>Nie zainstalowano</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="537"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="552"/>
<source>Install</source>
<translation>Zainstaluj</translation>
</message>

View File

@@ -634,267 +634,310 @@ O download da instalação foi bem-sucedido?</translation>
<context>
<name>CSettingsView</name>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="682"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="98"/>
<source>Off</source>
<translation>Desativado</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="307"/>
<location filename="../settingsView/csettingsview_moc.ui" line="441"/>
<source>Artificial Intelligence</source>
<translation>Inteligência artificial</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1072"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1038"/>
<source>Interface Scaling</source>
<translation>Escala da interface</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="924"/>
<location filename="../settingsView/csettingsview_moc.ui" line="604"/>
<source>Neutral AI in battles</source>
<translation>IA neutra nas batalhas</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="738"/>
<location filename="../settingsView/csettingsview_moc.ui" line="996"/>
<source>Enemy AI in battles</source>
<translation>IA inimiga em batalhas</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="821"/>
<location filename="../settingsView/csettingsview_moc.ui" line="751"/>
<source>Additional repository</source>
<translation>Repositório adicional</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="931"/>
<location filename="../settingsView/csettingsview_moc.ui" line="597"/>
<source>Adventure Map Allies</source>
<translation>Aliados do mapa de aventura</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="490"/>
<location filename="../settingsView/csettingsview_moc.ui" line="866"/>
<source>Online Lobby port</source>
<translation>Porta da sala de espera on-line</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="331"/>
<location filename="../settingsView/csettingsview_moc.ui" line="666"/>
<source>Autocombat AI in battles</source>
<translation>IA de combate automático nas batalhas</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="352"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1399"/>
<source>Sticks Sensitivity</source>
<translation>Sensibilidade dos analógicos</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="618"/>
<location filename="../settingsView/csettingsview_moc.ui" line="908"/>
<source>Automatic (Linear)</source>
<translation>Automático (linear)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="798"/>
<location filename="../settingsView/csettingsview_moc.ui" line="274"/>
<source>Haptic Feedback</source>
<translation>Resposta tátil</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="835"/>
<location filename="../settingsView/csettingsview_moc.ui" line="378"/>
<source>Software Cursor</source>
<translation>Cursor por software</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1166"/>
<location filename="../settingsView/csettingsview_moc.ui" line="83"/>
<location filename="../settingsView/csettingsview_moc.ui" line="539"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1389"/>
<source>Automatic</source>
<translation>Automático</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1171"/>
<location filename="../settingsView/csettingsview_moc.ui" line="75"/>
<source>Mods Validation</source>
<translation>Validação de mods</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="88"/>
<source>None</source>
<translation>Nenhum</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1176"/>
<location filename="../settingsView/csettingsview_moc.ui" line="93"/>
<source>xBRZ x2</source>
<translation>xBRZ x2</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1181"/>
<location filename="../settingsView/csettingsview_moc.ui" line="98"/>
<source>xBRZ x3</source>
<translation>xBRZ x3</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1186"/>
<location filename="../settingsView/csettingsview_moc.ui" line="103"/>
<source>xBRZ x4</source>
<translation>xBRZ x4</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1194"/>
<source>Use scalable fonts</source>
<translation>Usar fontes escaláveis</translation>
<location filename="../settingsView/csettingsview_moc.ui" line="316"/>
<source>Full</source>
<translation>Completo</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="138"/>
<location filename="../settingsView/csettingsview_moc.ui" line="788"/>
<source>Use scalable fonts</source>
<translation>Usar fontes escaláveis</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="859"/>
<source>Online Lobby address</source>
<translation>Endereço da sala de espera on-line</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1158"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<source>Cursor Scaling</source>
<translation>Escala do cursor</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1108"/>
<source>Scalable</source>
<translation>Escalável</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<source>Miscellaneous</source>
<translation>Diversos</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1303"/>
<source>Font Scaling (experimental)</source>
<translation>Escala da fonte (experimental)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1367"/>
<source>Original</source>
<translation>Original</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1406"/>
<source>Upscaling Filter</source>
<translation>Filtro de aumento de escala</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="317"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1439"/>
<source>Basic</source>
<translation>Básico</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="656"/>
<source>Use Relative Pointer Mode</source>
<translation>Usar modo de ponteiro relativo</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="608"/>
<location filename="../settingsView/csettingsview_moc.ui" line="898"/>
<source>Nearest</source>
<translation>Mais próximo</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="613"/>
<location filename="../settingsView/csettingsview_moc.ui" line="903"/>
<source>Linear</source>
<translation>Linear</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="750"/>
<location filename="../settingsView/csettingsview_moc.ui" line="807"/>
<source>Input - Touchscreen</source>
<translation>Entrada - tela de toque</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="900"/>
<location filename="../settingsView/csettingsview_moc.ui" line="774"/>
<source>Adventure Map Enemies</source>
<translation>Inimigos do mapa de aventura</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1144"/>
<location filename="../settingsView/csettingsview_moc.ui" line="926"/>
<source>Show Tutorial again</source>
<translation>Mostrar o tutorial novamente</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1151"/>
<location filename="../settingsView/csettingsview_moc.ui" line="139"/>
<source>Reset</source>
<translation>Redefinir</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="854"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1129"/>
<source>Network</source>
<translation>Linear</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="536"/>
<location filename="../settingsView/csettingsview_moc.ui" line="741"/>
<source>Audio</source>
<translation>Áudio</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="842"/>
<location filename="../settingsView/csettingsview_moc.ui" line="477"/>
<source>Relative Pointer Speed</source>
<translation>Velocidade do ponteiro relativo</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1137"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1045"/>
<source>Music Volume</source>
<translation>Volume da música</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="767"/>
<location filename="../settingsView/csettingsview_moc.ui" line="916"/>
<source>Ignore SSL errors</source>
<translation>Ignorar erros SSL</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="943"/>
<location filename="../settingsView/csettingsview_moc.ui" line="703"/>
<source>Input - Mouse</source>
<translation>Entrada - mouse</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="345"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1226"/>
<source>Long Touch Duration</source>
<translation>Duração do toque longo</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="115"/>
<location filename="../settingsView/csettingsview_moc.ui" line="461"/>
<source>%</source>
<translation>%</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1037"/>
<location filename="../settingsView/csettingsview_moc.ui" line="873"/>
<source>Controller Click Tolerance</source>
<translation>Tolerância de clique do controle</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="359"/>
<location filename="../settingsView/csettingsview_moc.ui" line="281"/>
<source>Touch Tap Tolerance</source>
<translation>Tolerância de toque tátil</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1020"/>
<location filename="../settingsView/csettingsview_moc.ui" line="337"/>
<source>Input - Controller</source>
<translation>Entrada - controle</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1086"/>
<location filename="../settingsView/csettingsview_moc.ui" line="267"/>
<source>Sound Volume</source>
<translation>Volume do som</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="402"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1195"/>
<source>Windowed</source>
<translation>Janela</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="407"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1200"/>
<source>Borderless fullscreen</source>
<translation>Tela cheia sem bordas</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="412"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1205"/>
<source>Exclusive fullscreen</source>
<translation>Tela cheia exclusiva</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="777"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1003"/>
<source>Autosave limit (0 = off)</source>
<translation>Limite de salvamento automático (0 = sem limite)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="893"/>
<location filename="../settingsView/csettingsview_moc.ui" line="484"/>
<source>Downscaling Filter</source>
<translation>Filtro de redução de escala</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1030"/>
<location filename="../settingsView/csettingsview_moc.ui" line="781"/>
<source>Framerate Limit</source>
<translation>Limite de taxa de quadros</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="760"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1413"/>
<source>Autosave prefix</source>
<translation>Prefixo do salvamento automático</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="828"/>
<location filename="../settingsView/csettingsview_moc.ui" line="989"/>
<source>Mouse Click Tolerance</source>
<translation>Tolerância de clique do mouse</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="94"/>
<location filename="../settingsView/csettingsview_moc.ui" line="933"/>
<source>Sticks Acceleration</source>
<translation>Aceleração dos analógicos</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1008"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1354"/>
<source>empty = map name prefix</source>
<translation>vazio = prefixo do mapa</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="101"/>
<location filename="../settingsView/csettingsview_moc.ui" line="590"/>
<source>Refresh now</source>
<translation>Atualizar</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="249"/>
<location filename="../settingsView/csettingsview_moc.ui" line="451"/>
<source>Default repository</source>
<translation>Repositório padrão</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="295"/>
<location filename="../settingsView/csettingsview_moc.ui" line="795"/>
<source>Renderer</source>
<translation>Renderizador</translation>
</message>
@@ -904,7 +947,7 @@ O download da instalação foi bem-sucedido?</translation>
<translation>Ativado</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="389"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1182"/>
<source>Select display mode for game
Windowed - game will run inside a window that covers part of your screen
@@ -921,92 +964,92 @@ Modo de janela sem bordas - o jogo será executado em uma janela que cobre toda
Modo de tela cheia exclusivo - o jogo cobrirá toda a sua tela e usará a resolução selecionada.</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="131"/>
<location filename="../settingsView/csettingsview_moc.ui" line="200"/>
<source>Reserved screen area</source>
<translation>Área de tela reservada</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="269"/>
<location filename="../settingsView/csettingsview_moc.ui" line="429"/>
<source>Heroes III Translation</source>
<translation>Tradução do Heroes III</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="646"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1233"/>
<source>Check on startup</source>
<translation>Verificar na inicialização</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="324"/>
<location filename="../settingsView/csettingsview_moc.ui" line="982"/>
<source>Fullscreen</source>
<translation>Tela cheia</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="64"/>
<location filename="../settingsView/csettingsview_moc.ui" line="212"/>
<source>General</source>
<translation>Geral</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="210"/>
<location filename="../settingsView/csettingsview_moc.ui" line="852"/>
<source>VCMI Language</source>
<translation>Idioma do VCMI</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="1079"/>
<location filename="../settingsView/csettingsview_moc.ui" line="1420"/>
<source>Resolution</source>
<translation>Resolução</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="791"/>
<location filename="../settingsView/csettingsview_moc.ui" line="222"/>
<source>Autosave</source>
<translation>Salvamento automático</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="593"/>
<location filename="../settingsView/csettingsview_moc.ui" line="764"/>
<source>VSync</source>
<translation>VSync</translation>
<translation>Sincronização vertical (VSync)</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="338"/>
<location filename="../settingsView/csettingsview_moc.ui" line="649"/>
<source>Display index</source>
<translation>Índice de exibição</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="864"/>
<location filename="../settingsView/csettingsview_moc.ui" line="713"/>
<source>Network port</source>
<translation>Porta de rede</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="521"/>
<location filename="../settingsView/csettingsview_moc.ui" line="945"/>
<source>Video</source>
<translation>Vídeo</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.ui" line="452"/>
<location filename="../settingsView/csettingsview_moc.ui" line="526"/>
<source>Show intro</source>
<translation>Mostrar introdução</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="525"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="540"/>
<source>Active</source>
<translation>Ativo</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="530"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="545"/>
<source>Disabled</source>
<translation>Desativado</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="531"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="546"/>
<source>Enable</source>
<translation>Ativar</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="536"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="551"/>
<source>Not Installed</source>
<translation>Não instalado</translation>
</message>
<message>
<location filename="../settingsView/csettingsview_moc.cpp" line="537"/>
<location filename="../settingsView/csettingsview_moc.cpp" line="552"/>
<source>Install</source>
<translation>Instalar</translation>
</message>

Some files were not shown because too many files have changed in this diff Show More