Coder Social home page Coder Social logo

xulihang / basiccat Goto Github PK

View Code? Open in Web Editor NEW
114.0 6.0 20.0 1.52 MB

An open source computer-aided translation tool written in Basic

License: GNU General Public License v2.0

CSS 0.07% VBA 67.64% Java 0.47% Inno Setup 0.63% Shell 0.13% Batchfile 0.02% Visual Basic 6.0 31.05%
computer-aided-translation machine-translation b4j localization translation b4x gettext po xliff

basiccat's Introduction

BasicCAT

Documentation Status

A computer-aided translation tool written in basic.

Visit BasicCAT's homepage to see the detailed description.

How to compile

You need to install B4J to open the project and compile under windows.

For Linux/macOS, you need to use the MonoBuilder.

Libraries Used

BasicCAT cannot be done without the following libraries.

Java Libraries

  • Apache POI for export and import docx. Apache v2 Licensed.
  • Apache PDFBOX for strip PDF text and export PDF to images. Apache v2 Licensed.
  • Apache OpenNLP for lemmatizing words. Apache v2 Licensed.
  • zip4j Apache v2 Licensed.
  • jgit to do git operations. EDL Licensed.
  • SQLite JDBC to use sqlite. Apache v2 Licensed.
  • JavaWuzzy for fuzzy match. GPL v3 Licensed.
  • icu for encoding conversion and detection. Unicode Inc. Licensed.

B4J Libraries

basiccat's People

Contributors

xulihang avatar yfdyh000 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  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

basiccat's Issues

很好用,支持一下。

API无缝衔接多种机器翻译,好多机器翻译还有免费额度。
导入导出直接翻译idml文件,简单到不可思议。
不知道能不能翻译软件界面?

Arabic Language Support RTL Languages

It will very amazing if you add support to RTL languages such as Arabic language
and the second feature is to add Batch Search and Replace with regex support
Thanks

可否新增片段内换行功能

(目前在txt环境下使用,感谢作者的贡献)

目前一行原文仅能使用一行翻译,翻译无法换行,可否新增个ctrl+enter在翻译片段内换行的功能
(像google表单那样,一格里面可以多行文字的感觉)

以及原文片段分割功能可以加个新增功能吗(就算后面是空白,按enter也能新增空行)

最后就是原文分割部份可能单纯以\n分割吗?

例如该行只有一个\n,原文片段就显示空白,翻译片段也显示空白,这样接近原文排版,观感上也较为舒服

机器翻译

图片
机器翻译在安装插件之后不能使用,选中之后就出现截图中的情况。doc搜索后也没有找到解答。

Integrate OpenXLIFF filters, a solution to support more file formats out of the box

One thing BasicCAT seems to be missing is native support for more file formats. The existing support for XLIFF and PO means BasicCAT can translate files processed via Okapi or projects created in some other CATs, but the process is convoluted.

I think it should be made more simple to translate common native file formats such as Word or Excel.

This could be achieved with the inclusion of OpenXLIFF filters, an open source (Eclipse Public License - v 1.0) set of Java filters for creating, merging and validating XLIFF 1.2 and 2.0 files. They support a host of formats: https://github.com/rmraya/OpenXLIFF#supported-file-formats which would made BasicCAT able to handle a lot more formats out of the box.

If an integration is not preferred, you could also include, XLIFFManager (an open source UI for OpenXLIFF Filters written in TypeScript), a simpler tool than Okapi for creating XLIFF files and exporting target files.

老哥,不是我说,感觉挺难用的

首先不知道为什么,各个来源下载的时候总是下不下来。千辛万苦下下来,感觉使用上也不是特别便利。我试着导入一个PDF,分段不智能。而且欢迎节目也没有OmegaT那么好。

需要改进的地方还是挺多,加油吧。我现在这台新电脑至今都没有成功下载下来你们这个软件。已经改用OmegaT了。

RTL Languages Support -Arabic

It will very amazing if you add support to RTL languages such as Arabic language
and the second feature is to add Batch Search and Replace with regex support
Thanks

最新新版本打开项目后弹出异常,之前的版本也有,提示信息见正文

