GunChleoc has proposed merging lp:~gunchleoc/widelands/i18n-20140307 into lp:widelands.
Requested reviews: Widelands Developers (widelands-dev) For more details, see: https://code.launchpad.net/~gunchleoc/widelands/i18n-20140307/+merge/210046 Some more i18n fixes. Catalogs and translations will need rebuilding. -- https://code.launchpad.net/~gunchleoc/widelands/i18n-20140307/+merge/210046 Your team Widelands Developers is requested to review the proposed merge of lp:~gunchleoc/widelands/i18n-20140307 into lp:widelands.
=== modified file 'maps/MP Scenarios/Island Hopping.wmf/scripting/multiplayer_init.lua' --- maps/MP Scenarios/Island Hopping.wmf/scripting/multiplayer_init.lua 2014-03-05 18:47:03 +0000 +++ maps/MP Scenarios/Island Hopping.wmf/scripting/multiplayer_init.lua 2014-03-08 06:20:00 +0000 @@ -129,6 +129,7 @@ elseif resource == "goldore" then return ngettext("%s Gold Ore","%s Gold Ore",count):bformat(count) else + -- TRANSLATORS: number + resource name, e.g. '1 stone' return (_"%1$i %2$s"):bformat(count, resource) end end === modified file 'maps/MP Scenarios/Smugglers.wmf/scripting/texts.lua' --- maps/MP Scenarios/Smugglers.wmf/scripting/texts.lua 2014-03-03 20:50:30 +0000 +++ maps/MP Scenarios/Smugglers.wmf/scripting/texts.lua 2014-03-08 06:20:00 +0000 @@ -11,7 +11,7 @@ [[To establish a smuggling route, you need to build a warehouse on a sending/receiving spot ]] .. [[while your team mate has to build one on the corresponding receiving/sending spot. ]] .. [[A ware is then transported every 10 seconds. ]]) .. --- TRANSLATORS: %s = "<number> points" +-- TRANSLATORS: %s = '<number> points' _([[For harder to defend smuggling routes, you get 2 or 3 points per ware smuggled. The first team to collect %s wins.]] )) .. rt("image=map:send_spot.png", p(_"A sending spot")) .. @@ -25,30 +25,30 @@ [[You can see the number of wares traded at any time in the general statistics menu. Good luck!]] ))) --- TRANSLATORS: the first 2 parameters are player names, the last parameter is "<number> points" +-- TRANSLATORS: the first 2 parameters are player names, the last parameter is '<number> points' smuggling_route_established_other_team = rt(p(_( [[A new smuggling route from %1$s to %2$s has been established! ]] .. [[Every ware they smuggle there is worth %3$s.]] ))) --- TRANSLATORS: %s = "<number> points" +-- TRANSLATORS: %s = '<number> points' smuggling_route_established_sender = rt(p(_( [[Your team has established a new smuggling route. You have the sending warehouse. ]] .. [[Every ware smuggled here is worth %s.]] ))) --- TRANSLATORS: %s = "<number> points" +-- TRANSLATORS: %s = '<number> points' smuggling_route_established_receiver = rt(p(_( [[Your team has established a new smuggling route. You have the receiving warehouse. ]] .. [[Every ware smuggled here is worth %s.]] ))) --- TRANSLATORS: the first parameter is "<number> points", the last 2 parameters are player names +-- TRANSLATORS: the first parameter is '<number> points', the last 2 parameters are player names smuggling_route_broken = rt(p(_ [[The smuggling route worth %1$s from %2$s to %3$s has been broken!]] )) game_over = rt( h1("Game over!") .. --- TRANSLATORS: the first 4 parameters are player names, the last parameter is "<number> points" +-- TRANSLATORS: the first 4 parameters are player names, the last parameter is '<number> points' p(_ [[Game over! %1$s and %2$s have won the game! %3$s and %4$s only managed to collect %5$s.]] ) === modified file 'maps/Plateau.wmf/scripting/texts.lua' --- maps/Plateau.wmf/scripting/texts.lua 2014-02-26 16:52:26 +0000 +++ maps/Plateau.wmf/scripting/texts.lua 2014-03-08 06:20:00 +0000 @@ -53,7 +53,7 @@ "<rt><p line-spacing=3 font-size=12>" .. reflow(text) objs = {...} if #objs > 0 then - s = s .. "<br><br></p></rt>" .. rt(h2(_"New Objectives")) .. "<rt><p line-spacing=3 font-size=12>" + s = s .. "<br><br></p></rt>" .. rt(h2(_"New Objective")) .. "<rt><p line-spacing=3 font-size=12>" local i = 1 while i < #objs do s = s .. reflow(objs[i].body) .. "<br>" === modified file 'scripting/win_conditions/04_wood_gnome.lua' --- scripting/win_conditions/04_wood_gnome.lua 2014-03-03 20:50:30 +0000 +++ scripting/win_conditions/04_wood_gnome.lua 2014-03-08 06:20:00 +0000 @@ -12,10 +12,10 @@ local wc_name = _ "Wood Gnome" local wc_version = 2 -local wc_desc = _ -[[As wood gnome you like big forests, so your task is to have more trees on -your territory than any other player. The game will end after 4 hours of -playing. The one with the most trees at that point will win the game.]] +local wc_desc = _( +[[As wood gnome you like big forests, so your task is to have more trees on ]] .. +[[your territory than any other player. The game will end after 4 hours of ]] .. +[[playing. The one with the most trees at that point will win the game.]]) local wc_trees_owned = _"Trees owned" return { name = wc_name, === modified file 'src/editor/ui_menus/editor_main_menu_load_map.cc' --- src/editor/ui_menus/editor_main_menu_load_map.cc 2014-03-05 11:59:09 +0000 +++ src/editor/ui_menus/editor_main_menu_load_map.cc 2014-03-08 06:20:00 +0000 @@ -221,6 +221,7 @@ m_parentdir = m_curdir.substr(0, m_curdir.rfind('\\')); #endif std::string parent_string = + /** TRANSLATORS: Parent directory */ (boost::format("\\<%s\\>") % _("parent")).str(); m_ls->add (parent_string.c_str(), === modified file 'src/editor/ui_menus/editor_main_menu_save_map.cc' --- src/editor/ui_menus/editor_main_menu_save_map.cc 2014-03-05 11:59:09 +0000 +++ src/editor/ui_menus/editor_main_menu_save_map.cc 2014-03-08 06:20:00 +0000 @@ -294,6 +294,7 @@ m_parentdir = m_curdir.substr(0, m_curdir.rfind('\\')); #endif std::string parent_string = + /** TRANSLATORS: Parent directory */ (boost::format("\\<%s\\>") % _("parent")).str(); m_ls->add (parent_string.c_str(), === modified file 'src/logic/production_program.cc' --- src/logic/production_program.cc 2014-03-04 13:24:58 +0000 +++ src/logic/production_program.cc 2014-03-08 06:20:00 +0000 @@ -151,7 +151,7 @@ std::string ProductionProgram::ActReturn::Negation::description (const Tribe_Descr & tribe) const { - /** TRANSLATORS: %s = e.g. "economy needs ..." Context: "and/or not %s" */ + /** TRANSLATORS: %s = e.g. 'economy needs ...' Context: 'and/or not %s' */ return (boost::format(_("not %s")) % operand->description(tribe)).str(); } @@ -174,7 +174,7 @@ std::string ProductionProgram::ActReturn::Economy_Needs_Ware::description (const Tribe_Descr & tribe) const { - /** TRANSLATORS: e.g. "economy needs water" Context: "and/or (not) economy needs %s" */ + /** TRANSLATORS: e.g. 'economy needs water' Context: 'and/or (not) economy needs %s' */ return (boost::format(_("economy needs %s")) % tribe.get_ware_descr(ware_type)->descname()).str(); } @@ -196,7 +196,7 @@ std::string ProductionProgram::ActReturn::Economy_Needs_Worker::description (const Tribe_Descr & tribe) const { - /** TRANSLATORS: e.g. "economy needs worker" Context: "and/or (not) economy needs %s" */ + /** TRANSLATORS: e.g. 'economy needs worker' Context: 'and/or (not) economy needs %s' */ return (boost::format(_("economy needs %s")) % tribe.get_ware_descr(worker_type)->descname()).str(); } @@ -229,10 +229,10 @@ std::string condition = ""; container_iterate_const(std::set<Ware_Index>, group.first, i) { condition = - /** TRANSLATORS: Adds a ware to list of wares in "Failed/Skipped ..." messages. */ + /** TRANSLATORS: Adds a ware to list of wares in 'Failed/Skipped ...' messages. */ (boost::format(_("%1$s %2$s")) % condition % tribe.get_ware_descr(*i.current)->descname()) .str(); - /** TRANSLATORS: Separator for list of wares in "Failed/Skipped ..." messages. */ + /** TRANSLATORS: Separator for list of wares in 'Failed/Skipped ...' messages. */ condition = (boost::format(_("%s,")) % condition).str(); } if (1 < group.second) { @@ -257,6 +257,7 @@ std::string ProductionProgram::ActReturn::Workers_Need_Experience::description (const Tribe_Descr &) const { + /** TRANSLATORS: 'Failed/Skipped ... because: workers need experience'. */ return _("workers need experience"); } @@ -423,16 +424,16 @@ (Game & game, ProductionSite & ps) const { std::string statistics_string = - /** TRANSLATORS: "Failed %s because (not): %s {and/or %s}" */ + /** TRANSLATORS: 'Failed %s because (not): %s {and/or %s}' */ m_result == Failed ? (boost::format(_("Failed %s")) % ps.top_state().program->descname()).str() : - /** TRANSLATORS: "Completed %s because (not): %s {and/or %s}" */ + /** TRANSLATORS: 'Completed %s because (not): %s {and/or %s}' */ m_result == Completed ? (boost::format(_("Completed %s")) % ps.top_state().program->descname()).str() : - /** TRANSLATORS: "Skipped %s because (not): %s {and/or %s}" */ + /** TRANSLATORS: 'Skipped %s because (not): %s {and/or %s}' */ (boost::format(_("Skipped %s")) % ps.top_state().program->descname()).str(); if (!m_conditions.empty()) { std::string result_string = statistics_string; - if (m_is_when) { // "when a and b and ..." (all conditions must be true) + if (m_is_when) { // 'when a and b and ...' (all conditions must be true) std::string condition_string = ""; for (wl_const_range<Conditions> i(m_conditions); i;) { @@ -443,11 +444,11 @@ if (i.advance().empty()) break; // TODO Would prefer "%1$s and %2$s" but getting segfaults, so leaving this for now - /** TRANSLATORS: "Failed/Completed/Skipped %s because: %s {and %s}" */ + /** TRANSLATORS: 'Failed/Completed/Skipped %s because: %s {and %s}' */ condition_string = (boost::format(_("%s and ")) % condition_string).str(); } result_string = - /** TRANSLATORS: "Failed/Completed/Skipped %s because: %s {and %s}" */ + /** TRANSLATORS: 'Failed/Completed/Skipped %s because: %s {and %s}' */ (boost::format(_("%1$s because: %2$s")) % statistics_string % condition_string).str(); } else { // "unless a or b or ..." (all conditions must be false) std::string condition_string = ""; @@ -459,12 +460,12 @@ condition_string += i.front()->description(ps.owner().tribe()); if (i.advance().empty()) break; - // TODO Would prefer "%1$s or %2$s" but getting segfaults, so leaving this for now - /** TRANSLATORS: "Failed/Completed/Skipped %s because not: %s {or %s}" */ + // TODO Would prefer '%1$s or %2$s' but getting segfaults, so leaving this for now + /** TRANSLATORS: 'Failed/Completed/Skipped %s because not: %s {or %s}' */ condition_string = (boost::format(_("%s or ")) % condition_string).str(); } result_string = - /** TRANSLATORS: "Failed/Completed/Skipped %s because not: %s {or %s}" */ + /** TRANSLATORS: 'Failed/Completed/Skipped %s because not: %s {or %s}' */ (boost::format(_("%1$s because not: %2$s")) % statistics_string % condition_string).str(); } snprintf @@ -828,7 +829,7 @@ if (uint8_t const nr_missing_groups = l_groups.size()) { const Tribe_Descr & tribe = ps.owner().tribe(); std::string result_string = - /** TRANSLATORS: e.g. "Failed work because: water, wheat (2) are missing" */ + /** TRANSLATORS: e.g. 'Failed work because: water, wheat (2) are missing' */ (boost::format(_("Failed %s because:")) % ps.top_state().program->descname()).str(); for (wl_const_range<Groups> i(l_groups); i;) @@ -837,13 +838,13 @@ for (wl_const_range<std::set<Ware_Index> > j(i.current->first); j;) { result_string = - /** TRANSLATORS: Adds a ware to list of wares in "Failed/Skipped ..." messages. */ + /** TRANSLATORS: Adds a ware to list of wares in 'Failed/Skipped ...' messages. */ (boost::format(_("%1$s %2$s")) % result_string % tribe.get_ware_descr(j.front())->descname()) .str(); if (j.advance().empty()) break; - /** TRANSLATORS: Separator for list of wares in "Failed/Skipped ..." messages. */ + /** TRANSLATORS: Separator for list of wares in 'Failed/Skipped ...' messages. */ result_string = (boost::format(_("%s,")) % result_string).str(); } { @@ -851,7 +852,7 @@ if (1 < count) { // TODO this should be done with ngettext result_string = - /** TRANSLATORS: e.g. "Failed work because: water, wheat (2) are missing" */ + /** TRANSLATORS: e.g. 'Failed work because: water, wheat (2) are missing' */ (boost::format(_("%1$s (%2$i)")) % result_string % static_cast<unsigned int>(count)) .str(); @@ -862,8 +863,9 @@ result_string = (boost::format(_("%s and")) % result_string).str(); } result_string = - /** TRANSLATORS: e.g. "Failed work because: water, wheat (2) are missing" */ + /** TRANSLATORS: e.g. %1$s = 'Failed work because: water, wheat (2)' %2$s = 'are missing' */ (boost::format(_("%1$s %2$s")) % result_string + /** TRANSLATORS: e.g. 'Failed work because: water, wheat (2) are missing' */ % ngettext(" is missing", " are missing", nr_missing_groups)) .str(); @@ -958,6 +960,7 @@ uint8_t const count = i.current->second; if (1 < count) { char buffer[5]; + /** TRANSLATORS: Number used in list of wares */ sprintf(buffer, _("%u "), count); result_string += buffer; } @@ -965,9 +968,11 @@ result_string += tribe.get_ware_descr(i.current->first)->descname(); if (i.advance().empty()) break; + /** TRANSLATORS: Separator for list of wares */ result_string += _(", "); } // Keep translateability in mind! + /** TRANSLATORS: %s is a list of wares */ result_string = str(format(_("Produced %s")) % result_string); snprintf (ps.m_result_buffer, sizeof(ps.m_result_buffer), @@ -1054,6 +1059,7 @@ uint8_t const count = i.current->second; if (1 < count) { char buffer[5]; + /** TRANSLATORS: Number used in list of workers */ sprintf(buffer, _("%u "), count); unit_string += buffer; } @@ -1061,9 +1067,11 @@ unit_string += tribe.get_worker_descr(i.current->first)->descname(); if (i.advance().empty()) break; + /** TRANSLATORS: Separator for list of workers */ unit_string += _(", "); } - std::string result_string = (boost::format(_("Recruited %s?")) % unit_string).str(); + /** TRANSLATORS: %s is a lost of workers */ + std::string result_string = (boost::format(_("Recruited %s")) % unit_string).str(); snprintf (ps.m_result_buffer, sizeof(ps.m_result_buffer), "%s", result_string.c_str()); @@ -1119,7 +1127,7 @@ "percentage", parameters); } std::string description = - /** TRANSLATORS: %1$s = name, %2$s = production program, %3$s = resource*/ + /** TRANSLATORS: %1$s = production site name, %2$s = production program name, %3$s = resource */ (boost::format(_("%1$s %2$s mine %3$s")) % descr.descname() % production_program_name % world.get_resource(m_resource)->descname()) .str(); === modified file 'src/logic/soldier.cc' --- src/logic/soldier.cc 2014-03-05 11:59:09 +0000 +++ src/logic/soldier.cc 2014-03-08 06:20:00 +0000 @@ -1557,14 +1557,12 @@ descname().c_str(), serial(), owner().player_number(), get_position().x, get_position().y, immovable_position ? - /** TRANSLATORS this is followed by "immovable" in the source string */ - immovable_position->descr().descname().c_str() : _("no"), + immovable_position->descr().descname().c_str() : ("no"), opponent.descname().c_str(), opponent.serial(), opponent.owner().player_number(), dest.x, dest.y, immovable_dest ? - /** TRANSLATORS this is followed by "immovable" in the source string */ - immovable_dest->descr().descname().c_str() : _("no"), + immovable_dest->descr().descname().c_str() : ("no"), descname().c_str()); owner().add_message (game, === modified file 'src/network/nethost.cc' --- src/network/nethost.cc 2014-03-06 12:52:12 +0000 +++ src/network/nethost.cc 2014-03-08 06:20:00 +0000 @@ -212,7 +212,7 @@ h->setPlayerState(number, newstate, true); } - virtual void setPlayerTribe + virtual void setPlayerTribe (uint8_t const number, const std::string & tribe, bool const random_tribe) override { if (number >= h->settings().players.size()) @@ -444,8 +444,8 @@ c.msg = (format(_("The client %s could not be found.")) % arg1).str(); else { kickClient = num; - c.msg = (format(_("Are you sure you want to kick %s?<br>")) % arg1).str(); - c.msg += (format(_("The stated reason was: %s<br>")) % kickReason).str(); + c.msg = (format(_("Are you sure you want to kick %s?")) % arg1).str() + "<br>"; + c.msg += (format(_("The stated reason was: %s")) % kickReason).str() + "<br>"; c.msg += (format(_("If yes, type: /ack_kick %s")) % arg1).str(); } } === modified file 'src/ui_fsmenu/editor_mapselect.cc' --- src/ui_fsmenu/editor_mapselect.cc 2014-02-22 18:04:02 +0000 +++ src/ui_fsmenu/editor_mapselect.cc 2014-03-08 06:20:00 +0000 @@ -227,6 +227,7 @@ m_parentdir = m_curdir.substr(0, m_curdir.rfind('\\')); #endif std::string parent_string = + /** TRANSLATORS: Parent directory */ (boost::format("\\<%s\\>") % _("parent")).str(); m_list.add (parent_string.c_str(), === modified file 'src/wui/encyclopedia_window.cc' --- src/wui/encyclopedia_window.cc 2014-03-05 11:59:09 +0000 +++ src/wui/encyclopedia_window.cc 2014-03-08 06:20:00 +0000 @@ -191,7 +191,7 @@ tribe.get_ware_descr(*k)->descname(); if (k.advance().empty()) break; - /** TRANSLATORS: List or wares, e.g. "Fish or Meat" */ + /** TRANSLATORS: List of wares, e.g. "Fish or Meat" */ ware_type_names += _(" or "); } === modified file 'src/wui/playerdescrgroup.cc' --- src/wui/playerdescrgroup.cc 2014-03-05 11:59:09 +0000 +++ src/wui/playerdescrgroup.cc 2014-03-08 06:20:00 +0000 @@ -174,7 +174,7 @@ if (player.random_ai) { title += _("AI: Random"); } else { - /** TRANSLATORS %s = AI type, e.g. "Agressive" */ + /** TRANSLATORS %s = AI type, e.g. 'Agressive' */ title += (boost::format(_("AI: %s")) % _(player.ai)).str(); } } === modified file 'tribes/atlanteans/scripting/sc01_castle_village.lua' --- tribes/atlanteans/scripting/sc01_castle_village.lua 2014-02-25 14:45:19 +0000 +++ tribes/atlanteans/scripting/sc01_castle_village.lua 2014-03-08 06:20:00 +0000 @@ -98,10 +98,10 @@ wares = { trunk = 1 } }) end) then - plr:send_message(_"Not enough space", _ -[[Some of your starting buildings didn’t have enough room and -weren’t built. You are at a disadvantage with this; consider restarting -this map with a fair starting condition.]], {popup=true} + plr:send_message(_"Not enough space", _( +[[Some of your starting buildings didn’t have enough room and ]] .. +[[weren’t built. You are at a disadvantage with this; consider restarting ]] .. +[[this map with a fair starting condition.]]), {popup=true} ) end === modified file 'tribes/barbarians/coalmine/help.lua' --- tribes/barbarians/coalmine/help.lua 2014-03-05 18:47:03 +0000 +++ tribes/barbarians/coalmine/help.lua 2014-03-08 06:20:00 +0000 @@ -9,8 +9,9 @@ --Lore Section rt(h2(_"Lore")) .. rt("image=tribes/barbarians/coalmine/coalmine_i_00.png", p( - _[[Ages ago, the Barbarians learned to delve into mountainsides for that black material that feeds their furnaces. <br> - Wood may serve for a household fire and to keep you warm, but when it comes to working with iron or gold, there is no way around coal.]] + _([[Ages ago, the Barbarians learned to delve into mountainsides for that black material that feeds their furnaces.<br> +]] .. + [[Wood may serve for a household fire and to keep you warm, but when it comes to working with iron or gold, there is no way around coal.]]) )) .. --General Section rt(h2(_"General")) .. === modified file 'tribes/barbarians/deep_coalmine/help.lua' --- tribes/barbarians/deep_coalmine/help.lua 2014-03-05 18:47:03 +0000 +++ tribes/barbarians/deep_coalmine/help.lua 2014-03-08 06:20:00 +0000 @@ -9,8 +9,9 @@ --Lore Section rt(h2(_"Lore")) .. rt("image=tribes/barbarians/deep_coalmine/deep_coalmine_i_00.png", p(--text identical to coalmine - _[[Ages ago, the Barbarians learned to delve into mountainsides for that black material that feeds their furnaces. <br> - Wood may serve for a household fire and to keep you warm, but when it comes to working with iron or gold, there is no way around coal.]] + _([[Ages ago, the Barbarians learned to delve into mountainsides for that black material that feeds their furnaces.<br> +]] .. + [[Wood may serve for a household fire and to keep you warm, but when it comes to working with iron or gold, there is no way around coal.]]) )) .. --General Section rt(h2(_"General")) .. === modified file 'tribes/barbarians/deeper_coalmine/help.lua' --- tribes/barbarians/deeper_coalmine/help.lua 2014-03-05 18:47:03 +0000 +++ tribes/barbarians/deeper_coalmine/help.lua 2014-03-08 06:20:00 +0000 @@ -9,8 +9,9 @@ --Lore Section rt(h2(_"Lore")) .. rt("image=tribes/barbarians/deeper_coalmine/deeper_coalmine_i_00.png", p(--text identical to coalmine - _[[Ages ago, the Barbarians learned to delve into mountainsides for that black material that feeds their furnaces. <br> - Wood may serve for a household fire and to keep you warm, but when it comes to working with iron or gold, there is no way around coal.]] + _([[Ages ago, the Barbarians learned to delve into mountainsides for that black material that feeds their furnaces.<br> +]] .. + [[Wood may serve for a household fire and to keep you warm, but when it comes to working with iron or gold, there is no way around coal.]]) )) .. --General Section rt(h2(_"General")) .. === modified file 'tribes/barbarians/scripting/sc01_citadel_village.lua' --- tribes/barbarians/scripting/sc01_citadel_village.lua 2014-02-25 14:45:19 +0000 +++ tribes/barbarians/scripting/sc01_citadel_village.lua 2014-03-08 06:20:00 +0000 @@ -91,10 +91,10 @@ wares = { raw_stone = 6, coal = 3 }, }) end) then - plr:send_message(_"Not enough space", _ -[[Some of your starting buildings didn’t have enough room and -weren’t built. You are at a disadvantage with this; consider restarting -this map with a fair starting condition.]], {popup=true} + plr:send_message(_"Not enough space", _( +[[Some of your starting buildings didn’t have enough room and ]] .. +[[weren’t built. You are at a disadvantage with this; consider restarting ]] .. +[[this map with a fair starting condition.]]), {popup=true} ) end end, === modified file 'tribes/empire/scripting/sc01_castle_village.lua' --- tribes/empire/scripting/sc01_castle_village.lua 2014-02-25 14:45:19 +0000 +++ tribes/empire/scripting/sc01_castle_village.lua 2014-03-08 06:20:00 +0000 @@ -116,10 +116,10 @@ place_building_in_region(plr, "stonemasons_house", sf:region(11)) end) then - plr:send_message(_"Not enough space", _ -[[Some of your starting buildings didn’t have enough room and -weren’t built. You are at a disadvantage with this; consider restarting -this map with a fair starting condition.]], {popup=true} + plr:send_message(_"Not enough space", _( +[[Some of your starting buildings didn’t have enough room and ]] .. +[[weren’t built. You are at a disadvantage with this; consider restarting ]] .. +[[this map with a fair starting condition.]]), {popup=true} ) end end === modified file 'txts/README.lua' --- txts/README.lua 2014-03-03 20:50:30 +0000 +++ txts/README.lua 2014-03-08 06:20:00 +0000 @@ -58,8 +58,8 @@ ) .. h2(_ [[Keyboard shortcuts (in-game)]] ) .. p( -_"PAGEUP: increases games peed" .. "<br>" -.. _"PAGEDOWN: decreases games peed" .. "<br>" +_"PAGEUP: increases game speed" .. "<br>" +.. _"PAGEDOWN: decreases game speed" .. "<br>" .. _"PAUSE: pauses the game" .. "<br>" .. _"SPACE: toggles if building spaces are shown" .. "<br>" .. _"M: toggles minimap" .. "<br>"
_______________________________________________ Mailing list: https://launchpad.net/~widelands-dev Post to : widelands-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~widelands-dev More help : https://help.launchpad.net/ListHelp