quisquous / cactbot

FFXIV TypeScript Raiding Overlay
Apache License 2.0
794 stars 378 forks source link

Add fr localization #57

Closed quisquous closed 5 years ago

quisquous commented 6 years ago

I think the first step is to add a locale file like hibiyasleep did for pull #23.

Timelines and triggers are their own thing. The current trigger format looks like this:

{
  id: 'O8S Shockwave',
  regex: / 14:28DB:Graven Image starts using Shockwave/,
  delaySeconds: 5,
  alertText: 'Look for Knockback',
  tts: 'knockback',
},

I think we could do something like this:

{
  id: 'O8S Shockwave',
  regex: / 14:28DB:Graven Image starts using Shockwave/,
  regexFr: /something fr here/,
  regexKo: /something ko here/,
  delaySeconds: 5,
  alertText: {
    en: 'Look for Knockback',
    fr: 'fr text here',
    ko: 'ko text here',
  },
  tts: {
    en: 'knockback',
    fr: 'fr tts here',
    ko: 'ko tts here',
  },
},

For timelines, one option that I'm not really fond of is to just have entirely duplicate timelines for each language. That seems less than great, because then if somebody ever resyncs times in a timeline or something, they'd have to adjust everything independently. I was thinking of maybe being able to just replace ability names from the english version.

So, I was thinking of something like this, for o8s.txt:

{
  replaceNames: {
    'Graven Image': 'fr translation',
    'Mana Charge': 'fr translation2',
  },
  replaceSyncs: {
    'Kefka': 'fr kefka mob name',
    'Graven Image': 'fr graven image mob name',
  },
},

I was thinking of just applying them all as search and replace regex substitutions, with a different block for replacing the timeline text in the bars from the replacing the syncs.

Amiral-Benson commented 6 years ago

I like the solution for Triggers, it's very clean and simple to work with.

As for the timeline solution, I too, would rather not have to deal with separate files if possible, especially with that kind of files, subject to many changes right after the release of a fight, and I find your solution of replacing names and syncs like this quite suitable.

quisquous commented 6 years ago

I think this roughly should be enough for you to get started on raidboss translation. Let me know if you have any questions or if any of this doesn't work. I would suggest starting with the Middle La Noscea test.js/test.txt triggers and timeline to make sure this all works. Please replace my "You poke the striking dummy in French" jokes with something more real. ;)

One question I do have is if the test overlay works for you. When @hibiyasleep was looking at localization in Korean, it looked like the Korean build had slightly different memory offsets. I'm curious if your hp/mp/job data values look reasonable.

Regarding the rest of localizing cactbot, here's the remaining pieces (mostly for me to remember this later):

hibiyasleep commented 6 years ago

on raidboss - there's another problem, that boss name (which referenced by regex) are also translated in game, so sometimes trigger doesn't work.

[21:43:51.800] 1A:엑스데스 gains the effect of Combust II from 히비야 for 30.00 Seconds.
[21:43:54.000] 00:2aab:엑스데스가 죽음의 선고를 시전합니다.
[21:43:56.509] 14:1D07:(Censored) starts using Stone IV on 엑스데스.

Usually not whole message get translated, so maybe we can just replace bosses' name only?

Amiral-Benson commented 6 years ago

We're a bit in between two versions here, and while I know how to get the current files, I don't know how to get easily the current compiled CactbotOverlay.dll in order to test things, since I'm not a coder ^^' And I believe it didn't worked well with the old one in my tests ^^'

I think it won't be a problem later when all core things will be sorted out, and only triggers and timelines for specific fights will need translation, but in the current state I believe I need it. Is there any easy way for me to get that?

quisquous commented 6 years ago

I'll attach a build here later tonight.

quisquous commented 6 years ago

Here you go: cactbot-0.6.4-prerelease.zip

Amiral-Benson commented 6 years ago

Thank you for this prerelease!

I'm encountering an issue. I installed it, and in \cactbot\user\jobs-example.js I set the language to:

Options.Language = 'fr'

And I renamed the file jobs.js, but as soon as I do that and reload the overlay, I get this ACT error:

