Seeking Feedback on Translation Management UI for App Inventor

Hi everyone,

I’m currently exploring ideas for a possible Translation Editor UI in App Inventor and wanted to gather community feedback from a user perspective.

The goal of this discussion is mainly around:

  • UI/UX ideas
  • workflow expectations
  • how translation management should feel inside App Inventor

Some questions I’d love feedback on:

  • How should a translation editor look and behave?

  • What would make managing translations easier for you?

  • How should translation keys be represented?

    • Human-readable?
    • Auto-generated?
    • Grouped by screen/component?
  • Should translations be shown in a table/grid layout?

  • What would make the feature beginner-friendly?

  • How should multiple languages be managed?

  • What problems would you expect while working with translations?

I’d also love to see UI concepts/mockups from the community.

You can even use AI-generated UI ideas/mockups if you want — would be interesting to see different approaches and workflows people prefer.

Here’s an early UI direction/mockup I’ve been exploring:

Looking forward to hearing your ideas and suggestions :slightly_smiling_face:

@ewpatton can you please tag power users for their recommendation on this.

A few suggestions that could make this even more powerful:

1. Merge "No. 4" into "No. 1"

Instead of keeping them separate, they can be combined.

Keep only:

  • Key
  • Scope (previously "Type")

For Scope, we can have:

  • Global → for project-wide keys
  • ScreenName → for screen-specific keys (using the actual screen name)

This keeps things simpler and cleaner.


2. Frozen + Scrollable Columns

It would be great if only the language columns were horizontally scrollable, while these columns stay frozen:

  • Key
  • Scope

This makes navigation much easier when working with many languages.

Example of what I mean:
ThMLT Chrome Extension Example

(The color table there demonstrates how some columns stay fixed while others scroll.)


3. Import / Export Feature

An import/export feature would be extremely useful.

Use case 1 — Multiple AIA files

Sometimes we create multiple AIA files for testing a single project. With import/export, we could easily move translations between projects.

Use case 2 — Translation contributors

Contributors could work on translations separately, export their work, and then we could simply import it into the main project.

This would make collaboration much easier.

Very good!

Don’t forget portuguese, please.

Ana Maria

Some components that require translations have extra complications in their blocks' parameters.

For example, I found it hard to translate Notifiers that offer choices, because the choice text values had to match across the issuance of the choice to the user and the event that received the choice and fed it to an if/then tree to check the user choice value against text constants in the appropriate language.

I have found trying to debug the code of people who spoke non-English languages the most frustrating when i encountered variable names and Label Texts out of the reach of my available translation tools.

(sample abandoned translation attempts:

blocks_translate_toolbox.aia (32.6 KB)

translator_every_component.aia (8.3 KB)

You will probably need ways to put a limit to the translations when you bump up against

  • data base keys
  • relational table names
  • TinyDB NameSpaces
  • relational integrity
  • SQL keywords
  • non-user languages (javascript, html, URLs...)

I find your mockups too wide for my screens.

(I am assuming your 2 by 2 sample is 4 mockups side by side).

Perhaps Portrait mode on my phone has spoiled me.

I feel compact UI is much better and identical to that of Android Studio.

I've personally used Android Studio's translation feature and find it quite intuitive. The workflow is simple, you write text in your primary language and then handle i18n through strings.xml. But the best part is that Android Studio automatically suggests extracting string literals from your code so you don't have to manually create resource IDs yourself. Something like this in App Inventor would be really helpful.

I think auto-generated but editable is the way to go. Auto-generation reduces friction, but letting users rename them keeps things manageable.

A table layout works well for displaying translations. Keys should be fixed on the left while language columns are scrollable, similar to what @hridoyhb mentioned. There will often be keys with no translation for certain languages. The UI should handle this clearly.

Like keys should be fixed and then the languages or table header should be expandable and scrollable so that one can add languages easily. It might also be possible that there can be no translation for multiple keys in some languages. It is necessary to handle this.

Manually creating keys is the biggest pain point. If it can auto-detect text across components and suggest keys automatically, that would make the whole feature much more beginner-friendly.

1 Like