ロケール

ロケール

ロケール実装の構成要素

[53]

IETF における定義

[4]

Locale is the user-specific location and cultural information managed by a computer.

RFC 3536 - Terminology Used in Internationalization in the IETF <http://tools.ietf.org/html/rfc3536#section-7>

LDML における定義

[7]

In this model, a locale is an identifier (id) that refers to a set of user preferences that tend to be shared across significant swaths of the world. Traditionally, the data associated with this id provides support for formatting and parsing of dates, times, numbers, and currencies; for measurement units, for sort-order (collation), plus translated names for time zones, languages, countries, and scripts. The data can also include support for text boundaries (character, word, line, and sentence), text transformations (including transliterations), and other services.

UTS #35: Unicode Locale Data Markup Language ( 版) <http://unicode.org/reports/tr35/#Locale>

[8] この定義による「ロケール」は文字列です。

ロケールの仕様

[13]

ロケールの分類

ロケール識別子

[61] ロケール識別子参照。

ロケールの継承

[11] ロケール間には継承関係が定義されていることもあります。

データ

[49] ロケールに関わる次のデータは、またはレベルで随時更新されていきますから、 それに依存するソフトウェアは、何らかの自動更新の仕組みを保持するべきです。

[50] 改元は翌日施行されたりします。
[54] 将来の日時も参照。

[57] プラットフォームアプリケーションは、 ロケールに関する情報の更新を適切に反映させる仕組みを持つ必要があります。

[58] 例えば政府夏時刻の実施を1週間前に決定し、 プラットフォームの提供者が時間帯データベースの更新データを2日前に配信した場合、 プラットフォームがこれを取得し、 (プラットフォームおよび連続して稼働中のアプリケーションも含めて) 実施までに現に参照しているデータベースを新しい定義に置き換える必要があります。

[59] 例えば政府夏時刻の実施の中止を直前に発表し、 プラットフォームの提供者の更新データ配布がそれに間に合わず実施翌日に配信した場合、 プラットフォームは誤って夏時刻に移行した後に更新データを適用することになります。 プラットフォーム地方時夏時刻から標準時に戻すことになり、 時刻の不連続が発生します。 誤った夏時刻の実施中に夏時刻で記述された時刻は、 データベースの訂正後にも正しい時刻と解釈され続けるべきですが、 そのように実装されているかどうかはケースバイケースでしょう。

[52] 次の情報は、それほど頻繁には更新されないかもしれません。

セキュリティーとプライバシー

[60] ロケールの選択の情報は、プライバシーに関するものと扱う必要があります。

[34] 日時のプライバシー日時のセキュリティー文字のセキュリティーも参照。

実装

[33] ロケールの実装

メモ

[1] <http://macchiato.com/slides/unicode_at_google.pdf>

[2] Manpage of LOCALE ( 版) <http://www.linux.or.jp/JM/html/LDP_man-pages/man5/locale.5.html>

[3] GNU libc (glibc) locale patch page ( 版) <http://www.hungry.com/~pere/linux/glibc/>

[14] RFC 6365 - Terminology Used in Internationalization in the IETF ( 版) <http://tools.ietf.org/html/rfc6365#section-8>

[15] Web Applications 1.0 r6905 Clarify how language affects form controls. ( ( 版)) <http://html5.org/tools/web-apps-tracker?from=6904&to=6905>

[16] Web Services Internationalization (WS-I18N) ( ( 版)) <http://www.w3.org/TR/2012/NOTE-ws-i18n-20120522/#sec-locale>

[17] Bug 22679 – API to expose locale-specific settings ( ( 版)) <https://www.w3.org/Bugs/Public/show_bug.cgi?id=22679>

[18] ロケールとコード ページ ( 版) <https://msdn.microsoft.com/ja-jp/library/8w60z792.aspx>

[23] Internationalizing Your App - Google Chrome ( 版) <https://developer.chrome.com/webstore/i18n?csw=1#localeTable>

[24] Mozilla localizations - Wikipedia, the free encyclopedia ( 版) <http://en.wikipedia.org/wiki/Mozilla_localizations>

[25] カスタム用語集の形式 - Translate ヘルプ ( 版) <https://support.google.com/translate/toolkit/answer/147854?hl=ja>

[26] Locale | Android Developers ( 版) <http://developer.android.com/reference/java/util/Locale.html>

[27] localization - What is the list of supported languages/locales on Android? - Stack Overflow ( 版) <http://stackoverflow.com/questions/7973023/what-is-the-list-of-supported-languages-locales-on-android>

[28] Android App Localization :: WilsonMar.com (Wilson Mar, 310.320-7878 著, 版) <http://www.wilsonmar.com/android_localization.htm>

[29] Mobile/Projects/Localization - MozillaWiki ( 版) <https://wiki.mozilla.org/Mobile/Projects/Localization>

[39] LibreOffice Localization Guide/Adding a New Language or Locale - The Document Foundation Wiki ( 版) <https://wiki.documentfoundation.org/LibreOffice_Localization_Guide/Adding_a_New_Language_or_Locale>

[40] LCOV - make check - i18nlangtag/source/isolang/isolang.cxx ( 版) <http://lcov.libreoffice.org/i18nlangtag/source/isolang/isolang.cxx.gcov.html>

[41] List of Wikipedias - Meta ( 版) <http://meta.wikimedia.org/wiki/List_of_Wikipedias>

[42] MySQL :: MySQL 5.6 Reference Manual :: 10.7 MySQL Server Locale Support ( 版) <https://dev.mysql.com/doc/refman/5.6/en/locale-support.html>

[43] Java SE 7 Supported Locales ( 版) <http://www.oracle.com/technetwork/java/javase/javase7locales-334809.html>

[44] [mediawiki] Contents of /trunk/phase3/languages/Names.php ( 版) <http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/languages/Names.php?view=markup>

[45] mediawiki/Names.php at master · wikimedia/mediawiki ( 版) <https://github.com/wikimedia/mediawiki/blob/master/languages/Names.php>

[46] Languages ( 版) <https://translations.launchpad.net/+languages>

[47] +1 ボタン - Google+ Platform — Google Developers ( 版) <https://developers.google.com/+/web/+1button/#available-languages>

[55] API Reference - Web Application - Tizen Web Device API Reference - Cordova - Globalization API | Tizen Developers () <https://developer.tizen.org/development/api-references/web-application?redirect=https://developer.tizen.org/dev-guide/3.0.0/org.tizen.web.apireference/html/device_api/mobile/tizen/cordova/globalization.html>

[56] API Reference - Web Application - Tizen Web Device API Reference - System - Time API | Tizen Developers () <https://developer.tizen.org/development/api-references/web-application?redirect=https://developer.tizen.org/dev-guide/3.0.0/org.tizen.web.apireference/html/device_api/mobile/tizen/time.html>

[35] ゲーム×ボタンがあると、 ロケールによって「決定」と「取消」の割当が逆になったりします。 (ハードウェアボタンの位置は当然そのままで、 挙動が入れ替わります。それに伴い操作説明など関係する文言の一部を変える必要が出たりもします。)

[19] 記号にすると多文化対応で怒られる。 文字にすると多言語対応で怒られる。 にすると色盲対応で怒られる。 矢印にすると多方向性対応で怒られる。 何やっても詰んどるやんけwwwww