Merge branch 'master' into jgrpp
# Conflicts: # src/fileio.cpp # src/fileio_func.h # src/industry_cmd.cpp # src/ini.cpp # src/openttd.cpp # src/os/windows/win32_main.cpp # src/settingsgen/settingsgen.cpp # src/strgen/strgen.cpp # src/strings.cpp
This commit is contained in:
@@ -610,7 +610,7 @@ DEF_CONSOLE_CMD(ConRemove)
|
|||||||
_console_file_list_savegame.ValidateFileList();
|
_console_file_list_savegame.ValidateFileList();
|
||||||
const FiosItem *item = _console_file_list_savegame.FindItem(file);
|
const FiosItem *item = _console_file_list_savegame.FindItem(file);
|
||||||
if (item != nullptr) {
|
if (item != nullptr) {
|
||||||
if (unlink(item->name.c_str()) != 0) {
|
if (!FioRemove(item->name)) {
|
||||||
IConsolePrint(CC_ERROR, "Failed to delete '{}'.", item->name);
|
IConsolePrint(CC_ERROR, "Failed to delete '{}'.", item->name);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@@ -20,12 +20,6 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
# include <windows.h>
|
|
||||||
#else
|
|
||||||
# include <unistd.h>
|
|
||||||
#endif /* _WIN32 */
|
|
||||||
|
|
||||||
#include "safeguards.h"
|
#include "safeguards.h"
|
||||||
|
|
||||||
std::string _ini_videodriver; ///< The video driver a stored in the configuration file.
|
std::string _ini_videodriver; ///< The video driver a stored in the configuration file.
|
||||||
@@ -130,7 +124,7 @@ bool DriverFactoryBase::SelectDriverImpl(const std::string &name, Driver::Type t
|
|||||||
* hardware acceleration. */
|
* hardware acceleration. */
|
||||||
auto filename = FioFindFullPath(BASE_DIR, HWACCELERATION_TEST_FILE);
|
auto filename = FioFindFullPath(BASE_DIR, HWACCELERATION_TEST_FILE);
|
||||||
if (!filename.empty()) {
|
if (!filename.empty()) {
|
||||||
unlink(filename.c_str());
|
FioRemove(filename);
|
||||||
|
|
||||||
Debug(driver, 1, "Probing {} driver '{}' skipped due to earlier crash", GetDriverTypeName(type), d->name);
|
Debug(driver, 1, "Probing {} driver '{}' skipped due to earlier crash", GetDriverTypeName(type), d->name);
|
||||||
|
|
||||||
@@ -217,7 +211,7 @@ void DriverFactoryBase::MarkVideoDriverOperational()
|
|||||||
* and as we are operational now, remove the hardware acceleration
|
* and as we are operational now, remove the hardware acceleration
|
||||||
* test-file. */
|
* test-file. */
|
||||||
auto filename = FioFindFullPath(BASE_DIR, HWACCELERATION_TEST_FILE);
|
auto filename = FioFindFullPath(BASE_DIR, HWACCELERATION_TEST_FILE);
|
||||||
if (!filename.empty()) unlink(filename.c_str());
|
if (!filename.empty()) FioRemove(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -362,6 +362,21 @@ void FioCreateDirectory(const std::string &name)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a file.
|
||||||
|
* @param filename Filename to remove.
|
||||||
|
* @return true iff the file was removed.
|
||||||
|
*/
|
||||||
|
bool FioRemove(const std::string &filename)
|
||||||
|
{
|
||||||
|
if (unlink(filename.c_str()) != 0) {
|
||||||
|
Debug(misc, 0, "Removing {} failed: {}", filename, StrErrorDumper().GetLast());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renames a file from oldname to newname.
|
* Renames a file from oldname to newname.
|
||||||
* @param oldname file name to rename from
|
* @param oldname file name to rename from
|
||||||
|
@@ -22,6 +22,7 @@ std::string FioFindFullPath(Subdirectory subdir, const std::string &filename);
|
|||||||
std::string FioGetDirectory(Searchpath sp, Subdirectory subdir);
|
std::string FioGetDirectory(Searchpath sp, Subdirectory subdir);
|
||||||
std::string FioFindDirectory(Subdirectory subdir);
|
std::string FioFindDirectory(Subdirectory subdir);
|
||||||
void FioCreateDirectory(const std::string &name);
|
void FioCreateDirectory(const std::string &name);
|
||||||
|
bool FioRemove(const std::string &filename);
|
||||||
bool FioRenameFile(const std::string &oldname, const std::string &newname);
|
bool FioRenameFile(const std::string &oldname, const std::string &newname);
|
||||||
|
|
||||||
const char *FiosGetScreenshotDir();
|
const char *FiosGetScreenshotDir();
|
||||||
|
@@ -251,8 +251,7 @@ std::string FiosMakeHeightmapName(const char *name)
|
|||||||
*/
|
*/
|
||||||
bool FiosDelete(const char *name)
|
bool FiosDelete(const char *name)
|
||||||
{
|
{
|
||||||
std::string filename = FiosMakeSavegameName(name);
|
return FioRemove(FiosMakeSavegameName(name));
|
||||||
return unlink(filename.c_str()) == 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef FiosType fios_getlist_callback_proc(SaveLoadOperation fop, const std::string &filename, const char *ext, char *title, const char *last);
|
typedef FiosType fios_getlist_callback_proc(SaveLoadOperation fop, const std::string &filename, const char *ext, char *title, const char *last);
|
||||||
|
@@ -1916,7 +1916,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type,
|
|||||||
/* Clear all input cargo types */
|
/* Clear all input cargo types */
|
||||||
for (size_t j = 0; j < i->accepts_cargo.size(); j++) i->accepts_cargo[j] = INVALID_CARGO;
|
for (size_t j = 0; j < i->accepts_cargo.size(); j++) i->accepts_cargo[j] = INVALID_CARGO;
|
||||||
/* Query actual types */
|
/* Query actual types */
|
||||||
uint maxcargoes = (indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED) ? (uint)std::size(i->accepts_cargo) : 3;
|
uint maxcargoes = (indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED) ? INDUSTRY_NUM_INPUTS : 3;
|
||||||
for (uint j = 0; j < maxcargoes; j++) {
|
for (uint j = 0; j < maxcargoes; j++) {
|
||||||
uint16_t res = GetIndustryCallback(CBID_INDUSTRY_INPUT_CARGO_TYPES, j, 0, i, type, INVALID_TILE);
|
uint16_t res = GetIndustryCallback(CBID_INDUSTRY_INPUT_CARGO_TYPES, j, 0, i, type, INVALID_TILE);
|
||||||
if (res == CALLBACK_FAILED || GB(res, 0, 8) == UINT8_MAX) break;
|
if (res == CALLBACK_FAILED || GB(res, 0, 8) == UINT8_MAX) break;
|
||||||
@@ -1948,7 +1948,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, IndustryType type,
|
|||||||
/* Clear all output cargo types */
|
/* Clear all output cargo types */
|
||||||
for (size_t j = 0; j < i->produced_cargo.size(); j++) i->produced_cargo[j] = INVALID_CARGO;
|
for (size_t j = 0; j < i->produced_cargo.size(); j++) i->produced_cargo[j] = INVALID_CARGO;
|
||||||
/* Query actual types */
|
/* Query actual types */
|
||||||
uint maxcargoes = (indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED) ? (uint)std::size(i->produced_cargo) : 2;
|
uint maxcargoes = (indspec->behaviour & INDUSTRYBEH_CARGOTYPES_UNLIMITED) ? INDUSTRY_NUM_OUTPUTS : 2;
|
||||||
for (uint j = 0; j < maxcargoes; j++) {
|
for (uint j = 0; j < maxcargoes; j++) {
|
||||||
uint16_t res = GetIndustryCallback(CBID_INDUSTRY_OUTPUT_CARGO_TYPES, j, 0, i, type, INVALID_TILE);
|
uint16_t res = GetIndustryCallback(CBID_INDUSTRY_OUTPUT_CARGO_TYPES, j, 0, i, type, INVALID_TILE);
|
||||||
if (res == CALLBACK_FAILED || GB(res, 0, 8) == UINT8_MAX) break;
|
if (res == CALLBACK_FAILED || GB(res, 0, 8) == UINT8_MAX) break;
|
||||||
|
@@ -450,12 +450,14 @@ public:
|
|||||||
{
|
{
|
||||||
switch (widget) {
|
switch (widget) {
|
||||||
case WID_DPI_MATRIX_WIDGET: {
|
case WID_DPI_MATRIX_WIDGET: {
|
||||||
Dimension d = GetStringBoundingBox(STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES);
|
SetDParamMaxDigits(0, 4);
|
||||||
|
Dimension count = GetStringBoundingBox(STR_JUST_COMMA, FS_SMALL);
|
||||||
|
Dimension d{};
|
||||||
for (const auto &indtype : this->list) {
|
for (const auto &indtype : this->list) {
|
||||||
d = maxdim(d, GetStringBoundingBox(GetIndustrySpec(indtype)->name));
|
d = maxdim(d, GetStringBoundingBox(GetIndustrySpec(indtype)->name));
|
||||||
}
|
}
|
||||||
resize.height = std::max<uint>(this->legend.height, GetCharacterHeight(FS_NORMAL)) + padding.height;
|
resize.height = std::max<uint>({this->legend.height, d.height, count.height}) + padding.height;
|
||||||
d.width += this->legend.width + WidgetDimensions::scaled.hsep_wide + padding.width;
|
d.width += this->legend.width + WidgetDimensions::scaled.hsep_wide + WidgetDimensions::scaled.hsep_normal + count.width + padding.width;
|
||||||
d.height = 5 * resize.height;
|
d.height = 5 * resize.height;
|
||||||
size = maxdim(size, d);
|
size = maxdim(size, d);
|
||||||
break;
|
break;
|
||||||
|
@@ -278,7 +278,7 @@ STR_TOOLTIP_SORT_CRITERIA :{BLACK}Escolher
|
|||||||
STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Escolher o critério de seleção
|
STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Escolher o critério de seleção
|
||||||
STR_BUTTON_SORT_BY :{BLACK}Ordenar por
|
STR_BUTTON_SORT_BY :{BLACK}Ordenar por
|
||||||
STR_BUTTON_CATCHMENT :{BLACK}Cobertura
|
STR_BUTTON_CATCHMENT :{BLACK}Cobertura
|
||||||
STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar/Ocultar a área de cobertura
|
STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar á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
|
||||||
@@ -533,8 +533,8 @@ STR_ABOUT_MENU_SCREENSHOT :Captura de tela
|
|||||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Mostrar taxa de quadros
|
STR_ABOUT_MENU_SHOW_FRAMERATE :Mostrar taxa de quadros
|
||||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Sobre o 'OpenTTD'
|
STR_ABOUT_MENU_ABOUT_OPENTTD :Sobre o 'OpenTTD'
|
||||||
STR_ABOUT_MENU_SPRITE_ALIGNER :Alinhador de sprites
|
STR_ABOUT_MENU_SPRITE_ALIGNER :Alinhador de sprites
|
||||||
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Mostrar/Ocultar as caixas delimitadoras
|
STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Mostrar/Ocultar caixas delimitadoras
|
||||||
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Ativar/Desativar coloração dos blocos sujos
|
STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS :Ativar coloração dos blocos sujos
|
||||||
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Mostrar/Ocultar contornos dos widgets
|
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES :Mostrar/Ocultar contornos dos widgets
|
||||||
|
|
||||||
###length 31
|
###length 31
|
||||||
@@ -792,7 +792,7 @@ STR_SMALLMAP_LEGENDA_INDUSTRIES :{TINY_FONT}{BLA
|
|||||||
STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLACK}Deserto
|
STR_SMALLMAP_LEGENDA_DESERT :{TINY_FONT}{BLACK}Deserto
|
||||||
STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Neve
|
STR_SMALLMAP_LEGENDA_SNOW :{TINY_FONT}{BLACK}Neve
|
||||||
|
|
||||||
STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Mostrar/Ocultar nomes das localidades no mapa
|
STR_SMALLMAP_TOOLTIP_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Mostrar nomes das localidades no mapa
|
||||||
STR_SMALLMAP_CENTER :{BLACK}Centralizar o minimapa na localização atual
|
STR_SMALLMAP_CENTER :{BLACK}Centralizar o minimapa na localização atual
|
||||||
STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM})
|
STR_SMALLMAP_INDUSTRY :{TINY_FONT}{STRING} ({NUM})
|
||||||
STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING}
|
STR_SMALLMAP_LINKSTATS :{TINY_FONT}{STRING}
|
||||||
@@ -803,7 +803,7 @@ STR_SMALLMAP_ENABLE_ALL :{BLACK}Ativar t
|
|||||||
STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altitudes
|
STR_SMALLMAP_SHOW_HEIGHT :{BLACK}Mostrar altitudes
|
||||||
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Não mostrar indústrias no mapa
|
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_INDUSTRIES :{BLACK}Não mostrar indústrias no mapa
|
||||||
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas as indústrias no mapa
|
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_INDUSTRIES :{BLACK}Mostrar todas as indústrias no mapa
|
||||||
STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar/Ocultar mapa de altitudes
|
STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT :{BLACK}Mostrar mapa de altitudes
|
||||||
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades que não pertencem às empresas
|
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades que não pertencem às empresas
|
||||||
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades de todas as empresas
|
STR_SMALLMAP_TOOLTIP_ENABLE_ALL_COMPANIES :{BLACK}Mostrar no mapa as propriedades de todas as empresas
|
||||||
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Não mostrar as cargas no mapa
|
STR_SMALLMAP_TOOLTIP_DISABLE_ALL_CARGOS :{BLACK}Não mostrar as cargas no mapa
|
||||||
@@ -2170,7 +2170,7 @@ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha ao
|
|||||||
# Video initalization errors
|
# Video initalization errors
|
||||||
STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo...
|
STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo...
|
||||||
STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nenhuma GPU compatível encontrada. Aceleração por hardware desativada
|
STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nenhuma GPU compatível encontrada. Aceleração por hardware desativada
|
||||||
STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... controlador gráfico (GPU) travou o jogo. Aceleração por hardware desativada
|
STR_VIDEO_DRIVER_ERROR_HARDWARE_ACCELERATION_CRASH :{WHITE}... controlador gráfico travou o jogo. Aceleração por hardware desativada
|
||||||
|
|
||||||
# Intro window
|
# Intro window
|
||||||
STR_INTRO_CAPTION :{WHITE}OpenTTD {REV}
|
STR_INTRO_CAPTION :{WHITE}OpenTTD {REV}
|
||||||
@@ -2731,15 +2731,15 @@ STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Sair do
|
|||||||
|
|
||||||
# Transparency settings window
|
# Transparency settings window
|
||||||
STR_TRANSPARENCY_CAPTION :{WHITE}Opções de Transparência
|
STR_TRANSPARENCY_CAPTION :{WHITE}Opções de Transparência
|
||||||
STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Ativar/Desativar transparência para placas. Ctrl+Clique para travar
|
STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Ativar transparência para placas. Ctrl+Clique para travar
|
||||||
STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Ativar/Desativar transparência para árvores. Ctrl+Clique para travar
|
STR_TRANSPARENT_TREES_TOOLTIP :{BLACK}Ativar transparência para árvores. Ctrl+Clique para travar
|
||||||
STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Ativar/Desativar transparência para casas. Ctrl+Clique para travar
|
STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}Ativar transparência para casas. Ctrl+Clique para travar
|
||||||
STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Ativar/Desativar transparência para indústrias. Ctrl+Clique para travar
|
STR_TRANSPARENT_INDUSTRIES_TOOLTIP :{BLACK}Ativar transparência para indústrias. Ctrl+Clique para travar
|
||||||
STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Ativar/Desativar transparência para construções como estações, depósitos e pontos de controle. Ctrl+Clique para travar
|
STR_TRANSPARENT_BUILDINGS_TOOLTIP :{BLACK}Ativar transparência para construções como estações, depósitos e pontos de controle. Ctrl+Clique para travar
|
||||||
STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Ativar/Desativar transparência para pontes. Ctrl+Clique para travar
|
STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Ativar transparência para pontes. Ctrl+Clique para travar
|
||||||
STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Ativar/Desativar transparência para estruturas como faróis e antenas. Ctrl+Clique para travar
|
STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Ativar transparência para estruturas como faróis e antenas. Ctrl+Clique para travar
|
||||||
STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Ativar/Desativar transparência para catenária. Ctrl+Clique para travar
|
STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Ativar transparência para catenária. Ctrl+Clique para travar
|
||||||
STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Ativar/Desativar transparência para textos de carregamento e custo/receita. Ctrl+Clique para travar
|
STR_TRANSPARENT_TEXT_TOOLTIP :{BLACK}Ativar transparência para textos de carregamento e custo/receita. Ctrl+Clique para travar
|
||||||
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Definir objetos como invisíveis ao invés de transparentes
|
STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Definir objetos como invisíveis ao invés de transparentes
|
||||||
|
|
||||||
# Linkgraph legend window
|
# Linkgraph legend window
|
||||||
@@ -3431,8 +3431,8 @@ STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Uma list
|
|||||||
|
|
||||||
STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Definir parâmetros
|
STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Definir parâmetros
|
||||||
STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostrar parâmetros
|
STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostrar parâmetros
|
||||||
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Ativar/Desativar paleta
|
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Comutar paleta
|
||||||
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Ativar/Desativar a paleta do NewGRF selecionado.{}Faça isso quando os gráficos deste NewGRF ficarem cor de rosa no jogo
|
STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Comutar a paleta do NewGRF selecionado.{}Faça isso quando os gráficos deste NewGRF parecerem cor-de-rosa no jogo
|
||||||
STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar modificações
|
STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar modificações
|
||||||
|
|
||||||
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Procurar conteúdo em falta online
|
STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Procurar conteúdo em falta online
|
||||||
@@ -3598,7 +3598,7 @@ STR_NEWGRF_SCAN_ARCHIVES :Procurando por
|
|||||||
# Sign list window
|
# Sign list window
|
||||||
STR_SIGN_LIST_CAPTION :{WHITE}Lista de Placas - {COMMA} Placa{P "" s}
|
STR_SIGN_LIST_CAPTION :{WHITE}Lista de Placas - {COMMA} Placa{P "" s}
|
||||||
STR_SIGN_LIST_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas
|
STR_SIGN_LIST_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas
|
||||||
STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar os nomes das placas com a palavra-chave fornecida
|
STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Considerar correspondência de maiúsculas e minúsculas quando comparar os nomes das placas com a palavra-chave fornecida
|
||||||
|
|
||||||
# Sign window
|
# Sign window
|
||||||
STR_EDIT_SIGN_CAPTION :{WHITE}Editar texto da placa
|
STR_EDIT_SIGN_CAPTION :{WHITE}Editar texto da placa
|
||||||
@@ -3661,7 +3661,7 @@ STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Campanha public
|
|||||||
STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Campanha publicitária grande
|
STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Campanha publicitária grande
|
||||||
STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Financiar a reconstrução das estradas locais
|
STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Financiar a reconstrução das estradas locais
|
||||||
STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Construir estátua do proprietário da empresa
|
STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Construir estátua do proprietário da empresa
|
||||||
STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Financiar novos edifícios
|
STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Financiar novas construções
|
||||||
STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar direitos exclusivos de transporte
|
STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar direitos exclusivos de transporte
|
||||||
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a autoridade local
|
STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a autoridade local
|
||||||
###next-name-looks-similar
|
###next-name-looks-similar
|
||||||
@@ -4013,7 +4013,7 @@ STR_VEHICLE_LIST_SEND_AIRCRAFT_TO_HANGAR :Enviar para um
|
|||||||
|
|
||||||
STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Clique para parar todos os veículos desta lista
|
STR_VEHICLE_LIST_MASS_STOP_LIST_TOOLTIP :{BLACK}Clique para parar todos os veículos desta lista
|
||||||
STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Clique para iniciar todos os veículos desta lista
|
STR_VEHICLE_LIST_MASS_START_LIST_TOOLTIP :{BLACK}Clique para iniciar todos os veículos desta lista
|
||||||
STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Ver lista de modelos de locomotivas disponíveis para este tipo de veículo
|
STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Ver lista de modelos disponíveis para esta classe de veículo
|
||||||
|
|
||||||
STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Ordens compartilhadas de {COMMA} Veículo{P "" s}
|
STR_VEHICLE_LIST_SHARED_ORDERS_LIST_CAPTION :{WHITE}Ordens compartilhadas de {COMMA} Veículo{P "" s}
|
||||||
|
|
||||||
@@ -4261,11 +4261,11 @@ STR_ENGINE_PREVIEW_CAPTION :{WHITE}Mensagem
|
|||||||
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Desenvolvemos um novo modelo de {STRING} - você gostaria de ter um ano de uso exclusivo deste veículo, para que possamos avaliar o desempenho dele antes de ser globalmente disponibilizado?
|
STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Desenvolvemos um novo modelo de {STRING} - você gostaria de ter um ano de uso exclusivo deste veículo, para que possamos avaliar o desempenho dele antes de ser globalmente disponibilizado?
|
||||||
|
|
||||||
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}locomotiva ferroviária
|
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}locomotiva ferroviária
|
||||||
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :{G=f}locomotiva ferroviária elétrica
|
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :{G=f}locomotiva elétrica
|
||||||
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=f}locomotiva monotrilho
|
STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE :{G=f}locomotiva monotrilho
|
||||||
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}locomotiva maglev
|
STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE :{G=f}locomotiva maglev
|
||||||
|
|
||||||
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}veículo rodoviário
|
STR_ENGINE_PREVIEW_ROAD_VEHICLE :{G=m}veículo
|
||||||
STR_ENGINE_PREVIEW_TRAM_VEHICLE :{G=m}bonde
|
STR_ENGINE_PREVIEW_TRAM_VEHICLE :{G=m}bonde
|
||||||
|
|
||||||
STR_ENGINE_PREVIEW_AIRCRAFT :{G=f}aeronave
|
STR_ENGINE_PREVIEW_AIRCRAFT :{G=f}aeronave
|
||||||
@@ -4274,7 +4274,7 @@ STR_ENGINE_PREVIEW_SHIP :{G=f}embarcaç
|
|||||||
STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING}
|
STR_ENGINE_PREVIEW_TEXT3 :{BLACK}{STRING}{}{5:STRING}{}{STRING}
|
||||||
STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING}
|
STR_ENGINE_PREVIEW_TEXT4 :{BLACK}{STRING}{}{STRING}{}{STRING}{}{STRING}
|
||||||
STR_ENGINE_PREVIEW_COST_WEIGHT :Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}
|
STR_ENGINE_PREVIEW_COST_WEIGHT :Custo: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}
|
||||||
STR_ENGINE_PREVIEW_COST_MAX_SPEED :Custo: {CURRENCY_LONG} Veloc. máx.: {VELOCITY}
|
STR_ENGINE_PREVIEW_COST_MAX_SPEED :Custo: {CURRENCY_LONG} Velocidade máx.: {VELOCITY}
|
||||||
STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VELOCITY} Potência: {POWER}
|
STR_ENGINE_PREVIEW_SPEED_POWER :Velocidade: {VELOCITY} Potência: {POWER}
|
||||||
STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Veloc.: {VELOCITY} Potência: {POWER} Tração máx.: {FORCE}
|
STR_ENGINE_PREVIEW_SPEED_POWER_MAX_TE :Veloc.: {VELOCITY} Potência: {POWER} Tração máx.: {FORCE}
|
||||||
STR_ENGINE_PREVIEW_TYPE :Tipo de aeronave: {STRING}
|
STR_ENGINE_PREVIEW_TYPE :Tipo de aeronave: {STRING}
|
||||||
@@ -4529,7 +4529,7 @@ STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Adaptar
|
|||||||
# Order view
|
# Order view
|
||||||
STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Ordens)
|
STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Ordens)
|
||||||
STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horários
|
STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horários
|
||||||
STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de horários
|
STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Mudar para visualização de horários
|
||||||
|
|
||||||
STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - clique numa ordem para selecioná-la. Ctrl+Clique para mostrar o destino da ordem
|
STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de ordens - clique numa ordem para selecioná-la. Ctrl+Clique para mostrar o destino da ordem
|
||||||
STR_ORDER_INDEX :{COMMA}:{NBSP}
|
STR_ORDER_INDEX :{COMMA}:{NBSP}
|
||||||
@@ -4701,7 +4701,7 @@ STR_INVALID_ORDER :{RED} (Ordem In
|
|||||||
# Time table window
|
# Time table window
|
||||||
STR_TIMETABLE_TITLE :{WHITE}{VEHICLE} (Horários)
|
STR_TIMETABLE_TITLE :{WHITE}{VEHICLE} (Horários)
|
||||||
STR_TIMETABLE_ORDER_VIEW :{BLACK}Ordens
|
STR_TIMETABLE_ORDER_VIEW :{BLACK}Ordens
|
||||||
STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Mudar para a visualização de ordens
|
STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Mudar para visualização de ordens
|
||||||
|
|
||||||
STR_TIMETABLE_TOOLTIP :{BLACK}Horários - clique numa ordem para selecioná-la
|
STR_TIMETABLE_TOOLTIP :{BLACK}Horários - clique numa ordem para selecioná-la
|
||||||
|
|
||||||
@@ -4746,7 +4746,7 @@ STR_TIMETABLE_CLEAR_SPEED :{BLACK}Remover
|
|||||||
STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique para apagar a velocidade de todas as ordens
|
STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Apagar a velocidade máxima de viagem da ordem selecionada. Ctrl+Clique para apagar a velocidade de todas as ordens
|
||||||
|
|
||||||
STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar Contador de Atrasos
|
STR_TIMETABLE_RESET_LATENESS :{BLACK}Reiniciar Contador de Atrasos
|
||||||
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos para o veículo ficar pontual. Ctrl+Clique para reiniciar todo o grupo e, com isso, fazer o veículo mais atrasado ficar no horário e todos os outros ficarem adiantados
|
STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Reiniciar o contador de atrasos para o veículo ficar pontual. Ctrl+Clique para reiniciar todo o grupo e, com isso, fazer o veículo mais atrasado ficar pontual e todos os outros ficarem adiantados
|
||||||
|
|
||||||
STR_TIMETABLE_AUTOFILL :{BLACK}Preencher automaticamente
|
STR_TIMETABLE_AUTOFILL :{BLACK}Preencher automaticamente
|
||||||
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Preencher o horário automaticamente com os valores da próxima viagem. Ctrl+Clique para tentar manter os tempos de espera
|
STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Preencher o horário automaticamente com os valores da próxima viagem. Ctrl+Clique para tentar manter os tempos de espera
|
||||||
@@ -4783,7 +4783,7 @@ STR_AI_DEBUG_BREAK_ON_LABEL :{BLACK}Parar em
|
|||||||
STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Parar em
|
STR_AI_DEBUG_BREAK_STR_OSKTITLE :{BLACK}Parar em
|
||||||
STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}O jogo é pausado quando uma mensagem de registro da IA for igual a esta sequência de caracteres
|
STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}O jogo é pausado quando uma mensagem de registro da IA for igual a esta sequência de caracteres
|
||||||
STR_AI_DEBUG_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas
|
STR_AI_DEBUG_MATCH_CASE :{BLACK}Diferenciar maiúsculas/minúsculas
|
||||||
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Ativar/Desativar correspondência de maiúsculas/minúsculas quando comparar as mensagens de registro da IA com a sequência de caracteres de parada
|
STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Considerar correspondência de maiúsculas e minúsculas quando comparar as mensagens de registro da IA com a sequência de caracteres de parada
|
||||||
STR_AI_DEBUG_CONTINUE :{BLACK}Continuar
|
STR_AI_DEBUG_CONTINUE :{BLACK}Continuar
|
||||||
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sair da pausa e continuar a IA
|
STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Sair da pausa e continuar a IA
|
||||||
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar a saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela
|
STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar a saída de depuração desta IA. Ctrl+Clique para abrir em uma nova janela
|
||||||
@@ -4900,7 +4900,7 @@ STR_MESSAGE_ESTIMATED_COST :{WHITE}Custo Es
|
|||||||
STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Receita Estimada: {CURRENCY_LONG}
|
STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Receita Estimada: {CURRENCY_LONG}
|
||||||
|
|
||||||
# Saveload messages
|
# Saveload messages
|
||||||
STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravação ainda sendo executada,{}por favor aguarde até terminar!
|
STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Gravação ainda sendo executada,{}por favor, aguarde até terminar!
|
||||||
STR_ERROR_AUTOSAVE_FAILED :{WHITE}Salvamento automático falhou
|
STR_ERROR_AUTOSAVE_FAILED :{WHITE}Salvamento automático falhou
|
||||||
STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Não é possível ler a unidade
|
STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Não é possível ler a unidade
|
||||||
STR_ERROR_GAME_SAVE_FAILED :{WHITE}Falha ao salvar jogo...
|
STR_ERROR_GAME_SAVE_FAILED :{WHITE}Falha ao salvar jogo...
|
||||||
@@ -4921,7 +4921,7 @@ STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Geraçã
|
|||||||
STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... não existem localidades neste cenário
|
STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... não existem localidades neste cenário
|
||||||
|
|
||||||
STR_ERROR_PNGMAP :{WHITE}Não foi possível carregar paisagem de PNG...
|
STR_ERROR_PNGMAP :{WHITE}Não foi possível carregar paisagem de PNG...
|
||||||
STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... arquivo não encontrado
|
STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... arquivo não foi encontrado
|
||||||
STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... não foi possível converter o tipo de imagem. A imagem deve ser PNG de 8 ou 24-bit
|
STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... não foi possível converter o tipo de imagem. A imagem deve ser PNG de 8 ou 24-bit
|
||||||
STR_ERROR_PNGMAP_MISC :{WHITE}... alguma coisa deu errado (provavelmente arquivo corrompido)
|
STR_ERROR_PNGMAP_MISC :{WHITE}... alguma coisa deu errado (provavelmente arquivo corrompido)
|
||||||
|
|
||||||
@@ -4966,7 +4966,7 @@ STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... limi
|
|||||||
STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... limite de plantação de árvores atingido
|
STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... limite de plantação de árvores atingido
|
||||||
STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Nome deve ser único
|
STR_ERROR_NAME_MUST_BE_UNIQUE :{WHITE}Nome deve ser único
|
||||||
STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRING} no caminho
|
STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{1:STRING} no caminho
|
||||||
STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Não é permitido enquanto pausado
|
STR_ERROR_NOT_ALLOWED_WHILE_PAUSED :{WHITE}Não é permitido com o jogo pausado
|
||||||
|
|
||||||
# Local authority errors
|
# Local authority errors
|
||||||
STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}A autoridade local de {TOWN} recusa-se a permitir isso
|
STR_ERROR_LOCAL_AUTHORITY_REFUSES_TO_ALLOW_THIS :{WHITE}A autoridade local de {TOWN} recusa-se a permitir isso
|
||||||
|
@@ -3488,6 +3488,9 @@ STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Vej type
|
|||||||
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF variabel 60+x parameter (hexadecimal)
|
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF variabel 60+x parameter (hexadecimal)
|
||||||
|
|
||||||
# Sprite aligner window
|
# Sprite aligner window
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_NO_ACTION :{WHITE}Justering af sprite: ({STRING}:{NUM})
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_ACTIONA :{WHITE}Justering af sprite: Handling 0xA, {COMMA} ({STRING}:{NUM})
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_ACTION5 :{WHITE}Justering af sprite: Handling 0x5, type {HEX}, {COMMA} ({STRING}:{NUM})
|
||||||
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Næste sprite
|
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Næste sprite
|
||||||
STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Fortsæt til næste normale sprite, spring pseudo/omfarvning/font-sprites over og med omløb fra enden til starten
|
STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Fortsæt til næste normale sprite, spring pseudo/omfarvning/font-sprites over og med omløb fra enden til starten
|
||||||
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Gå til sprite
|
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Gå til sprite
|
||||||
@@ -3496,6 +3499,7 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Forrige
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsæt til den forrige normal sprite, spring pseudo/omfarvning/font-sprites over og omløb fra starten til slutningen
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsæt til den forrige normal sprite, spring pseudo/omfarvning/font-sprites over og omløb fra starten til slutningen
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Repræsentation af den markerede sprite. Justeringen ignoreres når denne sprite tegnes.
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Repræsentation af den markerede sprite. Justeringen ignoreres når denne sprite tegnes.
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flyt spriten rundt for at ændre X- og Y-forskydningen. Ctrl+Klik for at flytte spriten otte enheder af gangen
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flyt spriten rundt for at ændre X- og Y-forskydningen. Ctrl+Klik for at flytte spriten otte enheder af gangen
|
||||||
|
STR_SPRITE_ALIGNER_SPRITE :{STRING}:{NUM}
|
||||||
|
|
||||||
###length 2
|
###length 2
|
||||||
STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Forskudt centreret
|
STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Forskudt centreret
|
||||||
@@ -5832,6 +5836,7 @@ STR_JUST_DATE_ISO :{DATE_ISO}
|
|||||||
STR_JUST_STRING :{STRING}
|
STR_JUST_STRING :{STRING}
|
||||||
STR_JUST_STRING1 :{STRING}
|
STR_JUST_STRING1 :{STRING}
|
||||||
STR_JUST_STRING2 :{STRING}
|
STR_JUST_STRING2 :{STRING}
|
||||||
|
STR_JUST_STRING4 :{STRING}
|
||||||
STR_JUST_STRING_STRING :{STRING}{STRING}
|
STR_JUST_STRING_STRING :{STRING}{STRING}
|
||||||
STR_JUST_RAW_STRING :{STRING}
|
STR_JUST_RAW_STRING :{STRING}
|
||||||
STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING}
|
STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING}
|
||||||
|
@@ -3488,6 +3488,9 @@ STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Wegtype
|
|||||||
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Parameter 60+x voor NewGRF-variabele (hexadecimaal)
|
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Parameter 60+x voor NewGRF-variabele (hexadecimaal)
|
||||||
|
|
||||||
# Sprite aligner window
|
# Sprite aligner window
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_NO_ACTION :{WHITE}Sprite uitlijnen: ({STRING}:{NUM})
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_ACTIONA :{WHITE}Sprite uitlijnen: actie 0xA, {COMMA} ({STRING}:{NUM})
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_ACTION5 :{WHITE}Sprite uitlijnen: actie 0x5, type {HEX}, {COMMA} ({STRING}:{NUM})
|
||||||
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Volgende sprite
|
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Volgende sprite
|
||||||
STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Doorgaan met volgende normale sprite, alle pseudo-/herkleur-/lettertype-sprites overslaan; bij het einde terug naar het begin
|
STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Doorgaan met volgende normale sprite, alle pseudo-/herkleur-/lettertype-sprites overslaan; bij het einde terug naar het begin
|
||||||
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Ga naar sprite
|
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Ga naar sprite
|
||||||
@@ -3496,6 +3499,7 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Vorige s
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Doorgaan met de vorige normale sprite, alle pseudo-/herkleur-/lettertype-sprites overslaan; bij het einde terug naar het begin
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Doorgaan met de vorige normale sprite, alle pseudo-/herkleur-/lettertype-sprites overslaan; bij het einde terug naar het begin
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Voorbeeld van de huidige sprite. De uitlijning wordt genegeerd bij het weergeven van deze sprite.
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Voorbeeld van de huidige sprite. De uitlijning wordt genegeerd bij het weergeven van deze sprite.
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Sprite verplaatsen, dit verandert X en Y offsets. Ctr+klik om de sprite 8 eenheden per keer te verplaatsen.
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Sprite verplaatsen, dit verandert X en Y offsets. Ctr+klik om de sprite 8 eenheden per keer te verplaatsen.
|
||||||
|
STR_SPRITE_ALIGNER_SPRITE :{STRING}:{NUM}
|
||||||
|
|
||||||
###length 2
|
###length 2
|
||||||
STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Op offset gecentreerd
|
STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Op offset gecentreerd
|
||||||
@@ -5832,6 +5836,7 @@ STR_JUST_DATE_ISO :{DATE_ISO}
|
|||||||
STR_JUST_STRING :{STRING}
|
STR_JUST_STRING :{STRING}
|
||||||
STR_JUST_STRING1 :{STRING}
|
STR_JUST_STRING1 :{STRING}
|
||||||
STR_JUST_STRING2 :{STRING}
|
STR_JUST_STRING2 :{STRING}
|
||||||
|
STR_JUST_STRING4 :{STRING}
|
||||||
STR_JUST_STRING_STRING :{STRING}{STRING}
|
STR_JUST_STRING_STRING :{STRING}{STRING}
|
||||||
STR_JUST_RAW_STRING :{STRING}
|
STR_JUST_RAW_STRING :{STRING}
|
||||||
STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING}
|
STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING}
|
||||||
|
@@ -3489,6 +3489,9 @@ STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Type de route
|
|||||||
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Paramètre de variable NewGRF 60+x (héxadecimal)
|
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}Paramètre de variable NewGRF 60+x (héxadecimal)
|
||||||
|
|
||||||
# Sprite aligner window
|
# Sprite aligner window
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_NO_ACTION :{WHITE}Alignement de sprite : ({STRING}:{NUM})
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_ACTIONA :{WHITE}Alignement de sprite : Action 0xA, {COMMA} ({STRING}:{NUM})
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_ACTION5 :{WHITE}Alignement de sprite : Action 0x5, type {HEX}, {COMMA} ({STRING}:{NUM})
|
||||||
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Sprite suivant
|
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Sprite suivant
|
||||||
STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Se rendre au prochain sprite normal, en ignorant les pseudo-sprites et les sprites de recoloration et de police, et en bouclant du dernier vers le premier
|
STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Se rendre au prochain sprite normal, en ignorant les pseudo-sprites et les sprites de recoloration et de police, et en bouclant du dernier vers le premier
|
||||||
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Aller au sprite
|
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Aller au sprite
|
||||||
@@ -3497,6 +3500,7 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Sprite p
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Se rendre au précédent sprite normal, en ignorant les pseudo-sprites et les sprites de recoloration et de police, et en bouclant du premier vers le dernier
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Se rendre au précédent sprite normal, en ignorant les pseudo-sprites et les sprites de recoloration et de police, et en bouclant du premier vers le dernier
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation du sprite actuellement séléctionné. L'alignement est ignoré lors de l'affichage de ce sprite
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation du sprite actuellement séléctionné. L'alignement est ignoré lors de l'affichage de ce sprite
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Déplacer le sprite, en modifiant les décalages X et Y. Ctrl-clic pour déplacer le sprite de 8 unités à la fois.
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Déplacer le sprite, en modifiant les décalages X et Y. Ctrl-clic pour déplacer le sprite de 8 unités à la fois.
|
||||||
|
STR_SPRITE_ALIGNER_SPRITE :{STRING}:{NUM}
|
||||||
|
|
||||||
###length 2
|
###length 2
|
||||||
STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Décalage centré
|
STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Décalage centré
|
||||||
@@ -4899,7 +4903,9 @@ STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Revenu e
|
|||||||
STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Sauvegarde en cours...{}Veuillez attendre la fin du processus{NBSP}!
|
STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}Sauvegarde en cours...{}Veuillez attendre la fin du processus{NBSP}!
|
||||||
STR_ERROR_AUTOSAVE_FAILED :{WHITE}Échec de l'enregistrement automatique
|
STR_ERROR_AUTOSAVE_FAILED :{WHITE}Échec de l'enregistrement automatique
|
||||||
STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Impossible d'accéder au disque
|
STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}Impossible d'accéder au disque
|
||||||
|
STR_ERROR_GAME_SAVE_FAILED :{WHITE}La sauvegarde a échoué...
|
||||||
STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Impossible de supprimer le fichier
|
STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}Impossible de supprimer le fichier
|
||||||
|
STR_ERROR_GAME_LOAD_FAILED :{WHITE}Le chargement a échoué...
|
||||||
STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erreur interne{NBSP}: {STRING}
|
STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Erreur interne{NBSP}: {STRING}
|
||||||
STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Sauvegarde corrompue − {STRING}
|
STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Sauvegarde corrompue − {STRING}
|
||||||
STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Sauvegarde modifiée avec une version plus récente
|
STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Sauvegarde modifiée avec une version plus récente
|
||||||
@@ -5831,6 +5837,7 @@ STR_JUST_DATE_ISO :{DATE_ISO}
|
|||||||
STR_JUST_STRING :{STRING}
|
STR_JUST_STRING :{STRING}
|
||||||
STR_JUST_STRING1 :{STRING}
|
STR_JUST_STRING1 :{STRING}
|
||||||
STR_JUST_STRING2 :{STRING}
|
STR_JUST_STRING2 :{STRING}
|
||||||
|
STR_JUST_STRING4 :{STRING}
|
||||||
STR_JUST_STRING_STRING :{STRING}{STRING}
|
STR_JUST_STRING_STRING :{STRING}{STRING}
|
||||||
STR_JUST_RAW_STRING :{STRING}
|
STR_JUST_RAW_STRING :{STRING}
|
||||||
STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING}
|
STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING}
|
||||||
|
@@ -1293,7 +1293,7 @@ STR_TERRAIN_TYPE_CUSTOM :Προσαρμ
|
|||||||
STR_TERRAIN_TYPE_CUSTOM_VALUE :Προσαρμοσμένο ύψος ({NUM})
|
STR_TERRAIN_TYPE_CUSTOM_VALUE :Προσαρμοσμένο ύψος ({NUM})
|
||||||
|
|
||||||
###length 4
|
###length 4
|
||||||
STR_CITY_APPROVAL_LENIENT :Ήπειο
|
STR_CITY_APPROVAL_LENIENT :Ήπια
|
||||||
STR_CITY_APPROVAL_TOLERANT :Υπομονετική
|
STR_CITY_APPROVAL_TOLERANT :Υπομονετική
|
||||||
STR_CITY_APPROVAL_HOSTILE :Εχθρική
|
STR_CITY_APPROVAL_HOSTILE :Εχθρική
|
||||||
STR_CITY_APPROVAL_PERMISSIVE :Ανεκτική (χωρίς επίδραση σε ενέργειες της εταιρίας)
|
STR_CITY_APPROVAL_PERMISSIVE :Ανεκτική (χωρίς επίδραση σε ενέργειες της εταιρίας)
|
||||||
@@ -1381,8 +1381,8 @@ STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT :Θέτει το
|
|||||||
STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Ταχύτητα οικοδόμησης: {STRING}
|
STR_CONFIG_SETTING_CONSTRUCTION_SPEED :Ταχύτητα οικοδόμησης: {STRING}
|
||||||
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Περιορίζει το ποσοστό των οικοδομήμσεων από τα ΑΙ
|
STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT :Περιορίζει το ποσοστό των οικοδομήμσεων από τα ΑΙ
|
||||||
|
|
||||||
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Καταρρεύσεις οχημάτων: {STRING}
|
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS :Βλάβες οχημάτων: {STRING}
|
||||||
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Ελέγχει πόσο συχνά καταρρέουν τα ανεπαρκώς συντηρημένα οχήματα
|
STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT :Ελέγχει πόσο συχνά τα ανεπαρκώς συντηρημένα οχήματα παθαίνουν βλάβες
|
||||||
|
|
||||||
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Πολλαπλασιαστής επιδότησης: {STRING}
|
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER :Πολλαπλασιαστής επιδότησης: {STRING}
|
||||||
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Θέστε πόσο ξεπληρώνεται για επιδοτημένες συνδέσεις
|
STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT :Θέστε πόσο ξεπληρώνεται για επιδοτημένες συνδέσεις
|
||||||
@@ -1540,7 +1540,7 @@ STR_CONFIG_SETTING_PLANE_SPEED :Παράγον
|
|||||||
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Ορίζεται η σχετική ταχύτητα των αεροπλάνων συγκριτικά με τους άλλους τύπους οχημάτων, ώστε να μειώνεται το ποσό του εισοδήματος από μεταφορές με αεροσκάφη
|
STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT :Ορίζεται η σχετική ταχύτητα των αεροπλάνων συγκριτικά με τους άλλους τύπους οχημάτων, ώστε να μειώνεται το ποσό του εισοδήματος από μεταφορές με αεροσκάφη
|
||||||
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
|
STR_CONFIG_SETTING_PLANE_SPEED_VALUE :1 / {COMMA}
|
||||||
|
|
||||||
STR_CONFIG_SETTING_PLANE_CRASHES :Αριθμός των αεροπορικών ατυχημάτων: {STRING}
|
STR_CONFIG_SETTING_PLANE_CRASHES :Αριθμός αεροπορικών ατυχημάτων: {STRING}
|
||||||
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Ορίστε την πιθανότητα συντριβής ενός τυχαίου αεροσκάφους.{}* Μεγάλα αεροσκάφη πάντα έχουν ένα ρίσκο συντριβής όταν προσγειώνονται σε μικρά αεροδρόμια.
|
STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT :Ορίστε την πιθανότητα συντριβής ενός τυχαίου αεροσκάφους.{}* Μεγάλα αεροσκάφη πάντα έχουν ένα ρίσκο συντριβής όταν προσγειώνονται σε μικρά αεροδρόμια.
|
||||||
###length 3
|
###length 3
|
||||||
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Κανένα*
|
STR_CONFIG_SETTING_PLANE_CRASHES_NONE :Κανένα*
|
||||||
@@ -1669,10 +1669,10 @@ STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE :{NUM}%
|
|||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Ανωμαλία επιφάνειας (μόνο με TerraGenesis) : {STRING}
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN :Ανωμαλία επιφάνειας (μόνο με TerraGenesis) : {STRING}
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Επιλογή του σχήματος και του αριθμού των λόφων: Τα λεία τοπία έχουν λιγότερους, πιο πλατείς λόφους, ενώ τα τραχιά τοπία έχουν πολλούς και μικρούς λόφους
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT :Επιλογή του σχήματος και του αριθμού των λόφων: Τα λεία τοπία έχουν λιγότερους, πιο πλατείς λόφους, ενώ τα τραχιά τοπία έχουν πολλούς και μικρούς λόφους
|
||||||
###length 4
|
###length 4
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Πολύ Απαλή
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Πολύ Λεία
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Απαλή
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_SMOOTH :Λεία
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Ανώμαλη
|
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_ROUGH :Τραχιά
|
||||||
STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Πολύ Ανώμαλη
|
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 :Επιλέξτε αν ο χάρτης περιέχει και βουνά και επίπεδες περιοχές. Όσο μεγαλύτερη είναι η ποικιλία, τόσο περισσότερες οι υψομετρικές διαφορές μεταξύ ορεινών και επίπεδων περιοχών
|
||||||
@@ -1928,7 +1928,7 @@ STR_CONFIG_SETTING_SERVINT_VALUE :{COMMA}{NBSP}Η
|
|||||||
###setting-zero-is-special
|
###setting-zero-is-special
|
||||||
STR_CONFIG_SETTING_SERVINT_DISABLED :Απενεργοποιημένο
|
STR_CONFIG_SETTING_SERVINT_DISABLED :Απενεργοποιημένο
|
||||||
|
|
||||||
STR_CONFIG_SETTING_NOSERVICE :Απενεργοποίηση επισκευών όταν οι καταρρεύσεις είναι απενεργοποιημένες: {STRING}
|
STR_CONFIG_SETTING_NOSERVICE :Απενεργοποίηση επισκευών όταν οι βλάβες είναι απενεργοποιημένες: {STRING}
|
||||||
STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Όταν είναι ενεργοποιημένη, τα οχήματα δεν συντηρούνται όταν δεν είναι δυνατό να χαλάσουν
|
STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Όταν είναι ενεργοποιημένη, τα οχήματα δεν συντηρούνται όταν δεν είναι δυνατό να χαλάσουν
|
||||||
|
|
||||||
STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Ποινή ταχύτητας φόρτωσης για τρένα που είναι μεγαλύτερα από τον σταθμό: {STRING}
|
STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Ποινή ταχύτητας φόρτωσης για τρένα που είναι μεγαλύτερα από τον σταθμό: {STRING}
|
||||||
@@ -4541,7 +4541,7 @@ STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Κέρδ
|
|||||||
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Φετινό κέρδος: {LTBLUE}{CURRENCY_LONG} (Περσινό: {CURRENCY_LONG}) {BLACK}Ελάχιστη απόδοση: {LTBLUE}{POWER_TO_WEIGHT}
|
STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_MIN_PERFORMANCE :{BLACK}Φετινό κέρδος: {LTBLUE}{CURRENCY_LONG} (Περσινό: {CURRENCY_LONG}) {BLACK}Ελάχιστη απόδοση: {LTBLUE}{POWER_TO_WEIGHT}
|
||||||
STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Κέρδος αυτή την περίοδο: {LTBLUE}{CURRENCY_LONG} (τελευταία περίοδο: {CURRENCY_LONG})
|
STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD :{BLACK}Κέρδος αυτή την περίοδο: {LTBLUE}{CURRENCY_LONG} (τελευταία περίοδο: {CURRENCY_LONG})
|
||||||
STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Κέρδος αυτή την περίοδο: {LTBLUE}{CURRENCY_LONG} (τελευταία περίοδο: {CURRENCY_LONG}) {BLACK}Ελάχ. απόδοση: {LTBLUE}{POWER_TO_WEIGHT}
|
STR_VEHICLE_INFO_PROFIT_THIS_PERIOD_LAST_PERIOD_MIN_PERFORMANCE :{BLACK}Κέρδος αυτή την περίοδο: {LTBLUE}{CURRENCY_LONG} (τελευταία περίοδο: {CURRENCY_LONG}) {BLACK}Ελάχ. απόδοση: {LTBLUE}{POWER_TO_WEIGHT}
|
||||||
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Αξιοπιστία: {LTBLUE}{COMMA}% {BLACK}Καταρρεύσεις μετά από την τελευταία επισκευή: {LTBLUE}{COMMA}
|
STR_VEHICLE_INFO_RELIABILITY_BREAKDOWNS :{BLACK}Αξιοπιστία: {LTBLUE}{COMMA}% {BLACK}Βλάβες μετά από την τελευταία επισκευή: {LTBLUE}{COMMA}
|
||||||
|
|
||||||
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Κατασκευή: {LTBLUE}{NUM}{BLACK} Αξία: {LTBLUE}{CURRENCY_LONG}
|
STR_VEHICLE_INFO_BUILT_VALUE :{LTBLUE}{ENGINE} {BLACK}Κατασκευή: {LTBLUE}{NUM}{BLACK} Αξία: {LTBLUE}{CURRENCY_LONG}
|
||||||
STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Χωρητικότητα: {LTBLUE}Τίποτα{STRING}
|
STR_VEHICLE_INFO_NO_CAPACITY :{BLACK}Χωρητικότητα: {LTBLUE}Τίποτα{STRING}
|
||||||
|
@@ -692,7 +692,7 @@ STR_NEWS_MENU_DELETE_ALL_MESSAGES :Pašalinti visa
|
|||||||
STR_ABOUT_MENU_LAND_BLOCK_INFO :Žemės ploto informacija
|
STR_ABOUT_MENU_LAND_BLOCK_INFO :Žemės ploto informacija
|
||||||
STR_ABOUT_MENU_HELP :Pagalba ir gidai
|
STR_ABOUT_MENU_HELP :Pagalba ir gidai
|
||||||
STR_ABOUT_MENU_TOGGLE_CONSOLE :Perjungti konsolę
|
STR_ABOUT_MENU_TOGGLE_CONSOLE :Perjungti konsolę
|
||||||
STR_ABOUT_MENU_AI_DEBUG :AI / GameScript derinimas
|
STR_ABOUT_MENU_AI_DEBUG :DI / „GameScript“ derinimas
|
||||||
STR_ABOUT_MENU_SCREENSHOT :Ekrano nuotrauka
|
STR_ABOUT_MENU_SCREENSHOT :Ekrano nuotrauka
|
||||||
STR_ABOUT_MENU_SHOW_FRAMERATE :Kadrų dažniai
|
STR_ABOUT_MENU_SHOW_FRAMERATE :Kadrų dažniai
|
||||||
STR_ABOUT_MENU_ABOUT_OPENTTD :Apie „OpenTTD“
|
STR_ABOUT_MENU_ABOUT_OPENTTD :Apie „OpenTTD“
|
||||||
@@ -1095,7 +1095,13 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Įkelti
|
|||||||
STR_GAME_OPTIONS_CAPTION :{WHITE}Pagrindinės nuostatos
|
STR_GAME_OPTIONS_CAPTION :{WHITE}Pagrindinės nuostatos
|
||||||
|
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_VOLUME :Tūris
|
||||||
|
|
||||||
|
STR_GAME_OPTIONS_VOLUME_0 :0%
|
||||||
|
STR_GAME_OPTIONS_VOLUME_25 :25%
|
||||||
|
STR_GAME_OPTIONS_VOLUME_50 :50%
|
||||||
|
STR_GAME_OPTIONS_VOLUME_75 :75%
|
||||||
|
STR_GAME_OPTIONS_VOLUME_100 :100%
|
||||||
|
|
||||||
STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valiuta
|
STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Valiuta
|
||||||
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Valiutos pasirinkimas
|
STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Valiutos pasirinkimas
|
||||||
@@ -1151,6 +1157,10 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Pasirink
|
|||||||
# Autosave dropdown
|
# Autosave dropdown
|
||||||
###length 5
|
###length 5
|
||||||
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Išjungta
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Išjungta
|
||||||
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :Kas 10min.
|
||||||
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :Kas 30min.
|
||||||
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :Kas 60min.
|
||||||
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_120_MINUTES :Kas 120min.
|
||||||
|
|
||||||
STR_GAME_OPTIONS_LANGUAGE :{BLACK}Kalba
|
STR_GAME_OPTIONS_LANGUAGE :{BLACK}Kalba
|
||||||
STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Pasirinkite aplinkos kalbą
|
STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Pasirinkite aplinkos kalbą
|
||||||
@@ -1789,6 +1799,7 @@ STR_CONFIG_SETTING_LOADING_INDICATORS :Rodyti krovos i
|
|||||||
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Krovos indikatoriai rodomi virš pakraunamų bei iškraunamų tansporto priemonių
|
STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Krovos indikatoriai rodomi virš pakraunamų bei iškraunamų tansporto priemonių
|
||||||
|
|
||||||
###length 3
|
###length 3
|
||||||
|
STR_CONFIG_SETTING_TIMETABLE_MODE_DAYS :Dienos
|
||||||
|
|
||||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Rodyti arvykimą ir išvykimą tvarkaraščiuose: {STRING}
|
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Rodyti arvykimą ir išvykimą tvarkaraščiuose: {STRING}
|
||||||
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Tvarkaraščiuose rodyti numatomas atvykimo ir išvykimo datas
|
STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Tvarkaraščiuose rodyti numatomas atvykimo ir išvykimo datas
|
||||||
@@ -2302,10 +2313,12 @@ STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Rodyti a
|
|||||||
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Rodyti laivų spalvas
|
STR_LIVERY_SHIP_TOOLTIP :{BLACK}Rodyti laivų spalvas
|
||||||
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Rodyti lėktuvų spalvas
|
STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Rodyti lėktuvų spalvas
|
||||||
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Rodyti traukinių grupių spalvas
|
STR_LIVERY_TRAIN_GROUP_TOOLTIP :{BLACK}Rodyti traukinių grupių spalvas
|
||||||
|
STR_LIVERY_SHIP_GROUP_TOOLTIP :{BLACK}Rodyti laivų grupių spalvas
|
||||||
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Pasirinkite pirminę spalvą pasirinktai schemai. Spustelėjus laikant nuspaustą Ctrl klavišą, pasirinkta spava bus nustatyta visoms schemoms.
|
STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Pasirinkite pirminę spalvą pasirinktai schemai. Spustelėjus laikant nuspaustą Ctrl klavišą, pasirinkta spava bus nustatyta visoms schemoms.
|
||||||
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Pasirinkite antrinę spalvą pasirinktai schemai. Spustelėjus laikant nuspaustą Ctrl klavišą, pasirinkta spava bus nustatyta visoms schemoms.
|
STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Pasirinkite antrinę spalvą pasirinktai schemai. Spustelėjus laikant nuspaustą Ctrl klavišą, pasirinkta spava bus nustatyta visoms schemoms.
|
||||||
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Pasirinkite objektą, kurio spalvas norite pakeisti. Spragsint laikant nuspaustą Ctrl klavišą, galėsite pasirinkti iškart kelis objektus.
|
STR_LIVERY_PANEL_TOOLTIP :{BLACK}Pasirinkite objektą, kurio spalvas norite pakeisti. Spragsint laikant nuspaustą Ctrl klavišą, galėsite pasirinkti iškart kelis objektus.
|
||||||
STR_LIVERY_TRAIN_GROUP_EMPTY :Nėra nustatytų traukinių grupių
|
STR_LIVERY_TRAIN_GROUP_EMPTY :Nėra nustatytų traukinių grupių
|
||||||
|
STR_LIVERY_SHIP_GROUP_EMPTY :Nėra nustatytų laivų grupių
|
||||||
|
|
||||||
###length 23
|
###length 23
|
||||||
STR_LIVERY_DEFAULT :Numatytosios spalvos
|
STR_LIVERY_DEFAULT :Numatytosios spalvos
|
||||||
@@ -3290,6 +3303,7 @@ STR_MAPGEN_DESERT_COVERAGE_DOWN :{BLACK}Sumažin
|
|||||||
STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}%
|
STR_MAPGEN_DESERT_COVERAGE_TEXT :{BLACK}{NUM}%
|
||||||
STR_MAPGEN_TERRAIN_TYPE :{BLACK}Vietovės tipas:
|
STR_MAPGEN_TERRAIN_TYPE :{BLACK}Vietovės tipas:
|
||||||
STR_MAPGEN_SEA_LEVEL :{BLACK}Jūros lygis:
|
STR_MAPGEN_SEA_LEVEL :{BLACK}Jūros lygis:
|
||||||
|
STR_MAPGEN_SEA_LEVEL_TOOLTIP :{BLACK}Pasirinkti jūros lygį
|
||||||
STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Upių kiekis:
|
STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Upių kiekis:
|
||||||
STR_MAPGEN_SMOOTHNESS :{BLACK}Jautrumas:
|
STR_MAPGEN_SMOOTHNESS :{BLACK}Jautrumas:
|
||||||
STR_MAPGEN_VARIETY :{BLACK}Įvairovės paskirstymas:
|
STR_MAPGEN_VARIETY :{BLACK}Įvairovės paskirstymas:
|
||||||
@@ -4700,7 +4714,7 @@ STR_DATE_YEAR_TOOLTIP :{BLACK}Pasirink
|
|||||||
|
|
||||||
|
|
||||||
# AI debug window
|
# AI debug window
|
||||||
STR_AI_DEBUG :{WHITE}DI / GameScript derinimas
|
STR_AI_DEBUG :{WHITE}DI / „GameScript“ derinimas
|
||||||
STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM})
|
STR_AI_DEBUG_NAME_AND_VERSION :{BLACK}{STRING} (v{NUM})
|
||||||
STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Skripto pavadinimas
|
STR_AI_DEBUG_NAME_TOOLTIP :{BLACK}Skripto pavadinimas
|
||||||
STR_AI_DEBUG_SETTINGS :{BLACK}Nustatymai
|
STR_AI_DEBUG_SETTINGS :{BLACK}Nustatymai
|
||||||
@@ -4721,9 +4735,10 @@ STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Patikrin
|
|||||||
|
|
||||||
STR_ERROR_AI_NO_AI_FOUND :Nerasta jokio tinkamo DI.{}Šis DI yra netikras ir nieko nedarys.{}Galite parsisiųsti keletą DI per 'Turinio internete' sistemą.
|
STR_ERROR_AI_NO_AI_FOUND :Nerasta jokio tinkamo DI.{}Šis DI yra netikras ir nieko nedarys.{}Galite parsisiųsti keletą DI per 'Turinio internete' sistemą.
|
||||||
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Vienas iš paleistų skriptų išsijungė. Praneškite apie tai šio skripto autoriui su skripto debug lango vaizdu
|
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Vienas iš paleistų skriptų išsijungė. Praneškite apie tai šio skripto autoriui su skripto debug lango vaizdu
|
||||||
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}DI / GameScript derinimo langas yra pasiekiamas tik iš serverio
|
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}DI / „GameScript“ derinimo langas yra pasiekiamas tik iš serverio
|
||||||
|
|
||||||
# AI configuration window
|
# AI configuration window
|
||||||
|
STR_AI_CONFIG_CAPTION_AI :{WHITE}DI nustatymai
|
||||||
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Žaidimo skriptas bus įkeltas sekančiame žaidime
|
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}Žaidimo skriptas bus įkeltas sekančiame žaidime
|
||||||
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}DI'ai bus įkelti sekančiame žaidime
|
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}DI'ai bus įkelti sekančiame žaidime
|
||||||
STR_AI_CONFIG_HUMAN_PLAYER :Žaidėjas Žmogus
|
STR_AI_CONFIG_HUMAN_PLAYER :Žaidėjas Žmogus
|
||||||
@@ -4770,6 +4785,7 @@ STR_SCREENSHOT_HEIGHTMAP_SCREENSHOT :{BLACK}Teminio
|
|||||||
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Mini žemėlapio kopija
|
STR_SCREENSHOT_MINIMAP_SCREENSHOT :{BLACK}Mini žemėlapio kopija
|
||||||
|
|
||||||
# Script Parameters
|
# Script Parameters
|
||||||
|
STR_AI_SETTINGS_CAPTION :{WHITE}{STRING} Parametrai
|
||||||
STR_AI_SETTINGS_CAPTION_AI :DI
|
STR_AI_SETTINGS_CAPTION_AI :DI
|
||||||
STR_AI_SETTINGS_CLOSE :{BLACK}Uždaryti
|
STR_AI_SETTINGS_CLOSE :{BLACK}Uždaryti
|
||||||
STR_AI_SETTINGS_RESET :{BLACK}Atstatyti
|
STR_AI_SETTINGS_RESET :{BLACK}Atstatyti
|
||||||
|
@@ -3488,6 +3488,9 @@ STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_ROAD_TYPE :Vägtyp
|
|||||||
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF variabel 60+x parameter (hexadecimal)
|
STR_NEWGRF_INSPECT_QUERY_CAPTION :{WHITE}NewGRF variabel 60+x parameter (hexadecimal)
|
||||||
|
|
||||||
# Sprite aligner window
|
# Sprite aligner window
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_NO_ACTION :{WHITE}Justerar spriteobjekt: ({STRING}:{NUM})
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_ACTIONA :{WHITE}Justerar spriteobjekt: Action 0xA, {COMMA} ({STRING}:{NUM})
|
||||||
|
STR_SPRITE_ALIGNER_CAPTION_ACTION5 :{WHITE}Justerar spriteobjekt: Åtgärd 0x5, typ {HEX}, {COMMA} ({STRING}:{NUM})
|
||||||
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Nästa spriteobjekt
|
STR_SPRITE_ALIGNER_NEXT_BUTTON :{BLACK}Nästa spriteobjekt
|
||||||
STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Fortsätt till nästa nomala spriteobjekt, ignorera eventuella pseudo/recolour/font spriteobjekt och börja om efter sista spriteobjektet
|
STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Fortsätt till nästa nomala spriteobjekt, ignorera eventuella pseudo/recolour/font spriteobjekt och börja om efter sista spriteobjektet
|
||||||
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Gå till spriteobjekt
|
STR_SPRITE_ALIGNER_GOTO_BUTTON :{BLACK}Gå till spriteobjekt
|
||||||
@@ -3496,6 +3499,7 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Tidigare
|
|||||||
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsätt till föregående normala spriteobjekt, ignorera eventuella pseudo/recolour/font spriteobjekt och börja om från slutet efter första spriteobjektet
|
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Fortsätt till föregående normala spriteobjekt, ignorera eventuella pseudo/recolour/font spriteobjekt och börja om från slutet efter första spriteobjektet
|
||||||
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation av det valda objektet. Justeringen ignoreras när objektet ritas.
|
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation av det valda objektet. Justeringen ignoreras när objektet ritas.
|
||||||
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flytta runt objektet och ändra förskjutningen i X- och Y-led. Ctrl+klicka för att flytta runt objektet åtta steg i taget
|
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Flytta runt objektet och ändra förskjutningen i X- och Y-led. Ctrl+klicka för att flytta runt objektet åtta steg i taget
|
||||||
|
STR_SPRITE_ALIGNER_SPRITE :{STRING}:{NUM}
|
||||||
|
|
||||||
###length 2
|
###length 2
|
||||||
STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Förskjutningscentrerad
|
STR_SPRITE_ALIGNER_CENTRE_OFFSET :{BLACK}Förskjutningscentrerad
|
||||||
@@ -3530,7 +3534,7 @@ STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :GRF-filen den v
|
|||||||
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :För många NewGRFer är laddade
|
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :För många NewGRFer är laddade
|
||||||
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Att ladda {1:STRING} som statisk NewGRF med {2:STRING} kan orsaka desynkronisering
|
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Att ladda {1:STRING} som statisk NewGRF med {2:STRING} kan orsaka desynkronisering
|
||||||
STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Oväntat spriteobjekt (spriteobjekt {3:NUM})
|
STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Oväntat spriteobjekt (spriteobjekt {3:NUM})
|
||||||
STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Okänd Action 0-egenskap {4:HEX} (spriteobjekt {3:NUM})
|
STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Okänd Åtgärd 0-egenskap {4:HEX} (spriteobjekt {3:NUM})
|
||||||
STR_NEWGRF_ERROR_INVALID_ID :Försök att använda ett ogiltligt ID (spriteobjekt {3:NUM})
|
STR_NEWGRF_ERROR_INVALID_ID :Försök att använda ett ogiltligt ID (spriteobjekt {3:NUM})
|
||||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} innehåller ett skadat spriteobjekt. Alla korrupta spriteobjekt kommer att visas som röda frågetecken (?)
|
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{STRING} innehåller ett skadat spriteobjekt. Alla korrupta spriteobjekt kommer att visas som röda frågetecken (?)
|
||||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Innehåller flera Action 8 (spriteobjekt {3:NUM})
|
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Innehåller flera Action 8 (spriteobjekt {3:NUM})
|
||||||
@@ -5832,6 +5836,7 @@ STR_JUST_DATE_ISO :{DATE_ISO}
|
|||||||
STR_JUST_STRING :{STRING}
|
STR_JUST_STRING :{STRING}
|
||||||
STR_JUST_STRING1 :{STRING}
|
STR_JUST_STRING1 :{STRING}
|
||||||
STR_JUST_STRING2 :{STRING}
|
STR_JUST_STRING2 :{STRING}
|
||||||
|
STR_JUST_STRING4 :{STRING}
|
||||||
STR_JUST_STRING_STRING :{STRING}{STRING}
|
STR_JUST_STRING_STRING :{STRING}{STRING}
|
||||||
STR_JUST_RAW_STRING :{STRING}
|
STR_JUST_RAW_STRING :{STRING}
|
||||||
STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING}
|
STR_JUST_BIG_RAW_STRING :{BIG_FONT}{STRING}
|
||||||
|
@@ -1126,7 +1126,7 @@ STR_GAME_OPTIONS_CURRENCY_NLG :Нідерла
|
|||||||
STR_GAME_OPTIONS_CURRENCY_NOK :Норвезька крона
|
STR_GAME_OPTIONS_CURRENCY_NOK :Норвезька крона
|
||||||
STR_GAME_OPTIONS_CURRENCY_PLN :Польський злотий
|
STR_GAME_OPTIONS_CURRENCY_PLN :Польський злотий
|
||||||
STR_GAME_OPTIONS_CURRENCY_RON :Румунський лей
|
STR_GAME_OPTIONS_CURRENCY_RON :Румунський лей
|
||||||
STR_GAME_OPTIONS_CURRENCY_RUR :Російський рубель
|
STR_GAME_OPTIONS_CURRENCY_RUR :Російський рубль
|
||||||
STR_GAME_OPTIONS_CURRENCY_SIT :Словенський талер
|
STR_GAME_OPTIONS_CURRENCY_SIT :Словенський талер
|
||||||
STR_GAME_OPTIONS_CURRENCY_SEK :Шведська крона
|
STR_GAME_OPTIONS_CURRENCY_SEK :Шведська крона
|
||||||
STR_GAME_OPTIONS_CURRENCY_TRY :Турецька ліра
|
STR_GAME_OPTIONS_CURRENCY_TRY :Турецька ліра
|
||||||
@@ -1139,7 +1139,7 @@ STR_GAME_OPTIONS_CURRENCY_ZAR :Південн
|
|||||||
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Власна...
|
STR_GAME_OPTIONS_CURRENCY_CUSTOM :Власна...
|
||||||
STR_GAME_OPTIONS_CURRENCY_GEL :Грузинські ларі
|
STR_GAME_OPTIONS_CURRENCY_GEL :Грузинські ларі
|
||||||
STR_GAME_OPTIONS_CURRENCY_IRR :Іранський ріал
|
STR_GAME_OPTIONS_CURRENCY_IRR :Іранський ріал
|
||||||
STR_GAME_OPTIONS_CURRENCY_RUB :Російський новий рубель
|
STR_GAME_OPTIONS_CURRENCY_RUB :Російський новий рубль
|
||||||
STR_GAME_OPTIONS_CURRENCY_MXN :Мексиканське песо
|
STR_GAME_OPTIONS_CURRENCY_MXN :Мексиканське песо
|
||||||
STR_GAME_OPTIONS_CURRENCY_NTD :Новий тайваньський долар
|
STR_GAME_OPTIONS_CURRENCY_NTD :Новий тайваньський долар
|
||||||
STR_GAME_OPTIONS_CURRENCY_CNY :Китайські ренміні
|
STR_GAME_OPTIONS_CURRENCY_CNY :Китайські ренміні
|
||||||
@@ -1155,7 +1155,7 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :{BLACK}Вибе
|
|||||||
|
|
||||||
# Autosave dropdown
|
# Autosave dropdown
|
||||||
###length 5
|
###length 5
|
||||||
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :вимкнено
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF :Вимкнено
|
||||||
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :Кожні 10 хвилин
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_10_MINUTES :Кожні 10 хвилин
|
||||||
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :Кожні 30 хвилин
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_30_MINUTES :Кожні 30 хвилин
|
||||||
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :Кожні 60 хвилин
|
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_60_MINUTES :Кожні 60 хвилин
|
||||||
@@ -1166,7 +1166,7 @@ STR_GAME_OPTIONS_LANGUAGE_TOOLTIP :{BLACK}Вибе
|
|||||||
STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% виконано)
|
STR_GAME_OPTIONS_LANGUAGE_PERCENTAGE :{STRING} ({NUM}% виконано)
|
||||||
|
|
||||||
STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Повноекранний режим
|
STR_GAME_OPTIONS_FULLSCREEN :{BLACK}Повноекранний режим
|
||||||
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Натисніть цю кнопку, щоби грати в OpenTTD у повноекранному режимі
|
STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Позначте цей прапорець для використання повноекранного режиму
|
||||||
|
|
||||||
STR_GAME_OPTIONS_RESOLUTION :{BLACK}Роздільна здатність екрана
|
STR_GAME_OPTIONS_RESOLUTION :{BLACK}Роздільна здатність екрана
|
||||||
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Виберіть, яку роздільну здатність екрана використовувати
|
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Виберіть, яку роздільну здатність екрана використовувати
|
||||||
@@ -1174,7 +1174,7 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :інша
|
|||||||
STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM}
|
STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM}
|
||||||
|
|
||||||
STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Апаратне прискорення
|
STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Апаратне прискорення
|
||||||
STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Увімкнутий прапорець дозволить використання грою прискорення апаратного забезпечення. Налаштування запрацює тільки після перезапуску гри
|
STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Позначте цей прапорець для використання апаратного прискорення. Зміни застосуються тільки після перезапуску гри
|
||||||
STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Налаштування запрацює тільки після перезапуску гри
|
STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Налаштування запрацює тільки після перезапуску гри
|
||||||
|
|
||||||
STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}Вертикальна синхронізація
|
STR_GAME_OPTIONS_VIDEO_VSYNC :{BLACK}Вертикальна синхронізація
|
||||||
@@ -1183,17 +1183,17 @@ STR_GAME_OPTIONS_VIDEO_VSYNC_TOOLTIP :{BLACK}Позн
|
|||||||
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Використовуваний драйвер: {STRING}
|
STR_GAME_OPTIONS_VIDEO_DRIVER_INFO :{BLACK}Використовуваний драйвер: {STRING}
|
||||||
|
|
||||||
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Розмір інтерфейсу
|
STR_GAME_OPTIONS_GUI_SCALE_FRAME :{BLACK}Розмір інтерфейсу
|
||||||
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Перетягніть повзунок для встановлення розміру інтерфейсу. Ctrl+протягування для точнішого перетягування
|
STR_GAME_OPTIONS_GUI_SCALE_TOOLTIP :{BLACK}Потягніть повзунок для зміни розміру інтерфейсу. Ctrl+протягування для точнішого коригування
|
||||||
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Визначати розмір автоматично
|
STR_GAME_OPTIONS_GUI_SCALE_AUTO :{BLACK}Визначати розмір автоматично
|
||||||
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Позначте цей прапорець для того, щоби визначати розмір інтерфейсу автоматично
|
STR_GAME_OPTIONS_GUI_SCALE_AUTO_TOOLTIP :{BLACK}Позначте цей прапорець для того, щоби визначати розмір інтерфейсу автоматично
|
||||||
|
|
||||||
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Межі шкали
|
STR_GAME_OPTIONS_GUI_SCALE_BEVELS :{BLACK}Масштабування рельєфних елементів
|
||||||
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :BLACK}Увімкнутий прапорець дозволить змінити розмір інтерфейсу
|
STR_GAME_OPTIONS_GUI_SCALE_BEVELS_TOOLTIP :{BLACK}Позначте цей прапорець для того, щоби масштабувати рельєфні елементи інтерфейсу
|
||||||
|
|
||||||
STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Використовувати шрифт звичайної роздільності
|
STR_GAME_OPTIONS_GUI_FONT_SPRITE :{BLACK}Використовувати стандартний растровий шрифт
|
||||||
STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Увімкніть прапорець для використання шрифтів незмінних розмірів
|
STR_GAME_OPTIONS_GUI_FONT_SPRITE_TOOLTIP :{BLACK}Позначте цей прапорець для використання стандартних растрових шрифтів фіксованого розміру
|
||||||
STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Згладжування шрифтів
|
STR_GAME_OPTIONS_GUI_FONT_AA :{BLACK}Згладжування шрифтів
|
||||||
STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Увімкніть прапорець для згладження шрифтів змінних розмірів
|
STR_GAME_OPTIONS_GUI_FONT_AA_TOOLTIP :{BLACK}Позначте цей прапорець для того, щоби згладжувати шрифти змінних розмірів
|
||||||
|
|
||||||
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
|
STR_GAME_OPTIONS_GUI_SCALE_1X :1x
|
||||||
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
|
STR_GAME_OPTIONS_GUI_SCALE_2X :2x
|
||||||
@@ -1202,7 +1202,7 @@ STR_GAME_OPTIONS_GUI_SCALE_4X :4x
|
|||||||
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
|
STR_GAME_OPTIONS_GUI_SCALE_5X :5x
|
||||||
|
|
||||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Автоматизований збір даних
|
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_FRAME :{BLACK}Автоматизований збір даних
|
||||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Участь в автоматизованому зборі даних
|
STR_GAME_OPTIONS_PARTICIPATE_SURVEY :{BLACK}Брати участь в автоматизованому зборі даних
|
||||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Якщо увімкнено, OpenTTD передаватиме зібрані дані при виході з гри
|
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_TOOLTIP :{BLACK}Якщо увімкнено, OpenTTD передаватиме зібрані дані при виході з гри
|
||||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Про збір даних і приватність
|
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK :{BLACK}Про збір даних і приватність
|
||||||
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Відкриє переглядач з детальнішою інформацією про автоматичний збір даних
|
STR_GAME_OPTIONS_PARTICIPATE_SURVEY_LINK_TOOLTIP :{BLACK}Відкриє переглядач з детальнішою інформацією про автоматичний збір даних
|
||||||
@@ -2662,7 +2662,7 @@ STR_NETWORK_ASK_RELAY_YES_ONCE :{BLACK}Так,
|
|||||||
STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Так, більше не питати
|
STR_NETWORK_ASK_RELAY_YES_ALWAYS :{BLACK}Так, більше не питати
|
||||||
|
|
||||||
STR_NETWORK_ASK_SURVEY_CAPTION :Дозволити автоматизований збір даних?
|
STR_NETWORK_ASK_SURVEY_CAPTION :Дозволити автоматизований збір даних?
|
||||||
STR_NETWORK_ASK_SURVEY_TEXT :Бажаєте долучитись до автоматичного збору даних?{}OpenTTD передаватиме дані при виході з гри.{}Це можна будь-коли змінити в "Налаштуваннях гри".
|
STR_NETWORK_ASK_SURVEY_TEXT :Бажаєте долучитися до автоматичного збору даних?{}OpenTTD передаватиме деякі дані при виході з гри.{}Це можна змінити в розділі "Налаштування гри" будь-коли.
|
||||||
STR_NETWORK_ASK_SURVEY_PREVIEW :Попередній перегляд збору даних
|
STR_NETWORK_ASK_SURVEY_PREVIEW :Попередній перегляд збору даних
|
||||||
STR_NETWORK_ASK_SURVEY_LINK :Про збір даних і приватність
|
STR_NETWORK_ASK_SURVEY_LINK :Про збір даних і приватність
|
||||||
STR_NETWORK_ASK_SURVEY_NO :Ні
|
STR_NETWORK_ASK_SURVEY_NO :Ні
|
||||||
|
@@ -13,6 +13,7 @@
|
|||||||
#include "../game/game.hpp"
|
#include "../game/game.hpp"
|
||||||
#include "../window_func.h"
|
#include "../window_func.h"
|
||||||
#include "../error.h"
|
#include "../error.h"
|
||||||
|
#include "../fileio_func.h"
|
||||||
#include "../base_media_base.h"
|
#include "../base_media_base.h"
|
||||||
#include "../settings_type.h"
|
#include "../settings_type.h"
|
||||||
#include "network_content.h"
|
#include "network_content.h"
|
||||||
@@ -556,7 +557,7 @@ void ClientNetworkContentSocketHandler::AfterDownload()
|
|||||||
this->curFile = nullptr;
|
this->curFile = nullptr;
|
||||||
|
|
||||||
if (GunzipFile(this->curInfo)) {
|
if (GunzipFile(this->curInfo)) {
|
||||||
unlink(GetFullFilename(this->curInfo, true).c_str());
|
FioRemove(GetFullFilename(this->curInfo, true));
|
||||||
|
|
||||||
Subdirectory sd = GetContentInfoSubDir(this->curInfo->type);
|
Subdirectory sd = GetContentInfoSubDir(this->curInfo->type);
|
||||||
if (sd == NO_DIRECTORY) NOT_REACHED();
|
if (sd == NO_DIRECTORY) NOT_REACHED();
|
||||||
@@ -568,7 +569,7 @@ void ClientNetworkContentSocketHandler::AfterDownload()
|
|||||||
if (this->curInfo->type == CONTENT_TYPE_BASE_MUSIC) {
|
if (this->curInfo->type == CONTENT_TYPE_BASE_MUSIC) {
|
||||||
/* Music can't be in a tar. So extract the tar! */
|
/* Music can't be in a tar. So extract the tar! */
|
||||||
ExtractTar(fname, BASESET_DIR);
|
ExtractTar(fname, BASESET_DIR);
|
||||||
unlink(fname.c_str());
|
FioRemove(fname);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __EMSCRIPTEN__
|
#ifdef __EMSCRIPTEN__
|
||||||
|
@@ -756,11 +756,10 @@ static std::vector<OptionData> CreateOptions()
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Main entry point for this lovely game.
|
* Main entry point for this lovely game.
|
||||||
* @param argc The number of arguments passed to this game.
|
* @param arguments The command line arguments passed to the application.
|
||||||
* @param argv The values of the arguments.
|
|
||||||
* @return 0 when there is no error.
|
* @return 0 when there is no error.
|
||||||
*/
|
*/
|
||||||
int openttd_main(int argc, char *argv[])
|
int openttd_main(std::span<char * const> arguments)
|
||||||
{
|
{
|
||||||
SetSelfAsMainThread();
|
SetSelfAsMainThread();
|
||||||
PerThreadSetup();
|
PerThreadSetup();
|
||||||
@@ -788,7 +787,7 @@ int openttd_main(int argc, char *argv[])
|
|||||||
_switch_mode = SM_MENU;
|
_switch_mode = SM_MENU;
|
||||||
|
|
||||||
auto options = CreateOptions();
|
auto options = CreateOptions();
|
||||||
GetOptData mgo(std::span(argv + 1, argc - 1), options);
|
GetOptData mgo(arguments.subspan(1), options);
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
@@ -878,7 +877,7 @@ int openttd_main(int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
case 'q':
|
case 'q':
|
||||||
case 'K': {
|
case 'K': {
|
||||||
DeterminePaths(argv[0], only_local_path);
|
DeterminePaths(arguments[0], only_local_path);
|
||||||
if (StrEmpty(mgo.opt)) {
|
if (StrEmpty(mgo.opt)) {
|
||||||
ret = 1;
|
ret = 1;
|
||||||
return ret;
|
return ret;
|
||||||
@@ -941,7 +940,7 @@ int openttd_main(int argc, char *argv[])
|
|||||||
*
|
*
|
||||||
* The next two functions are needed to list the graphics sets. We can't do them earlier
|
* The next two functions are needed to list the graphics sets. We can't do them earlier
|
||||||
* because then we cannot show it on the debug console as that hasn't been configured yet. */
|
* because then we cannot show it on the debug console as that hasn't been configured yet. */
|
||||||
DeterminePaths(argv[0], only_local_path);
|
DeterminePaths(arguments[0], only_local_path);
|
||||||
TarScanner::DoScan(TarScanner::BASESET);
|
TarScanner::DoScan(TarScanner::BASESET);
|
||||||
BaseGraphics::FindSets();
|
BaseGraphics::FindSets();
|
||||||
BaseSounds::FindSets();
|
BaseSounds::FindSets();
|
||||||
@@ -950,7 +949,7 @@ int openttd_main(int argc, char *argv[])
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
DeterminePaths(argv[0], only_local_path);
|
DeterminePaths(arguments[0], only_local_path);
|
||||||
TarScanner::DoScan(TarScanner::BASESET);
|
TarScanner::DoScan(TarScanner::BASESET);
|
||||||
|
|
||||||
if (dedicated) DEBUG(net, 3, "Starting dedicated server, version %s", _openttd_revision);
|
if (dedicated) DEBUG(net, 3, "Starting dedicated server, version %s", _openttd_revision);
|
||||||
|
@@ -96,7 +96,7 @@ extern uint32_t _pause_countdown;
|
|||||||
void AskExitGame();
|
void AskExitGame();
|
||||||
void AskExitToGameMenu();
|
void AskExitToGameMenu();
|
||||||
|
|
||||||
int openttd_main(int argc, char *argv[]);
|
int openttd_main(std::span<char * const> arguments);
|
||||||
void StateGameLoop();
|
void StateGameLoop();
|
||||||
void HandleExitGameRequest();
|
void HandleExitGameRequest();
|
||||||
void InitMusicDriver(bool init_volume);
|
void InitMusicDriver(bool init_volume);
|
||||||
|
@@ -43,7 +43,7 @@ int CDECL main(int argc, char *argv[])
|
|||||||
|
|
||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
|
|
||||||
int ret = openttd_main(argc, argv);
|
int ret = openttd_main(std::span(argv, argc));
|
||||||
|
|
||||||
CocoaReleaseAutoreleasePool();
|
CocoaReleaseAutoreleasePool();
|
||||||
|
|
||||||
|
@@ -31,5 +31,5 @@ int CDECL main(int argc, char *argv[])
|
|||||||
|
|
||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
|
|
||||||
return openttd_main(argc, argv);
|
return openttd_main(std::span(argv, argc));
|
||||||
}
|
}
|
||||||
|
@@ -19,11 +19,10 @@
|
|||||||
|
|
||||||
#include "../../safeguards.h"
|
#include "../../safeguards.h"
|
||||||
|
|
||||||
static int ParseCommandLine(char *line, char **argv, int max_argc)
|
static auto ParseCommandLine(char *line)
|
||||||
{
|
{
|
||||||
int n = 0;
|
std::vector<char *> arguments;
|
||||||
|
for (;;) {
|
||||||
do {
|
|
||||||
/* skip whitespace */
|
/* skip whitespace */
|
||||||
while (*line == ' ' || *line == '\t') line++;
|
while (*line == ' ' || *line == '\t') line++;
|
||||||
|
|
||||||
@@ -32,31 +31,28 @@ static int ParseCommandLine(char *line, char **argv, int max_argc)
|
|||||||
|
|
||||||
/* special handling when quoted */
|
/* special handling when quoted */
|
||||||
if (*line == '"') {
|
if (*line == '"') {
|
||||||
argv[n++] = ++line;
|
arguments.push_back(++line);
|
||||||
while (*line != '"') {
|
while (*line != '"') {
|
||||||
if (*line == '\0') return n;
|
if (*line == '\0') return arguments;
|
||||||
line++;
|
line++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
argv[n++] = line;
|
arguments.push_back(line);
|
||||||
while (*line != ' ' && *line != '\t') {
|
while (*line != ' ' && *line != '\t') {
|
||||||
if (*line == '\0') return n;
|
if (*line == '\0') return arguments;
|
||||||
line++;
|
line++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*line++ = '\0';
|
*line++ = '\0';
|
||||||
} while (n != max_argc);
|
};
|
||||||
|
|
||||||
return n;
|
return arguments;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreateConsole();
|
void CreateConsole();
|
||||||
|
|
||||||
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
|
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
|
||||||
{
|
{
|
||||||
int argc;
|
|
||||||
char *argv[64]; // max 64 command line arguments
|
|
||||||
|
|
||||||
/* Set system timer resolution to 1ms. */
|
/* Set system timer resolution to 1ms. */
|
||||||
timeBeginPeriod(1);
|
timeBeginPeriod(1);
|
||||||
|
|
||||||
@@ -78,15 +74,15 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
|
|||||||
/* setup random seed to something quite random */
|
/* setup random seed to something quite random */
|
||||||
SetRandomSeed(GetTickCount());
|
SetRandomSeed(GetTickCount());
|
||||||
|
|
||||||
argc = ParseCommandLine(cmdline.data(), argv, lengthof(argv));
|
auto arguments = ParseCommandLine(cmdline.data());
|
||||||
|
|
||||||
/* Make sure our arguments contain only valid UTF-8 characters. */
|
/* Make sure our arguments contain only valid UTF-8 characters. */
|
||||||
for (int i = 0; i < argc; i++) StrMakeValidInPlace(argv[i]);
|
for (auto argument : arguments) StrMakeValidInPlace(argument);
|
||||||
|
|
||||||
openttd_main(argc, argv);
|
int ret = openttd_main(arguments);
|
||||||
|
|
||||||
/* Restore system timer resolution. */
|
/* Restore system timer resolution. */
|
||||||
timeEndPeriod(1);
|
timeEndPeriod(1);
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@@ -16,11 +16,6 @@
|
|||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#if !defined(_WIN32) || defined(__CYGWIN__)
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "../safeguards.h"
|
#include "../safeguards.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -328,11 +323,11 @@ static void DumpSections(const IniLoadFile &ifile)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copy a file to the output.
|
* Append a file to the output stream.
|
||||||
* @param fname Filename of file to copy.
|
* @param fname Filename of file to append.
|
||||||
* @param out_fp Output stream to write to.
|
* @param out_fp Output stream to write to.
|
||||||
*/
|
*/
|
||||||
static void CopyFile(const char *fname, FILE *out_fp)
|
static void AppendFile(const char *fname, FILE *out_fp)
|
||||||
{
|
{
|
||||||
if (fname == nullptr) return;
|
if (fname == nullptr) return;
|
||||||
|
|
||||||
@@ -482,10 +477,10 @@ int CDECL main(int argc, char *argv[])
|
|||||||
|
|
||||||
/* Write output. */
|
/* Write output. */
|
||||||
if (output_file == nullptr) {
|
if (output_file == nullptr) {
|
||||||
CopyFile(before_file, stdout);
|
AppendFile(before_file, stdout);
|
||||||
_stored_output.Write(stdout);
|
_stored_output.Write(stdout);
|
||||||
_post_amble_output.Write(stdout);
|
_post_amble_output.Write(stdout);
|
||||||
CopyFile(after_file, stdout);
|
AppendFile(after_file, stdout);
|
||||||
} else {
|
} else {
|
||||||
static const char * const tmp_output = "tmp2.xxx";
|
static const char * const tmp_output = "tmp2.xxx";
|
||||||
|
|
||||||
@@ -493,10 +488,10 @@ int CDECL main(int argc, char *argv[])
|
|||||||
if (fp == nullptr) {
|
if (fp == nullptr) {
|
||||||
error("Cannot open file %s", tmp_output);
|
error("Cannot open file %s", tmp_output);
|
||||||
}
|
}
|
||||||
CopyFile(before_file, fp);
|
AppendFile(before_file, fp);
|
||||||
_stored_output.Write(fp);
|
_stored_output.Write(fp);
|
||||||
_post_amble_output.Write(fp);
|
_post_amble_output.Write(fp);
|
||||||
CopyFile(after_file, fp);
|
AppendFile(after_file, fp);
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
|
||||||
if (CompareFiles(tmp_output, output_file)) {
|
if (CompareFiles(tmp_output, output_file)) {
|
||||||
@@ -507,7 +502,9 @@ int CDECL main(int argc, char *argv[])
|
|||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
unlink(output_file);
|
unlink(output_file);
|
||||||
#endif
|
#endif
|
||||||
if (rename(tmp_output, output_file) == -1) error("rename() failed");
|
if (rename(tmp_output, output_file) == -1) {
|
||||||
|
error("rename(%s, %s) failed: %s", tmp_output, output_file, StrErrorDumper().GetLast());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@@ -2874,7 +2874,7 @@ struct FileWriter : SaveFilter {
|
|||||||
~FileWriter()
|
~FileWriter()
|
||||||
{
|
{
|
||||||
this->CloseFile();
|
this->CloseFile();
|
||||||
if (!this->temp_name.empty()) unlink(this->temp_name.c_str());
|
if (!this->temp_name.empty()) FioRemove(this->temp_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Write(uint8_t *buf, size_t size) override
|
void Write(uint8_t *buf, size_t size) override
|
||||||
|
@@ -24,7 +24,7 @@ public:
|
|||||||
/** Factory for the sound driver for Windows. */
|
/** Factory for the sound driver for Windows. */
|
||||||
class FSoundDriver_Win32 : public DriverFactoryBase {
|
class FSoundDriver_Win32 : public DriverFactoryBase {
|
||||||
public:
|
public:
|
||||||
FSoundDriver_Win32() : DriverFactoryBase(Driver::DT_SOUND, 9, "win32", "Win32 WaveOut Sound Driver (param bufsize,hz)") {}
|
FSoundDriver_Win32() : DriverFactoryBase(Driver::DT_SOUND, 9, "win32", "Win32 WaveOut Sound Driver (param hz,samples)") {}
|
||||||
Driver *CreateInstance() const override { return new SoundDriver_Win32(); }
|
Driver *CreateInstance() const override { return new SoundDriver_Win32(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -24,7 +24,7 @@ public:
|
|||||||
/** Factory for the XAudio2 sound driver. */
|
/** Factory for the XAudio2 sound driver. */
|
||||||
class FSoundDriver_XAudio2 : public DriverFactoryBase {
|
class FSoundDriver_XAudio2 : public DriverFactoryBase {
|
||||||
public:
|
public:
|
||||||
FSoundDriver_XAudio2() : DriverFactoryBase(Driver::DT_SOUND, 10, "xaudio2", "XAudio2 Sound Driver (param bufsize,hz)") {}
|
FSoundDriver_XAudio2() : DriverFactoryBase(Driver::DT_SOUND, 10, "xaudio2", "XAudio2 Sound Driver (param hz,samples)") {}
|
||||||
Driver *CreateInstance() const override { return new SoundDriver_XAudio2(); }
|
Driver *CreateInstance() const override { return new SoundDriver_XAudio2(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -307,7 +307,7 @@ bool CompareFiles(const char *n1, const char *n2)
|
|||||||
/** Base class for writing data to disk. */
|
/** Base class for writing data to disk. */
|
||||||
struct FileWriter {
|
struct FileWriter {
|
||||||
FILE *fh; ///< The file handle we're writing to.
|
FILE *fh; ///< The file handle we're writing to.
|
||||||
const char *filename; ///< The file name we're writing to.
|
std::string filename; ///< The file name we're writing to.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open a file to write to.
|
* Open a file to write to.
|
||||||
@@ -315,11 +315,11 @@ struct FileWriter {
|
|||||||
*/
|
*/
|
||||||
FileWriter(const char *filename)
|
FileWriter(const char *filename)
|
||||||
{
|
{
|
||||||
this->filename = stredup(filename);
|
this->filename = filename;
|
||||||
this->fh = fopen(this->filename, "wb");
|
this->fh = fopen(filename, "wb");
|
||||||
|
|
||||||
if (this->fh == nullptr) {
|
if (this->fh == nullptr) {
|
||||||
error("Could not open %s", this->filename);
|
error("Could not open %s", filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -336,15 +336,14 @@ struct FileWriter {
|
|||||||
/* If we weren't closed an exception was thrown, so remove the temporary file. */
|
/* If we weren't closed an exception was thrown, so remove the temporary file. */
|
||||||
if (fh != nullptr) {
|
if (fh != nullptr) {
|
||||||
fclose(this->fh);
|
fclose(this->fh);
|
||||||
unlink(this->filename);
|
unlink(this->filename.c_str());
|
||||||
}
|
}
|
||||||
free(this->filename);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct HeaderFileWriter : HeaderWriter, FileWriter {
|
struct HeaderFileWriter : HeaderWriter, FileWriter {
|
||||||
/** The real file name we eventually want to write to. */
|
/** The real file name we eventually want to write to. */
|
||||||
const char *real_filename;
|
std::string real_filename;
|
||||||
/** The previous string ID that was printed. */
|
/** The previous string ID that was printed. */
|
||||||
int prev;
|
int prev;
|
||||||
uint total_strings;
|
uint total_strings;
|
||||||
@@ -354,19 +353,13 @@ struct HeaderFileWriter : HeaderWriter, FileWriter {
|
|||||||
* @param filename The file to open.
|
* @param filename The file to open.
|
||||||
*/
|
*/
|
||||||
HeaderFileWriter(const char *filename) : FileWriter("tmp.xxx"),
|
HeaderFileWriter(const char *filename) : FileWriter("tmp.xxx"),
|
||||||
real_filename(stredup(filename)), prev(0), total_strings(0)
|
real_filename(filename), prev(0), total_strings(0)
|
||||||
{
|
{
|
||||||
fprintf(this->fh, "/* This file is automatically generated. Do not modify */\n\n");
|
fprintf(this->fh, "/* This file is automatically generated. Do not modify */\n\n");
|
||||||
fprintf(this->fh, "#ifndef TABLE_STRINGS_H\n");
|
fprintf(this->fh, "#ifndef TABLE_STRINGS_H\n");
|
||||||
fprintf(this->fh, "#define TABLE_STRINGS_H\n");
|
fprintf(this->fh, "#define TABLE_STRINGS_H\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Free the filename. */
|
|
||||||
~HeaderFileWriter()
|
|
||||||
{
|
|
||||||
free(real_filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
void WriteStringID(const char *name, int stringid) override
|
void WriteStringID(const char *name, int stringid) override
|
||||||
{
|
{
|
||||||
if (prev + 1 != stringid) fprintf(this->fh, "\n");
|
if (prev + 1 != stringid) fprintf(this->fh, "\n");
|
||||||
@@ -397,15 +390,17 @@ struct HeaderFileWriter : HeaderWriter, FileWriter {
|
|||||||
|
|
||||||
this->FileWriter::Finalise();
|
this->FileWriter::Finalise();
|
||||||
|
|
||||||
if (CompareFiles(this->filename, this->real_filename)) {
|
if (CompareFiles(this->filename.c_str(), this->real_filename.c_str())) {
|
||||||
/* files are equal. tmp.xxx is not needed */
|
/* files are equal. tmp.xxx is not needed */
|
||||||
unlink(this->filename);
|
unlink(this->filename.c_str());
|
||||||
} else {
|
} else {
|
||||||
/* else rename tmp.xxx into filename */
|
/* else rename tmp.xxx into filename */
|
||||||
# if defined(_WIN32)
|
# if defined(_WIN32)
|
||||||
unlink(this->real_filename);
|
unlink(this->real_filename.c_str());
|
||||||
# endif
|
# endif
|
||||||
if (rename(this->filename, this->real_filename) == -1) error("rename() failed");
|
if (rename(this->filename.c_str(), this->real_filename.c_str()) == -1) {
|
||||||
|
error("rename(%s, %s) failed: %s", this->filename.c_str(), this->real_filename.c_str(), StrErrorDumper().GetLast());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -428,7 +423,7 @@ struct LanguageFileWriter : LanguageWriter, FileWriter {
|
|||||||
void Finalise() override
|
void Finalise() override
|
||||||
{
|
{
|
||||||
if (fputc(0, this->fh) == EOF) {
|
if (fputc(0, this->fh) == EOF) {
|
||||||
error("Could not write to %s", this->filename);
|
error("Could not write to %s", this->filename.c_str());
|
||||||
}
|
}
|
||||||
this->FileWriter::Finalise();
|
this->FileWriter::Finalise();
|
||||||
}
|
}
|
||||||
@@ -437,7 +432,7 @@ struct LanguageFileWriter : LanguageWriter, FileWriter {
|
|||||||
{
|
{
|
||||||
if (length == 0) return;
|
if (length == 0) return;
|
||||||
if (fwrite(buffer, sizeof(*buffer), length, this->fh) != length) {
|
if (fwrite(buffer, sizeof(*buffer), length, this->fh) != length) {
|
||||||
error("Could not write to %s", this->filename);
|
error("Could not write to %s", this->filename.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user