error: (RuntimeException) java.lang.RuntimeException: Object should first be initialized (JavaObject).
StackTrace: java.lang.RuntimeException: Object should first be initialized (JavaObject).
at anywheresoftware.b4a.AbsObjectWrapper.getObject(AbsObjectWrapper.java:32)
at anywheresoftware.b4j.object.JavaObject.getCurrentClass(JavaObject.java:259)
at anywheresoftware.b4j.object.JavaObject.RunMethod(JavaObject.java:119)
at org.xulihang.basiccat.opennlp._tokenize(opennlp.java:230)
at org.xulihang.basiccat.opennlp._lemmatizedsentence(opennlp.java:188)
at org.xulihang.basiccat.term._termsinasentenceusingiteration(term.java:1337)
at org.xulihang.basiccat.term._termsinasentence(term.java:1156)
at org.xulihang.basiccat.project._showterm(project.java:6725)
at org.xulihang.basiccat.project._targettextarea_focuschanged(project.java:7592)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:487)
at anywheresoftware.b4a.keywords.Common.access$0(Common.java:467)
at anywheresoftware.b4a.keywords.Common$CallSubDelayedHelper.run(Common.java:541)
at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)

Exception thrown when oppening a project file the second time

SO: Windows 10 Home Single Languages Version 1909
Java: The one included in the instalation
BasicCAT: 1.9.6

No problems when working in a project and its files the first time, but when I open said project again and select a Project File it will show a messege box with the following:


error: (RuntimeException) java.lang.RuntimeException: Object should first be initialized (JavaObject).
StackTrace: java.lang.RuntimeException: Object should first be initialized (JavaObject).
	at anywheresoftware.b4a.AbsObjectWrapper.getObject(AbsObjectWrapper.java:32)
	at anywheresoftware.b4j.object.JavaObject.getCurrentClass(JavaObject.java:259)
	at anywheresoftware.b4j.object.JavaObject.RunMethod(JavaObject.java:119)
	at org.xulihang.basiccat.opennlp._tokenize(opennlp.java:230)
	at org.xulihang.basiccat.opennlp._lemmatizedsentence(opennlp.java:188)
	at org.xulihang.basiccat.term._termsinasentenceusingiteration(term.java:1337)
	at org.xulihang.basiccat.term._termsinasentence(term.java:1156)
	at org.xulihang.basiccat.project._showterm(project.java:6725)
	at org.xulihang.basiccat.project._targettextarea_focuschanged(project.java:7592)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
	at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:487)
	at anywheresoftware.b4a.keywords.Common.access$0(Common.java:467)
	at anywheresoftware.b4a.keywords.Common$CallSubDelayedHelper.run(Common.java:541)
	at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
	at java.lang.Thread.run(Unknown Source)

The program doesn't crash, but it keeps showing the same message every time I close it. Meanwhile, the rest of the interface remains blocked, so I cannot ignore the message and start working. It happens when translating from English to Spanish, btw.

is it work on windows7

sorry this is not issue but i like to know is it work on windows7
because i was thinking to buy this software

JAVA error

Hello,

This is mi first time attempting to use BasicCAT. I have JAVA installed, but when I try to save my first project the following error appears:

error: (IllegalStateException) java.lang.IllegalStateException: Interval must be larger than 0.
StackTrace: java.lang.IllegalStateException: Interval must be larger than 0.
at anywheresoftware.b4a.objects.Timer.setEnabled(Timer.java:76)
at org.xulihang.basiccat.autosaver._setenabled(autosaver.java:153)
at org.xulihang.basiccat.main._setautosave(main.java:4404)
at org.xulihang.basiccat.main._saveproject(main.java:4252)
at org.xulihang.basiccat.main$ResumableSub_MenuBar1_Action.resume(main.java:3207)
at org.xulihang.basiccat.main._menubar1_action(main.java:2865)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.BA$1.run(BA.java:216)
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$3(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)

Does it depend on me? Thanks.

About youdao api

Did youdao api change recently, but the program has not kept up? I added a meaningful key, but no feedback was returned. Word translation is not good either.

译文的Segmentation出现的几种问题

为了尽量格式带来的减少干扰,我用的是txt格式。导入之后常见的问题是:如果句尾包含数字(其实是word文档的脚注),括号,甚至这种“....”号, 往往会出问题。

如“largely . . . reminding”会变成:
“largely .
.
.
reminding

如果句子结尾是数字,那么前后两句会并在一起。

有没有办法避开这类分句的错误?

Program won't start on windows 10

