Lingo.dev + .properties (Java)

Lingo.dev CLI traduit les fichiers .properties Java tout en préservant la structure clé-valeur, les séquences d'échappement et les conventions de localisation Java. Le CLI fonctionne parfaitement avec le système ResourceBundle de Java, maintient exactement le format des fichiers properties, gère correctement l'échappement Unicode et des caractères spéciaux, préserve les placeholders {0}, {1} pour MessageFormat, et s'intègre aux processus de build Maven et Gradle.

Configuration rapide

Configuration pour les fichiers properties Java :

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de"]
  },
  "buckets": {
    "properties": {
      "include": ["src/main/resources/messages_[locale].properties"]
    }
  }
}

Rappel : [locale] est un placeholder qui doit rester littéralement dans la configuration, car il est remplacé par la locale réelle pendant l'exécution du CLI.

Traduire les fichiers Properties

npx lingo.dev@latest i18n

Préserve le format des fichiers properties, les séquences d'échappement et les conventions spécifiques à Java tout en traduisant les valeurs.

Structure des fichiers Properties

Paires clé-valeur basiques

welcome.message=Welcome to our application
login.button=Log In
logout.button=Log Out
error.invalid.credentials=Invalid username or password

Organisation des espaces de noms


# Authentication messages

auth.login.title=Sign In
auth.login.subtitle=Enter your credentials
auth.register.title=Create Account
auth.forgot.password=Forgot Password?

# Navigation items

nav.home=Home
nav.dashboard=Dashboard
nav.settings=Settings

Placeholders MessageFormat

welcome.user=Welcome back, {0}!
items.count=You have {0} items in your cart
validation.min.length=Field must be at least {0} characters long
date.format=Today is {0,date,short}

Fonctionnalités spécifiques à Java

Séquences d'échappement Unicode

japanese.greeting=\u3053\u3093\u306b\u3061\u306f
euro.symbol=Price: 100\u20ac

Les échappements Unicode sont préservés pendant la traduction.

Continuation de ligne

long.message=This is a very long message that \
    spans multiple lines for better \
    readability in the source file

Échappement des caractères spéciaux

file.path=C:\\Users\\Documents\\file.txt
key.with.spaces=key\ with\ spaces=value with spaces
special.chars=Contains \= equals and \: colons

Configuration avancée

Fichiers de propriétés multiples

"properties": {
  "include": [
    "src/main/resources/messages_[locale].properties",
    "src/main/resources/validation_[locale].properties"
  ]
}

Verrouiller les clés de configuration

"properties": {
  "include": ["src/main/resources/messages_[locale].properties"],
  "lockedKeys": ["app.version", "build.timestamp", "api.endpoint"]
}