Merge branch 'master' into jgrpp
# Conflicts: # src/ai/ai_gui.cpp # src/company_cmd.cpp # src/lang/estonian.txt # src/lang/german.txt # src/lang/hungarian.txt # src/lang/korean.txt # src/lang/slovak.txt # src/main_gui.cpp # src/video/sdl2_v.cpp
This commit is contained in:
24
.github/workflows/release.yml
vendored
24
.github/workflows/release.yml
vendored
@@ -317,7 +317,6 @@ jobs:
|
|||||||
liblzma-dev \
|
liblzma-dev \
|
||||||
liblzo2-dev \
|
liblzo2-dev \
|
||||||
libsdl2-dev \
|
libsdl2-dev \
|
||||||
libxdg-basedir-dev \
|
|
||||||
lsb-release \
|
lsb-release \
|
||||||
zlib1g-dev \
|
zlib1g-dev \
|
||||||
# EOF
|
# EOF
|
||||||
@@ -496,6 +495,29 @@ jobs:
|
|||||||
cd build-x64
|
cd build-x64
|
||||||
../os/macosx/notarize.sh
|
../os/macosx/notarize.sh
|
||||||
|
|
||||||
|
- name: Build zip
|
||||||
|
run: |
|
||||||
|
cd build-x64
|
||||||
|
|
||||||
|
pushd _CPack_Packages/*/Bundle/openttd-*/
|
||||||
|
|
||||||
|
# Remove the Applications symlink from the staging folder
|
||||||
|
rm -f Applications
|
||||||
|
|
||||||
|
# Remove the original dmg built by CPack to avoid a conflict when resolving
|
||||||
|
# the zip_filename variable below
|
||||||
|
rm -f ../*.dmg
|
||||||
|
|
||||||
|
zip_filename=(../openttd-*)
|
||||||
|
|
||||||
|
# Package up the existing, notarised .app into a zip file
|
||||||
|
zip -r -9 ${zip_filename}.zip OpenTTD.app
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Now move it into place to be uploaded
|
||||||
|
mv _CPack_Packages/*/Bundle/openttd-*.zip bundles/
|
||||||
|
|
||||||
- name: Store bundles
|
- name: Store bundles
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
FROM emscripten/emsdk
|
FROM emscripten/emsdk:2.0.10
|
||||||
|
|
||||||
COPY emsdk-liblzma.patch /
|
COPY emsdk-liblzma.patch /
|
||||||
RUN cd /emsdk/upstream/emscripten && patch -p1 < /emsdk-liblzma.patch
|
RUN cd /emsdk/upstream/emscripten && patch -p1 < /emsdk-liblzma.patch
|
||||||
|
@@ -56,3 +56,13 @@ cat <<EOF > notarize.json
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
gon notarize.json
|
gon notarize.json
|
||||||
|
|
||||||
|
app_filename=(_CPack_Packages/*/Bundle/openttd-*/OpenTTD.app)
|
||||||
|
|
||||||
|
if [ "${app_filename}" = "_CPack_Packages/*/Bundle/openttd-*/OpenTTD.app" ]; then
|
||||||
|
echo "No .app found in the _CPack_Packages directory, skipping stapling."
|
||||||
|
exit 0
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Now staple the ticket to the .app
|
||||||
|
xcrun stapler staple "${app_filename[0]}"
|
||||||
|
@@ -1424,7 +1424,8 @@ struct AIDebugWindow : public Window {
|
|||||||
this->SetWidgetLoweredState(WID_AID_MATCH_CASE_BTN, this->case_sensitive_break_check);
|
this->SetWidgetLoweredState(WID_AID_MATCH_CASE_BTN, this->case_sensitive_break_check);
|
||||||
|
|
||||||
this->SetWidgetDisabledState(WID_AID_SETTINGS, ai_debug_company == INVALID_COMPANY);
|
this->SetWidgetDisabledState(WID_AID_SETTINGS, ai_debug_company == INVALID_COMPANY);
|
||||||
this->SetWidgetDisabledState(WID_AID_RELOAD_TOGGLE, ai_debug_company == INVALID_COMPANY || (ai_debug_company == OWNER_DEITY && !UserIsAllowedToChangeGameScript()));
|
extern CompanyID _local_company;
|
||||||
|
this->SetWidgetDisabledState(WID_AID_RELOAD_TOGGLE, ai_debug_company == INVALID_COMPANY || ai_debug_company == _local_company || (ai_debug_company == OWNER_DEITY && !UserIsAllowedToChangeGameScript()));
|
||||||
this->SetWidgetDisabledState(WID_AID_CONTINUE_BTN, ai_debug_company == INVALID_COMPANY ||
|
this->SetWidgetDisabledState(WID_AID_CONTINUE_BTN, ai_debug_company == INVALID_COMPANY ||
|
||||||
(ai_debug_company == OWNER_DEITY ? !Game::IsPaused() : !AI::IsPaused(ai_debug_company)));
|
(ai_debug_company == OWNER_DEITY ? !Game::IsPaused() : !AI::IsPaused(ai_debug_company)));
|
||||||
}
|
}
|
||||||
|
@@ -883,9 +883,16 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
|
|||||||
}
|
}
|
||||||
|
|
||||||
case CCA_NEW_AI: { // Make a new AI company
|
case CCA_NEW_AI: { // Make a new AI company
|
||||||
|
if (company_id != INVALID_COMPANY && company_id >= MAX_COMPANIES) return CMD_ERROR;
|
||||||
|
|
||||||
|
/* For network games, company deletion is delayed. */
|
||||||
|
if (!_networking && company_id != INVALID_COMPANY && Company::IsValidID(company_id)) return CMD_ERROR;
|
||||||
|
|
||||||
if (!(flags & DC_EXEC)) return CommandCost();
|
if (!(flags & DC_EXEC)) return CommandCost();
|
||||||
|
|
||||||
if (company_id != INVALID_COMPANY && (company_id >= MAX_COMPANIES || Company::IsValidID(company_id))) return CMD_ERROR;
|
/* For network game, just assume deletion happened. */
|
||||||
|
assert(company_id == INVALID_COMPANY || !Company::IsValidID(company_id));
|
||||||
|
|
||||||
Company *c = DoStartupNewCompany(DSNC_AI, company_id);
|
Company *c = DoStartupNewCompany(DSNC_AI, company_id);
|
||||||
if (c != nullptr) {
|
if (c != nullptr) {
|
||||||
NetworkServerNewCompany(c, nullptr);
|
NetworkServerNewCompany(c, nullptr);
|
||||||
@@ -898,6 +905,9 @@ CommandCost CmdCompanyCtrl(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
|
|||||||
CompanyRemoveReason reason = (CompanyRemoveReason)GB(p1, 24, 8);
|
CompanyRemoveReason reason = (CompanyRemoveReason)GB(p1, 24, 8);
|
||||||
if (reason >= CRR_END) return CMD_ERROR;
|
if (reason >= CRR_END) return CMD_ERROR;
|
||||||
|
|
||||||
|
/* We can't delete the last existing company in singleplayer mode. */
|
||||||
|
if (!_networking && Company::GetNumItems() == 1) return CMD_ERROR;
|
||||||
|
|
||||||
Company *c = Company::GetIfValid(company_id);
|
Company *c = Company::GetIfValid(company_id);
|
||||||
if (c == nullptr) return CMD_ERROR;
|
if (c == nullptr) return CMD_ERROR;
|
||||||
|
|
||||||
|
@@ -158,7 +158,7 @@ DEF_CONSOLE_HOOK(ConHookNeedNetwork)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check whether we are in single player mode.
|
* Check whether we are in singleplayer mode.
|
||||||
* @return True when no network is active.
|
* @return True when no network is active.
|
||||||
*/
|
*/
|
||||||
DEF_CONSOLE_HOOK(ConHookNoNetwork)
|
DEF_CONSOLE_HOOK(ConHookNoNetwork)
|
||||||
@@ -1317,7 +1317,8 @@ DEF_CONSOLE_CMD(ConReloadAI)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Company::IsHumanID(company_id)) {
|
/* In singleplayer mode the player can be in an AI company, after cheating or loading network save with an AI in first slot. */
|
||||||
|
if (Company::IsHumanID(company_id) || company_id == _local_company) {
|
||||||
IConsoleWarning("Company is not controlled by an AI.");
|
IConsoleWarning("Company is not controlled by an AI.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1354,6 +1355,7 @@ DEF_CONSOLE_CMD(ConStopAI)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* In singleplayer mode the player can be in an AI company, after cheating or loading network save with an AI in first slot. */
|
||||||
if (Company::IsHumanID(company_id) || company_id == _local_company) {
|
if (Company::IsHumanID(company_id) || company_id == _local_company) {
|
||||||
IConsoleWarning("Company is not controlled by an AI.");
|
IConsoleWarning("Company is not controlled by an AI.");
|
||||||
return true;
|
return true;
|
||||||
|
@@ -296,7 +296,7 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner)
|
|||||||
if (_networking) NetworkClientsToSpectators(old_owner);
|
if (_networking) NetworkClientsToSpectators(old_owner);
|
||||||
if (old_owner == _local_company) {
|
if (old_owner == _local_company) {
|
||||||
/* Single player cheated to AI company.
|
/* Single player cheated to AI company.
|
||||||
* There are no spectators in single player, so we must pick some other company. */
|
* There are no spectators in singleplayer mode, so we must pick some other company. */
|
||||||
assert(!_networking);
|
assert(!_networking);
|
||||||
Backup<CompanyID> cur_company2(_current_company, FILE_LINE);
|
Backup<CompanyID> cur_company2(_current_company, FILE_LINE);
|
||||||
for (const Company *c : Company::Iterate()) {
|
for (const Company *c : Company::Iterate()) {
|
||||||
@@ -651,7 +651,7 @@ static void CompanyCheckBankrupt(Company *c)
|
|||||||
default:
|
default:
|
||||||
case 10: {
|
case 10: {
|
||||||
if (!_networking && _local_company == c->index) {
|
if (!_networking && _local_company == c->index) {
|
||||||
/* If we are in offline mode, leave the company playing. Eg. there
|
/* If we are in singleplayer mode, leave the company playing. Eg. there
|
||||||
* is no THE-END, otherwise mark the client as spectator to make sure
|
* is no THE-END, otherwise mark the client as spectator to make sure
|
||||||
* he/she is no long in control of this company. However... when you
|
* he/she is no long in control of this company. However... when you
|
||||||
* join another company (cheat) the "unowned" company can bankrupt. */
|
* join another company (cheat) the "unowned" company can bankrupt. */
|
||||||
@@ -2397,7 +2397,7 @@ CommandCost CmdBuyCompany(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
|
|||||||
/* Disable takeovers when not asked */
|
/* Disable takeovers when not asked */
|
||||||
if (!HasBit(c->bankrupt_asked, _current_company)) return CMD_ERROR;
|
if (!HasBit(c->bankrupt_asked, _current_company)) return CMD_ERROR;
|
||||||
|
|
||||||
/* Disable taking over the local company in single player */
|
/* Disable taking over the local company in singleplayer mode */
|
||||||
if (!_networking && _local_company == c->index) return CMD_ERROR;
|
if (!_networking && _local_company == c->index) return CMD_ERROR;
|
||||||
|
|
||||||
/* Do not allow companies to take over themselves */
|
/* Do not allow companies to take over themselves */
|
||||||
|
@@ -113,7 +113,7 @@ struct EndGameWindow : EndGameHighScoreBaseWindow {
|
|||||||
this->window_number = SP_MULTIPLAYER;
|
this->window_number = SP_MULTIPLAYER;
|
||||||
this->rank = SaveHighScoreValueNetwork();
|
this->rank = SaveHighScoreValueNetwork();
|
||||||
} else {
|
} else {
|
||||||
/* in single player _local company is always valid */
|
/* in singleplayer mode _local company is always valid */
|
||||||
const Company *c = Company::Get(_local_company);
|
const Company *c = Company::Get(_local_company);
|
||||||
this->window_number = SP_CUSTOM;
|
this->window_number = SP_CUSTOM;
|
||||||
this->rank = SaveHighScoreValue(c);
|
this->rank = SaveHighScoreValue(c);
|
||||||
|
@@ -748,6 +748,7 @@ STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLA
|
|||||||
STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Ruw land
|
STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Ruw land
|
||||||
STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Grasland
|
STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Grasland
|
||||||
STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Braakliggend land
|
STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Braakliggend land
|
||||||
|
STR_SMALLMAP_LEGENDA_RAINFOREST :{TINY_FONT}{BLACK}Regenwoud
|
||||||
STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Akkers
|
STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Akkers
|
||||||
STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Bomen
|
STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Bomen
|
||||||
STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Rotsen
|
STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Rotsen
|
||||||
@@ -1836,6 +1837,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Weet je
|
|||||||
# Cheat window
|
# Cheat window
|
||||||
STR_CHEATS :{WHITE}Valsspelen
|
STR_CHEATS :{WHITE}Valsspelen
|
||||||
STR_CHEATS_TOOLTIP :{BLACK}Keuzevakjes geven aan of je deze manier van valsspelen eerder hebt gebruikt
|
STR_CHEATS_TOOLTIP :{BLACK}Keuzevakjes geven aan of je deze manier van valsspelen eerder hebt gebruikt
|
||||||
|
STR_CHEATS_NOTE :{BLACK}Opmerking: al deze instellingen worden opgeslagen in het opgeslagen spel
|
||||||
STR_CHEAT_MONEY :{LTBLUE}Kapitaal vergroten met {CURRENCY_LONG}
|
STR_CHEAT_MONEY :{LTBLUE}Kapitaal vergroten met {CURRENCY_LONG}
|
||||||
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spelen als bedrijf: {ORANGE}{COMMA}
|
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Spelen als bedrijf: {ORANGE}{COMMA}
|
||||||
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magische bulldozer (industrieën en andere onverplaatsbare objecten verwijderen): {ORANGE}{STRING}
|
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magische bulldozer (industrieën en andere onverplaatsbare objecten verwijderen): {ORANGE}{STRING}
|
||||||
@@ -2352,6 +2354,7 @@ STR_JOIN_WAYPOINT_CAPTION :{WHITE}Routepun
|
|||||||
STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Los routepunt bouwen
|
STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Los routepunt bouwen
|
||||||
|
|
||||||
# Generic toolbar
|
# Generic toolbar
|
||||||
|
STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Momenteel uitgeschakeld omdat er geen voertuigen zijn voor deze infrastructuur
|
||||||
|
|
||||||
# Rail construction toolbar
|
# Rail construction toolbar
|
||||||
STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Spoorwegen bouwen
|
STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Spoorwegen bouwen
|
||||||
@@ -2629,6 +2632,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Bedrijf
|
|||||||
|
|
||||||
# Land area window
|
# Land area window
|
||||||
STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Landinformatie
|
STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Landinformatie
|
||||||
|
STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van de tegel. Ctrl+klik opent een nieuw venster op de locatie van de tegel.
|
||||||
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Sloopkosten: {LTBLUE}niet mogelijk
|
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Sloopkosten: {LTBLUE}niet mogelijk
|
||||||
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Sloopkosten: {RED}{CURRENCY_LONG}
|
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Sloopkosten: {RED}{CURRENCY_LONG}
|
||||||
STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Opbrengst bij verwijdering: {LTBLUE}{CURRENCY_LONG}
|
STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Opbrengst bij verwijdering: {LTBLUE}{CURRENCY_LONG}
|
||||||
@@ -3099,6 +3103,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Schakel
|
|||||||
|
|
||||||
# Sign window
|
# Sign window
|
||||||
STR_EDIT_SIGN_CAPTION :{WHITE}Wijzig tekst van bord
|
STR_EDIT_SIGN_CAPTION :{WHITE}Wijzig tekst van bord
|
||||||
|
STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van het sein. Ctrl+klik opent een nieuw venster op de locatie van het sein.
|
||||||
STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Ga naar volgende bord
|
STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Ga naar volgende bord
|
||||||
STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Ga naar vorige bord
|
STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Ga naar vorige bord
|
||||||
|
|
||||||
@@ -3127,7 +3132,7 @@ STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Stad gro
|
|||||||
STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Stad groeit iedere {ORANGE}{COMMA}{BLACK}{NBSP}dag{P "" en} (gefinancierd)
|
STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Stad groeit iedere {ORANGE}{COMMA}{BLACK}{NBSP}dag{P "" en} (gefinancierd)
|
||||||
STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Stad groeit {RED}niet{BLACK}
|
STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Stad groeit {RED}niet{BLACK}
|
||||||
STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Geluidslimiet in stad: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA}
|
STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Geluidslimiet in stad: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA}
|
||||||
STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centreer het scherm op de locatie van de stad. Ctrl+klik opent een nieuw kijkvenster op de locatie van de stad
|
STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van de stad. Ctrl+klik opent een nieuw kijkvenster op de locatie van de stad
|
||||||
STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Gemeente
|
STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Gemeente
|
||||||
STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Geef informatie over de gemeente weer
|
STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Geef informatie over de gemeente weer
|
||||||
STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Hiermee hernoem je deze plaats
|
STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Hiermee hernoem je deze plaats
|
||||||
@@ -3293,7 +3298,7 @@ STR_CARGO_RATING_EXCELLENT :Uitstekend
|
|||||||
STR_CARGO_RATING_OUTSTANDING :Voortreffelijk
|
STR_CARGO_RATING_OUTSTANDING :Voortreffelijk
|
||||||
############ range for rating ends
|
############ range for rating ends
|
||||||
|
|
||||||
STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centreer het scherm op de locatie van het station. Ctrl+klik opent een nieuw venster op de locatie van het station
|
STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van het station. Ctrl+klik opent een nieuw venster op de locatie van het station
|
||||||
STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Station hernoemen
|
STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Station hernoemen
|
||||||
|
|
||||||
STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Geef alle treinen weer die dit station in hun opdrachtenlijst hebben
|
STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Geef alle treinen weer die dit station in hun opdrachtenlijst hebben
|
||||||
@@ -3308,9 +3313,9 @@ STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Voorkom
|
|||||||
|
|
||||||
# Waypoint/buoy view window
|
# Waypoint/buoy view window
|
||||||
STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT}
|
STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT}
|
||||||
STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Scherm centreren op routepunt. Ctrl+klik opent nieuw venster op locatie van routepunt.
|
STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centreer het hoofdscherm op het routepunt. Ctrl+klik opent nieuw venster op locatie van routepunt.
|
||||||
STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Naam routepunt aanpassen
|
STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Naam routepunt aanpassen
|
||||||
STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Hoofdscherm centreren op locatie van boei. Ctrl+klik opent een nieuw venster op de locatie van de boei.
|
STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van de boei. Ctrl+klik opent een nieuw venster op de locatie van de boei.
|
||||||
STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Naam van boei aanpassen
|
STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Naam van boei aanpassen
|
||||||
|
|
||||||
STR_EDIT_WAYPOINT_NAME :{WHITE}Naam routepunt aanpassen
|
STR_EDIT_WAYPOINT_NAME :{WHITE}Naam routepunt aanpassen
|
||||||
@@ -3430,7 +3435,7 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Geen
|
|||||||
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY}
|
||||||
STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Productie vorige maand:
|
STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Productie vorige maand:
|
||||||
STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% vervoerd)
|
STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% vervoerd)
|
||||||
STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centreer het scherm op de locatie van de industrie. Ctrl+klik opent een nieuws venster op de locatie van de industrie
|
STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van de industrie. Ctrl+klik opent een nieuws venster op de locatie van de industrie
|
||||||
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Productieniveau: {YELLOW}{COMMA}%
|
STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Productieniveau: {YELLOW}{COMMA}%
|
||||||
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}De industrie heeft een dreigende sluiting aangekondigd!
|
STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}De industrie heeft een dreigende sluiting aangekondigd!
|
||||||
|
|
||||||
@@ -3662,10 +3667,10 @@ STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Hiermee
|
|||||||
STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Hiermee koop je een kopie van een schip. Klik op deze knop en dan op een schip binnen of buiten het dok. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Hiermee koop je een kopie van een schip. Klik op deze knop en dan op een schip binnen of buiten het dok. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
||||||
STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Hiermee koop je een kopie van een vliegtuig. Klik op deze knop en dan op een vliegtuig binnen of buiten de hangar. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Hiermee koop je een kopie van een vliegtuig. Klik op deze knop en dan op een vliegtuig binnen of buiten de hangar. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
||||||
|
|
||||||
STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Scherm centreren op remise. Ctrl+klik opent een nieuw scherm op locatie van remise.
|
STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centreer het hoofdscherm op de remise. Ctrl+klik opent een nieuw scherm op locatie van remise.
|
||||||
STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centreer het scherm op de locatie van de garage. Ctrl+klik opent een nieuw scherm op de locatie van de garage
|
STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van de garage. Ctrl+klik opent een nieuw scherm op de locatie van de garage
|
||||||
STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centreer hoofdscherm op de locatie van het dok. Ctrl+klik opent een nieuw scherm op de locatie van het dok
|
STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centreer hoofdscherm op de locatie van het dok. Ctrl+klik opent een nieuw scherm op de locatie van het dok
|
||||||
STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Scherm centreren op hangar. Ctrl+klik opent een nieuw venster op de hangarlocatie.
|
STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centreer het hoofdscherm op de hangar. Ctrl+klik opent een nieuw venster op de hangarlocatie.
|
||||||
|
|
||||||
STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Geef een lijst van alle treinen met dit depot in hun orders
|
STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Geef een lijst van alle treinen met dit depot in hun orders
|
||||||
STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Geef een lijst van alle wegvoertuigen met deze garage in hun orders
|
STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Geef een lijst van alle wegvoertuigen met deze garage in hun orders
|
||||||
@@ -3755,6 +3760,10 @@ STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}De te ve
|
|||||||
# Vehicle view
|
# Vehicle view
|
||||||
STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE}
|
STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE}
|
||||||
|
|
||||||
|
STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van de trein. Met dubbelklik volg je de trein op het hoofdscherm. Ctrl+klik opent een nieuw scherm op de locatie van de trein.
|
||||||
|
STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van het voertuig. Met dubbelklik volg je het voertuig op het hoofdscherm. Ctrl+klik opent een nieuw venster op de locatie van het voertuig
|
||||||
|
STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van het schip. Met dubbelklik volg je het schip op het hoofdscherm. Ctrl+klik opent een nieuw venster op de locatie van het schip
|
||||||
|
STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centreer het hoofdscherm op de locatie van het vliegtuig. Met dubbelklik volg je het vliegtuig op het hoofdscherm. Ctrl+klik opent een nieuw scherm op de locatie van het vliegtuig.
|
||||||
|
|
||||||
STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Stuur trein naar depot. Ctrl+klik voor alleen onderhoud
|
STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Stuur trein naar depot. Ctrl+klik voor alleen onderhoud
|
||||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Stuur wegvoertuig naar garage. Ctrl+klik voor alleen onderhoud
|
STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Stuur wegvoertuig naar garage. Ctrl+klik voor alleen onderhoud
|
||||||
@@ -3763,10 +3772,10 @@ STR_VEHICLE_VIEW_AIRCRAFT_SEND_TO_DEPOT_TOOLTIP :{BLACK}Stuur vl
|
|||||||
|
|
||||||
STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Hiermee koop je een kopie van deze trein, inclusief wagons. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
STR_VEHICLE_VIEW_CLONE_TRAIN_INFO :{BLACK}Hiermee koop je een kopie van deze trein, inclusief wagons. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
||||||
STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Hiermee koop je een kopie van dit wegvoertuig. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Hiermee koop je een kopie van dit wegvoertuig. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
||||||
STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Hiermee koop je een kopie gekocht van dit schip. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Hiermee koop je een kopie van dit schip. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
||||||
STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Hiermee koop je een kopie van dit vliegtuig. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Hiermee koop je een kopie van dit vliegtuig. Ctrl+klik deelt de orders. Shift+klik geeft de verwachte kosten zonder te kopen.
|
||||||
|
|
||||||
STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forceer trein verder te rijden zonder te wachten op een groen sein
|
STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forceer trein om verder te rijden zonder te wachten op een groen sein
|
||||||
|
|
||||||
STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Trein ombouwen voor een ander vrachttype
|
STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Trein ombouwen voor een ander vrachttype
|
||||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Wegvoertuig ombouwen voor een ander vrachttype
|
STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Wegvoertuig ombouwen voor een ander vrachttype
|
||||||
@@ -3786,7 +3795,12 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Details
|
|||||||
STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Details van schip weergeven
|
STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Details van schip weergeven
|
||||||
STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Details van vliegtuig weergeven
|
STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Details van vliegtuig weergeven
|
||||||
|
|
||||||
|
STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Huidige treinactie - klik om de trein te starten of stoppen
|
||||||
|
STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Huidige voertuigactie - klik om het voertuig te starten of stoppen
|
||||||
|
STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Huidige scheepsactie - klik om het schip te starten of stoppen
|
||||||
|
STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Huidige vliegtuigactie - klik om het vliegtuig te starten of stoppen
|
||||||
|
|
||||||
|
STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Centreer het hoofdscherm op het doel van de order. Ctrl+klik opent een nieuw venster op het doel van de order.
|
||||||
|
|
||||||
# Messages in the start stop button in the vehicle view
|
# Messages in the start stop button in the vehicle view
|
||||||
STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}In- en uitladen
|
STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}In- en uitladen
|
||||||
@@ -4014,6 +4028,7 @@ STR_ORDER_REFIT_STOP_ORDER :(Ombouwen naar
|
|||||||
STR_ORDER_STOP_ORDER :(Stop)
|
STR_ORDER_STOP_ORDER :(Stop)
|
||||||
|
|
||||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||||
|
STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Kan station niet gebruiken){POP_COLOUR} {STRING} {STATION} {STRING}
|
||||||
|
|
||||||
STR_ORDER_IMPLICIT :(Impliciet)
|
STR_ORDER_IMPLICIT :(Impliciet)
|
||||||
|
|
||||||
@@ -4466,6 +4481,8 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Verkeerd depot-
|
|||||||
STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} is te lang na het vervangen
|
STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} is te lang na het vervangen
|
||||||
STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Geen automatische regels voor vervangen/vernieuwen toegepast
|
STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Geen automatische regels voor vervangen/vernieuwen toegepast
|
||||||
STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(onvoldoende geld)
|
STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(onvoldoende geld)
|
||||||
|
STR_ERROR_AUTOREPLACE_INCOMPATIBLE_CARGO :{WHITE}Nieuw voertuig is niet geschikt voor {STRING}
|
||||||
|
STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}Nieuw voertuig kan niet ombouwen in order {NUM}
|
||||||
|
|
||||||
# Rail construction errors
|
# Rail construction errors
|
||||||
STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Onmogelijke spoorcombinatie
|
STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Onmogelijke spoorcombinatie
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -698,7 +698,7 @@ STR_HIGHSCORE_TOP_COMPANIES_NETWORK_GAME :{BIG_FONT}{BLAC
|
|||||||
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
STR_HIGHSCORE_POSITION :{BIG_FONT}{BLACK}{COMMA}.
|
||||||
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Liikemies
|
STR_HIGHSCORE_PERFORMANCE_TITLE_BUSINESSMAN :Liikemies
|
||||||
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Yrittäjä
|
STR_HIGHSCORE_PERFORMANCE_TITLE_ENTREPRENEUR :Yrittäjä
|
||||||
STR_HIGHSCORE_PERFORMANCE_TITLE_INDUSTRIALIST :Teollisuusmies
|
STR_HIGHSCORE_PERFORMANCE_TITLE_INDUSTRIALIST :Teollisuudenharjoittaja
|
||||||
STR_HIGHSCORE_PERFORMANCE_TITLE_CAPITALIST :Kapitalisti
|
STR_HIGHSCORE_PERFORMANCE_TITLE_CAPITALIST :Kapitalisti
|
||||||
STR_HIGHSCORE_PERFORMANCE_TITLE_MAGNATE :Magnaatti
|
STR_HIGHSCORE_PERFORMANCE_TITLE_MAGNATE :Magnaatti
|
||||||
STR_HIGHSCORE_PERFORMANCE_TITLE_MOGUL :Moguli
|
STR_HIGHSCORE_PERFORMANCE_TITLE_MOGUL :Moguli
|
||||||
@@ -1622,10 +1622,10 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineaarinen
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Puiden istutus pelissä: {STRING}
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Puiden istutus pelissä: {STRING}
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Määrittää puiden sattumanvaraisen luomisen. Tämä voi vaikuttaa teollisuuslaitoksiin, jotka ovat riippuvaisia puiden kasvamisesta, esimerkiksi sahat.
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Määrittää puiden sattumanvaraisen luomisen. Tämä voi vaikuttaa teollisuuslaitoksiin, jotka ovat riippuvaisia puiden kasvamisesta, esimerkiksi sahat.
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Puut kasvavat, mutta eivät leviä {RED}(rikkoo sahan)
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Puut kasvavat, mutta eivät leviä {RED}(rikkoo subtrooppisen sahan)
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Puut kasvavat, mutta leviävät vain sademetsissä
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Puut kasvavat, mutta leviävät vain sademetsissä
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Puut kasvavat ja leviävät kaikkialla
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Puut kasvavat ja leviävät kaikkialla
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Puut eivät kasva eivätkä leviä {RED}(rikkoo sahan)
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Puut eivät kasva eivätkä leviä {RED}(rikkoo subtrooppisen sahan)
|
||||||
|
|
||||||
STR_CONFIG_SETTING_TOOLBAR_POS :Päätyökalupalkin sijainti: {STRING}
|
STR_CONFIG_SETTING_TOOLBAR_POS :Päätyökalupalkin sijainti: {STRING}
|
||||||
STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Ruudun yläreunassa olevan työkalupalkin sijainti vaakasuunnassa
|
STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Ruudun yläreunassa olevan työkalupalkin sijainti vaakasuunnassa
|
||||||
|
1024
src/lang/german.txt
1024
src/lang/german.txt
File diff suppressed because it is too large
Load Diff
@@ -1618,6 +1618,7 @@ STR_CONFIG_SETTING_ENDING_YEAR :Játék végi p
|
|||||||
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :A játék ebben az évben ér véget pontozás szempontjából. Ennek az évnek a végén a vállalat teljesítménypontszáma rögzítésre kerül, és adott esetben megjelenik a rekord táblán, de a játékosok ezután folytathatják a játékot.{}Ha ez a kezdő év elé van állítva, akkor a rekord tábla sosem jelenik meg.
|
STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :A játék ebben az évben ér véget pontozás szempontjából. Ennek az évnek a végén a vállalat teljesítménypontszáma rögzítésre kerül, és adott esetben megjelenik a rekord táblán, de a játékosok ezután folytathatják a játékot.{}Ha ez a kezdő év elé van állítva, akkor a rekord tábla sosem jelenik meg.
|
||||||
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM}
|
||||||
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Soha
|
STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Soha
|
||||||
|
STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Eredeti
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES :Más vállalatokból lehet részvényt vásárolni: {STRING}
|
STR_CONFIG_SETTING_ALLOW_SHARES :Más vállalatokból lehet részvényt vásárolni: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Bekapcsolva engedélyezi más vállalatok részvényeinek megvásárlását. A részvények csak akkor elérhetőek, ha a vállalat elért egy bizonyos kort
|
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Bekapcsolva engedélyezi más vállalatok részvényeinek megvásárlását. A részvények csak akkor elérhetőek, ha a vállalat elért egy bizonyos kort
|
||||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Vállalatok minimális életkora részvénykibocsátáshoz: {STRING}
|
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Vállalatok minimális életkora részvénykibocsátáshoz: {STRING}
|
||||||
@@ -2254,6 +2255,7 @@ STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :A játék tová
|
|||||||
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :A játék továbbra is szünetel ({STRING}, {STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :A játék továbbra is szünetel ({STRING}, {STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :A játék továbbra is szünetel ({STRING}, {STRING}, {STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :A játék továbbra is szünetel ({STRING}, {STRING}, {STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :A játék továbbra is szünetel ({STRING}, {STRING}, {STRING}, {STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :A játék továbbra is szünetel ({STRING}, {STRING}, {STRING}, {STRING})
|
||||||
|
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_5 :A játék továbbra is szünetel ({STRING}, {STRING}, {STRING}, {STRING}, {STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :A játék folytatódik ({STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :A játék folytatódik ({STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :játékosok száma
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :játékosok száma
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :kapcsolódó kliensek
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :kapcsolódó kliensek
|
||||||
@@ -2658,6 +2660,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Válaszd
|
|||||||
|
|
||||||
# Land area window
|
# Land area window
|
||||||
STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Terület-információ
|
STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Terület-információ
|
||||||
|
STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}A főnézetet a csempére állítja. Ctrl+Klikk megnyit egy új főnézetet a csempén.
|
||||||
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}{LTBLUE}Nem lehet lerombolni
|
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}{LTBLUE}Nem lehet lerombolni
|
||||||
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}A megtisztítás költsége: {RED}{CURRENCY_LONG}
|
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}A megtisztítás költsége: {RED}{CURRENCY_LONG}
|
||||||
STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Bevétel lerombolás esetén: {LTBLUE}{CURRENCY_LONG}
|
STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Bevétel lerombolás esetén: {LTBLUE}{CURRENCY_LONG}
|
||||||
@@ -3404,7 +3407,8 @@ STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}SZH áth
|
|||||||
STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}A vállalat székházának újraépítése máshol a vállalat értékének 1%-áért. Shift+kattintással megmutatja a becsült költséget a székhely áthelyezése nélkül
|
STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}A vállalat székházának újraépítése máshol a vállalat értékének 1%-áért. Shift+kattintással megmutatja a becsült költséget a székhely áthelyezése nélkül
|
||||||
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Részletek
|
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Részletek
|
||||||
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Részletes információk megtekintése az infrastruktúráról
|
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Részletes információk megtekintése az infrastruktúráról
|
||||||
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Pénz adományozása
|
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Adományozz pénzt
|
||||||
|
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Utalj pénzt ennek a vállalatnak
|
||||||
|
|
||||||
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Új arc
|
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Új arc
|
||||||
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Új arc választása az elnöknek
|
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Új arc választása az elnöknek
|
||||||
@@ -4042,6 +4046,7 @@ STR_ORDER_REFIT_STOP_ORDER :(átalakít err
|
|||||||
STR_ORDER_STOP_ORDER :(megáll)
|
STR_ORDER_STOP_ORDER :(megáll)
|
||||||
|
|
||||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||||
|
STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Az állomás nem használható){POP_COLOUR} {STRING} {STATION} {STRING}
|
||||||
|
|
||||||
STR_ORDER_IMPLICIT :(Automata)
|
STR_ORDER_IMPLICIT :(Automata)
|
||||||
|
|
||||||
@@ -5122,6 +5127,7 @@ STR_FORMAT_BUOY_NAME_SERIAL :{TOWN} {COMMA}.
|
|||||||
STR_FORMAT_BUOY_NAME_SERIAL.ba :{TOWN} {COMMA}. sz. Bóján
|
STR_FORMAT_BUOY_NAME_SERIAL.ba :{TOWN} {COMMA}. sz. Bóján
|
||||||
STR_FORMAT_COMPANY_NUM :({COMMA}. vállalat)
|
STR_FORMAT_COMPANY_NUM :({COMMA}. vállalat)
|
||||||
STR_FORMAT_GROUP_NAME :{COMMA} csoport
|
STR_FORMAT_GROUP_NAME :{COMMA} csoport
|
||||||
|
STR_FORMAT_GROUP_VEHICLE_NAME :{GROUP} #{COMMA}
|
||||||
STR_FORMAT_INDUSTRY_NAME :{TOWN}i {STRING}
|
STR_FORMAT_INDUSTRY_NAME :{TOWN}i {STRING}
|
||||||
STR_FORMAT_WAYPOINT_NAME :{TOWN} Ellenőrző pont
|
STR_FORMAT_WAYPOINT_NAME :{TOWN} Ellenőrző pont
|
||||||
STR_FORMAT_WAYPOINT_NAME.ba :{TOWN} Ellenőrző ponton
|
STR_FORMAT_WAYPOINT_NAME.ba :{TOWN} Ellenőrző ponton
|
||||||
|
@@ -230,8 +230,8 @@ STR_LIST_FILTER_OSKTITLE :{BLACK}검색
|
|||||||
STR_LIST_FILTER_TOOLTIP :{BLACK}검색할 키워드를 입력하세요
|
STR_LIST_FILTER_TOOLTIP :{BLACK}검색할 키워드를 입력하세요
|
||||||
|
|
||||||
STR_TOOLTIP_GROUP_ORDER :{BLACK}그룹화 순서를 선택하세요.
|
STR_TOOLTIP_GROUP_ORDER :{BLACK}그룹화 순서를 선택하세요.
|
||||||
STR_TOOLTIP_SORT_ORDER :{BLACK}정렬 방법을 선택하십시오. (내림차순/오름차순)
|
STR_TOOLTIP_SORT_ORDER :{BLACK}정렬 방법을 선택하세요 (내림차순/오름차순)
|
||||||
STR_TOOLTIP_SORT_CRITERIA :{BLACK}정렬 기준을 선택하십시오.
|
STR_TOOLTIP_SORT_CRITERIA :{BLACK}정렬 기준을 선택하세요
|
||||||
STR_TOOLTIP_FILTER_CRITERIA :{BLACK}검색 기준 선택
|
STR_TOOLTIP_FILTER_CRITERIA :{BLACK}검색 기준 선택
|
||||||
STR_BUTTON_SORT_BY :{BLACK}정렬
|
STR_BUTTON_SORT_BY :{BLACK}정렬
|
||||||
STR_BUTTON_RENAME :{BLACK}이름 바꾸기
|
STR_BUTTON_RENAME :{BLACK}이름 바꾸기
|
||||||
@@ -874,9 +874,9 @@ STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY :{WHITE}{VEHICLE
|
|||||||
STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} : 차량이 낡았습니다
|
STR_NEWS_VEHICLE_IS_GETTING_OLD :{WHITE}{VEHICLE} : 차량이 낡았습니다
|
||||||
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} : 차량이 매우 낡았습니다
|
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD :{WHITE}{VEHICLE} : 차량이 매우 낡았습니다
|
||||||
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} : 차량이 매우 낡아 교체가 시급합니다
|
STR_NEWS_VEHICLE_IS_GETTING_VERY_OLD_AND :{WHITE}{VEHICLE} : 차량이 매우 낡아 교체가 시급합니다
|
||||||
STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} : 다음 목적지로 가는 경로를 찾을 수 없습니다.
|
STR_NEWS_TRAIN_IS_STUCK :{WHITE}{VEHICLE} : 다음 목적지로 가는 경로를 찾을 수 없습니다
|
||||||
STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} : 아직 다음 목적지에 도착하지 못했습니다.
|
STR_NEWS_VEHICLE_IS_LOST :{WHITE}{VEHICLE} : 아직 다음 목적지에 도착하지 못했습니다
|
||||||
STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}{VEHICLE}의 작년 이익이 {CURRENCY_LONG} 입니다.
|
STR_NEWS_VEHICLE_IS_UNPROFITABLE :{WHITE}{VEHICLE}의 작년 이익이 {CURRENCY_LONG} 입니다
|
||||||
STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}거리가 너무 멀어서 {VEHICLE}이 다음 목적지에 도착할 수 없습니다
|
STR_NEWS_AIRCRAFT_DEST_TOO_FAR :{WHITE}거리가 너무 멀어서 {VEHICLE}이 다음 목적지에 도착할 수 없습니다
|
||||||
STR_NEWS_TRAIN_OVERSHOT_STATION :{WHITE}{VEHICLE} : 속력이 너무 빨라서 {STRING}에 멈추지 못했습니다
|
STR_NEWS_TRAIN_OVERSHOT_STATION :{WHITE}{VEHICLE} : 속력이 너무 빨라서 {STRING}에 멈추지 못했습니다
|
||||||
|
|
||||||
@@ -967,7 +967,7 @@ STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :좌측통행
|
|||||||
STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :우측통행
|
STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_RIGHT :우측통행
|
||||||
|
|
||||||
STR_GAME_OPTIONS_TOWN_NAMES_FRAME :{BLACK}도시 이름
|
STR_GAME_OPTIONS_TOWN_NAMES_FRAME :{BLACK}도시 이름
|
||||||
STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}도시 이름 스타일을 선택하십시오.
|
STR_GAME_OPTIONS_TOWN_NAMES_DROPDOWN_TOOLTIP :{BLACK}도시 이름 스타일을 선택하세요
|
||||||
|
|
||||||
############ start of townname region
|
############ start of townname region
|
||||||
STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH :영국 식 (기본)
|
STR_GAME_OPTIONS_TOWN_NAME_ORIGINAL_ENGLISH :영국 식 (기본)
|
||||||
@@ -1005,13 +1005,13 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_12_MONTHS :12개월마다
|
|||||||
############ end of autosave dropdown
|
############ end of autosave dropdown
|
||||||
|
|
||||||
STR_GAME_OPTIONS_LANGUAGE :{BLACK}언어
|
STR_GAME_OPTIONS_LANGUAGE :{BLACK}언어
|
||||||
STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}사용하실 언어를 선택하세요.
|
STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}사용할 언어를 선택하세요
|
||||||
|
|
||||||
STR_GAME_OPTIONS_FULLSCREEN :{BLACK}전체화면
|
STR_GAME_OPTIONS_FULLSCREEN :{BLACK}전체화면
|
||||||
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}OpenTTD를 전체화면으로 플레이하려면 클릭하세요.
|
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}OpenTTD를 전체화면으로 플레이하려면 클릭하세요.
|
||||||
|
|
||||||
STR_GAME_OPTIONS_RESOLUTION :{BLACK}화면 해상도
|
STR_GAME_OPTIONS_RESOLUTION :{BLACK}화면 해상도
|
||||||
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}사용하실 화면 해상도를 선택하세요.
|
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}사용할 화면 해상도를 선택하세요
|
||||||
STR_GAME_OPTIONS_RESOLUTION_OTHER :기타
|
STR_GAME_OPTIONS_RESOLUTION_OTHER :기타
|
||||||
|
|
||||||
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}인터페이스 크기
|
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}인터페이스 크기
|
||||||
@@ -1022,23 +1022,23 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :2배 크기
|
|||||||
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4배 크기
|
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4배 크기
|
||||||
|
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}글씨 크기
|
STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}글씨 크기
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}인터페이스에서 사용할 글씨 크기를 선택합니다.
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}인터페이스에서 사용할 글씨 크기를 선택하세요
|
||||||
|
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :기본 크기
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :기본 크기
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :2배 크기
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :2배 크기
|
||||||
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :4배 크기
|
STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :4배 크기
|
||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_GRF :{BLACK}기본 그래픽 세트
|
STR_GAME_OPTIONS_BASE_GRF :{BLACK}기본 그래픽 세트
|
||||||
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}사용하실 기본 그래픽을 선택하세요.
|
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}게임에 사용할 기본 그래픽 세트를 선택하세요
|
||||||
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM}개 파일 손실
|
STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM}개 파일 손실
|
||||||
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}기본 그래픽 세트에 대한 추가 정보를 봅니다.
|
STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}기본 그래픽 세트에 대한 추가 정보를 봅니다.
|
||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_SFX :{BLACK}기본 효과음 세트
|
STR_GAME_OPTIONS_BASE_SFX :{BLACK}기본 효과음 세트
|
||||||
STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}게임에 사용할 기본 효과음 세트를 선택하십시오.
|
STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}게임에 사용할 기본 효과음 세트를 선택하세요
|
||||||
STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}기본 효과음 세트에 대한 추가 정보를 봅니다.
|
STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}기본 효과음 세트에 대한 추가 정보를 봅니다.
|
||||||
|
|
||||||
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}기본 배경 음악 세트
|
STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}기본 배경 음악 세트
|
||||||
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}사용하실 기본 배경 음악 세트를 선택하세요.
|
STR_GAME_OPTIONS_BASE_MUSIC_TOOLTIP :{BLACK}게임에 사용할 기본 배경 음악 세트를 선택하세요
|
||||||
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM}개의 파일이 손상되었습니다.
|
STR_GAME_OPTIONS_BASE_MUSIC_STATUS :{RED}{NUM}개의 파일이 손상되었습니다.
|
||||||
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}기본 배경 음악 세트에 대한 추가 정보를 봅니다.
|
STR_GAME_OPTIONS_BASE_MUSIC_DESCRIPTION_TOOLTIP :{BLACK}기본 배경 음악 세트에 대한 추가 정보를 봅니다.
|
||||||
|
|
||||||
@@ -1205,7 +1205,7 @@ STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT :이 설정을
|
|||||||
STR_CONFIG_SETTING_DISASTERS :재앙: {STRING}
|
STR_CONFIG_SETTING_DISASTERS :재앙: {STRING}
|
||||||
STR_CONFIG_SETTING_DISASTERS_HELPTEXT :일정 구역이나 차량, 기반시설을 간혹 파괴할 수도 있는 재앙을 켜거나 끕니다.
|
STR_CONFIG_SETTING_DISASTERS_HELPTEXT :일정 구역이나 차량, 기반시설을 간혹 파괴할 수도 있는 재앙을 켜거나 끕니다.
|
||||||
STR_CONFIG_SETTING_CITY_APPROVAL :지역 개발에 대한 도시의 태도: {STRING}
|
STR_CONFIG_SETTING_CITY_APPROVAL :지역 개발에 대한 도시의 태도: {STRING}
|
||||||
STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :회사가 유발하는 소음과 환경 파괴가 회사에 대한 도시의 평가치와 향후 해당 지역에서 건설하는 행동에 얼마나 영향을 미칠지 선택하십시오.
|
STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT :회사가 유발하는 소음과 환경 파괴가 회사에 대한 도시의 평가치와 향후 해당 지역에서 건설하는 행동에 얼마나 영향을 미칠지 선택하세요
|
||||||
STR_CONFIG_SETTING_MONEY_CHEAT_MULTIPLAYER :멀티플레이 유저들이 돈 치트를 사용할 수 있게 허용: {STRING}
|
STR_CONFIG_SETTING_MONEY_CHEAT_MULTIPLAYER :멀티플레이 유저들이 돈 치트를 사용할 수 있게 허용: {STRING}
|
||||||
STR_CONFIG_SETTING_MONEY_CHEAT_MULTIPLAYER_HELPTEXT :이 설정을 켜면, 관리자가 아닌 멀티플레이 유저가 돈 치트를 사용할 수 있습니다. 돈 치트는 싱글플레이 모드에서는 언제나 사용 가능하며, 서버 관리자는 멀티플레이 모드에서도 사용 가능합니다.
|
STR_CONFIG_SETTING_MONEY_CHEAT_MULTIPLAYER_HELPTEXT :이 설정을 켜면, 관리자가 아닌 멀티플레이 유저가 돈 치트를 사용할 수 있습니다. 돈 치트는 싱글플레이 모드에서는 언제나 사용 가능하며, 서버 관리자는 멀티플레이 모드에서도 사용 가능합니다.
|
||||||
|
|
||||||
@@ -1232,11 +1232,11 @@ STR_CONFIG_SETTING_TILE_LENGTH :{COMMA}칸
|
|||||||
STR_CONFIG_SETTING_SMOKE_AMOUNT :차량의 매연 또는 전기 스파크의 양: {STRING}
|
STR_CONFIG_SETTING_SMOKE_AMOUNT :차량의 매연 또는 전기 스파크의 양: {STRING}
|
||||||
STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :차량에서 연기나 전기 스파크가 얼마나 많이 일어나는지 설정합니다.
|
STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT :차량에서 연기나 전기 스파크가 얼마나 많이 일어나는지 설정합니다.
|
||||||
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :열차 가속 모델: {STRING}
|
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL :열차 가속 모델: {STRING}
|
||||||
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :열차 가속 물리 모델을 선택하십시오. "오리지널" 모델은 언덕을 오를 때 무조건 속력이 감소합니다. "현실적" 모델은 열차의 길이나 기관차의 견인력 등의 구성 속성에 따라 언덕과 커브에서 속력이 감소합니다.
|
STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT :열차 가속에 사용할 물리 모델을 선택합니다. "오리지널" 모델은 언덕을 오를 때 무조건 속력이 감소합니다. "현실적" 모델은 열차의 길이나 기관차의 견인력 등의 구성 속성에 따라 언덕과 커브에서 속력이 감소합니다.
|
||||||
STR_CONFIG_SETTING_TRAIN_BRAKING_MODEL :열차 감속 모델: {STRING}
|
STR_CONFIG_SETTING_TRAIN_BRAKING_MODEL :열차 감속 모델: {STRING}
|
||||||
STR_CONFIG_SETTING_TRAIN_BRAKING_MODEL_HELPTEXT :열차 감속에 사용할 물리 모델을 선택합니다. "오리지널" 모델을 사용하면 열차가 즉시 멈춥니다. "현실적" 모델을 사용하면, 열차가 정지하려면 일정 거리가 필요해지고 그에 따라 앞쪽 선로를 미리 예약하게 되며, 열차가 즉시 멈출 수 없게 됩니다.{}{}"현실적" 모델은 신호 및 선로 구조 디자인에 많은 영향을 미치므로, 이 기능은 초심자에게 적합하지 않은 고급 기능입니다. 특히 사전 신호기와 양방향 신호기는 사용할 수 없으며, 모든 신호기는 경로 신호기를 사용해야 합니다.
|
STR_CONFIG_SETTING_TRAIN_BRAKING_MODEL_HELPTEXT :열차 감속에 사용할 물리 모델을 선택합니다. "오리지널" 모델을 사용하면 열차가 즉시 멈춥니다. "현실적" 모델을 사용하면, 열차가 정지하려면 일정 거리가 필요해지고 그에 따라 앞쪽 선로를 미리 예약하게 되며, 열차가 즉시 멈출 수 없게 됩니다.{}{}"현실적" 모델은 신호 및 선로 구조 디자인에 많은 영향을 미치므로, 이 기능은 초심자에게 적합하지 않은 고급 기능입니다. 특히 사전 신호기와 양방향 신호기는 사용할 수 없으며, 모든 신호기는 경로 신호기를 사용해야 합니다.
|
||||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :자동차/전차 가속 모델: {STRING}
|
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL :자동차/전차 가속 모델: {STRING}
|
||||||
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :자동차/전차의 가속 물리 모델을 선택하십시오. "오리지널" 모델은 언덕을 오를 때 무조건 속력이 감소합니다. "현실적" 모델은 차량의 견인력 등 차량의 다양한 속성에 따라 언덕을 오를 때 속력이 감소합니다.
|
STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT :자동차/전차의 가속 물리 모델을 선택하세요. "오리지널" 모델은 언덕을 오를 때 무조건 속력이 감소합니다. "현실적" 모델은 차량의 견인력 등 차량의 다양한 속성에 따라 언덕을 오를 때 속력이 감소합니다.
|
||||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :경사도 설정 (열차용): {STRING}
|
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS :경사도 설정 (열차용): {STRING}
|
||||||
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :열차에 적용시킬 경사도를 설정합니다. 값이 높을수록 열차가 언덕을 올라가는데 더 힘이 듭니다.
|
STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT :열차에 적용시킬 경사도를 설정합니다. 값이 높을수록 열차가 언덕을 올라가는데 더 힘이 듭니다.
|
||||||
STR_CONFIG_SETTING_PERCENTAGE :{COMMA}%
|
STR_CONFIG_SETTING_PERCENTAGE :{COMMA}%
|
||||||
@@ -1330,7 +1330,7 @@ STR_CONFIG_SETTING_DRIVE_THROUGH_TRAIN_DEPOT :드라이브스
|
|||||||
STR_CONFIG_SETTING_DRIVE_THROUGH_TRAIN_DEPOT_HELPTEXT :드라이브스루 차량기지를 사용합니다. 열차는 연속적으로 배치된 차량기지 사이를 이동할 수 있으며, 중간에 차량기지가 있어도 됩니다. YAPF 경로 탐색을 사용해야 합니다.
|
STR_CONFIG_SETTING_DRIVE_THROUGH_TRAIN_DEPOT_HELPTEXT :드라이브스루 차량기지를 사용합니다. 열차는 연속적으로 배치된 차량기지 사이를 이동할 수 있으며, 중간에 차량기지가 있어도 됩니다. YAPF 경로 탐색을 사용해야 합니다.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :시작시 회사 색상: {STRING}
|
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :시작시 회사 색상: {STRING}
|
||||||
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :새 회사에서 사용할 색상을 선택하세요.
|
STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :새 회사에서 사용할 색상을 선택합니다.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :옛날 공항을 사라지지 않고 계속 만들 수 있게 함: {STRING}
|
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :옛날 공항을 사라지지 않고 계속 만들 수 있게 함: {STRING}
|
||||||
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :이 설정을 켜면, 소형 공항을 포함한 모든 공항 종류를 도입 이후에 계속 사용할 수 있게 됩니다.
|
STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :이 설정을 켜면, 소형 공항을 포함한 모든 공항 종류를 도입 이후에 계속 사용할 수 있게 됩니다.
|
||||||
@@ -1436,14 +1436,14 @@ STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :매우 거칠
|
|||||||
STR_CONFIG_SETTING_VARIETY :산세 험준도: {STRING}
|
STR_CONFIG_SETTING_VARIETY :산세 험준도: {STRING}
|
||||||
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(천지창조 전용) 지도가 산지와 평지를 모두 갖도록 만들 것인 지를 결정합니다. 이 설정은 지형을 더 평평하게 만드므로, 다른 설정은 '산'으로 설정하시기 바랍니다.
|
STR_CONFIG_SETTING_VARIETY_HELPTEXT :(천지창조 전용) 지도가 산지와 평지를 모두 갖도록 만들 것인 지를 결정합니다. 이 설정은 지형을 더 평평하게 만드므로, 다른 설정은 '산'으로 설정하시기 바랍니다.
|
||||||
STR_CONFIG_SETTING_RIVER_AMOUNT :강의 양: {STRING}
|
STR_CONFIG_SETTING_RIVER_AMOUNT :강의 양: {STRING}
|
||||||
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :강을 얼마나 만들지 선택하십시오.
|
STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT :강을 얼마나 만들지 선택하세요
|
||||||
STR_CONFIG_SETTING_TREE_PLACER :나무 배치 알고리즘: {STRING}
|
STR_CONFIG_SETTING_TREE_PLACER :나무 배치 알고리즘: {STRING}
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :지도의 나무 분포 형식을 선택하십시오. '오리지널'을 선택하면 나무가 고르게 분포되고, '향상됨'을 선택하면 나무가 군락을 이루게 됩니다.
|
STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT :지도의 나무 분포 형식을 선택하세요. '오리지널'을 선택하면 나무가 고르게 분포되고, '향상됨'을 선택하면 나무가 군락을 이루게 됩니다.
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_NONE :없음
|
STR_CONFIG_SETTING_TREE_PLACER_NONE :없음
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :오리지널
|
STR_CONFIG_SETTING_TREE_PLACER_ORIGINAL :오리지널
|
||||||
STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :향상됨
|
STR_CONFIG_SETTING_TREE_PLACER_IMPROVED :향상됨
|
||||||
STR_CONFIG_SETTING_ROAD_SIDE :자동차 통행 방향: {STRING}
|
STR_CONFIG_SETTING_ROAD_SIDE :자동차 통행 방향: {STRING}
|
||||||
STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :통행방향을 선택하세요.
|
STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT :통행 방향을 선택합니다
|
||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :높이맵 회전: {STRING}
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION :높이맵 회전: {STRING}
|
||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :반시계방향
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :반시계방향
|
||||||
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :시계방향
|
STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_CLOCKWISE :시계방향
|
||||||
@@ -1535,7 +1535,7 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :오른쪽 클
|
|||||||
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :창 내부를 오른쪽 클릭하여 창을 닫습니다. 오른쪽 클릭으로 도움말 표시 설정을 해제해야 합니다!
|
STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :창 내부를 오른쪽 클릭하여 창을 닫습니다. 오른쪽 클릭으로 도움말 표시 설정을 해제해야 합니다!
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AUTOSAVE :자동 저장: {STRING}
|
STR_CONFIG_SETTING_AUTOSAVE :자동 저장: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :게임을 자동으로 저장할 간격을 선택하십시오.
|
STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :게임을 자동으로 저장할 간격을 선택하세요
|
||||||
|
|
||||||
STR_CONFIG_SETTING_AUTOSAVE_ON_NETWORK_DISCONNECT :네트워크 연결이 끊어지면 자동 저장: {STRING}
|
STR_CONFIG_SETTING_AUTOSAVE_ON_NETWORK_DISCONNECT :네트워크 연결이 끊어지면 자동 저장: {STRING}
|
||||||
STR_CONFIG_SETTING_AUTOSAVE_ON_NETWORK_DISCONNECT_HELPTEXT :이 설정을 켜면 서버와의 연결이 끊어졌을 때 게임을 자동으로 저장합니다.
|
STR_CONFIG_SETTING_AUTOSAVE_ON_NETWORK_DISCONNECT_HELPTEXT :이 설정을 켜면 서버와의 연결이 끊어졌을 때 게임을 자동으로 저장합니다.
|
||||||
@@ -2320,7 +2320,7 @@ STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}비밀
|
|||||||
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}서버에 공개적으로 접근하는 것을 막고 싶을 때 비밀번호를 걸어 보호합니다.
|
STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}서버에 공개적으로 접근하는 것을 막고 싶을 때 비밀번호를 걸어 보호합니다.
|
||||||
|
|
||||||
STR_NETWORK_START_SERVER_ADVERTISED_LABEL :{BLACK}공개 여부
|
STR_NETWORK_START_SERVER_ADVERTISED_LABEL :{BLACK}공개 여부
|
||||||
STR_NETWORK_START_SERVER_ADVERTISED_TOOLTIP :{BLACK}공개된 게임(인터넷)과 비공개된 게임(LAN) 중에서 선택하십시오.
|
STR_NETWORK_START_SERVER_ADVERTISED_TOOLTIP :{BLACK}공개된 게임(인터넷)과 비공개된 게임(LAN) 중에서 선택하세요
|
||||||
STR_NETWORK_START_SERVER_UNADVERTISED :아니요
|
STR_NETWORK_START_SERVER_UNADVERTISED :아니요
|
||||||
STR_NETWORK_START_SERVER_ADVERTISED :예
|
STR_NETWORK_START_SERVER_ADVERTISED :예
|
||||||
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM}명
|
STR_NETWORK_START_SERVER_CLIENTS_SELECT :{BLACK}{NUM}명
|
||||||
@@ -2643,7 +2643,7 @@ STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}반투
|
|||||||
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}화물 흐름 범례
|
STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}화물 흐름 범례
|
||||||
STR_LINKGRAPH_LEGEND_ALL :{BLACK}모두
|
STR_LINKGRAPH_LEGEND_ALL :{BLACK}모두
|
||||||
STR_LINKGRAPH_LEGEND_NONE :{BLACK}없음
|
STR_LINKGRAPH_LEGEND_NONE :{BLACK}없음
|
||||||
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}표시할 회사를 선택하십시오
|
STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}표시할 회사를 선택하세요
|
||||||
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
|
STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY}
|
||||||
|
|
||||||
# Linkgraph legend window and linkgraph legend in smallmap
|
# Linkgraph legend window and linkgraph legend in smallmap
|
||||||
@@ -3063,7 +3063,7 @@ STR_ERROR_INVALID_SIGNAL :{WHITE}유효
|
|||||||
|
|
||||||
# Bridge selection window
|
# Bridge selection window
|
||||||
STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}철교 선택
|
STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}철교 선택
|
||||||
STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}다리 종류를 선택하십시오
|
STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}다리 종류를 선택하세요
|
||||||
STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}다리 건설 - 원하는 다리 종류를 선택하세요
|
STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}다리 건설 - 원하는 다리 종류를 선택하세요
|
||||||
STR_SELECT_BRIDGE_INFO :{GOLD}{STRING}{} {VELOCITY} {WHITE}{CURRENCY_LONG}
|
STR_SELECT_BRIDGE_INFO :{GOLD}{STRING}{} {VELOCITY} {WHITE}{CURRENCY_LONG}
|
||||||
STR_SELECT_BRIDGE_SCENEDIT_INFO :{GOLD}{STRING}{} {VELOCITY}
|
STR_SELECT_BRIDGE_SCENEDIT_INFO :{GOLD}{STRING}{} {VELOCITY}
|
||||||
@@ -3277,7 +3277,7 @@ STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}임의
|
|||||||
|
|
||||||
# Fund new industry window
|
# Fund new industry window
|
||||||
STR_FUND_INDUSTRY_CAPTION :{WHITE}새 산업시설 건설
|
STR_FUND_INDUSTRY_CAPTION :{WHITE}새 산업시설 건설
|
||||||
STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}목록에서 적당한 산업시설을 선택하십시오
|
STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}목록에서 적당한 산업시설을 선택하세요
|
||||||
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :무작위 산업시설 건설
|
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :무작위 산업시설 건설
|
||||||
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}무작위로 산업시설을 건설합니다
|
STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}무작위로 산업시설을 건설합니다
|
||||||
STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}가격: {YELLOW}{CURRENCY_LONG}
|
STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}가격: {YELLOW}{CURRENCY_LONG}
|
||||||
@@ -3538,7 +3538,7 @@ STR_SAVELOAD_OSKTITLE :{BLACK}게임
|
|||||||
# World generation
|
# World generation
|
||||||
STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}세계 제작
|
STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}세계 제작
|
||||||
STR_MAPGEN_MAPSIZE :{BLACK}지도 크기:
|
STR_MAPGEN_MAPSIZE :{BLACK}지도 크기:
|
||||||
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}지도의 크기를 칸 수 기준으로 선택하십시오. 사용 가능한 지도의 칸 수는 선택한 값보다 조금 적습니다
|
STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}지도의 크기를 칸 수 기준으로 선택하세요. 사용 가능한 지도의 칸 수는 설정한 값보다 조금 작을 것입니다
|
||||||
STR_MAPGEN_BY :{BLACK}x
|
STR_MAPGEN_BY :{BLACK}x
|
||||||
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}도시의 수:
|
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}도시의 수:
|
||||||
STR_MAPGEN_DATE :{BLACK}날짜:
|
STR_MAPGEN_DATE :{BLACK}날짜:
|
||||||
@@ -3664,7 +3664,7 @@ STR_NEWGRF_SETTINGS_INCOMPATIBLE :{RED}이 OpenTT
|
|||||||
|
|
||||||
# NewGRF save preset window
|
# NewGRF save preset window
|
||||||
STR_SAVE_PRESET_CAPTION :{WHITE}프리셋 저장
|
STR_SAVE_PRESET_CAPTION :{WHITE}프리셋 저장
|
||||||
STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}사용 가능한 프리셋 목록입니다. 아래에 같은 이름을 복사하려면 선택하십시오
|
STR_SAVE_PRESET_LIST_TOOLTIP :{BLACK}사용 가능한 프리셋 목록입니다. 아래에 같은 이름을 복사하려면 선택하세요
|
||||||
STR_SAVE_PRESET_TITLE :{BLACK}프리셋의 이름을 입력하세요
|
STR_SAVE_PRESET_TITLE :{BLACK}프리셋의 이름을 입력하세요
|
||||||
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}저장할 프리셋에 지정할 이름입니다
|
STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}저장할 프리셋에 지정할 이름입니다
|
||||||
STR_SAVE_PRESET_CANCEL :{BLACK}취소
|
STR_SAVE_PRESET_CANCEL :{BLACK}취소
|
||||||
@@ -4569,8 +4569,8 @@ STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}이 열
|
|||||||
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}교체할 수 있는 차량
|
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}교체할 수 있는 차량
|
||||||
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}이 열은 교체할 수 있는 차량 목록입니다
|
STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}이 열은 교체할 수 있는 차량 목록입니다
|
||||||
|
|
||||||
STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}교체할 기관차 종류를 선택하십시오
|
STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}교체할 기관차 종류를 선택하세요
|
||||||
STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}새로 교체될 기관차를 선택하십시오
|
STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}새로 교체될 기관차를 선택하세요
|
||||||
|
|
||||||
STR_REPLACE_VEHICLES_START :{BLACK}차량 교체 시작
|
STR_REPLACE_VEHICLES_START :{BLACK}차량 교체 시작
|
||||||
STR_REPLACE_VEHICLES_NOW :모든 차량을 지금 교체
|
STR_REPLACE_VEHICLES_NOW :모든 차량을 지금 교체
|
||||||
@@ -4786,7 +4786,7 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}변경
|
|||||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}변경 수송량: {GOLD}{CARGO_LONG}{}{BLACK}개조시 회수되는 비용: {GREEN}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}변경 수송량: {GOLD}{CARGO_LONG}{}{BLACK}개조시 회수되는 비용: {GREEN}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}변경 수송량: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}개조 비용: {RED}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}변경 수송량: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}개조 비용: {RED}{CURRENCY_LONG}
|
||||||
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}변경 수송량: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}개조시 회수되는 비용: {GREEN}{CURRENCY_LONG}
|
STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}변경 수송량: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}개조시 회수되는 비용: {GREEN}{CURRENCY_LONG}
|
||||||
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}개조할 차량을 선택하십시오. 마우스로 드래그하면 여러 개의 차량을 선택 가능합니다. 빈 곳을 클릭하면 전체를 선택합니다. CTRL+클릭하면 차량 전체를 선택할 수 있습니다
|
STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}개조할 차량을 선택하세요. 마우스로 드래그하면 여러 개의 차량을 선택 가능합니다. 빈 곳을 클릭하면 전체를 선택합니다. CTRL+클릭하면 차량 전체를 선택할 수 있습니다
|
||||||
|
|
||||||
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}열차가 수송할 화물의 종류를 선택하세요
|
STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}열차가 수송할 화물의 종류를 선택하세요
|
||||||
STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}차량이 수송할 화물의 종류를 선택하세요
|
STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}차량이 수송할 화물의 종류를 선택하세요
|
||||||
@@ -4840,7 +4840,7 @@ STR_ORDER_DROP_CARGO_TYPE_UNLOAD :화물 종류
|
|||||||
STR_ORDER_TOOLTIP_UNLOAD :{BLACK}선택한 목적지에서 화물을 하차할 방식을 변경합니다
|
STR_ORDER_TOOLTIP_UNLOAD :{BLACK}선택한 목적지에서 화물을 하차할 방식을 변경합니다
|
||||||
|
|
||||||
STR_ORDER_REFIT :{BLACK}개조
|
STR_ORDER_REFIT :{BLACK}개조
|
||||||
STR_ORDER_REFIT_TOOLTIP :{BLACK}이 경로에서 열차를 어떤 화물을 받을 수 있게 개조할 것인지 선택하십시오. CTRL+클릭하면 개조 설정을 해제합니다.
|
STR_ORDER_REFIT_TOOLTIP :{BLACK}이 경로에서 열차를 어떤 화물을 받을 수 있게 개조할 것인지 선택하세요. CTRL+클릭하면 개조 설정을 해제합니다
|
||||||
STR_ORDER_REFIT_AUTO :{BLACK}개조
|
STR_ORDER_REFIT_AUTO :{BLACK}개조
|
||||||
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}이 경로에서 개조할 화물의 종류를 선택하세요. CTRL+클릭하면 개조 설정을 해제합니다. 개조 기능은 개조 가능한 차량에서만 사용할 수 있습니다.
|
STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}이 경로에서 개조할 화물의 종류를 선택하세요. CTRL+클릭하면 개조 설정을 해제합니다. 개조 기능은 개조 가능한 차량에서만 사용할 수 있습니다.
|
||||||
STR_ORDER_DROP_REFIT_AUTO :특정 화물로
|
STR_ORDER_DROP_REFIT_AUTO :특정 화물로
|
||||||
|
@@ -195,6 +195,7 @@ STR_COLOUR_DEFAULT :Padrão
|
|||||||
STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph
|
STR_UNITS_VELOCITY_IMPERIAL :{COMMA} mph
|
||||||
STR_UNITS_VELOCITY_METRIC :{COMMA} km/h
|
STR_UNITS_VELOCITY_METRIC :{COMMA} km/h
|
||||||
STR_UNITS_VELOCITY_SI :{COMMA} m/s
|
STR_UNITS_VELOCITY_SI :{COMMA} m/s
|
||||||
|
STR_UNITS_VELOCITY_GAMEUNITS :{DECIMAL}{NBSP} blocos / dia
|
||||||
|
|
||||||
STR_UNITS_POWER_IMPERIAL :{COMMA}cv
|
STR_UNITS_POWER_IMPERIAL :{COMMA}cv
|
||||||
STR_UNITS_POWER_METRIC :{COMMA}cv
|
STR_UNITS_POWER_METRIC :{COMMA}cv
|
||||||
@@ -236,6 +237,7 @@ STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Seleccio
|
|||||||
STR_BUTTON_SORT_BY :{BLACK}Ordenar por
|
STR_BUTTON_SORT_BY :{BLACK}Ordenar por
|
||||||
STR_BUTTON_RENAME :{BLACK}Renomear
|
STR_BUTTON_RENAME :{BLACK}Renomear
|
||||||
STR_BUTTON_CATCHMENT :{BLACK}Cobertura
|
STR_BUTTON_CATCHMENT :{BLACK}Cobertura
|
||||||
|
STR_TOOLTIP_CATCHMENT :{BLACK}Alternar exibição da área de cobertura
|
||||||
|
|
||||||
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela
|
STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Fechar janela
|
||||||
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - arraste isto para mover a janela
|
STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título da janela - arraste isto para mover a janela
|
||||||
@@ -312,6 +314,8 @@ STR_SORT_BY_CARGO_CAPACITY :Capacidade de C
|
|||||||
STR_SORT_BY_RANGE :Alcance
|
STR_SORT_BY_RANGE :Alcance
|
||||||
STR_SORT_BY_POPULATION :População
|
STR_SORT_BY_POPULATION :População
|
||||||
STR_SORT_BY_RATING :Classificação
|
STR_SORT_BY_RATING :Classificação
|
||||||
|
STR_SORT_BY_NUM_VEHICLES :Número de veículos
|
||||||
|
STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Lucro médio este ano
|
||||||
|
|
||||||
# Group by options for vehicle list
|
# Group by options for vehicle list
|
||||||
|
|
||||||
@@ -1436,6 +1440,7 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Deixar ferramen
|
|||||||
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter as ferramentas de construção de pontes, túneis, etc. abertas após uso
|
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Manter as ferramentas de construção de pontes, túneis, etc. abertas após uso
|
||||||
STR_CONFIG_SETTING_EXPENSES_LAYOUT :Agrupar despesas na janela de finanças da empresa: {STRING}
|
STR_CONFIG_SETTING_EXPENSES_LAYOUT :Agrupar despesas na janela de finanças da empresa: {STRING}
|
||||||
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definir a disposição da janela de despesas da companhia
|
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definir a disposição da janela de despesas da companhia
|
||||||
|
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Remova automaticamente os sinais durante a construção do trilho se os sinais estiverem no caminho. Observe que isso pode potencialmente levar a acidentes de comboio.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_SOUND_TICKER :Notícias: {STRING}
|
STR_CONFIG_SETTING_SOUND_TICKER :Notícias: {STRING}
|
||||||
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Reproduzir efeito sonoro para notícias resumidas
|
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Reproduzir efeito sonoro para notícias resumidas
|
||||||
@@ -1543,8 +1548,10 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completo
|
|||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Noticias a cores aparecem em: {STRING}
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Noticias a cores aparecem em: {STRING}
|
||||||
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os anúncios de jornal começam a ser mostrados a cores. Antes deste ano, serão mostrados a preto e branco.
|
STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Ano em que os anúncios de jornal começam a ser mostrados a cores. Antes deste ano, serão mostrados a preto e branco.
|
||||||
STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING}
|
STR_CONFIG_SETTING_STARTING_YEAR :Data de início: {STRING}
|
||||||
|
STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :A economia suave faz mudanças na produção com mais frequência e em etapas menores. Economia congelada impede mudanças de produção e fechamentos de indústrias. Esta configuração pode não ter efeito se os tipos de indústria forem fornecidos por um NewGRF.
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES :Permite comprar acções de outras empresas: {STRING}
|
STR_CONFIG_SETTING_ALLOW_SHARES :Permite comprar acções de outras empresas: {STRING}
|
||||||
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Quando activo, permite a compra e venda de acções de companhias. As acções apenas estarão disponíveis quando a companhia atinge uma determinada idade.
|
STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Quando activo, permite a compra e venda de acções de companhias. As acções apenas estarão disponíveis quando a companhia atinge uma determinada idade.
|
||||||
|
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Idade mínima da empresa para negociar ações: {STRING}
|
||||||
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Definir a idade mínima de uma companhia a partir da qual outros jogadores poderão comprar ou vender ações da mesma.
|
STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Definir a idade mínima de uma companhia a partir da qual outros jogadores poderão comprar ou vender ações da mesma.
|
||||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentagem do lucro do serviço a pagar em trajectos de um transporte que alimenta outro transporte: {STRING}
|
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Percentagem do lucro do serviço a pagar em trajectos de um transporte que alimenta outro transporte: {STRING}
|
||||||
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentagem da receita dada a trajectos intermédios em sistemas em que um transporte alimenta outro, dando maior controlo sobre a receita
|
STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Percentagem da receita dada a trajectos intermédios em sistemas em que um transporte alimenta outro, dando maior controlo sobre a receita
|
||||||
@@ -1593,6 +1600,7 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Linear
|
|||||||
|
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Criação de árvores no decorrer do jogo: {STRING}
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Criação de árvores no decorrer do jogo: {STRING}
|
||||||
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controlar o aparecimento aleatório de árvores durante o jogo. Isto poderá afectar indústrias que dependem do crescimento de árvores, como as madeireiras
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controlar o aparecimento aleatório de árvores durante o jogo. Isto poderá afectar indústrias que dependem do crescimento de árvores, como as madeireiras
|
||||||
|
STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Não cresça, não espalhe {RED} (quebra a serraria)
|
||||||
|
|
||||||
STR_CONFIG_SETTING_TOOLBAR_POS :Posição da barra de ferramentas principal: {STRING}
|
STR_CONFIG_SETTING_TOOLBAR_POS :Posição da barra de ferramentas principal: {STRING}
|
||||||
STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Posição horizontal da barra de ferramentas principal no topo do ecrã
|
STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Posição horizontal da barra de ferramentas principal no topo do ecrã
|
||||||
@@ -1802,6 +1810,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Tem a c
|
|||||||
# Cheat window
|
# Cheat window
|
||||||
STR_CHEATS :{WHITE}Truques
|
STR_CHEATS :{WHITE}Truques
|
||||||
STR_CHEATS_TOOLTIP :{BLACK}As caixas de verificação indicam se já usou este truque antes
|
STR_CHEATS_TOOLTIP :{BLACK}As caixas de verificação indicam se já usou este truque antes
|
||||||
|
STR_CHEATS_NOTE :{BLACK}Nota: qualquer uso dessas configurações será registrado pelo savegame
|
||||||
STR_CHEAT_MONEY :{LTBLUE}Aumentar dinheiro em {CURRENCY_LONG}
|
STR_CHEAT_MONEY :{LTBLUE}Aumentar dinheiro em {CURRENCY_LONG}
|
||||||
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando como empresa: {ORANGE}{COMMA}
|
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jogando como empresa: {ORANGE}{COMMA}
|
||||||
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldozer mágico (destrói indústrias, objectos amovíveis etc.): {ORANGE}{STRING}
|
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldozer mágico (destrói indústrias, objectos amovíveis etc.): {ORANGE}{STRING}
|
||||||
@@ -1953,6 +1962,8 @@ STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Entrar n
|
|||||||
STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Renovar servidor
|
STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Renovar servidor
|
||||||
STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Renovar a informação do servidor
|
STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Renovar a informação do servidor
|
||||||
|
|
||||||
|
STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Search LAN
|
||||||
|
STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK} Pesquisa de rede local para servidores
|
||||||
STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Adicionar servidor
|
STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Adicionar servidor
|
||||||
STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Adiciona um servidor à lista que será sempre verificado se existem jogos a decorrer.
|
STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Adiciona um servidor à lista que será sempre verificado se existem jogos a decorrer.
|
||||||
STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Iniciar servidor
|
STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Iniciar servidor
|
||||||
@@ -2177,11 +2188,13 @@ STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Jogo ainda em p
|
|||||||
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Jogo ainda em pausa ({STRING}, {STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Jogo ainda em pausa ({STRING}, {STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Jogo ainda em pausa ({STRING}, {STRING}, {STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Jogo ainda em pausa ({STRING}, {STRING}, {STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :Jogo ainda em pausa ({STRING}, {STRING}, {STRING}, {STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :Jogo ainda em pausa ({STRING}, {STRING}, {STRING}, {STRING})
|
||||||
|
STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_5 :Jogo ainda pausado ({STRING}, {STRING}, {STRING}, {STRING}, {STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Jogo a Correr ({STRING})
|
STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Jogo a Correr ({STRING})
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :número de jogadores
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :número de jogadores
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :a ligar clientes
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :a ligar clientes
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :manual
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :manual
|
||||||
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :script de jogo
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :script de jogo
|
||||||
|
STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :esperando pela atualização do gráfico de links
|
||||||
############ End of leave-in-this-order
|
############ End of leave-in-this-order
|
||||||
STR_NETWORK_MESSAGE_CLIENT_LEAVING :a sair
|
STR_NETWORK_MESSAGE_CLIENT_LEAVING :a sair
|
||||||
STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} entrou no jogo
|
STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} entrou no jogo
|
||||||
@@ -2504,6 +2517,9 @@ STR_TREES_RANDOM_TYPE :{BLACK}Árvores
|
|||||||
STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Colocar árvores de tipo aleatório. Shift alterna construir/mostrar custo estimado
|
STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Colocar árvores de tipo aleatório. Shift alterna construir/mostrar custo estimado
|
||||||
STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar aleatoriamente
|
STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Plantar aleatoriamente
|
||||||
STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantar árvores aleatoriamente no terreno
|
STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Plantar árvores aleatoriamente no terreno
|
||||||
|
STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plante árvores isoladas arrastando-as pela paisagem.
|
||||||
|
STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Arvoredo
|
||||||
|
STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Floresta
|
||||||
|
|
||||||
# Land generation window (SE)
|
# Land generation window (SE)
|
||||||
STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Gerar Terreno
|
STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Gerar Terreno
|
||||||
@@ -2724,6 +2740,7 @@ STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMA
|
|||||||
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} fotograma/s
|
STR_FRAMERATE_FPS_WARN :{YELLOW}{DECIMAL} fotograma/s
|
||||||
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} fotograma/s
|
STR_FRAMERATE_FPS_BAD :{RED}{DECIMAL} fotograma/s
|
||||||
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
|
STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES}
|
||||||
|
STR_FRAMERATE_BYTES_WARN :{YELLOW}{BYTES}
|
||||||
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COMMA} ms
|
||||||
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s
|
||||||
############ Leave those lines in this order!!
|
############ Leave those lines in this order!!
|
||||||
@@ -3360,6 +3377,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL :{WHITE}{CURRENC
|
|||||||
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Indústrias
|
STR_INDUSTRY_DIRECTORY_CAPTION :{WHITE}Indústrias
|
||||||
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Nenhuma -
|
STR_INDUSTRY_DIRECTORY_NONE :{ORANGE}- Nenhuma -
|
||||||
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
STR_INDUSTRY_DIRECTORY_ITEM_NOPROD :{ORANGE}{INDUSTRY}
|
||||||
|
STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} e mais {NUM} ...
|
||||||
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomes de indústrias - clique no nome para centrar-se na indústria. Ctrl+Clique abre um novo visualizador na localização da indústria
|
STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nomes de indústrias - clique no nome para centrar-se na indústria. Ctrl+Clique abre um novo visualizador na localização da indústria
|
||||||
|
|
||||||
# Industry view
|
# Industry view
|
||||||
@@ -3691,6 +3709,7 @@ STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Forçar
|
|||||||
# Vehicle view
|
# Vehicle view
|
||||||
STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE}
|
STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE}
|
||||||
|
|
||||||
|
STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK} Centralize a vista principal na localização da aeronave. Um clique duplo seguirá a aeronave na visualização principal. Ctrl + Clique abre uma nova janela de visualização na localização da aeronave
|
||||||
|
|
||||||
STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Mandar comboio para o depósito
|
STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Mandar comboio para o depósito
|
||||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Mandar veículo para o depósito
|
STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Mandar veículo para o depósito
|
||||||
@@ -3722,6 +3741,8 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar
|
|||||||
STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalhes do navio
|
STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalhes do navio
|
||||||
STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalhes da aeronave
|
STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalhes da aeronave
|
||||||
|
|
||||||
|
STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Ação do comboio atual - clique para parar / iniciar o comboio
|
||||||
|
STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Ação atual da aeronave - clique para parar / iniciar a aeronave
|
||||||
|
|
||||||
|
|
||||||
# Messages in the start stop button in the vehicle view
|
# Messages in the start stop button in the vehicle view
|
||||||
@@ -4128,6 +4149,8 @@ STR_AI_LIST_ACCEPT_TOOLTIP :{BLACK}Seleccio
|
|||||||
STR_AI_LIST_CANCEL :{BLACK}Cancelar
|
STR_AI_LIST_CANCEL :{BLACK}Cancelar
|
||||||
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Não mudar o script
|
STR_AI_LIST_CANCEL_TOOLTIP :{BLACK}Não mudar o script
|
||||||
|
|
||||||
|
STR_SCREENSHOT_SCREENSHOT :{BLACK}Captura de tela normal
|
||||||
|
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Minimap screenshot
|
||||||
|
|
||||||
# AI Parameters
|
# AI Parameters
|
||||||
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parâmetros
|
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parâmetros
|
||||||
@@ -4187,6 +4210,7 @@ STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Jogo gravado nu
|
|||||||
STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Impossível ler ficheiro
|
STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Impossível ler ficheiro
|
||||||
STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Impossível escrever ficheiro
|
STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Impossível escrever ficheiro
|
||||||
STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Falha ao verificar integridade de dados
|
STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Falha ao verificar integridade de dados
|
||||||
|
STR_GAME_SAVELOAD_ERROR_PATCHPACK :Salvar o jogo é feito com uma versão modificada
|
||||||
STR_GAME_SAVELOAD_NOT_AVAILABLE :<indisponível>
|
STR_GAME_SAVELOAD_NOT_AVAILABLE :<indisponível>
|
||||||
STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}O jogo foi salvo numa versão sem suporte para eléctricos. Todos os elétricos foram removidos.
|
STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}O jogo foi salvo numa versão sem suporte para eléctricos. Todos os elétricos foram removidos.
|
||||||
|
|
||||||
|
@@ -816,6 +816,7 @@ STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLA
|
|||||||
STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Nerovný terén
|
STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Nerovný terén
|
||||||
STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Trávnatý terén
|
STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Trávnatý terén
|
||||||
STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Holý terén
|
STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Holý terén
|
||||||
|
STR_SMALLMAP_LEGENDA_RAINFOREST :{TINY_FONT}{BLACK}Dážďový prales
|
||||||
STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Polia
|
STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Polia
|
||||||
STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Stromy
|
STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Stromy
|
||||||
STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Skaly
|
STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Skaly
|
||||||
@@ -1518,6 +1519,8 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Zachovať stave
|
|||||||
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Zachovaj okno s nástrojmi na stavbu mostov/tunelov otvorené aj po použití
|
STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Zachovaj okno s nástrojmi na stavbu mostov/tunelov otvorené aj po použití
|
||||||
STR_CONFIG_SETTING_EXPENSES_LAYOUT :Zoskupiť výdavky v okne financií spoločnosti: {STRING}
|
STR_CONFIG_SETTING_EXPENSES_LAYOUT :Zoskupiť výdavky v okne financií spoločnosti: {STRING}
|
||||||
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definujte rozloženie okna s financiami.
|
STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definujte rozloženie okna s financiami.
|
||||||
|
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automaticky odstraňovať návestidlá pri výstavbe železnice: {STRING}
|
||||||
|
STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automaticky odstraňovať návestidla pri výstavbe železnice, ak návestidlá blokujú výstavbu. To však môže niekedy smerovať k zrážke vlakov.
|
||||||
|
|
||||||
STR_CONFIG_SETTING_SOUND_TICKER :Oznamovač správ: {STRING}
|
STR_CONFIG_SETTING_SOUND_TICKER :Oznamovač správ: {STRING}
|
||||||
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Prehrať zvuk pri zhrnutých správach
|
STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Prehrať zvuk pri zhrnutých správach
|
||||||
@@ -1902,6 +1905,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Ste si
|
|||||||
# Cheat window
|
# Cheat window
|
||||||
STR_CHEATS :{WHITE}Cheaty
|
STR_CHEATS :{WHITE}Cheaty
|
||||||
STR_CHEATS_TOOLTIP :{BLACK}Zaškrtávacie pole indikuje opakované použite cheatu
|
STR_CHEATS_TOOLTIP :{BLACK}Zaškrtávacie pole indikuje opakované použite cheatu
|
||||||
|
STR_CHEATS_NOTE :{BLACK}Poznámka: použitie akéhokoľvek z týchto nastavení bude zaznamenané v uloženej hre
|
||||||
STR_CHEAT_MONEY :{LTBLUE}Zvýšiť hotovosť o {CURRENCY_LONG}
|
STR_CHEAT_MONEY :{LTBLUE}Zvýšiť hotovosť o {CURRENCY_LONG}
|
||||||
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Hrať za spoločnosť: {ORANGE}{COMMA}
|
STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Hrať za spoločnosť: {ORANGE}{COMMA}
|
||||||
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magický buldozér (odstráni priemysel a nehnuteľnosti): {ORANGE}{STRING}
|
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magický buldozér (odstráni priemysel a nehnuteľnosti): {ORANGE}{STRING}
|
||||||
@@ -2298,6 +2302,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} sa
|
|||||||
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} založil novú spoločnosť (č. {2:NUM})
|
STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} založil novú spoločnosť (č. {2:NUM})
|
||||||
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} opustil hru ({2:STRING})
|
STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} opustil hru ({2:STRING})
|
||||||
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} zmenil/-a svoje meno na {STRING}
|
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} zmenil/-a svoje meno na {STRING}
|
||||||
|
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} dal {2:CURRENCY_LONG} spoločnosti {1:STRING}
|
||||||
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Server ukoncil relaciu
|
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Server ukoncil relaciu
|
||||||
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Server sa reštartuje...{}Čakajte prosím...
|
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Server sa reštartuje...{}Čakajte prosím...
|
||||||
STR_NETWORK_MESSAGE_KICKED :*** Hráč {STRING} bol vyhodený. Dôvod: ({STRING})
|
STR_NETWORK_MESSAGE_KICKED :*** Hráč {STRING} bol vyhodený. Dôvod: ({STRING})
|
||||||
@@ -2417,6 +2422,7 @@ STR_JOIN_WAYPOINT_CAPTION :{WHITE}Spojiť
|
|||||||
STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Postaviť smerový bod oddelene
|
STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Postaviť smerový bod oddelene
|
||||||
|
|
||||||
# Generic toolbar
|
# Generic toolbar
|
||||||
|
STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Vypnuté, pretože v súčasnosti nie sú dostuné žiadne vozidlá pre tento typ infraštruktúry
|
||||||
|
|
||||||
# Rail construction toolbar
|
# Rail construction toolbar
|
||||||
STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Výstavba železnice
|
STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Výstavba železnice
|
||||||
@@ -2694,6 +2700,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Vyber pr
|
|||||||
|
|
||||||
# Land area window
|
# Land area window
|
||||||
STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Informácie o pozemku
|
STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Informácie o pozemku
|
||||||
|
STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu políčka. Ctrl+klik otvorí nové okno s pohľadom na políčko
|
||||||
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Náklady na odstránenie: {LTBLUE}N/A
|
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Náklady na odstránenie: {LTBLUE}N/A
|
||||||
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Náklady na odstránenie: {RED}{CURRENCY_LONG}
|
STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Náklady na odstránenie: {RED}{CURRENCY_LONG}
|
||||||
STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Zisk pri odstránení: {LTBLUE}{CURRENCY_LONG}
|
STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Zisk pri odstránení: {LTBLUE}{CURRENCY_LONG}
|
||||||
@@ -3164,8 +3171,9 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Brať/ne
|
|||||||
|
|
||||||
# Sign window
|
# Sign window
|
||||||
STR_EDIT_SIGN_CAPTION :{WHITE}Upraviť text popisu
|
STR_EDIT_SIGN_CAPTION :{WHITE}Upraviť text popisu
|
||||||
STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Prejst na dalsiu znacku
|
STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu popisu. Ctrl+klik otvorí nové okno s pohľadom na popis
|
||||||
STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Prejsť na predchádzajúcu značku
|
STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Prejsť na ďalší popis
|
||||||
|
STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Prejsť na predchádzajúci popis
|
||||||
|
|
||||||
STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Zadajte názov pre popis
|
STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Zadajte názov pre popis
|
||||||
|
|
||||||
@@ -3440,7 +3448,8 @@ STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Premiest
|
|||||||
STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Sídlo spoločnosti je možné premiestniť za 1% hodnoty spoločnosti. Shift+klik zobrazí odhadovanú cenu
|
STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Sídlo spoločnosti je možné premiestniť za 1% hodnoty spoločnosti. Shift+klik zobrazí odhadovanú cenu
|
||||||
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detaily
|
STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detaily
|
||||||
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Zobraziť podrobné políčka infraštruktúry
|
STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Zobraziť podrobné políčka infraštruktúry
|
||||||
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Presuň peniaze do tejto spoločnosti
|
STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Dať peniaze
|
||||||
|
STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Presunúť peniaze do tejto spoločnosti
|
||||||
|
|
||||||
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nová tvár
|
STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nová tvár
|
||||||
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Vybrať novú tvár prezidenta
|
STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Vybrať novú tvár prezidenta
|
||||||
@@ -3458,7 +3467,7 @@ STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Predať
|
|||||||
|
|
||||||
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Názov spoločnosti
|
STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Názov spoločnosti
|
||||||
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Meno prezidenta
|
STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Meno prezidenta
|
||||||
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Vložte čiastku ktorú chcete dať
|
STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Zadajte množstvo peňazí, ktoré chcete dať spoločnosti
|
||||||
|
|
||||||
STR_BUY_COMPANY_MESSAGE :{WHITE}Hľadáme záujemcu o kúpu našej spoločnosti{}{}Chcete kúpiť našu spoločnosť {COMPANY} za {CURRENCY_LONG}?
|
STR_BUY_COMPANY_MESSAGE :{WHITE}Hľadáme záujemcu o kúpu našej spoločnosti{}{}Chcete kúpiť našu spoločnosť {COMPANY} za {CURRENCY_LONG}?
|
||||||
|
|
||||||
@@ -3819,6 +3828,10 @@ STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Zachovan
|
|||||||
# Vehicle view
|
# Vehicle view
|
||||||
STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE}
|
STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE}
|
||||||
|
|
||||||
|
STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu vlaku. Dvojité kliknutie bude sledovať vlak v hlavnom pohľade. Ctrl+klik otvorí nové okno s pohľadom na vlak
|
||||||
|
STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu vozidla. Dvojité kliknutie bude sledovať vozidlo v hlavnom pohľade. Ctrl+klik otvorí nové okno s pohľadom na vozidlo
|
||||||
|
STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu lode. Dvojité kliknutie bude sledovať loď v hlavnom pohľade. Ctrl+klik otvorí nové okno s pohľadom na loď
|
||||||
|
STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Vycentrovať pohľad na pozíciu lietadla. Dvojité kliknutie bude sledovať lietadlo v hlavnom pohľade. Ctrl+klik otvorí nové okno s pohľadom na lietadlo
|
||||||
|
|
||||||
STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať vlak do depa. Ctrl+klik iba servis
|
STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať vlak do depa. Ctrl+klik iba servis
|
||||||
STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať vozidlo do garáže. Ctrl+klik iba servis.
|
STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Poslať vozidlo do garáže. Ctrl+klik iba servis.
|
||||||
@@ -3855,6 +3868,7 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Činnos
|
|||||||
STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Činnosť aktuálnej lode - kliknite na zastavenie/spustenie lode
|
STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Činnosť aktuálnej lode - kliknite na zastavenie/spustenie lode
|
||||||
STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Činnosť aktuálneho lietadla - kliknite na zastavenie/spustenie lietadla
|
STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Činnosť aktuálneho lietadla - kliknite na zastavenie/spustenie lietadla
|
||||||
|
|
||||||
|
STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Vycentrovať pohľad na cieľovú pozíciu. Ctrl+klik otvorí nové okno s pohľadom na cieľ
|
||||||
|
|
||||||
# Messages in the start stop button in the vehicle view
|
# Messages in the start stop button in the vehicle view
|
||||||
STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Nakláda / Vykláda
|
STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Nakláda / Vykláda
|
||||||
@@ -4082,6 +4096,7 @@ STR_ORDER_REFIT_STOP_ORDER :(Prestavba na {
|
|||||||
STR_ORDER_STOP_ORDER :(Zastav)
|
STR_ORDER_STOP_ORDER :(Zastav)
|
||||||
|
|
||||||
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING}
|
||||||
|
STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Nemožno použiť stanicu){POP_COLOUR} {STRING} {STATION} {STRING}
|
||||||
|
|
||||||
STR_ORDER_IMPLICIT :(Predpokladané)
|
STR_ORDER_IMPLICIT :(Predpokladané)
|
||||||
|
|
||||||
@@ -4406,7 +4421,8 @@ STR_ERROR_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Nemôže
|
|||||||
STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... úver už bol splatený
|
STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... úver už bol splatený
|
||||||
STR_ERROR_CURRENCY_REQUIRED :{WHITE}... {CURRENCY_LONG} potrebuješ
|
STR_ERROR_CURRENCY_REQUIRED :{WHITE}... {CURRENCY_LONG} potrebuješ
|
||||||
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Úver sa nedá splatiť...
|
STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Úver sa nedá splatiť...
|
||||||
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Nie je mozne poskytnut peniaze, ktore su pozicane z banky ...
|
STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Nie je možné presunúť peniaze, ktoré sú požičané z banky...
|
||||||
|
STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Nie je možné presunúť peniaze tejto spoločnosti...
|
||||||
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Spoločnosť nie je možné kúpiť ...
|
STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Spoločnosť nie je možné kúpiť ...
|
||||||
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Nemôžeš postaviť sídlo spoločnosti...
|
STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Nemôžeš postaviť sídlo spoločnosti...
|
||||||
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Nemôžeš kúpiť 25% podiel v tejto spoločnosti...
|
STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Nemôžeš kúpiť 25% podiel v tejto spoločnosti...
|
||||||
@@ -4533,6 +4549,8 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Nesprávny typ
|
|||||||
STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} je dlho po výmene
|
STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} je dlho po výmene
|
||||||
STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Neboli využité žiadne pravidlá pre obnovu.
|
STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Neboli využité žiadne pravidlá pre obnovu.
|
||||||
STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(finančný limit)
|
STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(finančný limit)
|
||||||
|
STR_ERROR_AUTOREPLACE_INCOMPATIBLE_CARGO :{WHITE}Nové vozidlo nemôže prevážať {STRING}
|
||||||
|
STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}Nové vozidlo nemôže uskutočniť prestavbu v príkaze {NUM}
|
||||||
|
|
||||||
# Rail construction errors
|
# Rail construction errors
|
||||||
STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Nemožná kombinácia trate
|
STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Nemožná kombinácia trate
|
||||||
|
@@ -317,7 +317,7 @@ const char *NetworkGameSocketHandler::ReceiveCommand(Packet *p, CommandPacket *c
|
|||||||
cp->company = (CompanyID)p->Recv_uint8();
|
cp->company = (CompanyID)p->Recv_uint8();
|
||||||
cp->cmd = p->Recv_uint32();
|
cp->cmd = p->Recv_uint32();
|
||||||
if (!IsValidCommand(cp->cmd)) return "invalid command";
|
if (!IsValidCommand(cp->cmd)) return "invalid command";
|
||||||
if (GetCommandFlags(cp->cmd) & CMD_OFFLINE) return "offline only command";
|
if (GetCommandFlags(cp->cmd) & CMD_OFFLINE) return "single-player only command";
|
||||||
if ((cp->cmd & CMD_FLAGS_MASK) != 0) return "invalid command flag";
|
if ((cp->cmd & CMD_FLAGS_MASK) != 0) return "invalid command flag";
|
||||||
|
|
||||||
cp->p1 = p->Recv_uint32();
|
cp->p1 = p->Recv_uint32();
|
||||||
|
@@ -345,10 +345,9 @@ protected:
|
|||||||
if (r == 0) r = b->info.compatible - a->info.compatible;
|
if (r == 0) r = b->info.compatible - a->info.compatible;
|
||||||
/* Passworded servers should be below unpassworded servers */
|
/* Passworded servers should be below unpassworded servers */
|
||||||
if (r == 0) r = a->info.use_password - b->info.use_password;
|
if (r == 0) r = a->info.use_password - b->info.use_password;
|
||||||
/* Finally sort on the number of clients of the server */
|
|
||||||
if (r == 0) return NGameClientSorter(a, b);
|
|
||||||
|
|
||||||
return r < 0;
|
/* Finally sort on the number of clients of the server in reverse order. */
|
||||||
|
return (r != 0) ? r < 0: !NGameClientSorter(a, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Sort the server list */
|
/** Sort the server list */
|
||||||
|
@@ -1317,7 +1317,7 @@ void SwitchToMode(SwitchMode new_mode)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SM_SAVE_GAME: // Save game.
|
case SM_SAVE_GAME: // Save game.
|
||||||
/* Make network saved games on pause compatible to singleplayer */
|
/* Make network saved games on pause compatible to singleplayer mode */
|
||||||
if (SaveOrLoad(_file_to_saveload.name, SLO_SAVE, DFT_GAME_FILE, NO_DIRECTORY) != SL_OK) {
|
if (SaveOrLoad(_file_to_saveload.name, SLO_SAVE, DFT_GAME_FILE, NO_DIRECTORY) != SL_OK) {
|
||||||
SetDParamStr(0, GetSaveLoadErrorString());
|
SetDParamStr(0, GetSaveLoadErrorString());
|
||||||
ShowErrorMessage(STR_JUST_RAW_STRING, INVALID_STRING_ID, WL_ERROR);
|
ShowErrorMessage(STR_JUST_RAW_STRING, INVALID_STRING_ID, WL_ERROR);
|
||||||
|
@@ -641,7 +641,7 @@ bool AfterLoadGame()
|
|||||||
ResetSignalHandlers();
|
ResetSignalHandlers();
|
||||||
return false;
|
return false;
|
||||||
} else if (!_networking || _network_server) {
|
} else if (!_networking || _network_server) {
|
||||||
/* If we are in single player, i.e. not networking, and loading the
|
/* If we are in singleplayer mode, i.e. not networking, and loading the
|
||||||
* savegame or we are loading the savegame as network server we do
|
* savegame or we are loading the savegame as network server we do
|
||||||
* not want to be bothered by being paused because of the automatic
|
* not want to be bothered by being paused because of the automatic
|
||||||
* reason of a network server, e.g. joining clients or too few
|
* reason of a network server, e.g. joining clients or too few
|
||||||
|
@@ -1427,6 +1427,7 @@ static bool GrowTownWithTunnel(const Town* t, const TileIndex tile, const DiagDi
|
|||||||
/* Only tunnel under a mountain if the slope is continuous for at least 4 tiles. We want tunneling to be a last resort for large hills. */
|
/* Only tunnel under a mountain if the slope is continuous for at least 4 tiles. We want tunneling to be a last resort for large hills. */
|
||||||
TileIndex slope_tile = tile;
|
TileIndex slope_tile = tile;
|
||||||
for (uint8 tiles = 0; tiles < 4; tiles++) {
|
for (uint8 tiles = 0; tiles < 4; tiles++) {
|
||||||
|
if (!IsValidTile(slope_tile)) return false;
|
||||||
slope = GetTileSlope(slope_tile);
|
slope = GetTileSlope(slope_tile);
|
||||||
if (slope != InclinedSlope(tunnel_dir) && !IsSteepSlope(slope) && !IsSlopeWithOneCornerRaised(slope)) return false;
|
if (slope != InclinedSlope(tunnel_dir) && !IsSteepSlope(slope) && !IsSlopeWithOneCornerRaised(slope)) return false;
|
||||||
slope_tile += delta;
|
slope_tile += delta;
|
||||||
|
@@ -3696,13 +3696,16 @@ public:
|
|||||||
/* Draw the flag plus orders. */
|
/* Draw the flag plus orders. */
|
||||||
bool rtl = (_current_text_dir == TD_RTL);
|
bool rtl = (_current_text_dir == TD_RTL);
|
||||||
uint text_offset = std::max(GetSpriteSize(SPR_FLAG_VEH_STOPPED).width, GetSpriteSize(SPR_FLAG_VEH_RUNNING).width) + WD_IMGBTN_LEFT + WD_IMGBTN_RIGHT;
|
uint text_offset = std::max(GetSpriteSize(SPR_FLAG_VEH_STOPPED).width, GetSpriteSize(SPR_FLAG_VEH_RUNNING).width) + WD_IMGBTN_LEFT + WD_IMGBTN_RIGHT;
|
||||||
|
int height = r.bottom - r.top;
|
||||||
int text_left = r.left + (rtl ? (uint)WD_FRAMERECT_LEFT : text_offset);
|
int text_left = r.left + (rtl ? (uint)WD_FRAMERECT_LEFT : text_offset);
|
||||||
int text_right = r.right - (rtl ? text_offset : (uint)WD_FRAMERECT_RIGHT);
|
int text_right = r.right - (rtl ? text_offset : (uint)WD_FRAMERECT_RIGHT);
|
||||||
int image_left = (rtl ? text_right + 1 : r.left) + WD_IMGBTN_LEFT;
|
int text_top = r.top + WD_FRAMERECT_TOP + (height - WD_FRAMERECT_TOP - WD_FRAMERECT_BOTTOM - FONT_HEIGHT_NORMAL) / 2;
|
||||||
int image = ((v->vehstatus & VS_STOPPED) != 0) ? SPR_FLAG_VEH_STOPPED : SPR_FLAG_VEH_RUNNING;
|
int image = ((v->vehstatus & VS_STOPPED) != 0) ? SPR_FLAG_VEH_STOPPED : SPR_FLAG_VEH_RUNNING;
|
||||||
|
int image_left = (rtl ? text_right + 1 : r.left) + WD_IMGBTN_LEFT;
|
||||||
|
int image_top = r.top + WD_IMGBTN_TOP + (height - WD_IMGBTN_TOP + WD_IMGBTN_BOTTOM - GetSpriteSize(image).height) / 2;
|
||||||
int lowered = this->IsWidgetLowered(WID_VV_START_STOP) ? 1 : 0;
|
int lowered = this->IsWidgetLowered(WID_VV_START_STOP) ? 1 : 0;
|
||||||
DrawSprite(image, PAL_NONE, image_left + lowered, r.top + WD_IMGBTN_TOP + lowered);
|
DrawSprite(image, PAL_NONE, image_left + lowered, image_top + lowered);
|
||||||
DrawString(text_left + lowered, text_right + lowered, r.top + WD_FRAMERECT_TOP + lowered, str, text_colour, SA_HOR_CENTER);
|
DrawString(text_left + lowered, text_right + lowered, text_top + lowered, str, text_colour, SA_HOR_CENTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnClick(Point pt, int widget, int click_count) override
|
void OnClick(Point pt, int widget, int click_count) override
|
||||||
|
@@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
/** @file sdl2_v.cpp Implementation of the SDL2 video driver. */
|
/** @file sdl2_v.cpp Implementation of the SDL2 video driver. */
|
||||||
|
|
||||||
#ifdef WITH_SDL2
|
|
||||||
|
|
||||||
#include "../stdafx.h"
|
#include "../stdafx.h"
|
||||||
#include "../openttd.h"
|
#include "../openttd.h"
|
||||||
#include "../gfx_func.h"
|
#include "../gfx_func.h"
|
||||||
@@ -52,7 +50,8 @@ static FVideoDriver_SDL iFVideoDriver_SDL;
|
|||||||
|
|
||||||
static SDL_Window *_sdl_window;
|
static SDL_Window *_sdl_window;
|
||||||
static SDL_Surface *_sdl_surface;
|
static SDL_Surface *_sdl_surface;
|
||||||
static SDL_Surface *_sdl_realscreen;
|
static SDL_Surface *_sdl_rgb_surface;
|
||||||
|
static SDL_Surface *_sdl_real_surface;
|
||||||
|
|
||||||
/** Whether the drawing is/may be done in a separate thread. */
|
/** Whether the drawing is/may be done in a separate thread. */
|
||||||
static bool _draw_threaded;
|
static bool _draw_threaded;
|
||||||
@@ -287,7 +286,7 @@ void VideoDriver_SDL::MakeDirty(int left, int top, int width, int height)
|
|||||||
_num_dirty_rects++;
|
_num_dirty_rects++;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void UpdatePalette(bool init = false)
|
static void UpdatePalette()
|
||||||
{
|
{
|
||||||
SDL_Color pal[256];
|
SDL_Color pal[256];
|
||||||
|
|
||||||
@@ -300,8 +299,19 @@ static void UpdatePalette(bool init = false)
|
|||||||
|
|
||||||
SDL_SetPaletteColors(_sdl_palette, pal, _local_palette.first_dirty, _local_palette.count_dirty);
|
SDL_SetPaletteColors(_sdl_palette, pal, _local_palette.first_dirty, _local_palette.count_dirty);
|
||||||
SDL_SetSurfacePalette(_sdl_surface, _sdl_palette);
|
SDL_SetSurfacePalette(_sdl_surface, _sdl_palette);
|
||||||
|
}
|
||||||
|
|
||||||
if (_sdl_surface != _sdl_realscreen && init) {
|
static void MakePalette()
|
||||||
|
{
|
||||||
|
if (_sdl_palette == nullptr) {
|
||||||
|
_sdl_palette = SDL_AllocPalette(256);
|
||||||
|
if (_sdl_palette == nullptr) usererror("SDL2: Couldn't allocate palette: %s", SDL_GetError());
|
||||||
|
}
|
||||||
|
|
||||||
|
_local_palette = _cur_palette;
|
||||||
|
UpdatePalette();
|
||||||
|
|
||||||
|
if (_sdl_surface != _sdl_real_surface) {
|
||||||
/* When using a shadow surface, also set our palette on the real screen. This lets SDL
|
/* When using a shadow surface, also set our palette on the real screen. This lets SDL
|
||||||
* allocate as many colors (or approximations) as
|
* allocate as many colors (or approximations) as
|
||||||
* possible, instead of using only the default SDL
|
* possible, instead of using only the default SDL
|
||||||
@@ -322,35 +332,24 @@ static void UpdatePalette(bool init = false)
|
|||||||
* palette change and the blitting below, so we only set
|
* palette change and the blitting below, so we only set
|
||||||
* the real palette during initialisation.
|
* the real palette during initialisation.
|
||||||
*/
|
*/
|
||||||
SDL_SetSurfacePalette(_sdl_realscreen, _sdl_palette);
|
SDL_SetSurfacePalette(_sdl_real_surface, _sdl_palette);
|
||||||
}
|
|
||||||
|
|
||||||
if (_sdl_surface != _sdl_realscreen && !init) {
|
|
||||||
/* We're not using real hardware palette, but are letting SDL
|
|
||||||
* approximate the palette during shadow -> screen copy. To
|
|
||||||
* change the palette, we need to recopy the entire screen.
|
|
||||||
*
|
|
||||||
* Note that this operation can slow down the rendering
|
|
||||||
* considerably, especially since changing the shadow
|
|
||||||
* palette will need the next blit to re-detect the
|
|
||||||
* best mapping of shadow palette colors to real palette
|
|
||||||
* colors from scratch.
|
|
||||||
*/
|
|
||||||
SDL_BlitSurface(_sdl_surface, nullptr, _sdl_realscreen, nullptr);
|
|
||||||
SDL_UpdateWindowSurface(_sdl_window);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void InitPalette()
|
void VideoDriver_SDL::CheckPaletteAnim()
|
||||||
{
|
{
|
||||||
|
if (_cur_palette.count_dirty == 0) return;
|
||||||
|
|
||||||
_local_palette = _cur_palette;
|
_local_palette = _cur_palette;
|
||||||
_local_palette.first_dirty = 0;
|
this->MakeDirty(0, 0, _screen.width, _screen.height);
|
||||||
_local_palette.count_dirty = 256;
|
|
||||||
UpdatePalette(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CheckPaletteAnim()
|
static void DrawSurfaceToScreen()
|
||||||
{
|
{
|
||||||
|
PerformanceMeasurer framerate(PFE_VIDEO);
|
||||||
|
|
||||||
|
if (_num_dirty_rects == 0) return;
|
||||||
|
|
||||||
if (_cur_palette.count_dirty != 0) {
|
if (_cur_palette.count_dirty != 0) {
|
||||||
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
|
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
|
||||||
|
|
||||||
@@ -371,11 +370,6 @@ static void CheckPaletteAnim()
|
|||||||
}
|
}
|
||||||
_cur_palette.count_dirty = 0;
|
_cur_palette.count_dirty = 0;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
static void DrawSurfaceToScreen()
|
|
||||||
{
|
|
||||||
PerformanceMeasurer framerate(PFE_VIDEO);
|
|
||||||
|
|
||||||
int n = _num_dirty_rects;
|
int n = _num_dirty_rects;
|
||||||
if (n == 0) return;
|
if (n == 0) return;
|
||||||
@@ -394,15 +388,15 @@ static void DrawSurfaceToScreen()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (update_whole_screen) {
|
if (update_whole_screen) {
|
||||||
if (_sdl_surface != _sdl_realscreen) {
|
if (_sdl_surface != _sdl_real_surface) {
|
||||||
SDL_BlitSurface(_sdl_surface, nullptr, _sdl_realscreen, nullptr);
|
SDL_BlitSurface(_sdl_surface, nullptr, _sdl_real_surface, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_UpdateWindowSurface(_sdl_window);
|
SDL_UpdateWindowSurface(_sdl_window);
|
||||||
} else {
|
} else {
|
||||||
if (_sdl_surface != _sdl_realscreen) {
|
if (_sdl_surface != _sdl_real_surface) {
|
||||||
for (int i = 0; i < n; i++) {
|
for (int i = 0; i < _num_dirty_rects; i++) {
|
||||||
SDL_BlitSurface(_sdl_surface, &_dirty_rects[i], _sdl_realscreen, &_dirty_rects[i]);
|
SDL_BlitSurface(_sdl_surface, &_dirty_rects[i], _sdl_real_surface, &_dirty_rects[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SDL_Rect update_rect = { _sdl_surface->w, _sdl_surface->h, 0, 0 };
|
SDL_Rect update_rect = { _sdl_surface->w, _sdl_surface->h, 0, 0 };
|
||||||
@@ -417,6 +411,8 @@ static void DrawSurfaceToScreen()
|
|||||||
|
|
||||||
SDL_UpdateWindowSurfaceRects(_sdl_window, &update_rect, 1);
|
SDL_UpdateWindowSurfaceRects(_sdl_window, &update_rect, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_num_dirty_rects = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DrawSurfaceToScreenThread()
|
static void DrawSurfaceToScreenThread()
|
||||||
@@ -429,33 +425,44 @@ static void DrawSurfaceToScreenThread()
|
|||||||
_draw_signal->wait(*_draw_mutex);
|
_draw_signal->wait(*_draw_mutex);
|
||||||
|
|
||||||
while (_draw_continue) {
|
while (_draw_continue) {
|
||||||
CheckPaletteAnim();
|
|
||||||
/* Then just draw and wait till we stop */
|
/* Then just draw and wait till we stop */
|
||||||
DrawSurfaceToScreen();
|
DrawSurfaceToScreen();
|
||||||
_draw_signal->wait(lock);
|
_draw_signal->wait(lock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GetVideoModes()
|
static const Dimension default_resolutions[] = {
|
||||||
{
|
{ 640, 480 },
|
||||||
int modes = SDL_GetNumDisplayModes(0);
|
{ 800, 600 },
|
||||||
if (modes == 0) usererror("sdl: no modes available");
|
{ 1024, 768 },
|
||||||
|
{ 1152, 864 },
|
||||||
|
{ 1280, 800 },
|
||||||
|
{ 1280, 960 },
|
||||||
|
{ 1280, 1024 },
|
||||||
|
{ 1400, 1050 },
|
||||||
|
{ 1600, 1200 },
|
||||||
|
{ 1680, 1050 },
|
||||||
|
{ 1920, 1200 }
|
||||||
|
};
|
||||||
|
|
||||||
|
static void FindResolutions()
|
||||||
|
{
|
||||||
_resolutions.clear();
|
_resolutions.clear();
|
||||||
|
|
||||||
SDL_DisplayMode mode;
|
for (int i = 0; i < SDL_GetNumDisplayModes(0); i++) {
|
||||||
for (int i = 0; i < modes; i++) {
|
SDL_DisplayMode mode;
|
||||||
SDL_GetDisplayMode(0, i, &mode);
|
SDL_GetDisplayMode(0, i, &mode);
|
||||||
|
|
||||||
uint w = mode.w;
|
if (mode.w < 640 || mode.h < 480) continue;
|
||||||
uint h = mode.h;
|
if (std::find(_resolutions.begin(), _resolutions.end(), Dimension(mode.w, mode.h)) != _resolutions.end()) continue;
|
||||||
|
_resolutions.emplace_back(mode.w, mode.h);
|
||||||
if (w < 640 || h < 480) continue; // reject too small resolutions
|
|
||||||
|
|
||||||
if (std::find(_resolutions.begin(), _resolutions.end(), Dimension(w, h)) != _resolutions.end()) continue;
|
|
||||||
_resolutions.emplace_back(w, h);
|
|
||||||
}
|
}
|
||||||
if (_resolutions.empty()) usererror("No usable screen resolutions found!\n");
|
|
||||||
|
/* We have found no resolutions, show the default list */
|
||||||
|
if (_resolutions.empty()) {
|
||||||
|
_resolutions.assign(std::begin(default_resolutions), std::end(default_resolutions));
|
||||||
|
}
|
||||||
|
|
||||||
SortResolutions();
|
SortResolutions();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -481,109 +488,127 @@ static void GetAvailableVideoMode(uint *w, uint *h)
|
|||||||
*h = _resolutions[best].height;
|
*h = _resolutions[best].height;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool VideoDriver_SDL::CreateMainSurface(uint w, uint h, bool resize)
|
static uint FindStartupDisplay(uint startup_display)
|
||||||
{
|
{
|
||||||
SDL_Surface *newscreen;
|
int num_displays = SDL_GetNumVideoDisplays();
|
||||||
char caption[50];
|
|
||||||
int bpp = BlitterFactory::GetCurrentBlitter()->GetScreenDepth();
|
|
||||||
|
|
||||||
GetAvailableVideoMode(&w, &h);
|
/* If the user indicated a valid monitor, use that. */
|
||||||
|
if (IsInsideBS(startup_display, 0, num_displays)) return startup_display;
|
||||||
|
|
||||||
DEBUG(driver, 1, "SDL2: using mode %ux%ux%d", w, h, bpp);
|
/* Mouse position decides which display to use. */
|
||||||
|
int mx, my;
|
||||||
/* Free any previously allocated shadow surface */
|
SDL_GetGlobalMouseState(&mx, &my);
|
||||||
if (_sdl_surface != nullptr && _sdl_surface != _sdl_realscreen) SDL_FreeSurface(_sdl_surface);
|
for (int display = 0; display < num_displays; ++display) {
|
||||||
|
|
||||||
seprintf(caption, lastof(caption), "OpenTTD %s", _openttd_revision);
|
|
||||||
|
|
||||||
if (_sdl_window == nullptr) {
|
|
||||||
Uint32 flags = SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE;
|
|
||||||
|
|
||||||
if (_fullscreen) {
|
|
||||||
flags |= SDL_WINDOW_FULLSCREEN;
|
|
||||||
}
|
|
||||||
|
|
||||||
int x = SDL_WINDOWPOS_UNDEFINED, y = SDL_WINDOWPOS_UNDEFINED;
|
|
||||||
SDL_Rect r;
|
SDL_Rect r;
|
||||||
if (SDL_GetDisplayBounds(this->startup_display, &r) == 0) {
|
if (SDL_GetDisplayBounds(display, &r) == 0 && IsInsideBS(mx, r.x, r.w) && IsInsideBS(my, r.y, r.h)) {
|
||||||
x = r.x + std::max(0, r.w - static_cast<int>(w)) / 2;
|
DEBUG(driver, 1, "SDL2: Mouse is at (%d, %d), use display %d (%d, %d, %d, %d)", mx, my, display, r.x, r.y, r.w, r.h);
|
||||||
y = r.y + std::max(0, r.h - static_cast<int>(h)) / 4; // decent desktops have taskbars at the bottom
|
return display;
|
||||||
}
|
|
||||||
_sdl_window = SDL_CreateWindow(
|
|
||||||
caption,
|
|
||||||
x, y,
|
|
||||||
w, h,
|
|
||||||
flags);
|
|
||||||
|
|
||||||
if (_sdl_window == nullptr) {
|
|
||||||
DEBUG(driver, 0, "SDL2: Couldn't allocate a window to draw on");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string icon_path = FioFindFullPath(BASESET_DIR, "openttd.32.bmp");
|
|
||||||
if (!icon_path.empty()) {
|
|
||||||
/* Give the application an icon */
|
|
||||||
SDL_Surface *icon = SDL_LoadBMP(icon_path.c_str());
|
|
||||||
if (icon != nullptr) {
|
|
||||||
/* Get the colourkey, which will be magenta */
|
|
||||||
uint32 rgbmap = SDL_MapRGB(icon->format, 255, 0, 255);
|
|
||||||
|
|
||||||
SDL_SetColorKey(icon, SDL_TRUE, rgbmap);
|
|
||||||
SDL_SetWindowIcon(_sdl_window, icon);
|
|
||||||
SDL_FreeSurface(icon);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool VideoDriver_SDL::CreateMainWindow(uint w, uint h)
|
||||||
|
{
|
||||||
|
if (_sdl_window != nullptr) return true;
|
||||||
|
|
||||||
|
Uint32 flags = SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE;
|
||||||
|
|
||||||
|
if (_fullscreen) {
|
||||||
|
flags |= SDL_WINDOW_FULLSCREEN;
|
||||||
|
}
|
||||||
|
|
||||||
|
int x = SDL_WINDOWPOS_UNDEFINED, y = SDL_WINDOWPOS_UNDEFINED;
|
||||||
|
SDL_Rect r;
|
||||||
|
if (SDL_GetDisplayBounds(this->startup_display, &r) == 0) {
|
||||||
|
x = r.x + std::max(0, r.w - static_cast<int>(w)) / 2;
|
||||||
|
y = r.y + std::max(0, r.h - static_cast<int>(h)) / 4; // decent desktops have taskbars at the bottom
|
||||||
|
}
|
||||||
|
|
||||||
|
char caption[50];
|
||||||
|
seprintf(caption, lastof(caption), "OpenTTD %s", _openttd_revision);
|
||||||
|
_sdl_window = SDL_CreateWindow(
|
||||||
|
caption,
|
||||||
|
x, y,
|
||||||
|
w, h,
|
||||||
|
flags);
|
||||||
|
|
||||||
|
if (_sdl_window == nullptr) {
|
||||||
|
DEBUG(driver, 0, "SDL2: Couldn't allocate a window to draw on: %s", SDL_GetError());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string icon_path = FioFindFullPath(BASESET_DIR, "openttd.32.bmp");
|
||||||
|
if (!icon_path.empty()) {
|
||||||
|
/* Give the application an icon */
|
||||||
|
SDL_Surface *icon = SDL_LoadBMP(icon_path.c_str());
|
||||||
|
if (icon != nullptr) {
|
||||||
|
/* Get the colourkey, which will be magenta */
|
||||||
|
uint32 rgbmap = SDL_MapRGB(icon->format, 255, 0, 255);
|
||||||
|
|
||||||
|
SDL_SetColorKey(icon, SDL_TRUE, rgbmap);
|
||||||
|
SDL_SetWindowIcon(_sdl_window, icon);
|
||||||
|
SDL_FreeSurface(icon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool VideoDriver_SDL::CreateMainSurface(uint w, uint h, bool resize)
|
||||||
|
{
|
||||||
|
int bpp = BlitterFactory::GetCurrentBlitter()->GetScreenDepth();
|
||||||
|
|
||||||
|
GetAvailableVideoMode(&w, &h);
|
||||||
|
DEBUG(driver, 1, "SDL2: using mode %ux%ux%d", w, h, bpp);
|
||||||
|
|
||||||
|
if (!this->CreateMainWindow(w, h)) return false;
|
||||||
if (resize) SDL_SetWindowSize(_sdl_window, w, h);
|
if (resize) SDL_SetWindowSize(_sdl_window, w, h);
|
||||||
|
|
||||||
newscreen = SDL_GetWindowSurface(_sdl_window);
|
_sdl_real_surface = SDL_GetWindowSurface(_sdl_window);
|
||||||
if (newscreen == NULL) {
|
if (_sdl_real_surface == nullptr) {
|
||||||
DEBUG(driver, 0, "SDL2: Couldn't get window surface: %s", SDL_GetError());
|
DEBUG(driver, 0, "SDL2: Couldn't get window surface: %s", SDL_GetError());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_sdl_realscreen = newscreen;
|
/* Free any previously allocated rgb surface. */
|
||||||
|
if (_sdl_rgb_surface != nullptr) {
|
||||||
|
SDL_FreeSurface(_sdl_rgb_surface);
|
||||||
|
_sdl_rgb_surface = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
if (bpp == 8) {
|
if (bpp == 8) {
|
||||||
newscreen = SDL_CreateRGBSurface(0, w, h, 8, 0, 0, 0, 0);
|
_sdl_rgb_surface = SDL_CreateRGBSurface(0, w, h, 8, 0, 0, 0, 0);
|
||||||
|
|
||||||
if (newscreen == nullptr) {
|
if (_sdl_rgb_surface == nullptr) {
|
||||||
DEBUG(driver, 0, "SDL2: Couldn't allocate shadow surface: %s", SDL_GetError());
|
DEBUG(driver, 0, "SDL2: Couldn't allocate shadow surface: %s", SDL_GetError());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (_sdl_palette == nullptr) {
|
_sdl_surface = _sdl_rgb_surface;
|
||||||
_sdl_palette = SDL_AllocPalette(256);
|
} else {
|
||||||
}
|
_sdl_surface = _sdl_real_surface;
|
||||||
|
|
||||||
if (_sdl_palette == nullptr) {
|
|
||||||
DEBUG(driver, 0, "SDL_AllocPalette() failed: %s", SDL_GetError());
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Delay drawing for this cycle; the next cycle will redraw the whole screen */
|
/* Delay drawing for this cycle; the next cycle will redraw the whole screen */
|
||||||
_num_dirty_rects = 0;
|
_num_dirty_rects = 0;
|
||||||
|
|
||||||
_screen.width = newscreen->w;
|
_screen.width = _sdl_surface->w;
|
||||||
_screen.height = newscreen->h;
|
_screen.height = _sdl_surface->h;
|
||||||
_screen.pitch = newscreen->pitch / (bpp / 8);
|
_screen.pitch = _sdl_surface->pitch / (bpp / 8);
|
||||||
_screen.dst_ptr = newscreen->pixels;
|
_screen.dst_ptr = _sdl_surface->pixels;
|
||||||
_sdl_surface = newscreen;
|
|
||||||
|
MakePalette();
|
||||||
|
|
||||||
/* When in full screen, we will always have the mouse cursor
|
/* When in full screen, we will always have the mouse cursor
|
||||||
* within the window, even though SDL does not give us the
|
* within the window, even though SDL does not give us the
|
||||||
* appropriate event to know this. */
|
* appropriate event to know this. */
|
||||||
if (_fullscreen) _cursor.in_window = true;
|
if (_fullscreen) _cursor.in_window = true;
|
||||||
|
|
||||||
Blitter *blitter = BlitterFactory::GetCurrentBlitter();
|
BlitterFactory::GetCurrentBlitter()->PostResize();
|
||||||
blitter->PostResize();
|
|
||||||
|
|
||||||
InitPalette();
|
|
||||||
|
|
||||||
GameSizeChanged();
|
GameSizeChanged();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -957,7 +982,7 @@ int VideoDriver_SDL::PollEvent()
|
|||||||
case SDL_WINDOWEVENT: {
|
case SDL_WINDOWEVENT: {
|
||||||
if (ev.window.event == SDL_WINDOWEVENT_EXPOSED) {
|
if (ev.window.event == SDL_WINDOWEVENT_EXPOSED) {
|
||||||
// Force a redraw of the entire screen.
|
// Force a redraw of the entire screen.
|
||||||
_num_dirty_rects = MAX_DIRTY_RECTS + 1;
|
this->MakeDirty(0, 0, _screen.width, _screen.height);
|
||||||
} else if (ev.window.event == SDL_WINDOWEVENT_SIZE_CHANGED) {
|
} else if (ev.window.event == SDL_WINDOWEVENT_SIZE_CHANGED) {
|
||||||
int w = std::max(ev.window.data1, 64);
|
int w = std::max(ev.window.data1, 64);
|
||||||
int h = std::max(ev.window.data2, 64);
|
int h = std::max(ev.window.data2, 64);
|
||||||
@@ -1021,26 +1046,12 @@ const char *VideoDriver_SDL::Start(const StringList &parm)
|
|||||||
}
|
}
|
||||||
if (ret_code < 0) return SDL_GetError();
|
if (ret_code < 0) return SDL_GetError();
|
||||||
|
|
||||||
this->startup_display = GetDriverParamInt(parm, "display", -1);
|
|
||||||
int num_displays = SDL_GetNumVideoDisplays();
|
|
||||||
if (!IsInsideBS(this->startup_display, 0, num_displays)) {
|
|
||||||
/* Mouse position decides which display to use */
|
|
||||||
int mx, my;
|
|
||||||
SDL_GetGlobalMouseState(&mx, &my);
|
|
||||||
this->startup_display = 0; // used when mouse is on no screen...
|
|
||||||
for (int display = 0; display < num_displays; ++display) {
|
|
||||||
SDL_Rect r;
|
|
||||||
if (SDL_GetDisplayBounds(display, &r) == 0 && IsInsideBS(mx, r.x, r.w) && IsInsideBS(my, r.y, r.h)) {
|
|
||||||
DEBUG(driver, 1, "SDL2: Mouse is at (%d, %d), use display %d (%d, %d, %d, %d)", mx, my, display, r.x, r.y, r.w, r.h);
|
|
||||||
this->startup_display = display;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this->UpdateAutoResolution();
|
this->UpdateAutoResolution();
|
||||||
|
|
||||||
GetVideoModes();
|
FindResolutions();
|
||||||
|
|
||||||
|
this->startup_display = FindStartupDisplay(GetDriverParamInt(parm, "display", -1));
|
||||||
|
|
||||||
if (!CreateMainSurface(_cur_resolution.width, _cur_resolution.height, false)) {
|
if (!CreateMainSurface(_cur_resolution.width, _cur_resolution.height, false)) {
|
||||||
return SDL_GetError();
|
return SDL_GetError();
|
||||||
}
|
}
|
||||||
@@ -1144,7 +1155,7 @@ void VideoDriver_SDL::LoopOnce()
|
|||||||
GameLoopPaletteAnimations();
|
GameLoopPaletteAnimations();
|
||||||
|
|
||||||
UpdateWindows();
|
UpdateWindows();
|
||||||
_local_palette = _cur_palette;
|
this->CheckPaletteAnim();
|
||||||
} else {
|
} else {
|
||||||
/* Release the thread while sleeping */
|
/* Release the thread while sleeping */
|
||||||
if (_draw_mutex != nullptr) {
|
if (_draw_mutex != nullptr) {
|
||||||
@@ -1168,7 +1179,6 @@ void VideoDriver_SDL::LoopOnce()
|
|||||||
_draw_signal->notify_one();
|
_draw_signal->notify_one();
|
||||||
} else {
|
} else {
|
||||||
/* Oh, we didn't have threads, then just draw unthreaded */
|
/* Oh, we didn't have threads, then just draw unthreaded */
|
||||||
CheckPaletteAnim();
|
|
||||||
DrawSurfaceToScreen();
|
DrawSurfaceToScreen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1179,7 +1189,7 @@ void VideoDriver_SDL::MainLoop()
|
|||||||
last_cur_ticks = cur_ticks;
|
last_cur_ticks = cur_ticks;
|
||||||
next_tick = cur_ticks + MILLISECONDS_PER_TICK;
|
next_tick = cur_ticks + MILLISECONDS_PER_TICK;
|
||||||
|
|
||||||
CheckPaletteAnim();
|
this->CheckPaletteAnim();
|
||||||
|
|
||||||
if (_draw_threaded) {
|
if (_draw_threaded) {
|
||||||
/* Initialise the mutex first, because that's the thing we *need*
|
/* Initialise the mutex first, because that's the thing we *need*
|
||||||
@@ -1315,5 +1325,3 @@ Dimension VideoDriver_SDL::GetScreenSize() const
|
|||||||
|
|
||||||
return { static_cast<uint>(mode.w), static_cast<uint>(mode.h) };
|
return { static_cast<uint>(mode.w), static_cast<uint>(mode.h) };
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* WITH_SDL2 */
|
|
||||||
|
@@ -49,6 +49,8 @@ private:
|
|||||||
void LoopOnce();
|
void LoopOnce();
|
||||||
void MainLoopCleanup();
|
void MainLoopCleanup();
|
||||||
bool CreateMainSurface(uint w, uint h, bool resize);
|
bool CreateMainSurface(uint w, uint h, bool resize);
|
||||||
|
bool CreateMainWindow(uint w, uint h);
|
||||||
|
void CheckPaletteAnim();
|
||||||
|
|
||||||
#ifdef __EMSCRIPTEN__
|
#ifdef __EMSCRIPTEN__
|
||||||
/* Convert a constant pointer back to a non-constant pointer to a member function. */
|
/* Convert a constant pointer back to a non-constant pointer to a member function. */
|
||||||
|
Reference in New Issue
Block a user