So using the EXE or launching through the CMD the program just won't launch (Here the cmd info when trying to launch):
D:\PAYED\ImageTrans\ImageTrans\ImageTrans>java -jar ImageTrans.jar
Device locale: en
Found 734 strings.
(ArrayList) []
java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at anywheresoftware.b4j.object.JavaObject.RunMethod(JavaObject.java:132)
at org.xulihang.imagetrans.main._loadopencv(main.java:10308)
at org.xulihang.imagetrans.main$ResumableSub_AppStart.resume(main.java:1364)
at org.xulihang.imagetrans.main._appstart(main.java:1310)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
at org.xulihang.imagetrans.main.start(main.java:37)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$8(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$7(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$4(WinApplication.java:185)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: no opencv_java455 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
... 24 more

Loading jar finished
Initializing plugin abbyycloudOCR
Loading jar finished
Initializing plugin cloudtranslationMT
main.start (java line: 37)
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.NullPointerException
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
at org.xulihang.imagetrans.main.start(main.java:37)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$8(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$7(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$4(WinApplication.java:185)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.NullPointerException
at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:496)
at anywheresoftware.b4a.keywords.Common.CallSubNew3(Common.java:450)
at anywheresoftware.b4a.BA.handleUncaughtException(BA.java:164)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:108)
... 11 more
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:120)
at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:487)
... 14 more
Caused by: java.lang.NullPointerException
at anywheresoftware.b4j.objects.Form.getIcon(Form.java:292)
at anywheresoftware.b4j.objects.JFX.setOwnerAndIcon(JFX.java:178)
at anywheresoftware.b4j.objects.JFX.Msgbox2(JFX.java:222)
at anywheresoftware.b4j.objects.JFX.Msgbox(JFX.java:202)
at org.xulihang.imagetrans.main._application_error(main.java:1204)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
... 15 more

So i need help with this as i just payed the due and i can't even launch it... thanks in advance

无法打开导入的po翻译

导入po文件后点击打开出现'the workfile does not exist.Mayby it's still in building'
image
此文件在poedit可以正常打开

忽略类似内容时弹出错误提醒

