How Do I Develop?
Beebox is translation software that was built by developers for developers. We know how hard it can be to integrate third party products or libraries. Therefore, our design goal was to make your life as easy as possible. In this chapter we outline the multiple means to interface with Beebox. We encourage you to choose the methods and options that you feel most comfortable with.
File Copy
Integration truly is simple with the File Copy option. With this feature, you can copy files requiring translation directly to the “IN” directory, wait, and then fetch translations from the “OUT” directory. If Beebox is located on a server, you may do this transfer using a Windows file-share, FTP, Dropbox, or other file sharing system. For evaluating Beebox, we suggest you install it on your development PC.
Web API
If copying files sounds too “primitive” in your ears, then please check out the web-based API. In most scenarios, you usually only need 6 to 10 methods to complete translation objectives. By default, the API listens on port 8089. The first method you will need to use in the web-based API establishes a connection and obtains a connection token. Here are a few examples:
To connect:
(GET) http://localhost:8089/api/connect?project=...&login=myname&password=whatever
To send a file to the “IN” directory, use:
(PUT) /api/files/file?token=...&locale=en-US&folder=&filename=products\product1.xml
To poll which files have been fully translated and ready in “OUT”, use:
(GET) /api/workprogress/translatedfiles?token=...
To download a translated file, use:
(GET) /api/files/file?token=...&locale=fr&folder=&filename=products\product1.xml
There are many more API calls such as for obtaining cost quotations.
With each source file you save to the “IN” directory, you can include a so-called “instructions file”. This optional Json formatted file, lets you:
- Specify the target languages for translation. By default, a file is translated into all project target languages. This is helpful in instances where certain content must be translated into certain specified languages.
- Specify a deadline for human translation steps.
- Request alignment of source file and translated file(s)
- Include meta-information
Web Callbacks
You can configure Beebox to call a web URL with any important events. For example, Beebox can notify your systems when a file was translated and saved to the “OUT” directory.
The callback mechanism makes it unnecessary to poll Beebox at regular intervals in order to know whether translations have arrived.
PowerShell Scripts
PowerShell scripts are another mechanism that will prove to be beneficial in certain integration scenarios. You can develop a script that is automatically executed by Beebox whenever new files to translate are received and whenever files have been translated.
The script can be used to transfer translated files to another server or location, to initiate an FTP, or to do whatever is needed to integrate translations into your systems.
Microsoft.Net Extensions
Extend Beebox functionality using c# and Visual Studio. You can code translation algorithms, custom filters and more, and upload your code to a Beebox.
From a developer point of view, things are quite straightforward: Start with creating a class library project in Visual Studio. Add one class per extension. Finally, you compile your project and upload the dll to the Beebox server.
Email notifications
Finally, Beebox can send out email notifications, such as “File translated”, “Texts sent to translator”, “Texts received from translator”, etc. for easy identification of a translation’s current status.