Hi!
I’m working on the creation of a knowledge management system for an international team in Coda.
MUST-HAVE FEATURES:
Multi-language translation
Content to be updated easily
I’ve created a doc and added the Google Translate pack.
The content table have 1000 rows.
I use a filter formula (using as reference the row ID) to retrieve the content in the different topic page. Example below:
if(Select_Language=“Italian”, Filter([Content Table], [Row ID] = 1).[Original Content Column] ,Filter([Content Table], [Row ID] = 1).[Translated Content Column])
ISSUE:
Once a different language has been selected, it takes about 20 minutes to translate the doc.
Do you have any tip to optimise the doc speed? Or a different solution to achieve the goal?
I would really appreciate your help!
Thank you!
Hello @Carmelo_Cascone
I tried to reproduce your situation, but I did not encounter any problems.
Here is an example with 1,000 rows containing random sentences. The subpage “Text” includes a control to change the language. One difference in my approach is that I added a column to retrieve the selected text based on the control, instead of using an if
statement repeatedly. Additionally, I used the Nth()
formula instead of filtering by ID.
The first translation is indeed slow, but once loaded, I did not experience significant delays. Based on this, I have a few questions:
- How long is the text in each row?
- How often does the text change?
- Does my example accurately reflect your scenario?
Playable doc: Translation · Demos
Hi @Felipe_Arnhold ,
thank you so much for your contribution!
Your Demo pretty much reflects my case. Just few consideration:
- SelText column definitely simplifies the formula in the translation page
- Nth() operator in case of new rows added to the table, between existing ones, would shift the content in the main page thus chosen style/formatting for each line in the translation page, Row ID gives a unique reference for each row instead
Overall:
first syncing is very slow and if the page is closed+reopened/refreshed, this would take place again giving a bad UX to user. (We plan to have 10+ users at the same time with personal language selection).
Conclusion:
still looking for a solution that could help us in achieving our goal.
Thank you so much!
Hi Carmelo,
Do you have a fixed number of languages? If so, have you tried “saving” translations, so that the system only needs to translate once into a specific language.
P
Hi @Piet_Strydom,
thanks for your response!
That’s my plan b actually! Static Translation and ticketing system to collect content update request and then periodically fix content/translation in batches.
We are a startup so the content in the knowledge management system is rapidly evolving, that’s why I am looking for a more dynamic solution.
Thanks!
Carmelo
I was thinking of something like the following:
You have two tables, Source Language Content, and Translated Language Content. If you have 5 destination languages, you will have 6 times more rows in the Translated table than the source table.
When you add new content, you do so in the Source table. You click on a button, that will translate into the 5 languages, and post into the Translated table. Because you post the RESULT of the formula into the Translated table, and not the formula, the formula only gets executed once, when the button is pushed. The translations are available for all subsequent loads of the doc, without any need for re-translations. (Unless you change the source - if you do, you just re-click on the button(s) needed so the Translated table gets updated.
If you think that you might need to add a language in the future, add a check table for languages already translated. Then if you add a new language, the Translate Button can look at what has already been translated, and only translate the new language(s).
Does that give you ideas?
Piet
2 Likes