error: (IndexOutOfBoundsException) java.lang.IndexOutOfBoundsException: Index: 636, Size: 65
StackTrace: java.lang.IndexOutOfBoundsException: Index: 636, Size: 65
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at anywheresoftware.b4a.objects.collections.List.Get(List.java:105)
at org.xulihang.basiccat.main._changeneglectedstatus(main.java:1265)
at org.xulihang.basiccat.main$ResumableSub_MenuBar1_Action.resume(main.java:3050)
at org.xulihang.basiccat.main._menubar1_action(main.java:2434)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.BA$1.run(BA.java:216)
at com.sun.javafx.application.PlatformImpl.lambda$null$177(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$178(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$152(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)

Todo list 4

  • generate the target file for a single file
  • source editing
  • add a copy source to target shortcut
  • more accurate word count
  • mark segment as non-translatables
  • detect source files' modified time to automatically create workfiles and update them with existing workfiles. This also works when manually adding a file which is newer.
  • automatically replace mistranslated terms in MT results with the right one
  • replace target with source text as a reference (only replace text when there is a match in source)
  • global search and replace
  • recognize terms with other words in between

软件搜索原文(只是搜索了一次),后切换到另外一个.docx文件后,出现报错

软件搜索原文(只是搜索了一次),后切换到另外一个.docx文件后,出现报错,操作系统 win10 20H2 版本,Basiccat 版本1.9.7

error: (RuntimeException) java.lang.RuntimeException: Object should first be initialized (JavaObject).
StackTrace: java.lang.RuntimeException: Object should first be initialized (JavaObject).
at anywheresoftware.b4a.AbsObjectWrapper.getObject(AbsObjectWrapper.java:32)
at anywheresoftware.b4j.object.JavaObject.getCurrentClass(JavaObject.java:259)
at anywheresoftware.b4j.object.JavaObject.RunMethod(JavaObject.java:119)
at org.xulihang.basiccat.opennlp._tokenize(opennlp.java:230)
at org.xulihang.basiccat.opennlp._lemmatizedsentence(opennlp.java:188)
at org.xulihang.basiccat.term._termsinasentenceusingiteration(term.java:1337)
at org.xulihang.basiccat.term._termsinasentence(term.java:1156)
at org.xulihang.basiccat.project._showterm(project.java:6725)
at org.xulihang.basiccat.project._targettextarea_focuschanged(project.java:7601)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:487)
at anywheresoftware.b4a.keywords.Common.access$0(Common.java:467)
at anywheresoftware.b4a.keywords.Common$CallSubDelayedHelper.run(Common.java:541)
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$3(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)

installing issue

i purchase the app and im having trouble installing it i have mac os big sur 11.3

字体无法修改

设置字体点应用之后字体没有变化,重启之后也没有。 Dark主题是生效的。试了几次都是这样。

编译失败

近日偶然发现这个项目,很感兴趣,但自行编译的尝试没有成功。手动下载凑齐了IDE中报告缺失的类库。目前出现下列错误:

B4J 版本号: 9.30
解析代码。    (0.63s)
	Java 版本号: 11
Building folders structure.    (0.21s)
编译代码。    (0.45s)
编译布局文件代码。    (0.04s)
管理类库文件。    (0.00s)
编译生成的Java源码。    (30.81s)
构建Jar文件。    (25.22s)
	创建了Jar文件。 ……\BasicCAT\BasicCAT\Objects\BasicCAT.jar
Building package. Check logs for more information.    Error

……
Explicitly excluded modules: [javafx.web]
Included modules: [java.base, java.datatransfer, java.desktop, java.xml, javafx.base, javafx.controls, javafx.graphics]
Running: ……\jdk-11.0.1\bin\javac
.
.
module-info.java:10: ????: ????? java.sql ?????
uses java.sql.Driver;
         ^
  (????? java.sql ??????? java.sql ??????, ????? b4j δ?????)
1 ??????

不知道是否IDE或者类库的版本问题。

Todo list 1

  1. adding folders to project files
  2. TM and Term sharing
  3. show diff for imported reviews and only show modified segments

Exception when clicking on the Translation Memory section in an empty new project

error: (NullPointerException) java.lang.NullPointerException
StackTrace: java.lang.NullPointerException
at org.xulihang.basiccat.tmmanager$ResumableSub_MatchedItems.resume(tmmanager.java:636)
at org.xulihang.basiccat.tmmanager._matcheditems(tmmanager.java:498)
at org.xulihang.basiccat.tmmanager$ResumableSub_setItems.resume(tmmanager.java:1076)
at org.xulihang.basiccat.tmmanager._setitems(tmmanager.java:1054)
at org.xulihang.basiccat.tmmanager$ResumableSub_init.resume(tmmanager.java:457)
at org.xulihang.basiccat.tmmanager._init(tmmanager.java:434)
at org.xulihang.basiccat.tmmanager._initialize(tmmanager.java:492)
at org.xulihang.basiccat.main._lbl_mouseclicked(main.java:2439)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
at anywheresoftware.b4j.objects.NodeWrapper$1.handle(NodeWrapper.java:93)
at anywheresoftware.b4j.objects.NodeWrapper$1.handle(NodeWrapper.java:1)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3470)
at javafx.scene.Scene$ClickGenerator.access$8100(Scene.java:3398)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3766)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:381)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:417)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:416)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)

How to run BasicCAT on Linux

Hi,

I wanted to test BasicCAT on Linux (Ubuntu 20.04) in order to include it in the list of CAT tools available for Linux in TranslateOnLinux.org.

  1. Running the linux-install.sh resulted in other directories being copied to /opt along with the BasicCAT-crossplatforms folder.
  2. I did not find a readme including the requirements for Linux. Please consider including a readme file :-)
  3. I cannot get the executable file to run, running the BasicCAT.jar or BasicCAT files. Could you please provide more information on running the program on Linux?

Thanks a lot!

Jean

project files won't display

clicking on files under Project Files causes the following three errors and the files fail to display.
i'm using BasicCAT 1.10.5 on ubuntu 22.04.2 LTS with openjdk 17.0.7 2023-04-18 and openjfx 20.0.1.

