valkyrnstudios / RankSentinel

MIT License
4 stars 2 forks source link

frFR local file #73

Closed anothercoma closed 1 year ago

anothercoma commented 1 year ago

new to github, how/where do i submit my frFR.lua File! (french translation contribution) My file is working fine if i replace enUS.lua with mine, However i can't get the addon to autochoose local currently, but my LUA knowledge is close to none. EDIT: figured the file is not "that" big, i'll dump it's content here !

local addonName, _ = ...
local L = LibStub("AceLocale-3.0"):NewLocale(addonName, "frFR", true)

L[addonName] = "Rank Sentinel"
L["Enable"] = "activer";
L["Whisper"] = "chuchoter";
L["Debug"] = "Debug";

L["Notification"] = {
    ["random"] = false,
    ["default"] = {
        ["Prefix"] = {
            ["Self"] = '|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_7.blp:0|t',
            ["Whisper"] = string.format("{rt7} %s d\195\169tect\195\169", addonName)
        },
        ["Base"] = "%s (Rang %d) utilis\195\169%s, il y a un nouveau rang au niveau %d.",
        ["Suffix"] = "v\195\169rifiez vos raccourcis la prochaine fois, ou voyez si un maitre a quelque chose \195\160 vous apprendre.",
        ["By"] = " par %s"
    },
    ["troll"] = {
        ["Prefix"] = {
            ["Self"] = '|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_8.blp:0|t',
            ["Whisper"] = string.format("{rt8} %s: Oi,", addonName)
        },
        ["Base"] = "%s (Rang %d) be used%s, new at %d mon.",
        ["Suffix"] = "Ya may be missin' trainin' or usin' an old shortcut",
        ["By"] = " from %s"
    },
    ["gogowatch"] = {
        ["Prefix"] = {
            ["Self"] = '|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_7.blp:0|t you',
            ["Whisper"] = string.format("{rt7} %s: Friendly Reminder! You",
                addonName)
        },
        ["Base"] = "just used a low rank of %s (Rank %d)%s.",
        ["Suffix"] = "Please check your Action Bars or visit your Class Trainer to make sure you've got the right ability for your level.",
        ["By"] = " (on %s)"
    },
    ["ogre"] = {
        ["Prefix"] = {
            ["Self"] = '|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_8.blp:0|t me see',
            ["Whisper"] = "{rt8} me see"
        },
        ["Base"] = "puny %s %d power%s smash lurn gud smash %d.",
        ["Suffix"] = "Big smash!",
        ["By"] = " from %s"
    },
    ["murloc"] = {
        ["Prefix"] = {
            ["Self"] = '|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_4.blp:0|t',
            ["Whisper"] = "{rt4} Mmmrrglllm,"
        },
        ["Base"] = "nk mrrrggk %s %d%s urka %d.",
        ["Suffix"] = "Mmmm mrrrggk!",
        ["By"] = " mmgr %s"
    },
    ["pirate"] = {
        ["Prefix"] = {
            ["Self"] = '|TInterface\\TargetingFrame\\UI-RaidTargetingIcon_2.blp:0|t',
            ["Whisper"] = "{rt2} Ahoy!"
        },
        ["Base"] = "%s (Rank %d) be used%s, there be better booty at %d.",
        ["Suffix"] = "Check yer dock master fer a new beauty!",
        ["By"] = " by ye %s"
    }
}

L["Cache"] = {
    ["Reset"] = "Cache vid\195\169: %d entr\195\169es purg\195\169es et %d rangs max oubli\195\169s",
    ["Queue"] = "mis en attente - %s, %s"
}

L["Broadcast"] = {
    ["Unrecognized"] = "communication non-reconnue(%s), votre ou %s client peut-être obsol\195\168te"
}

L["Cluster"] = {
    ["Lead"] = "Cluster Lead: %s",
    ["Sync"] = "Synchronisation des communications %d",
    ["Batch"] = "synchro l'ensemble %d \195\160 %d"
}

