Open GoogleCodeExporter opened 8 years ago
The following file contains the base text of all the different messages that
KParser
parses. They will need to be converted to the translated equivalent, and then
tested
in a French version of the FFXI client.
http://code.google.com/p/kparser/source/browse/trunk/ParserCore/Parsing/Parsing/
ParseExpressions.cs
Original comment by Kinemati...@gmail.com
on 19 Apr 2010 at 3:57
Here is for the Corsair stuff. I've got some questions though, what's the
difference
between 'name' and 'playername' ? For ability and spell name, that's a lot
complicated to understand the different words it accepts. Maybe you won't have
to
change it, but one thing I know is that abilities such as Utsusemi: Ichi are
written
in French Utsusemi : Ichi (There is a space right after Utsusemi) so if you
take into
account that there could be one space between the name and the :, then you're
fine.
I made an example in each case.
UseCorRoll :
"^{0} utilise {1}\\. {0} sort un {2} !$", name, ability, number
"Darkpsyko utilise Jet combattant. Darkpsyko sort un 2 !
TotalCorRoll :
"^Le nombre total de {0} passe à {1} !$", ability, number
Le nombre total de Jet combattant passe à 11 !
GainCorRoll :
"^{0} bénéficie de l'effet {1}\\.$", playername, ability
Darkpsyko bénéficie de l'effet Jet combattant.
BustCorRoll :
"^Bust !$"
Bust !
LoseCorRoll :
"^L'effet {0} sur {1} disparaît\\.$", ability, playername
L'effet Jet combattant sur Darkpsyko disparaît.
Original comment by c.vuagn...@gmail.com
on 19 Apr 2010 at 5:25
"name" is capable of representing any possible name in the game, whether
players,
mobs or NPCs.
"playername" is used where -only- player names are acceptable (ie: up to 16
alphabetic characters, no numerals/punctuation/etc). Technically some of the
cor
roll stuff should use playername rather than name.
Ability and spell regexes are fairly complicated, yes. I'm pretty sure they'll
need
some additional work for other languages, but will leave that for a later
testing phase.
"^{0} utilise {1}\\. {0} sort un {2} !$", name, ability, number
"Darkpsyko utilise Jet combattant. Darkpsyko sort un 2 !
To avoid conflicts in extracting the regex field value for the name, it should
be:
"^{0} utilise {1}\\. {2} sort un {3} !$", name, ability, repeatname, number
"Darkpsyko utilise Jet combattant. Darkpsyko sort un 2 !
This does show a particular problem with how I was approaching the regex
strings,
though. The English version doesn't use the repeatname field. In other words,
there
are certain assumptions about which fields will be available in each regex.
Hopefully that won't be a major issue, but even if it is I think I know how to
work
around it.
Suggested plan of approach is to work through a section at a time. I'll add the
optional space before the : on ninjutsu spells, but otherwise won't touch the
spell/ability/etc regexes yet.
The remaining sections I'll rewrite so that they're set relative to the defined
parse
language. Meanwhile, if you could work through one 'region' at a time,
starting with
the "Chat name extractions", and make a fresh reply for each section. The way
you
provided it above (both the regex and sample text) is good.
Original comment by Kinemati...@gmail.com
on 19 Apr 2010 at 7:23
New version of the file uploaded. Modified for working on the new structure
since
moving the strings to resource files seems impractical. ParseExpressionsA
class will
be the new version once this is complete. I'll update the LoadFrenchStrings
function
with the new regexes as you provide them.
Original comment by Kinemati...@gmail.com
on 19 Apr 2010 at 8:29
For chat name extraction, it's almost (or it is) the same.
Chatsay : No change
ChatParty : No change
ChatTell : I suppose this one is tell TO and tell FROM. if (.+) means "any other
character" then you're fine.
ChatTellFrom : no change
ChatTellTo : I would have wrote :
"^>>{0} : (.+)$", playername
>>Darkpsyko : Yay!
So if : is in (.+) then it's ok as it is.
ChatShout : no change
Chatlinkshell : no change
ChatEmote : I don't think there should be problems, I did some emotes, there
surely
are no 's right after our name (that is not french) so something like this
should work :
"^{0} (.+)$", playername
Darkpsyko sourit intérieurement...
Chatnpc : no change
#region name Tests : It wasn't changed at all, so we actually see
CourierCarrie, etc ...
Original comment by c.vuagn...@gmail.com
on 19 Apr 2010 at 9:40
Ok, made those changes. On the emotes, the only instance of the 's in English
is in
the untargetted /cry command, where it results in "Motenten's eyes brim over
with
tears." Basically just look out for any emote that modifies the original
player's
name in any way. Otherwise should be fine.
Original comment by Kinemati...@gmail.com
on 19 Apr 2010 at 10:36
Here is the region exp. I added a (s)? at the Experience line cause in french
if we
see "1 point d'experience" there is no 's' with 'point'. But really, i don't
know if
1 exp point can be earned in FFXI. Anyway ...
ExpChain :
"^{0} chaîne(s)? (d'expérience|de limite) !$", number
1 chaîne d'expérience !
6 chaînes de limite !
Experience :
"^{0} gagne {1} point(s)? (d'expérience|de limite)\\.$", name, number
Darkpsyko gagne 193 points de limite.
Darkpsyko gagne 170 points d'expérience.
NoExperience :
"^Aucun point d'expérience gagné\\.\\.\\.$"
Aucun point d'expérience gagné...
Original comment by c.vuagn...@gmail.com
on 27 Apr 2010 at 10:57
Here is something I just saw during my merit pt. In french, every thousand
there is a
space between numbers. So ... 1 024; 2 048; 5 214 789 etc ... This space
happens in
damage, and I guess it happens in every number in the game.
Original comment by c.vuagn...@gmail.com
on 27 Apr 2010 at 11:55
Ok, updated with the experience point regexes, and tweaked the pattern for
numbers.
Original comment by Kinemati...@gmail.com
on 27 Apr 2010 at 7:04
I've got some questions. How do you get the 'FindLootIn' line ? Same question
for the
'PrepSpell' line because I saw lots of 'PrepSpellOn' but no 'PrepSpell'. Maybe
we
don't have it in France I don't know.
Original comment by c.vuagn...@gmail.com
on 28 Apr 2010 at 9:03
FindLootIn is the result of treasure distribution from a treasure chest such as
in
Limbus, but also opening coffers and such.
PrepSpell - Will usually see this if an unclaimed mob starts casting a spell,
usually
self-cast. "The Goblin Alchemist starts casting Blink."
Original comment by Kinemati...@gmail.com
on 29 Apr 2010 at 12:12
Here is the prepare region :
PrepSpell :
"^{0} commence à lancer {1}\\.$", name, spell
Le Cryptonberry Cutter commence à lancer Utsusemi : Ni.
PrepSpellOn :
"^{0} commence à lancer {1} sur {2}\\.$", name, spell, target
Tomasu commence à lancer Rapatriement II sur Darkpsyko.
PrepAbility :
"^{0} prépare {1}\\.$", name, ability
Darkpsyko prépare Lame vorpale.
Original comment by c.vuagn...@gmail.com
on 30 Apr 2010 at 7:56
Ok, updated those.
Original comment by Kinemati...@gmail.com
on 30 Apr 2010 at 8:05
Original issue reported on code.google.com by
Kinemati...@gmail.com
on 19 Apr 2010 at 3:48