Extension:UniversalLanguageSelector

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:UniversalLanguageSelector and the translation is 69% complete.
Outdated translations are marked like this.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎català • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português • ‎sicilianu • ‎svenska • ‎русский • ‎سنڌي • ‎अवधी • ‎हिन्दी • ‎中文 • ‎日本語 • ‎한국어
MediaWiki 拡張機能マニュアル
OOjs UI icon advanced.svg
UniversalLanguageSelector
リリースの状態: 安定
ULS-Display-Settings.png
実装 ユーザー インターフェイス, 外装 , ベータ版機能
説明 利用者が言語やその設定の変更を簡単に行うのを支援するツール。
作者 ウィキメディア言語チーム
最新バージョン 2021-01-21
互換性ポリシー Master maintains backwards compatibility.
MediaWiki 1.32+
Composer mediawiki/universal-language-selector
ライセンス
ダウンロード 言語拡張機能バンドル (MLEB) に含まれます
  • $wgULSEnableAnon
  • $wgULSGeoService
  • $wgULSLanguageDetection
  • $wgULSAnonCanChangeLanguage
  • $wgULSEnable
  • $wgULSImeSelectors
  • $wgULSIMEEnabled
  • $wgULSCompactLanguageLinksBetaFeature
  • $wgULSNoImeSelectors
  • $wgULSNoWebfontsSelectors
  • $wgULSFontRepositoryBasePath
  • $wgULSMobileWebfontsEnabled
  • $wgULSPosition
  • $wgULSWebfontsEnabled
Internet Explorer 8 以前とは互換性がありません.
translatewiki.net で翻訳を利用できる場合は、UniversalLanguageSelector 拡張機能の翻訳にご協力ください

使用状況とバージョン マトリクスを確認してください。

問題点 未解決のタスク · バグを報告

ユニバーサル言語選択 (ULS: Universal Language Selector) は利用者が簡単に言語を選択しサポートを設定できるツールです。使用すると WebFonts および Narayam の拡張機能が同梱されます(両方ともこの拡張機能を優先するため使用されていません)。 背景とその他の情報は ユニバーサル言語選択 を参照してください。

使用法

主目的は、利用者が言語やその設定の変更を簡単に行えるようにすることです。

この拡張機能は以下の機能を提供します。

  1. 幅広い言語から柔軟に簡単にひとつ選べる。
    1. 地理的位置に基づくウェブ閲覧や検索により選択できる。
    2. 検索する要素は ISO 言語コード、現在のUIやスクリプトの言語(自称)
    3. 言語間検索 - 使用スクリプトに関わらず言語名を検索
    4. 言語名のオートコンプリート(自動補完)
    5. 検索文字列のつづりの誤りを自動で補正
    6. GeoIP から言語をお奨め
    7. ユーザーのブラウザやOSによる言語の選択
  2. 複数の入力方式
    使い方の完全マニュアルは $1 を参照
    1. 使える複数の入力方式から選び、編集ができる欄すべてで使用
    2. 幅広い言語群に対応する多様な入力方式
    3. 言語ごとに入力方式を設定
  3. ウェブフォント
    1. 言語ごとに多彩なウェブフォントから選び、ページで埋め込みフォントとして用いる
    2. 言語ごとに割り当てるフォントの設定
    1. Selection can be based on geographical region based browsing, searching.
    1. Search can be based on ISO language code, language name written in current user interface language or in its own script(autonym)
    1. Cross language search - search language names using any script
    1. Autocompletion of language names
    1. Auto correction of spelling mistakes in search strings
    1. Geo IP based language suggestions
    1. Language selection based on users browser/OS language
  1. Input methods
    1. An easily selectable input method collection, readily available in every editable field
    1. Provides a large set of input methods for wide range of languages
    1. Per-language input method preferences
  1. Webfonts
    1. A large collection of fonts to choose for each language to use as embedded font for the page
    1. Per-language font preferences
スペインの利用者に対して、GeoIP に基づき言語を提案する ULS (ユニバーサル言語選択)
英語版ウィキペディアの登録利用者は言語設定を使い、UI を母語に変更できる。
自分のコンピューターにフォントを搭載していなくても、ベンガリ語話者はベンガリ語版ウィキペディアの内容を閲覧できる。オープン ソースのフォントを利用できる非ラテン文字には、web フォントが自動的に提供される。利用者は1言語ごとにシステム フォントを使用するかどうか決定できる。
ヒンディー語のキーボードがなくても入力メソッドを設定すると、自分の言語をタイプ入力できる。
検索をするには英語とヒンディー語を交互に切り換えることができる。

フォントの追加

言語に適したフォントをコードに追加すると、サポートする言語を増やすことができます。そうは言うものの、追加できるのは無償使用を許可する、たとえば GNU GPL、SIL OFL などの規定に従うフォントに限定されます。Google Fonts [1] はフリーフォントのディレクトリの一例ですが、ULS の作者による検証と利用は未完です。Open Font Libraryも参照してください。

まずはじめにフリーフォントを検索するか作成します(これが最重要ポイントで、必ず自分自身で対処してください)。次に、eot か ttf、woff の必須フォーマットに変換してください。その後、Phabricatorでフォントを拡張機能に追加するリクエストを提出します。

下記の「#Webフォントの準備」の項目でフォントの変換の方法を説明します。GNU/Linux ベースのOS の基礎知識が欠かせないため、自分でできない場合は Phabricator でフォント追加といっしょに依頼することができます(当然、フォントの追加完了までかかる時間は長引きます。)

Webフォントの準備

.woff2 の作成:

woff2 の作成には https://github.com/google/woff2 を使います。 作成される woff2 の圧縮ファイルのフォーマットは、最近のブラウザーがサポートしています。

次に作成する font.ini ファイルの例は次のとおり。

[AbyssinicaSIL]
languages=am*, ti*
version=1.200
license=OFL 1.1
licensefile=OFL.txt
url=http://scripts.sil.org/AbyssinicaSIL

言語コードに付けたアスタリスク (*) は、そのフォントがその言語の既定であることを示します。オプションとして使用したい場合は、* を付けないでください。

ファイルを作成したら、以下を実施します:

  1. data/fontrepo/fonts 内にフォント用ディレクトリを作成します。
  2. そのディレクトリに ttf、woff、eot、font.ini ファイルを配置し、ソース リポジトリに追加します (git add)。
  3. scripts/ に移動し、php compile-font-repo.php を実行します。
  4. 変更をリポジトリにコミットし (git commit -a) 、Git のワークフローに従って投入します。

新しいキーの関連付けをサポート (入力メソッド)

instructions on the jquery.ime github wiki(入力メソッドの定義)に従いますが、Wikimedia-extensions-UniversalLanguageSelector Phabricator プロダクトにリクエストします。

ダウンロード

拡張機能は、Git から直接取得できる場合があります [?]:

  • コードを参照
  • 一部の拡張機能には安定版リリースのタグがあります。
    • タグを参照
    • タグを選択します
    • 「スナップショット」をクリックします
  • 各ブランチは過去の MediaWiki リリースと関連付けられています。 最新のアルファ バージョンを含む「master」ブランチもあります (MediaWiki のアルファ バージョンが必要な場合用)。

スナップショットを展開して、MediaWiki インストレーション内の extensions/UniversalLanguageSelector/ ディレクトリに配置します。

git に馴染みがあり、かつサーバーにシェルでアクセスできる場合は、拡張機能を以下のようにして取得することもできます:

cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/UniversalLanguageSelector.git


インストール

  • ダウンロードして、ファイルを extensions/ フォルダー内の UniversalLanguageSelector という名前のディレクトリ内に配置します。
  • 以下のコードを LocalSettings.php の末尾に追加します:
    wfLoadExtension( 'UniversalLanguageSelector' );
    
  • Yes 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

LanguageNameIndexの更新

For performing cross language search, searching autonyms, language data needs to be populated. ULS comes with a pre-populated language name index(data/langnames.ser). In case you want to update it, install Extension:CLDR and update the data with the following command.

php UniversalLanguageSelector/data/LanguageNameIndexer.php

このとき langnames.serファイルが ULS/data/ フォルダに作成されたか確認してください。

設定

以下の変数が初期化の段階で自動生成され、JavaScript により mw.config.get( NAME ) を用いて使用できます。

  • wgULSLanguages - 言語コードをキーにした、英語の言語名を値に取る連想配列。
  • wgULSAcceptLanguageList - 利用者の Accept-Language 値に由来する言語コードの配列。利用者がブラウザー設定で選択した言語のこと。
  • wgULSLanguages - an associative array where the keys are language codes and the values are language names in English.
  • wgULSAcceptLanguageList - an array of language codes from the user's Accept-Language value. These are the languages selected in the user's browser preferences.

フォントの提供に合わせ、もし使用しているウェブサーバーに不足しているなら以下の MIME の種類を追加するとよいかもしれません。こちらの説明を参照してみてください。

application/x-font-woff .woff
application/vnd.ms-fontobject .eot
application/x-font-ttf .ttf

以下の変数も設定の対象です。

  • $wgULSGeoService - ULS は衛星の位置測位サービスを用いると、利用者の所在する国や地域の位置に基づき言語を提案できる。これを「false」に設定すると、組み込み位置測位サービスを使用しない。キー「country_code」または「country」を持つオブジェクトにwindow.Geo を設定すると、独自の位置測位サービスが提供される。「true」に設定すると Wikimedia の geoIP サービスに問い合わせ、指定されたコールバック パラメーターを使う jsonp を返す。既定値は http://freegeoip.net/json/ で、フォーマットは同じ。
  • $wgULSEnable - 下記の設定変数によって動作が上書きされない限り、言語選択、コンパクトな言語リンク、すべての人のための入力メソッドと Web フォントが有効。「false」の場合も他の拡張機能を使うために、クラスとリソース ローダー モジュールを登録。cookie またはsetlang クエリ パラメーターを使った言語の変更は不可能。
  • $wgULSAnonCanChangeLanguage - 匿名利用者は cookie と setlang クエリ パラメーターを使い、言語を変更できる。Cookie を考慮せずに匿名ページ ビューをキャッシュする場合は使用しないこと。$wgULSEnable または $wgULSEnableAnon が「false」の場合は無効。
  • $wgULSIMEEnabled - 既定ではすべての利用者の入力メソッド機能が無効。その場合も利用者は手動で有効にできる。
  • $wgULSPosition - 言語選択トリガーの位置と形式。選択肢は、personal で利用者名または個人設定のツールバーの「ログイン」ボタンの近くにリンクを配置 (既定)。または、interlanguage でサイドバーの言語間リンク一覧のヘッダー近くにアイコンを配置。
  • $wgULSNoImeSelectors - jQuery による要素の選択機能。IME を無効にした場合のみ有効。例: [ '#wpCaptchaWord' ];

ULSトリガーの位置

  • $wgULSPosition - 言語選択トリガーの位置と形式。選択肢は、personal で利用者名または個人設定のツールバーの「ログイン」ボタンの近くにリンクを配置 (既定)。または、interlanguage でサイドバーの言語間リンク一覧のヘッダー近くにアイコンを配置。

ULS トリガーは画面上のどこにでも配置でき、uls-settings-trigger という要素がその役割を果たします。

既定のフォントをオーバーライドする

ULS が Web フォントとして提供するフォント リポジトリは広汎で、ときとして1言語に対応するフォントが何種類もあったり、言語や文字ごとに既定のフォントがあったりします。フォントの順位や既定のフォントはオーバーライド可能で、以下のように汎用スクリプトの利用(MediaWiki:Common.js) または個人のスクリプト (Special:MyPage/common.js) を用います。

設定をキャッシュする

Webフォントファイルがクライアントのマシンに確実にキャッシュされるためには、フォントのファイルタイプをWebサーバーの設定に追加する必要があります。Apache2 での手順は次のとおり。

  • 関連ディレクトリの FilesMatch の FileTimes 正規表現に、フォントファイルの拡張子を追加する例。
  • Adding font file extensions to the FileTimes regex at FilesMatch for the relevant directory, example:

<FilesMatch "\.(gif|jpe?g|png|css|js|woff|svg|eot|ttf)$">

  • ExpiresByType の値は画像の MIME タイプ同様、関連の MIME タイプに追加する。
    • TTF には標準的な MIME タイプはない。ウィキメディアでは application/x-font-ttf を使用。
  • MIME タイプの追加方法。
    • Note that there's no standard MIME type for TTF. application/x-font-ttf is used for Wikimedia.
  • Adding the MIME types:
AddType application/x-woff .woff
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf

すべての例は ウィキメディアのクラスタ設定の更新のキャッシュを参照してください(gerrit ログインが必要)。

ページ翻訳

UniversalLanguageSelector は Translate (翻訳) 拡張機能と依存関係にあり、さまざまな言語選択機能に使われます。ユーザーの UI 言語に依存するリンクのMyLanguageシステムもそのひとつで、その他にも設定できます。ページ翻訳の拡張機能を参照してください。

Webフォントの使用

特定の言語に使う web フォントは「言語設定」→「表示」と進んで設定します。既定ではそのメニューのいちばん上にあるフォントがそのウィキに適用されます。ユーザーがフォントを変更すると記録され、どのページでもそのフォントが使われます。システムフォントを選択し、フォントの埋め込みを無効にすることもできます。

利用できるフォントが利用者のローカル システムにある場合は、フォントは MediaWiki サーバーからダウンロードされません。利用者のコンピューターから取得されます。フォントが存在しない場合は、必要になった時点でサーバーから初回に1度だけダウンロードされます。次回以降は、フォントはローカルのキャッシュから取得されます。

フォントを読み込む別の方法

フォントファミリーを指定

ウィキテキスト <span style="font-family:'YourFontName';">YourText</span> で web フォント拡張機能は指定されたフォントを備えているかどうかチェックし、クライアントにダウンロードします。たとえ特定のフォントがユーザーのコンピューターになくても、閲覧者は本文を読むのに不自由しません。

言語を指定

ウィキテキスト <span lang="my">YourText</span> で web フォント拡張機能は指定されたフォントを備えているかどうかチェックし、クライアントにダウンロードします。たとえ特定のフォントがユーザーのコンピューターになくても、閲覧者は本文を読むのに不自由しません。言語に複数のフォントが対応する場合は、既定のフォントが使用されます。もし既定のフォントが好みでなかったら、フォントファミリーの手法でフォントを指定します。タグの定義に言語選択とフォントファミリーの両方がある場合はフォントファミリーが優先されます。

例:

<span lang=sux>𒄖𒉈𒅁𒌨𒅎</span>

この例では、楔形文字でレンダリングしたテキストにアッカド語フォントを使用します。

𒄖𒉈𒅁𒌨𒅎

関連項目