Git Product home page Git Product logo

swordfish's Introduction

Swordfish

Swordfish logo

An advanced CAT (Computer Aided Translation) tool based on XLIFF Standard that supports MS Office, DITA, HTML and other document formats.

Swordfish uses TM (Translation Memory) and MT (Machine Translation). Supports segment filtering, terminology, customization and more.

Swordfish Running on macOS

Licenses

Swordfish is available in two modes:

  • Source Code
  • Yearly Subscriptions for installers and support

Source Code

Source code of Swordfish is free. Anyone can download the source code, compile, modify and use it at no cost in compliance with the accompanying license terms.

You can subscribe to Maxprograms Support at Groups.io and request peer assistance for the source code version there.

Subscriptions

The version of Swordfish included in the official installers from Maxprograms Download Page can be used at no cost for 30 days requesting a free Evaluation Key.

Personal Subscription Keys are available in Maxprograms Online Store. Subscription Keys cannot be shared or transferred to different machines.

Subscription version includes unlimited email support at [email protected]

Differences sumary

Differences Source Code Subscription Based
Ready To Use Installers No Yes
Notarized macOS launcher No Yes
Signed launcher and installer for Windows No Yes
Restricted Features None None
Technical Support Peer support at Groups.io - Direct email at [email protected]
- Peer support at Groups.io

Related Projects

Requirements

Building

  • Checkout this repository.
  • Point your JAVA_HOME environment variable to JDK 21
  • Run ant to compile the Java code
  • Run npm install to download and install NodeJS dependencies
  • Run npm start to launch Swordfish

Steps for building

  git clone https://github.com/rmraya/Swordfish.git
  cd Swordfish
  ant
  npm install
  npm start

This video shows how to build and launch Swordfish: https://www.maxprograms.com/tutorials/SwordfishIV_build.mp4

Compile once and then simply run npm start to start Swordfish

swordfish's People

Contributors

rmraya 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

Watchers

 avatar  avatar

swordfish's Issues

Issue on exporting translation

Translation:

At first, I was able to export the translation when I was starting out. However, I can no longer export the translation. I receive the error: Cannot invoke "com.maxprograms.xml.XMLNode.getNodeType()" because "" is null. Does Swordfish have any kind of log? I need to know which line is causing this error.

Document not opened in the right order

Hi, once i open an IDML document, the document doesn't open in the right order, for example, it start picking from day 29, then pick some text from day 30 etc. the right format ought to be from day 1 to day 2 to ... till day 31st

Project creation error

When trying to create a new project a get the following Java error message in the console, and the project creation dialogue stays on forever without the project being created:

stderr: May 07, 2024 12:50:49 PM com.maxprograms.swordfish.ProjectsHandler handle
GRAVE: Error processing project /projects/create
org.json.JSONException: JSONArray[0] is not a JSONObject (class java.lang.String : C-E4-849051-sz400).
at json/org.json.JSONArray.wrongValueFormatException(JSONArray.java:1708)
at json/org.json.JSONArray.getJSONObject(JSONArray.java:481)
at swordfish/com.maxprograms.swordfish.ProjectsHandler.sortProjects(Unknown Source)
at swordfish/com.maxprograms.swordfish.ProjectsHandler.loadProjectsList(Unknown Source)
at swordfish/com.maxprograms.swordfish.ProjectsHandler.handle(Unknown Source)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)
at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:101)
at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:871)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)
at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:847)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)

I have seen that the following Javascript error is being thrown, too:

imagen

exported document truncates extreme amount of necessary untranslated texts

image

the original document is on the left and the exported one is on the right

Kindly have it a look closer.
You should notice extreme amount of texts are cut from the "Researchers around the world...." paragraph on the exported document.
Turns out it doesn't happen only on that paragraph, it happens on other paragraphs too

Refresh/update the source file

Hi,

I'm translating .idml files exported by Adobe InDesign and sometimes need to update the original document.
Is there any way to tell Swordfish to reload the original document to update the segments ? Currently I'm saving my translations to a memory that I re-apply to a new import of the project file, but that requires me to validate all the segments every time.

Thanks

