Code Monkey home page Code Monkey logo

echoglossian's Introduction

Echoglossian

Download count GitHub stars GitHub release Crowdin

A realtime game text translator

Installation

Please install through FFXIVQuickLauncher!

Chat Commands

/eglo : Opens the Plugin Configuration Window

Usage

Enable the desired translations and configure the various options through the Configuration Window.

Known Issues

TODOs

Thanks

  • annaclemens for XivCommon
  • midorikami for AddonLifecycle
  • goaats for FFXIVQuickLauncher
  • haplo for ChatTranslator plugin
  • Eternita-S for their contribution
  • Bluefissure for their contribution
  • Soreepeong aka Kizer for the fontConfig fix
  • samulopez for all the contributions

Contributors

ko-fi

You can also support the project via pix (only valid in Brazil)

Final Fantasy XIV © 2010-2024 SQUARE ENIX CO., LTD. All Rights Reserved. I am not affiliated with SQUARE ENIX CO., LTD. in any way.

echoglossian's People

Contributors

bluefissure avatar chnrqpd avatar limiana avatar lokinmodar avatar samulopez avatar soreepeong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

echoglossian's Issues

All the letters appear to be ?.

화면 캡처 2021-10-03 110334
It seems to be a language without built-in fonts. my setting was Korean.
anyway thank you for the application I really hope to use it if font problem is solved. :)

Question about menus/quest/battle etc

Hi!, first of all, thanks for your work, really appreciate it

I have a few questions about the future of the mod, like in many countries, spain has no translation to spanish, so we have to use the mod to be able to understand as much of the story as we can, but it comes with a few issues

The English translation omits a lot of lore, it even totally changes characters like Haurchefant, giving him lines that makes him look like another character, and since i play with the Japanese audio, the differences are even more obvious

The problem is that the only way to understand more or less the menu, we have to use English, if we use French, that translates directly from the japanese and respects those lines, it is really hard

So i'm wondering:

  • Will the menus be translated?
  • Will the Quest text be translated?
  • Will the white text of some cutscenes be translated?
  • Will the battle text be translated?

For what i've seen you've been working on another engines to translate, which is really good news, but since this tool is that great, i wonder if those things will be possible in a future, since i'd really like to be able to understand the game, not being forced to use the damn english translation, but being able to use the french one

Thank you so much for your hard work, will be waiting for any future update! :)

Current known issues for version v3.9.x (current)

Changelog:

Known Issues:

  • All Toasts besides Error Toasts do not show the Translation Overlay (yet)-

  • Languages that are read from Right-To-Left aren't showed properly in the overlays. A fix is in the works to overcome ImGui's limitations but might take some time

  • BattleTalk overlays are bugged and should not be used for now. A fix is in the works

  • For a more extensive (but not exhaustive) list of known issues, please refer to this
    If you find any issues not listed in there, please open a new issue providing all the info you can to help solving it faster.

ToDos and Won'tDos:

[Enhancement] Terminologies / Glossaries

There are terminologies in the game including place names, person names, country names, etc.

For example, in Chinese:

Alisaie -> 艾丽莎(Google Translate)  -- 阿莉塞(CN client)
Forum -> 论坛(Google Translate)  -- 哲学家议会(Forum of Sharlayan, CN client)

The translation API cannot detect them nor correctly translate them, so I wonder whether we can provide a dictionary of such terminologies before or after the translation API?

Move Description translation

Hello, loving the way you did to translate dialogues, but I am curious if it's possible to include at some point translation of ingame moves. I know at very least a few players that don't speak english and keep asking me to translate what move does all the time ^^;

Currently used font is missing Polish letters

2021-10-10 17_01_43-ZeffUI
2021-10-10 17_01_11-2021-10-10_16-51-58-621_OMGEorzea Gameplay png ‎- Zdjęcia

Is it possible to change the font to anything else which has those letters? (ąśćłęó)
It could be either globally or only for Polish language.

example fonts: Consolas, Times New Roman

Add a function to check for Cyrillic characters