error: (Exception) java.lang.Exception: java.lang.ExceptionInInitializerError
StackTrace: java.lang.ExceptionInInitializerError
	at org.fxmisc.richtext.ParagraphBox.<init>(ParagraphBox.java:98)
	at org.fxmisc.richtext.GenericStyledArea.createCell(GenericStyledArea.java:1803)
	at org.fxmisc.richtext.GenericStyledArea.lambda$10(GenericStyledArea.java:764)
	at org.fxmisc.flowless.CellPool.getCell(CellPool.java:28)
	at org.fxmisc.flowless.CellListManager.cellForItem(CellListManager.java:90)
	at org.reactfx.collection.MappedList.get(MappedList.java:27)
	at org.reactfx.collection.MemoizationListImpl.get(MemoizationList.java:99)
	at org.fxmisc.flowless.CellListManager.getCell(CellListManager.java:73)
	at org.fxmisc.flowless.CellPositioner.getSizedCell(CellPositioner.java:217)
	at org.fxmisc.flowless.CellPositioner.placeStartAt(CellPositioner.java:127)
	at org.fxmisc.flowless.Navigator.placeStartAtMayCrop(Navigator.java:220)
	at org.fxmisc.flowless.Navigator.visit(Navigator.java:130)
	at org.fxmisc.flowless.StartOffStart.accept(TargetPosition.java:85)
	at org.fxmisc.flowless.Navigator.layoutChildren(Navigator.java:80)
	at [email protected]/javafx.scene.Parent.layout(Parent.java:1208)
	at org.fxmisc.flowless.VirtualFlow.layoutChildren(VirtualFlow.java:257)
	at [email protected]/javafx.scene.Parent.layout(Parent.java:1208)
	at org.fxmisc.flowless.VirtualFlow.visibleCells(VirtualFlow.java:230)
	at org.fxmisc.richtext.GenericStyledArea.<init>(GenericStyledArea.java:801)
	at org.fxmisc.richtext.StyledTextArea.<init>(StyledTextArea.java:35)
	at org.fxmisc.richtext.StyledTextArea.<init>(StyledTextArea.java:47)
	at org.fxmisc.richtext.StyleClassedTextArea.<init>(StyleClassedTextArea.java:25)
	at org.fxmisc.richtext.StyleClassedTextArea.<init>(StyleClassedTextArea.java:37)
	at org.fxmisc.richtext.CodeArea.<init>(CodeArea.java:36)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
	at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347)
	at java.base/java.lang.Class.newInstance(Class.java:645)
	at anywheresoftware.b4j.object.JavaObject.InitializeNewInstance(JavaObject.java:86)
	at org.xulihang.basiccat.richtextarea._designercreateview(richtextarea.java:373)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
	at anywheresoftware.b4j.objects.CustomViewWrapper.AfterDesignerScript(CustomViewWrapper.java:85)
	at anywheresoftware.b4j.objects.LayoutBuilder.loadLayout(LayoutBuilder.java:110)
	at anywheresoftware.b4j.objects.PaneWrapper.LoadLayout(PaneWrapper.java:101)
	at org.xulihang.basiccat.project._addtextareatosegmentpane(project.java:471)
	at org.xulihang.basiccat.project._fillpane(project.java:1894)
	at org.xulihang.basiccat.project$ResumableSub_openFile.resume(project.java:3984)
	at org.xulihang.basiccat.project._openfile(project.java:3830)
	at org.xulihang.basiccat.project._lbl_mouseclicked(project.java:3313)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
	at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
	at anywheresoftware.b4j.objects.NodeWrapper$1.handle(NodeWrapper.java:110)
	at anywheresoftware.b4j.objects.NodeWrapper$1.handle(NodeWrapper.java:1)
	at [email protected]/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
	at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
	at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
	at [email protected]/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at [email protected]/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
	at [email protected]/javafx.event.Event.fireEvent(Event.java:198)
	at [email protected]/javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3684)
	at [email protected]/javafx.scene.Scene$MouseHandler.process(Scene.java:3989)
	at [email protected]/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
	at [email protected]/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2704)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
	at [email protected]/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
	at [email protected]/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
	at [email protected]/com.sun.glass.ui.View.notifyMouse(View.java:937)
	at [email protected]/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at [email protected]/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make com.sun.javafx.scene.text.TextLayout javafx.scene.text.TextFlow.getTextLayout() accessible: module javafx.graphics does not "opens javafx.scene.text" to unnamed module @2c6de7eb
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
	at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
	at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
	at org.fxmisc.richtext.TextFlowExt.<clinit>(TextFlowExt.java:37)
	... 92 more