Tags in target are mishandled if they are not present in source

Preconditions

XLIFF file (attached) containing tags in target that are not present in source (line breaks added for readability):

<trans-unit resname="PQ_10_es" id="33301">
  <source><ph id="0">&lt;p&gt;</ph>For each of the areas listed below, please indicate the extent to which
    <ph id="1">&lt;u&gt;</ph>you currently need<ph id="2">&lt;/u&gt;</ph> professional learning activities.
    <ph id="3">&lt;/p&gt;</ph></source>
  <target><ph id="0">&lt;p&gt;</ph>Indique en qué medida 
    <ph id="4">&lt;span style='text-decoration: underline;'&gt;</ph>necesita<ph id="5">&lt;/span&gt;</ph> 
    actualmente aprendizaje profesional 
    <ph id="6">&lt;span style='text-decoration: underline;'&gt;</ph>pesonalizado<ph id="7">&lt;/span&gt;</ph> 
    en las siguientes áreas.<ph id="3">&lt;/p&gt;</ph></target>
</trans-unit>

Steps to reproduce

  1. Open XLIFF file in Swordfish
  2. Edit the translation (without touching tags) and confirm the segment.
  3. Projects > Export translations

Expected results

  1. The editor shows 4 tags in the source text, i.e. [1 [2-3] 4] and 6 tags in the target text, i.e. [1 [5-6] [7-8] 4]
  2. The text changes, the tags are unaltered
  3. Placeholders in the output XLIFF file are the same as in the input XLIFF file.

Actual results

  1. As expected in source. The editor shows 6 tags in the target text but these are [1 [2-3] [4-1] 2]

  2. As expected.

  3. Placeholders in the output XLIFF file are mishandled:

    • placeholders <ph id="4">&lt;span style='text-decoration: underline;'&gt;</ph> and <ph id="5">&lt;/span&gt;</ph> are replaced with <ph id="1">&lt;u&gt;</ph> and <ph id="2">&lt;/u&gt;</ph>
    • placeholder <ph id="6">&lt;span style='text-decoration: underline;'&gt;</ph> is replaced with <ph id="3">&lt;/p&gt;</ph>
    • placeholder <ph id="7">&lt;/span&gt;</ph> is removed
    • placeholder <ph id="3">&lt;/p&gt;</ph> is removed

The target XLIFF looks like this:

<trans-unit resname="PQ_10_es" approved="yes" id="33301">
  <source><ph id="0">&lt;p&gt;</ph>For each of the areas listed below, please indicate the extent to which 
    <ph id="1">&lt;u&gt;</ph>you currently need<ph id="2">&lt;/u&gt;</ph> professional learning activities.
    <ph id="3">&lt;/p&gt;</ph></source>
  <target><ph id="0">&lt;p&gt;</ph>Indique en qué medida 
    <ph id="1">&lt;u&gt;</ph>necesita<ph id="2">&lt;/u&gt;</ph> 
    actualmente aprendizaje profesional 
    <ph id="3">&lt;/p&gt;</ph>personalizado en las siguientes áreas.</target>
</trans-unit>

Files

xliff.zip

Further info

When hovering over tags in the target text, the tooltips show the following:

Tag Placeholder Ok? Comment
1 <ph id="0">&lt;p&gt;</ph> y
2 <ph id="1">&lt;u&gt;</ph> ? Takes placeholder from source
3 <ph id="2">&lt;/u&gt;</ph> ? Takes placeholder from source
4 <ph id="3">&lt;/p&gt;</ph> N Takes placeholder from source
1 <ph id="7">&lt;/span&gt;</ph> ? Shows placeholder in target but is removed in output
2 <ph id="3">&lt;/p&gt;</ph> y Shows same placeholder as tag 4 and is removed in output

JS error after the binary starts

Running the most recent binary

Swordfish 5.0.2 Build: 20240303_1649
OpenXLIFF 3.18.0 Build: 20240224_1553
XMLJava 1.7.0 Build: 20240210_0953
Java 21.0.2 Vendor: Eclipse Adoptium
Electron 29.1.0

under

