Language translation API nodes?

Hi all,

I was just wondering if anyone has tried to implement connection to a language translation API (Eg google translate or one of the many alternatives).

I am working on a project in Belgium in containing text in English, Dutch(Flemish), and French. Currently this is done in the model using Description_EN/…_NL/…_FR parameters which someone will need to fill in with each language.

The content is usually just a short name of what a modeled element is so it would be nice to run a simple word for word translation on all elements in the model and fill the parameters.

The ideal solution would be to use the BuildingSMART ‘Data Dictionary’ as this also links to unique guids for each word/meaning, but this is far from complete…
http://bsdd.buildingsmart.org/docs/

http://bsdd.buildingsmart.org/#concept/details/3vHTQQoT0Hsm00051Mm008

3 Likes

Interesting project…
Created a CAD translator many years ago in AutoCAD VBA.
If you do proceed with this have build it’s own translation database in excel or similar, store terminology etc. where you can then refine for future use.

Hmm… yes you could do it by making and maintaining a dictionary, but I think a direct link to a translation service that is already well maintained would have wider appeal.

This looks interesting;

…but Im not entirely sure how to use it in Dynamo/Python. Install and then define the path in the import part of the code?

Or this one:
https://pythonhosted.org/py-translate/devs/api.html

I wouldn’t rely on a traslator for such a thing. But the ‘Data Dictionary’ or a Data Base can be a good solution.

You may let users extend the Data Bese, if something is missing.

Yes. I have built this for Chinese projects. This was written in C# as an add-in. The add-in uses a simple database in Excel but I’ve started to move it to Google Sheets (very easy to do) to have more projects and people contributing to the database. I had originally thought to use NoSql MongoDB but it didn’t like the characters.

It has a Key Id value, English Value and Chinese Value. I also collect the sheet name and viewports on sheets in the Revit project to translate.

In Revit we use a family with parameters for id, English and Chinese.

  • If the key is found in the database it will place English and Chinese in Revit.
  • If the English value is found in the database it adds the key and Chinese to Revit.
  • If the English value is not found it appends it to be translated and creates a key.

Sheets and viewports:

  • Id is sheet number or viewport sheet number and detail number.
  • These items are tracked if added or removed translated or not.

I have this project on my GitHub. I’m working on making this project more robust here in the office, but I have so many project that this has been put on hold for a bit.

5 Likes

The Data Dictionary or Database would be a better solutions as it store the correct terminology for translation.
This was why I built the old VBA one like this, online translators can’t translate terminology used in design… At least that’s what I found.
Good luck with it,