error: (Exception) java.lang.Exception: java.lang.NoClassDefFoundError: Could not initialize class org.fxmisc.richtext.ParagraphText
StackTrace: java.lang.NoClassDefFoundError: Could not initialize class org.fxmisc.richtext.ParagraphText
	at org.fxmisc.richtext.ParagraphBox.<init>(ParagraphBox.java:98)
	at org.fxmisc.richtext.GenericStyledArea.createCell(GenericStyledArea.java:1803)
	at org.fxmisc.richtext.GenericStyledArea.lambda$10(GenericStyledArea.java:764)
	at org.fxmisc.flowless.CellPool.getCell(CellPool.java:28)
	at org.fxmisc.flowless.CellListManager.cellForItem(CellListManager.java:90)
	at org.reactfx.collection.MappedList.get(MappedList.java:27)
	at org.reactfx.collection.MemoizationListImpl.get(MemoizationList.java:99)
	at org.fxmisc.flowless.CellListManager.getCell(CellListManager.java:73)
	at org.fxmisc.flowless.CellPositioner.getSizedCell(CellPositioner.java:217)
	at org.fxmisc.flowless.CellPositioner.placeStartAt(CellPositioner.java:127)
	at org.fxmisc.flowless.Navigator.placeStartAtMayCrop(Navigator.java:220)
	at org.fxmisc.flowless.Navigator.visit(Navigator.java:130)
	at org.fxmisc.flowless.StartOffStart.accept(TargetPosition.java:85)
	at org.fxmisc.flowless.Navigator.layoutChildren(Navigator.java:80)
	at [email protected]/javafx.scene.Parent.layout(Parent.java:1208)
	at org.fxmisc.flowless.VirtualFlow.layoutChildren(VirtualFlow.java:257)
	at [email protected]/javafx.scene.Parent.layout(Parent.java:1208)
	at org.fxmisc.flowless.VirtualFlow.visibleCells(VirtualFlow.java:230)
	at org.fxmisc.richtext.GenericStyledArea.<init>(GenericStyledArea.java:801)
	at org.fxmisc.richtext.StyledTextArea.<init>(StyledTextArea.java:35)
	at org.fxmisc.richtext.StyledTextArea.<init>(StyledTextArea.java:47)
	at org.fxmisc.richtext.StyleClassedTextArea.<init>(StyleClassedTextArea.java:25)
	at org.fxmisc.richtext.StyleClassedTextArea.<init>(StyleClassedTextArea.java:37)
	at org.fxmisc.richtext.CodeArea.<init>(CodeArea.java:36)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
	at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347)
	at java.base/java.lang.Class.newInstance(Class.java:645)
	at anywheresoftware.b4j.object.JavaObject.InitializeNewInstance(JavaObject.java:86)
	at org.xulihang.basiccat.richtextarea._designercreateview(richtextarea.java:373)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
	at anywheresoftware.b4j.objects.CustomViewWrapper.AfterDesignerScript(CustomViewWrapper.java:85)
	at anywheresoftware.b4j.objects.LayoutBuilder.loadLayout(LayoutBuilder.java:110)
	at anywheresoftware.b4j.objects.PaneWrapper.LoadLayout(PaneWrapper.java:101)
	at org.xulihang.basiccat.project._addtextareatosegmentpane(project.java:471)
	at org.xulihang.basiccat.project._fillpane(project.java:1894)
	at org.xulihang.basiccat.project$ResumableSub_openFile.resume(project.java:3984)
	at org.xulihang.basiccat.project._openfile(project.java:3830)
	at org.xulihang.basiccat.project._lbl_mouseclicked(project.java:3313)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
	at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
	at anywheresoftware.b4j.objects.NodeWrapper$1.handle(NodeWrapper.java:110)
	at anywheresoftware.b4j.objects.NodeWrapper$1.handle(NodeWrapper.java:1)
	at [email protected]/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
	at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
	at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
	at [email protected]/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at [email protected]/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
	at [email protected]/javafx.event.Event.fireEvent(Event.java:198)
	at [email protected]/javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3684)
	at [email protected]/javafx.scene.Scene$MouseHandler.process(Scene.java:3989)
	at [email protected]/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
	at [email protected]/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2704)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
	at [email protected]/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
	at [email protected]/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
	at [email protected]/com.sun.glass.ui.View.notifyMouse(View.java:937)
	at [email protected]/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at [email protected]/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.ExceptionInInitializerError [in thread "JavaFX Application Thread"]
	... 92 more
