Merge lp:~widelands-dev/widelands/bug-1767919-trainingsite-messages into lp:widelands

Proposed by GunChleoc
Status: Merged
Merged at revision: 8692
Proposed branch: lp:~widelands-dev/widelands/bug-1767919-trainingsite-messages
Merge into: lp:widelands
Diff against target: 84 lines (+14/-4)
4 files modified
src/logic/map_objects/tribes/productionsite.cc (+9/-2)
src/logic/map_objects/tribes/trainingsite.cc (+2/-1)
src/logic/map_objects/tribes/trainingsite.h (+1/-0)
src/logic/map_objects/tribes/tribes.cc (+2/-1)
To merge this branch: bzr merge lp:~widelands-dev/widelands/bug-1767919-trainingsite-messages
Reviewer Review Type Date Requested Status
Notabilis Approve
Review via email: mp+344813@code.launchpad.net

Commit message

Fixed translation of trainingsite program names

To post a comment you must log in.
Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 3426. State: passed. Details: https://travis-ci.org/widelands/widelands/builds/373538215.
Appveyor build 3231. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_bug_1767919_trainingsite_messages-3231.

Revision history for this message
Notabilis (notabilis27) wrote :

Diff looks good and text from the bug report is translated ingame.

Unrelated bug: When selecting a RTL language in the language drop down menu, the "The translation into ... is X % complete" text seems to be pretty messed up. Shall I open a bug report for this or is it part of "RTL support isn't that great yet"?

review: Approve
Revision history for this message
GunChleoc (gunchleoc) wrote :

It's part of "RTL support isn't that great yet". The font handler can't handle if the font size changes within the same line and the hotspot_y gets messed up.

Thanks for the review - I'll fix the point that you mentioned.

Revision history for this message
GunChleoc (gunchleoc) wrote :

@bunnybot merge

Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 3465. State: failed. Details: https://travis-ci.org/widelands/widelands/builds/375320088.
Appveyor build 3270. State: failed. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_bug_1767919_trainingsite_messages-3270.

Revision history for this message
bunnybot (widelandsofficial) wrote :

Refusing to merge, since Travis is not green. Use @bunnybot merge force for merging anyways.

Travis build 3465. State: failed. Details: https://travis-ci.org/widelands/widelands/builds/375320088.

Revision history for this message
GunChleoc (gunchleoc) wrote :

