Skip to main content
AI agent network visualization

Terjemah Fail-fail Flutter ARB dalam Beberapa Saat

Metadata kekal utuh. Ruang letak dikekalkan. Bentuk jamak betul mengikut CLDR. Fail ARB anda diterjemahkan tanpa merosakkan flutter gen-l10n.

Terjemahan ARB Merosakkan Binaan Flutter

Fail ARB kelihatan seperti JSON, tetapi bukan. Fail ini membawa entri metadata berawalan @, takrif ruang letak dengan anotasi jenis, dan bentuk jamak ICU yang perlu mengikut peraturan CLDR dengan tepat. Alat terjemahan umum merosakkan semuanya—dan flutter gen-l10n gagal tanpa mesej atau memaparkan ralat yang sukar difahami.

Entri metadata berawalan @ diterjemahkan atau dibuang, lalu merosakkan takrif dan penerangan ruang letak

Nama ruang letak dalam kurungan keriting diterjemahkan, dinamakan semula, atau dibuang sehingga aplikasi terhenti semasa masa jalan

Bentuk jamak ICU memerlukan kategori CLDR yang tepat untuk setiap bahasa, tetapi alat umum melangkaunya atau menghasilkan struktur yang tidak sah

Pengepala @@locale dirosakkan atau tidak sepadan, lalu menyebabkan flutter gen-l10n menetapkan terjemahan kepada bahasa yang salah

Sumber (Bahasa Inggeris)
lib/l10n/app_en.arb
{
  "@@locale": "en",
  "appTitle": "My Flutter App",
  "@appTitle": {
    "description": "The title of the application"
  },
  "greeting": "Hello, {name}!",
  "@greeting": {
    "description": "A greeting with the user's name",
    "placeholders": {
      "name": {
        "type": "String",
        "example": "John"
      }
    }
  },
  "itemCount": "{count, plural, =0{No items} =1{1 item} other{{count} items}}",
  "@itemCount": {
    "description": "Number of items in the cart",
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "lastLogin": "Last login: {date}",
  "@lastLogin": {
    "placeholders": {
      "date": {
        "type": "DateTime",
        "format": "yMMMd"
      }
    }
  }
}
Diterjemahkan (Jepun)
lib/l10n/app_ja.arb
{
  "@@locale": "de",
  "appTitle": "Meine Flutter-App",
  "@appTitle": {
    "description": "The title of the application"
  },
  "greeting": "Hallo, {name}!",
  "@greeting": {
    "description": "A greeting with the user's name",
    "placeholders": {
      "name": {
        "type": "String",
        "example": "John"
      }
    }
  },
  "itemCount": "{count, plural, =0{Keine Artikel} =1{1 Artikel} other{{count} Artikel}}",
  "@itemCount": {
    "description": "Number of items in the cart",
    "placeholders": {
      "count": {
        "type": "int"
      }
    }
  },
  "lastLogin": "Letzte Anmeldung: {date}",
  "@lastLogin": {
    "placeholders": {
      "date": {
        "type": "DateTime",
        "format": "yMMMd"
      }
    }
  }
}

Perkara yang Dikekalkan oleh i18n Agent

Entri Metadata @

Semua metadata berawalan @—penerangan, ruang letak, dan anotasi jenis—dikekalkan tepat seperti yang ditetapkan

Keselamatan Ruang Letak

Ruang letak bernama seperti {userName}, {count}, dan {price} dikesan serta dibiarkan utuh dalam semua terjemahan

Bentuk Jamak CLDR

Kategori bentuk jamak ICU (zero, one, two, few, many, other) dijana dengan betul untuk setiap bahasa sasaran mengikut peraturan CLDR

Struktur JSON

Susunan kekunci, struktur tersarang, dan pemformatan khusus ARB sepadan dengan fail sumber anda supaya perbezaan kekal bersih

Berfungsi dengan Stack Flutter anda

flutter gen-l10n (rasmi)
Easy Localization
Pengantarabangsaan GetX

Cara Ia Berfungsi

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

Tiada salin-tampal manual. Tiada pengekstrakan rentetan. Hanya fail terjemahan.

Cuba i18n Agent Sekarang

Lepaskan fail terjemahan anda di sini

JSON, YAML, PO, XML, CSV, Markdown, Properties

atau klik untuk semak imbas

Bahasa sasaran

Tidak perlu mendaftarAnggaran serta-merta

Soalan Lazim

Pembangun?

Pasang alat CLI dan terjemah fail pertama anda dalam 2 minit.

Pasang Alat CLI

Pasukan perusahaan?

Masih terikat dengan kontrak TMS? Mari berbincang tentang pemindahan anda.