Archive for the 'NSMassFormatter' Category

2016/01/14 ローカライズドな度量衡表示(重さ)

Cocoaの機能を用いて、ローカライズされた(英語、日本語などの言語環境を考慮した)度量衡の表示を行うAppleScriptです。

重さについては、トン(t=1,000kg)がないのと細かい方の単位(mgとかμgとか)がないのはいかがなものかと。

日本国内では日常的には「ストーン」という単位は使わないので、「何の石かな?」と思ってしまうところです。

AppleScript名:ASOCでローカライズドな度量衡表示(重さ)
– Created 2015-11-20 by Shane Stanley
– Modified 2016-01-14 by Takaaki Naganoya
– 2016 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”

–Weight

set engMFormatter to current application’s NSMassFormatter’s alloc()’s init()
engMFormatter’s numberFormatter()’s setLocale:(current application’s NSLocale’s localeWithLocaleIdentifier:“en-US”)
engMFormatter’s setUnitStyle:(current application’s NSFormattingUnitStyleLong) –NSFormattingUnitStyleShort, NSFormattingUnitStyleMedium, NSFormattingUnitStyleLong

set a1Res to (engMFormatter’s stringFromKilograms:85) as string –Kg
–>  ”187.393 pounds”
set a2Res to (engMFormatter’s stringFromValue:1 unit:(current application’s NSMassFormatterUnitGram)) as string –g
–>  ”1 gram”
set a3Res to (engMFormatter’s stringFromValue:1 unit:(current application’s NSMassFormatterUnitOunce)) as string –オンス
–>  ”1 ounce”
set a4Res to (engMFormatter’s stringFromValue:1 unit:(current application’s NSMassFormatterUnitStone)) as string –ストーン(=14 pounds)
–>  ”1 stone”

set jpnMFormatter to current application’s NSMassFormatter’s alloc()’s init()
jpnMFormatter’s numberFormatter()’s setLocale:(current application’s NSLocale’s localeWithLocaleIdentifier:“ja”)
jpnMFormatter’s setUnitStyle:(current application’s NSFormattingUnitStyleLong) –NSFormattingUnitStyleShort, NSFormattingUnitStyleMedium, NSFormattingUnitStyleLong

set j1Res to (jpnMFormatter’s stringFromKilograms:85) as string –Kg
–>  ”85キログラム”
set j2Res to (jpnMFormatter’s stringFromValue:1 unit:(current application’s NSMassFormatterUnitGram)) as string –g
–>  ”1グラム”
set j3Res to (jpnMFormatter’s stringFromValue:1 unit:(current application’s NSMassFormatterUnitOunce)) as string –オンス
–>  ”1オンス”
set j4Res to (jpnMFormatter’s stringFromValue:1 unit:(current application’s NSMassFormatterUnitStone)) as string –ストーン(=14 pounds)
–>  ”1ストーン

★Click Here to Open This Script