03/03/2018 22:31:38: Info: Test Jobs: BrowserConsole: Uncaught TypeError: Cannot read property 'youGainEffectRegex' of null (Source: file:///C:/Program%20Files%20(x86)/Advanced%20Combat%20Tracker/OverlayPlugin/cactbot/ui/jobs/jobs.js, Line: 204)

quisquous commented 6 years ago

4f9cc6d should fix it, sorry!

Amiral-Benson commented 6 years ago

I installed the 5 new files, the error disappeared, but if I set \cactbot\user\jobs.js to 'fr', the jobs overlay shows nothing, if I let it to 'en', the jobs overlay works (tested on Monk) but the buff/debuff icons doesn't seem to work. There's the cheese icon displayed all the time, which I believe is the Well Fed reminder, even if I took some food, it stayed there. Someone drop an AST Balance on me, and no icon showed up.

I translated the \cactbot\ui\raidboss\data\triggers\test.js I went to Summerford, and it doesn't work with French emotes, it doesn't start with French Countdown, but when I paste as /say the text of English emotes, it works.

It's like it thinks I'm using ACT in English.

I think I translated everything, besides some common terms such as Super Tankbuster, some places were missing the French placeholders you created for some parts, so I added them, there's only the info, alert and alarm texts that I didn't translated, because I didn't knew if I could do that in the same place as the timelineReplace.

About the test overlay, Jobs, level, HP, MP, and CP are correct, but the GP is increasing constantly by increments of 5 every ticks when I pick a non DoL job (1500/0 then 1505/0, etc.), when I swith to a DoL class, the value is correct.

I attached the \cactbot\ui\raidboss\data\triggers\test.js translated.

Your plug-in is picking up the language automatically from the ACT FFXIV plug-in language setting? Or do we have to set up that somewhere else? Since there is this option in the \cactbot\user\jobs.js, I'm a little confused. test.zip

quisquous commented 6 years ago

Sorry for all the headaches! I tested raidboss locally and it mostly looks like unicode isn't working properly in regexes. For testing, if you shorten the regular expressions to words without accent marks, it seems to work fine for me. Let me see if I can fix that up for you. Hopefully once these first hurdles are worked out, it should be more straightforward in the future.

The language isn't picked up automatically from ACT settings, because I didn't even know there was a language parsing option there until just now! (Thanks!) I'll look into adding that as a default. You currently have to set the language option for each module, so user/raidboss.js needs it for raidboss and user/jobs.js also needs it for jobs, etc. I wonder if raidboss is using en triggers because you haven't set that one too.

Re: test overlay. That's how they fixed GP when switching between jobs. It silently increases in the background until you switch to a gathering job which then will cap it. So, that's working properly. Do the job values work too, e.g. job: 70 MNK x | y (z) where x is your greased lightning stacks, y is your chakra stacks, and z is the ms left on greased lightning?

(Sorry, again!)

quisquous commented 6 years ago

Ok, I fixed a couple of things, but it requires some changes to the plugin, so here's another build: cactbot-0.6.4-prerelease2.zip.

I'll hopefully release another official version soon, but I was waiting on changes to fix issue #56 before doing so.

With this change, I was able to set Options.Language = 'fr' in user/raidboss.js and echo the triggers in the console to start the timeline and get triggers. So, hopefully this should be good. I also did some local debugging with jobs and it seems to be fine too. I'm hoping the data files issues was the problem here too.

Also, you're correct that there's no support yet for translating the infoText/alertText/alarmText that refer to timelines. I'll work on that (it's in the list of remaining pieces in a comment above), but there's very few things that use timelines for callouts, so it's fairly minor. The test timeline does a lot of it, but only because the test timeline is there to show off everything that can be done.

Amiral-Benson commented 6 years ago

I tested this new prerelease, the test.js for the raidboss worked flawlessly, I also enabled the SpokenAlerts and the TTS in French worked as well!

