A few string updates after going through the translator's comments. I know I don't need review for the typos but quite some changes need verification, and I might update this diff if we decide some things among staffers.
Details
- Reviewers
Phormio - Commits
- rP19726: String changes, based on feedback from translators.
Read it aloud and tell me if someone corrects you.
Diff Detail
- Repository
- rP 0 A.D. Public Repository
- Branch
- /ps/trunk
- Lint
Lint OK - Unit
No Unit Test Coverage - Build Status
Buildable 2137 Build 3473: Vulcan Build (Windows) Jenkins Build 3472: Vulcan Build Jenkins Build 3471: arc lint + arc unit
Event Timeline
Revert the quote from Leonidas and I'm fine with the patch.
binaries/data/mods/public/gui/text/quotes.txt | ||
---|---|---|
22 | Yes, correct. Odd that I got it right in the next line, probably pressed Ctrl-x in vim. | |
112 | The quote appears twice in Plutarch's "Moralia", both in the "Sayings of Spartans" and "Sayings of Spartan Women". I suggest we stick to my version, because you introduced a new mistake: "Sayings of Spartans" is book XVI., not XVIII. | |
binaries/data/mods/public/simulation/data/civs/pers.json | ||
25 | I'm not sure about 0.A.D.'s policy on the metric system considering its use of American English, but since Age of Empires players are typically European I'm fine with that. |
binaries/data/mods/public/simulation/data/auras/units/heroes/pers_hero_cyrus.json | ||
---|---|---|
14 | This sounds more like a title than an action, which is misleading. Let's stick to the much more popular original phrase. |
binaries/data/mods/public/gui/text/quotes.txt | ||
---|---|---|
112 | Ah, that's why. I'm using the French translation by the Abbé Ricard, in which this second occurrence was not translated, probably because it is a duplicate. I forgot to update the book number indeed. I'd still use the "Sayings of Spartans" reference because it is a quote from Leonidas, not from Gorgo, and we need a change anyways because your reference should be 240e, not 220e. | |
binaries/data/mods/public/simulation/data/auras/units/heroes/pers_hero_cyrus.json | ||
14 | The change was requested by translators who have a hard time translating "Lead from the Front". Aura names are usually titles or common nouns by the way. Maybe you have another idea? | |
binaries/data/mods/public/simulation/data/civs/pers.json | ||
25 | European players and physicists, let's not forget the physicists. ? |
binaries/data/mods/public/simulation/data/auras/units/heroes/pers_hero_cyrus.json | ||
---|---|---|
14 | The phrase can be translated into its equivalent in other languages without any need to change the English original. Out of interest: In which language specifically was translation difficult? |
Executing section Default... Executing section Source... Executing section JS... binaries/data/mods/public/gui/summary/summary.js | 149| » [0,·1].forEach(i·=>·Engine.GetGUIObjectByName("chart["·+·i·+·"]").series_color·=·player_colors); | | [NORMAL] ESLintBear (no-return-assign): | | Arrow function should not return assignment. binaries/data/mods/public/gui/summary/summary.js | 415| » let·mapType·=·g_Settings.MapTypes.find(mapType·=>·mapType.Name·==·g_GameData.sim.mapSettings.mapType); | | [NORMAL] ESLintBear (no-shadow): | | 'mapType' is already declared in the upper scope. binaries/data/mods/public/gui/summary/summary.js | 17| } | | [NORMAL] JSHintBear: | | Missing semicolon. binaries/data/mods/public/gui/common/settings.js | 355| » var·mapSize·=·g_Settings.MapSizes.find(mapSize·=>·mapSize.Tiles·==·+tiles); | | [NORMAL] ESLintBear (no-shadow): | | 'mapSize' is already declared in the upper scope. binaries/data/mods/public/gui/common/settings.js | 379| » var·vc·=·g_Settings.VictoryConditions.find(vc·=>·vc.Name·==·gameType); | | [NORMAL] ESLintBear (no-shadow): | | 'vc' is already declared in the upper scope. binaries/data/mods/public/gui/common/settings.js | 173| » » "Title":·timeout·==·0·?·translateWithContext("ceasefire",·"No·ceasefire")·: | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/common/settings.js | 224| » if·(victoryConditions.some(vc·=>·vc·==·undefined)) | | [NORMAL] JSHintBear: | | Use '===' to compare with 'undefined'. | | [NORMAL] ESLintBear (no-multi-spaces): | | Multiple spaces found before 'Engine'. |----| | /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/session/messages.js | |++++| /mnt/data/jenkins-phabricator/workspace/phabricator_lint/binaries/data/mods/public/gui/session/messages.js | 585| 585| */ | 586| 586| function updateTimeNotifications() | 587| 587| { | 588| |- let notifications = Engine.GuiInterfaceCall("GetTimeNotifications", g_ViewedPlayer); | | 588|+ let notifications = Engine.GuiInterfaceCall("GetTimeNotifications", g_ViewedPlayer); | 589| 589| let notificationText = ""; | 590| 590| for (let n of notifications) | 591| 591| { binaries/data/mods/public/gui/session/messages.js | 496| » let·cheatCode·=·Object.keys(g_Cheats).find(cheatCode·=>·text.indexOf(cheatCode)·==·0); | | [NORMAL] ESLintBear (no-shadow): | | 'cheatCode' is already declared in the upper scope. binaries/data/mods/public/gui/session/messages.js | 615| » while·(true) | | [NORMAL] ESLintBear (no-constant-condition): | | Unexpected constant condition. binaries/data/mods/public/gui/session/messages.js | 496| » let·cheatCode·=·Object.keys(g_Cheats).find(cheatCode·=>·text.indexOf(cheatCode)·==·0); | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/session/messages.js | 874| » if·(chatAddressee.selected·>·0·&&·(text.indexOf("/")·!=·0·||·text.indexOf("/me·")·==·0)) | | [NORMAL] JSHintBear: | | Use '!==' to compare with '0'. binaries/data/mods/public/gui/session/messages.js | 874| » if·(chatAddressee.selected·>·0·&&·(text.indexOf("/")·!=·0·||·text.indexOf("/me·")·==·0)) | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/session/messages.js |1088| » let·isMe·=·msg.text.indexOf("/me·")·==·0; | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/session/messages.js |1092| » isMe·=·msg.text.indexOf("/me·")·==·0; | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/session/messages.js |1210| » » if·(text.indexOf(pName·+·"·")·==·0·&&·pName.length·>·match.length) | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/session/selection_panels.js | 60| » » » switch·(data.item) | | [NORMAL] ESLintBear (default-case): | | Expected a default case. binaries/data/mods/public/gui/session/selection_panels.js | 74| » » switch·(data.item) | | [NORMAL] ESLintBear (default-case): | | Expected a default case. binaries/data/mods/public/gui/session/selection_panels.js | 348| » » » tooltip·+=·"\n"·+·"[color=\"red\"]"·+·translate(formationInfo.tooltip)·+·"[/color]"; | | [NORMAL] ESLintBear (no-useless-concat): | | Unexpected string concatenation of literals. binaries/data/mods/public/gui/session/selection_panels.js | 779| » » » » » » switch·(entity.check) | | [NORMAL] ESLintBear (default-case): | | Expected a default case. binaries/data/mods/public/gui/session/selection_panels.js |1007| » » » » "[/font]"·+·"·"·+·getEntityNamesFormatted(template), | | [NORMAL] ESLintBear (no-useless-concat): | | Unexpected string concatenation of literals. binaries/data/mods/public/gui/session/selection_panels.js | 285| » » if·(!technologyEnabled·||·limits.canBeAddedCount·==·0) | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/session/selection_panels.js | 446| » » » » » "callback":·function·(item)·{·lockGate(item.locked);·} | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/selection_panels.js | 452| » » » » » "callback":·function·(item)·{·lockGate(item.locked);·} | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/selection_panels.js | 502| » » » if·(state.pack.progress·==·0) | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/session/selection_panels.js | 641| » » if·(data.i·==·0) | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/session/selection_panels.js | 683| » » » » tech·=>·tech·!=·null·&&·!ret.some( | | [NORMAL] JSHintBear: | | Use '!==' to compare with 'null'. binaries/data/mods/public/gui/session/selection_panels.js | 683| » » » » tech·=>·tech·!=·null·&&·!ret.some( | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/selection_panels.js | 696| » » » » ret·=·ret.concat(filteredTechs.map(tech·=>·({ | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/selection_panels.js | 729| » » pair.hidden·=·data.item.tech.pair·==·null; | | [NORMAL] JSHintBear: | | Use '===' to compare with 'null'. binaries/data/mods/public/gui/session/selection_panels.js | 764| » » » ].map(func·=>·func(template)); | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/selection_panels.js | 810| » » » button.onPress·=·function·()·{ | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/selection_panels.js | 819| » » » » button.onMouseEnter·=·function()·{ | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/selection_panels.js | 822| » » » » button.onMouseLeave·=·function()·{ | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/selection_panels.js |1039| » » if·(!technologyEnabled·||·limits.canBeAddedCount·==·0) | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/session/selection_panels.js |1146| » » » if·(progress·||·!technologyEnabled·||·limits.canBeAddedCount·==·0·&& | | [NORMAL] JSHintBear: | | Use '===' to compare with '0'. binaries/data/mods/public/gui/session/menu.js | 431| » » button.onPress·=·(function(player,·stance)·{·return·function()·{ | | [NORMAL] ESLintBear (no-shadow): | | 'stance' is already declared in the upper scope. binaries/data/mods/public/gui/session/menu.js | 464| » » button.onPress·=·(function(i,·resCode,·button)·{ | | [NORMAL] ESLintBear (no-shadow): | | 'i' is already declared in the upper scope. binaries/data/mods/public/gui/session/menu.js | 464| » » button.onPress·=·(function(i,·resCode,·button)·{ | | [NORMAL] ESLintBear (no-shadow): | | 'resCode' is already declared in the upper scope. binaries/data/mods/public/gui/session/menu.js | 464| » » button.onPress·=·(function(i,·resCode,·button)·{ | | [NORMAL] ESLintBear (no-shadow): | | 'button' is already declared in the upper scope. binaries/data/mods/public/gui/session/menu.js | 507| » button.onPress·=·(function(i)·{·return·function()·{ | | [NORMAL] ESLintBear (no-shadow): | | 'i' is already declared in the upper scope. binaries/data/mods/public/gui/session/menu.js | 563| » button.onPress·=·(function(i)·{·return·function()·{ | | [NORMAL] ESLintBear (no-shadow): | | 'i' is already declared in the upper scope. binaries/data/mods/public/gui/session/menu.js | 374| » » let·hasAllies·=·g_Players.filter(player·=>·player.isMutualAlly[g_ViewedPlayer]).length·>·1; | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/menu.js | 431| » » button.onPress·=·(function(player,·stance)·{·return·function()·{ | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/menu.js | 464| » » button.onPress·=·(function(i,·resCode,·button)·{ | | [NORMAL] JSHintBear: | | Don't make functions within a loop. binaries/data/mods/public/gui/session/menu.js | 604| » » » button[
http://jw:8080/job/phabricator_lint/61/ for more details.
Build is green
Updating workspaces. Build (release)... Build (debug)... Running release tests... Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK! Running debug tests... Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK! Checking XML files...
http://jw:8080/job/phabricator/1382/ for more details.
binaries/data/mods/public/gui/text/quotes.txt | ||
---|---|---|
115 | No, the name of no other author is mentioned twice in the quotes. This is on purpose, because there is very little time to read as the game loads and I was eager to save every character I could. | |
162 | Yes, correct. | |
binaries/data/mods/public/maps/random/arctic_summer.json | ||
5 | Strictly the two models of wolves are different species (see D533), but it's not important here. |
Build is green
Updating workspaces. Build (release)... Build (debug)... Running release tests... Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK! Running debug tests... Running cxxtest tests (306 tests)..................................................................................................................................................................................................................................................................................................................OK! Checking XML files...
http://jw:8080/job/phabricator/1459/ for more details.
Executing section Default... Executing section Source... Executing section JS... Executing section XML GUI... Executing section Python... Executing section Perl...
http://jw:8080/job/phabricator_lint/117/ for more details.