> ## Documentation Index
> Fetch the complete documentation index at: https://hyperlocalise.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Dự án đầu tiên

> Thiết lập một cấu trúc dự án tối thiểu và hiểu các tệp đầu ra được mong đợi.

## Bố cục tối giản

<Tree>
  <Tree.Folder name="apps" defaultOpen>
    <Tree.Folder name="web" defaultOpen>
      <Tree.Folder name="lang" defaultOpen>
        <Tree.File name="es-ES.json" />
      </Tree.Folder>
    </Tree.Folder>

    <Tree.Folder name="lab" />
  </Tree.Folder>

  <Tree.Folder name="packages" defaultOpen>
    <Tree.Folder name="ui" defaultOpen>
      <Tree.Folder name="lang" defaultOpen>
        <Tree.File name="en-US.json" />
      </Tree.Folder>
    </Tree.Folder>
  </Tree.Folder>

  <Tree.File name="i18n.yml" />
</Tree>

## Mẫu cấu hình tối thiểu

Dùng một bucket để bắt đầu:

* `locales.source`: ngôn ngữ nguồn của bạn (ví dụ `en-US`)
* `locales.targets`: một ngôn ngữ bản địa đích (ví dụ `es-ES`)
* `buckets.ui.files`: ánh xạ mẫu đường dẫn nguồn sang mẫu đường dẫn đích
* `llm.profiles.default`: chọn nhà cung cấp và mô hình của bạn

Để xem các trường đầy đủ, hãy xem [i18n config](/configuration/i18n-config).

Trong thiết lập này, các bản dịch được lấy từ `packages/ui/lang` và được tạo vào `apps/web/lang`. Nếu bạn bỏ qua `groups`, Hyperlocalise sẽ tự động chạy mọi bucket đã được cấu hình cho mọi ngôn ngữ đích.

## Các hiện vật được tạo ra

Sau `hyperlocalise run`:

* các tệp đích đã dịch trong các đường dẫn `to` đã cấu hình của bạn
* `.hyperlocalise.lock.json` trong thư mục gốc của dự án
* các tệp siêu dữ liệu sidecar cho nguồn gốc, tùy thuộc vào bố cục kho lưu trữ của bạn
