Đặt câu hỏi và nhận tóm tắt tài liệu bằng cách tham chiếu trang này và nhà cung cấp AI bạn chọn
Bằng cách tích hợp Intlayer MCP Server vào trợ lý AI ưa thích của bạn, bạn có thể truy xuất toàn bộ tài liệu trực tiếp từ ChatGPT, DeepSeek, Cursor, VSCode, v.v.
Xem tài liệu MCP ServerLịch sử phiên bản
- Khởi tạo lịch sửv5.5.1029/6/2025
Nội dung của trang này đã được dịch bằng AI.
Xem phiên bản mới nhất của nội dung gốc bằng tiếng AnhNếu bạn có ý tưởng để cải thiện tài liệu này, vui lòng đóng góp bằng cách gửi pull request trên GitHub.
Liên kết GitHub tới tài liệuSao chép Markdown của tài liệu vào bộ nhớ tạm
Tự động tạo bản dịch trong pipeline CI/CD
Intlayer cho phép tự động tạo các bản dịch cho các file khai báo nội dung của bạn. Có nhiều cách để thực hiện điều này tùy thuộc vào quy trình làm việc của bạn.
Mục lục
Sử dụng CMS
Với Intlayer, bạn có thể áp dụng một quy trình làm việc trong đó chỉ một locale duy nhất được khai báo cục bộ, trong khi tất cả các bản dịch được quản lý từ xa thông qua CMS. Điều này cho phép nội dung và các bản dịch hoàn toàn tách biệt khỏi codebase, mang lại sự linh hoạt hơn cho các biên tập viên nội dung và kích hoạt Live Sync (không cần phải xây dựng lại ứng dụng để áp dụng các thay đổi).
Cấu hình ví dụ
Sao chép đoạn mã vào khay nhớ tạm (clipboard)
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH], requiredLocales: [Locales.ENGLISH], // Các locale tùy chọn sẽ được quản lý từ xa defaultLocale: Locales.ENGLISH, }, editor: { // Thông tin xác thực CMS nếu bạn sử dụng CMS clientId: process.env.INTLAYER_CLIENT_ID, clientSecret: process.env.INTLAYER_CLIENT_SECRET, liveSync: true, }, ai: { applicationContext: "Đây là một ứng dụng thử nghiệm", // Giúp đảm bảo việc tạo bản dịch nhất quán },};export default config;Để tìm hiểu thêm về CMS, tham khảo tài liệu chính thức.
Sử dụng Husky
Bạn có thể tích hợp việc tạo bản dịch vào quy trình làm việc Git cục bộ của mình bằng cách sử dụng Husky.
Cấu hình ví dụ
Sao chép đoạn mã vào khay nhớ tạm (clipboard)
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH], requiredLocales: [Locales.ENGLISH], // Các ngôn ngữ tùy chọn được xử lý từ xa defaultLocale: Locales.ENGLISH, }, editor: { clientId: process.env.INTLAYER_CLIENT_ID, clientSecret: process.env.INTLAYER_CLIENT_SECRET, }, ai: { provider: "openai", apiKey: process.env.OPENAI_API_KEY, // Sử dụng khóa API của bạn applicationContext: "Đây là một ứng dụng thử nghiệm", // Giúp đảm bảo việc tạo bản dịch nhất quán },};export default config;Sao chép đoạn mã vào khay nhớ tạm (clipboard)
npx intlayer build # Để đảm bảo từ điển được cập nhậtnpx intlayer fill --unpushed --mode fill # Chỉ điền nội dung còn thiếu, không cập nhật những nội dung đã cóĐể biết thêm thông tin về các lệnh Intlayer CLI và cách sử dụng chúng, hãy tham khảo tài liệu CLI.
Nếu bạn có nhiều ứng dụng trong kho mã của mình sử dụng các instance intlayer riêng biệt, bạn có thể sử dụng đối số --base-dir như sau:
Sao chép đoạn mã vào khay nhớ tạm (clipboard)
# Ứng dụng 1npx intlayer build --base-dir ./app1npx intlayer fill --base-dir ./app1 --unpushed --mode fill# Ứng dụng 2npx intlayer build --base-dir ./app2npx intlayer fill --base-dir ./app2 --unpushed --mode fillSử dụng GitHub Actions
Intlayer cung cấp một lệnh CLI để tự động điền và xem lại nội dung từ điển. Điều này có thể được tích hợp vào quy trình CI/CD của bạn bằng cách sử dụng GitHub Actions.
Sao chép đoạn mã vào khay nhớ tạm (clipboard)
name: Tự động điền Intlayer# Điều kiện kích hoạt cho workflow nàyon: pull_request: branches: - "main"permissions: contents: write pull-requests: writeconcurrency: group: "autofill-${{ github.ref }}" cancel-in-progress: truejobs: autofill: runs-on: ubuntu-latest env: # OpenAI AI_MODEL: openai AI_PROVIDER: gpt-5-mini AI_API_KEY: ${{ secrets.AI_API_KEY }} steps: # Bước 1: Lấy mã nguồn mới nhất từ kho lưu trữ - name: ⬇️ Kiểm tra kho lưu trữ uses: actions/checkout@v4 with: persist-credentials: true # Giữ lại thông tin xác thực để tạo PR fetch-depth: 0 # Lấy toàn bộ lịch sử git để phân tích sự khác biệt # Bước 2: Thiết lập môi trường Node.js - name: 🟢 Thiết lập Node.js uses: actions/setup-node@v4 with: node-version: 20 # Sử dụng Node.js 20 LTS để đảm bảo ổn định # Bước 3: Cài đặt các phụ thuộc của dự án - name: 📦 Cài đặt phụ thuộc run: npm install # Bước 4: Cài đặt Intlayer CLI toàn cục để quản lý bản dịch - name: 📦 Cài đặt Intlayer run: npm install -g intlayer-cli # Bước 5: Xây dựng dự án Intlayer để tạo các file bản dịch - name: ⚙️ Xây dựng dự án Intlayer run: npx intlayer build # Bước 6: Sử dụng AI để tự động điền các bản dịch còn thiếu - name: 🤖 Tự động điền bản dịch còn thiếu run: npx intlayer fill --git-diff --mode fill --provider $AI_PROVIDER --model $AI_MODEL --api-key $AI_API_KEY # Bước 7: Kiểm tra xem có thay đổi nào không và commit chúng - name: � Kiểm tra thay đổi id: check-changes run: | if [ -n "$(git status --porcelain)" ]; then echo "has-changes=true" >> $GITHUB_OUTPUT else echo "has-changes=false" >> $GITHUB_OUTPUT fi # Bước 8: Commit và đẩy các thay đổi nếu có - name: 📤 Commit và đẩy thay đổi if: steps.check-changes.outputs.has-changes == 'true' run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" git add . git commit -m "chore: tự động điền bản dịch còn thiếu [skip ci]" git push origin HEAD:${{ github.head_ref }}Để thiết lập các biến môi trường, hãy vào GitHub → Settings → Secrets and variables → Actions và thêm secret .
Tương tự như với Husky, trong trường hợp monorepo, bạn có thể sử dụng đối số --base-dir để xử lý tuần tự từng ứng dụng.
Mặc định, đối số --git-diff lọc các từ điển bao gồm các thay đổi từ base (mặc định origin/main) đến nhánh hiện tại (mặc định: HEAD).
Để biết thêm thông tin về các lệnh Intlayer CLI và cách sử dụng chúng, hãy tham khảo tài liệu CLI.