Operating System: Kubuntu 23.04
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8
Kernel Version: 6.2.0-39-generic (64-bit)
Graphics Platform: X11

Right after I run swordfish, the main window opens, the info pop-up shows, and that's followed by the error msg below.

Screenshot_20240315_014604

I've been able to install a translation memory, but when I define a project and I'm forced to add file (whether I use the simple or the complex dialog, whether plain text or .odt as the input file, whether I select the memory or not), swordfish hangs with the information "Creating Project" and a spinning cursor.

Full output below.

$ Mar 15, 2024 1:50:15 AM com.maxprograms.swordfish.CheckURL checkURL
INFO: ready

(Swordfish:43780): Gtk-WARNING **: 01:50:15.963: Theme parsing error: gtk.css:1649:16: '-gtk-icon-size' is not a valid property name

(Swordfish:43780): Gtk-WARNING **: 01:50:15.963: Theme parsing error: gtk.css:1652:16: '-gtk-icon-size' is not a valid property name

(Swordfish:43780): Gtk-WARNING **: 01:50:16.106: Theme parsing error: gtk.css:1649:16: '-gtk-icon-size' is not a valid property name

(Swordfish:43780): Gtk-WARNING **: 01:50:16.106: Theme parsing error: gtk.css:1652:16: '-gtk-icon-size' is not a valid property name
[43856:0315/015016.219553:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.219726:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.219898:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.220000:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.220154:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.220264:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.220396:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.220465:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.220551:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.220599:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.220681:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.220724:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.220805:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.220848:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.220937:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.220971:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.221045:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.221081:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.221154:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.221187:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.221261:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.221294:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.221367:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.221401:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.221474:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.221517:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.221591:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.221626:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.221700:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.221733:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.221825:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.221866:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.221943:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.221986:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.222061:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.222094:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.222167:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.222201:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.222273:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.222306:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.222380:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.222414:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.222488:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.222521:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.222594:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.222627:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.222702:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.222735:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.222809:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.222842:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.222915:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.222947:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.223020:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.223052:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.223125:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.223159:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.223232:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.223267:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.223340:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.223382:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.223477:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.223513:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.223620:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.223671:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.223772:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.223866:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.224016:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.224077:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.224189:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.224252:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.224365:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.224425:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.224529:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.224586:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.224698:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.224757:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.224868:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.224922:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
[43856:0315/015016.225024:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: No such file or directory (2)
[43856:0315/015016.225072:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: No such file or directory (2)
stderr: Mar 15, 2024 1:50:16 AM com.maxprograms.swordfish.ProjectsHandler handle
SEVERE: Error processing project /projects/list
org.json.JSONException: JSONArray[0] is not a JSONObject (class java.lang.String : Compars-PL).
        at json/org.json.JSONArray.wrongValueFormatException(JSONArray.java:1708)
        at json/org.json.JSONArray.getJSONObject(JSONArray.java:481)
        at swordfish/com.maxprograms.swordfish.ProjectsHandler.sortProjects(Unknown Source)
        at swordfish/com.maxprograms.swordfish.ProjectsHandler.loadProjectsList(Unknown Source)
        at swordfish/com.maxprograms.swordfish.ProjectsHandler.handle(Unknown Source)
        at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)
        at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
        at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:101)
        at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:871)
        at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:98)
        at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:847)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)

Thanks.

Despite ANT_HOME, JAVA_HOME set, and added to PATH, the build fails at line 45

I am wondering if it has to do with the way java.home has been named?
I'm just using Powershell with admin privs to run the commands, no Eclipse or anything.
The Swordfish directory was cloned to C:
Ant is also in C:
Java is installed where the AdoptOpenJDK installer put it (C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot)

Here is the error message:

`compile:
[delete] Deleting: C:\Swordfish\jars\swordfish.jar
[javac] Compiling 36 source files to C:\Swordfish\out
[jar] Building jar: C:\Swordfish\jars\swordfish.jar

link:

BUILD FAILED
C:\Swordfish\build.xml:45: Problem: failed to create task or type link
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any / declarations have taken place.

Total time: 4 seconds`

I've looked high and low, but nothing has helped.

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.