Due to the existence of an unofficial Russian translation of the game, please add a function to check the string for Cyrillic to avoid translating already translated strings.

Regex: [ЁёА-я]

You can just make a parameter in settings and a bool function, I can write the logic for checking it myself.

All characters have been changed ??? in UI

image

Thx for your development.

Recently, I've got a problem that all characters related eglo changed into "???"; please see attached pictures.
I think this problem occured after 2.1.2112.174 (not exact), (You said that this version have a known issue that it should be turned on admin previlige to open setting window.)

I tried to install only eglo without any other plugins, but it showed same problem.
Before installing eglo, it displays proper english UI, but after installing eglo, it turns into ??? marks.

plz help me.

Copy to clipboard option

Would it be possible to add an option the original output to clipboard. A lot of us use Echoglossian as a learning tool and I personally end up rebuilding it myself each time with a small tweak so it output to my clipboard which is then automatically read in by dictionary.

[Bug] Pause while rendering dialogue window

When the dialogue windows pop up in cutscenes there'll be an obvious pause of rendering. I think it's caused by fetching the translated text from the API synchronously, which blocks the rendering procedure.

Is it possible to change it to async when replacing the text?

Translate quests

It would be good to translate the quest title, description and steps. I know some work was done and this request is part of the TODO list, but I couldn't find a place to discuss it.

I want to help with this request, and with more stuff like adding other translation engines, but I prefer to start with the quests.

Because this work is big, I think it would be good to split it into several PRs:

  • Journal accept
  • ScenarioTree
  • TodoList
  • Journal + JournalDetails

Thoughts?

[Bug] Pause while rendering dialogue

Good afternoon, tell me please, maybe I did not find the information, but as I see the last update was in April. Am I right in thinking that mod maintenance is suspended? It's just that the topic with a frieze for a second when the translation is in progress was a year ago and the problem has persisted.

Expansion of settings.

  1. Setting the font size of the translator window (in the "show original AND translation" mode)
  2. Selecting an interpreter server. (google translate / DeepL / Papago / Baidu) For some languages, some translators work better than google translate.

Font issues for Patch 6.2

font

Plugin can't show unicode characters in translation correctly, like Japanese/Chinese/Korean after 6.2 patch, how to fix this?

Update?

Do you have a date for the next update? I miss playing the game with the translation :D

About Battle translate text box

About translate box can't adjust anything in "Battle talk settings" except overlay font color
but this box can adjust position by "Talk settings"
and have some translate problem

image

and here try after arrived to Gold Saucer (translate text from gold saucer not boss dialog)

image
image

and try after restart game

image

[Bug] Cant install on Dalamud

can't install, i click to install, time goes by and nothing happens


14:35:46.709 | INF [LOCALPLUGIN] Loading FPSPlugin.dll

14:35:46.711 | INF [T3] DUI OK!

14:35:46.718 | INF Dalamud is ready.

14:35:46.738 | INF [LOCALPLUGIN] Finished loading FPSPlugin.dll

14:35:46.738 | INF [PLUGINM] Loading plugin PingPlugin

14:35:46.797 | INF [LOCALPLUGIN] Loading PingPlugin.dll

14:35:46.812 | INF [PingPlugin] Loading lang data from PingPlugin.Lang.lang_en.json

14:35:46.885 | INF [LOCALPLUGIN] Finished loading PingPlugin.dll

14:35:46.885 | INF [PLUGINM] Loading plugin Pixel Perfect

14:35:46.912 | INF [LOCALPLUGIN] Loading PixelPerfect.dll

14:35:46.923 | INF [LOCALPLUGIN] Finished loading PixelPerfect.dll

14:36:40.991 | INF [PLUGINM] Starting plugin update

14:36:40.993 | INF [PLUGINM] Plugin update OK.

14:37:17.200 | INF [PLUGINR] Fetching repo: https://raw.githubusercontent.com/goatcorp/DalamudPlugins/api4/pluginmaster.json

