Jump to content
IGNORED

LinguaXE - Google translator for Atari XL/XE


amarok

Recommended Posts

LinguaXE is my first program which uses FujiNet. Its main purpose is to support Google translate functionality for Atari XL/XE.

 

 

It is very early work in progress demo which is relatively simple yet.

 

On my TODO list I have some ideas for additional features and improvements.

For example there will be possiblity to type of international characters.

It will give possiblity to set the source language different than English.

Also I need to implement error handing routines in case of lack of FujiNet, Internet, Google translate service, etc.

 

The program is implemented in MadPascal using @bocianu libraries dedicated for FujiNet.

 

Some day I will release the program with its source codes.

I will keep you informed about the progress of development in this thread.

 

  • Like 26
  • Thanks 6
Link to comment
Share on other sites

21 hours ago, Beeblebrox said:

Amazing work and a great example of using the Fujinet. :)

I have been tempted for a long time to write something for FujiNet - it is so cool device :)

 

5 hours ago, Philsan said:

I suppose it's not possible to use DeepL instead of Google.

Actually, my first attempt was focused on DeepL. To use their API you need provide an authorization key which can be obtained on their site after registration. But there is a catch, you need to give them your credit card information:

Quote

We need your credit card information in order to prevent misuse of our free API, in particular to prevent fraudulent multiple registrations. Your credit card won't be charged unless you manually upgrade to DeepL API Pro.

I would like rather to avoid it, so I decided to not use DeepL for now. But of course it is still relatively easy to implement.

 

4 hours ago, invisible kid said:

Awesome font

I use unifont obtained from the following link: https://unifoundry.com/unifont/

  • Like 4
Link to comment
Share on other sites

  • 1 month later...

It's been a while since the last news about LinguaXE.
In the meantime, I managed to introduce support for typing international characters from the Atari keyboard.
I have prepared 3 keyboards that can be switched with the Option key - Latin, Phonetic Cyrillic and Phonetic Greek.
Special characters are entered by Control + the key with the appropriate letter.
For example:

  • for the Latin keyboard Ctrl+A gives access to the characters à á â ã ä å æ ā ă ą,
  • for the Cyrillic keyboard, Ctrl+G allows you to choose between ѓ ґ ғ,
  • for Greek keyboard Ctrl+I gives ί ΐ ϊ characters.

 

So far I haven't been able to solve the problem with limiting the length of the request to 256 characters.
Therefore, the screen shows a counter of available bytes for entering text.
The program makes sure that the allowed length of the text is not exceeded.

 

Theoretically, I could solve the problem of query length limitation by using the HTTP POST method instead of GET.
Unfortunately, the Google translation server does not accept this form of communication.
One solution is to find another translation engine that uses the POST method.

 

On the other hand, maybe in the future FujiNet's GET method won't have a limit of 256 bytes for URL.

  • Like 12
Link to comment
Share on other sites

  • 3 weeks later...

I prepared a newer version of LinguaXE containing some improvements and error handling.

In this version you can find fine-tuned GUI including tips for keyboard operations.

I also added a splash screen containing "Atari" words formed in various writing systems.

 

 

This is also the first public version which you can download and test on your own, if you wish.

However, I would like to note that the program has never been tested on the real FujiNet.

I expect there might be some issues that I was not able to catch under Altirra emulator.

 

Below you can find some information about program usage.

The text to be translated can be typed using one of the three built-in keyboards.

The keyboard can be changed between Latin, Phonetic Cyrillic, and Phonetic Greek by pressing the Option key.

I attached a pdf file containing a simple instruction about mapping of keys to international characters.

 

By pressing the Return key you can send a translation request and get back the result from Google server.

If the request is handled correctly, the translated text will appear at the bottom half of the screen.

Otherwise, an error message with the number appears.

 

By pressing Select key you can open a window for selecting languages for translation.

The source language is selected on the first screen and the target language on the second one.

By pressing a key with a letter from A to Z, you can select the language which name begins with that letter.

The Return key confirms your selection.

 

After the translation result is displayed, you can edit the text again just by typing the text.

You can also clear the editor by pressing the Clr key.

To exit the program you can press the Esc key.

 

Have fun with translation!

 

linguaXE_v0.3.atr LinguaXE keybord layout.pdf

  • Like 12
Link to comment
Share on other sites

1 hour ago, Dinadan67 said:

Can all nebrew letters be displayed with a 8 pixel wide font?

Yes, all characters in Hebrew have 8 pixel width in this font.

 

1 hour ago, Dinadan67 said:

I suppose hebrew and arabic will need a special implementation because these languages are written from right to left.

Indeed, there is a problem with direction of printing and writing of text.
Especially it would be challenging to print and write text with mixed systems like Hebrew and English.
In such a case the direction would change between right->left and left->right.
Please take a look for the following article about bidirectional texts:
https://medium.com/@rowan/bidirectional-text-for-beginners-f0c5bc1cd97a

 

But it is not the only problem. In Hebrew there are diacritics which are coded as a separate characters.
Diacritics should be printed at the same position where the corresponding character is located.
In such a case the cursor position is not changed when the diacritic character is printed.

 

Please consider word "עִבְרִית" which means Hebrew.
In utf-16 it is coded as U+05e2 U+05b4 U+05d1 U+05b0 U+05e8 U+05b4 U+05d9 U+05ea.
The interpretation of particalar characters is as follows:
U+05e2 ע
U+05b4  ִ
U+05d1 ב
U+05b0  ְ
U+05e8 ר
U+05b4  ִ
U+05d9 י
U+05ea ת

 

2 hours ago, ndary said:

Hebrew is Missing :(

Therefore for now I don't plan to implement support for bidirectional texts. It would quite challenging to introduce such functionality to LinguaXE.

Edited by amarok
  • Like 1
Link to comment
Share on other sites

hmmm, I thought pronunciation changed the meaning or context of some words in Hebrew. Having the 8 bit translate Hebrew would still be awesome though, being able to study historical texts on the 8 bit would be pretty nifty.

It didn't occur to me modern Hebrew was a thing. Like all things, people change with time, and in the USA mostly no one really speaks or writes Hebrew outside of ceremony or ritual. Though some areas do exist where it's way more prominent.

  Very interesting and might I add cool idea. Hoping for the best.

Edited by _The Doctor__
Link to comment
Share on other sites

3 hours ago, ndary said:

Hi Amarok, and if you disregard the diacritic characters, will it make the task easier?

It would a bit easier to abandon diacritics. But still the most challenging part is to properly render text and move cursor in editor in case of bidirectional contents. Of course I don't give up, but for now I do not have enough time to investigage and implement the algorith from the link I put before.

 

Anyway, I agree that it would be great to do it for 8-bit Atari :)

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...