L["Utilities"] = {
    ["Upgrade"] = "Version du Addon chang\195\169, cache r\195\169initialis\195\169",
    ["IgnorePlayer"] = {
        ["Error"] = "Vous devez cibler un joueur",
        ["Ignored"] = "Ignor\195\169: %s",
        ["Unignored"] = "d\195\169-ignor\195\169: %s"
    }
}

L["ChatCommand"] = {
    ["Reset"] = "R\195\169glages reset",
    ["Count"] = {
        ["Spells"] = "Sorts attrap\195\169s: %d",
        ["Ranks"] = "Rangs mis en cache: %d"
    },
    ["Ignore"] = {
        ["Target"] = "Selectionnez une cible \195\160 ignorer",
        ["Count"] = "Ignore actuellement %d joueurs"
    },
    ["Queue"] = {
        ["Clear"] = "Vid\195\169 %d notifications en attente",
        ["Count"] = "Actuellement %d notifications en attente"
    },
    ["Report"] = {
        ["Header"] = "%sD\195\169tect\195\169 %d Rangs bas-niveau cette session",
        ["Summary"] = "%s - %s (Rang %d)",
        ["Unsupported"] = "Canal non-support\195\169 %s"
    },
    ["Flavor"] = {
        ["Set"] = "style de Notification r\195\169gl\195\169 sur: %s",
        ["Available"] = "Styles de notifications disponibles",
        ["Unavailable"] = "le Style %s n'est plus disponible, remis par d\195\169faut"
    }
}

L["Help"] = {
    ["title"] = "Options de ligne de commande",
    ["advanced"] = "Options de ligne de commande avanc\195\169es",
    ["enable"] = "toggle l'analyse du journal de combat",
    ["whisper"] = "toggle le chuchotement aux joueurs",
    ["reset"] = "reset le profil par d\195\169faut",
    ["count"] = "\195\169crit les statistiques actuelles",
    ["debug"] = "toggle le mode debug pour tests",
    ["clear"] = "remet \195\160 z\195\169ro le cache local des sorts",
    ["lead"] = "vous d\195\169fini comme leader",
    ["ignore"] = "ajoute la cible actuelle \195\160 la liste des ignor\195\169s du Addon, ne rapportera plus les erreurs de Rangs",
    ["queue"] = "\195\169crit les notifications en attente",
    ["queue clear"] = "vide les notifications en attente",
    ["queue process"] = "traite les notifications en attente",
    ["sync"] = "envoie le cache des annonces",
    ["report [channel]"] = "rapport des donn\195\169es de la session [self, say, party, raid, guild]",
    ["flavor"] = "liste les styles de notifications disponibles",
    ["flavor [option]"] = "r\195\168gle le style de notifications sur l'option"
}

Troll, ogre, murloc flavors are NOT tranlated (yet)

SabreValkyrn commented 1 year ago

This looks great! I'll need a bit to test it, might get it done tomorrow.

I can work with your pasted file, the big thing is the %d, %s, and such need to be in the same places and kinds, which is sometimes difficult between languages.

Looks like they are at first glance.

anothercoma commented 1 year ago

no variables were moved, and some specific words were not translated because every players knows their meaning, and french lack "short" words to translate them! (typical example is "toggle", which i don't know any french word having the exact same meaning :p)

SabreValkyrn commented 1 year ago

Give the latest CurseForge alpha a try, should have functional frFR support.

Once you've verified it works properly, I'll make another release.

anothercoma commented 1 year ago

testing asap (12/6/2022)! i wil test every feature i can, and will update translation for future versions if needed!

edited: 12/6/2022 no bug found yet everything seems fully fonctionnal, language selection based on client language worked fine!

will test cluster message and "sentinel group" related messages next raid with friend!

BIG THANKS for allowing Frenchies to improve their gameplay and not feel "assaulted" by receiving message they don't fully understand (not all frenchies are fluent with english, least to say)

If you refer to me for french translation please name me as "Anatheme-Auberdine" (character name-server) anyway i'm not asking in any shape or form to be mentioned, and don't need any form of acknoledgement

anothercoma commented 1 year ago

12/8/2022 tested everything i could in raid yesterday with a friend, everything works fine. there is ONE option in options panel that lacks Local, it's "max lvl only" but even not translated it's clear and easy to understand.