@bunnybot merge

Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 3468. State: passed. Details: https://travis-ci.org/widelands/widelands/builds/375457879.
Appveyor build 3273. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_bug_1767919_trainingsite_messages-3273.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/logic/map_objects/tribes/productionsite.cc'
--- src/logic/map_objects/tribes/productionsite.cc 2018-04-07 16:59:00 +0000
+++ src/logic/map_objects/tribes/productionsite.cc 2018-05-06 05:39:48 +0000
@@ -35,6 +35,7 @@
35#include "graphic/text_constants.h"35#include "graphic/text_constants.h"
36#include "logic/editor_game_base.h"36#include "logic/editor_game_base.h"
37#include "logic/game.h"37#include "logic/game.h"
38#include "logic/game_data_error.h"
38#include "logic/map.h"39#include "logic/map.h"
39#include "logic/map_objects/tribes/carrier.h"40#include "logic/map_objects/tribes/carrier.h"
40#include "logic/map_objects/tribes/soldier.h"41#include "logic/map_objects/tribes/soldier.h"
@@ -93,6 +94,12 @@
93 const EditorGameBase& egbase)94 const EditorGameBase& egbase)
94 : BuildingDescr(init_descname, init_type, table, egbase),95 : BuildingDescr(init_descname, init_type, table, egbase),
95 out_of_resource_productivity_threshold_(100) {96 out_of_resource_productivity_threshold_(100) {
97 if (msgctxt.empty()) {
98 throw Widelands::GameDataError("Productionsite '%s' has empty Gettext msgctxt", name().c_str());
99 }
100 // Let's convert this only once, it's cheaper
101 const char* msgctxt_char = msgctxt.c_str();
102
96 i18n::Textdomain td("tribes");103 i18n::Textdomain td("tribes");
97 std::unique_ptr<LuaTable> items_table;104 std::unique_ptr<LuaTable> items_table;
98105
@@ -101,7 +108,7 @@
101 out_of_resource_title_ = _(items_table->get_string("title"));108 out_of_resource_title_ = _(items_table->get_string("title"));
102 out_of_resource_heading_ = _(items_table->get_string("heading"));109 out_of_resource_heading_ = _(items_table->get_string("heading"));
103 out_of_resource_message_ =110 out_of_resource_message_ =
104 pgettext_expr(msgctxt.c_str(), items_table->get_string("message").c_str());111 pgettext_expr(msgctxt_char, items_table->get_string("message").c_str());
105 if (items_table->has_key("productivity_threshold")) {112 if (items_table->has_key("productivity_threshold")) {
106 out_of_resource_productivity_threshold_ = items_table->get_int("productivity_threshold");113 out_of_resource_productivity_threshold_ = items_table->get_int("productivity_threshold");
107 }114 }
@@ -190,7 +197,7 @@
190 const std::string program_descname_unlocalized = program_table->get_string("descname");197 const std::string program_descname_unlocalized = program_table->get_string("descname");
191 std::string program_descname = _(program_descname_unlocalized);198 std::string program_descname = _(program_descname_unlocalized);
192 if (program_descname == program_descname_unlocalized) {199 if (program_descname == program_descname_unlocalized) {
193 program_descname = pgettext_expr(msgctxt.c_str(), program_descname_unlocalized.c_str());200 program_descname = pgettext_expr(msgctxt_char, program_descname_unlocalized.c_str());
194 }201 }
195 programs_[program_name] = std::unique_ptr<ProductionProgram>(new ProductionProgram(202 programs_[program_name] = std::unique_ptr<ProductionProgram>(new ProductionProgram(
196 program_name, program_descname, program_table->get_table("actions"), egbase, this));203 program_name, program_descname, program_table->get_table("actions"), egbase, this));
197204
=== modified file 'src/logic/map_objects/tribes/trainingsite.cc'
--- src/logic/map_objects/tribes/trainingsite.cc 2018-04-07 16:59:00 +0000
+++ src/logic/map_objects/tribes/trainingsite.cc 2018-05-06 05:39:48 +0000
@@ -46,9 +46,10 @@
46 * /data/tribes/buildings/trainingsites/atlanteans/dungeon/init.lua46 * /data/tribes/buildings/trainingsites/atlanteans/dungeon/init.lua
47 */47 */
48TrainingSiteDescr::TrainingSiteDescr(const std::string& init_descname,48TrainingSiteDescr::TrainingSiteDescr(const std::string& init_descname,
49 const std::string& msgctxt,
49 const LuaTable& table,50 const LuaTable& table,
50 const EditorGameBase& egbase)51 const EditorGameBase& egbase)
51 : ProductionSiteDescr(init_descname, "", MapObjectType::TRAININGSITE, table, egbase),52 : ProductionSiteDescr(init_descname, msgctxt, MapObjectType::TRAININGSITE, table, egbase),
52 num_soldiers_(table.get_int("soldier_capacity")),53 num_soldiers_(table.get_int("soldier_capacity")),
53 max_stall_(table.get_int("trainer_patience")),54 max_stall_(table.get_int("trainer_patience")),
5455
5556
=== modified file 'src/logic/map_objects/tribes/trainingsite.h'
--- src/logic/map_objects/tribes/trainingsite.h 2018-04-07 16:59:00 +0000
+++ src/logic/map_objects/tribes/trainingsite.h 2018-05-06 05:39:48 +0000
@@ -34,6 +34,7 @@
34class TrainingSiteDescr : public ProductionSiteDescr {34class TrainingSiteDescr : public ProductionSiteDescr {
35public:35public:
36 TrainingSiteDescr(const std::string& init_descname,36 TrainingSiteDescr(const std::string& init_descname,
37 const std::string& msgctxt,
37 const LuaTable& table,38 const LuaTable& table,
38 const EditorGameBase& egbase);39 const EditorGameBase& egbase);
39 ~TrainingSiteDescr() override {40 ~TrainingSiteDescr() override {
4041
=== modified file 'src/logic/map_objects/tribes/tribes.cc'
--- src/logic/map_objects/tribes/tribes.cc 2018-05-03 04:44:39 +0000
+++ src/logic/map_objects/tribes/tribes.cc 2018-05-06 05:39:48 +0000
@@ -68,8 +68,9 @@
6868
69void Tribes::add_trainingsite_type(const LuaTable& table, const EditorGameBase& egbase) {69void Tribes::add_trainingsite_type(const LuaTable& table, const EditorGameBase& egbase) {
70 i18n::Textdomain td("tribes");70 i18n::Textdomain td("tribes");
71 const std::string msgctxt = table.get_string("msgctxt");
71 buildings_->add(new TrainingSiteDescr(72 buildings_->add(new TrainingSiteDescr(
72 pgettext_expr(table.get_string("msgctxt").c_str(), table.get_string("descname").c_str()),73 pgettext_expr(msgctxt.c_str(), table.get_string("descname").c_str()), msgctxt,
73 table, egbase));74 table, egbase));
74}75}
7576

Subscribers

People subscribed via source and target branches

to status/vote changes: