27 行
2.0 KiB
Markdown
27 行
2.0 KiB
Markdown
# 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 をクエリに格納しない。
|