本文へ移動
cccskills
無料GitHub で公開日本語紹介

update-translations

英語の変更を手掛かりに、対象のUI文言を各言語へ翻訳し、用語やプレースホルダー、複数形をそろえて確認するスキルです。

原文原文の説明を見る

Bring the web app's interface translations up to date with its English text. Use for the periodic translation update, when `bun run i18n:status` reports missing or stale messages, or when asked to translate new UI text.

macro-inc/macroスター 5,635(GitHub 5,635 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 英語UIの変更後に翻訳を更新したいとき
  • 未翻訳や古い訳を洗い出したいとき
  • 複数形やプレースホルダーを確認したいとき
  • ラベルの表示切れを確認したいとき

日本語での紹介

できること

英語のUI文言に対する各言語の翻訳を更新します。ステータス確認で未翻訳・古い訳・プレースホルダーの不一致を見つけ、最近の変更から翻訳対象の文字列も確認します。翻訳は表示箇所や用語集に合わせ、各言語のファイルへ英語と同じ順序で追加します。プレースホルダーや言語ごとの複数形を保ち、テストやブラウザー表示でキーの不整合やラベルの切れを確認します。

こんなときに便利

定期的な翻訳更新や、新しいUI文言を追加した後の翻訳作業に向いています。英語の変更に追随し、画面上のラベルが他言語でも自然に表示されるか確認したいときに使えます。

使い方の例

  • 「不足しているUI翻訳を確認して、各言語に反映してください」
  • 「最近追加したメニュー文言を翻訳対象にして、表示も確認してください」

注意点

作業には apps/web の環境と、記載された bun、just、bunx などのコマンドが必要です。変更後はテストを実行し、レビュー用PRを作成する手順が含まれます。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(1)

  • SKILL.md3.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Update interface translations

Changes add and edit English only; this update translates them into every other interface language. Run everything from apps/web. Conventions are in .agents/rules/web/i18n.md; wording is in src/lib/i18n/glossary.md.

1. Start from main

git fetch origin main && git checkout -B i18n/update-<yyyy-mm-dd> origin/main.

2. Find untranslated text

  • bun run i18n:status --json lists, per language, messages that are missing (no translation), stale (the English changed since it was translated), or have a placeholderMismatch.
  • English that never went through t() doesn't show there. Literal labels on menu items fail CI (tsx-menu-label-translated), but other surfaces can slip through: labels in config objects (label: 'Foo'), sidebar and command definitions, tab names. Read the apps/web/src diff of changes merged since the last update (git log --since='8 days ago' --format='%h %s' origin/main -- apps/web/src) for user-visible text with a string literal in new UI, menus, or navigation. Move each into src/lib/i18n/locales/en/<namespace>.ts and render it with t(), following the rule. Leave surfaces that aren't translated yet (most page content; the slides, canvas, spreadsheet, and database editors) alone, so no page mixes languages.

Nothing missing, stale, or newly converted: stop, without a branch or PR.

3. Translate

For each key, write the translation in every src/lib/i18n/locales/<language>.ts file, in the key's namespace, in the same order as English.

  • Translate from the current English and the surface it appears on (find it with grep -rn "'<namespace>.<key>'" src), not from the old translation.
  • Use the glossary's form of address and its words for product terms. A new product term gets a row in every language's glossary table.
  • Keep {{placeholders}} exactly; use the language's quotation marks.
  • A plural English message (an object such as { one, other }) is an object in every language, with exactly the language's plural categories: new Intl.PluralRules('<language>').resolvedOptions().pluralCategories (Polish and Russian one, few, many, other; French, Spanish, Italian and Portuguese add many for millions; Japanese, Korean, Chinese, Indonesian, Vietnamese and Thai only other). The tests check the forms.
  • Prefer the shorter of two equally clear wordings; menus cap at 22rem.
  • Don't touch translations that aren't missing or stale, and never edit the English.

4. Record and check

  1. bun run i18n:status --accept all, then bun run i18n:status: every language reports up to date.
  2. bun run test -- src/lib/i18n passes (stray keys, placeholders).
  3. just test-i18n-browser passes in every language. A clipped label lists its text: shorten that translation rather than widening the menu. The check renders every key in the context-menu namespaces; a label in another namespace that renders in a narrow space gets added to MENUS in src/lib/i18n/browser-test/menus.tsx.
  4. Converted any literals in step 2? bunx --yes @ast-grep/cli@0.44.1 scan from the repository root, and the tests of the touched features.

5. Open the PR

Commit and open a ready-for-review PR per the git skill, titled like chore(web): update interface translations. Say which messages changed and why (new, changed English, converted literals), and list any glossary terms added so a native speaker can check them.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

add-sdk-endpoint

無料概要あり

Rustサービスに追加したAPIをTypeScript SDKから呼び出せる形に整え、既存の実装規約に沿った組み込みや、対象外にする判断と記録を支援するスキル。

  • Rustの新しいAPIをSDKに追加したいとき
  • 未対応と報告されたAPIを調べたいとき
  • 合意したSDK対象外のAPIを記録したいとき
macro-inc/macro5,6352026年10月29日 更新

add-tour

無料概要あり

Webアプリの操作案内ツアーを追加・修正するスキル。案内する部品の登録、隠れた操作への誘導、ユーザー別の進捗保存を踏まえた実装とブラウザ確認まで扱います。

  • 画面に操作案内を追加したいとき
  • 案内の順番や対象を修正したいとき
  • 閉じたサイドバー内の操作への誘導
macro-inc/macro5,6352026年10月29日 更新

audit

無料概要あり

コード変更に応じて必要なテストやルール確認を洗い出し、実行結果と根拠を一覧にまとめます。作業完了の報告やプッシュ前に、確認漏れを点検するスキルです。

  • 作業完了の報告前に確認したいとき
  • プッシュ前のチェック
  • テストや文書更新の漏れを探したいとき
macro-inc/macro5,6352026年10月29日 更新

Rustバックエンドの変更時に、業務ルールと外部接続を分ける設計を確認し、認可判断やデータベース処理を適切な層へ配置するための実装・レビュー指針を示すスキル。

  • Rust変更前に層の境界を確認したいとき
  • 権限判断をドメインサービスへ移したいとき
  • DBや外部クライアントの実装を分離したいとき
macro-inc/macro5,6352026年10月29日 更新

collab-surface-core

無料概要あり

共同編集するMarkdownの説明欄やメモを機能に組み込む際に、親データに基づく権限管理、内容の保存先、初期化や廃止の実装方針を整理するスキル。

  • 共同編集できる説明欄の追加
  • 公開API経由の共有入力欄の実装
  • 親データと編集権限の連携
macro-inc/macro5,6352026年10月29日 更新

create-ai-tool

無料概要あり

既存のRust製AIツール基盤に新しい機能を追加し、依存サービスやインフラの接続から型生成、実行結果を表示する画面の実装と検証まで進めるスキルです。

  • RustアプリにAIツールを追加したいとき
  • サービスや環境変数を接続したいとき
  • ツール定義から画面用の型を生成したいとき
macro-inc/macro5,6352026年10月29日 更新

macro-inc のスキルをすべて見る

このスキルの問題を報告する