But I could not start the test with the in-game countdown, only from /bow. I rechecked the fr.js file, and the sentence for the countdown seem to be the right one (À l'attaque !).

And, unless I made a mistake, the job overlay now doesn't seem to work at all, it only shows the Cheese icon. I tried a couple of buff, only a Balance worked, but it might be because it's close to the English one (La Balance). It doesn't show any more the custom bars and countdown for MNK.

The test overlay informations for MNK are all correct, the countdown is synced, I also tested for BRD, name of song, stacks, and countdown for the song were all correct.

quisquous commented 6 years ago

Yay!

Ok, I think d4e6500 should fix the test timeline. The test timeline itself had a sync for "Engage" and that needed to be replaced too. I'll look into making it reuse the translation directly from lang/fr.js but it's just duplicated right now for convenience.

Glad to hear that the test overlay is working. Memory locations are a pain enough for me to figure out. Thankfully they only change like once or twice an expansion or so, but I'm glad nobody else has to go through that. <_<

I am not sure what's wrong with your jobs overlay regarding missing bars. Did you set an option in user/jobs.js like Options.JustBuffTracker = true? (If you copied jobs-example.js into jobs.js that might have done it.)

In terms of buffs appearing, I think Well Fed is the easiest one to test because you can buy super cheap food, click it off, and there's no cooldown. When I have fr turned on, the line it's looking for in the log is something like 1A:Ton Katsu gains the effect of Repu from ? for ? Seconds. where the ? would match anything. If you start attacking a target dummy with ACT open, eat food, and then look at the ACT log, what line does it give you?

Amiral-Benson commented 6 years ago

It almost fixed the timeline, somehow it seems the exclamation point is causing an issue, while 'Engage!': "À l'attaque !", doesn't work, 'Engage!': "À l'attaque" works. It's not because of the space before the exclamation point I think, because in French there's always a space there.

And you were right, I made a clean user/jobs.js with just language set, and everything worked, food, pots, job helpers, etc.

Should I start to translate some fights now? By taking examples from the methods you used in test.js, or is it better I wait a bit more so you can make some changes?

And if I understand correctly, I will have only to translate things inside the triggers .js files, nothing inside the timelines .txt files?

quisquous commented 6 years ago

I think things are working enough that you should start translating some fights now using the same replaceText/replaceSync for timelines and the same regexFr and returning 'fr' for triggers. And you're correct, you should only translate things in the js files and not in the txt files. If raidboss is mostly working, then you should be able to go into fights with translated timelines and triggers and it should start being able to be useful for you.

Let me know if you feel like you need any automated tools for this to help verify replacement text or find missing translations. Some things I could do would be like:

Re: Engage translation. :thinking: :thinking: :thinking: I printed out the replace syncs locally to make sure they looked ok and I see raidbossy: BrowserConsole: /:Engage!/, /:À l'attaque !/ which seems reasonable to me. Can you do a couple of tests for me?

  1. In timelines/test.txt, if you replace the /:Engage!/ with /:À l'attaque !/ directly in the file, does it work properly?
  2. In triggers/test.js, if you replace the 'Engage!': "À l'attaque !" with 'Engage!': "À l'attaque " (space but no exclamation) does it work properly?
Amiral-Benson commented 6 years ago

Okay, I'm gonna start by translating first the current most useful fights for me, O8S, UCoB, etc. then I'll slowly do all the rest.

I believe I have ACT logs for pretty much every fights, some might be hard to find in the archives, but I believe that if I look at my FFLogs upload dates, I can use those dates within the import a Log File feature of ACT to track them down. For fights where I didn't see yet the all fight, I've seen only 30% of God Kefka for example, I'm wondering what would be best. I can use XIVDB translations, one tricky thing is that the web site display all French enemies actions by putting a capital at the beginning of every words, which most of the time is not what the game does, it depends on semantic, so I think I'll ask Josh Freeman the creator of XIVDB, if he can do something about that, he always helped me with things like that in the past. FFlogs does the same with French ACT uploads, it put a capital on every Abilities words, while in ACT logs there's the real way the game used. So I'm wondering if I could find a French player on FFlogs who always clear everything super fast, and if I somehow could find a way from FFlogs to get their raw ACT logs. This would be really for when I'm stuck with not enough personal logs, do you guys here used a specific way in those cases?

Thanks a lot for proposing automated tools, I'm still unsure how laborious some triggers files will be, something that could point out I missed a translation somewhere could be useful. I'll use Dreamveaver, as it's part of my Creative Cloud subscription, I don't know if that helps.

I'll probably ask questions here when it comes to some special regex where it needs to pick up things like names, gains, loses, etc.

I'm wondering also if I could take some freedom for the TTS, I noticed sometimes that Alert Text are more complete. For example lots of TTS currently just say the name of the attack, but only the Alert Text says what to do, not the TTS. So I'm wondering if I should only customised them for myself in my /user/raidboss.js or if I could take some freedom in the common trigger file.

I did the tests you specified, none of them worked, and I made sure I reset the overlay each time, as well as making sure I properly ended up the timeline with the emote. I also made sure for the 1st one that I had nothing in the .js file for replacement, and for the second test I made sure I put back the original text in the .txt file.

quisquous commented 6 years ago

I don't think there's a way to get raw ACT logs from fflogs. You could try talking to Kihra on the fflogs discord, maybe? I usually ask friends for logs if it's something I haven't seen or just use my own logs if I have. I don't have any secret source.

If it's just a question of capitalization, you can add an i to the end of the regular expression to make it case insensitive, e.g. regexFr: /Test/i will match against Test or TEST or test etc. If you know the capitalization then I wouldn't use an i, but if you're speculatively making triggers for things you haven't seen, then maybe that will help.

Re: TTS. Personally, I don't use TTS for that much. I find audio a lot more distracting than visual text and folks I know who use TTS generally like them shorter than the long sentences that some of the infoTexts have. That's kind of why they're like that. Feel free to make the French versions more descriptive if you think that'd be useful.

Re: Engage. That's awfully curious. I wonder if that space is somehow special. Does changing it to 'Engage!': "À l'attaque.*!" work?

Amiral-Benson commented 6 years ago

Your case insensitive capitalization regex sounds perfect for lots of situations, and thank you for pointing me out the FFLogs Discord, I'm sure over there I'll always found players willing to share their logs, that should be the perfect source, and in last resort I could always ask Kihra.

I tested 'Engage!': "À l'attaque.*!" and it works!

quisquous commented 6 years ago

It seems like the space must be special, then! Can you try replacing it with a non-breaking space? Which is probably Alt+0160 in Windows? Alternatively, copy and paste directly from an encounter log?

Edit: https://en.wikipedia.org/wiki/Non-breaking_space#Width_variation

Alternatively, it's not a non-breaking space, it's a narrow non-breaking space? Not sure how to enter that in other than copying it from an encounter log?

Amiral-Benson commented 6 years ago

I replaced it with a non-breaking space, and unfortunately it didn't worked.

I used Alt+0160, I used Alt+255, and to make sure I was getting the right space, I opened up the file in Microsoft Word with Unicode UTF-8 encoding, and set it up to display the formatting:

2018-03-07 1

Word uses a dash for a normal space, and a ° for a non-breaking one, so I was sure I entered a non-breaking one. I also used the Word shortcut Ctrl+Shift+Space, same result.

When I copy the sentence from FFXIV logs and paste it into Word, I get a regular space before the exclamation point.

I also did the same test with the sentence Début du combat dans 5 secondes ! which contains no apostrophe but still an exclamation point at the end, it's the sentence saying the fight will start in 5 seconds, but it didn't worked as well.

Then I set up an ACT trigger in its Custom Triggers tab, and the same way, ACT is not picking up the string unless either I remove the exclamation point and space, or I put a **.*** to replace the space. If I remove the exclamation point, but not the regular space, it doesn't work. If I remove the exclamation point, and only keep a non-breaking space, it doesn't work.

Amiral-Benson commented 6 years ago

One sure thing, the French translation team of FFXIV is pretty painstaking, and maybe they used a Narrow non-breaking space (espace fine insécable), mostly used in printing house, but I don't know how to copy it, or reproduce it as well. Microsfot Word, while inserting properly non-breaking space where it's required, doesn't have an option for a Narrow one.

I did another test, I used in FFXIV console: /echo À l'attaque ! with a regular space, and then your plug-in pick it up with the unmodified 'Engage!': "À l'attaque !", in the .js file.

Visually, at 1080p with the default font size, in FFXIV, both the countdown one and the /echo one look the same.

39210_20180307203011_1

danakj commented 6 years ago

Does \s match it, like "À l'attaque\s!"?

Amiral-Benson commented 6 years ago

'Engage!': "À l'attaque\s!", doesn't work.

danakj commented 6 years ago

ok so maybe it's more than one space/character.

some other things to try to debug: "À l'attaque\s\s!" <- 2 spaces? "À l'attaque\s+!" <- more spaces? "À l'attaque.!" <- something other than a space? "À l'attaque..!" <- 2 things? "À l'attaque\s.!" <- space and something? "À l'attaque.\s!" <- something and space? "À l'attaque...!" <- 3 things?

Amiral-Benson commented 6 years ago

Thanks for your help debugging this danakj, I tried all of them, and none worked.

danakj commented 6 years ago

Woa, but to be clear

"À l'attaque.*!"

This works?

Amiral-Benson commented 6 years ago

Yes, to be sure I didn't slip any error somewhere, after each tests, I came back to "À l'attaque.*!" and checked it still works, and it does, only that and "À l'attaque" works.

danakj commented 6 years ago

That says it must be more than 3 characters in that space? You could try this!

"À l'attaque.{1,}!" <- this /should/ work, it's 1 or more characters then could narrow down how many it is "À l'attaque.{1}!" <- this should not, cuz it's not exactly 1 character and then for some number, it should work to figure it out "À l'attaque.{2}!" <- wont "À l'attaque.{3}!" <- wont "À l'attaque.{4}!" <- might? "À l'attaque.{5}!" <- might instead? .. etc ..

There's some weird number of characters (3 if i recall right) at the start of ability names sometimes for that visible icon, so who knows..

Amiral-Benson commented 6 years ago

I tried all your suggestions, and none of them worked unfortunately.

So I went to check how ACT treats those logs, and it appears it doesn't recognise that space, so it seems it just deletes them.

This is the FFXIV in-game logs:

[4:48] Début du combat dans 5 secondes ! [4:48] À l'attaque ! [4:48] Vous utilisez Tir droit. [4:48]  Coup net ! Le mannequin d'entraînement subit 3 496 points de dégâts.

This is ACT logs, where it deletes every space before an exclamation point, we can see that in 3 of those 4 lines:

[04:48:28.000] 00:00b9:Début du combat dans 5 secondes! (Amiral Benson) [04:48:33.000] 00:0039:À l'attaque! [04:48:35.000] 00:082b:Vous utilisez Tir droit. [04:48:35.000] 00:0b29:⇒ Coup net! Le mannequin d'entraînement subit 3496 points de dégâts.

The logs are saying I started a countdown of 5 sec, that I then used Straight Shot, and got a Direct Hit.

Then I tried this in the test.js file 'Engage!': "À l'attaque!", and it worked.

I'm so sorry, I don't know why I only checked now how ACT is treating this, I would have never thought it will skip the space. So, what is happening, it's like a character it doesn't recognise so it skips it?

Amiral-Benson commented 6 years ago

And this is how ACT sees an in-game /echo À l'attaque !

[05:30:06.000] 00:0038:À l'attaque !

If I paste in the FFXIV console a regular space or a non breaking space, both shows up with a space then in ACT.

danakj commented 6 years ago

Ooh ok that makes sense now, thanks! :) I shoulda thot of that possibility too!

