-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Labels
Description
Not really python-like, but inspired by it and by #18 of course.
First of all instead of capsing, like DID_DMG_HITS, we can use some default translation text (e.g. english text).
Secondly instead of %L we can use function style: L(player, "He did {damage:d} damage to you with {hits:d} hit(s)\nand still has {health:d}hp and {armor:d}ap.")
This simplifies localization process of plugin that doesn't support it. Look:
Format("He did {damage:d} damage to you with {hits:d} hit(s)\nand still has {health:d}hp and {armor:d}ap."
, FmtArg("damage", damage)
, FmtArg("hits", hits)
, FmtArg("health", player.Health)
, FmtArg("armor", player.Armor)
);Becomes:
Format(L(player, "He did {damage:d} damage to you with {hits:d} hit(s)\nand still has {health:d}hp and {armor:d}ap.")
, FmtArg("damage", damage)
, FmtArg("hits", hits)
, FmtArg("health", player.Health)
, FmtArg("armor", player.Armor)
);Just adding L(player, and )!
TODO:
- Plurals
SetLanguageContext(player);to remove repetitive player's index inLfor localized arguments or using last passed player's index if it isn't passed- Translation file auto-creation, on runtime or maybe some source code analyze tool
FMTARGmacro that will expandFMTARG(var)toFmtArg("var", var)- Something that i forgot or don't know about python-like localization