Slide 1

Slide 1 text

© LayerX Inc. LayerXにおける多言語対応 開発速度を落とさない翻訳情報管理

Slide 2

Slide 2 text

自己紹介・会社紹介

Slide 3

Slide 3 text

© LayerX Inc. 3 ● 2023年12月 株式会社LayerX入社 ○ バクラク申請・経費精算 ソフトウェアエンジニア ○ 25卒として来年入社予定で現在はインターン生 ● 横浜国立大学経営学部4年 ● 趣味: スマブラ ● 好きな北海道の食べ物: 豚丼、わかさいものスイートポテト 矢田悠輝(yata) 自己紹介・会社紹介

Slide 4

Slide 4 text

4 © LayerX Inc. 「すべての経済活動を、デジタル化する。」をミッションに掲げ、 法人支出管理サービス「バクラク」や企業内業務のデジタル化を支援するサービスを提供しています。 自己紹介・会社紹介 バクラク事業 企業活動のインフラとなる法人支出 管理(BSM)SaaSを開発・提供 Fintech事業 ソフトウェアを駆使したアセットマネジメ ント・証券事業を合弁会社にて展開 AI・LLM事業 文書処理を中心とした、LLMの活用による プロセスのリデザイン

Slide 5

Slide 5 text

© LayerX Inc. 5 バクラク申請・経費精算 自己紹介・会社紹介

Slide 6

Slide 6 text

バクラク申請・経費精算での多言語対応 開発速度を落とさない翻訳情報管理

Slide 7

Slide 7 text

© LayerX Inc. 7 多言語対応以前 なぜ開発速度を落とさないことを重視するのか バクラク申請・経費精算での多言語対応 機能開発 機能開発 多言語対応は一度行うとずっと付き合っていかなければいけないから A. 多言語対応以後全ての機能開発に影響を与えるから 多言語対応以後 多言語対応

Slide 8

Slide 8 text

© LayerX Inc. 8 ● エンジニア以外とも共有しやすい ○ コミュニケーションで時間を取らない ● 訳語が決定した経緯やメモなど、翻訳情報以外のデータを載せることができる ○ 文言の確認で手が止まらない 1. スプレッドシートで翻訳情報を管理する バクラク申請・経費精算での多言語対応

Slide 9

Slide 9 text

© LayerX Inc. 9 ● 直感的にコードの内容を理解でき、開発者の認知負荷を下げられる ● UI上の文言からコードを直で検索でき、使用箇所の特定が容易 2. 日本語でキーを管理する バクラク申請・経費精算での多言語対応

Slide 10

Slide 10 text

© LayerX Inc. 10 ● 予測変換やESlintのエラーが効く ● 「このキーあったっけ?」「このキーで合ってたっけ?」などのキーの存在確認が不要 3. スプレッドシートから型を生成する バクラク申請・経費精算での多言語対応

Slide 11

Slide 11 text

© LayerX Inc. 11 ● タグや変数などのひとまとまりをそのままキーとする。 ● 文章が分割可能であっても1つにまとめる。 4. ひとまとまりをキーの分割単位とする バクラク申請・経費精算での多言語対応

Slide 12

Slide 12 text

© LayerX Inc. 12 ● 自然言語は文脈によって意味が変わる場合がある ○ (=同じ文章、単語を毎回全く同じように翻訳するとは限らない) ● 同じキーで別の翻訳結果を出すことは不可能 ● 必要な文脈を含んだ状態で翻訳することで、キーと翻訳結果を1対1に対応させられる なぜひとまとまりでキーを分割するのか バクラク申請・経費精算での多言語対応 Apply Request 申請する →

Slide 13

Slide 13 text

© LayerX Inc. 13 ● 文をキーの分割単位にする ○ 重複した文章があった場合、翻訳の手間が減る、翻訳の一貫性が増すが... ● 文をキーの分割単位にする+単語を埋め込む ○ 同じ単語を必ず同じように翻訳できるので一貫性が高くなる、保守性が高くなるが... 選ばなかった選択肢 バクラク申請・経費精算での多言語対応 → 文脈によって意味が変わる恐れがある(→過度な最適化)

Slide 14

Slide 14 text

© LayerX Inc. 14 ● ()・:などの記号をキーに含めると完全に同じ文言を別のキーとしてしまい保守性と一貫性が低下する ○ 記号は翻訳に影響を与えないので独立したキーとしても良いと判断した 例外: 文頭や文末の記号は分割する バクラク申請・経費精算での多言語対応

Slide 15

Slide 15 text

まとめ

Slide 16

Slide 16 text

© LayerX Inc. 16 1. スプレッドシートで翻訳情報を管理する ○ コミュニケーションコストの増加で開発速度を落とさない 2. 日本語でキーを管理する ○ 開発者体験の低下で開発速度を落とさない 3. スプレッドシートから型を生成する ○ キーの存在確認コストで開発速度を落とさない 4. ひとまとまりをキーの分割単位とする ○ 過度な最適化で開発速度を落とさない まとめ まとめ

Slide 17

Slide 17 text

© LayerX Inc. 17 東京で後夜祭やります! おわりに