quisquous commented 6 years ago

Good find! :+1:

IrealiTY commented 6 years ago

hey @Amiral-Benson how's your UCOB prog in FR? Any way we could help? Some francophone only friends are affected that they can't use cactbot at all in UCOB. maybe we could help translate missing strings?

Amiral-Benson commented 6 years ago

First I apologise for the late updates, Square Enix released at the same time the new ranked Feast Season and Eurêka, and both took all my free time. Since I'm now done with Eurêka and probably safe to finish in Top 100 Feast, I'm back on those translations.

I just finished O8S translation (but need some clarification on some parts, see below), and I'm gonna start UCOB one. Thanks for your help proposal @IrealiTY I'll definitely need some, as I never get past beyond Nael yet and don't have French logs for the rest of the fight, I'll get back at you here when I'll get stuck on a string.

O8S translation revealed itself tricky, I'm attaching to this post a version almost complete, and I need some clarification on the following things:

For the replaceSync, do I have to use the full English string, replaced by the full French string, or can I just replace only the differences, like I already did in the attached file?

(I noticed that ACT logs use full caps on spells first letters, just like they are stored in XIVDB and FFLogs, while the in-game logs inside ACT logs use the grammatical French version, which can have mixed caps depending on the rules. All this to say, that it was easier than I thought for regexFr, as it uses mainly ACT special logs mixing both languages and using cap everywhere.)