error: (RuntimeException) java.lang.RuntimeException: Object should first be initialized (JavaObject).
StackTrace: java.lang.RuntimeException: Object should first be initialized (JavaObject).
	at anywheresoftware.b4a.AbsObjectWrapper.getObject(AbsObjectWrapper.java:32)
	at anywheresoftware.b4j.object.JavaObject.getCurrentClass(JavaObject.java:259)
	at anywheresoftware.b4j.object.JavaObject.RunMethod(JavaObject.java:119)
	at org.xulihang.basiccat.richtextarea._length(richtextarea.java:744)
	at org.xulihang.basiccat.richtextarea._settext(richtextarea.java:1057)
	at org.xulihang.basiccat.project._addtextareatosegmentpane(project.java:480)
	at org.xulihang.basiccat.project._fillpane(project.java:1894)
	at org.xulihang.basiccat.project$ResumableSub_openFile.resume(project.java:3984)
	at org.xulihang.basiccat.project._openfile(project.java:3830)
	at org.xulihang.basiccat.project._lbl_mouseclicked(project.java:3313)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
	at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
	at anywheresoftware.b4j.objects.NodeWrapper$1.handle(NodeWrapper.java:110)
	at anywheresoftware.b4j.objects.NodeWrapper$1.handle(NodeWrapper.java:1)
	at [email protected]/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
	at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
	at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
	at [email protected]/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at [email protected]/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at [email protected]/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
	at [email protected]/javafx.event.Event.fireEvent(Event.java:198)
	at [email protected]/javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3684)
	at [email protected]/javafx.scene.Scene$MouseHandler.process(Scene.java:3989)
	at [email protected]/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
	at [email protected]/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2704)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
	at [email protected]/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
	at [email protected]/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
	at [email protected]/com.sun.glass.ui.View.notifyMouse(View.java:937)
	at [email protected]/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at [email protected]/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
	at java.base/java.lang.Thread.run(Thread.java:833)

image

使用外部TM以后,第二次打开工程后,空行不能删除,出现如下错误,

使用外部TM以后,第二次打开工程后,空行不能删除,出现如下错误,

error: (NullPointerException) java.lang.NullPointerException
StackTrace: java.lang.NullPointerException
at org.xulihang.basiccat.opennlp._tokenize(opennlp.java:173)
at org.xulihang.basiccat.opennlp._lemmatizedsentence(opennlp.java:131)
at org.xulihang.basiccat.term._termsinasentenceusingiteration(term.java:1327)
at org.xulihang.basiccat.term._termsinasentence(term.java:1146)
at org.xulihang.basiccat.project._showterm(project.java:5724)
at org.xulihang.basiccat.project._targettextarea_focuschanged(project.java:6482)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:487)
at anywheresoftware.b4a.keywords.Common.access$0(Common.java:467)
at anywheresoftware.b4a.keywords.Common$CallSubDelayedHelper.run(Common.java:541)
at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)

[feature request] 标签格式调整

标签设置更浅的颜色,并无法选中。
在编辑的时候会不小心选择或者修改到格式标签,如果令其为一个部分(而非纯文本)可以避免误操作。

例如:
origin:
image
expected:
image

Default Encoding Used by Okapi Tikal

Okapi Tikal chooses the encoding based on the System's encoding. Sometimes, it will cause an encoding problem. We can use UTF-8 as the default encoding to avoid this problem.

TMemory

error: (NullPointerException) java.lang.NullPointerException
StackTrace: java.lang.NullPointerException
at org.xulihang.basiccat.tmmanager$ResumableSub_MatchedItems.resume(tmmanager.java:636)
at org.xulihang.basiccat.tmmanager._matcheditems(tmmanager.java:498)
at org.xulihang.basiccat.tmmanager$ResumableSub_setItems.resume(tmmanager.java:1076)
at org.xulihang.basiccat.tmmanager._setitems(tmmanager.java:1054)
at org.xulihang.basiccat.tmmanager$ResumableSub_init.resume(tmmanager.java:457)
at org.xulihang.basiccat.tmmanager._init(tmmanager.java:434)
at org.xulihang.basiccat.tmmanager._initialize(tmmanager.java:492)
at org.xulihang.basiccat.main._lbl_mouseclicked(main.java:2432)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
at anywheresoftware.b4j.objects.NodeWrapper$1.handle(NodeWrapper.java:93)
at anywheresoftware.b4j.objects.NodeWrapper$1.handle(NodeWrapper.java:1)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3470)
at javafx.scene.Scene$ClickGenerator.access$8100(Scene.java:3398)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3766)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:381)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:417)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:416)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)