14:39:28.483 | ERR Unobserved exception in Task.
System.AggregateException: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. (One or more errors occurred. (A task was canceled.))
---> System.AggregateException: One or more errors occurred. (A task was canceled.)
---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Threading.Tasks.Task.GetExceptions(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task1.get_Result()
at Dalamud.Interface.Internal.Windows.PluginInstallerWindow.<>c__DisplayClass54_0.b__2(Task1 task) in C:\goatsoft\companysecrets\dalamud\Interface\Internal\Windows\PluginInstallerWindow.cs:line 1213 at System.Threading.Tasks.ContinuationTaskFromResultTask1.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__277_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
at System.Threading.Tasks.Task.ExecuteEntryUnsafe(Thread threadPoolThread)
at System.Threading.Tasks.Task.ExecuteFromThreadPool(Thread threadPoolThread)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
--- End of stack trace from previous location ---
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task1.get_Result()
at Dalamud.Interface.Internal.Windows.PluginInstallerWindow.<>c__DisplayClass54_0.b__2(Task1 task) in C:\goatsoft\companysecrets\dalamud\Interface\Internal\Windows\PluginInstallerWindow.cs:line 1213 at System.Threading.Tasks.ContinuationTaskFromResultTask1.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__277_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of inner exception stack trace ---
{ } [ Send ]

Echo sumiu?''

Ola, amo seu trabalho e o Echo, vi q foi atualizado a algumas horas atraz, porem no Dallamud plugin ele n esta aparecendo, demora um tempo para ele voltar apos uma atualização?

not translating battle dialogue box

The dialog boxes that appear at the top of the screen when you are in a duty and the subtitles of the area intro cutscenes are not being translated, I wanted to know if that's the case or am I skipping some setting.

PT-BR >>
As caixas de diálogo que aparece na parte de cima da tela quando você está em uma duty e as legendas das cutscenes de introdução de área não estão sendo traduzidos, eu queria saber se é assim mesmo ou eu que estou pulando alguma configuração. Desculpa se alguma coisa em inglês não estiver fazendo muito sentido.

CJK fonts issue

Hi, I really appreciate the update today. Your plugin really helped playing 6.0 before it stopped working.

As far as I remember Korean displayed fine back then, but for some reason now it's missing Korean fonts now.

1

I still think this is Dalamud problem rather than Echoglossian's, though. Dalamud has problem with Korean fonts. I've tried posting about this in their Discord a couple times but no luck.

2

(Same happens with AXIS fonts)

For extra context, FFXIV doesn't have Korean fonts and will display all Korean in "=", same thing in Dalamud too. Korean players have been using a mod to display Korean characters ingame(take a closer look at my chat log), but I do not exactly know about inner workings. Probably it replaces the font with the one from the Korean client.

Translation fails sometimes

my translation is always failing, is there a prediction for when the next version of the plugin will be released?

Awaiting translation...

Hi,
Is it possible to remove the "Awaiting translation..." (or similar) message that appears just before the text is translated? It's rather annoying as well as useless, given that the translation takes place in less than a second.
You just have time to see something black appear, illegible in 99% of cases because it is immediately replaced by the translated text... but it is visually annoying.
Or at least you could make it appear with a latency of 2 seconds if the text has not been translated in the meantime.
This also applies to the translation of the character's name!

Thank you especially for the excellent work!

Another translation option

Hi, from what I understand there is only Google Translator as a translation option, I would like to recommend the possibility of also adding Deepl, unlike Google it does not only translate literally but contextualizes the translation making it more fluid. Thank you for your time and for this amazing project.

Overlay Translation fails sometimes.

Hi, first, thanks for the plugin, it's really awesome!
I'd like to contribute to a problem I've encountered and I can test it when needed.

Sometimes the translation simply skips the dialogue.
Usually the glitch occurs after a delay in frames, as if it were a drop in FPS.

My config:
Dell G5 15 5590
RTX 2060
Intel I7 9750
RAM: 32GB
Installed in NVME 2.

Final Fantasy XIV  A Realm Reborn Screenshot 2022 01 24 - 19 23 48 95
Final Fantasy XIV  A Realm Reborn Screenshot 2022 01 24 - 19 24 15 20
Config Plugin
0

Overlay for cutscenes subtitles

Just a small request for the future, in the latest update it seems that cutscene-specific subtitles are now being translated (it appears that the first line of dialog doesn't translate, but then after that, it seems to work, not a big deal but just pointing out), even though in the changelog just says that only quests and descriptions are now working. I don't know if it was the intent but I'm happy that it's now working!

image

The thing is, it has that weird micro-stutter that happens if you translate directly on the original text box UI. I prefer to use the overlay translation for that reason (and for comparing with the original text too, sometimes the translation can be a little funky and helps to learn english). If possible, it could be interesting to have the overlay option to have in cutscenes too, for comparing the text and alleviate the micro-stutter until it doesn't have a fix.

E de qualquer forma, muito obrigado pelo seu plugin, eu já uso a um tempo e agora que estou terminando as expansões, anda ajudando muito tanto a mim quanto meus amigos que não sabem inglês.

Add new Translation Engines

  • Google, // Google Translator (free engine)
  • Deepl, // DeepL Translator
  • Bing, // Microsoft Bing Translator (free engine)
  • Yandex, // Yandex Translator
  • GTranslate, // Uses Google, Bing and Yandex (free engines)
  • Amazon, // Amazon Translate
  • Azure, // Microsoft Azure Translate

Can't use old translation mode

Hi,

I'm trying to use the old translation mode but I can't uncheck the option for the black window which now translates everything.

Translation is not working

From today the translation is not working completely! Until this day, the translation worked 50/50. But today for several hours the plugin has never translated a single message. Pls repair plugin, its a best plugin in game!

[Bug] Cant install plugin - Invalid URI

Dalamud testing is enabled.
Game restarted after enabling testing.
Other plugins, like FPS Plugin, working fine.

I will note, that game running on linux using Lutris, but i think it's not important.

Log:

--------------------------------
17:36:31.919 | DBG [PLUGINM] Installing plugin Echoglossian (testing=True)
--------------------------------
17:36:32.773 | DBG [PLUGINM] Extracting to C:\users\user\AppData\Roaming\XIVLauncher\installedPlugins\Echoglossian\2.0.2109.1305
--------------------------------
17:36:32.790 | VRB [PLUGINM] ZipFile name is null or empty, treating as a directory: C:\users\user\AppData\Roaming\XIVLauncher\installedPlugins\Echoglossian\2.0.2109.1305\es
--------------------------------
17:36:32.799 | VRB [PLUGINM] ZipFile name is null or empty, treating as a directory: C:\users\user\AppData\Roaming\XIVLauncher\installedPlugins\Echoglossian\2.0.2109.1305\Font
--------------------------------
17:36:32.847 | VRB [PLUGINM] ZipFile name is null or empty, treating as a directory: C:\users\user\AppData\Roaming\XIVLauncher\installedPlugins\Echoglossian\2.0.2109.1305\pt-BR
--------------------------------
17:36:32.850 | VRB [PLUGINM] ZipFile name is null or empty, treating as a directory: C:\users\user\AppData\Roaming\XIVLauncher\installedPlugins\Echoglossian\2.0.2109.1305\TempPE
--------------------------------
17:36:32.878 | INF [PLUGINM] Installed plugin Echoglossian (testing=True)
--------------------------------
17:36:32.879 | INF [PLUGINM] Loading plugin Echoglossian
--------------------------------
17:36:32.889 | INF [LOCALPLUGIN] Loading Echoglossian.dll
--------------------------------
17:36:32.967 | VRB [HM] Detected hook trampoline at 1405CE540, stopping jump resolution.
--------------------------------
17:36:32.981 | VRB [HM] Detected hook trampoline at 140E95490, stopping jump resolution.
--------------------------------
17:36:33.109 | ERR [LOCALPLUGIN] Error while loading Echoglossian
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.TypeInitializationException: The type initializer for 'Echoglossian.Echoglossian' threw an exception.
 ---> System.UriFormatException: Invalid URI: The hostname could not be parsed.
   at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
   at System.Uri..ctor(String uriString)
   at System.UriBuilder..ctor(String uri)
   at Echoglossian.Echoglossian.get_AssemblyDirectory() in I:\Dante\tataru-to-dalamud\Echoglossian\Glossian.cs:line 37
   at Echoglossian.Echoglossian..cctor() in I:\Dante\tataru-to-dalamud\Echoglossian\Glossian.cs:line 30
   --- End of inner exception stack trace ---
   at Echoglossian.Echoglossian.set_Common(XivCommonBase value) in I:\Dante\tataru-to-dalamud\Echoglossian\Echoglossian.cs:line 135
   at Echoglossian.Echoglossian..ctor(DalamudPluginInterface dalamudPluginInterface, Framework pframework, CommandManager pCommandManager, GameGui pGameGui, ToastGui pToastGui) in I:\Dante\tataru-to-dalamud\Echoglossian\Echoglossian.cs:line 76
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Dalamud.IoC.Internal.ServiceContainer.Create(Type objectType, Object[] scopedObjects) in C:\goatsoft\companysecrets\dalamud\IoC\Internal\ServiceContainer.cs:line 95
   at Dalamud.Plugin.Internal.LocalPlugin.Load(PluginLoadReason reason, Boolean reloading) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\LocalPlugin.cs:line 315
--------------------------------
17:36:33.111 | ERR [PLUGINW] Plugin installer threw an unexpected error
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.TypeInitializationException: The type initializer for 'Echoglossian.Echoglossian' threw an exception.
 ---> System.UriFormatException: Invalid URI: The hostname could not be parsed.
   at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
   at System.Uri..ctor(String uriString)
   at System.UriBuilder..ctor(String uri)
   at Echoglossian.Echoglossian.get_AssemblyDirectory() in I:\Dante\tataru-to-dalamud\Echoglossian\Glossian.cs:line 37
   at Echoglossian.Echoglossian..cctor() in I:\Dante\tataru-to-dalamud\Echoglossian\Glossian.cs:line 30
   --- End of inner exception stack trace ---
   at Echoglossian.Echoglossian.set_Common(XivCommonBase value) in I:\Dante\tataru-to-dalamud\Echoglossian\Echoglossian.cs:line 135
   at Echoglossian.Echoglossian..ctor(DalamudPluginInterface dalamudPluginInterface, Framework pframework, CommandManager pCommandManager, GameGui pGameGui, ToastGui pToastGui) in I:\Dante\tataru-to-dalamud\Echoglossian\Echoglossian.cs:line 76
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Dalamud.IoC.Internal.ServiceContainer.Create(Type objectType, Object[] scopedObjects) in C:\goatsoft\companysecrets\dalamud\IoC\Internal\ServiceContainer.cs:line 95
   at Dalamud.Plugin.Internal.LocalPlugin.Load(PluginLoadReason reason, Boolean reloading) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\LocalPlugin.cs:line 315
   at Dalamud.Plugin.Internal.PluginManager.LoadPlugin(FileInfo dllFile, LocalPluginManifest manifest, PluginLoadReason reason, Boolean isDev, Boolean isBoot, Boolean doNotLoad) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 547
   at Dalamud.Plugin.Internal.PluginManager.InstallPluginAsync(RemotePluginManifest repoManifest, Boolean useTesting, PluginLoadReason reason) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 499

[Update] 6.2 ?

Do you already have a date for the plugin to be compatible with 6.2?

Cutscenes issues

  1. Translator window (in no replace mod) doesn't pop up in cutscenes.

  2. Replicas that appear without a window (such as in this screenshot) are not translated
    image

Game suddenly close

Hi, thank you for working in this awesome plugin.
It seems that the game closes when a dialog line will appear in the center of the screen.

The visor events give me this error:

imagen

It works perfectly if i disable the addon.
Thank you.

ChatGPT

Olá, eu não sei como funciona a API do ChatGPT, mas não teria como utilizar ela para traduzir os textos do jogo?

Not translating cinematic white text

Would be fine if it could translate the cinematics. Like each team you enter a map the narrator says things in a white characters.

GReat job anyway dude :D

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.