For the manaReleaseText (line 357 & 358), I believe it requires some translation here, it was too complex to handle the formatting myself, and I need help here as well, @quisquous could you write it for me with placeholders? Same way with lastFire, lastIce, lastThunder in lines 377, 389, 409, 429, 449, 450, 470, 471, 491 and 492, if it ever requires some translation there.

I didn't tested this O8S.js yet, I'll do it on Tuesday, I just hope I didn't broke anything from the original file.

Thanks a lot for the help, and I apologise again for the delay, I'm back at work on them now. o8s.zip

Amiral-Benson commented 6 years ago

And I just noticed that while the indentation was looking good in my software, after a Return it used tabulations and not spaces, and might display incorrectly in other software. I just set it up to replace tabs with 4 spaces, and I searched and replaced all current tabs with 4 spaces, sorry for the inconvenience, I'm attaching a corrected file here. o8s.zip

quisquous commented 6 years ago

Re: replaceSync. It is just a search and replace, so you can use full or partial strings, whatever is most convenient. Looking at your file, I want to mention that you don't need to repeat anything. I see multiple wings of destruction translations there. Talking about partial strings, you could cover both 1x and 2x with: 'Wings of Destruction': 'Aile de la destruction', or similarly you can get Forsaken 1 2 and 3 with just 'Forsaken': 'Cataclysme',. You can take a look at http://github.com/quisquous/cactbot/blob/master/ui/raidboss/data/triggers/o5s.js for more examples.

