rpgtex / DND-5e-LaTeX-Template

LaTeX package to typeset material for the fifth edition of the "world's greatest roleplaying game".
MIT License
1.43k stars 307 forks source link

Monster attack helper assumes English grammar #190

Open benwebber opened 5 years ago

benwebber commented 5 years ago

Raised in https://github.com/rpgtex/DND-5e-LaTeX-Template/pull/189#issuecomment-463186495:

Our captions assume the damage type precedes the word for "damage". This is not the case in French (and other Romance languages). For example, "bludgeoning damage" is « dégâts contondants ».

Currently, users can hack around this by setting \damagename to an empty string and passing in the full string:

\monsterattack[..., dmgtype=dégâts contondants]

It'd be nice if we could come up with a grammatically correct general solution for all localizations. However, defining strings for each damage type may be the only way to accomplish this. The downside of that approach is users would need to pass in the caption macro, or an English name for the damage:

\DndMonsterAttack[..., dmg-type=\piercingdamagename]
\DndMonsterAttack[..., dmg-type=piercing]  % would call \piercingdamagename internally
BrianCriswell commented 5 years ago

We can use a parameterized caption for damage and captions for each damage type separately.

\attackdamagename{ |1| ~ damage }

We could then switch dmg-type to an enumerated key. It still means using the English word, but it keeps typing to a minimum.

Girsi commented 5 years ago

For example, "bludgeoning damage" is « dégâts contondants ».

In German blugeoning damage would be Hiebschaden, which is again constructed differently than French or English (bludgeoning damage (en), damage bludgeoning (fr), bludgeoningdamage (de)). I think defining strings for each damage type makes most sense. And with that we probably don't need the current \damagename any more. An enumerated key with short-hands might allow for minimum typing. Maybe it's even possible to have localized enumeration values?

We can use a parameterized caption for damage and captions for each damage type separately.

The parameterized caption only works if the word for damage in the respective languages is always the same. Maybe it's safer to have full definitions for every damage type.

Another case which came up in #189 (comment): For a "Melee or Ranged Weapon Attack" text segment like reach 5 ft. or range 20/60 ft. there appear to be two German variants:

This is caused by the fact that for reach and range the same word is used in German (Reichweite). Fernkampf is long-range combat and Nahkampf is close combat, so they add these specifiers for the attacks which are both melee and ranged. If an attack ist just melee or just ranged, it will just use Reichweite (as far as I have seen), without specifier. Adding the specifier would require a change in the macro, maybe a new parameter. But since the official translation is inconsistent and because I don't like the way they handled range and reach I proposed a workaround in #189, which works with the current macro we just ignore the issue for now. However I thought I'd mention it here, in case other languages have the same issue.

dpwright commented 5 years ago

I have run into a similar issue with my Japanese translation. Instances which in English would say "+5 damage" should be rendered in Japanese as "攻撃+5", with the word for "damage" appearing first.