Java .properties localization with AI

Java .properties resource bundles, including Spring messages files.

.propertiesformat: propertiesone file per locale

What it is

Java ResourceBundle files (messages.properties, messages_es.properties) are used by Spring, Android tooling, JetBrains plugins and many JVM apps.

Example

src/main/resources/messages.properties
# Order confirmationorder.confirmed=Your order {0} is confirmed.order.items=You have {0,number,integer} items in your cart.

How Glossa handles it

Plurals
.properties has no native plurals; MessageFormat choice patterns inside values are preserved.
Comments and context
# and ! comments above a key are kept as context.
Placeholders
MessageFormat arguments ({0}) and printf specifiers are protected and checked.
Round trip
Line continuations and \uXXXX escapes are read; non-ASCII is written as \uXXXX only if the original file did so. The header comment block is kept.

Translate it from the command line

Push the source-language file; strings are deduplicated against the rest of your workspace and queued for translation. Pull writes src/main/resources/messages.properties back in the same format.

npx @meterapp/glossa loginnpx @meterapp/glossa push src/main/resources/messages.properties --project appnpx @meterapp/glossa pull --project app --locale es,de,ja

Or ask an agent over MCP: “Push src/main/resources/messages.properties to Glossa and pull Spanish.” It calls push_file and pull_file. See the CLI and MCP guides.

Other formats

Moving from Crowdin? Read the comparison.

Push your first file

Glossa is free for one app. Sign in, push a translation file, and pull it back in every language.