Re: manaReleaseText. Yeah, you're correct. I think I need to pass the options through to data as well, so that you can check the language during the preRun or run functions. I'll try to add that this week or weekend. I think I can concatenate the things you've already put in and say something like "Fausse foudre, sortir".

Re: UCOB. Do these friends have any french logs? I think the biggest pieces that would be hard to get from elsewhere would be Nael's rp text in nael, fellruin, and adds phase, and also the rp text that I was using to sync the start of adds and final phase.

Amiral-Benson commented 6 years ago

I should have mentioned why I wrote the 'Wings of Destruction': 'Aile de la destruction' several times, it's because the person who wrote the English version actually put there 2 different texts, one with of and one with Of, so I made one for each, and for each x1 and x2. I got too shy and didn't want to make a correction to their text by standardizing it.

But I understand now from your examples, I know how to make it down to only a single iteration, I will need to make a correction to their of though.

But I'm gonna wait for your modifications regarding manaReleaseText, and then I'll finish it, and your French example with Lighting is correct.

For Nael texts in Nael phase I have mine, and I believe I might be able to get the other ones from videos.

quisquous commented 6 years ago

Whoops. Feel free to correct weird capitalizations, for sure. I think it really should just be of in all cases.

IrealiTY commented 6 years ago

Here's an uploaded raw ACT log if it's any help :) Network_20180405.zip

quisquous commented 6 years ago

Also! I realized that the WipeDetector is built into C# and so needs localization as well. If you have translations for Weakness/Brink/LB3 names, that'd be quite appreciated: https://github.com/quisquous/cactbot/blob/master/CactbotOverlay/WipeDetector.cs#L36

quisquous commented 6 years ago

I was looking at the raw ACT log and had a brief thought. I think I can re-use @xephero's make_timeline.py fflogs api interface and have fflogs itself do the translation for me for all the fights, e.g. this api link, add your own API key in at the end is a french translation of this english report because it uses fr.fflogs.com instead of www.fflogs.com.

