初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2023-10-25 20:05:39

37
Member

Get ( システムロケール要素 )のパスについて

(macOS Sonoma 14.0 , FileMaker 20.2.1.60)

Get ( システムロケール要素 )で得られるJSONについて、キー(パス)の詳細をご存知の方はいらっしゃるでしょうか?

ヘルプを見ても、取得例が載っているだけで、各キー(パス)の意味合いが不明です。
具体的には、日本語環境(Mac)のときに、

"Date.YMD.ElementArray.NameList" → ["M#","D#","D$","YYYY#"]

"Date.YMD.ElementArray.SepList" → ["年","月","日 ",""]

の構成を知りたいです。

ちなみにアプリケーション言語を英語にすると、
それぞれが、
["M$","D#","YYYY#","D$"]
[", "," ",", ",""]
になります。

NameListは、#がつくと数字表記、$がつくと名称表示かと思われるのですが、D$が何を意味するのかわかりません(曜日?)。
その順番も、英語の場合だと、記載の順(月→日→年)になっているようですが(D$が曜日だとすると、慣習的には最初に来るはず?)、
日本語だと、月日、D$、年となっていて、通常の年月日の順に並んでおらず、理解ができません。

SepListは、日本語の場合だと、年月日の順でそれぞれのセパレータそのものを意味すると理解できますが、
英語の場合だと、1番目を飛ばして(最初に曜日との境界?)、2番目が月と日の間のセパレーター、3番目が日と年の間のセパレーターを意味していそうで、
相互の違いが分かりません。

英語圏でも同様の質問をされている方を見かけましたが、回答は得られていませんでした。
もし知っている方がいたら、ご教示ください。よろしくお願いいたします。

Offline

#2 2023-10-26 19:12:53

himadanee
Guest

Re: Get ( システムロケール要素 )のパスについて

この関数は初耳でしたが
Windows11でやってみたら、
                "NameList" :
                [
                    "M#",
                    "D#"
                ],
                "SepList" :
                [
                    "年",
                    "月"
                ]
なのでMacの方の参考にはならないですね。

これ「システム」なんだけど「"Quarters" :」の値は完全に英語になってて、
                "NameList" :
                [
                    "1st Quarter",
                    "2nd Quarter",
                    "3rd Quarter",
                    "4th Quarter"
                ]
どこから取得してるのか謎です。
OSに存在しないのでFMが捏造している?FMの日付書式にはちゃんと日本語の四半期の設定があるんですけどね。

["M$","D#","YYYY#","D$"]
[", "," ",", ",""]

これは、カンマスペース、スペース、カンマスペース、なし、なので、(要素が4つなのに区切りが4つあるのも意味不明)
Oct, 26 2023, Thu
となって、確かになんか変ですね。

#3 2023-10-31 17:44:56

37
Member

Re: Get ( システムロケール要素 )のパスについて

himadaneeさん

いつもながらご回答ありがとうございます。
Windowsでは確認することがなかったので、ご指摘は非常にありがたい情報でした。

多言語対応を考えたときに、インスペクタでの書式設定では自由度が減ってしまうので、
ロケールを取得して、自由度のある多言語対応の書式を用意できないかと考えていました。

Windowsでは、全く当てになりませんが、Macでの情報を繰り返し見ているうちに、

["M$","D#","YYYY#","D$"]

YYYY#:西暦年の数字表記
M$:月の文字列表記
M#:月の数字表記
D#:日の数字表記
D$:曜日の文字列表記

を意味し、配列の前から順に[2番目、3番目、4番目、1番目]で並べると、
ロケールに沿う表記になるものと判断しました。
(なぜ配列の4番目が1番目になっているのかは不明ですが)

また、セパレーターを意味すると思われる
[", "," ",", ",""]

については、
配列の順番通りに、それぞれ順番での表記に続く接尾語とするとロケールに沿うものと
思われました。

上記の英語で再現すると、

Thu, Oct 26, 2023

となります。

なんとなく、Mac版であれば、こんなところかな?と言うところまで行きましたが、
Windows版もとなると、有用性がかなり下がってしまいます。

誰かがこの謎を解決してくれる(倉栗鼠の中のヒトなら知っているはずだと思いますが)ことを期待して、
この質問は未解決のままとさせていただきます。

ぜひ、回答をお持ちの方は教えてください。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.012 seconds, 9 queries executed - Memory usage: 520.37 KiB (Peak: 524.91 KiB) ]