Todo list 5

  • Filter settings (priority, options)
  • Use stemmer to create TM/Term databases' index and process query
  • QA check
  • Better interative translation prediction (utilizing Chinese words segmentation, bilingual dictionaries)
  • Terms should also sync in git repo

Felix CAT Link Obsolete: Alternative Link

In the documentation about Using Felix to Translate Word Files the external link to Felix website is no longer usable, since the Felix app no longer lives there:

The official Felix blog was last updated in 2015. In the August 31, 2015 post, the author announced that Felix became open source and was released on BitBucket:

Felix is now open source

I released Felix as open source software under the MIT license.

The source code can be found here.

But the link to the BitBucket repository is now dead (the repository no longer exists):

After some search, I've come across the following repository on GitHub:

Although it links to the original felix-cat.com website, I have no idea if this repository is by the original Felix author, or if it's an independent fork.

In any case, it might be worth adding some clarifications in the BasicCAT documentation, since Felix can no longer be downloaded from the original website. If the GitHub repository link is usable, it might be worth adding a link to it.

机翻选词能否添加来源标注

勾选多个机翻选项之后,大段划词一次性出现太多结果,不知道结果对应哪个api,而且划词速度过慢的话popup可以占据整个屏幕。

有时划词会出现多个重复结果,例如只勾选了两个api,但是双击选取某一四字词时会出现四个结果。

希望能实现的是,像选定之后会出现一个像这个取词插件的浮动按钮,我想应该会提高划词准度。如果能美化一下取词popup,可以对比不同api机翻结果就更好了。

[feature request] NiuTrans API接口免费开放及域名调整

1. 申请升级niutrans api接口。7月15日之后原接口将无法使用。
2. 建议增加niutrans免费接口,方便个人翻译用户免费使用。

见官方公告(https://niutrans.com/changeDetails)

由于本次更新已将平台域名niutrans.vip变更为niutrans.com,相应地,API接口域名也已同步变更为api.niutrans.com,接口访问地址示例如下:

原网址:http(s)://api.niutrans.vip/NiuTransServer/translation

体验免费API服务请接入免费接口:http(s)://free.niutrans.com/NiuTransServer/translation

支持请求长度:2000字符;

支持QPS数量:3;

用户调用免费接口所产生的字符消耗将不予计费。

希望保持原有服务体验建议接入高级接口:http(s)://api.niutrans.com/NiuTransServer/translation

支持请求长度:5000字符;

支持QPS数量:50;

高级接口将按照用户翻译的字符数量计费。

*如需了解新接口详情,请访问https://niutrans.com/documents/develop/develop_text

niutrans.vip域名的接口将会保留至7月15日,后续将停止服务。为不影响您的正常使用,请在有效期内尽快完成相关工作的调整。

I just started a fresh install and having a error

I guess the newest version of imagetrans is free now and called BasicCat now? I tried to use it to see if it's having less issues but even a new isntall has the error reporter showing up all the time, am I doing it wrong?

Admin rights issue or jav executable

Is it possible to have a windows executable that does not trigger admin rights? Using the cross platform version in a windows 10 machine without admin rights, some of the functions don't seem to work such as import review and search. Am I using it wrongly or this is an issue?

error report

徐老师您好:
我在使用Basic Cat 时得到报错如下,请问如何解决呢?感谢

error: (RuntimeException) java.lang.RuntimeException: Object should first be initialized (Map).
StackTrace: java.lang.RuntimeException: Object should first be initialized (Map).
at anywheresoftware.b4a.AbsObjectWrapper.getObject(AbsObjectWrapper.java:32)
at anywheresoftware.b4a.objects.collections.Map.Get(Map.java:67)
at org.xulihang.basiccat.mt$ResumableSub_youdaoMT.resume(mt.java:1660)
at anywheresoftware.b4a.BA.checkAndRunWaitForEvent(BA.java:136)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:85)
at anywheresoftware.b4a.keywords.Common.CallSub4(Common.java:487)
at anywheresoftware.b4a.keywords.Common.access$0(Common.java:467)
at anywheresoftware.b4a.keywords.Common$CallSubDelayedHelper.run(Common.java:541)
at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
at java.lang.Thread.run(Unknown Source)

Todo list 2

  • use git to collaborate
  • add a combobox to choose dictionary and users can setup their own dictList.txt stored at the project folder
  • Who changed a tm and term and when should be recorded.

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.