(svn r10872) [NewGRF_ports] -Sync: with trunk r10765:10871.
--- a/config.lib Sun Aug 12 18:18:48 2007 +0000
+++ b/config.lib Sun Aug 12 18:32:47 2007 +0000
@@ -308,11 +308,16 @@
# Check if all params have valid values
# Endian only allows AUTO, LE and, BE
- if [ -z "`echo $endian | egrep '^(AUTO|LE|BE)$'`" ]; then
+ if [ -z "`echo $endian | egrep '^(AUTO|LE|BE|PREPROCESSOR)$'`" ]; then
echo "configure: error: invalid option --endian=$endian"
echo " Available options are: --endian=[AUTO|LE|BE]"
exit 1
fi
+ if [ "$endian" = "PREPROCESSOR" ] && [ "$os" != "OSX" ]; then
+ echo "configure: error: invalid option --endian=$endian"
+ echo " PREPROCESSOR is only available for OSX"
+ exit 1
+ fi
# OS only allows DETECT, UNIX, OSX, FREEBSD, OPENBSD, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW, OS2, WINCE, and PSP
if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|OPENBSD|MORPHOS|BEOS|SUNOS|CYGWIN|MINGW|OS2|WINCE|PSP)$'`" ]; then
echo "configure: error: invalid option --os=$os"
@@ -838,6 +843,14 @@
CFLAGS="$CFLAGS -fno-strict-aliasing"
fi
+ # GCC 4.2+ automatically assumes that signed overflows do
+ # not occur in signed arithmetics, whereas we are not
+ # sure that they will not happen. It furthermore complains
+ # about it's own optimized code in some places.
+ if [ $cc_version -ge 42 ]; then
+ CFLAGS="$CFLAGS -fno-strict-overflow"
+ fi
+
if [ "$os" != "CYGWIN" ] && [ "$os" != "FREEBSD" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "WINCE" ] && [ "$os" != "PSP" ] && [ "$os" != "OS2" ]; then
LIBS="$LIBS -lpthread"
LIBS="$LIBS -lrt"
--- a/src/ai/trolly/pathfinder.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/ai/trolly/pathfinder.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -419,7 +419,7 @@
} else {
if (!IsRoad(parent->path.node.tile) || !IsTileType(parent->path.node.tile, MP_TUNNELBRIDGE)) {
Foundation f = GetRoadFoundation(parent_tileh, (RoadBits)AiNew_GetRoadDirection(parent->path.parent->node.tile, parent->path.node.tile, current->tile));
- if (IsInclinedFoundation(f) || (!IsFoundation(f) == 0 && HASBIT(BRIDGE_NO_FOUNDATION, parent_tileh))) {
+ if (IsInclinedFoundation(f) || (!IsFoundation(f) && HASBIT(BRIDGE_NO_FOUNDATION, parent_tileh))) {
res += AI_PATHFINDER_TILE_GOES_UP_PENALTY;
} else {
res += AI_PATHFINDER_FOUNDATION_PENALTY;
--- a/src/aircraft.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/aircraft.h Sun Aug 12 18:32:47 2007 +0000
@@ -128,7 +128,7 @@
Aircraft() { this->type = VEH_AIRCRAFT; }
/** We want to 'destruct' the right class. */
- virtual ~Aircraft() {}
+ virtual ~Aircraft() { this->PreDestructor(); }
const char *GetTypeString() const { return "aircraft"; }
void MarkDirty();
--- a/src/aircraft_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/aircraft_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -316,7 +316,7 @@
/* Allocate 2 or 3 vehicle structs, depending on type
* vl[0] = aircraft, vl[1] = shadow, [vl[2] = rotor] */
Vehicle *vl[3];
- if (!AllocateVehicles(vl, avi->subtype & AIR_CTOL ? 2 : 3)) {
+ if (!Vehicle::AllocateList(vl, avi->subtype & AIR_CTOL ? 2 : 3)) {
return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);
}
@@ -491,7 +491,7 @@
RebuildVehicleLists();
InvalidateWindow(WC_COMPANY, v->owner);
if (IsLocalPlayer())
- InvalidateAutoreplaceWindow(VEH_AIRCRAFT, v->group_id); //updates the replace Aircraft window
+ InvalidateAutoreplaceWindow(v->engine_type, v->group_id); //updates the replace Aircraft window
GetPlayer(_current_player)->num_engines[p1]++;
}
--- a/src/articulated_vehicles.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/articulated_vehicles.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -42,7 +42,7 @@
/* Attempt to use pre-allocated vehicles until they run out. This can happen
* if the callback returns different values depending on the cargo type. */
u->next = vl[i];
- if (u->next == NULL) u->next = AllocateVehicle();
+ if (u->next == NULL) u->next = new InvalidVehicle();
if (u->next == NULL) return;
u = u->next;
--- a/src/blitter/32bpp_base.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/blitter/32bpp_base.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -56,7 +56,7 @@
stepx = 1;
}
- this->SetPixel(video, x, y, color);
+ if (x > 0 && y > 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
if (dx > dy) {
frac = dy - (dx / 2);
while (x != x2) {
--- a/src/blitter/8bpp_base.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/blitter/8bpp_base.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -60,7 +60,7 @@
stepx = 1;
}
- this->SetPixel(video, x, y, color);
+ if (x > 0 && y > 0 && x < screen_width && y < screen_height) this->SetPixel(video, x, y, color);
if (dx > dy) {
frac = dy - (dx / 2);
while (x != x2) {
--- a/src/debug.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/debug.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -94,7 +94,14 @@
} else
#endif /* ENABLE_NETWORK */
{
+#if defined(WINCE)
+ /* We need to do OTTD2FS twice, but as it uses a static buffer, we need to store one temporary */
+ TCHAR tbuf[512];
+ _sntprintf(tbuf, sizeof(tbuf), _T("%s"), OTTD2FS(dbg));
+ NKDbgPrintfW(_T("dbg: [%s] %s\n"), tbuf, OTTD2FS(buf));
+#else
fprintf(stderr, "dbg: [%s] %s\n", dbg, buf);
+#endif
IConsoleDebug(dbg, buf);
}
}
--- a/src/depot.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/depot.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -37,6 +37,8 @@
*/
Depot::~Depot()
{
+ if (CleaningPool()) return;
+
/* Clear the depot from all order-lists */
RemoveOrderFromAllVehicles(OT_GOTO_DEPOT, this->index);
--- a/src/disaster_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/disaster_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -122,7 +122,6 @@
* and owned by nobody */
static void InitializeDisasterVehicle(Vehicle *v, int x, int y, byte z, Direction direction, byte subtype)
{
- v = new (v) DisasterVehicle();
v->x_pos = x;
v->y_pos = y;
v->z_pos = z;
@@ -601,7 +600,7 @@
v->tile,
0);
- u = ForceAllocateSpecialVehicle();
+ u = new DisasterVehicle();
if (u == NULL) {
DeleteDisasterVeh(v);
return;
@@ -610,7 +609,7 @@
InitializeDisasterVehicle(u, -6 * TILE_SIZE, v->y_pos, 135, DIR_SW, ST_Big_Ufo_Destroyer);
u->u.disaster.big_ufo_destroyer_target = v->index;
- w = ForceAllocateSpecialVehicle();
+ w = new DisasterVehicle();
if (w == NULL) return;
u->next = w;
@@ -707,7 +706,7 @@
VehiclePositionChanged(v);
BeginVehicleMove(v);
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
return;
}
@@ -761,7 +760,7 @@
* otherwise crashes on a random tile */
static void Disaster_Zeppeliner_Init()
{
- Vehicle *v = ForceAllocateSpecialVehicle(), *u;
+ Vehicle *v = new DisasterVehicle(), *u;
Station *st;
int x;
@@ -782,7 +781,7 @@
InitializeDisasterVehicle(v, x, 0, 135, DIR_SE, ST_Zeppeliner);
/* Allocate shadow too? */
- u = ForceAllocateSpecialVehicle();
+ u = new DisasterVehicle();
if (u != NULL) {
v->next = u;
InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_Zeppeliner_Shadow);
@@ -795,7 +794,7 @@
* until it locates a road vehicle which it targets and then destroys */
static void Disaster_Small_Ufo_Init()
{
- Vehicle *v = ForceAllocateSpecialVehicle(), *u;
+ Vehicle *v = new DisasterVehicle(), *u;
int x;
if (v == NULL) return;
@@ -807,7 +806,7 @@
v->age = 0;
/* Allocate shadow too? */
- u = ForceAllocateSpecialVehicle();
+ u = new DisasterVehicle();
if (u != NULL) {
v->next = u;
InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_Small_Ufo_Shadow);
@@ -834,7 +833,7 @@
if (found == NULL) return;
- v = ForceAllocateSpecialVehicle();
+ v = new DisasterVehicle();
if (v == NULL) return;
/* Start from the bottom (south side) of the map */
@@ -843,7 +842,7 @@
InitializeDisasterVehicle(v, x, y, 135, DIR_NE, ST_Airplane);
- u = ForceAllocateSpecialVehicle();
+ u = new DisasterVehicle();
if (u != NULL) {
v->next = u;
InitializeDisasterVehicle(u, x, y, 0, DIR_SE, ST_Airplane_Shadow);
@@ -870,7 +869,7 @@
if (found == NULL) return;
- v = ForceAllocateSpecialVehicle();
+ v = new DisasterVehicle();
if (v == NULL) return;
x = -16 * TILE_SIZE;
@@ -878,13 +877,13 @@
InitializeDisasterVehicle(v, x, y, 135, DIR_SW, ST_Helicopter);
- u = ForceAllocateSpecialVehicle();
+ u = new DisasterVehicle();
if (u != NULL) {
v->next = u;
InitializeDisasterVehicle(u, x, y, 0, DIR_SW, ST_Helicopter_Shadow);
u->vehstatus |= VS_SHADOW;
- w = ForceAllocateSpecialVehicle();
+ w = new DisasterVehicle();
if (w != NULL) {
u->next = w;
InitializeDisasterVehicle(w, x, y, 140, DIR_SW, ST_Helicopter_Rotors);
@@ -897,7 +896,7 @@
* down by a combat airplane, destroying the surroundings */
static void Disaster_Big_Ufo_Init()
{
- Vehicle *v = ForceAllocateSpecialVehicle(), *u;
+ Vehicle *v = new DisasterVehicle(), *u;
int x, y;
if (v == NULL) return;
@@ -910,7 +909,7 @@
v->age = 0;
/* Allocate shadow too? */
- u = ForceAllocateSpecialVehicle();
+ u = new DisasterVehicle();
if (u != NULL) {
v->next = u;
InitializeDisasterVehicle(u, x, y, 0, DIR_NW, ST_Big_Ufo_Shadow);
@@ -922,7 +921,7 @@
/* Curious submarine #1, just floats around */
static void Disaster_Small_Submarine_Init()
{
- Vehicle *v = ForceAllocateSpecialVehicle();
+ Vehicle *v = new DisasterVehicle();
int x, y;
Direction dir;
uint32 r;
@@ -947,7 +946,7 @@
/* Curious submarine #2, just floats around */
static void Disaster_Big_Submarine_Init()
{
- Vehicle *v = ForceAllocateSpecialVehicle();
+ Vehicle *v = new DisasterVehicle();
int x, y;
Direction dir;
uint32 r;
--- a/src/economy.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/economy.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -355,14 +355,14 @@
Vehicle *u = v;
do {
Vehicle *next = GetNextVehicle(u);
- DeleteVehicle(u);
+ delete u;
u = next;
} while (u != NULL);
} break;
case VEH_ROAD:
case VEH_SHIP:
- DeleteVehicle(v);
+ delete v;
break;
case VEH_AIRCRAFT:
@@ -1445,8 +1445,8 @@
/* handle end of route payment */
Money profit = DeliverGoods(cp->count, v->cargo_type, cp->source, last_visited, cp->source_xy, cp->days_in_transit);
cp->paid_for = true;
- route_profit += profit - cp->feeder_share; // display amount paid for final route delivery, A-D of a chain A-B-C-D
- vehicle_profit += profit; // whole vehicle is not payed for transfers picked up earlier
+ route_profit += profit; // display amount paid for final route delivery, A-D of a chain A-B-C-D
+ vehicle_profit += profit - cp->feeder_share; // whole vehicle is not payed for transfers picked up earlier
result |= 1;
--- a/src/fios.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/fios.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -108,7 +108,9 @@
char *path = _fios_path;
switch (item->type) {
-#if defined(WIN32) || defined(__OS2__)
+#if defined(WINCE)
+ case FIOS_TYPE_DRIVE: sprintf(path, PATHSEP ""); break;
+#elif defined(WIN32) || defined(__OS2__)
case FIOS_TYPE_DRIVE: sprintf(path, "%c:" PATHSEP, item->title[0]); break;
#endif
--- a/src/gfx.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/gfx.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -495,10 +495,10 @@
DrawPixelInfo *dpi = _cur_dpi;
FontSize size = _cur_fontsize;
WChar c;
- byte color;
int xo = x, yo = y;
- color = real_color & 0xFF;
+ byte color = real_color & 0xFF;
+ byte previous_color = color;
if (color != 0xFE) {
if (x >= dpi->left + dpi->width ||
@@ -548,8 +548,12 @@
y += GetCharacterHeight(size);
goto check_bounds;
} else if (c >= SCC_BLUE && c <= SCC_BLACK) { // change color?
+ previous_color = color;
color = (byte)(c - SCC_BLUE);
goto switch_color;
+ } else if (c == SCC_PREVIOUS_COLOUR) { // revert to the previous color
+ Swap(color, previous_color);
+ goto switch_color;
} else if (c == SCC_SETX) { // {SETX}
x = xo + (byte)*string++;
} else if (c == SCC_SETXY) {// {SETXY}
@@ -840,6 +844,11 @@
void DrawMouseCursor()
{
+#if defined(WINCE)
+ /* Don't ever draw the mouse for WinCE, as we work with a stylus */
+ return;
+#endif
+
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter();
int x;
int y;
--- a/src/group.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/group.h Sun Aug 12 18:32:47 2007 +0000
@@ -29,8 +29,6 @@
Group(StringID str = STR_NULL);
virtual ~Group();
- void QuickFree();
-
bool IsValid() const;
};
--- a/src/group_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/group_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -50,15 +50,10 @@
Group::~Group()
{
- this->QuickFree();
+ DeleteName(this->string_id);
this->string_id = STR_NULL;
}
-void Group::QuickFree()
-{
- DeleteName(this->string_id);
-}
-
bool Group::IsValid() const
{
return this->string_id != STR_NULL;
--- a/src/group_gui.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/group_gui.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -451,36 +451,20 @@
max = min(w->vscroll2.pos + w->vscroll2.cap, gv->l.list_length);
for (i = w->vscroll2.pos ; i < max ; ++i) {
const Vehicle* v = gv->sort_list[i];
- StringID str;
assert(v->type == gv->vehicle_type && v->owner == owner);
DrawVehicleImage(v, x + 19, y2 + 6, w->hscroll.cap, 0, gv->vehicle_sel);
DrawVehicleProfitButton(v, x, y2 + 13);
- if (IsVehicleInDepot(v)) {
- str = STR_021F;
- } else {
- str = v->age > v->max_age - 366 ? STR_00E3 : STR_00E2;
- }
SetDParam(0, v->unitnumber);
- DrawString(x, y2 + 2, str, 0);
+ DrawString(x, y2 + 2, IsVehicleInDepot(v) ? STR_021F : (v->age > v->max_age - 366 ? STR_00E3 : STR_00E2), 0);
if (w->resize.step_height == PLY_WND_PRC__SIZE_OF_ROW_BIG2) DrawSmallOrderList(v, x + 138, y2);
- if (v->profit_this_year < 0) {
- str = v->profit_last_year < 0 ?
- STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :
- STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR;
- } else {
- str = v->profit_last_year < 0 ?
- STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :
- STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR;
- }
-
SetDParam(0, v->profit_this_year);
SetDParam(1, v->profit_last_year);
- DrawString(x + 19, y2 + w->resize.step_height - 8, str, 0);
+ DrawString(x + 19, y2 + w->resize.step_height - 8, STR_0198_PROFIT_THIS_YEAR_LAST_YEAR, 0);
if (IsValidGroupID(v->group_id)) {
SetDParam(0, v->group_id);
@@ -780,6 +764,8 @@
void ShowPlayerGroup(PlayerID player, VehicleType vehicle_type)
{
+ if (!IsValidPlayer(player)) return;
+
WindowClass wc;
switch (vehicle_type) {
--- a/src/industry_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/industry_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -130,6 +130,8 @@
Industry::~Industry()
{
+ if (CleaningPool()) return;
+
/* Industry can also be destroyed when not fully initialized.
* This means that we do not have to clear tiles either. */
if (this->width == 0) {
@@ -1943,8 +1945,8 @@
void InitializeIndustries()
{
- CleanPool(&_Industry_pool);
- AddBlockToPool(&_Industry_pool);
+ _Industry_pool.CleanPool();
+ _Industry_pool.AddBlockToPool();
ResetIndustryCounts();
_industry_sort_dirty = true;
--- a/src/lang/american.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/american.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Too close to edge of map
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Not enough cash - requires {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Flat land required
STR_0008_WAITING :{BLACK}Waiting: {WHITE}{STRING}
@@ -3361,10 +3360,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Rename the selected group
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Click to protect this group from global autoreplace
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profit this year: {GREEN}{CURRENCY} {BLACK}(last year: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profit this year: {RED}{CURRENCY} {BLACK}(last year: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit this year: {GREEN}{CURRENCY} {BLACK}(last year: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit this year: {RED}{CURRENCY} {BLACK}(last year: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/brazilian_portuguese.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/brazilian_portuguese.txt Sun Aug 12 18:32:47 2007 +0000
@@ -13,7 +13,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Muito próximo da borda do mapa
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Não há dinheiro - requer {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Precisa de terreno plano
STR_0008_WAITING :{BLACK}Aguardando: {WHITE}{STRING}
@@ -1999,9 +1998,9 @@
STR_482F_COST :{BLACK}Custo: {YELLOW}{CURRENCY}
STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Impossível construir este tipo de indústria aqui...
STR_4831_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}...a floresta só pode ser plantada acima do nível de neve
-STR_4832_ANNOUNCES_IMMINENT_CLOSURE :{BLACK}{BIGFONT}{INDUSTRY} anuncia falência iminente!
-STR_4833_SUPPLY_PROBLEMS_CAUSE_TO :{BLACK}{BIGFONT}Problemas de abastecimento forçaram {INDUSTRY} a anunciar falência iminente!
-STR_4834_LACK_OF_NEARBY_TREES_CAUSES :{BLACK}{BIGFONT}Falta de árvores nas proximidades forçaram {INDUSTRY} a anunciar falência iminente!
+STR_4832_ANNOUNCES_IMMINENT_CLOSURE :{BLACK}{BIGFONT}{INDUSTRY} anuncia o fechamento!
+STR_4833_SUPPLY_PROBLEMS_CAUSE_TO :{BLACK}{BIGFONT}Problemas de abastecimento forçaram {INDUSTRY} a anunciar o fechamento!
+STR_4834_LACK_OF_NEARBY_TREES_CAUSES :{BLACK}{BIGFONT}Falta de árvores nas proximidades forçaram {INDUSTRY} a anunciar o fechamento!
STR_4835_INCREASES_PRODUCTION :{BLACK}{BIGFONT}{INDUSTRY} aumenta a produção!
STR_4836_NEW_COAL_SEAM_FOUND_AT :{BLACK}{BIGFONT}Nova jazida de carvão encontrada em {INDUSTRY}!{}A expectativa é dobrar a produção!
STR_4837_NEW_OIL_RESERVES_FOUND :{BLACK}{BIGFONT}Novas reservas de petróleo encontradas em {INDUSTRY}!{}A expectativa é dobrar a produção!
@@ -3365,11 +3364,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Renomeia o grupo selecionado
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Clique para excluir esse grupo da substituição automática
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Lucros do ano: {GREEN}{CURRENCY} {BLACK}(ano passado: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Lucros do ano: {RED}{CURRENCY} {BLACK}(ano passado: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Lucros do ano {GREEN}{CURRENCY} {BLACK}(ano passado: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Lucros do ano: {RED}{CURRENCY} {BLACK}(ano passado {RED}{CURRENCY}{BLACK})
-
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
STR_GROUP_NAME :{GROUP}
--- a/src/lang/bulgarian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/bulgarian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -13,7 +13,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Края на картата е прекалено близо
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Недостатъчно пари - трябват {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Трябва равна земя
STR_0008_WAITING :{BLACK}Чакане: {WHITE}{STRING}
@@ -1661,6 +1660,7 @@
STR_180B_BUILD_ROAD_SECTION :{BLACK}Строене на път
STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Построи секциа от трамвайна линиа
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Строене на гараж (за строене и сервиз на МПС-та)
+STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Построи трамвайно депо (за стройтелни и сервизни коли)
STR_180D_BUILD_BUS_STATION :{BLACK}Строене на автогара
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Строене на товарна гара
STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Построи пъгническа трамвайна гара
@@ -2629,6 +2629,7 @@
STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT :Ремонт без спиране в {TOWN} влаково депо
STR_TIMETABLE_GO_TO :{STRING} {STRING}
+STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Патувай (без разписание)
STR_TIMETABLE_TRAVEL_FOR :Патувай за {STRING}
STR_TIMETABLE_STAY_FOR :и остани за {STRING}
STR_TIMETABLE_DAYS :{COMMA} ден{P "" s}
@@ -2675,6 +2676,7 @@
STR_REFIT_TIP :{BLACK}Избор какво преустройсто да се направи. Щракване със задържан контрол премахва инструкцията
STR_REFIT_ORDER :(Преустройство към {STRING})
STR_TIMETABLE_VIEW :{BLACK}Разписание
+STR_TIMETABLE_VIEW_TOOLTIP :{BLACK}Виж разписанието
STR_8829_ORDERS :{WHITE}{VEHICLE} (Заповеди)
STR_882A_END_OF_ORDERS :{SETX 10}- - Край на Заповедите - -
STR_FULLLOAD_OR_SERVICE :{SKIP}{SKIP}{STRING}
@@ -2691,6 +2693,9 @@
STR_8833_CAN_T_INSERT_NEW_ORDER :{WHITE}Не може да зададеш нова заповед...
STR_8834_CAN_T_DELETE_THIS_ORDER :{WHITE}Не може да изтриеш тази заповед...
STR_8835_CAN_T_MODIFY_THIS_ORDER :{WHITE}Не може да промениш тази заповед...
+STR_CAN_T_MOVE_THIS_ORDER :{WHITE}Не може да промениш тази заповед...
+STR_CAN_T_SKIP_ORDER :{WHITE}Не може да прескочиш настоящата заповед...
+STR_CAN_T_SKIP_TO_ORDER :{WHITE}Не може да прескочиш до избраната заповед...
STR_8837_CAN_T_MOVE_VEHICLE :{WHITE}Не може да преместиш машината...
STR_REAR_ENGINE_FOLLOW_FRONT_ERROR :{WHITE}Задния локомотив ще следва винаги предния си събрат
STR_8838_N_A :Не се предлага{SKIP}
@@ -2722,11 +2727,16 @@
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Капацитет на влаковата композиция
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Общ капацитет на влака, разбит по типове товар
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Пътен лист - натиснете върху назначение за маркиране. CTRL + натискане - центрира върху станцията
+STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Прескачане на настоящата заповед и започване на цледващата. CTRL + клик прескача до избраната заповед
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Изтриване на избраното назначение
STR_8855_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Преминавай през избраното назначение без спиране
STR_8856_INSERT_A_NEW_ORDER_BEFORE :{BLACK}Добавяне на назначение преди избраната или в края на списъка
STR_8857_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Изчакай на избраното назначение до пълно зареждане с товар
STR_8858_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Разтоварва на избраното назначение целия товар
+STR_TIMETABLE_TOOLTIP :{BLACK}Времетаблица - кликни върху заповед за да я маркираш.
+STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Промени времетраенето на маркираната заповед
+STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Изчисти времетраенето на маркираната заповед
+STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Преправи закъснялата бройка, такаче превозните средства да са на време
STR_SERVICE_HINT :{BLACK}Пропусни освен ако е необходим ремонт
STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Цена: {CURRENCY} Тегло: {WEIGHT_S}{}Скорост: {VELOCITY} Мощност: {POWER}{}Разход: {CURRENCY}/г.{}Капацитет: {CARGO}
STR_885C_BROKEN_DOWN :{RED}Развален
@@ -2749,6 +2759,7 @@
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Изхвърляне на товара при достигане на избраното назначение
STR_886F_TRANSFER :{BLACK}Транфер
STR_CLEAR_TIME :{BLACK}Изчисти времето
+STR_RESET_LATENESS :{BLACK}Преправи закъснялата бройка
STR_TRAIN_STOPPING :{RED}Спира
STR_TRAIN_STOPPING_VEL :{RED}Спира, {VELOCITY}
@@ -2760,7 +2771,13 @@
STR_NEW_VEHICLE_TYPE :{BLACK}{BIGFONT}{ENGINE}
STR_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Нов {STRING} е на разположение! - {ENGINE}
+STR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Превозни средства могат да чакат само на гари.
+STR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Това превознот средство не спира на тази гара.
STR_TIMETABLE_CHANGE_TIME :{BLACK}Промени времето
+STR_TIMETABLE_STATUS_ON_TIME :Това превознот средство е в момента на време
+STR_TIMETABLE_STATUS_LATE :Това превознот средство е в момента с {STRING} закъснение
+STR_TIMETABLE_STATUS_EARLY :Това превознот средство е в момента с {STRING} по-рано
+STR_TIMETABLE_TOTAL_TIME :Ще трябва {STRING} за това разписание да бъде приклучено
STR_TIMETABLE_AUTOFILL :{BLACK}Афтонапълване
##id 0x9000
@@ -3289,6 +3306,7 @@
STR_TRANSPARENT_BUILDINGS_DESC :{BLACK}Използвай прозрачност за сгради като гари, депа, пътни точки и висящи жици
STR_TRANSPARENT_BRIDGES_DESC :{BLACK}Използвай прозрачност за мостове
STR_TRANSPARENT_STRUCTURES_DESC :{BLACK}Използвай прозрачност за сгради като фарове и антени, може би в бъдеще за украси
+STR_TRANSPARENT_LOADING_DESC :{BLACK}Вклучи прозрачност за товарещи указатели
STR_PERCENT_UP_SMALL :{TINYFONT}{WHITE}{NUM}%{UPARROW}
STR_PERCENT_UP :{WHITE}{NUM}%{UPARROW}
@@ -3304,6 +3322,10 @@
STR_GROUP_ALL_ROADS :Всички пътни превозни средства
STR_GROUP_ALL_SHIPS :Всички кораби
STR_GROUP_ALL_AIRCRAFTS :Всички самолети
+STR_GROUP_DEFAULT_TRAINS :Безгрупни влакове
+STR_GROUP_DEFAULT_ROADS :Безгрупни пътни превозни средства
+STR_GROUP_DEFAULT_SHIPS :Безгрупни кораби
+STR_GROUP_DEFAULT_AIRCRAFTS :Безгрупни самолети
STR_GROUP_TINY_NUM :{TINYFONT}{COMMA}
STR_GROUP_ADD_SHARED_VEHICLE :Добави споделени превозни средства
STR_GROUP_REMOVE_ALL_VEHICLES :Премахни всички превозни средсва
@@ -3328,11 +3350,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Преименувай избраната група
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Щракни да защитиш тази група от глобална автоматична замяна
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Печалба тази година: {GREEN}{CURRENCY} {BLACK}(предишната година: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Печалба тази година: {RED}{CURRENCY} {BLACK}(предишната година: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Печалба тази година: {GREEN}{CURRENCY} {BLACK}(предишната година: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Печалба тази година: {RED}{CURRENCY} {BLACK}(предишната година: {RED}{CURRENCY}{BLACK})
-
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
STR_GROUP_NAME :{GROUP}
@@ -3351,3 +3368,4 @@
STR_FUND_NEW_INDUSTRY :{BLACK}Фонд
STR_PROSPECT_NEW_INDUSTRY :{BLACK}Перспектива
STR_BUILD_NEW_INDUSTRY :{BLACK}Построи
+STR_INDUSTRY_SELECTION_HINT :{BLACK}Избери правилната промишленост от следниат списък
--- a/src/lang/catalan.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/catalan.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Massa a prop del marc del mapa
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}No tens prou diners - et fan falta {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Es necessita un terreny pla
STR_0008_WAITING :{BLACK}Esperant: {WHITE}{STRING}
@@ -3361,10 +3360,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Canvia el nom del grup seleccionat
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Clica per protegir aquest grup de l'autosubstitueix global
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Benefici aquest any: {GREEN}{CURRENCY} {BLACK}(any passat: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Benefici aquest any: {RED}{CURRENCY} {BLACK}(any passat: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Benefici aquest any: {GREEN}{CURRENCY} {BLACK}(any passat: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Benefici aquest any: {RED}{CURRENCY} {BLACK}(any passat: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/croatian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/croatian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -13,7 +13,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Preblizu rubu karte
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Nedovoljno gotovine - potrebno je {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Potrebna ravna površina
STR_0008_WAITING :{BLACK}Čekanje: {WHITE}{STRING}
@@ -3363,10 +3362,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Preimenuj odabranu grupu
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Klikni kako bi zaštitio ovu grupu od globalne automatske zamjene
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Dobit ove godine: {GREEN}{CURRENCY} {BLACK}(prošle godine: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Dobit ove godine: {RED}{CURRENCY} {BLACK}(prošle godine: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Dobit ove godine: {GREEN}{CURRENCY} {BLACK}(prošle godine: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Dobit ove godine: {RED}{CURRENCY} {BLACK}(prošle godine: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/czech.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/czech.txt Sun Aug 12 18:32:47 2007 +0000
@@ -13,7 +13,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Moc blízko k okraji mapy
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Nedostatek peněz - je potřeba {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Je potřeba plochá země
STR_0008_WAITING :{BLACK}Čeká tu: {WHITE}{STRING}
@@ -3425,10 +3424,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Přejmenovat vybranou skupinu
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Kliknutím nebude na tuto skupinu mít vliv automatická výměna vozidel
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Letošní příjem: {GREEN}{CURRENCY} {BLACK}(minulý rok: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Letošní příjem: {RED}{CURRENCY} {BLACK}(minulý rok: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Letošní příjem: {GREEN}{CURRENCY} {BLACK}(minulý rok: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Letošní příjem: {RED}{CURRENCY} {BLACK}(minulý rok: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/danish.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/danish.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}For tæt på kanten af kortet
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Ikke nok penge - kræver {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Landskabet skal være fladt
STR_0008_WAITING :{BLACK}Venter: {WHITE}{STRING}
@@ -3361,10 +3360,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Omdøb den valgte gruppe
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Klik for at beskytte denne gruppe mod global auto-udskiftning
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Afkast i indeværende år: {GREEN}{CURRENCY} {BLACK}(sidste år: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Afkast i indeværende år: {RED}{CURRENCY} {BLACK}(sidste år: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Afkast i indeværende år: {GREEN}{CURRENCY} {BLACK}(sidste år: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Afkast i indeværende år: {RED}{CURRENCY} {BLACK}(sidste år: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/dutch.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/dutch.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Te dicht bij de rand van de kaart
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Niet genoeg geld - {CURRENCY} nodig
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Vlak land nodig
STR_0008_WAITING :{BLACK}Wachtend: {WHITE}{STRING}
@@ -3361,10 +3360,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Hernoem de geselecteerde groep
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Klik om deze groep te beschermen tegen globaal automatisch vervangen
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Winst dit jaar: {GREEN}{CURRENCY} {BLACK}(vorig jaar: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Winst dit jaar: {RED}{CURRENCY} {BLACK}(vorig jaar: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Winst dit jaar: {GREEN}{CURRENCY} {BLACK}(vorig jaar: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Winst dit jaar: {RED}{CURRENCY} {BLACK}(vorig jaar: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/english.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/english.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Too close to edge of map
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Not enough cash - requires {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Flat land required
STR_0008_WAITING :{BLACK}Waiting: {WHITE}{STRING}
@@ -3361,11 +3360,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Rename the selected group
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Click to protect this group from global autoreplace
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profit this year: {GREEN}{CURRENCY} {BLACK}(last year: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profit this year: {RED}{CURRENCY} {BLACK}(last year: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit this year: {GREEN}{CURRENCY} {BLACK}(last year: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit this year: {RED}{CURRENCY} {BLACK}(last year: {RED}{CURRENCY}{BLACK})
-
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
STR_GROUP_NAME :{GROUP}
--- a/src/lang/esperanto.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/esperanto.txt Sun Aug 12 18:32:47 2007 +0000
@@ -12,7 +12,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Tro proksime al la mapa rando
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Ne sufiĉe da mono - vi bezonas {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Necesas ebena lando
STR_0008_WAITING :{BLACK}Atendas: {WHITE}{STRING}
--- a/src/lang/estonian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/estonian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -12,7 +12,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Kaardi äärele liiga lähedal
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Pole piisavalt raha - vajad {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Maapind peab olema tasane
STR_0008_WAITING :{BLACK}Ootel: {WHITE}{STRING}
@@ -1578,7 +1577,7 @@
STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Hangin mängu infot...
STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Hangin ettevõtte infot...
############ End of leave-in-this-order
-STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} kelint{P "" e} sinu ees
+STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} klient{P "" i} sinu ees
STR_NETWORK_CONNECTING_DOWNLOADING :{BLACK}{NUM} / {NUM} kbaiti tõmmatud
STR_NETWORK_DISCONNECT :{BLACK}Katkesta
@@ -3461,11 +3460,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Nimeta valitud üksus ümber
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Klõpsa, et seda üksust üldise iseväljavahetuse eest kaitsta
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Selle aasta kasum: {GREEN}{CURRENCY} {BLACK}(eelmisel aastal: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Selle aasta kasum: {RED}{CURRENCY} {BLACK}(eelmisel aastal: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Selle aasta kasum: {GREEN}{CURRENCY} {BLACK}(eelmisel aastal: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Selle aasta kasum: {RED}{CURRENCY} {BLACK}(eelmisel aastal: {RED}{CURRENCY}{BLACK})
-
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
STR_GROUP_NAME :{GROUP}
--- a/src/lang/finnish.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/finnish.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Liian lähellä kartan reunaa.
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Käteinen ei riitä - tarvitaan {CURRENCY}.
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Tarvitaan tasaista maata.
STR_0008_WAITING :{BLACK}Lähdössä: {WHITE}{STRING}
@@ -3358,10 +3357,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Nimeä valittu ryhmä
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Poista ryhmä automaattisesti korvattavien joukosta
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Tulos tänä vuonna: {GREEN}{CURRENCY} {BLACK}(viime vuonna: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Tulos tänä vuonna: {RED}{CURRENCY} {BLACK}(viime vuonna: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Tulos tänä vuonna: {GREEN}{CURRENCY} {BLACK}(viime vuonna: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Tulos tänä vuonna: {RED}{CURRENCY} {BLACK}(viime vuonna: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/french.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/french.txt Sun Aug 12 18:32:47 2007 +0000
@@ -12,7 +12,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Trop près des bords de la carte
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Fonds insuffisants{}Somme de {CURRENCY} requise
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Terrain plat requis
STR_0008_WAITING :{BLACK}En attente: {WHITE}{STRING}
@@ -3362,10 +3361,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Renommer le groupe sélectionné
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Cliquer pour protéger ce groupe contre l'auto-remplacement global
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profit cette année: {GREEN}{CURRENCY} {BLACK}(an dernier: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profit cette année: {RED}{CURRENCY} {BLACK}(an dernier: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit cette année: {GREEN}{CURRENCY} {BLACK}(an dernier: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit cette année: {RED}{CURRENCY} {BLACK}(an dernier: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/galician.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/galician.txt Sun Aug 12 18:32:47 2007 +0000
@@ -12,7 +12,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Demasiado cerca do borde do mapa
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Diñeiro insuficiente - necesitas {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Necesitas terreo chan
STR_0008_WAITING :{BLACK}Esperando: {WHITE}{STRING}
--- a/src/lang/german.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/german.txt Sun Aug 12 18:32:47 2007 +0000
@@ -8,14 +8,13 @@
##id 0x0000
STR_NULL :
-STR_0001_OFF_EDGE_OF_MAP :{WHITE}Zu weit vom Kartenrand entfernt
-STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Zu nahe am Kartenrand
-STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Nicht genug Geld - {CURRENCY} benötigt!
+STR_0001_OFF_EDGE_OF_MAP :{WHITE}Zu weit vom Spielfeldrand entfernt
+STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Zu nahe am Spielfeldrand
+STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Nicht genug Geld - {CURRENCY} erforderlich
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Ebenes Land erforderlich
-STR_0008_WAITING :{BLACK}Wartend: {WHITE}{STRING}
+STR_0008_WAITING :{BLACK}Im Wartezustand: {WHITE}{STRING}
STR_0009 :{WHITE}{CARGO}
STR_000A_EN_ROUTE_FROM :{WHITE}{CARGO}{YELLOW} (unterwegs von
STR_000B :{YELLOW}{STATION})
@@ -153,14 +152,14 @@
STR_ABBREV_ALL :{TINYFONT}ALLE
STR_00AE :{WHITE}{DATE_SHORT}
STR_00AF :{WHITE}{DATE_LONG}
-STR_00B0_MAP :{WHITE}Karte - {STRING}
+STR_00B0_MAP :{WHITE}Weltkarte - {STRING}
STR_00B1_GAME_OPTIONS :{WHITE}Spieleinstellungen
STR_00B2_MESSAGE :{YELLOW}Nachricht
STR_00B3_MESSAGE_FROM :{YELLOW}Nachricht von {STRING}
STR_POPUP_CAUTION_CAPTION :{WHITE}Achtung!
-STR_00B4_CAN_T_DO_THIS :{WHITE}Kann dies nicht tun....
-STR_00B5_CAN_T_CLEAR_THIS_AREA :{WHITE}Kann das Gebiet nicht räumen....
-STR_00B6_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle Rechte vorbehalten
+STR_00B4_CAN_T_DO_THIS :{WHITE}Befehl nicht ausführbar...
+STR_00B5_CAN_T_CLEAR_THIS_AREA :{WHITE}Gebiet kann nicht geräumt werden...
+STR_00B6_ORIGINAL_COPYRIGHT :{BLACK}Ursprüngliches Urheberrecht {COPYRIGHT} 1995 Chris Sawyer, Alle Rechte vorbehalten
STR_00B7_VERSION :{BLACK}OpenTTD Version {REV}
STR_00BA_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2007 OpenTTD-Team
STR_TRANSLATED_BY :{BLACK} Übersetzer -
@@ -170,7 +169,7 @@
STR_00C7_QUIT :{WHITE}Verlassen
STR_00C8_YES :{BLACK}Ja
STR_00C9_NO :{BLACK}Nein
-STR_00CA_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}Bist du sicher, dass du das Spiel abbrechen und zu {STRING} zurückkehren willst?
+STR_00CA_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}Sind Sie sicher, dass Sie das Spiel abbrechen und zu {STRING} zurückkehren wollen?
STR_00CB_1 :{BLACK}1
STR_00CC_2 :{BLACK}2
STR_00CD_3 :{BLACK}3
@@ -227,14 +226,14 @@
STR_0100_FACTORY :{BLACK}{TINYFONT}Fabrik
STR_0101_PRINTING_WORKS :{BLACK}{TINYFONT}Druckerei
STR_0102_OIL_WELLS :{BLACK}{TINYFONT}Ölquellen
-STR_0103_IRON_ORE_MINE :{BLACK}{TINYFONT}Eisenerzmine
+STR_0103_IRON_ORE_MINE :{BLACK}{TINYFONT}Eisenerzbergwerk
STR_0104_STEEL_MILL :{BLACK}{TINYFONT}Stahlfabrik
STR_0105_BANK :{BLACK}{TINYFONT}Bank
STR_0106_PAPER_MILL :{BLACK}{TINYFONT}Papiermühle
STR_0107_GOLD_MINE :{BLACK}{TINYFONT}Goldmine
STR_0108_FOOD_PROCESSING_PLANT :{BLACK}{TINYFONT}Nahrungsmittelfabrik
STR_0109_DIAMOND_MINE :{BLACK}{TINYFONT}Diamantenmine
-STR_010A_COPPER_ORE_MINE :{BLACK}{TINYFONT}Kupfermine
+STR_010A_COPPER_ORE_MINE :{BLACK}{TINYFONT}Kupfererzbergwerk
STR_010B_FRUIT_PLANTATION :{BLACK}{TINYFONT}Fruchtplantage
STR_010C_RUBBER_PLANTATION :{BLACK}{TINYFONT}Kautschukplantage
STR_010D_WATER_SUPPLY :{BLACK}{TINYFONT}Wasserquelle
@@ -299,7 +298,7 @@
STR_0141_LOAD_GAME :{BLACK}Spiel laden
STR_SINGLE_PLAYER :{BLACK}Einzelspieler
STR_MULTIPLAYER :{BLACK}Mehrspieler
-STR_SCENARIO_EDITOR :{BLACK}Szenario Editor
+STR_SCENARIO_EDITOR :{BLACK}Szenarieneditor
STR_64 :64
STR_128 :128
@@ -307,7 +306,7 @@
STR_512 :512
STR_1024 :1024
STR_2048 :2048
-STR_MAPSIZE :{BLACK}Kartengröße:
+STR_MAPSIZE :{BLACK}Spielfeldgröße:
STR_BY :{BLACK}*
STR_0148_GAME_OPTIONS :{BLACK}Spieleinstellungen
@@ -364,7 +363,7 @@
STR_015D_LOAD_GAME :Spiel laden
STR_015E_QUIT_GAME :Spiel beenden
STR_015F_QUIT :Beenden
-STR_ABANDON_GAME_QUERY :{YELLOW}Bist du sicher, dass du das Spiel beenden willst?
+STR_ABANDON_GAME_QUERY :{YELLOW}Sind Sie sicher, dass Sie das Spiel beenden wollen?
STR_0161_QUIT_GAME :{WHITE}Spiel beenden
STR_SORT_ORDER_TIP :{BLACK}Sortierreihenfolge auswählen (absteigend/aufsteigend)
STR_SORT_CRITERIA_TIP :{BLACK}Sortierkriterium auswählen
@@ -378,8 +377,8 @@
STR_SORT_BY_DROPDOWN_NAME :Name
STR_SORT_BY_DATE :{BLACK}Datum
STR_SORT_BY_NUMBER :Nummer
-STR_SORT_BY_PROFIT_LAST_YEAR :Profit letztes Jahr
-STR_SORT_BY_PROFIT_THIS_YEAR :Profit dieses Jahr
+STR_SORT_BY_PROFIT_LAST_YEAR :Gewinn im letzten Jahr
+STR_SORT_BY_PROFIT_THIS_YEAR :Gewinn in diesem Jahr
STR_SORT_BY_AGE :Alter
STR_SORT_BY_RELIABILITY :Zuverlässigkeit
STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Gesamtkapazität pro Fracht
@@ -396,21 +395,21 @@
STR_ENGINE_SORT_RUNNING_COST :Betriebskosten
STR_ENGINE_SORT_POWER_VS_RUNNING_COST :Leistung/Betriebskosten
STR_ENGINE_SORT_CARGO_CAPACITY :Frachtkapazität
-STR_NO_WAITING_CARGO :{BLACK}Keine Fracht wartet
-STR_SELECT_ALL_FACILITIES :{BLACK}Wähle alle Anlagen
-STR_SELECT_ALL_TYPES :{BLACK}Wähle alle Frachtarten (einschließlich ohne wartender Fracht)
+STR_NO_WAITING_CARGO :{BLACK}Keine Fracht im Wartezustand
+STR_SELECT_ALL_FACILITIES :{BLACK}Alle Anlagen auswählen
+STR_SELECT_ALL_TYPES :{BLACK}Alle Frachtarten auswählen (einschließlich keine Fracht)
STR_AVAILABLE_TRAINS :{BLACK}Verfügbare Züge
STR_AVAILABLE_ROAD_VEHICLES :{BLACK}Verfügbare Fahrzeuge
STR_AVAILABLE_SHIPS :{BLACK}Verfügbare Schiffe
STR_AVAILABLE_AIRCRAFT :{BLACK}Verfügbare Flugzeuge
-STR_AVAILABLE_ENGINES_TIP :{BLACK}Zeige eine Liste von verfügbaren Fahrzeugen für diesen Fahrzeugtyp
-STR_MANAGE_LIST :{BLACK}Verwalte die Liste
+STR_AVAILABLE_ENGINES_TIP :{BLACK}Verfügbare Fahrzeuge für diesen Fahrzeugtyp auflisten
+STR_MANAGE_LIST :{BLACK}Liste verwalten
STR_MANAGE_LIST_TIP :{BLACK}Aufträge an alle Fahrzeuge in der Liste verschicken
-STR_REPLACE_VEHICLES :Ersetze Fahrzeuge
-STR_SEND_TRAIN_TO_DEPOT :Sende nach Depot
-STR_SEND_ROAD_VEHICLE_TO_DEPOT :Sende nach Depot
-STR_SEND_SHIP_TO_DEPOT :Sende nach Depot
-STR_SEND_AIRCRAFT_TO_HANGAR :Sende nach Hangar
+STR_REPLACE_VEHICLES :Fahrzeuge ersetzen
+STR_SEND_TRAIN_TO_DEPOT :Ins Depot schicken
+STR_SEND_ROAD_VEHICLE_TO_DEPOT :Ins Depot schicken
+STR_SEND_SHIP_TO_DEPOT :In die Werft schicken
+STR_SEND_AIRCRAFT_TO_HANGAR :In den Hangar schicken
STR_SEND_FOR_SERVICING :Zur Wartung schicken
############ range for months starts
@@ -445,8 +444,8 @@
STR_017C_DISPLAY_LIST_OF_COMPANY :{BLACK}Fahrzeuglisten der Firmen
STR_017D_DISPLAY_LIST_OF_COMPANY :{BLACK}Schiffslisten der Firmen
STR_017E_DISPLAY_LIST_OF_COMPANY :{BLACK}Flugzeuglisten der Firmen
-STR_017F_ZOOM_THE_VIEW_IN :{BLACK}Heranzoomen (vergrößern)
-STR_0180_ZOOM_THE_VIEW_OUT :{BLACK}Wegzoomen (verkleinern)
+STR_017F_ZOOM_THE_VIEW_IN :{BLACK}Ansicht vergrößern (hereinzoomen)
+STR_0180_ZOOM_THE_VIEW_OUT :{BLACK}Ansicht verkleinern (herauszoomen)
STR_0181_BUILD_RAILROAD_TRACK :{BLACK}Gleise legen
STR_0182_BUILD_ROADS :{BLACK}Straßen bauen
STR_0183_BUILD_SHIP_DOCKS :{BLACK}Hafen bauen
@@ -465,16 +464,16 @@
STR_018D_DEMOLISH_BUILDINGS_ETC :{BLACK}Gebäude usw. auf einem Planquadrat abreißen
STR_018E_LOWER_A_CORNER_OF_LAND :{BLACK}Land absenken
STR_018F_RAISE_A_CORNER_OF_LAND :{BLACK}Land anheben
-STR_0190_SCROLL_BAR_SCROLLS_LIST :{BLACK}Scrollbalken - Liste auf- und abwärts blättern
-STR_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Scrollbalken - Liste nach links und rechts blättern
-STR_0191_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Höhenlinien auf der Karte anzeigen
-STR_0192_SHOW_VEHICLES_ON_MAP :{BLACK}Fahrzeuge auf der Karte anzeigen
-STR_0193_SHOW_INDUSTRIES_ON_MAP :{BLACK}Industrien auf der Karte anzeigen
-STR_0194_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Transportwege auf der Karte anzeigen
-STR_0195_SHOW_VEGETATION_ON_MAP :{BLACK}Vegetation auf der Karte anzeigen
-STR_0196_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Landeigentümer auf der Karte anzeigen
-STR_0197_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Stadtnamen anzeigen an/aus
-STR_0198_PROFIT_THIS_YEAR_LAST_YEAR :{TINYFONT}{BLACK}Profit laufendes Jahr: {CURRENCY} (vorheriges Jahr: {CURRENCY})
+STR_0190_SCROLL_BAR_SCROLLS_LIST :{BLACK}Bildlaufleiste - Liste auf- und abwärts blättern
+STR_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Bildlaufleiste - Liste nach links und rechts blättern
+STR_0191_SHOW_LAND_CONTOURS_ON_MAP :{BLACK}Höhenlinien auf der Weltkarte anzeigen
+STR_0192_SHOW_VEHICLES_ON_MAP :{BLACK}Fahrzeuge auf der Weltkarte anzeigen
+STR_0193_SHOW_INDUSTRIES_ON_MAP :{BLACK}Industrien auf der Weltkarte anzeigen
+STR_0194_SHOW_TRANSPORT_ROUTES_ON :{BLACK}Transportwege auf der Weltkarte anzeigen
+STR_0195_SHOW_VEGETATION_ON_MAP :{BLACK}Vegetation auf der Weltkarte anzeigen
+STR_0196_SHOW_LAND_OWNERS_ON_MAP :{BLACK}Landeigentümer auf der Weltkarte anzeigen
+STR_0197_TOGGLE_TOWN_NAMES_ON_OFF :{BLACK}Städtenamen anzeigen ein/aus
+STR_0198_PROFIT_THIS_YEAR_LAST_YEAR :{TINYFONT}{BLACK}Gewinn im laufenden Jahr: {CURRENCY} (vergangenes Jahr: {CURRENCY})
############ range for service numbers starts
STR_AGE :{COMMA} Jahr{P "" e} ({COMMA})
@@ -544,8 +543,8 @@
STR_01D6_OLD_STYLE :{TINYFONT}Traditionell
STR_01D7_NEW_STYLE :{TINYFONT}Modern
STR_01D8_EZY_STREET :{TINYFONT}Ezy Street
-STR_01D9_CUSTOM_1 :{TINYFONT}Individuell 1
-STR_01DA_CUSTOM_2 :{TINYFONT}Individuell 2
+STR_01D9_CUSTOM_1 :{TINYFONT}Benutzerdefiniert 1
+STR_01DA_CUSTOM_2 :{TINYFONT}Benutzerdefiniert 2
STR_01DB_MUSIC_VOLUME :{BLACK}{TINYFONT}Musiklautstärke
STR_01DC_EFFECTS_VOLUME :{BLACK}{TINYFONT}Soundlautstärke
STR_01DD_MIN_MAX :{BLACK}{TINYFONT}MIN ' ' ' ' ' ' MAX
@@ -573,15 +572,15 @@
STR_01F3_SELECT_ALL_TRACKS_PROGRAM :{BLACK}Programm 'Alle Titel' wählen
STR_01F4_SELECT_OLD_STYLE_MUSIC :{BLACK}Programm 'Traditionell' wählen
STR_01F5_SELECT_NEW_STYLE_MUSIC :{BLACK}Programm 'Modern' wählen
-STR_01F6_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Programm 'Individuell 1' (benutzerdefiniert) wählen
-STR_01F7_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Programm 'Individuell 2' (benutzerdefiniert) wählen
-STR_01F8_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Lösche laufendes Programm (nur für Individuell 1 und Individuell 2)
+STR_01F6_SELECT_CUSTOM_1_USER_DEFINED :{BLACK}Programm 'Benutzerdefiniert 1' wählen
+STR_01F7_SELECT_CUSTOM_2_USER_DEFINED :{BLACK}Programm 'Benutzerdefiniert 2' wählen
+STR_01F8_CLEAR_CURRENT_PROGRAM_CUSTOM1 :{BLACK}Lösche laufendes Programm (nur für Benutzerdefiniert 1 und 2)
STR_01F9_SAVE_MUSIC_SETTINGS :{BLACK}Musikeinstellungen speichern
-STR_01FA_CLICK_ON_MUSIC_TRACK_TO :{BLACK}Klicke auf den Musiktitel, um ihn in das laufende Programm zu übernehmen (nur für Individuell 1 und Individuell 2)
+STR_01FA_CLICK_ON_MUSIC_TRACK_TO :{BLACK}Klicke auf den Musiktitel, um ihn in das laufende Programm zu übernehmen (nur für Benutzerdefiniert 1 und 2)
STR_CLICK_ON_TRACK_TO_REMOVE :{BLACK}Klicke auf einen Musiktitel, um ihn aus der aktuellen Liste zu entfernen(Custom1 or Custom2 only)
STR_01FB_TOGGLE_PROGRAM_SHUFFLE :{BLACK}Schalte Programmauswahl an/aus
STR_01FC_SHOW_MUSIC_TRACK_SELECTION :{BLACK}Zeige Musiktitelauswahl
-STR_01FD_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Anklicken, um die Ansicht auf die Industrie/Stadt zu zentrieren
+STR_01FD_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klick auf Dienstleistung scrollt Hauptansicht zur Industrie/Stadt
STR_01FE_DIFFICULTY :{BLACK}Schwierigkeit ({STRING})
STR_01FF :{TINYFONT}{BLACK}{DATE_LONG}
STR_0200_LAST_MESSAGE_NEWS_REPORT :Letzte Mitteilung / Nachricht
@@ -629,8 +628,8 @@
STR_022A_GENERATE_RANDOM_LAND :{BLACK}Erzeuge Land durch Zufall
STR_022B_RESET_LANDSCAPE :{BLACK}Landfläche wiederherstellen
STR_022C_RESET_LANDSCAPE :{WHITE}Landfläche wiederherstellen
-STR_RESET_LANDSCAPE_TOOLTIP :{BLACK}Entferne das gesamte Spielereigentum von der Karte
-STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Bist du sicher, daß du das gesamte Spielereigentum entfernen willst?
+STR_RESET_LANDSCAPE_TOOLTIP :{BLACK}Das gesamte Spielereigentum von der Karte entfernen
+STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}Sind Sie sicher, dass das gesamte Spielereigentum entfernt werden soll?
STR_022E_LANDSCAPE_GENERATION :{BLACK}Landfläche erzeugen
STR_022F_TOWN_GENERATION :{BLACK}Stadt errichten
STR_0230_INDUSTRY_GENERATION :{BLACK}Industrie errichten
@@ -638,13 +637,13 @@
STR_0233_TOWN_GENERATION :{WHITE}Stadt errichten
STR_0234_NEW_TOWN :{BLACK}Neue Stadt
STR_0235_CONSTRUCT_NEW_TOWN :{BLACK}Neue Stadt errichten
-STR_0236_CAN_T_BUILD_TOWN_HERE :{WHITE}Kann hier keine Stadt errichten...
-STR_0237_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}...zu dicht am Kartenrand
+STR_0236_CAN_T_BUILD_TOWN_HERE :{WHITE}Stadt kann hier nicht errichtet werden...
+STR_0237_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}...zu dicht am Spielfeldrand
STR_0238_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}...zu dicht an einer anderen Stadt
STR_0239_SITE_UNSUITABLE :{WHITE}...ungeeigneter Standort
STR_023A_TOO_MANY_TOWNS :{WHITE}...zu viele Städte
STR_CANNOT_GENERATE_TOWN :{WHITE}Bau von Städten unmöglich
-STR_NO_SPACE_FOR_TOWN :{WHITE}...es ist kein Platz mehr auf der Karte.
+STR_NO_SPACE_FOR_TOWN :{WHITE}...es ist kein Platz mehr auf dem Spielfeld.
STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Vergrößere die Stadt
STR_023C_EXPAND :{BLACK}Ausdehnen
STR_023D_RANDOM_TOWN :{BLACK}Zufällige Stadt
@@ -657,9 +656,9 @@
STR_0244_OIL_REFINERY :{BLACK}Ölraffinerie
STR_0245_OIL_RIG :{BLACK}Ölbohrinsel
STR_0246_FACTORY :{BLACK}Fabrik
-STR_0247_STEEL_MILL :{BLACK}Stahlwerk
+STR_0247_STEEL_MILL :{BLACK}Stahlwalzwerk
STR_0248_FARM :{BLACK}Bauernhof
-STR_0249_IRON_ORE_MINE :{BLACK}Eisenerzmine
+STR_0249_IRON_ORE_MINE :{BLACK}Eisenerzbergwerk
STR_024A_OIL_WELLS :{BLACK}Ölquellen
STR_024B_BANK :{BLACK}Bank
STR_024C_PAPER_MILL :{BLACK}Papiermühle
@@ -672,7 +671,7 @@
STR_0253_WATER_SUPPLY :{BLACK}Wasserquelle
STR_0254_WATER_TOWER :{BLACK}Wasserturm
STR_0255_DIAMOND_MINE :{BLACK}Diamantenmine
-STR_0256_COPPER_ORE_MINE :{BLACK}Kupfermine
+STR_0256_COPPER_ORE_MINE :{BLACK}Kupfererzbergwerk
STR_0257_COTTON_CANDY_FOREST :{BLACK}Zuckerwattewald
STR_0258_CANDY_FACTORY :{BLACK}Bonbonfabrik
STR_0259_BATTERY_FARM :{BLACK}Batterieplantage
@@ -689,23 +688,23 @@
STR_0264_CONSTRUCT_SAWMILL :{BLACK}Sägewerk errichten
STR_0265_PLANT_FOREST :{BLACK}Wald aufforsten
STR_0266_CONSTRUCT_OIL_REFINERY :{BLACK}Ölraffinerie errichten
-STR_0267_CONSTRUCT_OIL_RIG_CAN_ONLY :{BLACK}Ölbohrinsel errichten (Kann nur am Kartenrand erfolgen)
+STR_0267_CONSTRUCT_OIL_RIG_CAN_ONLY :{BLACK}Ölbohrinsel errichten (nur am Spielfeldrand möglich)
STR_0268_CONSTRUCT_FACTORY :{BLACK}Fabrik errichten
-STR_0269_CONSTRUCT_STEEL_MILL :{BLACK}Stahlwerk errichten
+STR_0269_CONSTRUCT_STEEL_MILL :{BLACK}Stahlwalzwerk errichten
STR_026A_CONSTRUCT_FARM :{BLACK}Bauernhof errichten
-STR_026B_CONSTRUCT_IRON_ORE_MINE :{BLACK}Eisenerzmine errichten
+STR_026B_CONSTRUCT_IRON_ORE_MINE :{BLACK}Eisenerzbergwerk errichten
STR_026C_CONSTRUCT_OIL_WELLS :{BLACK}Ölquellen errichten
STR_026D_CONSTRUCT_BANK_CAN_ONLY :{BLACK}Bank errichten (Nur in Städten mit mehr als 1200 Einwohnern möglich)
STR_026E_CONSTRUCT_PAPER_MILL :{BLACK}Papiermühle errichten
STR_026F_CONSTRUCT_FOOD_PROCESSING :{BLACK}Nahrungsmittelfabrik errichten
STR_0270_CONSTRUCT_PRINTING_WORKS :{BLACK}Druckerei errichten
STR_0271_CONSTRUCT_GOLD_MINE :{BLACK}Goldmine errichten
-STR_0272_CONSTRUCT_BANK_CAN_ONLY :{BLACK}Bank errichten (Kann nur in Städten errichtet werden)
+STR_0272_CONSTRUCT_BANK_CAN_ONLY :{BLACK}Bank errichten (nur in Städten möglich)
STR_0273_CONSTRUCT_LUMBER_MILL_TO :{BLACK}Holzmühle errichten (Zur Säuberung des Regenwaldes und zur Holzproduktion)
STR_0274_PLANT_FRUIT_PLANTATION :{BLACK}Fruchtplantage aufforsten
STR_0275_PLANT_RUBBER_PLANTATION :{BLACK}Kautschukplantage aufforsten
STR_0276_CONSTRUCT_WATER_SUPPLY :{BLACK}Wasserquelle errichten
-STR_0277_CONSTRUCT_WATER_TOWER_CAN :{BLACK}Wasserturm errichten (Kann nur in Städten errichtet werden)
+STR_0277_CONSTRUCT_WATER_TOWER_CAN :{BLACK}Wasserturm errichten (nur in Städten möglich)
STR_0278_CONSTRUCT_DIAMOND_MINE :{BLACK}Diamantenmine errichten
STR_0279_CONSTRUCT_COPPER_ORE_MINE :{BLACK}Kupfermine errichten
STR_027A_PLANT_COTTON_CANDY_FOREST :{BLACK}Zuckerwattewald aufforsten
@@ -719,7 +718,7 @@
STR_0282_CONSTRUCT_BUBBLE_GENERATOR :{BLACK}Luftblasengenerator errichten
STR_0283_CONSTRUCT_TOFFEE_QUARRY :{BLACK}Karamellgrube errichten
STR_0284_CONSTRUCT_SUGAR_MINE :{BLACK}Zuckerbergwerk errichten
-STR_0285_CAN_T_BUILD_HERE :{WHITE}Kann {STRING} hier nicht bauen...
+STR_0285_CAN_T_BUILD_HERE :{WHITE}{STRING} kann hier nicht gebaut werden...
STR_0286_MUST_BUILD_TOWN_FIRST :{WHITE}...erst muss eine Stadt errichtet werden
STR_0287_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}...pro Stadt nur einmal erlaubt
STR_0288_PLANT_TREES :{BLACK}Bäume pflanzen
@@ -745,7 +744,7 @@
STR_029A_PLAY_SCENARIO :{BLACK}Szenario spielen
STR_PLAY_HEIGHTMAP :{BLACK}Reliefkarte spielen
STR_PLAY_HEIGHTMAP_HINT :{BLACK}Ein neues Spiel mit Reliefkarte als Landschaft starten
-STR_QUIT_SCENARIO_QUERY :{YELLOW}Bist du dir sicher, dass du das Szenario verlassen willst?
+STR_QUIT_SCENARIO_QUERY :{YELLOW}Sind Sie sicher, dass Sie das Szenario verlassen wollen?
STR_029C_QUIT_EDITOR :{WHITE}Bearbeitung beenden
STR_029D_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}...kann nur in Städten mit mehr als 1200 Einwohnern gebaut werden
STR_029E_MOVE_THE_STARTING_DATE :{BLACK}Startdatum auf 1 Jahr früher setzen
@@ -867,8 +866,8 @@
STR_0318_CAN_ONLY_BE_BUILT_IN_DESERT :{WHITE}...kann nur im Wüstengebiet errichtet werden
STR_0319_PAUSED :{YELLOW}* * ANGEHALTEN * *
-STR_031B_SCREENSHOT_SUCCESSFULLY :{WHITE}Screenshot ist gespeichert als '{STRING}'
-STR_031C_SCREENSHOT_FAILED :{WHITE}Screenshot misslungen!
+STR_031B_SCREENSHOT_SUCCESSFULLY :{WHITE}Screenshot gespeichert als '{STRING}'
+STR_031C_SCREENSHOT_FAILED :{WHITE}Screenshot fehlgeschlagen
STR_0329_PURCHASE_LAND_FOR_FUTURE :{BLACK}Land für künftige Nutzung kaufen
STR_032F_AUTOSAVE :{RED}Autosicherung
@@ -946,7 +945,7 @@
STR_OPTIONS_SCREENSHOT_FORMAT :{BLACK}Screenshotformat
STR_OPTIONS_SCREENSHOT_FORMAT_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
-STR_OPTIONS_SCREENSHOT_FORMAT_TIP :{BLACK}Wähle das zu benutzende Screenshotformat aus
+STR_OPTIONS_SCREENSHOT_FORMAT_TIP :{BLACK}Format auswählen, in dem Screenshots abgespeichert werden sollen
STR_AUTOSAVE_1_MONTH :Jeden Monat
STR_AUTOSAVE_FAILED :{WHITE}Autosicherung fehlgeschlagen
@@ -964,8 +963,8 @@
STR_MONTH_NOV :November
STR_MONTH_DEC :Dezember
-STR_HEADING_FOR_STATION :{LTBLUE}Unterwegs zu {STATION}
-STR_HEADING_FOR_STATION_VEL :{LTBLUE}Unterwegs zu {STATION}, {VELOCITY}
+STR_HEADING_FOR_STATION :{LTBLUE}Unterwegs nach {STATION}
+STR_HEADING_FOR_STATION_VEL :{LTBLUE}Unterwegs nach {STATION}, {VELOCITY}
STR_NO_ORDERS :{LTBLUE}Keine Aufträge
STR_NO_ORDERS_VEL :{LTBLUE}Keine Aufträge, {VELOCITY}
@@ -980,39 +979,39 @@
STR_SMALL_RIGHT_ARROW :{TINYFONT}{RIGHTARROW}
-STR_CANT_SHARE_ORDER_LIST :{WHITE}Der Fahrplan kann nicht gemeinsam benutzt werden...
-STR_CANT_COPY_ORDER_LIST :{WHITE}Kann Fahrplan nicht kopieren...
-STR_END_OF_SHARED_ORDERS :{SETX 10}- - Ende des gemeinsamen Fahrplans - -
+STR_CANT_SHARE_ORDER_LIST :{WHITE}Fehler beim Erstellen eines gemeinsam genutzten Fahrplans...
+STR_CANT_COPY_ORDER_LIST :{WHITE}Fahrplan kann nicht kopiert werden...
+STR_END_OF_SHARED_ORDERS :{SETX 10}- - Ende des gemeinsam genutzten Fahrplans - -
-STR_TRAIN_IS_LOST :{WHITE}Zug {COMMA} findet den Weg nicht.
+STR_TRAIN_IS_LOST :{WHITE}Zug {COMMA} hat sich verirrt.
STR_TRAIN_IS_UNPROFITABLE :{WHITE}Einkommen von Zug {COMMA} war letztes Jahr {CURRENCY}
STR_EURO_INTRODUCE :{BLACK}{BIGFONT}Europäische Währungsunion!{}{}Der Euro wird einzige Währung für alltägliche Zahlungsvorgänge.
# Start of order review system.
# DON'T ADD OR REMOVE LINES HERE
-STR_TRAIN_HAS_TOO_FEW_ORDERS :{WHITE}Zug {COMMA} hat zu wenige Aufträge im Fahrplan
-STR_TRAIN_HAS_VOID_ORDER :{WHITE}Zug {COMMA} hat einen leeren Auftrag
-STR_TRAIN_HAS_DUPLICATE_ENTRY :{WHITE}Zug {COMMA} hat doppelte Aufträge
-STR_TRAIN_HAS_INVALID_ENTRY :{WHITE}Zug {COMMA} hat einen ungültigen Stationsnamen im Fahrplan
-STR_ROADVEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Fahrzeug {COMMA} hat zu wenige Aufträge im Fahrplan
-STR_ROADVEHICLE_HAS_VOID_ORDER :{WHITE}Fahrzeug {COMMA} hat einen leeren Auftrag
-STR_ROADVEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}Fahrzeug {COMMA} hat doppelte Aufträge
-STR_ROADVEHICLE_HAS_INVALID_ENTRY :{WHITE}Fahrzeug {COMMA} hat einen ungültigen Stationsnamen im Fahrplan
-STR_SHIP_HAS_TOO_FEW_ORDERS :{WHITE}Schiff {COMMA} hat zu wenige Aufträge im Fahrplan
-STR_SHIP_HAS_VOID_ORDER :{WHITE}Schiff {COMMA} hat einen leeren Auftrag
-STR_SHIP_HAS_DUPLICATE_ENTRY :{WHITE}Schiff {COMMA} hat doppelte Aufträge
-STR_SHIP_HAS_INVALID_ENTRY :{WHITE}Schiff {COMMA} hat einen ungültigen Stationsnamen im Fahrplan
-STR_AIRCRAFT_HAS_TOO_FEW_ORDERS :{WHITE}Flugzeug {COMMA} hat zu wenige Aufträge im Flugplan
-STR_AIRCRAFT_HAS_VOID_ORDER :{WHITE}Flugzeug {COMMA} hat einen leeren Auftrag
-STR_AIRCRAFT_HAS_DUPLICATE_ENTRY :{WHITE}Flugzeug {COMMA} hat doppelte Aufträge
-STR_AIRCRAFT_HAS_INVALID_ENTRY :{WHITE}Flugzeug {COMMA} hat einen ungültigen Stationsnamen im Fahrplan
+STR_TRAIN_HAS_TOO_FEW_ORDERS :{WHITE}Zug {COMMA} hat nicht genug Aufträge im Fahrplan
+STR_TRAIN_HAS_VOID_ORDER :{WHITE}Zug {COMMA} hat keine Aufträge
+STR_TRAIN_HAS_DUPLICATE_ENTRY :{WHITE}Zug {COMMA} hat einen Auftrag mehrfach
+STR_TRAIN_HAS_INVALID_ENTRY :{WHITE}Zug {COMMA} hat einen ungültigen Bahnhof im Fahrplan
+STR_ROADVEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Fahrzeug {COMMA} hat nicht genug Aufträge im Fahrplan
+STR_ROADVEHICLE_HAS_VOID_ORDER :{WHITE}Fahrzeug {COMMA} hat keine Aufträge
+STR_ROADVEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}Fahrzeug {COMMA} hat einen Auftrag mehrfach
+STR_ROADVEHICLE_HAS_INVALID_ENTRY :{WHITE}Fahrzeug {COMMA} hat eine ungültige Haltestelle im Fahrplan
+STR_SHIP_HAS_TOO_FEW_ORDERS :{WHITE}Schiff {COMMA} hat nicht genug Aufträge im Fahrplan
+STR_SHIP_HAS_VOID_ORDER :{WHITE}Schiff {COMMA} hat keine Aufträge
+STR_SHIP_HAS_DUPLICATE_ENTRY :{WHITE}Schiff {COMMA} hat einen Auftrag mehrfach
+STR_SHIP_HAS_INVALID_ENTRY :{WHITE}Schiff {COMMA} hat einen ungültigen Hafen im Fahrplan
+STR_AIRCRAFT_HAS_TOO_FEW_ORDERS :{WHITE}Flugzeug {COMMA} hat nicht genug Aufträge im Fahrplan
+STR_AIRCRAFT_HAS_VOID_ORDER :{WHITE}Flugzeug {COMMA} hat keine Aufträge
+STR_AIRCRAFT_HAS_DUPLICATE_ENTRY :{WHITE}Flugzeug {COMMA} hat einen Auftrag mehrfach
+STR_AIRCRAFT_HAS_INVALID_ENTRY :{WHITE}Flugzeug {COMMA} hat einen ungültigen Flughafen im Fahrplan
# end of order system
STR_TRAIN_AUTORENEW_FAILED :{WHITE}Zug {COMMA} kann nicht erneuert werden (Geld fehlt)
STR_ROADVEHICLE_AUTORENEW_FAILED :{WHITE}Fahrzeug {COMMA} kann nicht erneuert werden (Geld fehlt)
STR_SHIP_AUTORENEW_FAILED :{WHITE}Schiff {COMMA} kann nicht erneuert werden (Geld fehlt)
STR_AIRCRAFT_AUTORENEW_FAILED :{WHITE}Flugzeug {COMMA} kann nicht erneuert werden (Geld fehlt)
-STR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}Zug {COMMA} nach Ersetzung zu lang
+STR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}Zug {COMMA} nach Erneuerung zu lang
STR_CONFIG_PATCHES :{BLACK}Einstellungen der Patches
STR_CONFIG_PATCHES_TIP :{BLACK}Einstellungen der Patches
@@ -1035,10 +1034,10 @@
STR_CONFIG_PATCHES_SELECTGOODS :{LTBLUE}Liefere Fracht nur, wenn die Station diese annimmt: {ORANGE}{STRING}
STR_CONFIG_PATCHES_LONGBRIDGES :{LTBLUE}Erlaube das Bauen von sehr langen Brücken: {ORANGE}{STRING}
STR_CONFIG_PATCHES_GOTODEPOT :{LTBLUE}Erlaube "Gehe zum Depot"-Aufträge im Fahrplan: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD :{LTBLUE}Finanziere Bau von Primärindustrie: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD :{LTBLUE}Methode zum manuellen Bau von Primärindustrien: {ORANGE}{STRING}
STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :keine
-STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :wie andere Industrie
-STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :erkundend
+STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :wie andere Industrien
+STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :mit Prospektion
STR_CONFIG_PATCHES_MULTIPINDTOWN :{LTBLUE}Erlaube mehrere gleichartige Industrien pro Stadt: {ORANGE}{STRING}
STR_CONFIG_PATCHES_SAMEINDCLOSE :{LTBLUE}Gleiche Industrien können nahe beieinander gebaut werden: {ORANGE}{STRING}
STR_CONFIG_PATCHES_LONGDATE :{LTBLUE}Lange Datumsanzeige in der Statusleiste (links unten): {ORANGE}{STRING}
@@ -1046,13 +1045,13 @@
STR_CONFIG_PATCHES_SHOWFINANCES :{LTBLUE}Zeige Firmenfinanzen am Ende des Jahres: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_NONSTOP :{LTBLUE}TTDPatch kompatibles "Nonstop"-Verhalten: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ROADVEH_QUEUE :{LTBLUE}Fahrzeugwarteschlange (mit Überlagerung): {ORANGE}{STRING}
-STR_CONFIG_PATCHES_AUTOSCROLL :{LTBLUE}Karte scrollen, wenn die Maus am Bildrand anstößt: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_AUTOSCROLL :{LTBLUE}Spielfeld scrollen, wenn die Maus am Bildrand anstößt: {ORANGE}{STRING}
STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Bestechen der Stadtverwaltung erlauben: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Ungleichmäßige Bahnhöfe: {ORANGE}{STRING}
STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Neue globale Wegfindung für alle Fahrzeuge: {ORANGE}{STRING}
STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Frachtgewicht erhöhen um schwere Züge zu simulieren: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Erlaube Bushaltestellen an städtischen Straßen: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Erlaube das Bauen aneinanderliegender Stationen: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_STOP_ON_TOWN_ROAD :{LTBLUE}Bushaltestellen an städtischen Straßen erlauben: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_ADJACENT_STATIONS :{LTBLUE}Bau angrenzender Stationen erlauben: {ORANGE}{STRING}
STR_CONFIG_PATCHES_SMALL_AIRPORTS :{LTBLUE}Kleine Flughäfen immer erlauben: {ORANGE}{STRING}
@@ -1073,53 +1072,53 @@
STR_CONFIG_PATCHES_LAND_GENERATOR :{LTBLUE}Land Generator: {ORANGE}{STRING}
STR_CONFIG_PATCHES_LAND_GENERATOR_ORIGINAL :Original
STR_CONFIG_PATCHES_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
-STR_CONFIG_PATCHES_OIL_REF_EDGE_DISTANCE :{LTBLUE}Maximaler Abstand der Ölraffinerien vom Kartenrand{ORANGE}{STRING}
+STR_CONFIG_PATCHES_OIL_REF_EDGE_DISTANCE :{LTBLUE}Maximaler Abstand der Ölraffinerien vom Spielfeldrand: {ORANGE}{STRING}
STR_CONFIG_PATCHES_SNOWLINE_HEIGHT :{LTBLUE}Schneegrenze auf: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_ROUGHNESS_OF_TERRAIN :{LTBLUE}Rauhheit (nur TerraGenesis) : {ORANGE}{STRING}
+STR_CONFIG_PATCHES_ROUGHNESS_OF_TERRAIN :{LTBLUE}Rauheit (nur TerraGenesis): {ORANGE}{STRING}
STR_CONFIG_PATCHES_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH :Sehr sanft
STR_CONFIG_PATCHES_ROUGHNESS_OF_TERRAIN_SMOOTH :Sanft
STR_CONFIG_PATCHES_ROUGHNESS_OF_TERRAIN_ROUGH :Rauh
STR_CONFIG_PATCHES_ROUGHNESS_OF_TERRAIN_VERY_ROUGH :Sehr rauh
-STR_CONFIG_PATCHES_TREE_PLACER :{LTBLUE}Baumplazierungsalgorithmus: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_TREE_PLACER :{LTBLUE}Baumplatzierungsalgorithmus: {ORANGE}{STRING}
STR_CONFIG_PATCHES_TREE_PLACER_NONE :Keiner
STR_CONFIG_PATCHES_TREE_PLACER_ORIGINAL :Original
STR_CONFIG_PATCHES_TREE_PLACER_IMPROVED :Verbessert
STR_CONFIG_PATCHES_HEIGHTMAP_ROTATION :{LTBLUE}Drehung der Reliefkarte: {ORANGE}{STRING}
STR_CONFIG_PATCHES_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE :links
STR_CONFIG_PATCHES_HEIGHTMAP_ROTATION_CLOCKWISE :rechts
-STR_CONFIG_PATCHES_SE_FLAT_WORLD_HEIGHT :{LTBLUE}Höhenstufe der Karte eines flachen Szenarios: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_SE_FLAT_WORLD_HEIGHT :{LTBLUE}Höhenstufe des Spielfeldes in einem flachen Szenario: {ORANGE}{STRING}
STR_CONFIG_PATCHES_STATION_SPREAD :{LTBLUE}Maximale Stationsgröße: {ORANGE}{STRING} {RED}Achtung: Große Werte verlangsamen das Spiel
STR_CONFIG_PATCHES_SERVICEATHELIPAD :{LTBLUE}Hubschrauber auf Helipads automatisch warten: {ORANGE}{STRING}
STR_CONFIG_PATCHES_LINK_TERRAFORM_TOOLBAR :{LTBLUE}Landschaftsbau-Toolbar an Eisenbahn/Straßen/Hafen/Flughafen-Toolbar binden: {ORANGE}{STRING}
STR_CONFIG_PATCHES_REVERSE_SCROLLING :{LTBLUE}Beim Verschieben mit der Maus die Ansicht in die Gegenrichtung verschieben: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_SMOOTH_SCROLLING :{LTBLUE}Weiches Scrollen in den Ansichten: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_SMOOTH_SCROLLING :{LTBLUE}Optimierten Bildlauf in den Ansichten verwenden: {ORANGE}{STRING}
STR_CONFIG_PATCHES_MEASURE_TOOLTIP :{LTBLUE}Zeige Tooltip mit Abmessungen bei verschiedenen Bauwerkzeugen: {ORANGE}{STRING}
STR_CONFIG_PATCHES_LIVERIES :{LTBLUE}Anzeigen der Firmenlackierungen: {ORANGE}{STRING}
STR_CONFIG_PATCHES_LIVERIES_NONE :Keine
STR_CONFIG_PATCHES_LIVERIES_OWN :Eigene Firma
STR_CONFIG_PATCHES_LIVERIES_ALL :Alle Firmen
STR_CONFIG_PATCHES_PREFER_TEAMCHAT :{LTBLUE}Bevorzuge Teamchat mit <ENTER>: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_SCROLLWHEEL_SCROLLING :{LTBLUE}Funktion des Scrollrads: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_SCROLLWHEEL_ZOOM :Karte vergrößern
-STR_CONFIG_PATCHES_SCROLLWHEEL_SCROLL :Kartenansicht verschieben
+STR_CONFIG_PATCHES_SCROLLWHEEL_SCROLLING :{LTBLUE}Funktion des Mausrads: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_SCROLLWHEEL_ZOOM :Spielfeld vergrößern
+STR_CONFIG_PATCHES_SCROLLWHEEL_SCROLL :Hauptansicht verschieben
STR_CONFIG_PATCHES_SCROLLWHEEL_OFF :Aus
-STR_CONFIG_PATCHES_SCROLLWHEEL_MULTIPLIER :{LTBLUE}Scrollradgeschwindigkeit auf der Karte: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_SCROLLWHEEL_MULTIPLIER :{LTBLUE}Mausradgeschwindigkeit auf dem Spielfeld: {ORANGE}{STRING}
STR_CONFIG_PATCHES_PAUSE_ON_NEW_GAME :{LTBLUE}Automatische Pause bei Spielstart: {ORANGE}{STRING}
STR_CONFIG_PATCHES_ADVANCED_VEHICLE_LISTS :{LTBLUE}Erweiterte Fahrzeugliste benutzen: {ORANGE}{STRING}
STR_CONFIG_PATCHES_LOADING_INDICATORS :{LTBLUE}Ladestandanzeiger verwenden: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_TIMETABLE_ALLOW :{LTBLUE}Aktiviere Fahrpläne für Fahrzeuge: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS :{LTBLUE}Zeige Zeitpläne in Ticks anstatt in Tagen: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_TIMETABLE_ALLOW :{LTBLUE}Fahrpläne für Fahrzeuge aktivieren: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_TIMETABLE_IN_TICKS :{LTBLUE}Zeitpläne in Ticks anstatt in Tagen anzeigen: {ORANGE}{STRING}
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE :{LTBLUE}Standard-Gleistyp (bei Spielbeginn/geladenem Spiel): {ORANGE}{STRING}
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_RAIL :normales Gleis
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_ELRAIL :elektrifiziertes Gleis
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MONORAIL :Einschienenbahn
STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MAGLEV :Magnetschwebebahn
-STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_FIRST :zuerst verfügbarer
-STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_LAST :Neuste
-STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MOST_USED :Meistbenutze
+STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_FIRST :erster verfügbarer
+STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_LAST :letzter verfügbarer
+STR_CONFIG_PATCHES_DEFAULT_RAIL_TYPE_MOST_USED :meistbenutzer
-STR_CONFIG_PATCHES_ALWAYS_BUILD_INFRASTRUCTURE :{LTBLUE}Zeige Bauwerkzeuge auch wenn keine passenden Fahrzeuge verfügbar sind: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_ALWAYS_BUILD_INFRASTRUCTURE :{LTBLUE}Bauwerkzeuge auch anzeigen, wenn keine passenden Fahrzeuge verfügbar sind: {ORANGE}{STRING}
STR_CONFIG_PATCHES_MAX_TRAINS :{LTBLUE}Maximale Anzahl der Züge pro Spieler: {ORANGE}{STRING}
STR_CONFIG_PATCHES_MAX_ROADVEH :{LTBLUE}Maximale Anzahl der Straßenfahrzeuge pro Spieler: {ORANGE}{STRING}
STR_CONFIG_PATCHES_MAX_AIRCRAFT :{LTBLUE}Maximale Anzahl der Flugzeuge pro Spieler: {ORANGE}{STRING}
@@ -1153,13 +1152,13 @@
STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY :{LTBLUE}Errichte Signale alle {ORANGE}{STRING} Felder beim Ziehen mit der Maus
STR_CONFIG_PATCHES_SEMAPHORE_BUILD_BEFORE_DATE :{LTBLUE}Automatischer Bau von Formsignalen bis: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_TOWN_LAYOUT_INVALID :{WHITE}Der Stadtaufbau "keine weiteren Straßen" ist im Szenarioeditor nicht möglich
-STR_CONFIG_PATCHES_TOWN_LAYOUT :{LTBLUE}Wähle den Stadtstraßenaufbau: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_TOWN_LAYOUT_INVALID :{WHITE}Der Stadtaufbau "keine weiteren Straßen" ist im Szenarieneditor nicht möglich
+STR_CONFIG_PATCHES_TOWN_LAYOUT :{LTBLUE}Stadtstraßenaufbau auswählen: {ORANGE}{STRING}
STR_CONFIG_PATCHES_TOWN_LAYOUT_NO_ROADS :keine weiteren Straßen
STR_CONFIG_PATCHES_TOWN_LAYOUT_DEFAULT :Vorgabe
STR_CONFIG_PATCHES_TOWN_LAYOUT_BETTER_ROADS :bessere Straßen
-STR_CONFIG_PATCHES_TOWN_LAYOUT_2X2_GRID :2x2 Gitter
-STR_CONFIG_PATCHES_TOWN_LAYOUT_3X3_GRID :3x3 Gitter
+STR_CONFIG_PATCHES_TOWN_LAYOUT_2X2_GRID :2×2-Gitter
+STR_CONFIG_PATCHES_TOWN_LAYOUT_3X3_GRID :3×3-Gitter
STR_CONFIG_PATCHES_TOOLBAR_POS :{LTBLUE}Position der Werkzeugleiste: {ORANGE}{STRING}
STR_CONFIG_PATCHES_TOOLBAR_POS_LEFT :Links
@@ -1167,14 +1166,14 @@
STR_CONFIG_PATCHES_TOOLBAR_POS_RIGHT :Rechts
STR_CONFIG_PATCHES_SNAP_RADIUS :{LTBLUE}Fenster schnappen aneinander, wenn näher als: {ORANGE}{STRING} px
STR_CONFIG_PATCHES_SNAP_RADIUS_DISABLED :{LTBLUE}Fenster schnappen aneinander, wenn näher als: {ORANGE}ausgeschaltet
-STR_CONFIG_PATCHES_TOWN_GROWTH :{LTBLUE}Stadtwachstumgeschwindigkeit: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_TOWN_GROWTH_NONE :Keins
-STR_CONFIG_PATCHES_TOWN_GROWTH_SLOW :Langsam
-STR_CONFIG_PATCHES_TOWN_GROWTH_NORMAL :Normal
-STR_CONFIG_PATCHES_TOWN_GROWTH_FAST :Schnell
-STR_CONFIG_PATCHES_TOWN_GROWTH_VERY_FAST :Sehr schnell
-STR_CONFIG_PATCHES_LARGER_TOWNS :{LTBLUE}Anteil der Städte die doppelt so schnell wachsen: {ORANGE}1 in {STRING}
-STR_CONFIG_PATCHES_LARGER_TOWNS_DISABLED :{LTBLUE}Anteil der Städte die doppelt so schnell wachsen: {ORANGE}Keine
+STR_CONFIG_PATCHES_TOWN_GROWTH :{LTBLUE}Wachstumsgeschwindigkeit von Städten: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_TOWN_GROWTH_NONE :keine
+STR_CONFIG_PATCHES_TOWN_GROWTH_SLOW :langsam
+STR_CONFIG_PATCHES_TOWN_GROWTH_NORMAL :mittel
+STR_CONFIG_PATCHES_TOWN_GROWTH_FAST :schnell
+STR_CONFIG_PATCHES_TOWN_GROWTH_VERY_FAST :sehr schnell
+STR_CONFIG_PATCHES_LARGER_TOWNS :{LTBLUE}Anteil der Städte die doppelt so schnell wachsen: {ORANGE}jede {STRING}.
+STR_CONFIG_PATCHES_LARGER_TOWNS_DISABLED :{LTBLUE}Anteil der Städte die doppelt so schnell wachsen: {ORANGE}keine
STR_CONFIG_PATCHES_CITY_SIZE_MULTIPLIER :{LTBLUE}Startmultiplikator der Stadtgröße: {ORANGE}{STRING}
STR_CONFIG_PATCHES_GUI :{BLACK}Oberfläche
@@ -1200,8 +1199,8 @@
STR_TOYLAND_LANDSCAPE :Fantastisch
STR_CHEATS :{WHITE}Cheats
-STR_CHEATS_TIP :{BLACK}Kontrollfelder zeigen, ob du diesen Cheat schonmal benutzt hast.
-STR_CHEATS_WARNING :{BLACK}Achtung! Du bist im Begriff, deine Mitspieler zu betrügen. Denke daran, dass dies niemals vergessen werden wird.
+STR_CHEATS_TIP :{BLACK}Die Kontrollkästchen zeigen an, ob dieser Cheat schonmal verwendet worden ist.
+STR_CHEATS_WARNING :{BLACK}Achtung! Sie sind im Begriff, Ihre Mitspieler zu betrügen. Bedenken Sie, dass sie Ihnen das niemals verzeihen werden.
STR_CHEAT_MONEY :{LTBLUE}Kontostand um {CURRENCY} erhöhen
STR_CHEAT_CHANGE_PLAYER :{LTBLUE}Folgenden Spieler steuern: {ORANGE}{COMMA}
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Mächtigeres Abrisswerkzeug: {ORANGE}{STRING}
@@ -1228,25 +1227,25 @@
STR_WAYPOINT_VIEWPORT :{WHITE}{WAYPOINT}
STR_WAYPOINT_VIEWPORT_TINY :{TINYFONT}{WHITE}{WAYPOINT}
STR_WAYPOINT_RAW :{WAYPOINT}
-STR_EDIT_WAYPOINT_NAME :{WHITE}Wegpunktename ändern
+STR_EDIT_WAYPOINT_NAME :{WHITE}Wegpunktname ändern
-STR_CANT_CHANGE_WAYPOINT_NAME :{WHITE}Kann Wegpunktname nicht ändern...
-STR_CONVERT_RAIL_TO_WAYPOINT_TIP :{BLACK}Ändere Gleis in einen Wegpunkt
-STR_CANT_BUILD_TRAIN_WAYPOINT :{WHITE}Kann Wegpunkt hier nicht bauen...
-STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}Kann Wegpunkt hier nicht entfernen...
+STR_CANT_CHANGE_WAYPOINT_NAME :{WHITE}Wegpunktname kann nicht geändert werden...
+STR_CONVERT_RAIL_TO_WAYPOINT_TIP :{BLACK}Schiene in einen Wegpunkt umwandeln
+STR_CANT_BUILD_TRAIN_WAYPOINT :{WHITE}Wegpunkt kann hier nicht gebaut werden...
+STR_CANT_REMOVE_TRAIN_WAYPOINT :{WHITE}Wegpunkt kann hier nicht entfernt werden...
-STR_BUILD_AUTORAIL_TIP :{BLACK}Bauen von Gleisen unter Verwendung des Automatikmodus
+STR_BUILD_AUTORAIL_TIP :{BLACK}Bauen von Schienen unter Verwendung des Autoschienenmodus
STR_NO_TOWN_IN_SCENARIO :{WHITE}...in diesem Szenario gibt es keine Stadt
STR_GENERATE_RANDOM_LANDSCAPE :{WHITE}Soll wirklich eine zufällige Landschaft erzeugt werden?
STR_MANY_RANDOM_TOWNS :{BLACK}Viele zufällige Städte
-STR_RANDOM_TOWNS_TIP :{BLACK}Bedecke die Karte mit zufällig platzierten Städten
+STR_RANDOM_TOWNS_TIP :{BLACK}Das Spielfeld mit zufällig platzierten Städten füllen
STR_MANY_RANDOM_INDUSTRIES :Viele zufällige Industrien
-STR_RANDOM_INDUSTRIES_TIP :{BLACK}Bedecke die Karte mit zufällig platzierten Industrien
-STR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Kann keine Industrie erzeugen...
+STR_RANDOM_INDUSTRIES_TIP :{BLACK}Das Spielfeld mit zufällig platzierten Industrien füllen
+STR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Industrie kann nicht erzeugt werden...
-STR_LANDSCAPING_TOOLBAR_TIP :{BLACK}Öffne die Landschaftsbau-Toolbar, um Land zu senken/heben, Bäume zu pflanzen, etc.
+STR_LANDSCAPING_TOOLBAR_TIP :{BLACK}Die Landschaftsbau-Toolbar ermöglicht es, Land zu senken/heben, Bäume zu pflanzen, etc.
STR_LANDSCAPING_TOOLBAR :{WHITE}Landschaftsbau
STR_LEVEL_LAND_TOOLTIP :{BLACK}Land ausgleichen
@@ -1254,21 +1253,21 @@
STR_TREES_RANDOM_TYPE :{BLACK}Zufällige Baumart
STR_TREES_RANDOM_TYPE_TIP :{BLACK}Zufällige Baumart pflanzen
-STR_CANT_BUILD_CANALS :{WHITE}Kann hier keinen Kanal bauen...
+STR_CANT_BUILD_CANALS :{WHITE}Kanal kann hier nicht gebaut werden...
STR_BUILD_CANALS_TIP :{BLACK}Kanalbau.
STR_LANDINFO_CANAL :Kanal
-STR_CANT_BUILD_LOCKS :{WHITE}Kann hier keine Schleuse bauen...
+STR_CANT_BUILD_LOCKS :{WHITE}Schleuse kann hier nicht gebaut werden...
STR_BUILD_LOCKS_TIP :{BLACK}Schleusen bauen
STR_LANDINFO_LOCK :Schleuse
-STR_BUOY_IS_IN_USE :{WHITE}... Boje wird genutzt!
+STR_BUOY_IS_IN_USE :{WHITE}... Boje ist in Benutzung
STR_LANDINFO_COORDS :{BLACK}Koordinaten: {LTBLUE}{NUM}x{NUM} ({STRING})
-STR_CANT_REMOVE_PART_OF_STATION :{WHITE}Kann den Teil des Bahnhofs nicht entfernen...
-STR_CANT_CONVERT_RAIL :{WHITE}Kann Gleistyp hier nicht verändern...
-STR_CONVERT_RAIL_TIP :{BLACK}Konvertiere / Erweitere den Typ des Gleises
+STR_CANT_REMOVE_PART_OF_STATION :{WHITE}Dieser Teil des Bahnhofs kann nicht entfernt werden...
+STR_CANT_CONVERT_RAIL :{WHITE}Gleistyp kann hier nicht verändert werden...
+STR_CONVERT_RAIL_TIP :{BLACK}Gleis umwandeln / erweitern
STR_DRAG_WHOLE_TRAIN_TO_SELL_TIP :{BLACK}Lok hierher ziehen, um den ganzen Zug zu verkaufen
@@ -1278,7 +1277,7 @@
STR_SELECT_STATION_TYPE_TIP :{BLACK}Wähle die Stationsart aus, die gebaut werden soll
STR_FAST_FORWARD :{BLACK}Spiel vorspulen
-STR_MESSAGE_HISTORY :{WHITE}Vorhergehende Nachrichten
+STR_MESSAGE_HISTORY :{WHITE}Vergangene Nachrichten
STR_MESSAGE_HISTORY_TIP :{BLACK}Eine Liste der aktuellen Nachrichten
STR_MESSAGES_DISABLE_ALL :{BLACK}Alles deaktivieren
STR_MESSAGES_ENABLE_ALL :{BLACK}Alles aktivieren
@@ -1287,11 +1286,11 @@
STR_CONSTRUCT_FOREST_TIP :{BLACK}Wald aufforsten
STR_CONSTRUCT_OIL_RIG_TIP :{BLACK}Ölbohrinsel errichten
STR_CONSTRUCT_FARM_TIP :{BLACK}Bauernhof errichten
-STR_CONSTRUCT_COPPER_ORE_MINE_TIP :{BLACK}Kupfermine errichten
+STR_CONSTRUCT_COPPER_ORE_MINE_TIP :{BLACK}Kupfererzmine errichten
STR_CONSTRUCT_OIL_WELLS_TIP :{BLACK}Nach Öl bohren
STR_CONSTRUCT_GOLD_MINE_TIP :{BLACK}Goldmine errichten
STR_CONSTRUCT_DIAMOND_MINE_TIP :{BLACK}Diamantenmine errichten
-STR_CONSTRUCT_IRON_ORE_MINE_TIP :{BLACK}Eisenerzmine errichten
+STR_CONSTRUCT_IRON_ORE_MINE_TIP :{BLACK}Eisenerzbergwerk errichten
STR_CONSTRUCT_FRUIT_PLANTATION_TIP :{BLACK}Fruchtplantage aufforsten
STR_CONSTRUCT_RUBBER_PLANTATION_TIP :{BLACK}Kautschukplantage aufforsten
STR_CONSTRUCT_WATER_SUPPLY_TIP :{BLACK}Wasserquelle errichten
@@ -1314,20 +1313,20 @@
STR_RAIL_REFIT_VEHICLE :{BLACK}Zug umrüsten
STR_RAIL_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Wähle die Frachten aus, die der Zug befördern soll
STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}Umrüstung des Zuges auf die ausgewählte Frachtart
-STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}Kann den Zug nicht umrüsten...
+STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}Zug kann nicht umgerüstet werden...
STR_CONFIG_PATCHES_SERVINT_ISPERCENT :{LTBLUE}Wartungsintervalle in Prozent: {ORANGE}{STRING}
STR_CONFIG_GAME_PRODUCTION :{WHITE}Produktion ändern
-TEMP_AI_IN_PROGRESS :{WHITE}Willkommen bei der neuen KI. Erwarte Fehler. Falls du einen findest, mache einen Screenshot und berichte im Forum. Viel Spaß!
+TEMP_AI_IN_PROGRESS :{WHITE}Willkommen bei der neuen KI. Fehlfunktionen können vorkommen. In diesem Falle bitten wir um einen Screenshot und einen Fehlerbericht im Forum. Viel Spaß!
TEMP_AI_ACTIVATED :{WHITE}Achtung: Die neue KI ist noch im Alpha-Stadium. Derzeit funktionieren nur Straßenfahrzeuge.
-TEMP_AI_MULTIPLAYER :{WHITE}Warnung: Diese Funktion ist noch experimentell. Bitte melde jedwede Probleme damit an truelight@openttd.org.
+TEMP_AI_MULTIPLAYER :{WHITE}Warnung: Diese Funktion ist noch im experimentellen Stadium. Probleme bitte an truelight@openttd.org melden.
############ network gui strings
STR_NETWORK_MULTIPLAYER :{WHITE}Mehrspieler
STR_NETWORK_PLAYER_NAME :{BLACK}Spielername:
-STR_NETWORK_ENTER_NAME_TIP :{BLACK}Mit diesem Namen identifizieren dich andere Spieler
+STR_NETWORK_ENTER_NAME_TIP :{BLACK}Dieser Name wird Sie anderen Spielern gegenüber identifizieren
STR_NETWORK_CONNECTION :{BLACK}Verbindung:
STR_NETWORK_CONNECTION_TIP :{BLACK}Wähle zwischen Internet oder LAN-Verbindung aus
@@ -1353,7 +1352,7 @@
STR_NETWORK_CLIENTS :{SILVER}Teilnehmer: {WHITE}{COMMA} / {COMMA} - {COMMA} / {COMMA}
STR_NETWORK_LANGUAGE :{SILVER}Sprache: {WHITE}{STRING}
STR_NETWORK_TILESET :{SILVER}Landschaft: {WHITE}{STRING}
-STR_NETWORK_MAP_SIZE :{SILVER}Kartengröße: {WHITE}{COMMA}x{COMMA}
+STR_NETWORK_MAP_SIZE :{SILVER}Spielfeldgröße: {WHITE}{COMMA}x{COMMA}
STR_NETWORK_SERVER_VERSION :{SILVER}Serverversion: {WHITE}{STRING}
STR_NETWORK_SERVER_ADDRESS :{SILVER}Serveradresse: {WHITE}{STRING} : {NUM}
STR_NETWORK_START_DATE :{SILVER}Startdatum: {WHITE}{DATE_SHORT}
@@ -1373,10 +1372,10 @@
STR_NETWORK_NEW_GAME_NAME_TIP :{BLACK}Der Name des Spieles wird anderen Spielern im Mehrspielerdialog angezeigt
STR_NETWORK_SET_PASSWORD :{BLACK}Passwort setzen
STR_NETWORK_PASSWORD_TIP :{BLACK}Vergebe ein Passwort, um zu verhindern, dass unbefugte Leute beitreten können
-STR_NETWORK_SELECT_MAP :{BLACK}Karte auswählen:
-STR_NETWORK_SELECT_MAP_TIP :{BLACK}Welche Karte möchtest du spielen?
+STR_NETWORK_SELECT_MAP :{BLACK}Spielfeld auswählen:
+STR_NETWORK_SELECT_MAP_TIP :{BLACK}Welches Spielfeld soll verwendet werden?
STR_NETWORK_NUMBER_OF_CLIENTS :{BLACK}Max. Teilnehmeranzahl:
-STR_NETWORK_NUMBER_OF_CLIENTS_TIP :{BLACK}Wählt die max. Anzahl an Teilnehmern aus. Nicht alle Slots müssen belegt werden.
+STR_NETWORK_NUMBER_OF_CLIENTS_TIP :{BLACK}Auswahl der maximal erlaubten Anzahl von Teilnehmern. Nicht alle Slots müssen belegt werden.
STR_NETWORK_COMBO1 :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
STR_NETWORK_LAN :LAN
STR_NETWORK_INTERNET :Internet
@@ -1404,7 +1403,7 @@
STR_NETWORK_LANGUAGE_TIP :{BLACK}Damit andere Spieler wissen, welche Sprache auf diesem Server gesprochen wird.
STR_NETWORK_COMBO5 :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
STR_NETWORK_START_GAME :{BLACK}Spiel beginnen
-STR_NETWORK_START_GAME_TIP :{BLACK}Startet ein neues Mehrspielerspiel auf einer Zufallskarte oder einem Szenario
+STR_NETWORK_START_GAME_TIP :{BLACK}Startet ein neues Mehrspielerspiel auf einem zufällig generierten Spielfeld oder einem Szenario
STR_NETWORK_LOAD_GAME :{BLACK}Spiel Laden
STR_NETWORK_LOAD_GAME_TIP :{BLACK}Lädt ein gespeichertes Spiel
@@ -1418,7 +1417,7 @@
STR_NETWORK_LANG_CHINESE :Chinesisch
STR_NETWORK_LANG_CZECH :Tschechisch
STR_NETWORK_LANG_DANISH :Dänisch
-STR_NETWORK_LANG_DUTCH :Holländisch
+STR_NETWORK_LANG_DUTCH :Niederländisch
STR_NETWORK_LANG_ESPERANTO :Esperanto
STR_NETWORK_LANG_FINNISH :Finnisch
STR_NETWORK_LANG_HUNGARIAN :Ungarisch
@@ -1443,7 +1442,7 @@
STR_NETWORK_GAME_LOBBY :{WHITE}Mehrspielerlobby
STR_NETWORK_PREPARE_TO_JOIN :{BLACK}Spieleintritt vorbereiten: {ORANGE}{STRING}
-STR_NETWORK_COMPANY_LIST_TIP :{BLACK}Eine Liste aller Firmen, die sich im Spiel befinden. Du kannst einer Firma beitreten oder eine eigene Firma gründen, sofern ein Platz frei ist.
+STR_NETWORK_COMPANY_LIST_TIP :{BLACK}Eine Liste aller Firmen, die sich im Spiel befinden. Sie können einer Firma beitreten oder eine eigene Firma gründen, sofern ein Platz frei ist.
STR_NETWORK_NEW_COMPANY :{BLACK}Neues Unternehmen
STR_NETWORK_NEW_COMPANY_TIP :{BLACK}Ein neues Unternehmen gründen
STR_NETWORK_SPECTATE_GAME :{BLACK}Beim Spiel zusehen
@@ -1472,71 +1471,71 @@
STR_NETWORK_CONNECTING_1 :{BLACK}(1/6) Verbinden...
STR_NETWORK_CONNECTING_2 :{BLACK}(2/6) Autorisieren...
STR_NETWORK_CONNECTING_3 :{BLACK}(3/6) Warten...
-STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) Herunterladen der Karte..
+STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) Herunterladen des Spielfeldes...
STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Spieldaten verarbeiten...
STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Registrieren...
STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Spielinformationen holen...
STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Firmeninformationen holen...
############ End of leave-in-this-order
-STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} Teilnehmer vor dir
+STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} Teilnehmer vor Ihnen
STR_NETWORK_CONNECTING_DOWNLOADING :{BLACK}{NUM} / {NUM} KB bisher heruntergeladen
STR_NETWORK_DISCONNECT :{BLACK}Trennen
-STR_NETWORK_GIVE_MONEY_CAPTION :{WHITE}Gib an, wieviel Geld du geben möchtest
-STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server ist geschützt. Gib das Passwort ein
-STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Firma ist geschützt! Passwort eingeben
+STR_NETWORK_GIVE_MONEY_CAPTION :{WHITE}Wieviel Geld soll vergeben werden?
+STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Server ist geschützt. Passwort eingeben:
+STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Firma ist geschützt. Passwort eingeben:
STR_NETWORK_CLIENT_LIST :{WHITE}Teilnehmerliste
STR_NETWORK_ERR_NOTAVAILABLE :{WHITE}Keine Netzwerkschnittstellen gefunden oder ohne ENABLE_NETWORK kompiliert
STR_NETWORK_ERR_NOSERVER :{WHITE}Keine Netzwerkspiele gefunden
-STR_NETWORK_ERR_NOCONNECTION :{WHITE}Der Server antwortete nicht auf die Anfrage
-STR_NETWORK_ERR_NEWGRF_MISMATCH :{WHITE} Konnte Verbindung nicht herstellen, da die NewGRF Versionen nicht übereinstimmen.
+STR_NETWORK_ERR_NOCONNECTION :{WHITE} Der Server antwortet nicht
+STR_NETWORK_ERR_NEWGRF_MISMATCH :{WHITE} Konnte Verbindung nicht herstellen, da die NewGRF-Versionen nicht übereinstimmen.
STR_NETWORK_ERR_DESYNC :{WHITE}Synchronisation des Netzwerkspiels fehlgeschlagen
STR_NETWORK_ERR_LOSTCONNECTION :{WHITE}Verbindung zum Netzwerkspiel verloren
STR_NETWORK_ERR_SAVEGAMEERROR :{WHITE}Spielstand konnte nicht vom Server geladen werden
STR_NETWORK_ERR_SERVER_START :{WHITE}Server konnte nicht gestartet werden
STR_NETWORK_ERR_CLIENT_START :{WHITE}Verbindung konnte nicht hergestellt werden
-STR_NETWORK_ERR_TIMEOUT :{WHITE}Verbindung #{NUM} abgelaufen
+STR_NETWORK_ERR_TIMEOUT :{WHITE} Verbindung #{NUM} hat das Zeitlimit überschritten
STR_NETWORK_ERR_SERVER_ERROR :{WHITE}Protokollfehler: Die Verbindung musste getrennt werden
STR_NETWORK_ERR_WRONG_REVISION :{WHITE}Ihre Version entspricht nicht der Serverversion
STR_NETWORK_ERR_WRONG_PASSWORD :{WHITE}Falsches Passwort
STR_NETWORK_ERR_SERVER_FULL :{WHITE}Der Server ist voll
-STR_NETWORK_ERR_SERVER_BANNED :{WHITE}Du bist von diesem Server verbannt
-STR_NETWORK_ERR_KICKED :{WHITE}Du wurdest vom Server gekickt
+STR_NETWORK_ERR_SERVER_BANNED :{WHITE} Sie sind auf diesem Server gesperrt
+STR_NETWORK_ERR_KICKED :{WHITE} Sie wurden vom Server ausgeschlossen
STR_NETWORK_ERR_CHEATER :{WHITE}Mogeln ist auf diesem Server nicht erlaubt
STR_NETWORK_ERR_LEFT :hat das Spiel verlassen
############ Leave those lines in this order!!
STR_NETWORK_ERR_CLIENT_GENERAL :Allgemeiner Fehler
STR_NETWORK_ERR_CLIENT_DESYNC :Synchronisationsfehler
-STR_NETWORK_ERR_CLIENT_SAVEGAME :Karte konnte nicht geladen werden.
+STR_NETWORK_ERR_CLIENT_SAVEGAME :Spielfeld konnte nicht geladen werden.
STR_NETWORK_ERR_CLIENT_CONNECTION_LOST :Verbindung verloren
STR_NETWORK_ERR_CLIENT_PROTOCOL_ERROR :Protokollfehler
-STR_NETWORK_ERR_CLIENT_NEWGRF_MISMATCH :NewGRF Versionen stimmen nicht überein
-STR_NETWORK_ERR_CLIENT_NOT_AUTHORIZED :nicht authorisiert
-STR_NETWORK_ERR_CLIENT_NOT_EXPECTED :Unerwartetes Paket empfangen
+STR_NETWORK_ERR_CLIENT_NEWGRF_MISMATCH :NewGRF-Versionen stimmen nicht überein
+STR_NETWORK_ERR_CLIENT_NOT_AUTHORIZED :nicht autorisiert
+STR_NETWORK_ERR_CLIENT_NOT_EXPECTED :Unerwartetes Datenpaket empfangen
STR_NETWORK_ERR_CLIENT_WRONG_REVISION :Falsche Version
STR_NETWORK_ERR_CLIENT_NAME_IN_USE :Name wird bereits verwendet
STR_NETWORK_ERR_CLIENT_WRONG_PASSWORD :Falsches Spielpasswort
-STR_NETWORK_ERR_CLIENT_PLAYER_MISMATCH :Falsche-SpielerID in DoCommand (Verarbeitungsfehler)
-STR_NETWORK_ERR_CLIENT_KICKED :gekickt
-STR_NETWORK_ERR_CLIENT_CHEATER :versuchte einen Cheat zu nutzen
+STR_NETWORK_ERR_CLIENT_PLAYER_MISMATCH :Falsche Spieler-ID in DoCommand (Verarbeitungsfehler)
+STR_NETWORK_ERR_CLIENT_KICKED :ausgeschlossen
+STR_NETWORK_ERR_CLIENT_CHEATER :hat versucht zu mogeln
STR_NETWORK_ERR_CLIENT_SERVER_FULL :Server voll
############ End of leave-in-this-order
-STR_NETWORK_CLIENT_JOINED :hat das Spiel betreten
-STR_NETWORK_GIVE_MONEY :gab dir etwas Geld ({CURRENCY})
-STR_NETWORK_GAVE_MONEY_AWAY :Du hast {STRING} etwas Geld gegeben ({CURRENCY})
+STR_NETWORK_CLIENT_JOINED :betritt das Spiel
+STR_NETWORK_GIVE_MONEY :schenkt Ihnen {CURRENCY}
+STR_NETWORK_GAVE_MONEY_AWAY :Sie haben {STRING} {CURRENCY} geschenkt
STR_NETWORK_CHAT_COMPANY_CAPTION :[Team] :
STR_NETWORK_CHAT_COMPANY :[Team] {STRING}: {GRAY}{STRING}
-STR_NETWORK_CHAT_TO_COMPANY :[Team] An {STRING}: {GRAY}{STRING}
+STR_NETWORK_CHAT_TO_COMPANY :[Team] an {STRING}: {GRAY}{STRING}
STR_NETWORK_CHAT_CLIENT_CAPTION :[Privat] :
STR_NETWORK_CHAT_CLIENT :[Privat] {STRING}: {GRAY}{STRING}
-STR_NETWORK_CHAT_TO_CLIENT :[Privat] An {STRING}: {GRAY}{STRING}
+STR_NETWORK_CHAT_TO_CLIENT :[Privat] an {STRING}: {GRAY}{STRING}
STR_NETWORK_CHAT_ALL_CAPTION :[Alle] :
STR_NETWORK_CHAT_ALL :[Alle] {STRING}: {GRAY}{STRING}
-STR_NETWORK_NAME_CHANGE :hat seinen Namen geändert zu
+STR_NETWORK_NAME_CHANGE :ändert seinen Namen in
STR_NETWORK_SERVER_SHUTDOWN :{WHITE}Der Server hat das Spiel beendet
STR_NETWORK_SERVER_REBOOT :{WHITE}Der Server startet neu...{}Bitte warten...
@@ -1545,31 +1544,31 @@
STR_NETWORK_SPECTATORS :Zuschauer
STR_NETWORK_CLIENTLIST_NONE :(keiner)
-STR_NETWORK_CLIENTLIST_KICK :Kicken
-STR_NETWORK_CLIENTLIST_GIVE_MONEY :Geld geben
+STR_NETWORK_CLIENTLIST_KICK :Ausschließen
+STR_NETWORK_CLIENTLIST_GIVE_MONEY :Geld schenken
STR_NETWORK_CLIENTLIST_SPEAK_TO_ALL :Mit allen sprechen
STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY :Mit eigener Firma sprechen
STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT :Private Nachricht
-STR_NETWORK_SEND :{BLACK}Senden
+STR_NETWORK_SEND :{BLACK}Abschicken
############ end network gui strings
-STR_CONFIG_PATCHES_MAP_X :{LTBLUE}X-Abmessung der Karte: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_MAP_Y :{LTBLUE}Y-Abmessung der Karte: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_MAP_X :{LTBLUE}X-Abmessung des Spielfeldes: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_MAP_Y :{LTBLUE}Y-Abmessung des Spielfeldes: {ORANGE}{STRING}
##### PNG-MAP-Loader
-STR_PNGMAP_ERROR :{WHITE}Kann Landschaft nicht aus PNG-Datei laden...
+STR_PNGMAP_ERROR :{WHITE}Landschaft kann nicht aus PNG-Datei geladen werden...
STR_PNGMAP_ERR_FILE_NOT_FOUND :{WHITE}...Datei nicht gefunden.
-STR_PNGMAP_ERR_IMAGE_TYPE :{WHITE}...kann Grafik-Typ nicht umwandeln. 8- oder 24-bit PNG Datei erforderlich.
-STR_PNGMAP_ERR_MISC :{WHITE}...irgend etwas ging schief. Sorry. (Vielleicht eine kaputte Datei)
+STR_PNGMAP_ERR_IMAGE_TYPE :{WHITE}...Bildtyp kann nicht umgewandelt werden. 8- oder 24-bit-PNG-Datei erforderlich.
+STR_PNGMAP_ERR_MISC :{WHITE}...irgend etwas ging schief. Sorry. (Vielleicht eine kaputte Datei?)
-STR_BMPMAP_ERROR :{WHITE}Kann Landschaft nicht aus BMP-Datei laden...
-STR_BMPMAP_ERR_IMAGE_TYPE :{WHITE}...kann Bildtyp nicht umwandeln.
+STR_BMPMAP_ERROR :{WHITE}Landschaft kann nicht aus BMP-Datei geladen werden...
+STR_BMPMAP_ERR_IMAGE_TYPE :{WHITE}...Bildtyp kann nicht umgewandelt werden.
##id 0x0800
STR_0800_COST :{TINYFONT}{RED}Kosten: {CURRENCY}
@@ -1580,8 +1579,8 @@
STR_FEEDER :{YELLOW}Umladen: {CURRENCY}
STR_0805_ESTIMATED_COST :{WHITE}Geschätzte Kosten: {CURRENCY}
STR_0807_ESTIMATED_INCOME :{WHITE}Geschätzte Einnahmen: {CURRENCY}
-STR_0808_CAN_T_RAISE_LAND_HERE :{WHITE}Kann das Land nicht anheben...
-STR_0809_CAN_T_LOWER_LAND_HERE :{WHITE}Kann das Land nicht absenken...
+STR_0808_CAN_T_RAISE_LAND_HERE :{WHITE}Land kann nicht angehoben werden...
+STR_0809_CAN_T_LOWER_LAND_HERE :{WHITE}Land kann nicht abgesenkt werden...
STR_080A_ROCKS :Gebirge
STR_080B_ROUGH_LAND :Unebenes Land
STR_080C_BARE_LAND :Kahles Land
@@ -1604,12 +1603,12 @@
STR_100B_MONORAIL_CONSTRUCTION :{WHITE}Einschienenbahnbau
STR_100C_MAGLEV_CONSTRUCTION :{WHITE}Magnetschwebebahnbau
STR_100D_SELECT_RAIL_BRIDGE :{WHITE}Eisenbahnbrücke auswählen
-STR_100E_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Kann hier kein Zugdepot bauen...
-STR_100F_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Kann hier keinen Bahnhof bauen...
-STR_1010_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Kann hier kein Signal aufstellen...
-STR_1011_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Kann hier keine Gleise legen...
+STR_100E_CAN_T_BUILD_TRAIN_DEPOT :{WHITE}Zugdepot kann hier nicht gebaut werden...
+STR_100F_CAN_T_BUILD_RAILROAD_STATION :{WHITE}Bahnhof kann hier nicht gebaut werden...
+STR_1010_CAN_T_BUILD_SIGNALS_HERE :{WHITE}Signal kann hier nicht aufgestellt werden...
+STR_1011_CAN_T_BUILD_RAILROAD_TRACK :{WHITE}Gleise können hier nicht verlegt werden...
STR_1012_CAN_T_REMOVE_RAILROAD_TRACK :{WHITE}Gleise können nicht abgerissen werden...
-STR_1013_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Kann die Signale hier nicht entfernen...
+STR_1013_CAN_T_REMOVE_SIGNALS_FROM :{WHITE}Signale können hier nicht entfernt werden...
STR_1014_TRAIN_DEPOT_ORIENTATION :{WHITE}Zugdepotausrichtung
STR_1015_RAILROAD_CONSTRUCTION :Eisenbahnbau
STR_TOOLB_ELRAIL_CONSTRUCTION :Bau elektrifizierter Strecken
@@ -1631,13 +1630,13 @@
STR_RAILROAD_TRACK_WITH_PRESIGNALS :Gleis mit Vorsignalen
STR_RAILROAD_TRACK_WITH_EXITSIGNALS :Gleis mit Ausfahrsignalen
STR_RAILROAD_TRACK_WITH_COMBOSIGNALS :Gleis mit kombinierten Vor-/Ausfahrsignalen
-STR_RAILROAD_TRACK_WITH_NORMAL_PRESIGNALS :Eisenbahnschienen mit Vor- und Hauptsignalen
-STR_RAILROAD_TRACK_WITH_NORMAL_EXITSIGNALS :Eisenbahnschienen mit Haupt- und Ausfahrsignalen
-STR_RAILROAD_TRACK_WITH_NORMAL_COMBOSIGNALS :Eisenbahnschienen mit Haupt- und Kombinationssignalen
-STR_RAILROAD_TRACK_WITH_PRE_EXITSIGNALS :Eisenbahnschienen mit Vor- und Ausfahrsignalen
-STR_RAILROAD_TRACK_WITH_PRE_COMBOSIGNALS :Eisenbahnschienen mit Vor- und Kombinationssignalen
-STR_RAILROAD_TRACK_WITH_EXIT_COMBOSIGNALS :Eisenbahnschienen mit Ausfahr- und Kombinationssignalen
-STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Bahnhof muss erst entfernt werden
+STR_RAILROAD_TRACK_WITH_NORMAL_PRESIGNALS :Gleis mit Vor- und Hauptsignalen
+STR_RAILROAD_TRACK_WITH_NORMAL_EXITSIGNALS :Gleis mit Haupt- und Ausfahrsignalen
+STR_RAILROAD_TRACK_WITH_NORMAL_COMBOSIGNALS :Gleis mit Haupt- und Kombisignalen
+STR_RAILROAD_TRACK_WITH_PRE_EXITSIGNALS :Gleis mit Vor- und Ausfahrsignalen
+STR_RAILROAD_TRACK_WITH_PRE_COMBOSIGNALS :Gleis mit Vor- und Kombisignalen
+STR_RAILROAD_TRACK_WITH_EXIT_COMBOSIGNALS :Gleis mit Ausfahr- und Kombisignalen
+STR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Bahnhof muss erst abgerissen werden
@@ -1647,35 +1646,35 @@
STR_1802_ROAD_CONSTRUCTION :{WHITE}Straßenbau
STR_1802_TRAMWAY_CONSTRUCTION :{WHITE}Straßenbahnbau
STR_1803_SELECT_ROAD_BRIDGE :{WHITE}Brücke wählen
-STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... Einbahnstraßen können keinen Abzweig haben
-STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Kann hier keine Straße bauen...
-STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Kann Straßenbahn hier nicht bauen...
-STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Kann diese Straße nicht entfernen...
-STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Kann Straßenbahn hier nicht entfernen...
+STR_ERR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... Einbahnstraßen können keine Abzweigung haben
+STR_1804_CAN_T_BUILD_ROAD_HERE :{WHITE}Straße kann hier nicht gebaut werden...
+STR_1804_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}Straßenbahn kann hier nicht gebaut werden...
+STR_1805_CAN_T_REMOVE_ROAD_FROM :{WHITE}Diese Straße kann nicht entfernt werden...
+STR_1805_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Straßenbahn kann hier nicht entfernt werden...
STR_1806_ROAD_DEPOT_ORIENTATION :{WHITE}Fahrzeugdepot-Ausr.
STR_1806_TRAM_DEPOT_ORIENTATION :{WHITE}Ausrichtung des Straßenbahndepots
-STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Kann Fahrzeugdepot hier nicht bauen...
-STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Kann Straßenbahndepot hier nicht bauen...
-STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Kann Busbahnhof nicht bauen...
-STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Kann Lkw-Ladeplatz nicht bauen...
-STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Kann Haltestelle hier nicht bauen...
-STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Kann Güterverladestelle hier nicht bauen...
+STR_1807_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Fahrzeugdepot kann hier nicht gebaut werden...
+STR_1807_CAN_T_BUILD_TRAM_VEHICLE :{WHITE}Straßenbahndepot kann hier nicht gebaut werden...
+STR_1808_CAN_T_BUILD_BUS_STATION :{WHITE}Busbahnhof kann nicht gebaut werden...
+STR_1809_CAN_T_BUILD_TRUCK_STATION :{WHITE}Lkw-Ladeplatz kann nicht gebaut werden...
+STR_1808_CAN_T_BUILD_PASSENGER_TRAM_STATION :{WHITE}Straßenbahnhaltestelle kann hier nicht gebaut werden...
+STR_1809_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Güterverladestelle kann hier nicht gebaut werden...
STR_180A_ROAD_CONSTRUCTION :Straßenbau
STR_180A_TRAMWAY_CONSTRUCTION :Straßenbahnbau
STR_180B_BUILD_ROAD_SECTION :{BLACK}Straße bauen
-STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Baue Straßenbahnabschnitt
+STR_180B_BUILD_TRAMWAY_SECTION :{BLACK}Straßenbahnabschnitt bauen
STR_180C_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Fahrzeugdepot bauen (zum Bau und zur Wartung von Fahrzeugen)
-STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Baue Straßenbahndepot (zum Erstellen und Warten von Straßenbahnen)
+STR_180C_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Straßenbahndepot bauen (zum Erstellen und Warten von Straßenbahnen)
STR_180D_BUILD_BUS_STATION :{BLACK}Busbahnhof bauen
STR_180E_BUILD_TRUCK_LOADING_BAY :{BLACK}Lkw-Ladeplatz bauen
-STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Baue Haltestelle
-STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Baue Güterverladestelle
+STR_180D_BUILD_PASSENGER_TRAM_STATION :{BLACK}Straßenbahnhaltestelle bauen
+STR_180E_BUILD_CARGO_TRAM_STATION :{BLACK}Güterverladestelle bauen
STR_180F_BUILD_ROAD_BRIDGE :{BLACK}Straßenbrücke bauen
-STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Baue Straßenbahnbrücke
+STR_180F_BUILD_TRAMWAY_BRIDGE :{BLACK}Straßenbahnbrücke bauen
STR_1810_BUILD_ROAD_TUNNEL :{BLACK}Straßentunnel bauen
-STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Baue Straßenbahntunnel
+STR_1810_BUILD_TRAMWAY_TUNNEL :{BLACK}Straßenbahntunnel bauen
STR_1811_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Zwischen Bau/Abriss der Straße umschalten
-STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Umschalten zwischen bauen/entfernen für Straßenbahnbau
+STR_1811_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Umschalten zwischen Bauen/Entfernen für Straßenbahnbau
STR_1813_SELECT_ROAD_VEHICLE_DEPOT :{BLACK}Ausrichtung des Fahrzeugdepots wählen
STR_1813_SELECT_TRAM_VEHICLE_DEPOT :{BLACK}Ausrichtung des Straßenbahndepots wählen
STR_1814_ROAD :Straße
@@ -1683,9 +1682,9 @@
STR_1816_TREE_LINED_ROAD :Straße mit Bäumen
STR_1817_ROAD_VEHICLE_DEPOT :Fahrzeugdepot
STR_1818_ROAD_RAIL_LEVEL_CROSSING :Bahnübergang
-STR_CAN_T_REMOVE_BUS_STATION :{WHITE}Kann Bushaltestelle nicht entfernen...
-STR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}Kann LKW-Ladestelle nicht entfernen...
-STR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE} Haltestelle kann nicht entfernt werden...
+STR_CAN_T_REMOVE_BUS_STATION :{WHITE}Bushaltestelle kann nicht entfernt werden...
+STR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}LKW-Ladestelle kann nicht entfernt werden...
+STR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}Straßenbahnhaltestelle kann nicht entfernt werden...
STR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}Güterverladestelle kann nicht entfernt werden...
##id 0x2000
@@ -1701,8 +1700,8 @@
STR_2007_RENAME_TOWN :Stadt umbenennen
STR_2008_CAN_T_RENAME_TOWN :{WHITE}Die Stadt kann nicht umbenannt werden...
STR_2009_LOCAL_AUTHORITY_REFUSES :{WHITE}Die Stadtverwaltung von {TOWN} erteilt keine Genehmigung
-STR_200A_TOWN_NAMES_CLICK_ON_NAME :{BLACK}Städtenamen - klicke auf den Namen, um die Stadt anzuzeigen
-STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}Ansicht auf Stadt zentrieren
+STR_200A_TOWN_NAMES_CLICK_ON_NAME :{BLACK}Städtenamen - Klick auf den Namen scrollt Hauptansicht zur Stadt
+STR_200B_CENTER_THE_MAIN_VIEW_ON :{BLACK}Hauptansicht zur Stadt scrollen
STR_200C_CHANGE_TOWN_NAME :{BLACK}Stadt umbenennen
STR_200D_PASSENGERS_LAST_MONTH_MAX :{BLACK}Passagiere letzten Monat: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA}
STR_200E_MAIL_LAST_MONTH_MAX :{BLACK}Postsäcke letzten Monat: {ORANGE}{COMMA}{BLACK} max: {ORANGE}{COMMA}
@@ -1736,18 +1735,18 @@
STR_202B_SERVICES_ALREADY_SUBSIDISED :{BLACK}Bereits vergebene Subventionen:
STR_202C_FROM_TO :{ORANGE}{STRING} von {STATION} nach {STATION}{YELLOW} ({COMPANY}
STR_202D_UNTIL :{YELLOW}, bis {DATE_SHORT})
-STR_202E_OFFER_OF_SUBSIDY_EXPIRED :{BLACK}{BIGFONT}Subventionsangebot abgelaufen:{}{}{STRING} von {STRING} nach {STRING} wird nicht mehr subventioniert.
-STR_202F_SUBSIDY_WITHDRAWN_SERVICE :{BLACK}{BIGFONT}Subventionsende: {}{}{STRING} Dienstleistung von {STATION} nach {STATION} wird nicht mehr subventioniert.
-STR_2030_SERVICE_SUBSIDY_OFFERED :{BLACK}{BIGFONT}Subventionsangebot {}{}Erster {STRING}transport von {STRING} nach {STRING} wird ein Jahr von der Stadtverwaltung subventioniert!
-STR_2031_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Subvention wird vergeben an {COMPANY}!{}{}{STRING}transport von {STATION} nach {STATION} bringt im nächsten Jahr einen 50% höheren Frachtpreis!
-STR_2032_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Subvention wird vergeben an {COMPANY}!{}{}{STRING}transport von {STATION} nach {STATION} bringt im nächsten Jahr den doppelten Frachtpreis!
-STR_2033_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Subvention wird vergeben an {COMPANY}!{}{}{STRING}transport von {STATION} nach {STATION} bringt im nächsten Jahr den dreifachen Frachtpreis!
-STR_2034_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Subvention wird vergeben an {COMPANY}!{}{}{STRING}transport von {STATION} nach {STATION} bringt im nächsten Jahr den vierfachen Frachtpreis!
-STR_2035_LOCAL_AUTHORITY_REFUSES :{WHITE}Die Stadtverwaltung {TOWN} erlaubt nicht den Bau eines weiteren Flughafens in der Stadt
+STR_202E_OFFER_OF_SUBSIDY_EXPIRED :{BLACK}{BIGFONT}Subventionsangebot abgelaufen:{}{}{STRING}transport von {STRING} nach {STRING} wird nicht mehr subventioniert.
+STR_202F_SUBSIDY_WITHDRAWN_SERVICE :{BLACK}{BIGFONT}Subventionsende:{}{}{STRING}transport von {STATION} nach {STATION} wird nicht mehr subventioniert.
+STR_2030_SERVICE_SUBSIDY_OFFERED :{BLACK}{BIGFONT}Subventionsangebot:{}{}Erster {STRING}transport von {STRING} nach {STRING} wird ein Jahr von den örtlichen Behörden subventioniert!
+STR_2031_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Subvention vergeben an {COMPANY}!{}{}{STRING}transport von {STATION} nach {STATION} erhält im nächsten Jahr einen 50% höheren Preis!
+STR_2032_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Subvention vergeben an {COMPANY}!{}{}{STRING}transport von {STATION} nach {STATION} erhält im nächsten Jahr den doppelten Preis!
+STR_2033_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Subvention vergeben an {COMPANY}!{}{}{STRING}transport von {STATION} nach {STATION} erhält im nächsten Jahr den dreifachen Preis!
+STR_2034_SERVICE_SUBSIDY_AWARDED :{BLACK}{BIGFONT}Subvention vergeben an {COMPANY}!{}{}{STRING}transport von {STATION} nach {STATION} erhält im nächsten Jahr den vierfachen Preis!
+STR_2035_LOCAL_AUTHORITY_REFUSES :{WHITE}Die Stadtverwaltung von {TOWN} verweigert die Genehmigung für den Bau eines weiteren Flughafens in der Stadt
STR_2036_COTTAGES :Landhaus
STR_2037_HOUSES :Haus
STR_2038_FLATS :Wohnhaus
-STR_2039_TALL_OFFICE_BLOCK :Hohes Geschäftshaus
+STR_2039_TALL_OFFICE_BLOCK :Geschäftshochhaus
STR_203A_SHOPS_AND_OFFICES :Läden und Büros
STR_203B_SHOPS_AND_OFFICES :Läden und Büros
STR_203C_THEATER :Theater
@@ -1756,10 +1755,10 @@
STR_203F_HOUSES :Häuser
STR_2040_CINEMA :Kino
STR_2041_SHOPPING_MALL :Einkaufszentrum
-STR_2042_DO_IT :{BLACK}Tu es
-STR_2043_LIST_OF_THINGS_TO_DO_AT :{BLACK}Liste der verfügbaren Handlungen in dieser Stadt - klicke hier für Einzelheiten
-STR_2044_CARRY_OUT_THE_HIGHLIGHTED :{BLACK}Ausführung der markierten Handlung
-STR_2045_ACTIONS_AVAILABLE :{BLACK}Verfügbare Handlungen:
+STR_2042_DO_IT :{BLACK}Ausführen
+STR_2043_LIST_OF_THINGS_TO_DO_AT :{BLACK}Liste der verfügbaren Maßnahmen in dieser Stadt - Klick zeigt Einzelheiten an
+STR_2044_CARRY_OUT_THE_HIGHLIGHTED :{BLACK}Ausgewählte Maßnahme durchführen
+STR_2045_ACTIONS_AVAILABLE :{BLACK}Verfügbare Maßnahmen:
STR_2046_SMALL_ADVERTISING_CAMPAIGN :Kleine Werbekampagne
STR_2047_MEDIUM_ADVERTISING_CAMPAIGN :Mittlere Werbekampagne
STR_2048_LARGE_ADVERTISING_CAMPAIGN :Große Werbekampagne
@@ -1803,7 +1802,7 @@
STR_2809_CAN_T_PLACE_SIGN_HERE :{WHITE}Schild kann hier nicht aufgestellt werden...
STR_280A_SIGN :Schild
STR_280B_EDIT_SIGN_TEXT :{WHITE}Schildtext ändern
-STR_280C_CAN_T_CHANGE_SIGN_NAME :{WHITE}Kann Schildnamen nicht ändern...
+STR_280C_CAN_T_CHANGE_SIGN_NAME :{WHITE}Schildname kann nicht geändert werden...
STR_280D_SELECT_TREE_TYPE_TO_PLANT :{BLACK}Wähle die zu pflanzende Baumart
STR_280E_TREES :Bäume
STR_280F_RAINFOREST :Regenwald
@@ -1828,7 +1827,7 @@
STR_300E_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Flughafen muss erst abgerissen werden
STR_3030_RENAME_STATION_LOADING :Station/Ladeplatz umbenennen
-STR_3031_CAN_T_RENAME_STATION :{WHITE}Kann die Station nicht umbenennen...
+STR_3031_CAN_T_RENAME_STATION :{WHITE}Station kann nicht umbenannt werden...
STR_3032_RATINGS :{BLACK}Einschätzung
STR_3033_ACCEPTS :{BLACK}Akzeptiert
STR_3034_LOCAL_RATING_OF_TRANSPORT :{BLACK}Örtliche Bewertung der Transportunternehmen:
@@ -1846,16 +1845,16 @@
STR_303D :{WHITE}{STRING}: {YELLOW}{STRING} ({COMMA}%)
STR_303E_NO_LONGER_ACCEPTS :{WHITE}{STATION} akzeptiert keine {STRING} mehr
-STR_303F_NO_LONGER_ACCEPTS_OR :{WHITE}{STATION} akzeptiert keine {STRING} oder {STRING} mehr
-STR_3040_NOW_ACCEPTS :{WHITE}{STATION} akzeptiert jetzt {STRING}
-STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} akzeptiert jetzt {STRING} und {STRING}
+STR_303F_NO_LONGER_ACCEPTS_OR :{WHITE}{STATION} akzeptiert keine {STRING} und keine {STRING} mehr
+STR_3040_NOW_ACCEPTS :{WHITE}{STATION} akzeptiert jetzt auch {STRING}
+STR_3041_NOW_ACCEPTS_AND :{WHITE}{STATION} akzeptiert jetzt auch {STRING} und {STRING}
STR_3042_BUS_STATION_ORIENTATION :{WHITE}Busbahnhof-Ausr.
STR_3043_TRUCK_STATION_ORIENT :{WHITE}Lkw-Ladeplatz-Ausr.
-STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Ausrichtung der Haltestelle
+STR_3042_PASSENGER_TRAM_STATION_ORIENTATION :{WHITE}Ausrichtung der Straßenbahnhaltestelle
STR_3043_CARGO_TRAM_STATION_ORIENT :{WHITE}Ausrichtung der Güterverladestelle
STR_3046_MUST_DEMOLISH_BUS_STATION :{WHITE}Der Busbahnhof muss erst abgerissen werden
STR_3047_MUST_DEMOLISH_TRUCK_STATION :{WHITE}Der Lkw-Ladeplatz muss erst abgerissen werden
-STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Haltestelle muss vorher abgerissen werden
+STR_3046_MUST_DEMOLISH_PASSENGER_TRAM_STATION :{WHITE}Straßenbahnhaltestelle muss vorher abgerissen werden
STR_3047_MUST_DEMOLISH_CARGO_TRAM_STATION :{WHITE}Güterverladestelle muss vorher abgerissen werden
STR_3048_STATIONS :{WHITE}{COMPANY} - {COMMA} Haltestelle{P "" n}
STR_3049_0 :{YELLOW}{STATION} {STATIONFEATURES}
@@ -1868,9 +1867,9 @@
STR_3050_SELECT_LENGTH_OF_RAILROAD :{BLACK}Bahnsteiglänge wählen
STR_3051_SELECT_BUS_STATION_ORIENTATION :{BLACK}Busbahnhofsausrichtung wählen
STR_3052_SELECT_TRUCK_LOADING_BAY :{BLACK}Ladeplatzausrichtung wählen
-STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Ausrichtung für die Haltestelle wählen
+STR_3051_SELECT_PASSENGER_TRAM_STATION_ORIENTATION :{BLACK}Ausrichtung für die Straßenbahnhaltestelle wählen
STR_3052_SELECT_CARGO_TRAM_STATION_ORIENTATION :{BLACK}Ausrichtung für die Güterverladestelle wählen
-STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Ansicht auf die Station zentrieren
+STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Hauptansicht zur Station scrollen
STR_3054_SHOW_STATION_RATINGS :{BLACK}Stationsbewertung anzeigen
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Name der Station ändern
STR_3056_SHOW_LIST_OF_ACCEPTED_CARGO :{BLACK}Zeige Liste der akzeptierten Frachten
@@ -1901,13 +1900,13 @@
##id 0x3800
STR_3800_SHIP_DEPOT_ORIENTATION :{WHITE}Werftausrichtung
STR_3801_MUST_BE_BUILT_ON_WATER :{WHITE}...muss auf Wasser gebaut werden
-STR_3802_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Kann hier keine Werft bauen...
+STR_3802_CAN_T_BUILD_SHIP_DEPOT :{WHITE}Werft kann hier nicht gebaut werden...
STR_3803_SELECT_SHIP_DEPOT_ORIENTATION :{BLACK}Werftausrichtung auswählen
STR_3804_WATER :Wasser
STR_3805_COAST_OR_RIVERBANK :Küste oder Flussufer
STR_3806_SHIP_DEPOT :Werft
STR_3807_CAN_T_BUILD_ON_WATER :{WHITE}...kann nicht auf Wasser gebaut werden
-STR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Kanal muß erst abgerissen werden
+STR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Kanal muss erst abgerissen werden
##id 0x4000
STR_4000_SAVE_GAME :{WHITE}Spiel speichern
@@ -1916,15 +1915,15 @@
STR_4003_DELETE :{BLACK}Löschen
STR_4004 :{COMPANY}, {DATE_LONG}
STR_4005_BYTES_FREE :{BLACK}{COMMA} Megabyte{P "" s} frei
-STR_4006_UNABLE_TO_READ_DRIVE :{BLACK}Kann vom Laufwerk nicht lesen
+STR_4006_UNABLE_TO_READ_DRIVE :{BLACK}Laufwerk nicht betriebsbereit
STR_4007_GAME_SAVE_FAILED :{WHITE}Spielspeicherung fehlgeschlagen{}{STRING}
STR_4008_UNABLE_TO_DELETE_FILE :{WHITE}Datei kann nicht gelöscht werden
STR_4009_GAME_LOAD_FAILED :{WHITE}Laden des Spieles fehlgeschlagen{}{STRING}
STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :interner Fehler: {STRING}
-STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Defekte Spielstandsdatei - {STRING}
+STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Spielstandsdatei defekt - {STRING}
STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :Spielstand wurde mit neuerer Version erstellt
-STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Datei nicht lesbar
-STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Kann Datei nicht schreiben
+STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :Datei kann nicht gelesen werden
+STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :Datei kann nicht geschrieben werden
STR_400A_LIST_OF_DRIVES_DIRECTORIES :{BLACK}Liste der Laufwerke, Verzeichnisse und gespeicherten Spiele
STR_400B_CURRENTLY_SELECTED_NAME :{BLACK}Ausgewählter Spielname
STR_400C_DELETE_THE_CURRENTLY_SELECTED :{BLACK}Lösche gewählten Spielstand
@@ -1945,9 +1944,9 @@
STR_4807_OIL_RIG :{G=w}Ölbohrinsel
STR_4808_FACTORY :{G=w}Fabrik
STR_4809_PRINTING_WORKS :{G=w}Druckerei
-STR_480A_STEEL_MILL :{G=n}Stahlwerk
+STR_480A_STEEL_MILL :{G=n}Stahlwalzwerk
STR_480B_FARM :{G=m}Bauernhof
-STR_480C_COPPER_ORE_MINE :{G=w}Kupfermine
+STR_480C_COPPER_ORE_MINE :{G=n}Kupfererzbergwerk
STR_480D_OIL_WELLS :{G=w}Ölquellen
STR_480E_BANK :{G=w}Bank
STR_480F_FOOD_PROCESSING_PLANT :{G=w}Nahrungsmittelfabrik
@@ -1955,7 +1954,7 @@
STR_4811_GOLD_MINE :{G=w}Goldmine
STR_4812_BANK :{G=w}Bank
STR_4813_DIAMOND_MINE :{G=w}Diamantenmine
-STR_4814_IRON_ORE_MINE :{G=w}Eisenerzmine
+STR_4814_IRON_ORE_MINE :{G=n}Eisenerzbergwerk
STR_4815_FRUIT_PLANTATION :{G=w}Fruchtplantage
STR_4816_RUBBER_PLANTATION :{G=w}Kautschukplantage
STR_4817_WATER_SUPPLY :{G=w}Wasserquelle
@@ -1982,7 +1981,7 @@
############ range for requires ends
############ range for produces starts
-STR_INDUSTRY_WINDOW_WAITING_FOR_PROCESSING :{BLACK}Auf Verarbeitung wartende Fracht:
+STR_INDUSTRY_WINDOW_WAITING_FOR_PROCESSING :{BLACK}Zur Verarbeitung bereitstehende Fracht:
STR_INDUSTRY_WINDOW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO}{BLACK}
STR_4827_PRODUCES :{BLACK}Produziert: {YELLOW}{STRING}
STR_4828_PRODUCES :{BLACK}Produziert: {YELLOW}{STRING}, {STRING}
@@ -1990,11 +1989,11 @@
STR_482A_PRODUCTION_LAST_MONTH :{BLACK}Produktion im letzten Monat:
STR_482B_TRANSPORTED :{YELLOW}{CARGO}{BLACK} ({COMMA}% befördert)
-STR_482C_CENTER_THE_MAIN_VIEW_ON :{BLACK}Zentriere die Ansicht auf das Industriegebiet
+STR_482C_CENTER_THE_MAIN_VIEW_ON :{BLACK}Hauptansicht zum Industriegebiet scrollen
STR_482D_NEW_UNDER_CONSTRUCTION :{BLACK}{BIGFONT}Neue{G r "" s} {STRING} wird nahe {TOWN} gebaut!
STR_482E_NEW_BEING_PLANTED_NEAR :{BLACK}{BIGFONT}Neue{G r "" s} {STRING} wird nahe {TOWN} aufgeforstet!
STR_482F_COST :{BLACK}Kosten: {YELLOW}{CURRENCY}
-STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Kann diese Industrie hier nicht bauen...
+STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Industrie kann hier nicht gebaut werden...
STR_4831_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}...Wald kann nur oberhalb der Schneegrenze gepflanzt werden
STR_4832_ANNOUNCES_IMMINENT_CLOSURE :{BLACK}{BIGFONT}{INDUSTRY} gibt bevorstehende Schließung bekannt!
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO :{BLACK}{BIGFONT}Wegen fehlender Rohstoffe kündigt {INDUSTRY} die drohende Schließung an!
@@ -2003,21 +2002,21 @@
STR_4836_NEW_COAL_SEAM_FOUND_AT :{BLACK}{BIGFONT}Neue Kohlevorkommen bei {INDUSTRY} gefunden!{}Förderung verdoppelt!
STR_4837_NEW_OIL_RESERVES_FOUND :{BLACK}{BIGFONT}Neue Ölfunde bei {INDUSTRY}!{}Förderung wird vermutlich verdoppelt!
STR_4838_IMPROVED_FARMING_METHODS :{BLACK}{BIGFONT}Neue Getreideanbaumethoden bei {INDUSTRY} werden Erträge verdoppeln!
-STR_4839_PRODUCTION_DOWN_BY_50 :{BLACK}{BIGFONT}{INDUSTRY} Produktion sinkt um 50%
+STR_4839_PRODUCTION_DOWN_BY_50 :{BLACK}{BIGFONT}Produktion bei {INDUSTRY} sinkt um 50%
STR_483A_INSECT_INFESTATION_CAUSES :{BLACK}{BIGFONT}Insektenplage bei {INDUSTRY} verursacht Schaden!{}Produktion sinkt um 50%
-STR_483B_CAN_ONLY_BE_POSITIONED :{WHITE}...kann nur in der Nähe des Kartenrandes errichtet werden
-STR_INDUSTRY_PROD_GOUP :{BLACK}{BIGFONT}{STRING}produktion bei {INDUSTRY} erhöht sich um {COMMA}%!
-STR_INDUSTRY_PROD_GODOWN :{BLACK}{BIGFONT}{STRING}produktion bei {INDUSTRY} verringert sich um {COMMA}%!
+STR_483B_CAN_ONLY_BE_POSITIONED :{WHITE}...kann nur in der Nähe des Spielfeldrandes errichtet werden
+STR_INDUSTRY_PROD_GOUP :{BLACK}{BIGFONT}{STRING}produktion von {INDUSTRY} erhöht sich um {COMMA}%!
+STR_INDUSTRY_PROD_GODOWN :{BLACK}{BIGFONT}{STRING}produktion von {INDUSTRY} verringert sich um {COMMA}%!
##id 0x5000
STR_5000_TRAIN_IN_TUNNEL :{WHITE}Zug im Tunnel
STR_5001_ROAD_VEHICLE_IN_TUNNEL :{WHITE}Fahrzeug im Tunnel
STR_5003_ANOTHER_TUNNEL_IN_THE_WAY :{WHITE}Ein anderer Tunnel ist im Weg
-STR_5005_UNABLE_TO_EXCAVATE_LAND :{WHITE}Kann das Land am anderen Ende des Tunnels nicht anheben
+STR_5005_UNABLE_TO_EXCAVATE_LAND :{WHITE}Land kann am anderen Ende des Tunnels nicht angehoben werden
STR_5006_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Der Tunnel muss zuerst abgerissen werden
STR_5007_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Die Brücke muss erst abgerissen werden
STR_5008_CANNOT_START_AND_END_ON :{WHITE}Anfang und Ende können nicht im selben Feld liegen
-STR_5009_LEVEL_LAND_OR_WATER_REQUIRED :{WHITE}Ebenes Land oder Wasser muss unter der Brücke sein
+STR_5009_LEVEL_LAND_OR_WATER_REQUIRED :{WHITE}Unter der Brücke ist ebenes Land oder Wasser erforderlich
STR_500A_START_AND_END_MUST_BE_IN :{WHITE}Anfang und Ende müssen auf einer Ebene liegen
STR_500B_SITE_UNSUITABLE_FOR_TUNNEL :{WHITE}Platz ist nicht für einen Tunnel geeignet
STR_500D :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY}
@@ -2029,8 +2028,8 @@
STR_5013_CONCRETE :Betonbrücke
STR_5014_TUBULAR_STEEL :Rundstahlbrücke
STR_BRIDGE_TUBULAR_SILICON :Siliziumrundbrücke
-STR_5015_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Kann die Brücke hier nicht bauen...
-STR_5016_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Kann den Tunnel hier nicht bauen...
+STR_5015_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Brücke kann hier nicht gebaut werden...
+STR_5016_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Tunnel kann hier nicht gebaut werden...
STR_5017_RAILROAD_TUNNEL :Eisenbahntunnel
STR_5018_ROAD_TUNNEL :Straßentunnel
STR_501B_STEEL_SUSPENSION_RAIL_BRIDGE :Stahlhängebrücke
@@ -2079,7 +2078,7 @@
STR_SV_STNAME_HALT :{STRING} Halt
STR_SV_STNAME_VALLEY :{STRING} Tal
STR_SV_STNAME_HEIGHTS :{STRING} Höhe
-STR_SV_STNAME_WOODS :{STRING} Wald
+STR_SV_STNAME_WOODS :{STRING} Waldfrieden
STR_SV_STNAME_LAKESIDE :{STRING} Seeblick
STR_SV_STNAME_EXCHANGE :{STRING} Zentrum
STR_SV_STNAME_AIRPORT :{STRING} Flughafen
@@ -2114,7 +2113,7 @@
STR_6801_EASY :{BLACK}Leicht
STR_6802_MEDIUM :{BLACK}Normal
STR_6803_HARD :{BLACK}Schwer
-STR_6804_CUSTOM :{BLACK}Individuell
+STR_6804_CUSTOM :{BLACK}Benutzerdefiniert
############ range for difficulty levels ends
############ range for difficulty settings starts
@@ -2222,12 +2221,12 @@
STR_7027_LOAN :{WHITE}Kredit
STR_MAX_LOAN :{WHITE}Maximaler Kredit: {BLACK}{CURRENCY}
STR_7028 :{BLACK}{CURRENCY}
-STR_7029_BORROW :{BLACK}Leihen {SKIP}{SKIP}{CURRENCY}
-STR_702A_REPAY :{BLACK}Rückzahlen {SKIP}{SKIP}{CURRENCY}
+STR_7029_BORROW :{BLACK}{SKIP}{SKIP}{CURRENCY} leihen
+STR_702A_REPAY :{BLACK}{SKIP}{SKIP}{CURRENCY} zurückzahlen
STR_702B_MAXIMUM_PERMITTED_LOAN :{WHITE}...Maximaler Kredit ist {CURRENCY}
-STR_702C_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Kann keinen weiteren Kredit aufnehmen ...
+STR_702C_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Weitere Kreditaufnahme nicht möglich ...
STR_702D_LOAN_ALREADY_REPAYED :{WHITE}...Kredit bereits zurückgezahlt
-STR_702E_REQUIRED :{WHITE}...{CURRENCY} benötigt
+STR_702E_REQUIRED :{WHITE}...erfordert {CURRENCY}
STR_702F_CAN_T_REPAY_LOAN :{WHITE}Kredit kann nicht getilgt werden...
STR_INSUFFICIENT_FUNDS :{WHITE}Von der Bank geliehenes Geld kann nicht abgegeben werden...
STR_7030_SELECT_NEW_FACE_FOR_PRESIDENT :{BLACK}Neues Profil für Manager aussuchen
@@ -2274,7 +2273,7 @@
STR_705D_HAS_BEEN_CLOSED_DOWN_BY :{BLACK}{BIGFONT}{COMPANY} ist von den Gläubigern geschlossen worden, alles Vermögen wurde veräussert!
STR_705E_NEW_TRANSPORT_COMPANY_LAUNCHED :{BLACK}{BIGFONT}Neue Transportfirma gegründet!
STR_705F_STARTS_CONSTRUCTION_NEAR :{BLACK}{BIGFONT}{COMPANY} startet bei {TOWN}!
-STR_7060_CAN_T_BUY_COMPANY :{WHITE}Kann die Firma nicht kaufen...
+STR_7060_CAN_T_BUY_COMPANY :{WHITE}Firmenkauf nicht möglich...
STR_7061_CARGO_PAYMENT_RATES :{WHITE}Frachtbeförderungspreise
STR_7062_DAYS_IN_TRANSIT :{BLACK}{TINYFONT}Tage unterwegs
STR_7063_PAYMENT_FOR_DELIVERING :{BLACK}{TINYFONT}Zahlung für 10 gelieferte Einheiten (oder 10.000 Liter) Fracht über eine Strecke von 20 Feldern
@@ -2292,28 +2291,28 @@
STR_706F_BUILD_HQ :{BLACK}Firmensitz bauen
STR_7070_BUILD_COMPANY_HEADQUARTERS :{BLACK}Firmensitz bauen / anzeigen
STR_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Errichte Firmensitz für 1% des Firmenwertes an anderer Stelle neu.
-STR_7071_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Kann keinen Firmensitz bauen ...
-STR_7072_VIEW_HQ :{BLACK}Zeige Firmensitz
+STR_7071_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Firmensitz kann nicht gebaut werden ...
+STR_7072_VIEW_HQ :{BLACK}Firmensitz anzeigen
STR_RELOCATE_HQ :{BLACK}Firmensitz verlegen
STR_COMPANY_PASSWORD :{BLACK}Passwort
-STR_COMPANY_PASSWORD_TOOLTIP :{BLACK}Schütze deine Firma mit einem Passwort, um unautorisierten Spielern den Beitritt zu verwehren.
+STR_COMPANY_PASSWORD_TOOLTIP :{BLACK}Sie können Ihre Firma mit einem Passwort schützen, sodass nur ausgewählte Spieler beitreten können.
STR_SET_COMPANY_PASSWORD :Firmenpasswort setzen
STR_7073_WORLD_RECESSION_FINANCIAL :{BIGFONT}{BLACK}Weltwirtschaftskrise!{}{}Finanzexperten befürchten schlimmsten Zusammenbruch der Wirtschaft!
STR_7074_RECESSION_OVER_UPTURN_IN :{BIGFONT}{BLACK}Wirtschaftskrise beendet!{}{}Aufschwung des Handels gibt Vertrauen in die Industrie und stärkt die Wirtschaft!
STR_7075_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Schalter für großes/kleines Fenster
STR_7076_COMPANY_VALUE :{GOLD}Firmenwert: {WHITE}{CURRENCY}
-STR_7077_BUY_25_SHARE_IN_COMPANY :{BLACK}Kaufe 25% Anteil an Firma
-STR_7078_SELL_25_SHARE_IN_COMPANY :{BLACK}Verkaufe 25% Anteil an Firma
-STR_7079_BUY_25_SHARE_IN_THIS_COMPANY :{BLACK}Kaufe 25% Anteil an dieser Firma
-STR_707A_SELL_25_SHARE_IN_THIS_COMPANY :{BLACK}Verkaufe 25% Anteil an dieser Firma
-STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Kann 25% Anteil an dieser Firma nicht kaufen...
-STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Kann 25% Anteil an dieser Firma nicht verkaufen...
+STR_7077_BUY_25_SHARE_IN_COMPANY :{BLACK}25% der Aktien der Firma kaufen
+STR_7078_SELL_25_SHARE_IN_COMPANY :{BLACK}25% der Aktien der Firma verkaufen
+STR_7079_BUY_25_SHARE_IN_THIS_COMPANY :{BLACK}25% der Aktien dieser Firma kaufen
+STR_707A_SELL_25_SHARE_IN_THIS_COMPANY :{BLACK}25% der Aktien dieser Firma verkaufen
+STR_707B_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Kauf von 25% der Aktien dieser Firma nicht möglich...
+STR_707C_CAN_T_SELL_25_SHARE_IN :{WHITE}Verkauf von 25% der Aktien dieser Firma nicht möglich...
STR_707D_OWNED_BY :{WHITE}({COMMA}% Eigentum von {COMPANY})
STR_707E_OWNED_BY_OWNED_BY :{WHITE}({COMMA}% Eigentum von {COMPANY}{} {COMMA}% Eigentum von {COMPANY})
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}{COMPANY} wurde von {COMPANY} übernommen!
-STR_7080_PROTECTED :{WHITE}Dieses Unternehmen handelt noch nicht mit Anteilen...
+STR_7080_PROTECTED :{WHITE}Dieses Unternehmen ist noch nicht an der Börse...
-STR_LIVERY_DEFAULT :Standard Lackierung
+STR_LIVERY_DEFAULT :Standardlackierung
STR_LIVERY_STEAM :Dampflok
STR_LIVERY_DIESEL :Diesellok
STR_LIVERY_ELECTRIC :E-Lok
@@ -2324,7 +2323,7 @@
STR_LIVERY_PASSENGER_WAGON_STEAM :Passagierwagen (Dampf)
STR_LIVERY_PASSENGER_WAGON_DIESEL :Passagierwagen (Diesel)
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Passagierwagen (elektrisch)
-STR_LIVERY_FREIGHT_WAGON :Güterwagen
+STR_LIVERY_FREIGHT_WAGON :Güterwaggon
STR_LIVERY_BUS :Bus
STR_LIVERY_TRUCK :Lastwagen
STR_LIVERY_PASSENGER_SHIP :Passagierfähre
@@ -2372,26 +2371,26 @@
STR_8018_SH_40_ELECTRIC :SH '40' (Elektrisch)
STR_8019_T_I_M_ELECTRIC :'T.I.M.' (Elektrisch)
STR_801A_ASIASTAR_ELECTRIC :'AsiaStar' (Elektrisch)
-STR_801B_PASSENGER_CAR :Passagierwagen
-STR_801C_MAIL_VAN :Postwagen
-STR_801D_COAL_CAR :Kohlenwagen
+STR_801B_PASSENGER_CAR :Passagierwaggon
+STR_801C_MAIL_VAN :Postwaggon
+STR_801D_COAL_CAR :Kohlenwaggon
STR_801E_OIL_TANKER :Öltanker
STR_801F_LIVESTOCK_VAN :Viehtransporter
-STR_8020_GOODS_VAN :Güterwagen
+STR_8020_GOODS_VAN :Güterwaggon
STR_8021_GRAIN_HOPPER :Getreidetransporter
-STR_8022_WOOD_TRUCK :Holzwagen
-STR_8023_IRON_ORE_HOPPER :Eisenerzwagen
+STR_8022_WOOD_TRUCK :Holzwaggon
+STR_8023_IRON_ORE_HOPPER :Eisenerzwaggon
STR_8024_STEEL_TRUCK :Stahltransporter
STR_8025_ARMORED_VAN :Sicherheitstransporter
STR_8026_FOOD_VAN :Lebensmitteltransporter
STR_8027_PAPER_TRUCK :Papiertransporter
-STR_8028_COPPER_ORE_HOPPER :Kupfererzwagen
+STR_8028_COPPER_ORE_HOPPER :Kupfererzwaggon
STR_8029_WATER_TANKER :Wassertanker
STR_802A_FRUIT_TRUCK :Fruchttransporter
-STR_802B_RUBBER_TRUCK :Kautschukwagen
+STR_802B_RUBBER_TRUCK :Kautschukwaggon
STR_802C_SUGAR_TRUCK :Zuckerlaster
-STR_802D_COTTON_CANDY_HOPPER :Zuckerwattewagen
-STR_802E_TOFFEE_HOPPER :Karamellwagen
+STR_802D_COTTON_CANDY_HOPPER :Zuckerwattewaggon
+STR_802E_TOFFEE_HOPPER :Karamellwaggon
STR_802F_BUBBLE_VAN :Luftblasentransporter
STR_8030_COLA_TANKER :Colatanker
STR_8031_CANDY_VAN :Bonbontransporter
@@ -2402,25 +2401,25 @@
STR_8036_X2001_ELECTRIC :'X2001' (Elektrisch)
STR_8037_MILLENNIUM_Z1_ELECTRIC :'Millennium Z1' (Elektrisch)
STR_8038_WIZZOWOW_Z99 :Wizzowow Z99
-STR_8039_PASSENGER_CAR :Passagierwagen
-STR_803A_MAIL_VAN :Postwagen
-STR_803B_COAL_CAR :Kohlewagen
+STR_8039_PASSENGER_CAR :Passagierwaggon
+STR_803A_MAIL_VAN :Postwaggon
+STR_803B_COAL_CAR :Kohlewaggon
STR_803C_OIL_TANKER :Öltanker
STR_803D_LIVESTOCK_VAN :Viehtransporter
-STR_803E_GOODS_VAN :Güterwagen
-STR_803F_GRAIN_HOPPER :Getreidewagen
-STR_8040_WOOD_TRUCK :Holzwagen
-STR_8041_IRON_ORE_HOPPER :Eisenerzwagen
+STR_803E_GOODS_VAN :Güterwaggon
+STR_803F_GRAIN_HOPPER :Getreidewaggon
+STR_8040_WOOD_TRUCK :Holzwaggon
+STR_8041_IRON_ORE_HOPPER :Eisenerzwaggon
STR_8042_STEEL_TRUCK :Stahltransporter
STR_8043_ARMORED_VAN :Sicherheitstransporter
STR_8044_FOOD_VAN :Lebensmitteltransporter
STR_8045_PAPER_TRUCK :Papiertransporter
-STR_8046_COPPER_ORE_HOPPER :Kupfererzwagen
+STR_8046_COPPER_ORE_HOPPER :Kupfererzwaggon
STR_8047_WATER_TANKER :Wassertanker
STR_8048_FRUIT_TRUCK :Fruchttransporter
STR_8049_RUBBER_TRUCK :Kautschuktransporter
STR_804A_SUGAR_TRUCK :Zuckertransporter
-STR_804B_COTTON_CANDY_HOPPER :Zuckerwattewagen
+STR_804B_COTTON_CANDY_HOPPER :Zuckerwattewaggon
STR_804C_TOFFEE_HOPPER :Karamelltransporter
STR_804D_BUBBLE_VAN :Luftblasentransporter
STR_804E_COLA_TANKER :Colatransporter
@@ -2428,31 +2427,31 @@
STR_8050_TOY_VAN :Spielwarentransporter
STR_8051_BATTERY_TRUCK :Batterietransporter
STR_8052_FIZZY_DRINK_TRUCK :Limonadetransporter
-STR_8053_PLASTIC_TRUCK :Plastikwagen
-STR_8054_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Elektrisch)
-STR_8055_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (Elektrisch)
-STR_8056_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Elektrisch)
-STR_8057_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (Elektrisch)
+STR_8053_PLASTIC_TRUCK :Plastikwaggon
+STR_8054_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (elektrisch)
+STR_8055_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (elektrisch)
+STR_8056_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (elektrisch)
+STR_8057_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (elektrisch)
STR_8058_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer
-STR_8059_PASSENGER_CAR :Passagierwagen
-STR_805A_MAIL_VAN :Postwagen
-STR_805B_COAL_CAR :Kohlewagen
+STR_8059_PASSENGER_CAR :Passagierwaggon
+STR_805A_MAIL_VAN :Postwaggon
+STR_805B_COAL_CAR :Kohlewaggon
STR_805C_OIL_TANKER :Öltanker
STR_805D_LIVESTOCK_VAN :Viehtransporter
-STR_805E_GOODS_VAN :Warenwagen
+STR_805E_GOODS_VAN :Warenwaggon
STR_805F_GRAIN_HOPPER :Getreidetransporter
-STR_8060_WOOD_TRUCK :Holzwagen
-STR_8061_IRON_ORE_HOPPER :Eisenerzwagen
+STR_8060_WOOD_TRUCK :Holzwaggon
+STR_8061_IRON_ORE_HOPPER :Eisenerzwaggon
STR_8062_STEEL_TRUCK :Stahltransporter
STR_8063_ARMORED_VAN :Sicherheitstransporter
STR_8064_FOOD_VAN :Lebensmitteltransporter
STR_8065_PAPER_TRUCK :Papiertransporter
-STR_8066_COPPER_ORE_HOPPER :Kupfererzwagen
+STR_8066_COPPER_ORE_HOPPER :Kupfererzwaggon
STR_8067_WATER_TANKER :Wassertanker
STR_8068_FRUIT_TRUCK :Fruchttransporter
-STR_8069_RUBBER_TRUCK :Kautschukwagen
+STR_8069_RUBBER_TRUCK :Kautschukwaggon
STR_806A_SUGAR_TRUCK :Zuckertransporter
-STR_806B_COTTON_CANDY_HOPPER :Zuckerwattewagen
+STR_806B_COTTON_CANDY_HOPPER :Zuckerwattewaggon
STR_806C_TOFFEE_HOPPER :Karamelltransporter
STR_806D_BUBBLE_VAN :Luftblasentransporter
STR_806E_COLA_TANKER :Colatransporter
@@ -2460,7 +2459,7 @@
STR_8070_TOY_VAN :Spielwarentransporter
STR_8071_BATTERY_TRUCK :Batterielaster
STR_8072_FIZZY_DRINK_TRUCK :Limonadetransporter
-STR_8073_PLASTIC_TRUCK :Plastikwagen
+STR_8073_PLASTIC_TRUCK :Plastikwaggon
STR_8074_MPS_REGAL_BUS :MPS Regal Bus
STR_8075_HEREFORD_LEOPARD_BUS :Hereford Leopard Bus
STR_8076_FOSTER_BUS :Foster Bus
@@ -2612,7 +2611,7 @@
##id 0x8800
STR_8800_TRAIN_DEPOT :{WHITE}{TOWN} Zugdepot
-STR_8801_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Stadt feiert . . .{}Der erste Zug erreicht {STATION}!
+STR_8801_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Einwohner feiern . . .{}Der erste Zug erreicht {STATION}!
STR_8802_DETAILS :{WHITE}{VEHICLE} (Details)
STR_8803_TRAIN_IN_THE_WAY :{WHITE}Zug ist im Weg
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
@@ -2635,9 +2634,9 @@
STR_SERVICE_NON_STOP_AT_TRAIN_DEPOT :Wartung (ohne Halt) bei {TOWN} Zugdepot
STR_TIMETABLE_GO_TO :{STRING} {STRING}
-STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Fahre (ohne Fahrplan)
-STR_TIMETABLE_TRAVEL_FOR :Fahre für {STRING}
-STR_TIMETABLE_STAY_FOR :und bleibe für {STRING}
+STR_TIMETABLE_TRAVEL_NOT_TIMETABLED :Fahren (ohne Fahrplan)
+STR_TIMETABLE_TRAVEL_FOR :{STRING} lang fahren
+STR_TIMETABLE_STAY_FOR :und {STRING} lang bleiben
STR_TIMETABLE_DAYS :{COMMA} Tag{P "" e}
STR_TIMETABLE_TICKS :{COMMA} Tick{P "" s}
@@ -2673,56 +2672,56 @@
STR_CLONE_TRAIN_INFO :{BLACK}Baut eine Kopie des Zuges mit allen Waggons. Strg+Klick erzeugt gemeinsamen Fahrplan
STR_CLONE_TRAIN_DEPOT_INFO :{BLACK}Baut eine Kopie des Zuges mit allen Waggons. Klicke diese Schaltfläche und dann auf einen Zug innerhalb oder außerhalb des Depots. Strg+Klick erzeugt gemeinsamen Fahrplan
STR_8820_RENAME :{BLACK}Umbenennen
-STR_8823_SKIP :{BLACK}Übergehen
+STR_8823_SKIP :{BLACK}Überspringen
STR_8824_DELETE :{BLACK}Löschen
STR_8825_NON_STOP :{BLACK}ohne Halt
STR_8826_GO_TO :{BLACK}Nach
STR_8827_FULL_LOAD :{BLACK}Beladen
STR_8828_UNLOAD :{BLACK}Entladen
-STR_REFIT :{BLACK}Ersetzen
-STR_REFIT_TIP :{BLACK}Wähle welche Frachtart du ersetzen möchtest. STRG+Klick um die Auswahl rückgängig zu machen
-STR_REFIT_ORDER :(Ersetzen zu {STRING})
+STR_REFIT :{BLACK}Umrüsten
+STR_REFIT_TIP :{BLACK}Frachtart auswählen, auf die umgerüstet werden soll. Strg+Klick, um einen Umrüstungsauftrag wieder zu entfernen
+STR_REFIT_ORDER :(umrüsten auf {STRING})
STR_TIMETABLE_VIEW :{BLACK}Fahrplan
-STR_TIMETABLE_VIEW_TOOLTIP :{BLACK}Gehe zur Fahrplanansicht
+STR_TIMETABLE_VIEW_TOOLTIP :{BLACK}Zur Fahrplanansicht wechseln
STR_8829_ORDERS :{WHITE}{VEHICLE} (Aufträge)
STR_882A_END_OF_ORDERS :{SETX 10}- - Ende der Aufträge - -
STR_FULLLOAD_OR_SERVICE :{SKIP}{SKIP}{STRING}
STR_SERVICE :{BLACK}Wartung
-STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE :{WHITE}Kann Schienenfahrzeug nicht bauen...
+STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE :{WHITE}Schienenfahrzeug kann nicht gebaut werden...
STR_882C_BUILT_VALUE :{LTBLUE}{ENGINE}{BLACK} Gebaut: {LTBLUE}{NUM}{BLACK} Wert: {LTBLUE}{CURRENCY}
STR_882D_VALUE :{LTBLUE}{ENGINE}{BLACK} Wert: {LTBLUE}{CURRENCY}
STR_882E :{WHITE}{VEHICLE}
STR_882F_LOADING_UNLOADING :{LTBLUE}Laden / Entladen
STR_TRAIN_MUST_BE_STOPPED :{WHITE}Zug muss im Depot angehalten sein
-STR_8830_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Kann den Zug nicht ins Depot schicken...
+STR_8830_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}Zug kann nicht ins Depot geschickt werden...
STR_8831_NO_MORE_SPACE_FOR_ORDERS :{WHITE}Kein Platz für weitere Aufträge
STR_8832_TOO_MANY_ORDERS :{WHITE}Zu viele Aufträge
-STR_8833_CAN_T_INSERT_NEW_ORDER :{WHITE}Kann keinen neuen Auftrag hinzufügen...
-STR_8834_CAN_T_DELETE_THIS_ORDER :{WHITE}Kann den Auftrag nicht löschen...
-STR_8835_CAN_T_MODIFY_THIS_ORDER :{WHITE}Kann den Auftrag nicht bearbeiten...
-STR_CAN_T_MOVE_THIS_ORDER :{WHITE}Kann diesen Auftrag nicht verschieben...
-STR_CAN_T_SKIP_ORDER :{WHITE}Kann diesen Auftrag nicht auslassen...
-STR_CAN_T_SKIP_TO_ORDER :{WHITE}Kann nicht zum gewählten Auftrag wechseln...
-STR_8837_CAN_T_MOVE_VEHICLE :{WHITE}Kann das Fahrzeug nicht bewegen...
+STR_8833_CAN_T_INSERT_NEW_ORDER :{WHITE}Neuer Auftrag kann nicht hinzugefügt werden...
+STR_8834_CAN_T_DELETE_THIS_ORDER :{WHITE}Auftrag kann nicht gelöscht werden...
+STR_8835_CAN_T_MODIFY_THIS_ORDER :{WHITE}Auftrag kann nicht bearbeitet werden...
+STR_CAN_T_MOVE_THIS_ORDER :{WHITE}Auftrag kann nicht verschoben werden...
+STR_CAN_T_SKIP_ORDER :{WHITE}Auftrag kann nicht ausgelassen werden...
+STR_CAN_T_SKIP_TO_ORDER :{WHITE}Wechseln zum ausgewählten Auftrag nicht möglich...
+STR_8837_CAN_T_MOVE_VEHICLE :{WHITE}Fahrzeug kann nicht bewegt werden...
STR_REAR_ENGINE_FOLLOW_FRONT_ERROR :{WHITE}Hintere Lok folgt immer der vorderen Lok
STR_8838_N_A :k.A.{SKIP}
-STR_8839_CAN_T_SELL_RAILROAD_VEHICLE :{WHITE}Kann Schienenfahrzeug nicht verkaufen...
-STR_883A_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Kann keinen weg zum Depot finden
-STR_883B_CAN_T_STOP_START_TRAIN :{WHITE}Kann den Zug nicht anhalten/starten ...
+STR_8839_CAN_T_SELL_RAILROAD_VEHICLE :{WHITE}Schienenfahrzeug kann nicht verkauft werden...
+STR_883A_UNABLE_TO_FIND_ROUTE_TO :{WHITE}Weg zum Depot kann nicht gefunden werden
+STR_883B_CAN_T_STOP_START_TRAIN :{WHITE}Zug kann nicht angehalten/losgeschickt werden ...
STR_883C_SERVICING_INTERVAL_DAYS :{BLACK}Wartungsintervall: {LTBLUE}{COMMA}Tage {BLACK} Letzte Wartung: {LTBLUE}{DATE_LONG}
STR_SERVICING_INTERVAL_PERCENT :{BLACK}Wartungsintervall: {LTBLUE}{COMMA}%{BLACK} Letzte Wartung: {LTBLUE}{DATE_LONG}
STR_883D_TRAINS_CLICK_ON_TRAIN_FOR :{BLACK}Züge - für Einzelheiten auf den jeweiligen Zug klicken
STR_883E_BUILD_NEW_TRAINS_REQUIRES :{BLACK}Neue Züge bauen (setzt Zugdepot voraus)
STR_883F_TRAINS_CLICK_ON_TRAIN_FOR :{BLACK}Züge - für Einzelheiten auf den Zug klicken; Waggon ziehen, um ihn an-/abzukoppeln
-STR_8840_BUILD_NEW_TRAIN_VEHICLE :{BLACK}Baue neues Schienenfahrzeug
+STR_8840_BUILD_NEW_TRAIN_VEHICLE :{BLACK}Neues Schienenfahrzeug bauen
STR_8841_DRAG_TRAIN_VEHICLE_TO_HERE :{BLACK}Schienenfahrzeug hierher ziehen, um es zu verkaufen
-STR_8842_CENTER_MAIN_VIEW_ON_TRAIN :{BLACK}Ansicht auf das Zugdepot zentrieren
+STR_8842_CENTER_MAIN_VIEW_ON_TRAIN :{BLACK}Hauptansicht zum Zugdepot scrollen
STR_8843_TRAIN_VEHICLE_SELECTION :{BLACK}Zugfahrzeugliste - Einzelheiten durch Anklicken des Fahrzeuges
-STR_8844_BUILD_THE_HIGHLIGHTED_TRAIN :{BLACK}Baue das angewählte Fahrzeug
+STR_8844_BUILD_THE_HIGHLIGHTED_TRAIN :{BLACK}Angewähltes Fahrzeug bauen
STR_8845_RENAME_TRAIN_VEHICLE_TYPE :{BLACK}Umbenennen der Waggontypen
STR_8846_CURRENT_TRAIN_ACTION_CLICK :{BLACK}Laufende Zugbewegung - Klicke hier, um den Zug anzuhalten / zu starten
STR_8847_SHOW_TRAIN_S_ORDERS :{BLACK}Anzeige der Zugaufträge
-STR_8848_CENTER_MAIN_VIEW_ON_TRAIN :{BLACK}Ansicht auf den Zug zentrieren
+STR_8848_CENTER_MAIN_VIEW_ON_TRAIN :{BLACK}Hauptansicht zum Zug scrollen
STR_8849_SEND_TRAIN_TO_DEPOT :{BLACK}Zug ins Depot schicken
STR_884A_FORCE_TRAIN_TO_PROCEED :{BLACK}Zug zur Weiterfahrt zwingen, ohne das Signal zu beachten
STR_884B_REVERSE_DIRECTION_OF_TRAIN :{BLACK}Zug umkehren
@@ -2734,30 +2733,30 @@
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Zeige Kapazität jedes Fahrzeugs
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Frachtübersicht des Zuges anzeigen, aufgeteilt nach Frachttyp
STR_8852_ORDERS_LIST_CLICK_ON_ORDER :{BLACK}Auftragsliste - zum Markieren hier anklicken
-STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Den aktuellen Auftrag auslassen und den Nächsten starten. STRG + Klick geht zum ausgewählten Auftrag
+STR_8853_SKIP_THE_CURRENT_ORDER :{BLACK}Übergehe den laufenden Auftrag, und starte den nächsten
STR_8854_DELETE_THE_HIGHLIGHTED :{BLACK}Lösche den markierten Auftrag
STR_8855_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Führe den markierten Auftrag ohne Halt durch
STR_8856_INSERT_A_NEW_ORDER_BEFORE :{BLACK}Füge einen neuen Auftrag vor dem markierten Auftrag ein, oder setze ihn ans Ende der Liste
STR_8857_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Der markierte Auftrag wird nur nach voller Beladung ausgeführt
STR_8858_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Beim markierten Auftrag wird die volle Entladung veranlasst
STR_TIMETABLE_TOOLTIP :{BLACK}Fahrplan - Einträge anklicken um sie zu markieren.
-STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Ändere den Zeitrahmen für den markierten Auftrag
-STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Lösche den Zeitrahmen für den markierten Auftrag
-STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Setze den Verspätungsmelder zurück, das Fahrzeug ist dann pünktlich.
+STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Zeitrahmen für den markierten Auftrag ändern
+STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Zeitrahmen für den markierten Auftrag löschen
+STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Verspätungsmelder zurücksetzen (das Fahrzeug gilt dann als pünktlich).
STR_SERVICE_HINT :{BLACK}Überspringe diesen Auftrag, sofern keine Wartung benötigt wird
-STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Kosten: {CURRENCY} Gewicht: {WEIGHT_S}{}Geschwindigk.: {VELOCITY} Leistung: {POWER}{}Betriebskosten: {CURRENCY}/Jahr{}Kapazität: {CARGO}
+STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Kosten: {CURRENCY} Gewicht: {WEIGHT_S}{}Geschwindigk.: {VELOCITY} Leistung: {POWER}{}Betriebskosten: {CURRENCY} pro Jahr{}Kapazität: {CARGO}
STR_885C_BROKEN_DOWN :{RED}Panne
-STR_885D_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY}/Jahr
+STR_885D_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY} pro Jahr
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht: {LTBLUE}{WEIGHT_S} {BLACK}Leistung: {LTBLUE}{POWER}{BLACK} Höchstgeschwindigk.: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_S} {BLACK}Leistung: {LTBLUE}{POWER}{BLACK} Höchstgeschw.: {LTBLUE}{VELOCITY} {BLACK}Max. Zugkraft: {LTBLUE}{FORCE}
-STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profit lfd. Jahr: {LTBLUE}{CURRENCY} (letztes Jahr: {CURRENCY})
+STR_885F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Gewinn lfd. Jahr: {LTBLUE}{CURRENCY} (vergangenes Jahr: {CURRENCY})
STR_8860_RELIABILITY_BREAKDOWNS :{BLACK}Zuverlässigkeit: {LTBLUE}{COMMA}% {BLACK}Ausfälle seit letzter Wartung: {LTBLUE}{COMMA}
STR_8861_STOPPED :{RED}Angehalten
STR_8862_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}Der Zug kann das Signal nicht ohne Gefahr passieren...
STR_8863_CRASHED :{RED}Zusammenstoß!
STR_8865_NAME_TRAIN :{WHITE}Name des Zuges
-STR_8866_CAN_T_NAME_TRAIN :{WHITE}Kann den Zug nicht benennen...
+STR_8866_CAN_T_NAME_TRAIN :{WHITE}Zug kann nicht benannt werden...
STR_8867_NAME_TRAIN :{BLACK}Name des Zuges
STR_8868_TRAIN_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT}Zugunglück!{}{COMMA} sterben in einem Feuerball nach Zusammenstoß
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Die Zugbewegung kann nicht umgekehrt werden...
@@ -2766,7 +2765,7 @@
STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Beim markierten Eintrag wird die Ladung in den Bahnhof entladen (für späteren Weitertransport)
STR_886F_TRANSFER :{BLACK}Umladen
STR_CLEAR_TIME :{BLACK}Zeit löschen
-STR_RESET_LATENESS :{BLACK}Setze Verspätungszähler zurück
+STR_RESET_LATENESS :{BLACK}Verspätungszähler zurücksetzen
STR_TRAIN_STOPPING :{RED}Halte an
STR_TRAIN_STOPPING_VEL :{RED}Halte an, {VELOCITY}
@@ -2781,14 +2780,14 @@
STR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Kein Fahrplan für das Fahrzeug...
STR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Fahrzeuge halten nur an Stationen.
STR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Das Fahrzeug hält nicht an dieser Station.
-STR_TIMETABLE_CHANGE_TIME :{BLACK}Ändere Zeit
+STR_TIMETABLE_CHANGE_TIME :{BLACK}Zeit ändern
STR_TIMETABLE_STATUS_ON_TIME :Das Fahrzeug ist derzeit pünktlich.
STR_TIMETABLE_STATUS_LATE :Dieses Fahrzeug hat {STRING} Verspätung
STR_TIMETABLE_STATUS_EARLY :Dieses Fahrzeug ist {STRING} zu früh
STR_TIMETABLE_TOTAL_TIME :Dieser Fahrplan benötigt {STRING}
STR_TIMETABLE_TOTAL_TIME_INCOMPLETE :Dieser Fahrplan benötigt mindestens {STRING} (nicht alle geplant)
-STR_TIMETABLE_AUTOFILL :{BLACK}Autom. Füllung
-STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Ergänze den Fahrplan automatisch mit den Werten der ersten Fahrt
+STR_TIMETABLE_AUTOFILL :{BLACK}Autom. ausfüllen
+STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Fahrplan automatisch mit den Ergebnissen der ersten Fahrt ergänzen
##id 0x9000
STR_9000_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Fahrzeug ist im Weg
@@ -2797,126 +2796,126 @@
STR_9003_ROAD_VEHICLE_DEPOT :{WHITE}{TOWN} Fahrzeugdepot
STR_9004_NEW_VEHICLES :{BLACK}Neue Fahrzeuge
STR_9006_NEW_ROAD_VEHICLES :{WHITE}Neue Fahrzeuge
-STR_9007_BUILD_VEHICLE :{BLACK}Baue Fahrzeug
-STR_9009_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Kann das Fahrzeug nicht bauen...
+STR_9007_BUILD_VEHICLE :{BLACK}Fahrzeug bauen
+STR_9009_CAN_T_BUILD_ROAD_VEHICLE :{WHITE}Fahrzeug kann nicht gebaut werden...
STR_900C_DETAILS :{WHITE}{VEHICLE} (Einzelheiten)
-STR_900D_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY}/Jahr
+STR_900D_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY} pro Jahr
STR_900E_MAX_SPEED :{BLACK}Höchstgeschwindigk.: {LTBLUE}{VELOCITY}
-STR_900F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profit lfd. Jahr: {LTBLUE}{CURRENCY} (letztes Jahr: {CURRENCY})
+STR_900F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Gewinn lfd. Jahr: {LTBLUE}{CURRENCY} (vergangenes Jahr: {CURRENCY})
STR_9010_RELIABILITY_BREAKDOWNS :{BLACK}Zuverlässigkeit: {LTBLUE}{COMMA}% {BLACK}Pannen seit letzter Wartung: {LTBLUE}{COMMA}
STR_9011_BUILT_VALUE :{LTBLUE}{ENGINE}{BLACK} Gebaut: {LTBLUE}{NUM}{BLACK} Wert: {LTBLUE}{CURRENCY}
STR_9012_CAPACITY :{BLACK}Kapazität: {LTBLUE}{CARGO}
STR_9013_MUST_BE_STOPPED_INSIDE :{WHITE}...muss in einem Fahrzeugdepot angehalten werden
-STR_9014_CAN_T_SELL_ROAD_VEHICLE :{WHITE}Kann das Fahrzeug nicht verkaufen...
-STR_9015_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Kann das Fahrzeug nicht anhalten/starten...
+STR_9014_CAN_T_SELL_ROAD_VEHICLE :{WHITE}Fahrzeug kann nicht verkauft werden...
+STR_9015_CAN_T_STOP_START_ROAD_VEHICLE :{WHITE}Fahrzeug kann nicht angehalten/losgeschickt werden...
STR_9016_ROAD_VEHICLE_IS_WAITING :{WHITE}Fahrzeug {COMMA} wartet im Depot
-STR_HEADING_FOR_ROAD_DEPOT :{ORANGE}Unterwegs zu {TOWN} Fahrzeugdepot
-STR_HEADING_FOR_ROAD_DEPOT_VEL :{ORANGE}Unterwegs zu {TOWN} Fahrzeugdepot, {VELOCITY}
-STR_HEADING_FOR_ROAD_DEPOT_SERVICE :{LTBLUE}Wartung in {TOWN} Fahrzeugdepot
-STR_HEADING_FOR_ROAD_DEPOT_SERVICE_VEL :{LTBLUE}Wartung in {TOWN} Fahrzeugdepot, {VELOCITY}
-STR_9018_CAN_T_SEND_VEHICLE_TO_DEPOT :{WHITE}Kann das Fahrzeug nicht zum Depot schicken...
-STR_9019_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Kann kein Fahrzeugdepot finden
+STR_HEADING_FOR_ROAD_DEPOT :{ORANGE}Unterwegs zum Fahrzeugdepot {TOWN}
+STR_HEADING_FOR_ROAD_DEPOT_VEL :{ORANGE}Unterwegs zum Fahrzeugdepot {TOWN}, {VELOCITY}
+STR_HEADING_FOR_ROAD_DEPOT_SERVICE :{LTBLUE}Wartung im Fahrzeugdepot {TOWN}
+STR_HEADING_FOR_ROAD_DEPOT_SERVICE_VEL :{LTBLUE}Wartung im Fahrzeugdepot {TOWN}, {VELOCITY}
+STR_9018_CAN_T_SEND_VEHICLE_TO_DEPOT :{WHITE}Fahrzeug kann nicht ins Depot geschickt werden...
+STR_9019_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Fahrzeugdepot unauffindbar
STR_901A_ROAD_VEHICLES_CLICK_ON :{BLACK}Straßenfahrzeuge - für Einzelheiten auf das Fahrzeug klicken
-STR_901B_BUILD_NEW_ROAD_VEHICLES :{BLACK}Baue neues Fahrzeug (setzt Fahrzeugdepot voraus)
-STR_901C_CURRENT_VEHICLE_ACTION :{BLACK}Laufende Fahrzeugbewegung - Klicke hier, um das Fahrzeug anzuhalten / zu starten
-STR_901D_SHOW_VEHICLE_S_ORDERS :{BLACK}Zeige Aufträge für das Fahrzeug
-STR_901E_CENTER_MAIN_VIEW_ON_VEHICLE :{BLACK}Ansicht auf das Fahrzeug zentrieren
-STR_901F_SEND_VEHICLE_TO_DEPOT :{BLACK}Schicke das Fahrzeug ins Depot
+STR_901B_BUILD_NEW_ROAD_VEHICLES :{BLACK}Neues Fahrzeug bauen (erfordert ein Fahrzeugdepot)
+STR_901C_CURRENT_VEHICLE_ACTION :{BLACK}Laufende Fahrzeugbewegung - Klick zum Anhalten bzw. Losschicken
+STR_901D_SHOW_VEHICLE_S_ORDERS :{BLACK}Aufträge für das Fahrzeug anzeigen
+STR_901E_CENTER_MAIN_VIEW_ON_VEHICLE :{BLACK}Hauptansicht auf das Fahrzeug richten
+STR_901F_SEND_VEHICLE_TO_DEPOT :{BLACK}Das Fahrzeug ins Depot schicken
STR_9020_FORCE_VEHICLE_TO_TURN_AROUND :{BLACK}Das Fahrzeug zur Umkehr zwingen
-STR_9021_SHOW_ROAD_VEHICLE_DETAILS :{BLACK}Zeige Einzelheiten des Fahrzeuges
+STR_9021_SHOW_ROAD_VEHICLE_DETAILS :{BLACK}Einzelheiten des Fahrzeuges anzeigen
STR_9022_VEHICLES_CLICK_ON_VEHICLE :{BLACK}Straßenfahrzeuge - für Einzelheiten auf das Fahrzeug klicken
-STR_9023_BUILD_NEW_ROAD_VEHICLE :{BLACK}Baue neues Fahrzeug
+STR_9023_BUILD_NEW_ROAD_VEHICLE :{BLACK}Neues Fahrzeug bauen
STR_9024_DRAG_ROAD_VEHICLE_TO_HERE :{BLACK}Ziehe Fahrzeug hierher, um es zu verkaufen
-STR_9025_CENTER_MAIN_VIEW_ON_ROAD :{BLACK}Ansicht auf das Fahrzeugdepot zentrieren
+STR_9025_CENTER_MAIN_VIEW_ON_ROAD :{BLACK}Hauptansicht zum Fahrzeugdepot scrollen
STR_9026_ROAD_VEHICLE_SELECTION :{BLACK}Fahrzeugauswahlliste - Klicke auf ein Fahrzeug für Einzelheiten
-STR_9027_BUILD_THE_HIGHLIGHTED_ROAD :{BLACK}Baue das ausgewählte Fahrzeug
-STR_902A_COST_SPEED_RUNNING_COST :{BLACK}Kosten: {CURRENCY}{}Geschwindigk.: {VELOCITY}{}Betriebskosten: {CURRENCY}/Jahr{}Ladevermögen: {CARGO}
+STR_9027_BUILD_THE_HIGHLIGHTED_ROAD :{BLACK}Ausgewähltes Fahrzeug bauen
+STR_902A_COST_SPEED_RUNNING_COST :{BLACK}Kosten: {CURRENCY}{}Geschwindigk.: {VELOCITY}{}Betriebskosten: {CURRENCY} pro Jahr{}Ladevermögen: {CARGO}
STR_ARTICULATED_RV_CAPACITY :{BLACK}Kapazität: {LTBLUE}
STR_BARE_CARGO :{CARGO}
STR_902C_NAME_ROAD_VEHICLE :{WHITE}Name des Fahrzeuges
-STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Kann das Fahrzeug nicht benennen...
+STR_902D_CAN_T_NAME_ROAD_VEHICLE :{WHITE}Fahrzeug kann nicht benannt werden...
STR_902E_NAME_ROAD_VEHICLE :{BLACK}Name des Fahrzeuges
-STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Stadt feiert . . .{}Der erste Bus erreicht {STATION}!
-STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Stadt feiert . . .{}Der erste Lkw erreicht {STATION}!
+STR_902F_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Einwohner feiern . . .{}Der erste Bus erreicht {STATION}!
+STR_9030_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Einwohner feiern . . .{}Der erste Lkw erreicht {STATION}!
STR_902F_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Die Einwohner feiern . . .{}Die erste Straßenbahn erreicht {STATION}!
STR_9030_CITIZENS_CELEBRATE_FIRST_TRAM :{BLACK}{BIGFONT}Die Einwohner feiern . . .{}Die erste Frachtstraßenbahn erreicht {STATION}!
-STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Fahrzeug verunglückt!{}Fahrer stirbt in einem Feuerball nach Zusammenstoß mit einem Zug
-STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Fahrzeug verunglückt!{}{COMMA} sterben nach Zusammenstoß mit einem Zug im Feuerball
-STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Das Fahrzeug kann nicht gewendet werden...
-STR_ONLY_TURN_SINGLE_UNIT :{WHITE}Fahrzeuge die aus mehreren Einheiten bestehen, können nicht gedreht werden.
+STR_9031_ROAD_VEHICLE_CRASH_DRIVER :{BLACK}{BIGFONT}Fahrzeug verunglückt!{}Fahrer stirbt in Inferno nach Zusammenstoß mit Zug
+STR_9032_ROAD_VEHICLE_CRASH_DIE :{BLACK}{BIGFONT}Fahrzeug verunglückt!{}{COMMA} sterben in Inferno nach Zusammenstoß mit Zug
+STR_9033_CAN_T_MAKE_VEHICLE_TURN :{WHITE}Das Fahrzeug kann nicht wenden...
+STR_ONLY_TURN_SINGLE_UNIT :{WHITE}Fahrzeuge, die aus mehreren Einheiten bestehen, können nicht wenden.
STR_9034_RENAME :{BLACK}Umbenennen
STR_9035_RENAME_ROAD_VEHICLE_TYPE :{BLACK}Fahrzeug umbenennen
STR_9036_RENAME_ROAD_VEHICLE_TYPE :{WHITE}Fahrzeug umbenennen
-STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Kann das Fahrzeug nicht umbenennen...
-STR_9038_GO_TO_ROADVEH_DEPOT :Fahre zu {TOWN} Fahrzeugdepot
-STR_SERVICE_AT_ROADVEH_DEPOT :Wartung bei {TOWN} Fahrzeugdepot
+STR_9037_CAN_T_RENAME_ROAD_VEHICLE :{WHITE}Fahrzeug kann nicht umbenannt werden...
+STR_9038_GO_TO_ROADVEH_DEPOT :Fahre zum Fahrzeugdepot {TOWN}
+STR_SERVICE_AT_ROADVEH_DEPOT :Wartung im Fahrzeugdepot {TOWN}
-STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Straßenfahrzeug für den Transport anderer Güter ausrüsten
-STR_REFIT_ROAD_VEHICLE :{BLACK}Erneuere Straßenfahrzeug
-STR_REFIT_ROAD_VEHICLE_TO_CARRY_HIGHLIGHTED :{BLACK}Straßenfahrzeug für den Transport des markierten Gutes ausrüsten
-STR_REFIT_ROAD_VEHICLE_CAN_T :{WHITE}Kann Straßenfahrzeug nicht erneuern...
-STR_ROAD_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Wähle die Frachtart aus, die vom Straßenfahrzeug transportiert werden soll
+STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Straßenfahrzeug für den Transport anderer Güter umrüsten
+STR_REFIT_ROAD_VEHICLE :{BLACK}Straßenfahrzeug erneuern
+STR_REFIT_ROAD_VEHICLE_TO_CARRY_HIGHLIGHTED :{BLACK}Straßenfahrzeug für den Transport des markierten Gutes umrüsten
+STR_REFIT_ROAD_VEHICLE_CAN_T :{WHITE}Straßenfahrzeug kann nicht umgerüstet werden...
+STR_ROAD_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Wählen Sie aus, welche Fracht das Straßenfahrzeug transportieren soll
##id 0x9800
STR_9800_DOCK_CONSTRUCTION :Hafenanlage bauen
STR_9801_DOCK_CONSTRUCTION :{WHITE}Hafenanlage bauen
-STR_9802_CAN_T_BUILD_DOCK_HERE :{WHITE}Kann den Hafen hier nicht bauen...
+STR_9802_CAN_T_BUILD_DOCK_HERE :{WHITE}Hafen kann hier nicht gebaut werden...
STR_9803_SHIP_DEPOT :{WHITE}{TOWN} Werft
STR_9804_NEW_SHIPS :{BLACK}Neue Schiffe
STR_9805_SHIPS :{WHITE}{COMPANY} - {COMMA} Schiff{P "" e}
STR_9808_NEW_SHIPS :{WHITE}Neue Schiffe
-STR_9809_BUILD_SHIP :{BLACK}Baue Schiff
+STR_9809_BUILD_SHIP :{BLACK}Schiff bauen
STR_CLONE_SHIP :{BLACK}Schiff duplizieren
STR_CLONE_SHIP_INFO :{BLACK}Baut eine Kopie des Schiffes. Strg+Klick erzeugt gemeinsamen Fahrplan
STR_CLONE_SHIP_DEPOT_INFO :{BLACK}Baut eine Kopie des Schiffes. Klicke diese Schaltfläche und dann auf eine Schiff innerhalb oder außerhalb des Depots. Strg+Klick erzeugt gemeinsamen Fahrplan
STR_980B_SHIP_MUST_BE_STOPPED_IN :{WHITE}Schiff muss in der Werft angehalten werden
-STR_980C_CAN_T_SELL_SHIP :{WHITE}Kann das Schiff nicht verkaufen...
-STR_980D_CAN_T_BUILD_SHIP :{WHITE}Kann das Schiff nicht bauen...
+STR_980C_CAN_T_SELL_SHIP :{WHITE}Schiff kann nicht verkauft werden...
+STR_980D_CAN_T_BUILD_SHIP :{WHITE}Schiff kann nicht gebaut werden...
STR_980E_SHIP_IN_THE_WAY :{WHITE}Schiff ist im Weg
STR_980F :{WHITE}{VEHICLE}
STR_9811_DETAILS :{WHITE}{VEHICLE} (Einzelheiten)
-STR_9812_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY}/Jahr
+STR_9812_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY} pro Jahr
STR_9813_MAX_SPEED :{BLACK}Höchstgeschwindigk.: {LTBLUE}{VELOCITY}
-STR_9814_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profit lfd. Jahr: {LTBLUE}{CURRENCY} (letztes Jahr: {CURRENCY})
+STR_9814_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Gewinn lfd. Jahr: {LTBLUE}{CURRENCY} (vergangenes Jahr: {CURRENCY})
STR_9815_RELIABILITY_BREAKDOWNS :{BLACK}Zuverlässigkeit: {LTBLUE}{COMMA}% {BLACK}Pannen seit letzter Wartung: {LTBLUE}{COMMA}
STR_9816_BUILT_VALUE :{LTBLUE}{ENGINE}{BLACK} Gebaut: {LTBLUE}{NUM}{BLACK} Wert: {LTBLUE}{CURRENCY}
STR_9817_CAPACITY :{BLACK}Kapazität: {LTBLUE}{CARGO}
-STR_9818_CAN_T_STOP_START_SHIP :{WHITE}Kann das Schiff nicht anhalten/starten...
-STR_9819_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Kann das Schiff nicht in die Werft schicken...
-STR_981A_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Kann keine Werft finden
-STR_HEADING_FOR_SHIP_DEPOT :{ORANGE}Unterwegs zu {TOWN} Werft
-STR_HEADING_FOR_SHIP_DEPOT_VEL :{ORANGE}Unterwegs zu {TOWN} Werft, {VELOCITY}
-STR_HEADING_FOR_SHIP_DEPOT_SERVICE :{LTBLUE}Wartung in {TOWN} Werft
-STR_HEADING_FOR_SHIP_DEPOT_SERVICE_VEL :{LTBLUE}Wartung in {TOWN} Werft, {VELOCITY}
+STR_9818_CAN_T_STOP_START_SHIP :{WHITE}Schiff kann nicht angehalten/losgeschickt werden...
+STR_9819_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}Schiff kann nicht in die Werft geschickt werden...
+STR_981A_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}Werft unauffindbar
+STR_HEADING_FOR_SHIP_DEPOT :{ORANGE}Unterwegs zur Werft {TOWN}
+STR_HEADING_FOR_SHIP_DEPOT_VEL :{ORANGE}Unterwegs zur Werft {TOWN}, {VELOCITY}
+STR_HEADING_FOR_SHIP_DEPOT_SERVICE :{LTBLUE}Wartung in der Werft {TOWN}
+STR_HEADING_FOR_SHIP_DEPOT_SERVICE_VEL :{LTBLUE}Wartung in der Werft {TOWN}, {VELOCITY}
STR_981C_SHIP_IS_WAITING_IN_DEPOT :{WHITE}Schiff {COMMA} wartet in der Werft
STR_981D_BUILD_SHIP_DOCK :{BLACK}Hafen bauen
STR_981E_BUILD_SHIP_DEPOT_FOR_BUILDING :{BLACK}Werft bauen (für den Bau und die Wartung von Schiffen)
STR_981F_SHIPS_CLICK_ON_SHIP_FOR :{BLACK}Schiffe - für Einzelheiten auf das Schiff klicken
STR_9820_BUILD_NEW_SHIP :{BLACK}Neues Schiff bauen
STR_9821_DRAG_SHIP_TO_HERE_TO_SELL :{BLACK}Ziehe Schiff hierher, um es zu verkaufen
-STR_9822_CENTER_MAIN_VIEW_ON_SHIP :{BLACK}Ansicht auf die Werft zentrieren
+STR_9822_CENTER_MAIN_VIEW_ON_SHIP :{BLACK}Hauptansicht zur Werft scrollen
STR_9823_SHIPS_CLICK_ON_SHIP_FOR :{BLACK}Schiffe - für Einzelheiten auf das Schiff klicken
-STR_9824_BUILD_NEW_SHIPS_REQUIRES :{BLACK}Baue neues Schiff (setzt Werft voraus)
+STR_9824_BUILD_NEW_SHIPS_REQUIRES :{BLACK}Neues Schiff bauen (erfordert eine Werft)
STR_9825_SHIP_SELECTION_LIST_CLICK :{BLACK}Schiffauswahliste - für Einzelheiten auf das Schiff klicken
-STR_9826_BUILD_THE_HIGHLIGHTED_SHIP :{BLACK}Baue das ausgewählte Schiff
+STR_9826_BUILD_THE_HIGHLIGHTED_SHIP :{BLACK}Ausgewähltes Schiff bauen
STR_9827_CURRENT_SHIP_ACTION_CLICK :{BLACK}Laufende Schiffsbewegung - Klicke hier, um das Schiff anzuhalten / zu starten
STR_9828_SHOW_SHIP_S_ORDERS :{BLACK}Aufträge des Schiffes
-STR_9829_CENTER_MAIN_VIEW_ON_SHIP :{BLACK}Anzeige auf das Schiff zentrieren
+STR_9829_CENTER_MAIN_VIEW_ON_SHIP :{BLACK}Hauptansicht zum Schiff scrollen
STR_982A_SEND_SHIP_TO_DEPOT :{BLACK}Schicke das Schiff zur Werft
STR_982B_SHOW_SHIP_DETAILS :{BLACK}Zeige Einzelheiten des Schiffes
-STR_982E_COST_MAX_SPEED_CAPACITY :{BLACK}Kosten: {CURRENCY} Höchstgeschwindigk.: {VELOCITY}{}Kapazität: {CARGO}{}Betriebskosten: {CURRENCY}/Jahr
+STR_982E_COST_MAX_SPEED_CAPACITY :{BLACK}Kosten: {CURRENCY} Höchstgeschwindigk.: {VELOCITY}{}Kapazität: {CARGO}{}Betriebskosten: {CURRENCY} pro Jahr
STR_982F_NAME_SHIP :{BLACK}Schiffsname
STR_9831_NAME_SHIP :{WHITE}Schiffsname
-STR_9832_CAN_T_NAME_SHIP :{WHITE}Kann Schiffsnamen nicht vergeben...
-STR_9833_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Stadt feiert . . .{}Das erste Schiff erreicht {STATION}!
+STR_9832_CAN_T_NAME_SHIP :{WHITE}Schiff kann nicht benannt werden...
+STR_9833_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Einwohner feiern . . .{}Das erste Schiff erreicht {STATION}!
STR_9834_POSITION_BUOY_WHICH_CAN :{BLACK}Positionsboje, wird als Wegpunkt benötigt
-STR_9835_CAN_T_POSITION_BUOY_HERE :{WHITE}Kann die Boje hier nicht plazieren...
+STR_9835_CAN_T_POSITION_BUOY_HERE :{WHITE}Boje kann hier nicht platziert werden...
STR_9836_RENAME :{BLACK}Umbenennen
STR_9837_RENAME_SHIP_TYPE :{BLACK}Schiff umbenennen
STR_9838_RENAME_SHIP_TYPE :{WHITE}Schiff umbenennen
-STR_9839_CAN_T_RENAME_SHIP_TYPE :{WHITE}Kann das Schiff nicht umbenennen...
+STR_9839_CAN_T_RENAME_SHIP_TYPE :{WHITE}Schiffstyp kann nicht umbenannt werden...
STR_983A_REFIT_CARGO_SHIP_TO_CARRY :{BLACK}Umrüstung des Schiffes zur Beförderung anderer Frachtarten
STR_983B_REFIT :{WHITE}{VEHICLE} (Umrüsten)
STR_983C_REFIT_SHIP :{BLACK}Schiff umrüsten
@@ -2924,7 +2923,7 @@
STR_983E_REFIT_SHIP_TO_CARRY_HIGHLIGHTED :{BLACK}Umrüstung des Schiffes auf die ausgewählte Frachtart
STR_983F_SELECT_CARGO_TYPE_TO_CARRY :{GOLD}Wähle Frachtart für die Beförderung:
STR_9840_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Neue Kapazität: {GOLD}{CARGO}{}{BLACK}Kosten der Umrüstung: {GOLD}{CURRENCY}
-STR_9841_CAN_T_REFIT_SHIP :{WHITE}Kann das Schiff nicht umrüsten...
+STR_9841_CAN_T_REFIT_SHIP :{WHITE}Schiff kann nicht umgerüstet werden...
STR_9842_REFITTABLE :(umrüstbar)
STR_GO_TO_SHIP_DEPOT :Fahre zu {TOWN} Schiffswerft
SERVICE_AT_SHIP_DEPOT :Wartung in der {TOWN} Schiffswerft
@@ -2939,57 +2938,57 @@
STR_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Baut eine Kopie des Flugzeuges. Klicke auf diese Schaltfläche und dann auf ein Flugzeug innerhalb oder außerhalb des Depots. Strg+Klick erzeugt gemeinsamen Fahrplan
STR_A005_NEW_AIRCRAFT :{WHITE}Neue Flugzeuge
STR_A006_BUILD_AIRCRAFT :{BLACK}Flugzeug bauen
-STR_A008_CAN_T_BUILD_AIRCRAFT :{WHITE}Kann das Flugzeug nicht bauen...
+STR_A008_CAN_T_BUILD_AIRCRAFT :{WHITE}Flugzeug kann nicht gebaut werden...
STR_A009_AIRCRAFT :{WHITE}{COMPANY} - {COMMA} Flugzeug{P "" e}
STR_A00A :{WHITE}{VEHICLE}
STR_A00B_ORDERS :{WHITE}{VEHICLE} (Aufträge)
STR_A00C_DETAILS :{WHITE}{VEHICLE} (Einzelheiten)
-STR_A00D_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY}/Jahr
+STR_A00D_AGE_RUNNING_COST_YR :{BLACK}Alter: {LTBLUE}{STRING}{BLACK} Betriebskosten: {LTBLUE}{CURRENCY} pro Jahr
STR_A00E_MAX_SPEED :{BLACK}Höchstgeschwindigk.: {LTBLUE}{VELOCITY}
-STR_A00F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profit lfd. Jahr: {LTBLUE}{CURRENCY} (letztes Jahr: {CURRENCY})
+STR_A00F_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Gewinn lfd. Jahr: {LTBLUE}{CURRENCY} (vergangenes Jahr: {CURRENCY})
STR_A010_RELIABILITY_BREAKDOWNS :{BLACK}Zuverlässigkeit: {LTBLUE}{COMMA}% {BLACK}Pannen seit letzter Wartung: {LTBLUE}{COMMA}
STR_A011_BUILT_VALUE :{LTBLUE}{ENGINE}{BLACK} Gebaut: {LTBLUE}{NUM}{BLACK} Wert: {LTBLUE}{CURRENCY}
-STR_A012_CAN_T_SEND_AIRCRAFT_TO :{WHITE}Kann das Flugzeug nicht in den Hangar schicken...
+STR_A012_CAN_T_SEND_AIRCRAFT_TO :{WHITE}Flugzeug kann nicht in den Hangar geschickt werden...
STR_HEADING_FOR_HANGAR :{ORANGE}Unterwegs zu {STATION} Hangar
STR_HEADING_FOR_HANGAR_VEL :{ORANGE}Unterwegs zu {STATION} Hangar, {VELOCITY}
STR_HEADING_FOR_HANGAR_SERVICE :{LTBLUE}Wartung in {STATION} Hangar
STR_HEADING_FOR_HANGAR_SERVICE_VEL :{LTBLUE}Wartung in {STATION} Hangar, {VELOCITY}
STR_A014_AIRCRAFT_IS_WAITING_IN :{WHITE}Flugzeug {COMMA} wartet im Hangar
STR_A015_AIRCRAFT_IN_THE_WAY :{WHITE}Flugzeug ist auf dem Weg
-STR_A016_CAN_T_STOP_START_AIRCRAFT :{WHITE}Kann das Flugzeug nicht anhalten/starten...
+STR_A016_CAN_T_STOP_START_AIRCRAFT :{WHITE}Flugzeug kann nicht angehalten/losgeschickt werden...
STR_A017_AIRCRAFT_IS_IN_FLIGHT :{WHITE}Das Flugzeug ist in der Luft
STR_A019_CAPACITY :{BLACK}Kapazität: {LTBLUE}{CARGO}, {CARGO}
STR_A01A_CAPACITY :{BLACK}Kapazität: {LTBLUE}{CARGO}
STR_A01B_AIRCRAFT_MUST_BE_STOPPED :{WHITE}Flugzeug muss im Hangar angehalten werden
-STR_A01C_CAN_T_SELL_AIRCRAFT :{WHITE}Kann das Flugzeug nicht verkaufen...
+STR_A01C_CAN_T_SELL_AIRCRAFT :{WHITE}Flugzeug kann nicht verkauft werden...
STR_A01D_AIRPORT_CONSTRUCTION :Flughafenbau
-STR_A01E_BUILD_AIRPORT :{BLACK}Baue Flughafen
+STR_A01E_BUILD_AIRPORT :{BLACK}Flughafen bauen
STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT :{BLACK}Flugzeuge - für Einzelheiten auf das Flugzeug klicken
-STR_A020_BUILD_NEW_AIRCRAFT_REQUIRES :{BLACK}Baue neues Flugzeug (setzt Flughafen mit Hangar voraus)
+STR_A020_BUILD_NEW_AIRCRAFT_REQUIRES :{BLACK}Neues Flugzeug bauen (erfordert einen Flughafen mit Hangar)
STR_A021_AIRCRAFT_CLICK_ON_AIRCRAFT :{BLACK}Flugzeuge - für Einzelheiten auf das Flugzeug klicken
-STR_A022_BUILD_NEW_AIRCRAFT :{BLACK}Baue neues Flugzeug
+STR_A022_BUILD_NEW_AIRCRAFT :{BLACK}Neues Flugzeug bauen
STR_A023_DRAG_AIRCRAFT_TO_HERE_TO :{BLACK}Zum Verkauf des Flugzeuges hierher ziehen
-STR_A024_CENTER_MAIN_VIEW_ON_HANGAR :{BLACK}Ansicht auf den Hangar zentrieren
-STR_A025_AIRCRAFT_SELECTION_LIST :{BLACK}Flugzeugauswahlliste - Klicke auf das Flugzeug für weitere Einzelheiten
-STR_A026_BUILD_THE_HIGHLIGHTED_AIRCRAFT :{BLACK}Baue das augewählte Flugzeug
-STR_A027_CURRENT_AIRCRAFT_ACTION :{BLACK}Laufende Flugzeugbewegung - Klicke hier, um das Flugzeug anzuhalten / zu starten
+STR_A024_CENTER_MAIN_VIEW_ON_HANGAR :{BLACK}Hauptansicht zum Hangar scrollen
+STR_A025_AIRCRAFT_SELECTION_LIST :{BLACK}Flugzeugauswahlliste - Klick auf das Flugzeug zeigt weitere Einzelheiten an
+STR_A026_BUILD_THE_HIGHLIGHTED_AIRCRAFT :{BLACK}Augewähltes Flugzeug bauen
+STR_A027_CURRENT_AIRCRAFT_ACTION :{BLACK}Laufende Flugzeugbewegung - Klick zum Anhalten bzw. losschicken
STR_A028_SHOW_AIRCRAFT_S_ORDERS :{BLACK}Zeige Aufträge für das Flugzeug
-STR_A029_CENTER_MAIN_VIEW_ON_AIRCRAFT :{BLACK}Ansicht auf das Flugzeug zentrieren
+STR_A029_CENTER_MAIN_VIEW_ON_AIRCRAFT :{BLACK}Hauptansicht zum Flugzeug scrollen
STR_A02A_SEND_AIRCRAFT_TO_HANGAR :{BLACK}Schicke das Flugzeug in den Hangar
STR_A02B_SHOW_AIRCRAFT_DETAILS :{BLACK}Zeige Einzelheiten des Flugzeuges
-STR_A02E_COST_MAX_SPEED_CAPACITY :{BLACK}Kosten: {CURRENCY} Höchstgeschwindigk.: {VELOCITY}{}Kapazität: {COMMA} Passagiere, {COMMA} Postsäcke{}Betriebskosten: {CURRENCY}/Jahr
+STR_A02E_COST_MAX_SPEED_CAPACITY :{BLACK}Kosten: {CURRENCY} Höchstgeschw.: {VELOCITY}{}Kapazität: {COMMA} Passagiere, {COMMA} Postsäcke{}Betriebskosten: {CURRENCY} pro Jahr
STR_A030_NAME_AIRCRAFT :{WHITE}Flugzeugname
-STR_A031_CAN_T_NAME_AIRCRAFT :{WHITE}Kann Flugzeugname nicht vergeben...
+STR_A031_CAN_T_NAME_AIRCRAFT :{WHITE}Flugzeug kann nicht benannt werden...
STR_A032_NAME_AIRCRAFT :{BLACK}Flugzeugname
-STR_A033_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Stadt feiert . . .{}Erstes Flugzeug landet auf {STATION}!
+STR_A033_CITIZENS_CELEBRATE_FIRST :{BLACK}{BIGFONT}Die Einwohner feiern . . .{}Das erste Flugzeug startet von {STATION}!
STR_A034_PLANE_CRASH_DIE_IN_FIREBALL :{BLACK}{BIGFONT}Flugzeugabsturz!{}{COMMA} sterben in einem Feuerball auf {STATION}
STR_PLANE_CRASH_OUT_OF_FUEL :{BLACK}{BIGFONT}Flugzeugabsturz!{}Dem Flugzeug ging der Treibstoff aus, {COMMA} sterben in einem Feuerball!
STR_A036 :{TINYFONT}{BLACK}{STATION}
STR_A037_RENAME :{BLACK}Umbenennen
STR_A038_RENAME_AIRCRAFT_TYPE :{BLACK}Flugzeug umbenennen
STR_A039_RENAME_AIRCRAFT_TYPE :{WHITE}Flugzeug umbenennen
-STR_A03A_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Kann das Flugzeug nicht umbenennen...
+STR_A03A_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Flugzeug kann nicht umbenannt werden...
STR_A03B_REFIT_AIRCRAFT_TO_CARRY :{BLACK}Umrüstung des Flugzeuges zum Transport anderer Frachten
STR_A03C_REFIT :{WHITE}{VEHICLE} (Umrüstung)
STR_A03D_REFIT_AIRCRAFT :{BLACK}Flugzeug umrüsten
@@ -2997,9 +2996,9 @@
STR_A03F_REFIT_AIRCRAFT_TO_CARRY :{BLACK}Umrüstung des Flugzeuges auf die ausgewählte Frachtart
STR_A040_SELECT_CARGO_TYPE_TO_CARRY :{GOLD}Wähle Frachtart für Umrüstung aus:
STR_A041_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Neue Kapazität: {GOLD}{STRING}{}{BLACK}Kosten der Umrüstung: {GOLD}{CURRENCY}
-STR_A042_CAN_T_REFIT_AIRCRAFT :{WHITE}Kann das Flugzeug nicht umrüsten...
-STR_GO_TO_AIRPORT_HANGAR :Fliege zu {STATION} Hangar
-SERVICE_AT_AIRPORT_HANGAR :Wartung im {STATION} Hangar
+STR_A042_CAN_T_REFIT_AIRCRAFT :{WHITE}Flugzeug kann nicht umgerüstet werden...
+STR_GO_TO_AIRPORT_HANGAR :Flug zum Hangar von {STATION}
+SERVICE_AT_AIRPORT_HANGAR :Wartung im Hangar von {STATION}
STR_TIMETABLE_TITLE :{WHITE}{VEHICLE} (Fahrplan)
@@ -3009,7 +3008,7 @@
STR_B002_OIL_REFINERY_EXPLOSION :{BLACK}{BIGFONT}Explosion einer Ölraffinerie nahe {TOWN}!
STR_B003_FACTORY_DESTROYED_IN_SUSPICIOUS :{BLACK}{BIGFONT}Fabrik nahe {TOWN} unter mysteriösen Umständen zerstört!
STR_B004_UFO_LANDS_NEAR :{BLACK}{BIGFONT}'UFO' landet bei {TOWN}!
-STR_B005_COAL_MINE_SUBSIDENCE_LEAVES :{BLACK}{BIGFONT}Stolleneinbruch hinterläßt einen Pfad der Zerstörung bei {TOWN}!
+STR_B005_COAL_MINE_SUBSIDENCE_LEAVES :{BLACK}{BIGFONT}Stolleneinbruch bei {TOWN} hinterlässt Pfad der Zerstörung!
STR_B006_FLOOD_VEHICLE_DESTROYED :{BLACK}{BIGFONT}Hochwasser!{}Mindestens {COMMA} Mensch{P "" en} vermisst oder tot nach schwerer Flut!
STR_BRIBE_FAILED :{WHITE}Ihr Bestechungsversuch wurde
@@ -3025,7 +3024,7 @@
############ Those following lines need to be in this order!!
STR_PERFORMANCE_DETAIL_VEHICLES :{BLACK}Fahrzeuge:
STR_PERFORMANCE_DETAIL_STATIONS :{BLACK}Stationen:
-STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Min. Profit:
+STR_PERFORMANCE_DETAIL_MIN_PROFIT :{BLACK}Min. Gewinn:
STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Min. Einkom.:
STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Max. Einkom.:
STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Geliefert:
@@ -3036,60 +3035,60 @@
############ End of order list
STR_PERFORMANCE_DETAIL_VEHICLES_TIP :{BLACK}Anzahl an Fahrzeugen (Straßenfahrzeuge, Züge, Schiffe und Flugzeuge/Helikopter)
STR_PERFORMANCE_DETAIL_STATIONS_TIP :{BLACK}Anzahl an Stationen (Jeder Teil einer Station zählt einzeln: Bahnhof, Ladeplatz, Busbahnhof, Flugplatz)
-STR_PERFORMANCE_DETAIL_MIN_PROFIT_TIP :{BLACK}Geringster Profit der Fahrzeuge, die älter als 2 Jahre sind
+STR_PERFORMANCE_DETAIL_MIN_PROFIT_TIP :{BLACK}Geringster Gewinn der Fahrzeuge, die älter als 2 Jahre sind
STR_PERFORMANCE_DETAIL_MIN_INCOME_TIP :{BLACK}Geringste Monatseinnahmen in den letzten 12 Quartalen
STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP :{BLACK}Höchste Monatseinnahmen in den letzten 12 Quartalen
STR_PERFORMANCE_DETAIL_DELIVERED_TIP :{BLACK}In den letzten 4 Quartalen gelieferte Frachteinheiten
STR_PERFORMANCE_DETAIL_CARGO_TIP :{BLACK}Im letzten Quartal gelieferte Frachttypen
-STR_PERFORMANCE_DETAIL_MONEY_TIP :{BLACK}Bargeld
-STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Schuldenfalle?
+STR_PERFORMANCE_DETAIL_MONEY_TIP :{BLACK}Kontostand dieser Firma
+STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Das von dieser Firma in Anspruch genommene Darlehen
STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Erreichte Punkte von der maximal erreichbaren Anzahl
-STR_NEWGRF_SETTINGS_BUTTON :{BLACK}NewGRF Einstellungen
-STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Newgrf Einstellungen
+STR_NEWGRF_SETTINGS_BUTTON :{BLACK}NewGRF-Einstellungen
+STR_NEWGRF_SETTINGS_CAPTION :{WHITE}NewGRF-Einstellungen
STR_NEWGRF_APPLY_CHANGES :{BLACK}Änderungen anwenden
STR_NEWGRF_SET_PARAMETERS :{BLACK}Parameter setzen
-STR_NEWGRF_TIP :{BLACK}Eine Liste aller Newgrf-Sets, die installiert sind. Per Klick auswählen.
-STR_NEWGRF_NO_FILES_INSTALLED :{BLACK}Keine Newgrf-Dateien installiert. Bitte Installationsanleitung im Handbuch nachschlagen.
+STR_NEWGRF_TIP :{BLACK}Eine Liste aller NewGRF-Sets, die installiert sind. Per Klick auswählen.
+STR_NEWGRF_NO_FILES_INSTALLED :{BLACK}Keine NewGRF-Dateien installiert. Bitte Installationsanleitung im Handbuch nachschlagen.
STR_NEWGRF_FILENAME :{BLACK}Dateiname: {SILVER}{STRING}
-STR_NEWGRF_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING}
+STR_NEWGRF_GRF_ID :{BLACK}GRF-ID: {SILVER}{STRING}
STR_NEWGRF_MD5SUM :{BLACK}MD5-Summe: {SILVER}{STRING}
-STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Du bist dabei Änderungen während eines laufenden Spiels zu machen. Dies kann zum Absturz von OpenTTD führen.{}Bist du Dir wirklich sicher?
+STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Sie sind im Begriff, Änderungen während eines laufenden Spiels zu machen. Dies kann zum Absturz von OpenTTD führen.{}Sind Sie sicher?
STR_NEWGRF_ERROR_MSG_INFO :{SILVER}{STRING}
STR_NEWGRF_ERROR_MSG_WARNING :{RED}Warnung: {SILVER}{STRING}
STR_NEWGRF_ERROR_MSG_ERROR :{RED}Fehler: {SILVER}{STRING}
STR_NEWGRF_ERROR_MSG_FATAL :{RED}Fataler Fehler: {SILVER}{STRING}
-STR_NEWGRF_ERROR_VERSION_NUMBER :{STRING} Arbeitet nicht zusammen mit der TTDPatch Version in OpenTTD.
-STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{STRING} Ist für die {STRING} Version von TTD.
-STR_NEWGRF_ERROR_UNSET_SWITCH :{STRING} Ist erstellt für die Nutzung mit {STRING}
+STR_NEWGRF_ERROR_VERSION_NUMBER :{STRING} funktioniert nicht im Zusammenhang mit der von OpenTTD ermittelten TTDPatch-Version.
+STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{STRING} ist für die {STRING}-Version von TTD.
+STR_NEWGRF_ERROR_UNSET_SWITCH :{STRING} ist für die Nutzung mit {STRING} vorgesehen
STR_NEWGRF_ERROR_INVALID_PARAMETER :Falscher Parameter für {STRING}: Parameter {STRING} ({NUM})
-STR_NEWGRF_ERROR_LOAD_BEFORE :{STRING} Muß vor {STRING} geladen werden.
-STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} Muß nach {STRING} geladen werden.
-STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :Die GRF Datei, die zur Übersetzung erstellt wurde
+STR_NEWGRF_ERROR_LOAD_BEFORE :{STRING} muss vor {STRING} geladen werden.
+STR_NEWGRF_ERROR_LOAD_AFTER :{STRING} muss nach {STRING} geladen werden.
+STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :der GRF-Datei, die es übersetzen soll,
STR_NEWGRF_ADD :{BLACK}Hinzufügen
-STR_NEWGRF_ADD_TIP :{BLACK}Füge eine neue NewGRF Datei zu Liste hinzu
+STR_NEWGRF_ADD_TIP :{BLACK}Eine neue NewGRF-Datei zur Liste hinzufügen
STR_NEWGRF_REMOVE :{BLACK}Entfernen
-STR_NEWGRF_REMOVE_TIP :{BLACK}Entferne die ausgewählte NewGRF Datei von der Liste
+STR_NEWGRF_REMOVE_TIP :{BLACK}Die ausgewählte NewGRF-Datei von der Liste entfernen
STR_NEWGRF_MOVEUP :{BLACK}Nach oben
-STR_NEWGRF_MOVEUP_TIP :{BLACK}Schiebe die ausgewählte NewGRF Datei in der Liste nach oben
+STR_NEWGRF_MOVEUP_TIP :{BLACK}Die ausgewählte NewGRF-Datei in der Liste nach oben verschieben
STR_NEWGRF_MOVEDOWN :{BLACK}Nach unten
-STR_NEWGRF_MOVEDOWN_TIP :{BLACK}Schiebe die ausgewählte NewGRF Datei in der Liste nach unten
-STR_NEWGRF_FILE_TIP :{BLACK}Eine Liste der installierten NewGRF Dateien. Wähle eine Datei und verändere deren Parameter
-STR_NEWGRF_PARAMETER :{BLACK}Parameter: {SILVER}{STRING}
-STR_NEWGRF_PARAMETER_QUERY :{BLACK}Schreibe neue NewGRF Parameter
+STR_NEWGRF_MOVEDOWN_TIP :{BLACK}Die ausgewählte NewGRF-Datei in der Liste nach unten verschieben
+STR_NEWGRF_FILE_TIP :{BLACK}Eine Liste der installierten NewGRF-Dateien. Zum Ändern der Einstellungen Datei auswählen
+STR_NEWGRF_PARAMETER :{BLACK}Einstellung: {SILVER}{STRING}
+STR_NEWGRF_PARAMETER_QUERY :{BLACK}Neue NewGRF-Einstellungen abspeichern
STR_NEWGRF_NO_INFO :{BLACK}Keine Informationen verfügbar
-STR_NEWGRF_ADD_CAPTION :{WHITE}Verfügbare NewGRF Dateien
+STR_NEWGRF_ADD_CAPTION :{WHITE}Verfügbare NewGRF-Dateien
STR_NEWGRF_ADD_FILE :{BLACK}Zur Auswahl hinzufügen
-STR_NEWGRF_ADD_FILE_TIP :{BLACK}Füge die ausgewählte NewGRF Datei zu deiner Konfiguration hinzu
-STR_NEWGRF_RESCAN_FILES :{BLACK}Aktualisiere Dateiliste
-STR_NEWGRF_RESCAN_FILES_TIP :{BLACK}Aktualisiere die Liste der verfügbaren NewGRF Dateien
-STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Kann die Datei nicht hinzufügen: doppelte GRF ID
+STR_NEWGRF_ADD_FILE_TIP :{BLACK}Ausgewählte NewGRF-Datei zur Konfiguration hinzufügen
+STR_NEWGRF_RESCAN_FILES :{BLACK}Dateiliste aktualisieren
+STR_NEWGRF_RESCAN_FILES_TIP :{BLACK}Liste der verfügbaren NewGRF-Dateien aktualisieren
+STR_NEWGRF_DUPLICATE_GRFID :{WHITE}Datei kann nicht hinzugefügt werden: GRF-ID bereits vergeben
STR_NEWGRF_NOT_FOUND :{RED}Zugehörige Datei nicht gefunden
-STR_NEWGRF_DISABLED :{RED}Ausgeschaltet
+STR_NEWGRF_DISABLED :{RED}Deaktiviert
STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Passende Datei nicht gefunden (kompatible GRF geladen)
STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Kompatible GRF(s) für fehlende Dateien geladen
@@ -3117,53 +3116,53 @@
STR_SCHEDULED_AIRCRAFT :{WHITE}{STATION} - {COMMA} Flugzeug{P "" e}
STR_SCHEDULED_SHIPS :{WHITE}{STATION} - {COMMA} Schiff{P "" e}
-STR_SCHEDULED_TRAINS_TIP :{BLACK}Zeige alle Züge, die diesen Bahnhof anfahren
-STR_SCHEDULED_ROAD_VEHICLES_TIP :{BLACK}Zeige alle Fahrzeuge, die diese Station anfahren
-STR_SCHEDULED_AIRCRAFT_TIP :{BLACK}Zeige alle Flugzeuge, die diesen Flughafen anfliegen
-STR_SCHEDULED_SHIPS_TIP :{BLACK}Zeige alle Schiffe, die diesen Hafen ansteuern
+STR_SCHEDULED_TRAINS_TIP :{BLACK}Alle Züge, die diesen Bahnhof anfahren, anzeigen
+STR_SCHEDULED_ROAD_VEHICLES_TIP :{BLACK}Alle Fahrzeuge, die diese Station anfahren, anzeigen
+STR_SCHEDULED_AIRCRAFT_TIP :{BLACK}Alle Flugzeuge, die diesen Flughafen anfliegen, anzeigen
+STR_SCHEDULED_SHIPS_TIP :{BLACK}Alle Schiffe, die diesen Hafen ansteuern, anzeigen
STR_VEH_WITH_SHARED_ORDERS_LIST :{WHITE}Gemeinsamer Fahrplan von {COMMA} Fahrzeug{P "" en}
-STR_VEH_WITH_SHARED_ORDERS_LIST_TIP :{BLACK}Zeige alle Fahrzeuge mit demselben Fahrplan
+STR_VEH_WITH_SHARED_ORDERS_LIST_TIP :{BLACK}Alle Fahrzeuge mit demselben Fahrplan anzeigen
### depot strings
-STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Möchtest du alle Fahrzeuge in diesem Depot verkaufen?
-STR_DEPOT_WRONG_DEPOT_TYPE :Falsche Depotart
-
-STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TIP :{BLACK}Verkaufe alle Züge im Depot
-STR_DEPOT_SELL_ALL_BUTTON_ROADVEH_TIP :{BLACK}Verkaufe alle Fahrzeuge im Depot
-STR_DEPOT_SELL_ALL_BUTTON_SHIP_TIP :{BLACK}Verkaufe alle Schiffe in der Werft
-STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TIP :{BLACK}Verkaufe alle Flugzeuge im Hangar
+STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Sollen alle Fahrzeuge in diesem Depot verkauft werden?
+STR_DEPOT_WRONG_DEPOT_TYPE :Falsche Art von Depot
-STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TIP :{BLACK}Zeige eine Liste mit allen Zügen, die dieses Depot anfahren
-STR_DEPOT_VEHICLE_ORDER_LIST_ROADVEH_TIP :{BLACK}Zeige eine Liste mit allen Fahrzeugen, die dieses Depot anfahren
-STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TIP :{BLACK}Zeige eine Liste mit allen Schiffen, die diese Werft anfahren
-STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TIP :{BLACK}Zeige alle Flugzeuge mit irgendeinem Hangar dieses Flughafens in ihrem Flugplan
+STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TIP :{BLACK}Alle Züge im Depot verkaufen
+STR_DEPOT_SELL_ALL_BUTTON_ROADVEH_TIP :{BLACK}Alle Fahrzeuge im Depot verkaufen
+STR_DEPOT_SELL_ALL_BUTTON_SHIP_TIP :{BLACK}Alle Schiffe in der Werft verkaufen
+STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TIP :{BLACK}Alle Flugzeuge im Hangar verkaufen
-STR_DEPOT_AUTOREPLACE_TRAIN_TIP :{BLACK}Ersetze alle Züge im Depot automatisch
-STR_DEPOT_AUTOREPLACE_ROADVEH_TIP :{BLACK}Ersetze alle Fahrzeuge im Depot automatisch
-STR_DEPOT_AUTOREPLACE_SHIP_TIP :{BLACK}Ersetze alle Schiffe in der Werft automatisch
-STR_DEPOT_AUTOREPLACE_AIRCRAFT_TIP :{BLACK}Ersetze alle Flugzeuge im Hangar automatisch
+STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TIP :{BLACK}Züge, die dieses Depot anfahren, auflisten
+STR_DEPOT_VEHICLE_ORDER_LIST_ROADVEH_TIP :{BLACK}Fahrzeuge, die dieses Depot anfahren, auflisten
+STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TIP :{BLACK}Schiffe, die diese Werft anfahren, auflisten
+STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TIP :{BLACK}Flugzeuge, die diesen Flughafen anfliegen, auflisten
+
+STR_DEPOT_AUTOREPLACE_TRAIN_TIP :{BLACK}Alle Züge im Depot automatisch ersetzen
+STR_DEPOT_AUTOREPLACE_ROADVEH_TIP :{BLACK}Alle Fahrzeuge im Depot automatisch ersetzen
+STR_DEPOT_AUTOREPLACE_SHIP_TIP :{BLACK}Alle Schiffe in der Werft automatisch ersetzen
+STR_DEPOT_AUTOREPLACE_AIRCRAFT_TIP :{BLACK}Alle Flugzeuge im Hangar automatisch ersetzen
STR_VEHICLE_LIST_TRAIN_DEPOT :{BLACK}{STRING} - {COMMA} {P Zug Züge}
STR_VEHICLE_LIST_ROADVEH_DEPOT :{BLACK}{STRING} - {COMMA} Fahrzeug{P "" e}
STR_VEHICLE_LIST_SHIP_DEPOT :{BLACK}{STRING} - {COMMA} Schiff{P "" e}
STR_VEHICLE_LIST_AIRCRAFT_DEPOT :{BLACK}{STRING} - {COMMA} Flugzeug
-STR_REPLACE_VEHICLES_WHITE :{WHITE}Ersetze {STRING}
+STR_REPLACE_VEHICLES_WHITE :{WHITE}{STRING} ersetzen
STR_REPLACE_VEHICLES_START :{BLACK}Fahrzeugersetzung aktivieren
STR_REPLACE_VEHICLES_STOP :{BLACK}Fahrzeugersetzung deaktivieren
STR_NOT_REPLACING :{BLACK}Keine Ersetzung
STR_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}Kein Fahrzeug gewählt
-STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Wähle das zu ersetzende Fahrzeug
-STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Wähle den Fahrzeugtyp, der anstelle des links gewählten Fahrzeugs verwendet werden soll
-STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Drücke diesen Button, wenn das Fahrzeug auf der linken Seite nicht ersetzt werden soll
-STR_REPLACE_HELP_START_BUTTON :{BLACK}Drücke diesen Button, wenn das Fahrzeug auf der linken Seite durch das auf der rechten Seite gewählte ersetzt werden soll
-STR_REPLACE_HELP_RAILTYPE :{BLACK}Wähle einen Gleistyp für den Loks ersetzt werden sollen
-STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Hier wird angezeigt, gegen welches Fahrzeug das auf der linken Seite gewählte ersetzt wird
-STR_REPLACE_HELP :{BLACK}Dieses Feature ermöglicht es, einen Fahrzeugtyp auszuwählen und ihn durch einen anderen ersetzen zu lassen. Dies geschieht automatisch, wenn das Fahrzeug regulär das Depot besucht.
+STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Zu ersetzenden Loktyp auswählen
+STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Loktyp auswählen, der anstelle des links gewählten Loktyps verwendet werden soll
+STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Klick zum Abbrechen der Ersetzung des Loktyps auf der linken Seite
+STR_REPLACE_HELP_START_BUTTON :{BLACK}Klick zum Ersetzen des Loktyps auf der linken Seite mit dem auf der rechten Seite
+STR_REPLACE_HELP_RAILTYPE :{BLACK}Schienentyp auswählen, für den Loks ersetzt werden sollen
+STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Hier wird angezeigt, gegen welche Lok die auf der linken Seite gewählte ersetzt wird
+STR_REPLACE_HELP :{BLACK}Diese Funktion ermöglicht es, einen Loktyp durch einen anderen ersetzen zu lassen, sobald ein Zug des ursprünglichen Typs das Depot besucht.
STR_REPLACE_REMOVE_WAGON :{BLACK}Waggon-Entfernung: {ORANGE}{SKIP}{STRING}
-STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Zwinge das automatische Ersetzen die Länge eines Zuges beizubehalten, indem (vorne beginnend) Waggons entfernt werden, falls das Ersetzen der Lokomotive den Zug verlängern würde.
-STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Ersetze: {ORANGE}{SKIP}{SKIP}{STRING}
+STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Ursprüngliche Länge des Zugs beibehalten, indem (vorne beginnend) Waggons entfernt werden, falls das Ersetzen der Lokomotive den Zug verlängern würde.
+STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Ersetzen: {ORANGE}{SKIP}{SKIP}{STRING}
STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EXPERIMENTELLE FUNKTION {}Umschalter für Lok- oder Waggonersetzung{}Waggons werden nur ersetzt, wenn der neue Waggon den selben Warentyp transportieren kann wie der alte. Dies wird beim Ersetzen eines jeden Waggons einzeln geprüft.
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Fahrzeug nicht verfügbar
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Fahrzeug nicht verfügbar
@@ -3173,23 +3172,23 @@
STR_ENGINES :Loks
STR_WAGONS :Waggons
-STR_MASS_STOP_DEPOT_TRAIN_TIP :{BLACK}Hier klicken um alle Züge im Depot anzuhalten
-STR_MASS_STOP_DEPOT_ROADVEH_TIP :{BLACK}Hier klicken um alle Fahrzeuge im Depot anzuhalten
-STR_MASS_STOP_DEPOT_SHIP_TIP :{BLACK}Hier klicken um alle Schiffe in der Werft anzuhalten
-STR_MASS_STOP_HANGAR_TIP :{BLACK}Hier klicken um alle Flugzeuge im Hangar anzuhalten
+STR_MASS_STOP_DEPOT_TRAIN_TIP :{BLACK}Alle Züge im Depot anhalten
+STR_MASS_STOP_DEPOT_ROADVEH_TIP :{BLACK}Alle Fahrzeuge im Depot anhalten
+STR_MASS_STOP_DEPOT_SHIP_TIP :{BLACK}Alle Schiffe in der Werft anhalten
+STR_MASS_STOP_HANGAR_TIP :{BLACK}Alle Flugzeuge im Hangar anhalten
-STR_MASS_START_DEPOT_TRAIN_TIP :{BLACK}Hier klicken um alle Züge im Depot zu starten
-STR_MASS_START_DEPOT_ROADVEH_TIP :{BLACK}Hier klicken um alle Fahrzeuge im Depot zu starten
-STR_MASS_START_DEPOT_SHIP_TIP :{BLACK}Hier klicken um alle Schiffe in der Werft zu starten
-STR_MASS_START_HANGAR_TIP :{BLACK}Hier klicken um alle Flugzeuge im Hangar zu starten
+STR_MASS_START_DEPOT_TRAIN_TIP :{BLACK}Alle Züge im Depot losschicken
+STR_MASS_START_DEPOT_ROADVEH_TIP :{BLACK}Alle Fahrzeuge im Depot losschicken
+STR_MASS_START_DEPOT_SHIP_TIP :{BLACK}Alle Schiffe in der Werft losschicken
+STR_MASS_START_HANGAR_TIP :{BLACK}Alle Flugzeuge im Hangar losschicken
-STR_MASS_STOP_LIST_TIP :{BLACK}Hier klicken um alle Fahrzeuge in der Liste anzuhalten
-STR_MASS_START_LIST_TIP :{BLACK}Hier klicken um alle Fahrzeuge in der Liste zu starten
+STR_MASS_STOP_LIST_TIP :{BLACK}Alle Fahrzeuge in der Liste anhalten
+STR_MASS_START_LIST_TIP :{BLACK}Alle Fahrzeuge in der Liste losschicken
STR_SHORT_DATE :{WHITE}{DATE_TINY}
-STR_SIGN_LIST_CAPTION :{WHITE}Schilderliste - {COMMA} Schild{P "" er}
+STR_SIGN_LIST_CAPTION :{WHITE}Schilderliste ({COMMA} Schild{P "" er})
-STR_ORDER_REFIT_FAILED :{WHITE}{STRING} {COMMA} wurde wegen Problemen beim Umrüsten angehalten
+STR_ORDER_REFIT_FAILED :{WHITE}{STRING} {COMMA} wurde aufgrund von Problemen beim Umrüsten angehalten
############ Lists rail types
@@ -3205,7 +3204,7 @@
STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Kosten: {GOLD}{CURRENCY}{BLACK} Gewicht: {GOLD}{WEIGHT_S}
STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Geschwindigk.: {GOLD}{VELOCITY}{BLACK} Leistung: {GOLD}{POWER}
STR_PURCHASE_INFO_SPEED :{BLACK}Geschwindigkeit: {GOLD}{VELOCITY}
-STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Betriebskosten: {GOLD}{CURRENCY}/Jahr
+STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Betriebskosten: {GOLD}{CURRENCY} pro Jahr
STR_PURCHASE_INFO_CAPACITY :{BLACK}Kapazität: {GOLD}{CARGO} {STRING}
STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Entwurf: {GOLD}{NUM}{BLACK} Lebensdauer: {GOLD}{COMMA} Jahre
STR_PURCHASE_INFO_RELIABILITY :{BLACK}Max. Zuverlässigkeit: {GOLD}{COMMA}%
@@ -3229,7 +3228,7 @@
STR_RANDOM_SEED_HELP :{BLACK}Gib einen Zufallsstartwert ein
STR_LAND_GENERATOR :{BLACK}Landgenerator:
STR_TREE_PLACER :{BLACK}Baumalgorithmus
-STR_HEIGHTMAP_ROTATION :{BLACK}Kartendrehung:
+STR_HEIGHTMAP_ROTATION :{BLACK}Reliefkarte drehen:
STR_TERRAIN_TYPE :{BLACK}Landschaftstyp:
STR_QUANTITY_OF_SEA_LAKES :{BLACK}Gewässermenge:
STR_SMOOTHNESS :{BLACK}Weichheit:
@@ -3238,43 +3237,43 @@
STR_NUMBER_OF_TOWNS :{BLACK}Städteanzahl:
STR_NUMBER_OF_INDUSTRIES :{BLACK}Industriedichte:
STR_GENERATE_DATE :{BLACK}{DATE_LONG}
-STR_SNOW_LINE_UP :{BLACK}Höhenstufe der Schneegrenze um eins erhöhen
-STR_SNOW_LINE_DOWN :{BLACK}Höhenstufe der Schneegrenze um eins reduzieren
-STR_SNOW_LINE_QUERY_CAPT :{WHITE}Ändere die Höhe der Schneegrenze
-STR_START_DATE_QUERY_CAPT :{WHITE}Ändere Startjahr
+STR_SNOW_LINE_UP :{BLACK}Schneegrenze um eine Stufe erhöhen
+STR_SNOW_LINE_DOWN :{BLACK}Schneegrenze um eine Stufe senken
+STR_SNOW_LINE_QUERY_CAPT :{WHITE}Höhe der Schneegrenze ändern
+STR_START_DATE_QUERY_CAPT :{WHITE}Startjahr ändern
STR_HEIGHTMAP_SCALE_WARNING_CAPTION :{WHITE}Skalierungswarnung
-STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Zu starke Skalierung der Karte ist nicht empfohlen. Trotzdem Generierung fortsetzen?
+STR_HEIGHTMAP_SCALE_WARNING_MESSAGE :{YELLOW}Zu starke Skalierung des Spielfeldes wird nicht empfohlen. Generierung dennoch fortsetzen?
STR_TOWN_LAYOUT_WARNING_CAPTION :{WHITE}Städtebauwarnung
-STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}Der Stadtaufbau "keine weiteren Straßen" ist nicht empfohlen. Mit der Generierung fortfahren?
+STR_TOWN_LAYOUT_WARNING_MESSAGE :{YELLOW}Der Stadtaufbau "keine weiteren Straßen" wird nicht empfohlen. Mit der Generierung fortfahren?
STR_SNOW_LINE_HEIGHT_NUM :{NUM}
STR_HEIGHTMAP_NAME :{BLACK}Reliefkartenname:
-STR_HEIGHTMAP_SIZE :{BLACK}Größe: {ORANGE}{NUM} x {NUM}
-STR_GENERATION_WORLD :{WHITE}Generiere Welt...
+STR_HEIGHTMAP_SIZE :{BLACK}Größe: {ORANGE}{NUM} × {NUM}
+STR_GENERATION_WORLD :{WHITE}Spielfeld wird generiert...
STR_GENERATION_ABORT :{BLACK}Abbrechen
-STR_GENERATION_ABORT_CAPTION :{WHITE}Weltgenerierung abbrechen
-STR_GENERATION_ABORT_MESSAGE :{YELLOW}Soll die Weltgenerierung wirklich abgebrochen werden?
+STR_GENERATION_ABORT_CAPTION :{WHITE}Spielfeldgenerierung abbrechen
+STR_GENERATION_ABORT_MESSAGE :{YELLOW}Soll die Spielfeldgenerierung wirklich abgebrochen werden?
STR_PROGRESS :{WHITE}{NUM}% abgeschlossen
STR_GENERATION_PROGRESS :{BLACK}{NUM} / {NUM}
-STR_WORLD_GENERATION :{BLACK}Welterstellung
+STR_WORLD_GENERATION :{BLACK}Spielfeldgenerierung
STR_TREE_GENERATION :{BLACK}Baumerzeugung
-STR_UNMOVABLE_GENERATION :{BLACK}Erzeuge unbewegbare Objekte
-STR_CLEARING_TILES :{BLACK}Erzeuge leere, felsige Landschaft
-STR_SETTINGUP_GAME :{BLACK}Bereite Spiel vor
-STR_PREPARING_TILELOOP :{BLACK}Belebe Welt
-STR_PREPARING_GAME :{BLACK}Bereite Spiel vor
-STR_DIFFICULTY_TO_CUSTOM :{WHITE}Diese Aktion änderte den Schwierigkeitsgrad zu individuell
+STR_UNMOVABLE_GENERATION :{BLACK}Unbewegliche Objekte werden erzeugt
+STR_CLEARING_TILES :{BLACK}Leere, felsige Landschaft wird erzeugt
+STR_SETTINGUP_GAME :{BLACK}Spiel wird vorbereitet
+STR_PREPARING_TILELOOP :{BLACK}Spielfeld wird belebt
+STR_PREPARING_GAME :{BLACK}Spiel wird vorbereitet
+STR_DIFFICULTY_TO_CUSTOM :{WHITE}Hierdurch wurde der Schwierigkeitsgrad auf "benutzerdefiniert" gestellt.
STR_SE_FLAT_WORLD :{WHITE}Flache Landschaft
-STR_SE_FLAT_WORLD_TIP :{BLACK}Erzeuge flache Landschaft
+STR_SE_FLAT_WORLD_TIP :{BLACK}Flache Landschaft erzeugen
STR_SE_RANDOM_LAND :{WHITE}Zufällige Landschaft
-STR_SE_NEW_WORLD :{BLACK}Erzeuge neues Szenario
+STR_SE_NEW_WORLD :{BLACK}Neues Szenario erzeugen
STR_SE_CAPTION :{WHITE}Szenariotyp
-STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Höhenstufe des flachen Landes um eins reduzieren
-STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Höhenstufe das flachen Landes um eins erhöhen
-STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Ändere die Höhenstufe des flachen Landes
+STR_FLAT_WORLD_HEIGHT_DOWN :{BLACK}Flachland um eine Stufe senken
+STR_FLAT_WORLD_HEIGHT_UP :{BLACK}Flachland um eine Stufe erhöhen
+STR_FLAT_WORLD_HEIGHT_QUERY_CAPT :{WHITE}Flachlandhöhe ändern
STR_FLAT_WORLD_HEIGHT :{BLACK}Höhe des Flachlands:
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
-STR_SMALLMAP_CENTER :{BLACK}Zentriere Zusatzansicht auf akutelle Position
+STR_SMALLMAP_CENTER :{BLACK}Zusatzansicht zur akutellen Position scrollen
########### String for new airports
STR_SMALL_AIRPORT :{BLACK}klein
@@ -3295,9 +3294,9 @@
############ Tooltip measurment
STR_MEASURE_LENGTH :{BLACK}Länge: {NUM}
-STR_MEASURE_AREA :{BLACK}Gebiet: {NUM} x {NUM}
+STR_MEASURE_AREA :{BLACK}Gebiet: {NUM} × {NUM}
STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Länge: {NUM}{}Höhenunterschied: {NUM} m
-STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Gebiet: {NUM} x {NUM}{}Höhenunterschied: {NUM} m
+STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Gebiet: {NUM} × {NUM}{}Höhenunterschied: {NUM} m
############ Date formatting
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
@@ -3306,19 +3305,19 @@
########
-STR_FEEDER_CARGO_VALUE :{BLACK}Überweise Geld: {LTBLUE}{CURRENCY}
+STR_FEEDER_CARGO_VALUE :{BLACK}Transfer-Kredit: {LTBLUE}{CURRENCY}
STR_DRIVE_THROUGH_ERROR_ON_TOWN_ROAD :{WHITE}...diese Straße ist in kommunaler Trägerschaft
STR_DRIVE_THROUGH_ERROR_DIRECTION :{WHITE}...Straße verläuft in die falsche Richtung
STR_TRANSPARENCY_TOOLB :{WHITE}Transparenzoptionen
-STR_TRANSPARENT_SIGNS_DESC :{BLACK}Verändere die Transparenz für Stationsschilder
-STR_TRANSPARENT_TREES_DESC :{BLACK}Verändere die Transparenz für Bäume
-STR_TRANSPARENT_HOUSES_DESC :{BLACK}Verändere die Transparenz für Häuser
-STR_TRANSPARENT_INDUSTRIES_DESC :{BLACK}Verändere die Transparenz für Industrien
-STR_TRANSPARENT_BUILDINGS_DESC :{BLACK}Verändere die Transparenz für Gebäude wie Bahnhöfe, Depots, Wegpunkte und Oberleitung
-STR_TRANSPARENT_BRIDGES_DESC :{BLACK}Verändere die Transparenz für Brücken
-STR_TRANSPARENT_STRUCTURES_DESC :{BLACK}Verändere die Transparenz für Bauten wie Leuchttürme und Antennen, evtl. in der Zukunft auch für Sehenswürdigkeiten
-STR_TRANSPARENT_LOADING_DESC :{BLACK}Transparenz für Ladestandsanzeige umschalten
+STR_TRANSPARENT_SIGNS_DESC :{BLACK}Transparenz für Stationsschilder einstellen
+STR_TRANSPARENT_TREES_DESC :{BLACK}Transparenz für Bäume einstellen
+STR_TRANSPARENT_HOUSES_DESC :{BLACK}Transparenz für Häuser einstellen
+STR_TRANSPARENT_INDUSTRIES_DESC :{BLACK}Transparenz für Industrien einstellen
+STR_TRANSPARENT_BUILDINGS_DESC :{BLACK}Transparenz für Gebäude wie Bahnhöfe, Depots, Wegpunkte und Oberleitung einstellen
+STR_TRANSPARENT_BRIDGES_DESC :{BLACK}Transparenz für Brücken einstellen
+STR_TRANSPARENT_STRUCTURES_DESC :{BLACK}Transparenz für Bauten wie Leuchttürme und Antennen, evtl. in der Zukunft auch für Sehenswürdigkeiten, einstellen
+STR_TRANSPARENT_LOADING_DESC :{BLACK}Transparenz für Ladestandsanzeige einstellen
STR_PERCENT_UP_SMALL :{TINYFONT}{WHITE}{NUM}%{UPARROW}
STR_PERCENT_UP :{WHITE}{NUM}%{UPARROW}
@@ -3339,33 +3338,28 @@
STR_GROUP_DEFAULT_SHIPS :Ungruppierte Schiffe
STR_GROUP_DEFAULT_AIRCRAFTS :Ungruppierte Flugzeuge
STR_GROUP_TINY_NUM :{TINYFONT}{COMMA}
-STR_GROUP_ADD_SHARED_VEHICLE :Gemeinsame Fahrzeuge hinzufügen
-STR_GROUP_REMOVE_ALL_VEHICLES :Entferne alle Fahrzeuge
+STR_GROUP_ADD_SHARED_VEHICLE :Gemeinsam genutzte Fahrzeuge hinzufügen
+STR_GROUP_REMOVE_ALL_VEHICLES :Alle Fahrzeuge entfernen
STR_GROUP_TRAINS_CAPTION :{WHITE}{GROUP} - {COMMA} Z{P ug üge}
STR_GROUP_ROADVEH_CAPTION :{WHITE}{GROUP} - {COMMA} Fahrzeug{P "" e}
STR_GROUP_SHIPS_CAPTION :{WHITE}{GROUP} - {COMMA} Schiff{P "" e}
STR_GROUP_AIRCRAFTS_CAPTION :{WHITE}{GROUP} - {COMMA} Flugzeug{P "" e}
STR_GROUP_RENAME_CAPTION :{BLACK}Gruppe umbenennen
-STR_GROUP_REPLACE_CAPTION :{WHITE}Fahrzeuge ersetzen von "{GROUP}"
-
-STR_GROUP_CAN_T_CREATE :{WHITE}Kann Gruppe nicht erstellen...
-STR_GROUP_CAN_T_DELETE :{WHITE}Kann diese Gruppe nicht löschen...
-STR_GROUP_CAN_T_RENAME :{WHITE}Kann Gruppe nicht umbenennen...
-STR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Kann nicht alle Fahrzeuge dieser Gruppe entfernen...
-STR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Kann das Fahrzeug nicht zu dieser Gruppe hinzufügen...
-STR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Die gemeinsamen Fahrzeuge können nicht zur Gruppe hinzugefügt werden...
+STR_GROUP_REPLACE_CAPTION :{WHITE}Fahrzeuge in "{GROUP}" ersetzen
-STR_GROUPS_CLICK_ON_GROUP_FOR_TIP :{BLACK}Gruppen - Klicke auf eine Gruppe für eine Liste aller Fahrzeuge der Gruppe
-STR_GROUP_CREATE_TIP :{BLACK}Klicken um eine Gruppe zu erstellen
-STR_GROUP_DELETE_TIP :{BLACK}Die ausgewählte Gruppe löschen
-STR_GROUP_RENAME_TIP :{BLACK}Die ausgewählte Gruppe umbenennen
-STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Hier klicken um diese Gruppe aus der automatischen Fahrzeugersetzung zu nehmen
+STR_GROUP_CAN_T_CREATE :{WHITE}Gruppe kann nicht erstellt werden...
+STR_GROUP_CAN_T_DELETE :{WHITE}Gruppe kann nicht gelöscht werden...
+STR_GROUP_CAN_T_RENAME :{WHITE}Gruppe kann nicht umbenannt werden...
+STR_GROUP_CAN_T_REMOVE_ALL_VEHICLES :{WHITE}Entfernen aller Fahrzeuge dieser Gruppe nicht möglich...
+STR_GROUP_CAN_T_ADD_VEHICLE :{WHITE}Fahrzeug kann nicht zu dieser Gruppe hinzugefügt werden...
+STR_GROUP_CAN_T_ADD_SHARED_VEHICLE :{WHITE}Gemeinsam genutztes Fahrzeug kann nicht zur Gruppe hinzugefügt werden...
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profit dieses Jahr: {GREEN}{CURRENCY} {BLACK}(letztes Jahr: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profit dieses Jahr: {RED}{CURRENCY} {BLACK}(letztes Jahr: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit dieses Jahr: {GREEN}{CURRENCY} {BLACK}(letztes Jahr: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit dieses Jahr: {RED}{CURRENCY} {BLACK}(letztes Jahr: {RED}{CURRENCY}{BLACK})
+STR_GROUPS_CLICK_ON_GROUP_FOR_TIP :{BLACK}Gruppen - Klick auf eine Gruppe zeigt Liste aller Fahrzeuge der Gruppe an
+STR_GROUP_CREATE_TIP :{BLACK}Neue Gruppe erstellen
+STR_GROUP_DELETE_TIP :{BLACK}Ausgewählte Gruppe löschen
+STR_GROUP_RENAME_TIP :{BLACK}Ausgewählte Gruppe umbenennen
+STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Diese Gruppe von der automatischen Fahrzeugersetzung ausschließen
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
@@ -3374,15 +3368,15 @@
STR_SIGN_NAME :{SIGN}
STR_VEHICLE_NAME :{VEHICLE}
-STR_NAME_MUST_BE_UNIQUE :{WHITE}Name muss eindeutig sein
+STR_NAME_MUST_BE_UNIQUE :{WHITE}Name bereits vergeben
#### Improved sign GUI
-STR_NEXT_SIGN_TOOLTIP :{BLACK}Gehe zum nächsten Schild
-STR_PREVIOUS_SIGN_TOOLTIP :{BLACK}Gehe zum vorherigen Schild
+STR_NEXT_SIGN_TOOLTIP :{BLACK}Zum nächsten Schild wechseln
+STR_PREVIOUS_SIGN_TOOLTIP :{BLACK}Zum vorherigen Schild wechseln
########
STR_FUND_NEW_INDUSTRY :{BLACK}Finanzieren
-STR_PROSPECT_NEW_INDUSTRY :{BLACK}Erforsche
+STR_PROSPECT_NEW_INDUSTRY :{BLACK}Prospektieren
STR_BUILD_NEW_INDUSTRY :{BLACK}Bauen
-STR_INDUSTRY_SELECTION_HINT :{BLACK}Wähle die gewünschte Industrie aus der Liste
+STR_INDUSTRY_SELECTION_HINT :{BLACK}Gewünschte Industrie aus der Liste auswählen
--- a/src/lang/hungarian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/hungarian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -12,7 +12,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Túl közel van a térkép széléhez
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Nincs elég pénzed - {CURRENCY} kellene
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Sima talaj szükséges
STR_0008_WAITING :{BLACK}Várakozik: {WHITE}{STRING}
@@ -3464,10 +3463,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Kijelölt csoport átnevezése
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Csoport automata csere alóli mentességének beállításához kattints ide
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Idei profit: {GREEN}{CURRENCY} {BLACK}(tavalyi: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Idei profit: {RED}{CURRENCY} {BLACK}(tavalyi: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Idei profit: {GREEN}{CURRENCY} {BLACK}(tavalyi: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Idei profit: {RED}{CURRENCY} {BLACK}(tavalyi: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/icelandic.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/icelandic.txt Sun Aug 12 18:32:47 2007 +0000
@@ -10,7 +10,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Of nálægt brún kortsins
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Ekki nógu mikið reiðufé - þarf {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Sléttlendi nauðsynlegt
STR_0008_WAITING :{BLACK}Bíður: {WHITE}{STRING}
--- a/src/lang/italian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/italian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -13,7 +13,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Troppo vicino al bordo della mappa
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Denaro insufficiente - servono {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Richiesto terreno pianeggiante
STR_0008_WAITING :{BLACK}In attesa: {WHITE}{STRING}
@@ -3363,10 +3362,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Rinomina il gruppo selezionato
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Fare clic per proteggere questo gruppo dal rimpiazzo automatico
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profitto quest'anno: {GREEN}{CURRENCY} {BLACK}(anno scorso: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profitto quest'anno: {RED}{CURRENCY} {BLACK}(anno scorso: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profitto quest'anno: {GREEN}{CURRENCY} {BLACK}(anno scorso: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profitto quest'anno: {RED}{CURRENCY} {BLACK}(anno scorso: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/japanese.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/japanese.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}地図の端に近すぎます
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}資金が足りません。{CURRENCY}がかかります
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}平地が必要です
STR_0008_WAITING :{BLACK}到着待ち:{WHITE}{STRING}
@@ -3361,10 +3360,6 @@
STR_GROUP_RENAME_TIP :{BLACK}選択したグループの名称を変更します
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}このグループ内の車両を自動交換しません
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}今年の収益:{GREEN}{CURRENCY} {BLACK}(昨年:{GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}今年の収益:{RED}{CURRENCY} {BLACK}(昨年:{GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}今年の収益:{GREEN}{CURRENCY} {BLACK}(昨年:{RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}今年の収益:{RED}{CURRENCY} {BLACK}(昨年:{RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/korean.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/korean.txt Sun Aug 12 18:32:47 2007 +0000
@@ -12,7 +12,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}맵 가장자리와 너무 가깝습니다!
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}재정이 부족합니다 - {CURRENCY} 이(가) 필요합니다
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}평지가 필요합니다!
STR_0008_WAITING :{BLACK}대기: {WHITE}{STRING}
@@ -3362,10 +3361,6 @@
STR_GROUP_RENAME_TIP :{BLACK}선택한 그룹 이름 바꾸기
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}전체 자동 교체로부터 이 그룹 보호
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}올해의 수입: {GREEN}{CURRENCY} {BLACK}(작년: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}올해의 수입: {RED}{CURRENCY} {BLACK}(작년: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}올해 수입: {GREEN}{CURRENCY} {BLACK}(작년: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}올해 수입: {RED}{CURRENCY} {BLACK}(작년: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/lithuanian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/lithuanian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Per arti žemėlapio krašto
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Neužtenka lėšų: reikia {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Paviršius turi būti lygus
STR_0008_WAITING :{BLACK}Laukia: {WHITE}{STRING}
--- a/src/lang/norwegian_bokmal.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/norwegian_bokmal.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}For nært kanten av kartet
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Du har ikke nok penger - du trenger {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Flatt land er nødvendig
STR_0008_WAITING :{BLACK}Venter: {WHITE}{STRING}
@@ -3266,10 +3265,6 @@
STR_GROUP_DELETE_TIP :{BLACK}Fjern den valgte gruppen
STR_GROUP_RENAME_TIP :{BLACK}Gi nytt navn på den valgte gruppen
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Overskudd i år: {GREEN}{CURRENCY} {BLACK}(i fjor: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Overskudd i år: {RED}{CURRENCY} {BLACK}(i fjor: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Overskudd i år: {GREEN}{CURRENCY} {BLACK}(i fjor: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Overskudd i år: {RED}{CURRENCY} {BLACK}(i fjor: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/norwegian_nynorsk.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/norwegian_nynorsk.txt Sun Aug 12 18:32:47 2007 +0000
@@ -12,7 +12,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}For nært kanten av kartet
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Du har ikkje nok pengar - du treng {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Flatt land er naudsynt
STR_0008_WAITING :{BLACK}Ventar: {WHITE}{STRING}
@@ -3362,10 +3361,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Gje den valde gruppa nytt namn
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Klikk for å beskytte denne gruppa frå å global automatisk erstatning
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Forteneste i år: {GREEN}{CURRENCY} {BLACK}(førre år: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Forteneste i år: {RED}{CURRENCY} {BLACK}(førre år: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Forteneste i år: {GREEN}{CURRENCY} {BLACK}(førre år: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Forteneste i år: {RED}{CURRENCY} {BLACK}(førre år: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/piglatin.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/piglatin.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Ootay oseclay otay edgeway ofway apmay
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Otnay enoughway ashcay - equiresray {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Atflay andlay equiredray
STR_0008_WAITING :{BLACK}Aitingway: {WHITE}{STRING}
@@ -3361,10 +3360,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Enameray ethay electedsay oupgray
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Ickclay otay otectpray isthay oupgray omfray obalglay autoreplaceway
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Ofitpray isthay earyay: {GREEN}{CURRENCY} {BLACK}(astlay earyay: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Ofitpray isthay earyay: {RED}{CURRENCY} {BLACK}(astlay earyay: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Ofitpray isthay earyay: {GREEN}{CURRENCY} {BLACK}(astlay earyay: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Ofitpray isthay earyay: {RED}{CURRENCY} {BLACK}(astlay earyay: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/polish.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/polish.txt Sun Aug 12 18:32:47 2007 +0000
@@ -13,7 +13,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Zbyt blisko krawędzi mapy
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Za mało pieniędzy - wymagane {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Wymagany płaski teren
STR_0008_WAITING :{BLACK}Czeka: {WHITE}{STRING}
@@ -134,7 +133,7 @@
STR_QUANTITY_MAIL :{COMMA} pacz{P ka ki ek} poczty
STR_QUANTITY_OIL :{VOLUME} ropy
STR_QUANTITY_LIVESTOCK :{COMMA} sztuk{P a i ""} żywca
-STR_QUANTITY_GOODS :{COMMA} towarów
+STR_QUANTITY_GOODS :{COMMA} skrzy{P nia nie ń} towarów
STR_QUANTITY_GRAIN :{WEIGHT} zboża
STR_QUANTITY_WOOD :{WEIGHT} drewna
STR_QUANTITY_IRON_ORE :{WEIGHT} rudy żelaza
@@ -434,13 +433,13 @@
STR_SORT_BY_PROFIT_THIS_YEAR :Zysk w tym roku
STR_SORT_BY_AGE :Wiek
STR_SORT_BY_RELIABILITY :Niezawodność
-STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Całkowita pojemność typu towaru
+STR_SORT_BY_TOTAL_CAPACITY_PER_CARGOTYPE :Całkowita pojemność typu ładunku
STR_SORT_BY_MAX_SPEED :Prędkość maks.
STR_SORT_BY_MODEL :Model
STR_SORT_BY_VALUE :Wartość
STR_SORT_BY_FACILITY :Typ stacji
-STR_SORT_BY_WAITING :Wartość czekającego towaru
-STR_SORT_BY_RATING_MAX :Ocena towaru
+STR_SORT_BY_WAITING :Wartość czekającego ładunku
+STR_SORT_BY_RATING_MAX :Ocena ładunku
STR_ENGINE_SORT_ENGINE_ID :ID pojazdu
STR_ENGINE_SORT_COST :Cena
STR_ENGINE_SORT_POWER :Moc
@@ -448,9 +447,9 @@
STR_ENGINE_SORT_RUNNING_COST :Koszty użytkowania
STR_ENGINE_SORT_POWER_VS_RUNNING_COST :Moc/Koszty użytkowania
STR_ENGINE_SORT_CARGO_CAPACITY :Pojemność
-STR_NO_WAITING_CARGO :{BLACK}Nie ma żadnego czekającego towaru
+STR_NO_WAITING_CARGO :{BLACK}Nie ma żadnego czekającego ładunku
STR_SELECT_ALL_FACILITIES :{BLACK}Zaznacz wszystkie typy stacji
-STR_SELECT_ALL_TYPES :{BLACK}Zaznacz wszystkie typy towaru (oraz brak czekającego towaru)
+STR_SELECT_ALL_TYPES :{BLACK}Zaznacz wszystkie typy ładunku (oraz brak czekającego ładunku)
STR_AVAILABLE_TRAINS :{BLACK}Dostępne Lokomotywy
STR_AVAILABLE_ROAD_VEHICLES :{BLACK}Dostępne Samochody
STR_AVAILABLE_SHIPS :{BLACK}Dostępne Statki
@@ -699,7 +698,7 @@
STR_NO_SPACE_FOR_TOWN :{WHITE}...nie ma więcej miejsca na mapie
STR_023B_INCREASE_SIZE_OF_TOWN :{BLACK}Zwiększ rozmiar miasta
STR_023C_EXPAND :{BLACK}Rozszerz
-STR_023D_RANDOM_TOWN :{BLACK}Dowolne miasto
+STR_023D_RANDOM_TOWN :{BLACK}Losowe miasto
STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION :{BLACK}Budowanie miasta w losowym miejscu
STR_023F_INDUSTRY_GENERATION :{WHITE}Tworzenie przedsiębiorstw
STR_0240_COAL_MINE :{BLACK}{G=f}Kopalnia Węgla
@@ -810,7 +809,7 @@
STR_0287_ONLY_ONE_ALLOWED_PER_TOWN :{WHITE}...dozwolone jedno na miasto
STR_0288_PLANT_TREES :{BLACK}Posadź drzewa
STR_0289_PLACE_SIGN :{BLACK}Umieść napis
-STR_028A_RANDOM_TREES :{BLACK}Dowolne drzewa
+STR_028A_RANDOM_TREES :{BLACK}Losowe drzewa
STR_028B_PLANT_TREES_RANDOMLY_OVER :{BLACK}Pokryj krajobraz losowymi drzewami
STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Umieść kamieniste tereny
STR_028D_PLACE_LIGHTHOUSE :{BLACK}Umieść latarnię morską
@@ -1114,13 +1113,17 @@
STR_CONFIG_PATCHES_REALISTICACCEL :{LTBLUE}Realistyczne przyspieszenie pociągów: {ORANGE}{STRING}
STR_CONFIG_PATCHES_FORBID_90_DEG :{LTBLUE}Zabroń pociągom i statkom skręcać o 90st: {ORANGE}{STRING} {LTBLUE} (wymaga NPF)
STR_CONFIG_PATCHES_JOINSTATIONS :{LTBLUE}Połącz stacje budowane jedna obok drugiej: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_FULLLOADANY :{LTBLUE}Opuść stację gdy dowolny towar jest pełny, gdy 'Załadunek': {ORANGE}{STRING}
+STR_CONFIG_PATCHES_FULLLOADANY :{LTBLUE}Opuść stację gdy dowolny ładunek jest pełny, przy 'Załadunku': {ORANGE}{STRING}
STR_CONFIG_PATCHES_IMPROVEDLOAD :{LTBLUE}Użyj ulepszonego algorytmu załadunku: {ORANGE}{STRING}
STR_CONFIG_PATCHES_GRADUAL_LOADING :{LTBLUE}Stopniowy załadunek pojazdów: {ORANGE}{STRING}
STR_CONFIG_PATCHES_INFLATION :{LTBLUE}Inflacja: {ORANGE}{STRING}
STR_CONFIG_PATCHES_SELECTGOODS :{LTBLUE}Dostarcz ładunek na stację tylko jeśli jest zapotrzebowanie: {ORANGE}{STRING}
STR_CONFIG_PATCHES_LONGBRIDGES :{LTBLUE}Pozwól budować bardzo długie mosty: {ORANGE}{STRING}
STR_CONFIG_PATCHES_GOTODEPOT :{LTBLUE}Zezwalaj na wysyłanie do zajezdni: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD :{LTBLUE}Metoda budowania przedsiębiorstw pierwszego stopnia: {ORANGE}{STRING}
+STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE :budowa niedostępna
+STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL :jak inne przedsiębiorstwa
+STR_CONFIG_PATCHES_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :przez poszukiwanie
STR_CONFIG_PATCHES_MULTIPINDTOWN :{LTBLUE}Pozwól na wiele podobnych przedsiębiorstw w mieście: {ORANGE}{STRING}
STR_CONFIG_PATCHES_SAMEINDCLOSE :{LTBLUE}Przedsiębiorstwa jednego typu mogą być bud. obok siebie: {ORANGE}{STRING}
STR_CONFIG_PATCHES_LONGDATE :{LTBLUE}Zawsze pokazuj datę w długim formacie w pasku statusu: {ORANGE}{STRING}
@@ -1324,7 +1327,7 @@
STR_GENERATE_RANDOM_LANDSCAPE :{WHITE}Jesteś pewien że chcesz stworzyć losowy krajobraz?
STR_MANY_RANDOM_TOWNS :{BLACK}Wiele losowych miast
STR_RANDOM_TOWNS_TIP :{BLACK}Pokryj mapę losowo położonymi miastami
-STR_MANY_RANDOM_INDUSTRIES :Wiele losowych przedsiębiorstw
+STR_MANY_RANDOM_INDUSTRIES :Wiele losowych
STR_RANDOM_INDUSTRIES_TIP :{BLACK}Pokryj mapę losowo położonymi przedsiębiorstwami
STR_CAN_T_GENERATE_INDUSTRIES :{WHITE}Nie można stworzyć przedsiębiorstw...
@@ -1392,10 +1395,10 @@
STR_INDUSTRY_TOO_CLOSE :{WHITE}...zbyt blisko innego przedsiębiorstwa
-STR_RAIL_REFIT_VEHICLE_TO_CARRY :{BLACK}Przebudowa pociągu do przewozu innego typu towaru
+STR_RAIL_REFIT_VEHICLE_TO_CARRY :{BLACK}Przebudowa pociągu do przewozu innego typu ładunku
STR_RAIL_REFIT_VEHICLE :{BLACK}Przebudowa pociągu
STR_RAIL_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Wybierz jaki ładunek ma przewozić pociąg
-STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}Przebuduj pociąg do przewozu zaznaczonego typu towaru
+STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED :{BLACK}Przebuduj pociąg do przewozu zaznaczonego typu ładunku
STR_RAIL_CAN_T_REFIT_VEHICLE :{WHITE}Nie można przebudować pociągu...
STR_CONFIG_PATCHES_SERVINT_ISPERCENT :{LTBLUE}Okres między serwisowaniami w procentach: {ORANGE}{STRING}
STR_CONFIG_GAME_PRODUCTION :{WHITE}Zmiana produkcji
@@ -1955,7 +1958,7 @@
STR_3053_CENTER_MAIN_VIEW_ON_STATION :{BLACK}Centruj główny widok na stacji
STR_3054_SHOW_STATION_RATINGS :{BLACK}Pokaż ocenę stacji
STR_3055_CHANGE_NAME_OF_STATION :{BLACK}Zmień nazwę stacji
-STR_3056_SHOW_LIST_OF_ACCEPTED_CARGO :{BLACK}Pokaż listę akceptowanych towarów
+STR_3056_SHOW_LIST_OF_ACCEPTED_CARGO :{BLACK}Pokaż listę akceptowanych ładunków
STR_3057_STATION_NAMES_CLICK_ON :{BLACK}Nazwa stacji - kliknij na nazwie aby wycentrować główny widok na stacji
STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT :{BLACK}Wybierz wielkość/typ lotniska
STR_305C_0 :{STATION} {STATIONFEATURES}
@@ -2100,13 +2103,17 @@
############ range for requires ends
############ range for produces starts
+STR_INDUSTRY_WINDOW_WAITING_FOR_PROCESSING :{BLACK}Ładunek oczekujący na przetworzenie:
+STR_INDUSTRY_WINDOW_WAITING_STOCKPILE_CARGO :{YELLOW}{CARGO}{BLACK}
+STR_4827_PRODUCES :{BLACK}Produkuje: {YELLOW}{STRING}
+STR_4828_PRODUCES :{BLACK}Produkuje: {YELLOW}{STRING}, {STRING}
############ range for produces ends
STR_482A_PRODUCTION_LAST_MONTH :{BLACK}Wyprodukowano w ostatnim miesiącu:
STR_482B_TRANSPORTED :{YELLOW}{CARGO}{BLACK} ({COMMA}% przetransportowano)
STR_482C_CENTER_THE_MAIN_VIEW_ON :{BLACK}Centruj główny widok na przedsiębiorstwie
STR_482D_NEW_UNDER_CONSTRUCTION :{BLACK}{BIGFONT}Rozpoczęto budowę nowe{G go j go} {STRING.d} blisko {TOWN}!
-STR_482E_NEW_BEING_PLANTED_NEAR :{BLACK}{BIGFONT}Now{G y a e} {STRING} został{G "" a o} posadzon{G y a e} blisko {TOWN}!
+STR_482E_NEW_BEING_PLANTED_NEAR :{BLACK}{BIGFONT}Now{G y a e} {STRING} został{G 0 "" a o} posadzon{G 0 y a e} blisko {TOWN}!
STR_482F_COST :{BLACK}Koszt: {YELLOW}{CURRENCY}
STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY :{WHITE}Nie można tutaj wybudować tego przedsiębiorstwa...
STR_4831_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}...las może być posadzony tylko powyżej linii śniegu
@@ -2391,7 +2398,7 @@
STR_7060_CAN_T_BUY_COMPANY :{WHITE}Nie można kupić firmy...
STR_7061_CARGO_PAYMENT_RATES :{WHITE}Stawki za Ładunek
STR_7062_DAYS_IN_TRANSIT :{BLACK}{TINYFONT}Dni w transporcie
-STR_7063_PAYMENT_FOR_DELIVERING :{BLACK}{TINYFONT}Oplata za przewóz 10 jednostek (lub 10,000 litrów) towaru na odległość 20 pól
+STR_7063_PAYMENT_FOR_DELIVERING :{BLACK}{TINYFONT}Oplata za przewóz 10 jednostek (lub 10,000 litrów) ładunku na odległość 20 pól
STR_7064_TOGGLE_GRAPH_FOR_CARGO :{BLACK}Przełącznik wykresu ładunku wł./wył.
STR_7065 :{BLACK}{TINYFONT}{STRING}
STR_7066_ENGINEER :Inżynier
@@ -2738,15 +2745,15 @@
STR_8804 :{SETX 10}{COMMA}: {STRING} {STRING}
STR_8805 :{RIGHTARROW}{SETX 10}{COMMA}: {STRING} {STRING}
STR_8806_GO_TO :Idź do {STATION}
-STR_8807_GO_TO_TRANSFER :Idź do {STATION} (Przewieź i weź towar)
+STR_8807_GO_TO_TRANSFER :Idź do {STATION} (Przewieź i weź ładunek)
STR_8808_GO_TO_UNLOAD :Idź do {STATION} (Wyładunek)
-STR_8809_GO_TO_TRANSFER_UNLOAD :Idź do {STATION} (Przewieź i nie bierz towaru)
+STR_8809_GO_TO_TRANSFER_UNLOAD :Idź do {STATION} (Przewieź i nie bierz ładunku)
STR_880A_GO_TO_LOAD :Idź do {STATION} (Załadunek)
STR_880B_GO_TO_TRANSFER_LOAD :Idź do {STATION} (Przewieź i czekaj na pełen załadunek)
STR_880C_GO_NON_STOP_TO :Idź bez zatrzymywania do {STATION}
-STR_880D_GO_TO_NON_STOP_TRANSFER :Idź bez zatrzymywania do {STATION} (Przewieź i weź towar)
+STR_880D_GO_TO_NON_STOP_TRANSFER :Idź bez zatrzymywania do {STATION} (Przewieź i weź ładunek)
STR_880E_GO_NON_STOP_TO_UNLOAD :Idź bez zatrzymywania do {STATION} (Wyładunek)
-STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Idź bez zatrzymywania do {STATION} (Przewieź i nie bierz towaru)
+STR_880F_GO_TO_NON_STOP_TRANSFER_UNLOAD :Idź bez zatrzymywania do {STATION} (Przewieź i nie bierz ładunku)
STR_8810_GO_NON_STOP_TO_LOAD :Idź bez zatrzymywania do {STATION} (Załadunek)
STR_8811_GO_TO_NON_STOP_TRANSFER_LOAD :Idź bez zatrzymywania do {STATION} (Przewieź i czekaj na pełen załadunek)
STR_GO_TO_TRAIN_DEPOT :Idź do zajezdni w {TOWN}
@@ -2800,7 +2807,7 @@
STR_8827_FULL_LOAD :{BLACK}Załadunek
STR_8828_UNLOAD :{BLACK}Wyładunek
STR_REFIT :{BLACK}Przebuduj
-STR_REFIT_TIP :{BLACK}Wybierz do przewozu jakiego towaru przebudować pojazd w tym zadaniu. CTRL+klik usuwa polecenie przebudowy
+STR_REFIT_TIP :{BLACK}Wybierz do przewozu jakiego ładunku przebudować pojazd w tym zadaniu. CTRL+klik usuwa polecenie przebudowy
STR_REFIT_ORDER :(Przebuduj na {STRING})
STR_TIMETABLE_VIEW :{BLACK}Rozkład
STR_TIMETABLE_VIEW_TOOLTIP :{BLACK}Otwórz widok rozkładu jazdy
@@ -2849,7 +2856,7 @@
STR_884C_SHOW_TRAIN_DETAILS :{BLACK}Pokaż szczegóły pociągu
STR_884D_INCREASE_SERVICING_INTERVAL :{BLACK}Zwiększ okres między serwisowaniem
STR_884E_DECREASE_SERVICING_INTERVAL :{BLACK}Zmniejsz okres między serwisowaniem
-STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Pokaż szczegóły przewożonych towarów
+STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED :{BLACK}Pokaż szczegóły przewożonych ładunków
STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES :{BLACK}Pokaż szczegóły pociągu
STR_8851_SHOW_CAPACITIES_OF_EACH :{BLACK}Pokaż pojemność każdego wagonu
STR_8852_SHOW_TOTAL_CARGO :{BLACK}Pokaż całkowitą pojemność pociągu, według typu ładunku
@@ -2883,7 +2890,7 @@
STR_8869_CAN_T_REVERSE_DIRECTION :{WHITE}Nie można odwrócić kierunku jazdy pociągu...
STR_886A_RENAME_TRAIN_VEHICLE_TYPE :{WHITE}Zmiana nazwy typu pociągu
STR_886B_CAN_T_RENAME_TRAIN_VEHICLE :{WHITE}Nie można zmienić nazwy typu pojazdu...
-STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Spraw by w zaznaczonym poleceniu pojazd był zmuszony do pozostawienia towaru dla kolejnego pojazdu
+STR_886D_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Spraw by w zaznaczonym poleceniu pojazd był zmuszony do pozostawienia ładunku dla kolejnego pojazdu
STR_886F_TRANSFER :{BLACK}Przewieź
STR_CLEAR_TIME :{BLACK}Usuń czas
STR_RESET_LATENESS :{BLACK}Wyzeruj spóźnienia
@@ -2972,9 +2979,9 @@
STR_9038_GO_TO_ROADVEH_DEPOT :Idź do zajezdni sam. w {TOWN}
STR_SERVICE_AT_ROADVEH_DEPOT :Serwisuj w zajezdni sam. w {TOWN}
-STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Przebudowa samochodu do przewozu innego typu towaru
+STR_REFIT_ROAD_VEHICLE_TO_CARRY :{BLACK}Przebudowa samochodu do przewozu innego typu ładunku
STR_REFIT_ROAD_VEHICLE :{BLACK}Przebudowa samochodu
-STR_REFIT_ROAD_VEHICLE_TO_CARRY_HIGHLIGHTED :{BLACK}Przebuduj samochód do przewozu zaznaczonego typu towaru
+STR_REFIT_ROAD_VEHICLE_TO_CARRY_HIGHLIGHTED :{BLACK}Przebuduj samochód do przewozu zaznaczonego typu ładunku
STR_REFIT_ROAD_VEHICLE_CAN_T :{WHITE}Nie można przebudować samochodu...
STR_ROAD_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Wybierz ładunek jaki ma przewozić ten samochód
@@ -3037,11 +3044,11 @@
STR_9837_RENAME_SHIP_TYPE :{BLACK}Zmień nazwę typu statku
STR_9838_RENAME_SHIP_TYPE :{WHITE}Zmień nazwę typu statku
STR_9839_CAN_T_RENAME_SHIP_TYPE :{WHITE}Nie można zmienić nazwy typu statku...
-STR_983A_REFIT_CARGO_SHIP_TO_CARRY :{BLACK}Przebudowa statku do przewozu innego typu towaru
+STR_983A_REFIT_CARGO_SHIP_TO_CARRY :{BLACK}Przebudowa statku do przewozu innego typu ładunku
STR_983B_REFIT :{WHITE}{VEHICLE} (Przebudowa)
STR_983C_REFIT_SHIP :{BLACK}Przebudowa statku
STR_983D_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Wybierz jaki ładunek ma przewozić statek
-STR_983E_REFIT_SHIP_TO_CARRY_HIGHLIGHTED :{BLACK}Przebuduj statek do przewozu zaznaczonego typu towaru
+STR_983E_REFIT_SHIP_TO_CARRY_HIGHLIGHTED :{BLACK}Przebuduj statek do przewozu zaznaczonego typu ładunku
STR_983F_SELECT_CARGO_TYPE_TO_CARRY :{GOLD}Wybierz typ ładunku do przewozu:
STR_9840_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nowa pojemność: {GOLD}{CARGO}{}{BLACK}Koszt przebudowy: {GOLD}{CURRENCY}
STR_9841_CAN_T_REFIT_SHIP :{WHITE}Nie można przebudować statku...
@@ -3110,12 +3117,12 @@
STR_A038_RENAME_AIRCRAFT_TYPE :{BLACK}Zmień nazwę typu samolotu
STR_A039_RENAME_AIRCRAFT_TYPE :{WHITE}Zmień nazwę typu samolotu
STR_A03A_CAN_T_RENAME_AIRCRAFT_TYPE :{WHITE}Nie można zmienić nazwy typu samolotu...
-STR_A03B_REFIT_AIRCRAFT_TO_CARRY :{BLACK}Przebudowa samolotu do przewozu innego typu towaru
+STR_A03B_REFIT_AIRCRAFT_TO_CARRY :{BLACK}Przebudowa samolotu do przewozu innego typu ładunku
STR_A03C_REFIT :{WHITE}{VEHICLE} (Przebudowa)
STR_A03D_REFIT_AIRCRAFT :{BLACK}Przebudowa samolotu
STR_A03E_SELECT_TYPE_OF_CARGO_FOR :{BLACK}Wybierz jaki ładunek ma przenosić samolot
-STR_A03F_REFIT_AIRCRAFT_TO_CARRY :{BLACK}Przebuduj samolot do przewozu zaznaczonego typu towaru
-STR_A040_SELECT_CARGO_TYPE_TO_CARRY :{GOLD}Wybierz typ towaru do przewozu:
+STR_A03F_REFIT_AIRCRAFT_TO_CARRY :{BLACK}Przebuduj samolot do przewozu zaznaczonego typu ładunku
+STR_A040_SELECT_CARGO_TYPE_TO_CARRY :{GOLD}Wybierz typ ładunku do przewozu:
STR_A041_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nowa pojemność: {GOLD}{STRING}{}{BLACK}Koszt przebudowy: {GOLD}{CURRENCY}
STR_A042_CAN_T_REFIT_AIRCRAFT :{WHITE}Nie można przebudować samolotu...
STR_GO_TO_AIRPORT_HANGAR :Idź do hangaru na {STATION}
@@ -3149,7 +3156,7 @@
STR_PERFORMANCE_DETAIL_MIN_INCOME :{BLACK}Min. przychód:
STR_PERFORMANCE_DETAIL_MAX_INCOME :{BLACK}Maks. przychód:
STR_PERFORMANCE_DETAIL_DELIVERED :{BLACK}Przewieziono:
-STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Towar:
+STR_PERFORMANCE_DETAIL_CARGO :{BLACK}Ładunek:
STR_PERFORMANCE_DETAIL_MONEY :{BLACK}Pieniądze:
STR_PERFORMANCE_DETAIL_LOAN :{BLACK}Pożyczka:
STR_PERFORMANCE_DETAIL_TOTAL :{BLACK}Łącznie:
@@ -3159,8 +3166,8 @@
STR_PERFORMANCE_DETAIL_MIN_PROFIT_TIP :{BLACK}Minimalny zysk spośród wszystkich pojazdów, które mają conajmniej 2 lata.
STR_PERFORMANCE_DETAIL_MIN_INCOME_TIP :{BLACK}Ilość pieniędzy zarobiona w miesiącu z najmniejszym zyskiem w ostatnich 12 kwartałach
STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP :{BLACK}Ilość pieniędzy zarobiona w miesiącu z największym zyskiem w ostatnich 12 kwartałach
-STR_PERFORMANCE_DETAIL_DELIVERED_TIP :{BLACK}Ilość towaru przewieziona w poprzednich 4 kwartałach
-STR_PERFORMANCE_DETAIL_CARGO_TIP :{BLACK}Ilość rożnych towarów przewiezionych w ostatnim kwartale
+STR_PERFORMANCE_DETAIL_DELIVERED_TIP :{BLACK}Ilość ładunku przewiezionego w poprzednich 4 kwartałach
+STR_PERFORMANCE_DETAIL_CARGO_TIP :{BLACK}Ilość rożnych typów ładunku przewiezionych w ostatnim kwartale
STR_PERFORMANCE_DETAIL_MONEY_TIP :{BLACK}Ilość pieniędzy w ręku
STR_PERFORMANCE_DETAIL_LOAN_TIP :{BLACK}Wielkość pożyczki wziętej przez firmę
STR_PERFORMANCE_DETAIL_TOTAL_TIP :{BLACK}Suma przyznanych punktów
@@ -3284,7 +3291,7 @@
STR_REPLACE_REMOVE_WAGON :{BLACK}Usunięcie wagonów: {ORANGE}{SKIP}{STRING}
STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Autowymiana zachowuje długość pociągu poprzez usuwanie wagonów (począwszy od początku), jeśli wymiana lokomotywy spowoduje wydłużenie pociągu.
STR_REPLACE_ENGINE_WAGON_SELECT :{BLACK}Zastępowanie: {ORANGE}{SKIP}{SKIP}{STRING}
-STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EKSPERYMENTALNE NARZEDZIE {}Przejdź pomiędzy oknami zamiany lokomotyw i wagonów.{}Wymiana wagonu nastąpi tylko jeśli nowy wagon może być przebudowany do przewożenia tego samego towaru co poprzedni. Każdy wagon pociągu jest sprawdzany podczas procesu zamiany.
+STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK} EKSPERYMENTALNE NARZĘDZIE {}Przejdź pomiędzy oknami zamiany lokomotyw i wagonów.{}Wymiana wagonu nastąpi tylko jeśli nowy wagon może być przebudowany do przewożenia tego samego typu ładunku co poprzedni. Każdy wagon pociągu jest sprawdzany podczas procesu zamiany.
STR_RAIL_VEHICLE_NOT_AVAILABLE :{WHITE}Pojazd nie jest dostępny
STR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Pojazd nie jest dostępny
STR_SHIP_NOT_AVAILABLE :{WHITE}Statek nie jest dostępny
@@ -3335,7 +3342,7 @@
STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Pojemność: {GOLD}{COMMA} pasażerów, {COMMA} paczek poczty
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Moc: {GOLD}+{POWER}{BLACK} Waga: {GOLD}+{WEIGHT_S}
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Można przebudować na: {GOLD}
-STR_PURCHASE_INFO_ALL_TYPES :Wszystkie typy towarów
+STR_PURCHASE_INFO_ALL_TYPES :Wszystkie typy ładunków
STR_PURCHASE_INFO_ALL_BUT :Wszystko oprócz {GOLD}
STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Siła Pociągowa: {GOLD}{FORCE}
@@ -3482,11 +3489,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Zmień nazwę zaznaczonej grupy
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Kliknij, aby ochronić tę grupę przed globalną zamianą pojazdów
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Zysk w tym roku: {GREEN}{CURRENCY} {BLACK}(w ostatnim roku: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Zysk w tym roku: {RED}{CURRENCY} {BLACK}(w ostatnim roku: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Zysk w tym roku: {GREEN}{CURRENCY} {BLACK}(w ostatnim roku: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Zysk w tym roku: {RED}{CURRENCY} {BLACK}(w ostatnim roku: {RED}{CURRENCY}{BLACK})
-
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
STR_GROUP_NAME :{GROUP}
@@ -3502,4 +3504,7 @@
########
+STR_FUND_NEW_INDUSTRY :{BLACK}Ufunduj
+STR_PROSPECT_NEW_INDUSTRY :{BLACK}Zleć poszukiwanie
+STR_BUILD_NEW_INDUSTRY :{BLACK}Wybuduj
STR_INDUSTRY_SELECTION_HINT :{BLACK}Wybierz przedsiębiorstwo z listy
--- a/src/lang/portuguese.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/portuguese.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Muito perto da borda do mapa
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Dinheiro insuficiente - necessário {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}É necessário terreno plano
STR_0008_WAITING :{BLACK}Em espera: {WHITE}{STRING}
@@ -3361,10 +3360,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Mudar o nome do grupo seleccionado
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Clique para proteger este grupo da autosubstituição global
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Lucro deste ano: {GREEN}{CURRENCY} {BLACK}(ano passado: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Lucro deste ano: {RED}{CURRENCY} {BLACK}(ano passado: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Lucro deste ano: {GREEN}{CURRENCY} {BLACK}(ano passado: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Lucro deste ano: {RED}{CURRENCY} {BLACK}(ano passado: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/romanian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/romanian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Prea aproape de marginea hărţii
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Nu ai destui bani - îţi trebuie {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Necesită teren plat
STR_0008_WAITING :{BLACK}În aşteptare: {WHITE}{STRING}
@@ -3361,10 +3360,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Redenumeste grupul selectat
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Click aici pentru a proteja acest grup de la inlocuirile automate globale
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profit anul acesta: {GREEN}{CURRENCY} {BLACK}(anul trecut: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Profit anul acesta: {RED}{CURRENCY} {BLACK}(anul trecut: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit anul acesta: {GREEN}{CURRENCY} {BLACK}(anul trecut: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Profit anul acesta: {RED}{CURRENCY} {BLACK}(anul trecut: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/russian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/russian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -13,7 +13,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Слишком близко к краю карты
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Недостаточно денег - требуется {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Необходимо ровное место
STR_0008_WAITING :{BLACK}Ожидает: {WHITE}{STRING}
@@ -1143,7 +1142,7 @@
STR_CONFIG_PATCHES_SERVINT_SHIPS :{LTBLUE}Обслуживание кораблей: {ORANGE}кажд{P 1 ый ые ые} {STRING} д{P 1 ень ня ней}/%
STR_CONFIG_PATCHES_SERVINT_SHIPS_DISABLED :{LTBLUE}Обслуживание кораблей: {ORANGE}не обслуживаются
STR_CONFIG_PATCHES_NOSERVICE :{LTBLUE}Не обслуживать транспорт, если отключены поломки: {ORANGE}{STRING}
-STR_CONFIG_PATCHES_WAGONSPEEDLIMITS :{LTBLUE}Использовать органичение скорости у вагонов (если есть): {ORANGE}{STRING}
+STR_CONFIG_PATCHES_WAGONSPEEDLIMITS :{LTBLUE}Использовать ограничение скорости у вагонов (если есть): {ORANGE}{STRING}
STR_CONFIG_PATCHES_DISABLE_ELRAILS :{LTBLUE}Выключить электрофицированную железную дорогу: {ORANGE}{STRING}
STR_CONFIG_PATCHES_COLORED_NEWS_YEAR :{LTBLUE}Цветные газеты появляются: {ORANGE}в {STRING} году
@@ -3374,11 +3373,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Переименовать выбранную группу
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}В зажатом состоянии защищает группу от всеобщей автозамены
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Прибыль этот год: {GREEN}{CURRENCY} {BLACK}(прошлый год: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Прибыль этот год: {RED}{CURRENCY} {BLACK}(прошлый год: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Прибыль за год: {GREEN}{CURRENCY} {BLACK}(прошлый год: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Прибыль за год: {RED}{CURRENCY} {BLACK}(прошлый год: {RED}{CURRENCY}{BLACK})
-
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
STR_GROUP_NAME :{GROUP}
--- a/src/lang/simplified_chinese.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/simplified_chinese.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}距离地图边界过近
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}没有足够的现金 - 需要 {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}需要平坦的地面
STR_0008_WAITING :{BLACK}等待:{WHITE}{STRING}
--- a/src/lang/slovak.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/slovak.txt Sun Aug 12 18:32:47 2007 +0000
@@ -13,7 +13,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Príliš blízko okraja mapy
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Malá hotovost - potrebných {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Potrebný rovný terén
STR_0008_WAITING :{BLACK}Caka: {WHITE}{STRING}
@@ -3425,10 +3424,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Premenovat vybranú skupinu
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Kliknite pre znemoznenie automatického nahradzovania v skupine
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Zisk tento rok: {GREEN}{CURRENCY} {BLACK}(minulý rok: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Zisk tento rok: {RED}{CURRENCY} {BLACK}(lminulý rok: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Zisk tento rok: {GREEN}{CURRENCY} {BLACK}(minulý rok: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Zisk tento rok: {RED}{CURRENCY} {BLACK}(minulý rok: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/slovenian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/slovenian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -12,7 +12,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Preblizu roba zemljevida
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Premalo denarja - potrebuješ {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Potrebno je ravno zemljišče
STR_0008_WAITING :{BLACK}Čaka: {WHITE}{STRING}
@@ -3441,10 +3440,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Preimenuj izbrano skupino
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Klikni za zaščito skupine pred splošno samoobnovo
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Dobiček letos: {GREEN}{CURRENCY} {BLACK}(lani: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Dobiček letos: {RED}{CURRENCY} {BLACK}(lani: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Dobiček letos: {GREEN}{CURRENCY} {BLACK}(lani: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Dobiček letos: {RED}{CURRENCY} {BLACK}(lani: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/spanish.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/spanish.txt Sun Aug 12 18:32:47 2007 +0000
@@ -12,7 +12,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Demasiado cerca del borde del mapa
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}No hay suficiente dinero - se requiere {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Se requiere terreno llano
STR_0008_WAITING :{BLACK}Esperando: {WHITE}{STRING}
@@ -3362,10 +3361,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Renombrar el grupo seleccionado
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Pulsa para proteger este grupo del auto reemplazado global
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Beneficio este año: {GREEN}{CURRENCY} {BLACK}(año pasado: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Beneficio este año: {RED}{CURRENCY} {BLACK}(año pasado: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Beneficio este año: {GREEN}{CURRENCY} {BLACK}(año pasado: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Beneficio este año: {RED}{CURRENCY} {BLACK}(año pasado: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/swedish.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/swedish.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}För nära kanten av kartan
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Inte tillräckligt med pengar - krävs {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Platt mark krävs
STR_0008_WAITING :{BLACK}Väntar: {WHITE}{STRING}
@@ -3357,10 +3356,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Döp om den valda gruppen
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Klicka för att skydda denna grupp från globalt autoutbyte
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Vinst detta år: {GREEN}{CURRENCY} {BLACK}(förra året: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Vinst detta år: {RED}{CURRENCY} {BLACK}(förra året: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Vinst detta år: {GREEN}{CURRENCY} {BLACK}(förra året: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Vinst detta år: {RED}{CURRENCY} {BLACK}(förra året: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/traditional_chinese.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/traditional_chinese.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}太接近版圖邊緣
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}現金不足 - 需要 {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}需要平地
STR_0008_WAITING :{BLACK}等候:{WHITE}{STRING}
@@ -3361,10 +3360,6 @@
STR_GROUP_RENAME_TIP :{BLACK}為群組重新命名
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}點此可避免此群組內的設備被來自全域的設定替換
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}本年盈餘: {GREEN}{CURRENCY} {BLACK}(去年: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}本年盈餘:{RED}{CURRENCY} {BLACK}(去年: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}本年盈餘: {GREEN}{CURRENCY} {BLACK}(去年: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}本年盈餘: {RED}{CURRENCY} {BLACK}(去年:{RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/turkish.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/turkish.txt Sun Aug 12 18:32:47 2007 +0000
@@ -11,7 +11,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Sınıra çok yakın
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Para Yetersiz - şu kadar gerekli: {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Yerin düzleştirilmesi lazım
STR_0008_WAITING :{BLACK}Bekleyen: {WHITE}{STRING}
@@ -3330,10 +3329,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Seçili grubun ismini değiştir
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Bu grubu otomatik yenilemeden ayrı tutmak için tıklayın
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Bu seneki gelir: {GREEN}{CURRENCY} {BLACK}(geçen sene: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Bu seneki gelir: {RED}{CURRENCY} {BLACK}(geçen sene: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Bu seneki gelir: {GREEN}{CURRENCY} {BLACK}(geçen sene: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Bu seneki gelir: {RED}{CURRENCY} {BLACK}(geçen sene: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/ukrainian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/ukrainian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -13,7 +13,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Надто близько до краю карти
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Недостатньо коштів - потрібно {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Потрібна рівна ділянка
STR_0008_WAITING :{BLACK}Чекає: {WHITE}{STRING}
@@ -3524,10 +3523,6 @@
STR_GROUP_RENAME_TIP :{BLACK}Перейменувати вибрану групу
STR_GROUP_REPLACE_PROTECTION_TIP :{BLACK}Клікніть, щоб захистити групу від глобальної автозаміни
-STR_PROFIT_GOOD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Прибуток цього року: {GREEN}{CURRENCY} {BLACK}(торік: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_GOOD_LAST_YEAR :{TINYFONT}{BLACK}Прибуток цього року: {RED}{CURRENCY} {BLACK}(торік: {GREEN}{CURRENCY}{BLACK})
-STR_PROFIT_GOOD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Прибуток цього року: {GREEN}{CURRENCY} {BLACK}(торік: {RED}{CURRENCY}{BLACK})
-STR_PROFIT_BAD_THIS_YEAR_BAD_LAST_YEAR :{TINYFONT}{BLACK}Прибуток цього року: {RED}{CURRENCY} {BLACK}(торік: {RED}{CURRENCY}{BLACK})
STR_COMPANY_NAME :{COMPANY}
STR_ENGINE_NAME :{ENGINE}
--- a/src/lang/unfinished/afrikaans.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/unfinished/afrikaans.txt Sun Aug 12 18:32:47 2007 +0000
@@ -9,7 +9,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Te naby aan kant van kaart
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Nie genoeg kontant nie - vereis {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Platte land vereis
STR_0008_WAITING :{BLACK}Wagtend: {WHITE}{STRING}
--- a/src/lang/unfinished/frisian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/unfinished/frisian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -8,7 +8,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Te ticht by de râne fan 'e map
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Net genôch jild - {CURRENCY} nedich
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Flak lân nedich
STR_0008_WAITING :{BLACK}Wachtsjend: {WHITE}{STRING}
--- a/src/lang/unfinished/greek.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/unfinished/greek.txt Sun Aug 12 18:32:47 2007 +0000
@@ -10,7 +10,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Πολυ κοντά στην άκρη του χάρτη
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Δεν υπάρχουν αρκετά χρήματα - απαιτούνται {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}.
-STR_0005 :{RED}{CURRENCY}.
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Απαιτείται επίπεδο εδαφος
STR_0008_WAITING :{BLACK}Αναμονη: {WHITE}{STRING}
--- a/src/lang/unfinished/latvian.txt Sun Aug 12 18:18:48 2007 +0000
+++ b/src/lang/unfinished/latvian.txt Sun Aug 12 18:32:47 2007 +0000
@@ -13,7 +13,6 @@
STR_0002_TOO_CLOSE_TO_EDGE_OF_MAP :{WHITE}Pārāk tuvu kartes malai
STR_0003_NOT_ENOUGH_CASH_REQUIRES :{WHITE}Nepietiek naudas - nepieciešami {CURRENCY}
STR_0004 :{WHITE}{CURRENCY}
-STR_0005 :{RED}{CURRENCY}
STR_EMPTY :
STR_0007_FLAT_LAND_REQUIRED :{WHITE}Zemei jābūt plakanai
STR_0008_WAITING :{BLACK}Gaidam: {WHITE}{STRING.a}
--- a/src/main_gui.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/main_gui.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -2068,7 +2068,7 @@
if (p != NULL) {
/* Draw player money */
SetDParam(0, p->player_money);
- DrawStringCentered(w->widget[2].left + 70, 1, p->player_money >= 0 ? STR_0004 : STR_0005, 0);
+ DrawStringCentered(w->widget[2].left + 70, 1, STR_0004, 0);
}
/* Draw status bar */
--- a/src/map.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/map.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -84,7 +84,7 @@
snprintf(buf, lengthof(buf), "TILE_ADD(%s) when adding 0x%.4X and 0x%.4X failed",
exp, tile, add);
-#if !defined(_MSC_VER)
+#if !defined(_MSC_VER) || defined(WINCE)
fprintf(stderr, "%s:%d %s\n", file, line, buf);
#else
_assert(buf, (char*)file, line);
--- a/src/minilzo.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/minilzo.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -60,7 +60,7 @@
# define LZO_HAVE_CONFIG_H
#endif
-#if !defined(LZO_NO_SYS_TYPES_H)
+#if !defined(LZO_NO_SYS_TYPES_H) && !defined(WINCE)
# include <sys/types.h>
#endif
#include <stdio.h>
--- a/src/misc/strapi.hpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/misc/strapi.hpp Sun Aug 12 18:32:47 2007 +0000
@@ -38,7 +38,7 @@
/** ::vsprintf wrapper specialization for char */
template <> /*static*/ inline int CStrApiBaseT<char>::SPrintFL(char *buf, size_t count, const char *fmt, va_list args)
{
-#if defined(_MSC_VER) && (_MSC_VER >= 1400) // VC 8.0 and above
+#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(WINCE) // VC 8.0 and above
return ::vsnprintf_s(buf, count, count - 1, fmt, args);
#else /* ! VC 8.0 and above */
return ::vsnprintf(buf, count, fmt, args);
@@ -55,7 +55,7 @@
/** ::vsprintf wrapper specialization for wchar_t */
template <> /*static*/ inline int CStrApiBaseT<wchar_t>::SPrintFL(wchar_t *buf, size_t count, const wchar_t *fmt, va_list args)
{
-#if defined(_MSC_VER) && (_MSC_VER >= 1400) // VC 8.0 and above
+#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(WINCE) // VC 8.0 and above
return ::_vsnwprintf_s(buf, count, count - 1, fmt, args);
#else /* ! VC 8.0 and above */
# if defined(_WIN32)
--- a/src/newgrf.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/newgrf.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -1245,6 +1245,14 @@
housespec->random_colour[2] = 0x0C; // they stand for red, blue, orange and green
housespec->random_colour[3] = 0x06;
+ /* Make sure that the third cargo type is valid in this
+ * climate. This can cause problems when copying the properties
+ * of a house that accepts food, where the new house is valid
+ * in the temperate climate. */
+ if (!GetCargo(housespec->accepts_cargo[2])->IsValid()) {
+ housespec->cargo_acceptance[2] = 0;
+ }
+
/**
* New houses do not (currently) expect to have a default start
* date before 1930, as this breaks the build date stuff.
@@ -1283,9 +1291,13 @@
/* If value of goods is negative, it means in fact food or, if in toyland, fizzy_drink acceptance.
* Else, we have "standard" 3rd cargo type, goods or candy, for toyland once more */
- housespec->accepts_cargo[2] = (goods >= 0) ? ((_opt.landscape == LT_TOYLAND) ? CT_CANDY : CT_GOODS) :
+ CargoID cid = (goods >= 0) ? ((_opt.landscape == LT_TOYLAND) ? CT_CANDY : CT_GOODS) :
((_opt.landscape == LT_TOYLAND) ? CT_FIZZY_DRINKS : CT_FOOD);
+ /* Make sure the cargo type is valid in this climate. */
+ if (!GetCargo(cid)->IsValid()) goods = 0;
+
+ housespec->accepts_cargo[2] = cid;
housespec->cargo_acceptance[2] = abs(goods); // but we do need positive value here
} break;
--- a/src/newgrf_sound.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/newgrf_sound.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -20,7 +20,7 @@
FileEntry *AllocateFileEntry()
{
if (_sound_count == GetSoundInternalPoolSize()) {
- if (!AddBlockToPool(&_SoundInternal_pool)) return NULL;
+ if (!_SoundInternal_pool.AddBlockToPool()) return NULL;
}
return GetSoundInternal(_sound_count++);
@@ -29,7 +29,7 @@
void InitializeSoundPool()
{
- CleanPool(&_SoundInternal_pool);
+ _SoundInternal_pool.CleanPool();
_sound_count = 0;
/* Copy original sound data to the pool */
--- a/src/newgrf_spritegroup.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/newgrf_spritegroup.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -62,7 +62,7 @@
{
/* This is totally different to the other pool allocators, as we never remove an item from the pool. */
if (_spritegroup_count == GetSpriteGroupPoolSize()) {
- if (!AddBlockToPool(&_SpriteGroup_pool)) return NULL;
+ if (!_SpriteGroup_pool.AddBlockToPool()) return NULL;
}
return GetSpriteGroup(_spritegroup_count++);
@@ -71,7 +71,7 @@
void InitializeSpriteGroupPool()
{
- CleanPool(&_SpriteGroup_pool);
+ _SpriteGroup_pool.CleanPool();
_spritegroup_count = 0;
}
--- a/src/oldloader.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/oldloader.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -477,10 +477,7 @@
};
static bool LoadOldTown(LoadgameState *ls, int num)
{
- if (!AddBlockIfNeeded(&_Town_pool, num))
- error("Towns: failed loading savegame: too many towns");
-
- return LoadChunk(ls, GetTown(num), town_chunk);
+ return LoadChunk(ls, new (num) Town(), town_chunk);
}
static uint16 _old_order;
@@ -491,12 +488,9 @@
static bool LoadOldOrder(LoadgameState *ls, int num)
{
- if (!AddBlockIfNeeded(&_Order_pool, num))
- error("Orders: failed loading savegame: too many orders");
-
if (!LoadChunk(ls, NULL, order_chunk)) return false;
- AssignOrder(GetOrder(num), UnpackOldOrder(_old_order));
+ AssignOrder(new (num) Order(), UnpackOldOrder(_old_order));
/* Relink the orders to eachother (in TTD(Patch) the orders for one
vehicle are behind eachother, with an invalid order (OT_NOTHING) as indication that
@@ -515,10 +509,7 @@
static bool LoadOldDepot(LoadgameState *ls, int num)
{
- if (!AddBlockIfNeeded(&_Depot_pool, num))
- error("Depots: failed loading savegame: too many depots");
-
- if (!LoadChunk(ls, GetDepot(num), depot_chunk)) return false;
+ if (!LoadChunk(ls, new (num) Depot(), depot_chunk)) return false;
if (IsValidDepotID(num)) {
GetDepot(num)->town_index = REMAP_TOWN_IDX(_old_town_index);
@@ -707,12 +698,7 @@
static bool LoadOldIndustry(LoadgameState *ls, int num)
{
- Industry *i;
-
- if (!AddBlockIfNeeded(&_Industry_pool, num))
- error("Industries: failed loading savegame: too many industries");
-
- i = GetIndustry(num);
+ Industry *i = new (num) Industry();
if (!LoadChunk(ls, i, industry_chunk)) return false;
if (i->IsValid()) {
@@ -1194,14 +1180,9 @@
ReadTTDPatchFlags();
for (i = 0; i < _old_vehicle_multiplier; i++) {
- Vehicle *v;
-
_current_vehicle_id = num * _old_vehicle_multiplier + i;
- if (!AddBlockIfNeeded(&_Vehicle_pool, _current_vehicle_id))
- error("Vehicles: failed loading savegame: too many vehicles");
-
- v = GetVehicle(_current_vehicle_id);
+ Vehicle *v = new (_current_vehicle_id) InvalidVehicle();
if (!LoadChunk(ls, v, vehicle_chunk)) return false;
/* This should be consistent, else we have a big problem... */
@@ -1252,10 +1233,7 @@
static bool LoadOldSign(LoadgameState *ls, int num)
{
- if (!AddBlockIfNeeded(&_Sign_pool, num))
- error("Signs: failed loading savegame: too many signs");
-
- return LoadChunk(ls, GetSign(num), sign_chunk);
+ return LoadChunk(ls, new (num) Sign(), sign_chunk);
}
static const OldChunks engine_chunk[] = {
--- a/src/oldpool.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/oldpool.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -18,6 +18,7 @@
DEBUG(misc, 4, "[Pool] (%s) cleaning pool..", this->name);
+ this->cleaning_pool = true;
/* Free all blocks */
for (i = 0; i < this->current_blocks; i++) {
if (this->clean_block_proc != NULL) {
@@ -25,6 +26,7 @@
}
free(this->blocks[i]);
}
+ this->cleaning_pool = false;
/* Free the block itself */
free(this->blocks);
--- a/src/oldpool.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/oldpool.h Sun Aug 12 18:32:47 2007 +0000
@@ -25,7 +25,7 @@
OldMemoryPoolNewBlock *new_block_proc, OldMemoryPoolCleanBlock *clean_block_proc) :
name(name), max_blocks(max_blocks), block_size_bits(block_size_bits),
new_block_proc(new_block_proc), clean_block_proc(clean_block_proc), current_blocks(0),
- total_items(0), item_size(item_size), first_free_index(0), blocks(NULL) {}
+ total_items(0), cleaning_pool(false), item_size(item_size), first_free_index(0), blocks(NULL) {}
const char* name; ///< Name of the pool (just for debugging)
@@ -40,6 +40,7 @@
uint current_blocks; ///< How many blocks we have in our pool
uint total_items; ///< How many items we now have in this pool
+ bool cleaning_pool; ///< Are we currently cleaning the pool?
public:
const uint item_size; ///< How many bytes one block is
uint first_free_index; ///< The index of the first free pool item in this pool
@@ -84,6 +85,15 @@
{
return this->name;
}
+
+ /**
+ * Is the pool in the cleaning phase?
+ * @return true if it is
+ */
+ inline bool CleaningPool() const
+ {
+ return this->cleaning_pool;
+ }
};
template <typename T>
@@ -107,24 +117,6 @@
};
/**
- * Those are the wrappers:
- * CleanPool cleans the pool up, but you can use AddBlockToPool directly again
- * (no need to call CreatePool!)
- * AddBlockToPool adds 1 more block to the pool. Returns false if there is no
- * more room
- */
-static inline void CleanPool(OldMemoryPoolBase *array) { array->CleanPool(); }
-static inline bool AddBlockToPool(OldMemoryPoolBase *array) { return array->AddBlockToPool(); }
-
-/**
- * Adds blocks to the pool if needed (and possible) till index fits inside the pool
- *
- * @return Returns false if adding failed
- */
-static inline bool AddBlockIfNeeded(OldMemoryPoolBase *array, uint index) { return array->AddBlockIfNeeded(index); }
-
-
-/**
* Generic function to initialize a new block in a pool.
* @param start_item the first item that needs to be initialized
*/
@@ -139,7 +131,6 @@
/**
* Generic function to free a new block in a pool.
- * This function uses QuickFree that is intended to only free memory that would be lost if the pool is freed.
* @param start_item the first item that needs to be cleaned
* @param end_item the last item that needs to be cleaned
*/
@@ -148,9 +139,7 @@
{
for (uint i = start_item; i <= end_item; i++) {
T *t = Tpool->Get(i);
- if (t->IsValid()) {
- t->QuickFree();
- }
+ delete t;
}
}
@@ -175,15 +164,6 @@
}
/**
- * Called on each object when the pool is being destroyed, so one
- * can free allocated memory without the need for freeing for
- * example orders.
- */
- virtual void QuickFree()
- {
- }
-
- /**
* An overriden version of new that allocates memory on the pool.
* @param size the size of the variable (unused)
* @return the memory that is 'allocated'
@@ -257,13 +237,17 @@
private:
/**
* Allocate a pool item; possibly allocate a new block in the pool.
+ * @param first the first pool item to start searching
+ * @pre first <= Tpool->GetSize()
* @return the allocated pool item (or NULL when the pool is full).
*/
- static T *AllocateRaw()
+ static inline T *AllocateSafeRaw(uint &first)
{
- for (T *t = Tpool->Get(Tpool->first_free_index); t != NULL; t = (t->index + 1U < Tpool->GetSize()) ? Tpool->Get(t->index + 1U) : NULL) {
+ uint last_minus_one = Tpool->GetSize() - 1;
+
+ for (T *t = Tpool->Get(first); t != NULL; t = (t->index < last_minus_one) ? Tpool->Get(t->index + 1U) : NULL) {
if (!t->IsValid()) {
- Tpool->first_free_index = t->index;
+ first = t->index;
Tid index = t->index;
memset(t, 0, Tpool->item_size);
@@ -273,10 +257,41 @@
}
/* Check if we can add a block to the pool */
- if (Tpool->AddBlockToPool()) return AllocateRaw();
+ if (Tpool->AddBlockToPool()) return AllocateRaw(first);
return NULL;
}
+
+protected:
+ /**
+ * Allocate a pool item; possibly allocate a new block in the pool.
+ * @return the allocated pool item (or NULL when the pool is full).
+ */
+ static inline T *AllocateRaw()
+ {
+ return AllocateSafeRaw(Tpool->first_free_index);
+ }
+
+ /**
+ * Allocate a pool item; possibly allocate a new block in the pool.
+ * @param first the first pool item to start searching
+ * @return the allocated pool item (or NULL when the pool is full).
+ */
+ static inline T *AllocateRaw(uint &first)
+ {
+ if (first >= Tpool->GetSize() && !Tpool->AddBlockToPool()) return NULL;
+
+ return AllocateSafeRaw(first);
+ }
+
+ /**
+ * Are we cleaning this pool?
+ * @return true if we are
+ */
+ static inline bool CleaningPool()
+ {
+ return Tpool->CleaningPool();
+ }
};
--- a/src/openttd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/openttd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -305,14 +305,14 @@
UnInitializeAirports();
/* Uninitialize variables that are allocated dynamically */
- CleanPool(&_Town_pool);
- CleanPool(&_Industry_pool);
- CleanPool(&_Station_pool);
- CleanPool(&_Vehicle_pool);
- CleanPool(&_Sign_pool);
- CleanPool(&_Order_pool);
- CleanPool(&_Group_pool);
- CleanPool(&_CargoPacket_pool);
+ _Town_pool.CleanPool();
+ _Industry_pool.CleanPool();
+ _Station_pool.CleanPool();
+ _Vehicle_pool.CleanPool();
+ _Sign_pool.CleanPool();
+ _Order_pool.CleanPool();
+ _Group_pool.CleanPool();
+ _CargoPacket_pool.CleanPool();
free((void*)_town_sort);
free((void*)_industry_sort);
@@ -455,6 +455,11 @@
}
}
+#if defined(WINCE) && defined(_DEBUG)
+ /* Switch on debug lvl 4 for WinCE if Debug release, as you can't give params, and you most likely do want this information */
+ SetDebugString("4");
+#endif
+
DeterminePaths(argv[0]);
CheckExternalFiles();
@@ -1021,7 +1026,7 @@
SetDParam(0, _local_player);
SetDParam(1, _date);
GetString(buf, STR_4004, lastof(buf));
- ttd_strlcpy(buf, ".sav", sizeof(buf));
+ ttd_strlcat(buf, ".sav", lengthof(buf));
} else {
/* generate a savegame name and number according to _patches.max_num_autosaves */
snprintf(buf, sizeof(buf), "autosave%d.sav", _autosave_ctr);
--- a/src/order_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/order_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -1269,8 +1269,8 @@
void InitializeOrders()
{
- CleanPool(&_Order_pool);
- AddBlockToPool(&_Order_pool);
+ _Order_pool.CleanPool();
+ _Order_pool.AddBlockToPool();
_backup_orders_tile = 0;
}
--- a/src/os/macosx/macos.mm Sun Aug 12 18:18:48 2007 +0000
+++ b/src/os/macosx/macos.mm Sun Aug 12 18:32:47 2007 +0000
@@ -158,3 +158,16 @@
ShowMacDialog(error, buffer, "Quit");
abort();
}
+
+
+/** Determine the current user's locale. */
+const char *GetCurrentLocale(const char *)
+{
+ static char retbuf[32] = { '\0' };
+ NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
+ NSArray* languages = [defs objectForKey:@"AppleLanguages"];
+ NSString* preferredLang = [languages objectAtIndex:0];
+ /* preferredLang is either 2 or 5 characters long ("xx" or "xx_YY"). */
+ strncpy(retbuf, [preferredLang cString], 31);
+ return retbuf;
+}
--- a/src/os_timer.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/os_timer.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -8,7 +8,7 @@
/* rdtsc for MSC_VER, uses simple inline assembly, or _rdtsc
* from external win64.asm because VS2005 does not support inline assembly */
-#if defined(_MSC_VER) && !defined(RDTSC_AVAILABLE)
+#if defined(_MSC_VER) && !defined(RDTSC_AVAILABLE) && !defined(WINCE)
# if _MSC_VER >= 1400
#include <intrin.h>
uint64 _rdtsc()
@@ -71,6 +71,9 @@
/* In all other cases we have no support for rdtsc. No major issue,
* you just won't be able to profile your code with TIC()/TOC() */
#if !defined(RDTSC_AVAILABLE)
+/* MSVC (in case of WinCE) can't handle #warning */
+# if !defined(_MSC_VER)
#warning "(non-fatal) No support for rdtsc(), you won't be able to profile with TIC/TOC"
+# endif
uint64 _rdtsc() {return 0;}
#endif
--- a/src/road_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/road_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -588,6 +588,7 @@
TileIndex start_tile, tile;
CommandCost cost, ret;
bool had_bridge = false;
+ bool had_tunnel = false;
bool had_success = false;
DisallowedRoadDirections drd = DRD_NORTHBOUND;
@@ -633,12 +634,19 @@
_error_message = INVALID_STRING_ID;
} else {
had_success = true;
- /* Only pay for the upgrade on one side of the bridge */
- if (IsBridgeTile(tile)) {
- if ((!had_bridge || GetBridgeRampDirection(tile) == DIAGDIR_SE || GetBridgeRampDirection(tile) == DIAGDIR_SW)) {
- cost.AddCost(ret);
+ /* Only pay for the upgrade on one side of the bridges and tunnels */
+ if (IsTileType(tile, MP_TUNNELBRIDGE)) {
+ if (IsBridge(tile)) {
+ if ((!had_bridge || GetBridgeRampDirection(tile) == DIAGDIR_SE || GetBridgeRampDirection(tile) == DIAGDIR_SW)) {
+ cost.AddCost(ret);
+ }
+ had_bridge = true;
+ } else {
+ if ((!had_tunnel || GetTunnelDirection(tile) == DIAGDIR_SE || GetTunnelDirection(tile) == DIAGDIR_SW)) {
+ cost.AddCost(ret);
+ }
+ had_tunnel = true;
}
- had_bridge = true;
} else {
cost.AddCost(ret);
}
--- a/src/roadveh.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/roadveh.h Sun Aug 12 18:32:47 2007 +0000
@@ -72,7 +72,7 @@
RoadVehicle() { this->type = VEH_ROAD; }
/** We want to 'destruct' the right class. */
- virtual ~RoadVehicle() {}
+ virtual ~RoadVehicle() { this->PreDestructor(); }
const char *GetTypeString() const { return "road vehicle"; }
void MarkDirty();
--- a/src/roadveh_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/roadveh_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -185,7 +185,7 @@
Vehicle *vl[11];
memset(&vl, 0, sizeof(vl));
- if (!AllocateVehicles(vl, num_vehicles)) {
+ if (!Vehicle::AllocateList(vl, num_vehicles)) {
return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);
}
@@ -270,7 +270,7 @@
RebuildVehicleLists();
InvalidateWindow(WC_COMPANY, v->owner);
if (IsLocalPlayer())
- InvalidateAutoreplaceWindow(VEH_ROAD, v->group_id); // updates the replace Road window
+ InvalidateAutoreplaceWindow(v->engine_type, v->group_id); // updates the replace Road window
GetPlayer(_current_player)->num_engines[p1]++;
}
@@ -372,7 +372,7 @@
InvalidateWindow(WC_COMPANY, v->owner);
DeleteWindowById(WC_VEHICLE_VIEW, v->index);
DeleteDepotHighlightOfVehicle(v);
- DeleteVehicle(v);
+ delete v;
}
return CommandCost(-v->value);
@@ -533,7 +533,6 @@
if (v->type != VEH_ROAD || !CheckOwnership(v->owner)) return CMD_ERROR;
if (v->vehstatus & VS_STOPPED ||
- v->u.road.roadtype == ROADTYPE_TRAM ||
v->u.road.crashed_ctr != 0 ||
v->breakdown_ctr != 0 ||
v->u.road.overtaking != 0 ||
@@ -556,8 +555,10 @@
void RoadVehicle::MarkDirty()
{
- this->cur_image = this->GetImage(this->direction);
- MarkAllViewportsDirty(this->left_coord, this->top_coord, this->right_coord + 1, this->bottom_coord + 1);
+ for (Vehicle *v = this; v != NULL; v = v->next) {
+ v->cur_image = v->GetImage(v->direction);
+ MarkAllViewportsDirty(v->left_coord, v->top_coord, v->right_coord + 1, v->bottom_coord + 1);
+ }
}
void RoadVehicle::UpdateDeltaXY(Direction direction)
@@ -610,7 +611,7 @@
BeginVehicleMove(v);
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
}
static byte SetRoadVehPosition(Vehicle *v, int x, int y)
@@ -1376,9 +1377,9 @@
return true;
}
-static Trackdir FollowPreviousRoadVehicle(const Vehicle *v, const Vehicle *prev, TileIndex tile, DiagDirection entry_dir)
+static Trackdir FollowPreviousRoadVehicle(const Vehicle *v, const Vehicle *prev, TileIndex tile, DiagDirection entry_dir, bool already_reversed)
{
- if (prev->tile == v->tile) {
+ if (prev->tile == v->tile && !already_reversed) {
/* If the previous vehicle is on the same tile as this vehicle is
* then it must have reversed. */
return _road_reverse_table[entry_dir];
@@ -1491,7 +1492,7 @@
/* If this is the front engine, look for the right path. */
dir = RoadFindPathToDest(v, tile, (DiagDirection)(rd.x & 3));
} else {
- dir = FollowPreviousRoadVehicle(v, prev, tile, (DiagDirection)(rd.x & 3));
+ dir = FollowPreviousRoadVehicle(v, prev, tile, (DiagDirection)(rd.x & 3), false);
}
if (dir == INVALID_TRACKDIR) {
@@ -1583,11 +1584,18 @@
if (rd.x & RDE_TURNED) {
/* Vehicle has finished turning around, it will now head back onto the same tile */
- Trackdir dir = RoadFindPathToDest(v, v->tile, (DiagDirection)(rd.x & 3));
+ Trackdir dir;
uint32 r;
Direction newdir;
const RoadDriveEntry *rdp;
+ if (IsRoadVehFront(v)) {
+ /* If this is the front engine, look for the right path. */
+ dir = RoadFindPathToDest(v, v->tile, (DiagDirection)(rd.x & 3));
+ } else {
+ dir = FollowPreviousRoadVehicle(v, prev, v->tile, (DiagDirection)(rd.x & 3), true);
+ }
+
if (dir == INVALID_TRACKDIR) {
v->cur_speed = 0;
return false;
@@ -2002,7 +2010,7 @@
* @param p2 Bitstuffed elements
* - p2 = (bit 0-7) - the new cargo type to refit to
* - p2 = (bit 8-15) - the new cargo subtype to refit to
- * - p2 = (bit 16) - refit only this vehicle (ignored)
+ * - p2 = (bit 16) - refit only this vehicle
* @return cost of refit or error
*/
CommandCost CmdRefitRoadVeh(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
@@ -2011,7 +2019,9 @@
CommandCost cost;
CargoID new_cid = GB(p2, 0, 8);
byte new_subtype = GB(p2, 8, 8);
+ bool only_this = HASBIT(p2, 16);
uint16 capacity = CALLBACK_FAILED;
+ uint total_capacity = 0;
if (!IsValidVehicleID(p1)) return CMD_ERROR;
@@ -2020,63 +2030,79 @@
if (v->type != VEH_ROAD || !CheckOwnership(v->owner)) return CMD_ERROR;
if (!CheckRoadVehInDepotStopped(v)) return_cmd_error(STR_9013_MUST_BE_STOPPED_INSIDE);
- if (new_cid >= NUM_CARGO || !CanRefitTo(v->engine_type, new_cid)) return CMD_ERROR;
+ if (new_cid >= NUM_CARGO) return CMD_ERROR;
SET_EXPENSES_TYPE(EXPENSES_ROADVEH_RUN);
- if (HASBIT(EngInfo(v->engine_type)->callbackmask, CBM_REFIT_CAPACITY)) {
- /* Back up the cargo type */
- CargoID temp_cid = v->cargo_type;
- byte temp_subtype = v->cargo_subtype;
- v->cargo_type = new_cid;
- v->cargo_subtype = new_subtype;
+ for (; v != NULL; v = v->next) {
+ /* XXX: We refit all the attached wagons en-masse if they can be
+ * refitted. This is how TTDPatch does it. TODO: Have some nice
+ * [Refit] button near each wagon. */
+ if (!CanRefitTo(v->engine_type, new_cid)) continue;
- /* Check the refit capacity callback */
- capacity = GetVehicleCallback(CBID_VEHICLE_REFIT_CAPACITY, 0, 0, v->engine_type, v);
+ if (v->cargo_cap == 0) continue;
- /* Restore the original cargo type */
- v->cargo_type = temp_cid;
- v->cargo_subtype = temp_subtype;
+ if (HASBIT(EngInfo(v->engine_type)->callbackmask, CBM_REFIT_CAPACITY)) {
+ /* Back up the cargo type */
+ CargoID temp_cid = v->cargo_type;
+ byte temp_subtype = v->cargo_subtype;
+ v->cargo_type = new_cid;
+ v->cargo_subtype = new_subtype;
+
+ /* Check the refit capacity callback */
+ capacity = GetVehicleCallback(CBID_VEHICLE_REFIT_CAPACITY, 0, 0, v->engine_type, v);
+
+ /* Restore the original cargo type */
+ v->cargo_type = temp_cid;
+ v->cargo_subtype = temp_subtype;
+ }
+
+ if (capacity == CALLBACK_FAILED) {
+ /* callback failed or not used, use default capacity */
+ const RoadVehicleInfo *rvi = RoadVehInfo(v->engine_type);
+
+ CargoID old_cid = rvi->cargo_type;
+ /* normally, the capacity depends on the cargo type, a vehicle can
+ * carry twice as much mail/goods as normal cargo, and four times as
+ * many passengers
+ */
+ capacity = GetVehicleProperty(v, 0x0F, rvi->capacity);
+ switch (old_cid) {
+ case CT_PASSENGERS: break;
+ case CT_MAIL:
+ case CT_GOODS: capacity *= 2; break;
+ default: capacity *= 4; break;
+ }
+ switch (new_cid) {
+ case CT_PASSENGERS: break;
+ case CT_MAIL:
+ case CT_GOODS: capacity /= 2; break;
+ default: capacity /= 4; break;
+ }
+ }
+
+ if (capacity == 0) continue;
+
+ total_capacity += capacity;
+
+ if (IsHumanPlayer(v->owner) && new_cid != v->cargo_type) {
+ cost.AddCost(GetRefitCost(v->engine_type));
+ }
+
+ if (flags & DC_EXEC) {
+ v->cargo_cap = capacity;
+ v->cargo.Truncate((v->cargo_type == new_cid) ? capacity : 0);
+ v->cargo_type = new_cid;
+ v->cargo_subtype = new_subtype;
+ InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
+ InvalidateWindow(WC_VEHICLE_DEPOT, v->tile);
+ RebuildVehicleLists();
+ }
+
+ if (only_this) break;
}
- if (capacity == CALLBACK_FAILED) {
- /* callback failed or not used, use default capacity */
- const RoadVehicleInfo *rvi = RoadVehInfo(v->engine_type);
-
- CargoID old_cid = rvi->cargo_type;
- /* normally, the capacity depends on the cargo type, a vehicle can
- * carry twice as much mail/goods as normal cargo, and four times as
- * many passengers
- */
- capacity = GetVehicleProperty(v, 0x0F, rvi->capacity);
- switch (old_cid) {
- case CT_PASSENGERS: break;
- case CT_MAIL:
- case CT_GOODS: capacity *= 2; break;
- default: capacity *= 4; break;
- }
- switch (new_cid) {
- case CT_PASSENGERS: break;
- case CT_MAIL:
- case CT_GOODS: capacity /= 2; break;
- default: capacity /= 4; break;
- }
- }
- _returned_refit_capacity = capacity;
-
- if (IsHumanPlayer(v->owner) && new_cid != v->cargo_type) {
- cost = GetRefitCost(v->engine_type);
- }
-
- if (flags & DC_EXEC) {
- v->cargo_cap = capacity;
- v->cargo.Truncate((v->cargo_type == new_cid) ? capacity : 0);
- v->cargo_type = new_cid;
- v->cargo_subtype = new_subtype;
- InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
- InvalidateWindow(WC_VEHICLE_DEPOT, v->tile);
- RebuildVehicleLists();
- }
+ _returned_refit_capacity = total_capacity;
return cost;
}
--- a/src/roadveh_gui.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/roadveh_gui.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -145,6 +145,8 @@
if (!first) strecat(capacity, ", ", lastof(capacity));
strecat(capacity, buffer, lastof(capacity));
+
+ first = false;
}
}
@@ -275,7 +277,7 @@
bool is_localplayer = v->owner == _local_player;
SetWindowWidgetDisabledState(w, 7, !is_localplayer);
- SetWindowWidgetDisabledState(w, 8, !is_localplayer || v->u.road.roadtype == ROADTYPE_TRAM);
+ SetWindowWidgetDisabledState(w, 8, !is_localplayer);
SetWindowWidgetDisabledState(w, 11, !is_localplayer);
/* Disable refit button if vehicle not refittable */
SetWindowWidgetDisabledState(w, 12, !is_localplayer ||
--- a/src/saveload.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/saveload.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -1122,8 +1122,8 @@
{
_ts.count = 0;
- CleanPool(&_Savegame_pool);
- AddBlockToPool(&_Savegame_pool);
+ _Savegame_pool.CleanPool();
+ _Savegame_pool.AddBlockToPool();
/* A block from the pool is a contigious area of memory, so it is safe to write to it sequentially */
_sl.bufsize = GetSavegamePoolSize();
@@ -1133,14 +1133,14 @@
static void UnInitMem()
{
- CleanPool(&_Savegame_pool);
+ _Savegame_pool.CleanPool();
}
static void WriteMem(uint size)
{
_ts.count += size;
/* Allocate new block and new buffer-pointer */
- AddBlockIfNeeded(&_Savegame_pool, _ts.count);
+ _Savegame_pool.AddBlockIfNeeded(_ts.count);
_sl.buf = GetSavegame(_ts.count);
}
@@ -1343,37 +1343,37 @@
switch (rt) {
case REF_ORDER: {
- if (!AddBlockIfNeeded(&_Order_pool, index))
+ if (!_Order_pool.AddBlockIfNeeded(index))
error("Orders: failed loading savegame: too many orders");
return GetOrder(index);
}
case REF_VEHICLE: {
- if (!AddBlockIfNeeded(&_Vehicle_pool, index))
+ if (!_Vehicle_pool.AddBlockIfNeeded(index))
error("Vehicles: failed loading savegame: too many vehicles");
return GetVehicle(index);
}
case REF_STATION: {
- if (!AddBlockIfNeeded(&_Station_pool, index))
+ if (!_Station_pool.AddBlockIfNeeded(index))
error("Stations: failed loading savegame: too many stations");
return GetStation(index);
}
case REF_TOWN: {
- if (!AddBlockIfNeeded(&_Town_pool, index))
+ if (!_Town_pool.AddBlockIfNeeded(index))
error("Towns: failed loading savegame: too many towns");
return GetTown(index);
}
case REF_ROADSTOPS: {
- if (!AddBlockIfNeeded(&_RoadStop_pool, index))
+ if (!_RoadStop_pool.AddBlockIfNeeded(index))
error("RoadStops: failed loading savegame: too many RoadStops");
return GetRoadStop(index);
}
case REF_ENGINE_RENEWS: {
- if (!AddBlockIfNeeded(&_EngineRenew_pool, index))
+ if (!_EngineRenew_pool.AddBlockIfNeeded(index))
error("EngineRenews: failed loading savegame: too many EngineRenews");
return GetEngineRenew(index);
}
case REF_CARGO_PACKET: {
- if (!AddBlockIfNeeded(&_CargoPacket_pool, index))
+ if (!_CargoPacket_pool.AddBlockIfNeeded(index))
error("CargoPackets: failed loading savegame: too many Cargo packets");
return GetCargoPacket(index);
}
@@ -1386,7 +1386,7 @@
if (index == INVALID_VEHICLE)
return NULL;
- if (!AddBlockIfNeeded(&_Vehicle_pool, index))
+ if (!_Vehicle_pool.AddBlockIfNeeded(index))
error("Vehicles: failed loading savegame: too many vehicles");
return GetVehicle(index);
}
--- a/src/ship.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/ship.h Sun Aug 12 18:32:47 2007 +0000
@@ -37,7 +37,7 @@
Ship() { this->type = VEH_SHIP; }
/** We want to 'destruct' the right class. */
- virtual ~Ship() {}
+ virtual ~Ship() { this->PreDestructor(); }
const char *GetTypeString() const { return "ship"; }
void MarkDirty();
--- a/src/ship_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/ship_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -33,6 +33,7 @@
#include "newgrf_sound.h"
#include "date.h"
#include "spritecache.h"
+#include "misc/autoptr.hpp"
static const uint16 _ship_sprites[] = {0x0E5D, 0x0E55, 0x0E65, 0x0E6D};
@@ -833,8 +834,9 @@
if (!IsTileDepotType(tile, TRANSPORT_WATER)) return CMD_ERROR;
if (!IsTileOwner(tile, _current_player)) return CMD_ERROR;
- v = AllocateVehicle();
+ v = new Ship();
unit_num = HASBIT(p2, 0) ? 0 : GetFreeUnitNumber(VEH_SHIP);
+ AutoPtrT<Vehicle> v_auto_delete = v;
if (v == NULL || unit_num > _patches.max_ships)
return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);
@@ -895,9 +897,11 @@
RebuildVehicleLists();
InvalidateWindow(WC_COMPANY, v->owner);
if (IsLocalPlayer())
- InvalidateAutoreplaceWindow(VEH_SHIP, v->group_id); // updates the replace Ship window
+ InvalidateAutoreplaceWindow(v->engine_type, v->group_id); // updates the replace Ship window
GetPlayer(_current_player)->num_engines[p1]++;
+
+ v_auto_delete.Detach();
}
return value;
@@ -931,7 +935,7 @@
InvalidateWindow(WC_COMPANY, v->owner);
DeleteWindowById(WC_VEHICLE_VIEW, v->index);
DeleteDepotHighlightOfVehicle(v);
- DeleteVehicle(v);
+ delete v;
}
return CommandCost(-v->value);
--- a/src/signs.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/signs.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -28,15 +28,10 @@
Sign::~Sign()
{
- this->QuickFree();
+ DeleteName(this->str);
this->str = STR_NULL;
}
-void Sign::QuickFree()
-{
- DeleteName(this->str);
-}
-
/**
*
* Update the coordinate of one sign
--- a/src/signs.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/signs.h Sun Aug 12 18:32:47 2007 +0000
@@ -27,8 +27,6 @@
~Sign();
bool IsValid() const { return this->str != STR_NULL; }
-
- void QuickFree();
};
enum {
--- a/src/station.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/station.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -64,6 +64,11 @@
{
DEBUG(station, cDebugCtorLevel, "I-%3d", index);
+ DeleteName(this->string_id);
+ free(this->speclist);
+
+ if (CleaningPool()) return;
+
MarkDirty();
RebuildStationLists();
InvalidateWindowClasses(WC_STATION_LIST);
@@ -81,14 +86,6 @@
for (CargoID c = 0; c < NUM_CARGO; c++) {
goods[c].cargo.Truncate(0);
}
-
- this->QuickFree();
-}
-
-void Station::QuickFree()
-{
- DeleteName(this->string_id);
- free(this->speclist);
}
/** Called when new facility is built on the station. If it is the first facility
@@ -394,6 +391,8 @@
*/
RoadStop::~RoadStop()
{
+ if (CleaningPool()) return;
+
/* Clear the slot assignment of all vehicles heading for this road stop */
if (num_vehicles != 0) {
Vehicle *v;
--- a/src/station.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/station.h Sun Aug 12 18:32:47 2007 +0000
@@ -49,7 +49,7 @@
TRUCK ///< A standard stop for trucks
};
- static const int cDebugCtorLevel = 3; ///< Debug level on which Contructor / Destructor messages are printed
+ static const int cDebugCtorLevel = 5; ///< Debug level on which Contructor / Destructor messages are printed
static const uint LIMIT = 16; ///< The maximum amount of roadstops that are allowed at a single station
static const uint MAX_BAY_COUNT = 2; ///< The maximum number of loading bays
@@ -168,13 +168,11 @@
StationRect rect; ///< Station spread out rectangle (not saved) maintained by StationRect_xxx() functions
- static const int cDebugCtorLevel = 3;
+ static const int cDebugCtorLevel = 5;
Station(TileIndex tile = 0);
virtual ~Station();
- void QuickFree();
-
void AddFacility(byte new_facility_bit, TileIndex facil_xy);
void MarkDirty() const;
void MarkTilesDirty(bool cargo_change) const;
--- a/src/stdafx.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/stdafx.h Sun Aug 12 18:32:47 2007 +0000
@@ -142,7 +142,9 @@
# define _WIN32_WINNT 0x0500 // Windows 2000
# define _WIN32_WINDOWS 0x400 // Windows 95
+#if !defined(WINCE)
# define WINVER 0x0400 // Windows NT 4.0 / Windows 95
+#endif
# define _WIN32_IE_ 0x0401 // 4.01 (win98 and NT4SP5+)
# define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
@@ -168,9 +170,11 @@
# define NORETURN __declspec(noreturn)
# define FORCEINLINE __forceinline
# define inline _inline
-# define CDECL _cdecl
+# if !defined(WINCE)
+# define CDECL _cdecl
+# endif
int CDECL snprintf(char *str, size_t size, const char *format, ...);
-# if _MSC_VER < 1400
+# if _MSC_VER < 1400 || defined(WINCE)
int CDECL vsnprintf(char *str, size_t size, const char *format, va_list ap);
# endif
@@ -191,8 +195,14 @@
# endif
# endif
-# define strcasecmp stricmp
-# define strncasecmp strnicmp
+# if defined(WINCE)
+# define strcasecmp _stricmp
+# define strncasecmp _strnicmp
+# undef DEBUG
+# else
+# define strcasecmp stricmp
+# define strncasecmp strnicmp
+# endif
/* suppress: warning C4005: 'offsetof' : macro redefinition (VC8) */
#endif /* defined(_MSC_VER) */
--- a/src/strings.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/strings.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -343,6 +343,8 @@
/* convert from negative */
if (number < 0) {
+ if (buff + Utf8CharLen(SCC_RED) > last) return buff;
+ buff += Utf8Encode(buff, SCC_RED);
buff = strecpy(buff, "-", last);
number = -number;
}
@@ -383,6 +385,12 @@
* The only remaining value is 1 (prefix), so everything that is not 0 */
if (spec->symbol_pos != 0) buff = strecpy(buff, spec->suffix, last);
+ if (cs.GetCost() < 0) {
+ if (buff + Utf8CharLen(SCC_PREVIOUS_COLOUR) > last) return buff;
+ buff += Utf8Encode(buff, SCC_PREVIOUS_COLOUR);
+ *buff = '\0';
+ }
+
return buff;
}
@@ -680,7 +688,18 @@
const char* s = GetStringPtr(argv_orig[(byte)*str++]); // contains the string that determines gender.
int len;
int gender = 0;
- if (s != NULL && Utf8Consume(&s) == SCC_GENDER_INDEX) gender = (byte)s[0];
+ if (s != NULL) {
+ wchar_t c = Utf8Consume(&s);
+ /* Switch case is always put before genders, so remove those bits */
+ if (c == SCC_SWITCH_CASE) {
+ /* Skip to the last (i.e. default) case */
+ for (uint num = (byte)*s++; num != 0; num--) s += 3 + (s[1] << 8) + s[2];
+
+ c = Utf8Consume(&s);
+ }
+ /* Does this string have a gender, if so, set it */
+ if (c == SCC_GENDER_INDEX) gender = (byte)s[0];
+ }
str = ParseStringChoice(str, gender, buff, &len);
buff += len;
break;
@@ -1218,7 +1237,8 @@
}
/* Win32 implementation in win32.cpp. */
-#ifndef WIN32
+/* OS X implementation in os/macosx/macos.mm. */
+#if !(defined(WIN32) || defined(__APPLE__))
/** Determine the current charset based on the environment
* First check some default values, after this one we passed ourselves
* and if none exist return the value for $LANG
@@ -1242,7 +1262,7 @@
return getenv("LANG");
}
-#endif /* ifndef WIN32 */
+#endif /* !(defined(WIN32) || defined(__APPLE__)) */
static int CDECL LanguageCompareFunc(const void *a, const void *b)
{
--- a/src/table/control_codes.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/table/control_codes.h Sun Aug 12 18:32:47 2007 +0000
@@ -88,6 +88,7 @@
SCC_GRAY,
SCC_DKBLUE,
SCC_BLACK,
+ SCC_PREVIOUS_COLOUR,
/* Special printable symbols.
* These are mapped to the original glyphs */
--- a/src/town.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/town.h Sun Aug 12 18:32:47 2007 +0000
@@ -160,8 +160,6 @@
~Town();
bool IsValid() const { return this->xy != 0; }
-
- void QuickFree();
};
struct HouseSpec {
--- a/src/town_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/town_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -47,11 +47,16 @@
Town::Town(TileIndex tile)
{
+ if (tile != 0) _total_towns++;
this->xy = tile;
}
Town::~Town()
{
+ DeleteName(this->townnametype);
+
+ if (CleaningPool()) return;
+
Industry *i;
/* Delete town authority window
@@ -86,15 +91,9 @@
MarkWholeScreenDirty();
- this->QuickFree();
this->xy = 0;
}
-void Town::QuickFree()
-{
- DeleteName(this->townnametype);
-}
-
// Local
static int _grow_town_result;
@@ -1354,8 +1353,6 @@
extern int _nb_orig_names;
int x, i;
- _total_towns++;
-
t->xy = tile;
t->num_houses = 0;
t->time_until_rebuild = 10;
@@ -2292,8 +2289,8 @@
Subsidy *s;
/* Clean the town pool and create 1 block in it */
- CleanPool(&_Town_pool);
- AddBlockToPool(&_Town_pool);
+ _Town_pool.CleanPool();
+ _Town_pool.AddBlockToPool();
memset(_subsidies, 0, sizeof(_subsidies));
for (s=_subsidies; s != endof(_subsidies); s++)
--- a/src/train.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/train.h Sun Aug 12 18:32:47 2007 +0000
@@ -262,7 +262,7 @@
Train() { this->type = VEH_TRAIN; }
/** We want to 'destruct' the right class. */
- virtual ~Train() {}
+ virtual ~Train() { this->PreDestructor(); }
const char *GetTypeString() const { return "train"; }
void MarkDirty();
--- a/src/train_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/train_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -518,7 +518,7 @@
memset(&vl, 0, sizeof(vl));
- if (!AllocateVehicles(vl, num_vehicles))
+ if (!Vehicle::AllocateList(vl, num_vehicles))
return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);
if (flags & DC_EXEC) {
@@ -588,7 +588,7 @@
InvalidateWindow(WC_VEHICLE_DEPOT, v->tile);
if (IsLocalPlayer()) {
- InvalidateAutoreplaceWindow(VEH_TRAIN, v->group_id); // updates the replace Train window
+ InvalidateAutoreplaceWindow(v->engine_type, v->group_id); // updates the replace Train window
}
GetPlayer(_current_player)->num_engines[engine]++;
}
@@ -686,7 +686,7 @@
memset(&vl, 0, sizeof(vl));
- if (!AllocateVehicles(vl, num_vehicles))
+ if (!Vehicle::AllocateList(vl, num_vehicles))
return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);
Vehicle *v = vl[0];
@@ -772,7 +772,7 @@
RebuildVehicleLists();
InvalidateWindow(WC_COMPANY, v->owner);
if (IsLocalPlayer())
- InvalidateAutoreplaceWindow(VEH_TRAIN, v->group_id); // updates the replace Train window
+ InvalidateAutoreplaceWindow(v->engine_type, v->group_id); // updates the replace Train window
GetPlayer(_current_player)->num_engines[p1]++;
}
@@ -1253,7 +1253,7 @@
if (flags & DC_EXEC) {
UnlinkWagon(rear, first);
DeleteDepotHighlightOfVehicle(rear);
- DeleteVehicle(rear);
+ delete rear;
}
}
@@ -1308,7 +1308,7 @@
if (flags & DC_EXEC) {
first = UnlinkWagon(v, first);
DeleteDepotHighlightOfVehicle(v);
- DeleteVehicle(v);
+ delete v;
/* 4 If the second wagon was an engine, update it to front_engine
* which UnlinkWagon() has changed to TS_Free_Car */
@@ -1367,7 +1367,7 @@
if (flags & DC_EXEC) {
first = UnlinkWagon(rear, first);
DeleteDepotHighlightOfVehicle(rear);
- DeleteVehicle(rear);
+ delete rear;
}
}
} else if (v->u.rail.other_multiheaded_part != NULL) {
@@ -1380,7 +1380,7 @@
if (flags & DC_EXEC) {
first = UnlinkWagon(v, first);
DeleteDepotHighlightOfVehicle(v);
- DeleteVehicle(v);
+ delete v;
RemoveVehicleFromGroup(v);
}
}
@@ -3039,7 +3039,7 @@
BeginVehicleMove(v);
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
if (v->u.rail.track != TRACK_BIT_DEPOT && v->u.rail.track != TRACK_BIT_WORMHOLE)
SetSignalsOnBothDir(v->tile, FIND_FIRST_BIT(v->u.rail.track));
@@ -3329,8 +3329,7 @@
TrainLocoHandler(this, true);
} else if (IsFreeWagon(this) && HASBITS(this->vehstatus, VS_CRASHED)) {
/* Delete flooded standalone wagon */
- if (++this->u.rail.crash_anim_pos >= 4400)
- DeleteVehicle(this);
+ if (++this->u.rail.crash_anim_pos >= 4400) delete this;
}
}
--- a/src/tunnelbridge_cmd.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/tunnelbridge_cmd.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -250,16 +250,10 @@
tileh_end = GetTileSlope(tile_end, &z_end);
if (IsSteepSlope(tileh_start)) z_start += TILE_HEIGHT;
- if (HASBIT(BRIDGE_FULL_LEVELED_FOUNDATION, tileh_start)) {
- z_start += TILE_HEIGHT;
- tileh_start = SLOPE_FLAT;
- }
+ if (HASBIT(BRIDGE_FULL_LEVELED_FOUNDATION, tileh_start)) z_start += TILE_HEIGHT;
if (IsSteepSlope(tileh_end)) z_end += TILE_HEIGHT;
- if (HASBIT(BRIDGE_FULL_LEVELED_FOUNDATION, tileh_end)) {
- z_end += TILE_HEIGHT;
- tileh_end = SLOPE_FLAT;
- }
+ if (HASBIT(BRIDGE_FULL_LEVELED_FOUNDATION, tileh_end)) z_end += TILE_HEIGHT;
if (z_start != z_end) return_cmd_error(STR_5009_LEVEL_LAND_OR_WATER_REQUIRED);
--- a/src/vehicle.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/vehicle.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -78,27 +78,8 @@
};
-enum {
- BLOCKS_FOR_SPECIAL_VEHICLES = 2, ///< Blocks needed for special vehicles
-};
-
-/**
- * Called if a new block is added to the vehicle-pool
- */
-static void VehiclePoolNewBlock(uint start_item)
-{
- Vehicle *v;
-
- /* We don't use FOR_ALL here, because FOR_ALL skips invalid items.
- * TODO - This is just a temporary stage, this will be removed. */
- for (v = GetVehicle(start_item); v != NULL; v = (v->index + 1U < GetVehiclePoolSize()) ? GetVehicle(v->index + 1) : NULL) {
- v->index = start_item++;
- v = new (v) InvalidVehicle();
- }
-}
-
/* Initialize the vehicle-pool */
-DEFINE_OLD_POOL(Vehicle, Vehicle, VehiclePoolNewBlock, NULL)
+DEFINE_OLD_POOL_GENERIC(Vehicle, Vehicle)
void VehicleServiceInDepot(Vehicle *v)
{
@@ -282,28 +263,12 @@
}
}
-static Vehicle *InitializeVehicle(Vehicle *v)
+Vehicle::Vehicle()
{
- VehicleID index = v->index;
- memset(v, 0, sizeof(Vehicle));
- v->index = index;
-
- assert(v->orders == NULL);
-
- v = new (v) InvalidVehicle();
- v->left_coord = INVALID_COORD;
- v->first = NULL;
- v->next = NULL;
- v->next_hash = NULL;
- v->string_id = 0;
- v->next_shared = NULL;
- v->prev_shared = NULL;
- v->depot_list = NULL;
- v->random_bits = 0;
- v->group_id = DEFAULT_GROUP;
- v->fill_percent_te_id = INVALID_TE_ID;
-
- return v;
+ this->type = VEH_INVALID;
+ this->left_coord = INVALID_COORD;
+ this->group_id = DEFAULT_GROUP;
+ this->fill_percent_te_id = INVALID_TE_ID;
}
/**
@@ -315,87 +280,21 @@
return GB(Random(), 0, 8);
}
-Vehicle *ForceAllocateSpecialVehicle()
-{
- /* This stays a strange story.. there should always be room for special
- * vehicles (special effects all over the map), but with 65k of vehicles
- * is this realistic to double-check for that? For now we just reserve
- * BLOCKS_FOR_SPECIAL_VEHICLES times block_size vehicles that may only
- * be used for special vehicles.. should work nicely :) */
-
- Vehicle *v;
-
- /* We don't use FOR_ALL here, because FOR_ALL skips invalid items.
- * TODO - This is just a temporary stage, this will be removed. */
- for (v = GetVehicle(0); v != NULL; v = (v->index + 1U < GetVehiclePoolSize()) ? GetVehicle(v->index + 1) : NULL) {
- /* No more room for the special vehicles, return NULL */
- if (v->index >= (1 << Vehicle_POOL_BLOCK_SIZE_BITS) * BLOCKS_FOR_SPECIAL_VEHICLES)
- return NULL;
-
- if (!v->IsValid()) return InitializeVehicle(v);
- }
-
- return NULL;
-}
-
-/**
- * finds a free vehicle in the memory or allocates a new one
- * returns a pointer to the first free vehicle or NULL if all vehicles are in use
- * *skip_vehicles is an offset to where in the array we should begin looking
- * this is to avoid looping though the same vehicles more than once after we learned that they are not free
- * this feature is used by AllocateVehicles() since it need to allocate more than one and when
- * another block is added to _Vehicle_pool, since we only do that when we know it's already full
- */
-static Vehicle *AllocateSingleVehicle(VehicleID *skip_vehicles)
+
+/* static */ bool Vehicle::AllocateList(Vehicle **vl, int num)
{
- /* See note by ForceAllocateSpecialVehicle() why we skip the
- * first blocks */
- Vehicle *v;
- const int offset = (1 << Vehicle_POOL_BLOCK_SIZE_BITS) * BLOCKS_FOR_SPECIAL_VEHICLES;
-
- /* We don't use FOR_ALL here, because FOR_ALL skips invalid items.
- * @todo - This is just a temporary stage, this will be removed. */
- if (*skip_vehicles < (_Vehicle_pool.GetSize() - offset)) { // make sure the offset in the array is not larger than the array itself
- for (v = GetVehicle(offset + *skip_vehicles); v != NULL; v = (v->index + 1U < GetVehiclePoolSize()) ? GetVehicle(v->index + 1) : NULL) {
- (*skip_vehicles)++;
- if (!v->IsValid()) return InitializeVehicle(v);
- }
- }
-
- /* Check if we can add a block to the pool */
- if (AddBlockToPool(&_Vehicle_pool))
- return AllocateSingleVehicle(skip_vehicles);
-
- return NULL;
-}
-
-
-Vehicle *AllocateVehicle()
-{
- VehicleID counter = 0;
- return AllocateSingleVehicle(&counter);
-}
-
-
-/** Allocates a lot of vehicles and frees them again
- * @param vl pointer to an array of vehicles to get allocated. Can be NULL if the vehicles aren't needed (makes it test only)
- * @param num number of vehicles to allocate room for
- * @return true if there is room to allocate all the vehicles
- */
-bool AllocateVehicles(Vehicle **vl, int num)
-{
- int i;
- Vehicle *v;
- VehicleID counter = 0;
-
- for (i = 0; i != num; i++) {
- v = AllocateSingleVehicle(&counter);
- if (v == NULL) {
- return false;
- }
+ uint counter = _Vehicle_pool.first_free_index;
+
+ for (int i = 0; i != num; i++) {
+ Vehicle *v = AllocateRaw(counter);
+
+ if (v == NULL) return false;
+ v = new (v) InvalidVehicle();
+
if (vl != NULL) {
vl[i] = v;
}
+ counter++;
}
return true;
@@ -555,16 +454,8 @@
void InitializeVehicles()
{
- uint i;
-
- /* Clean the vehicle pool, and reserve enough blocks
- * for the special vehicles, plus one for all the other
- * vehicles (which is increased on-the-fly) */
- CleanPool(&_Vehicle_pool);
- AddBlockToPool(&_Vehicle_pool);
- for (i = 0; i < BLOCKS_FOR_SPECIAL_VEHICLES; i++) {
- AddBlockToPool(&_Vehicle_pool);
- }
+ _Vehicle_pool.CleanPool();
+ _Vehicle_pool.AddBlockToPool();
ResetVehiclePosHash();
}
@@ -671,46 +562,57 @@
}
}
-void DestroyVehicle(Vehicle *v)
+void Vehicle::PreDestructor()
{
- if (IsValidStationID(v->last_station_visited)) {
- GetStation(v->last_station_visited)->loading_vehicles.remove(v);
-
- HideFillingPercent(v->fill_percent_te_id);
- v->fill_percent_te_id = INVALID_TE_ID;
+ if (CleaningPool()) return;
+
+ if (IsValidStationID(this->last_station_visited)) {
+ GetStation(this->last_station_visited)->loading_vehicles.remove(this);
+
+ HideFillingPercent(this->fill_percent_te_id);
+ this->fill_percent_te_id = INVALID_TE_ID;
}
- if (IsEngineCountable(v)) {
- GetPlayer(v->owner)->num_engines[v->engine_type]--;
- if (v->owner == _local_player) InvalidateAutoreplaceWindow(v->engine_type, v->group_id);
-
- if (IsValidGroupID(v->group_id)) GetGroup(v->group_id)->num_engines[v->engine_type]--;
- if (v->IsPrimaryVehicle()) DecreaseGroupNumVehicle(v->group_id);
+ if (IsEngineCountable(this)) {
+ GetPlayer(this->owner)->num_engines[this->engine_type]--;
+ if (this->owner == _local_player) InvalidateAutoreplaceWindow(this->engine_type, this->group_id);
+
+ if (IsValidGroupID(this->group_id)) GetGroup(this->group_id)->num_engines[this->engine_type]--;
+ if (this->IsPrimaryVehicle()) DecreaseGroupNumVehicle(this->group_id);
}
- DeleteVehicleNews(v->index, INVALID_STRING_ID);
-
- DeleteName(v->string_id);
- if (v->type == VEH_ROAD) ClearSlot(v);
-
- if (v->type != VEH_TRAIN || (v->type == VEH_TRAIN && (IsFrontEngine(v) || IsFreeWagon(v)))) {
- InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile);
+ if (this->type == VEH_ROAD) ClearSlot(this);
+
+ if (this->type != VEH_TRAIN || (this->type == VEH_TRAIN && (IsFrontEngine(this) || IsFreeWagon(this)))) {
+ InvalidateWindowData(WC_VEHICLE_DEPOT, this->tile);
}
- v->cargo.Truncate(0);
- UpdateVehiclePosHash(v, INVALID_COORD, 0);
- v->next_hash = NULL;
- v->next_new_hash = NULL;
- if (IsPlayerBuildableVehicleType(v)) DeleteVehicleOrders(v);
+ this->cargo.Truncate(0);
+ DeleteVehicleOrders(this);
/* Now remove any artic part. This will trigger an other
* destroy vehicle, which on his turn can remove any
* other artic parts. */
- if ((v->type == VEH_TRAIN && EngineHasArticPart(v)) || (v->type == VEH_ROAD && RoadVehHasArticPart(v))) {
- DeleteVehicle(v->next);
+ if ((this->type == VEH_TRAIN && EngineHasArticPart(this)) || (this->type == VEH_ROAD && RoadVehHasArticPart(this))) {
+ delete this->next;
}
}
+Vehicle::~Vehicle()
+{
+ DeleteName(this->string_id);
+
+ if (CleaningPool()) return;
+
+ UpdateVehiclePosHash(this, INVALID_COORD, 0);
+ this->next_hash = NULL;
+ this->next_new_hash = NULL;
+
+ DeleteVehicleNews(this->index, INVALID_STRING_ID);
+
+ new (this) InvalidVehicle();
+}
+
/**
* Deletes all vehicles in a chain.
* @param v The first vehicle in the chain.
@@ -725,7 +627,7 @@
do {
Vehicle *u = v;
v = v->next;
- DeleteVehicle(u);
+ delete u;
} while (v != NULL);
}
@@ -932,7 +834,7 @@
tile = TileVirtXY(v->x_pos, v->y_pos);
if (!IsTileType(tile, MP_INDUSTRY)) {
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
return;
}
@@ -971,7 +873,7 @@
v->cur_image++;
} else {
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
return;
}
moved = true;
@@ -1006,7 +908,7 @@
EndVehicleMove(v);
} else {
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
}
}
}
@@ -1030,7 +932,7 @@
EndVehicleMove(v);
} else {
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
}
}
}
@@ -1059,7 +961,7 @@
v->cur_image++;
} else {
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
return;
}
moved = true;
@@ -1088,7 +990,7 @@
EndVehicleMove(v);
} else {
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
}
}
}
@@ -1117,7 +1019,7 @@
if (v->u.special.animation_state == 0) {
BeginVehicleMove(v);
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
}
}
@@ -1138,7 +1040,7 @@
EndVehicleMove(v);
} else {
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
}
}
}
@@ -1209,7 +1111,7 @@
v->u.special.animation_state++;
if (v->u.special.animation_state == lengthof(_bulldozer_movement)) {
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
return;
}
}
@@ -1413,7 +1315,7 @@
if (b->y == 4 && b->x == 0) {
EndVehicleMove(v);
- DeleteVehicle(v);
+ delete v;
return;
}
@@ -1482,9 +1384,8 @@
{
Vehicle *v;
- v = ForceAllocateSpecialVehicle();
+ v = new SpecialVehicle();
if (v != NULL) {
- v = new (v) SpecialVehicle();
v->subtype = type;
v->x_pos = x;
v->y_pos = y;
@@ -1878,7 +1779,7 @@
veh_counter++;
} while ((v = v->next) != NULL);
- if (!AllocateVehicles(NULL, veh_counter)) {
+ if (!Vehicle::AllocateList(NULL, veh_counter)) {
return_cmd_error(STR_00E1_TOO_MANY_VEHICLES_IN_GAME);
}
}
@@ -2653,6 +2554,7 @@
{
assert(IsPlayerBuildableVehicleType(type));
+ if (!IsValidPlayer(_current_player)) return false;
if (_patches.always_build_infrastructure) return true;
UnitID max;
@@ -3093,7 +2995,7 @@
};
-static const void *_veh_descs[] = {
+static const SaveLoad *_veh_descs[] = {
_train_desc,
_roadveh_desc,
_ship_desc,
@@ -3109,7 +3011,7 @@
/* Write the vehicles */
FOR_ALL_VEHICLES(v) {
SlSetArrayIndex(v->index);
- SlObject(v, (SaveLoad*)_veh_descs[v->type]);
+ SlObject(v, _veh_descs[v->type]);
}
}
@@ -3123,25 +3025,20 @@
while ((index = SlIterateArray()) != -1) {
Vehicle *v;
-
- if (!AddBlockIfNeeded(&_Vehicle_pool, index))
- error("Vehicles: failed loading savegame: too many vehicles");
-
- v = GetVehicle(index);
VehicleType vtype = (VehicleType)SlReadByte();
switch (vtype) {
- case VEH_TRAIN: v = new (v) Train(); break;
- case VEH_ROAD: v = new (v) RoadVehicle(); break;
- case VEH_SHIP: v = new (v) Ship(); break;
- case VEH_AIRCRAFT: v = new (v) Aircraft(); break;
- case VEH_SPECIAL: v = new (v) SpecialVehicle(); break;
- case VEH_DISASTER: v = new (v) DisasterVehicle(); break;
- case VEH_INVALID: v = new (v) InvalidVehicle(); break;
+ case VEH_TRAIN: v = new (index) Train(); break;
+ case VEH_ROAD: v = new (index) RoadVehicle(); break;
+ case VEH_SHIP: v = new (index) Ship(); break;
+ case VEH_AIRCRAFT: v = new (index) Aircraft(); break;
+ case VEH_SPECIAL: v = new (index) SpecialVehicle(); break;
+ case VEH_DISASTER: v = new (index) DisasterVehicle(); break;
+ case VEH_INVALID: v = new (index) InvalidVehicle(); break;
default: NOT_REACHED();
}
- SlObject(v, (SaveLoad*)_veh_descs[vtype]);
+ SlObject(v, _veh_descs[vtype]);
if (_cargo_count != 0 && IsPlayerBuildableVehicleType(v)) {
/* Don't construct the packet with station here, because that'll fail with old savegames */
--- a/src/vehicle.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/vehicle.h Sun Aug 12 18:32:47 2007 +0000
@@ -217,13 +217,13 @@
TrackBitsByte state;
};
+struct Vehicle;
+DECLARE_OLD_POOL(Vehicle, Vehicle, 9, 125)
-struct Vehicle {
+struct Vehicle : PoolItem<Vehicle, VehicleID, &_Vehicle_pool> {
VehicleTypeByte type; ///< Type of vehicle
byte subtype; // subtype (Filled with values from EffectVehicles/TrainSubTypes/AircraftSubTypes)
- VehicleID index; // NOSAVE: Index in vehicle array
-
Vehicle *next; // next
Vehicle *first; // NOSAVE: pointer to the first vehicle in the chain
Vehicle *depot_list; //NOSAVE: linked list to tell what vehicles entered a depot during the last tick. Used by autoreplace
@@ -337,6 +337,23 @@
VehicleShip ship;
} u;
+
+ /**
+ * Allocates a lot of vehicles.
+ * @param vl pointer to an array of vehicles to get allocated. Can be NULL if the vehicles aren't needed (makes it test only)
+ * @param num number of vehicles to allocate room for
+ * @return true if there is room to allocate all the vehicles
+ */
+ static bool AllocateList(Vehicle **vl, int num);
+
+ /** Create a new vehicle */
+ Vehicle();
+
+ /** Destroy all stuff that (still) needs the virtual functions to work properly */
+ void PreDestructor();
+ /** We want to 'destruct' the right class. */
+ virtual ~Vehicle();
+
void BeginLoading();
void LeaveStation();
@@ -348,41 +365,10 @@
void HandleLoading(bool mode = false);
/**
- * An overriden version of new, so you can use the vehicle instance
- * instead of a newly allocated piece of memory.
- * @param size the size of the variable (unused)
- * @param v the vehicle to use as 'storage' backend
- * @return the memory that is 'allocated'
- */
- void *operator new(size_t size, Vehicle *v) { return v; }
-
- /**
- * 'Free' the memory allocated by the overriden new.
- * @param p the memory to 'free'
- * @param v the vehicle that was given to 'new' on creation.
- * @note This function isn't used (at the moment) and only added
- * to please some compiler.
- */
- void operator delete(void *p, Vehicle *v) {}
-
- /**
- * 'Free' the memory allocated by the overriden new.
- * @param p the memory to 'free'
- * @note This function isn't used (at the moment) and only added
- * as the above function was needed to please some compiler
- * which made it necessary to add this to please yet
- * another compiler...
- */
- void operator delete(void *p) {}
-
- /** We want to 'destruct' the right class. */
- virtual ~Vehicle() {}
-
- /**
* Get a string 'representation' of the vehicle type.
* @return the string representation.
*/
- virtual const char* GetTypeString() const = 0;
+ virtual const char* GetTypeString() const { return "base vehicle"; }
/**
* Marks the vehicles to be redrawn and updates cached variables
@@ -433,7 +419,7 @@
/**
* Calls the tick handler of the vehicle
*/
- virtual void Tick() = 0;
+ virtual void Tick() {};
bool IsValid() const { return this->type != VEH_INVALID; }
};
@@ -511,10 +497,6 @@
typedef void *VehicleFromPosProc(Vehicle *v, void *data);
void VehicleServiceInDepot(Vehicle *v);
-Vehicle *AllocateVehicle();
-bool AllocateVehicles(Vehicle **vl, int num);
-Vehicle *ForceAllocateVehicle();
-Vehicle *ForceAllocateSpecialVehicle();
void VehiclePositionChanged(Vehicle *v);
void AfterLoadVehicles();
Vehicle *GetLastVehicleInChain(Vehicle *v);
@@ -621,8 +603,6 @@
#define BEGIN_ENUM_WAGONS(v) do {
#define END_ENUM_WAGONS(v) } while ((v = v->next) != NULL);
-DECLARE_OLD_POOL(Vehicle, Vehicle, 9, 125)
-
static inline VehicleID GetMaxVehicleIndex()
{
/* TODO - This isn't the real content of the function, but
@@ -638,14 +618,6 @@
return GetVehiclePoolSize();
}
-void DestroyVehicle(Vehicle *v);
-
-static inline void DeleteVehicle(Vehicle *v)
-{
- DestroyVehicle(v);
- v = new (v) InvalidVehicle();
-}
-
static inline bool IsPlayerBuildableVehicleType(VehicleType type)
{
switch (type) {
--- a/src/video/cocoa_v.mm Sun Aug 12 18:18:48 2007 +0000
+++ b/src/video/cocoa_v.mm Sun Aug 12 18:32:47 2007 +0000
@@ -2064,14 +2064,16 @@
_cocoa_video_dialog = true;
wasstarted = _cocoa_video_started;
- if (!_cocoa_video_started && _video_driver->Start(NULL) != NULL) {
+ if (_video_driver == NULL) {
+ setupApplication(); // Setup application before showing dialog
+ } else if (!_cocoa_video_started && _video_driver->Start(NULL) != NULL) {
fprintf(stderr, "%s: %s\n", title, message);
return;
}
NSRunAlertPanel([NSString stringWithCString: title], [NSString stringWithCString: message], [NSString stringWithCString: buttonLabel], nil, nil);
- if (!wasstarted) _video_driver->Stop();
+ if (!wasstarted && _video_driver != NULL) _video_driver->Stop();
_cocoa_video_dialog = false;
}
--- a/src/video/dedicated_v.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/video/dedicated_v.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -66,11 +66,13 @@
}
#endif
-#ifdef WIN32
-#include <windows.h> /* GetTickCount */
-#include <conio.h>
-#include <time.h>
-#include <tchar.h>
+#if defined(WIN32)
+# include <windows.h> /* GetTickCount */
+# if !defined(WINCE)
+# include <conio.h>
+# endif
+# include <time.h>
+# include <tchar.h>
static HANDLE _hInputReady, _hWaitForInputHandling;
static HANDLE _hThread; // Thread to close
static char _win_console_thread_buffer[200];
@@ -78,6 +80,10 @@
/* Windows Console thread. Just loop and signal when input has been received */
static void WINAPI CheckForConsoleInput()
{
+#if defined(WINCE)
+ /* WinCE doesn't support console stuff */
+ return;
+#else
DWORD nb;
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
while (true) {
@@ -87,6 +93,7 @@
SetEvent(_hInputReady);
WaitForSingleObject(_hWaitForInputHandling, INFINITE);
}
+#endif
}
static void CreateWindowsConsoleThread()
@@ -133,7 +140,9 @@
SetDebugString("net=6");
-#ifdef WIN32
+#if defined(WINCE)
+ /* WinCE doesn't support console stuff */
+#elif defined(WIN32)
// For win32 we need to allocate a console (debug mode does the same)
CreateConsole();
CreateWindowsConsoleThread();
--- a/src/video/win32_v.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/video/win32_v.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -621,6 +621,9 @@
#if !defined(WINCE)
case WM_ACTIVATE: {
+ /* Don't do anything if we are closing openttd */
+ if (_exit_game) break;
+
bool active = (LOWORD(wParam) != WA_INACTIVE);
bool minimized = (HIWORD(wParam) != 0);
if (_wnd.fullscreen) {
@@ -634,10 +637,9 @@
ChangeDisplaySettings(NULL, 0);
}
}
- break;
- }
+ } break;
+#endif
}
-#endif
return DefWindowProc(hwnd, msg, wParam, lParam);
}
@@ -775,6 +777,8 @@
FindResolutions();
+ DEBUG(driver, 2, "Resolution for display: %dx%d", _cur_resolution[0], _cur_resolution[1]);
+
// fullscreen uses those
_wnd.width_org = _cur_resolution[0];
_wnd.height_org = _cur_resolution[1];
--- a/src/waypoint.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/waypoint.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -404,17 +404,14 @@
Waypoint::~Waypoint()
{
+ if (this->string != STR_NULL) DeleteName(this->string);
+
+ if (CleaningPool()) return;
+
RemoveOrderFromAllVehicles(OT_GOTO_WAYPOINT, this->index);
RedrawWaypointSign(this);
this->xy = 0;
-
- this->QuickFree();
-}
-
-void Waypoint::QuickFree()
-{
- if (this->string != STR_NULL) DeleteName(this->string);
}
bool Waypoint::IsValid() const
--- a/src/waypoint.h Sun Aug 12 18:18:48 2007 +0000
+++ b/src/waypoint.h Sun Aug 12 18:32:47 2007 +0000
@@ -30,8 +30,6 @@
Waypoint(TileIndex tile = 0);
~Waypoint();
- void QuickFree();
-
bool IsValid() const;
};
--- a/src/win32.cpp Sun Aug 12 18:18:48 2007 +0000
+++ b/src/win32.cpp Sun Aug 12 18:32:47 2007 +0000
@@ -94,7 +94,7 @@
#endif
}
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(WINCE)
static void *_safe_esp;
static char *_crash_msg;
@@ -734,6 +734,14 @@
void FiosGetDrives()
{
+#if defined(WINCE)
+ /* WinCE only knows one drive: / */
+ FiosItem *fios = FiosAlloc();
+ fios->type = FIOS_TYPE_DRIVE;
+ fios->mtime = 0;
+ snprintf(fios->name, lengthof(fios->name), PATHSEP "");
+ ttd_strlcpy(fios->title, fios->name, lengthof(fios->title));
+#else
TCHAR drives[256];
const TCHAR *s;
@@ -746,6 +754,7 @@
ttd_strlcpy(fios->title, fios->name, lengthof(fios->title));
while (*s++ != '\0');
}
+#endif
}
bool FiosIsValidFile(const char *path, const struct dirent *ent, struct stat *sb)
@@ -821,6 +830,9 @@
void CreateConsole()
{
+#if defined(WINCE)
+ /* WinCE doesn't support console stuff */
+#else
HANDLE hand;
CONSOLE_SCREEN_BUFFER_INFO coninfo;
@@ -849,6 +861,7 @@
setvbuf(stdin, NULL, _IONBF, 0);
setvbuf(stdout, NULL, _IONBF, 0);
setvbuf(stderr, NULL, _IONBF, 0);
+#endif
}
void ShowInfo(const char *str)
@@ -882,7 +895,11 @@
int _set_error_mode(int);
#endif
+#if defined(WINCE)
+int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
+#else
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
+#endif
{
int argc;
char *argv[64]; // max 64 command line arguments
@@ -893,8 +910,11 @@
#endif /* UNICODE */
#if defined(UNICODE)
+
+#if !defined(WINCE)
/* Check if a win9x user started the win32 version */
if (HASBIT(GetVersion(), 31)) error("This version of OpenTTD doesn't run on windows 95/98/ME.\nPlease download the win9x binary and try again.");
+#endif
/* For UNICODE we need to convert the commandline to char* _AND_
* save it because argv[] points into this buffer and thus needs to
@@ -908,7 +928,9 @@
CreateConsole();
#endif
+#if !defined(WINCE)
_set_error_mode(_OUT_TO_MSGBOX); // force assertion output to messagebox
+#endif
/* setup random seed to something quite random */
_random_seeds[1][0] = _random_seeds[0][0] = GetTickCount();
@@ -951,7 +973,14 @@
char *getcwd(char *buf, size_t size)
{
-#if defined(UNICODE)
+#if defined(WINCE)
+ TCHAR path[MAX_PATH];
+ GetModuleFileName(NULL, path, MAX_PATH);
+ convert_from_fs(path, buf, size);
+ /* GetModuleFileName returns dir with file, so remove everything behind latest '\\' */
+ char *p = strrchr(buf, '\\');
+ if (p != NULL) *p = '\0';
+#elif defined(UNICODE)
TCHAR path[MAX_PATH];
GetCurrentDirectory(MAX_PATH - 1, path);
convert_from_fs(path, buf, size);