If that's true, I think it'd be quite straightforward to generate auto-translations of timelines and maybe even some triggers. That couldn't do everything, but it could do a ton of the heavy lifting, I think.

quisquous commented 6 years ago

Coil is still missing nael rp text triggers , a number of timeline text translations (although all syncs should be there), fang of light / tail of darkness mob triggers, and all the trigger output translations. But, it's a lot closer now!

quisquous commented 6 years ago

@Amiral-Benson I've been on a translation kick this weekend, so I committed the o8s changes that you had in the zip file above.

Sorry about the delay on the ucob fr localization. Been super busy with my static trying to clear ucob msyelf so haven't had a ton of free time. I think if somebody translated the trigger outputs, it'd be like 95% of the way there.

Amiral-Benson commented 6 years ago

I just added the last remaining French translations for O8S (Fire stack and spread). #111

For your WipeDetector, here are the French translations you were looking for:

Weekness: gains the effect of Affaiblissement from

Brink: gains the effect of Mourant from

LB3 Names:

Your auto-translation from FFLogs looks wonderful.

For UCoB, just like you, I've been trying to clear it lately, yesterday I managed to reach Teraflare 2 times, and I got one of the last 4 remaining Nael French quotes I still need. Next Thursday I have another UCoB session, hopefully this will be enough to find out the 3 remaining quotes. I've been using DAT miner tools to find them, but while I managed to locate lots of instances fight dialogues, Nael ones weren't there, and it's not handy to search, unless I missed a feature, I have to repeat the search manually in all text categories, and there's thousands.

Today I'm trying to finish UCoB triggers translation, to see if I'm missing something else than those 3 quotes, I have enough of my own logs up to Teraflare to help me.

quisquous commented 6 years ago

Thanks for those translations! I (unsurprisingly) haven't tested any of those ucob translations, so please let me know what's broken or not.

Do you also know the skill that Phoenix uses before golden phase, e.g. [19:29:21.118] 16:4000B4A3:Phoenix:26F2:Flames Of Rebirth:1048638C:Tini Poutini:30:10000:640F:59C0000:1C:26F28000:0:0:0:0:0:0:0:0:0:0:0:57562:4560:0:0:1000:0.7938568:3.126736:0:5725000:5725000:12000:12000:1000:1000:0:0:2.384186E-07:

The reason I ask is because wipe detection is (currently) a hacky check like "did you come back to life without weakness and there was no lb3", so Phoenix fits in that category too.

Amiral-Benson commented 6 years ago

The Feu Résurrecteur yeah, still being in TeraFlare, I don't have logs yet for this transition, but I figured what you were trying to do.

Are you gonna need something specific from my logs there?

quisquous commented 6 years ago

Oh! Haha, it got autotranslated and I missed it. I should have looked there first, sorry. I just needed the skill name.

Amiral-Benson commented 6 years ago

I translated everything I could for UCoB Timeline and Triggers. #112

I even found the French Nael quotes we were still missing for TeraFlare. I went back in the DAT mining software, it took me 2 hours, but I found all the quotes:

data-mining-ucob-french-nael-quotes

The translation was so poetically different, that I had to use their ID to be sure I was translating the right quotes. Also, as you can see from the picture, it explains all the errors we had with spaces before punctuation points, they put <Indent/> as the space before ! or ? for example.

To translate UCoB further, I believe that like O8S one, it will require quite a lot of modifications. If you think it is worth the extra work, you'll tell me if you want quick translations here or if you prefer to use placeholders that I will fill in the end, or anything else, etc.

Amiral-Benson commented 6 years ago

@IrealiTY The French translation of UCoB is complete, you might want to tell your friend to give it a try. He needs to download latest versions of both the triggers and timeline.

@quisquous Maybe we could change line 4 of the Triggers file, to specify that French translation is full and not partial any more.

mooondark commented 6 years ago

I've just made a pull request for Tsukuyomi-ex. As I am not used to GitHub (and dev related thing), I'm waiting for your advices. If it's ok, i'll try to do the sigmascapes.