spawns_cmd = "spawns",
spawns_name = "Hostilit?",
spawns_desc = ("Montre le temps restant avant que %s, %s et %s deviennent hostile"):format(roar, tinhead, strawman),
summon_trigger = "Ne les laisse pas nous faire du mal, Tito ! Oh, tu ne le feras pas, hein ?",
summon_message = "Invocation de %s!",
engage_trigger = "Oh, Tito, nous devons trouver le moyen de rentrer \195\160 la maison ! Le vieux sorcier est notre dernier espoir ! Homme de paille, Graou, T\195\170te de fer-blanc, vous voulez bien? Attendez? Oh, regardez, nous avons des visiteurs !",
} end)
Please please at the very least try not to make grammatical error in text that is shown on screen :
"Avertir quand %s et %s gagne leurs buffs"
should really be :
"Pr\195\169viens quand Romulo et Julianne gagnent leurs buffs."
There are several things here that are of importance :
We use "Previens", "Affiche", "Montre", in description. It's better to keep verbs in this form than using "Prevenir", "Afficher", "Avertir", I think. It's also best to be consistent from module to module.
Description strings are terminated by a point.
As I already said, please use correct french "gagnent", not "gagne".
You need to be exact in the trigger. I'm not sure taht a french emote won't end with a punctuation, as your "enrage_trigger" does.
For triggers that use regular expressions, do NOT use "DE" or "de", like you did here :
"subit les effets DE ...". People without SW_FixLogStrings or other addons won't have the trigger if you write "DE", and people with SW_FixLogStrings won't have the trigger if you write "de". The best way, I think, the one that I used in the rest of BigWigs is to do : "subit les effet .* ...", i.e. match anything that might be put as a separator. Do not add extra parentheses, as they create a capture for no purpose.
Do not put two "!!". One is enough. But put a space before it.
Finally, I don't understand why the description got changed to use the form: ("..."):format(bossname)... I know it's like this in english too, but I don't understand the purpose of this.
Since I do not know french, I have no choice but to blindly trust translators, or learn it, and I'm not learning squat. This is bad, and I know some deDE translations are really bad, but there's not much I can do about it.
So, I already committed the changes suggested by Merewen.
Feel free to commit fixes, Jerry.
Quote from Jerry »
Finally, I don't understand why the description got changed to use the form: ("..."):format(bossname)... I know it's like this in english too, but I don't understand the purpose of this.
The purpose of this is simply so you don't have to translate the boss name more than once, in Babble-Boss. Personally I prefer the old style, but some people seem to prefer doing it this way - I'll leave it up to the individual.
Of course Rabbit, I certainly was not blaming you in my previous post. I was not event blaming Merewen, and I probably should have said thanks for the job he did.
I am merely giving advice. Some of them are strictly formal, but they help because, by having a consistent translation between modules is what make such an addon look professional and nice, and a bad translation looks... well... bad and unprofessional.
Other things (like the de/DE bits), well you really need to know about it, so it's best I explain why it must be done this way. But without this you'll get inconsistent behaviour (It works here but not there).
Using the escaped characters is safer than using UTF8. There have been numerous problems in the past with the UTF8 encoding breaking upon commit. Probably due to the fact that not all text editors recognize UTF8 encoding properly. Using the escaped characters makes sure no-one destroys your translations. The koKR translations have been corrected many times already due to that destruction.
Curator.lua
L:RegisterTranslations("frFR", function() return {
berserk_name = "Alerte Berserk",
berserk_desc = "Pr\195\169viens du mode berserk apr\195\168s 12 minutes.",
enrage_name = "Alerte Enrag\195\169",
enrage_desc = "Pr\195\169viens du mode enrag\195\169 \195\160 15%.",
weaken_name = "Alerte Affaiblissement",
weaken_desc = "Pr\195\169viens quand le Conservateur est affaibli.",
weaktime_name = "Compteur d'affaiblissement",
weaktime_desc = "Affiche un compteur pour le nombre et le prochain affaiblissement.",
weaken_trigger = "Impossible de traiter votre requ\195\170te.",
weaken_message = "Evocation - Affaibli pour 20 secondes !",
weaken_bar = "Evocation",
weaken_fade_message = "Evocation termin\195\169e - Affaiblissement parti !",
weaken_fade_warning = "Evocation termin\195\169e dans 5 secondes !",
weaktime_message1 = "Evocation dans ~10 secondes",
weaktime_message2 = "Evocation dans ~30 secondes",
weaktime_message3 = "Evocation dans ~70 secondes",
weaktime_bar = "Prochaine Evocation",
berserk_trigger = "L'acc\195\168s \195\160 la M\195\169nagerie est r\195\169serv\195\169 aux invit\195\169s.",
berserk_message = "%s engag\195\169, 12min avant berserk !",
berserk_bar = "Berserk",
enrage_trigger = "Toute d\195\169sob\195\169issance entra\195\174nera une action offensive",
enrage_message = "Enrag\195\169 !",
enrage_warning = "Enrag\195\169 imminent !",
} end )
---------------------------------------------------------------------------------------------------
RomuloJulianne
L:RegisterTranslations("frFR", function() return {
cmd = "RomuloJulianne",
phase_cmd = "phase",
phase_name = "Phases",
phase_desc = "Avertir lors des changements de phase",
poison_cmd = "poison",
poison_name = "Poison",
poison_desc = "Avertir quand quelqu'un est empoisonn\195\169",
heal_cmd = "heal",
heal_name = "Soin",
heal_desc = ("Avertir quand %s lance Amour \195\169ternel"):format(girl),
buff_cmd = "buff",
buff_name = "Buff",
buff_desc = ("Avertir quand %s et %s gagne leurs buffs"):format(boy, girl),
phase1_trigger = "Quel d\195\169mon es-tu pour me tourmenter ainsi?",
phase1_message = "Phase 1 - %s",
phase2_trigger = "Tu veux donc me provoquer ? Eh bien, \195\160 toi, enfant.",
phase2_message = "Phase 2 - %s",
phase3_trigger = "Viens, gentille nuit ; rends-moi mon Romulo !",
phase3_message = "Phase 3 - Both",
poison_trigger = "^([^%s]+) ([^%s]+) subit les effets DE Coup empoisonn\195\169",
poison_message = "%s est empoisonn\195\169!!",
heal_trigger = "commence \195\160 lancer Amour \195\169ternel.",
heal_message = "Julianne lance un soin!",
buff1_trigger = "gagne Hardiesse.",
buff1_message = "Dispel - Romulo gagne Hardiesse!",
buff2_trigger = "gagne D\195\169votion.",
buff2_message = "Dispel - Julianne gagne D\195\169votion!",
you = "Vous",
} end)
-----------------------------------------------------------------------------------------------
WizardofOz
L:RegisterTranslations("frFR", function() return {
cmd = "WizardofOz",
summon_cmd = "summon",
summon_name = "Invoque Tito",
summon_desc = ("Avertir quand %s commence \195\160 invoquer %s"):format(dorothee, tito),
spawns_cmd = "spawns",
spawns_name = "Hostilit?",
spawns_desc = ("Montre le temps restant avant que %s, %s et %s deviennent hostile"):format(roar, tinhead, strawman),
spawns_roar = "%s attaque!",
spawns_strawman = "%s attaque!",
spawns_tinhead = "%s attaque!",
spawns_tito = "%s invoqu\195\169!",
summon_trigger = "Ne les laisse pas nous faire du mal, Tito ! Oh, tu ne le feras pas, hein ?",
summon_message = "Invocation de %s!",
engage_trigger = "Oh, Tito, nous devons trouver le moyen de rentrer \195\160 la maison ! Le vieux sorcier est notre dernier espoir ! Homme de paille, Graou, T\195\170te de fer-blanc, vous voulez bien? Attendez? Oh, regardez, nous avons des visiteurs !",
} end)
-------------------------------------------------------------------------------------------------
Aran
flame_warning = "Lance : Couronne de flammes!",
-------------------------------------------------------------------------------------------------
Attumen
L:RegisterTranslations("frFR", function() return {
cmd = "Attumen",
phase_cmd = "phase",
phase_name = "Phase",
phase_desc = "Avertir lors des changements de phase",
curse_cmd = "curse",
curse_name = "Mal\195\169diction",
curse_desc = "Avertir quand le tank \195\160 Pr\195\169sence immat\195\169rielle",
icon_cmd = "icon",
icon_name = "Ic\195\180ne",
icon_desc = "Place une ic\195\180ne sur la personne maudite (n\195\169cessite des droits)",
curse_trigger = "^([^%s]+) ([^%s]+) subit les effets DE Pr\195\169sence immat\195\169rielle.",
curse_message = "Mal\195\169diction sur %s",
phase1_message = "Phase 1 - %s",
phase2_trigger1 = "Vous pr\195\169f\195\169rez peut-\195\170tre vous mesurer \195\160 un adversaire plus redoutable ?!",
phase2_trigger2 = "Bien jou\195\169, Minuit !",
phase2_message = "Phase 2 - %s & Attumen",
phase3_trigger = "Viens, Minuit, allons disperser cette insignifiante racaille !",
phase3_message = "Phase 3 - %s",
you = "Vous",
} end)
should really be :
There are several things here that are of importance :
We use "Previens", "Affiche", "Montre", in description. It's better to keep verbs in this form than using "Prevenir", "Afficher", "Avertir", I think. It's also best to be consistent from module to module.
Description strings are terminated by a point.
As I already said, please use correct french "gagnent", not "gagne".
You need to be exact in the trigger. I'm not sure taht a french emote won't end with a punctuation, as your "enrage_trigger" does.
For triggers that use regular expressions, do NOT use "DE" or "de", like you did here :
"subit les effets DE ...". People without SW_FixLogStrings or other addons won't have the trigger if you write "DE", and people with SW_FixLogStrings won't have the trigger if you write "de". The best way, I think, the one that I used in the rest of BigWigs is to do : "subit les effet .* ...", i.e. match anything that might be put as a separator. Do not add extra parentheses, as they create a capture for no purpose.
Do not put two "!!". One is enough. But put a space before it.
Finally, I don't understand why the description got changed to use the form: ("..."):format(bossname)... I know it's like this in english too, but I don't understand the purpose of this.
So, I already committed the changes suggested by Merewen.
Feel free to commit fixes, Jerry.
The purpose of this is simply so you don't have to translate the boss name more than once, in Babble-Boss. Personally I prefer the old style, but some people seem to prefer doing it this way - I'll leave it up to the individual.
I am merely giving advice. Some of them are strictly formal, but they help because, by having a consistent translation between modules is what make such an addon look professional and nice, and a bad translation looks... well... bad and unprofessional.
Other things (like the de/DE bits), well you really need to know about it, so it's best I explain why it must be done this way. But without this you'll get inconsistent behaviour (It works here but not there).
-Ammo