# Counts の言語別列 - 列は `languages.created_at ASC, languages.code ASC` の順に生成する。 全名称列の後に全別名列を置く。Locale の数によって列を重複させない。 - 識別子は `name_ja`、`name_ain`、`aliases_ja`、`aliases_ain` 等とする。 言語の名称は Frontend の common 辞書を使う。 - 名称は記録済みの言語の主名称、別名はその言語の全別名を使う。 特定の文字体系で絞らず、記録済みの script_code 等を保持する。 履歴の時点評価と HistoryAccess は従来どおり適用する。 - 初期選択には UI ロカールの言語コードを使う。明示的な列・空選択は上書きしない。 ## 旧 URL・API - 出力列、子列、列順、ソートの旧 `name_ain_kana` 等は、入力境界で `name_ain` 等へ正規化する。表示・ソートは言語全体の値を対象とするため、 従来表示されなかった文字体系の値が表示され、並びが変わる場合がある。 - 抽出条件の旧ロカール付きキーは別扱いとし、従来の文字体系限定 SQL を維持する。 新規条件候補には出さない。既存条件の表示・編輯時だけ文字体系付きの項目名を示す。 利用者が新しい言語単位の項目を選択した場合にだけ、その条件を言語全体へ切り替える。 - 新しい条件の解釈を `name_scope=language` で明示する。 未指定又は `locale` の旧条件は旧仕様として扱い、例えば `name_ja` を `name_ja_jpan` という入力互換専用キーへ変換する。これにより Jpan 限定を保つ。 正規化後の URL は `name_scope=language` と互換専用キーを保存し、再解釈を防ぐ。 - 新しい API 利用者が言語単位の条件を送る場合も `name_scope=language` を指定する。 指定のない既存 API の `name_ja` / `aliases_ja` 条件は従来の Jpan 限定として扱う。 未知の name_scope は 400 とする。JSON・Base64 をクエリに格納しない。