Labelãªã©ã®ã³ã³ãããŒã«ã«ãã€ã³ããããDateTimeã衚瀺ãããšãåžžã«en-US圢åŒã§DateTimeã衚瀺ãããŸãã ç±³åœä»¥å€ã®ãŠãŒã¶ãŒã«ãšã£ãŠãããã¯åé¡ã§ãã
å
ã®ãã°ã¬ããŒãïŒ
https://bugzilla.xamarin.com/show_bug.cgi?id=58635
ä»ã®ãã©ãããã©ãŒã ã«é¢ãã泚æ
SilverlightãUWPãããã³WPFã§ã¯ããã¹ãŠã®ã³ã³ãããŒã«ãFrameworkElementããç¶æ¿ãããFrameworkElementã«ã¯ãLanguageãããããã£ããããŸãã ãããããããã®ãã©ãããã©ãŒã ã§DateTimeãã©ãŒããããæšé²ãããã®ã§ãã SilverlightãšWPFã«ã¯ãLanguageããããã£ãããã©ã«ãã§ããŒã«ã«èšèªã«èšå®ãããªããã°ããããŸãã ãã®ãããããã©ã«ãã§ã¯ãWPFãšSilverlightã«ã¯Xamarinãã©ãŒã ãšåããã°ããããŸãã ããããããã¯1è¡ã®ã³ãŒãã§è§£æ±ºã§ããŸãã
Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);
ããã瀺ãWPFãµã³ãã«ã¢ããªã¯æ¬¡ã®ãšããã§ãã
https://www.dropbox.com/s/2qcacomtsjweb1o/DateTimeWPF.7z?dl=0
ãã ããUWPã§ã¯ãLanguageããããã£ã¯æ£ããããã©ã«ãã§ãã·ã³ã®ããŒã«ã«èšèªã«ãªããŸãã ãã®ãããDateTimeå€æã¯ããã©ã«ãã§UWPã«æ£ãã衚瀺ãããŸãã
ãããã£ãŠãXamarin Formsã«ã¯ããããLanguageããããã£ãå¿ èŠã§ããããã®Languageããããã£ã¯ãã·ã³ã®å°åèšå®ããããã©ã«ãèšå®ããå¿ èŠããããŸãã
DateTimeããã€ã³ãã£ã³ã°ã§æååã«å€æãããå Žåããã·ã³ã®ããŒã«ã«èšèªèšå®ã䜿çšããããã©ToStringïŒïŒã§å€æããå¿ èŠããããŸãã
DateTimesã¯ãå°åã®èšå®ã«é¢ä¿ãªããUSA圢åŒã®æååã«å€æãããŸãã
httpsïŒ//[email protected]/MelbourneDeveloper/xamarin-forms-scratch.git
ãããããããèŠãããŠããããã§ãã 2017幎9æ8æ¥ã«èšé²ãããŸãããå ã ã¯ç¿æ¥Xamarinã®äººã«ãã£ãŠè€è£œãããŸããã ããã¯ãç±³åœå€ã®ãã¹ãŠã®Xamarin FormsãŠãŒã¶ãŒãããã³ç±³åœä»¥å€ã®é¡§å®¢ãæã€XamarinFormsãŠãŒã¶ãŒã«åœ±é¿ããŸãã
@ rmarinho ïŒ2434ã¯ããã®
ãã®åé¡ã«ã€ããŠããäžåºŠãã«ã鳎ããã ãã§ãå€èšèªã¢ããªã§æ¥åžžçã«åãçµãã§ããŸãã ããã¯ä»äºã®æºåãã§ããŠãããPRãæäŒã£ãŠæåºããããšãããšããªã人ã ãããŸãããç§ãã¡ã¯ããªãããããã©ã®ããã«è§£æ±ºããããã«ã€ããŠã®æ瀺ããŸã åŸ ã£ãŠããŸãã
StringFormatããšã³ããªã«é©çšãããšãåæ§ã®åé¡ãçºçããŸããXamarin.Formsãã©ãŒã©ã ã®è©³çŽ°ãªèª¬æãåç §ããŠãã ããã ããã¯ã«ã«ãã£ãšã¯é¢ä¿ãããŸãããããšã³ããªããã©ãŒããããã©ã®ããã«åŠçãããã«é¢ä¿ããŠããŸãã
ç§ã®åé¡ã¯ããã®å·ã§èª¬æãããŠããåé¡ãšã¯åŸ®åŠã«ç°ãªããšæããŸãããé¢é£ããŠããŸãã æ°ããåé¡ãè¿œå ãã䟡å€ããããŸããããããšãããã«è©³çŽ°ãè¿œå ããŸããïŒ
ãã®ãã°ã¯é·ãéååšããŠããããã§ãã å€èšèªã®ãµããŒãã¯å€ãã®ã¢ããªã«ãšã£ãŠäžå¯æ¬ ãªæ©èœã ãšæããŸãã çŸåšããããå®çŸããã«ã¯ããã€ãã®åé¿çãå¿ èŠã§ãã Xamarin.Formsã䜿çšããã®ã奜ãã§ããã®ãã°ãããã«ä¿®æ£ããããšäŸ¿å©ã§ãã
XamarinããŒã ã®çŽ æŽãããä»äºã«æè¬ããŸãïŒ
å®ãããé¡ãããŸã
誰ããåé¡ã®åçŸã«åé¡ããã£ãå Žåã«åããŠããªããžããªã¢ãã¬ã¹ãæŽæ°ããŸããã
å€èšèªã®ãµããŒãã¯å€ãã®ã¢ããªã«ãšã£ãŠäžå¯æ¬ ãªæ©èœã ãšæããŸãã
åæããŸããïŒ ãããæ¹åããããã«éããPRïŒïŒ3700ïŒãèŠããšãå€æ°ã®ã¢ããªãå£ããªãããã«ããããã«ãå¯èœãªéãæåã®æ¹æ³ã§ãããè¡ãæ¹æ³ã«èŠåŽããŠããããšãããããŸãã ç§ãã¡ã¯ææ¡ãåãå ¥ããŠããŸãïŒ ããããšãïŒ
@samhouts
ç§ã®ãéã¯ãç¹å®ã®èšèªã«ãªããã€ã³ããããã«ãLanguageããããã£ãå®è£ ããããšã«è²»ããããŸãã 次ã«ããã€ã³ãã¯ãLanguageããããã£ãèšå®ãããŠããå Žåãããã«åºã¥ããŠè¡ãããŸãã ã€ãŸãã1è¡ã®ã³ãŒãã§ã¢ããªããŠãŒã¶ãŒã®æ¢åã®å°åèšå®ã«åãæ¿ããããšãã§ããŸãããå¿ ãããæ¢åã®ã¢ããªã®æ¢åã®æ©èœãå€æŽããå¿ èŠã¯ãããŸããã ããã¯ãä»ã®XAMLãã©ãããã©ãŒã ã§è¡ãããŠããæ¹æ³ã§ãã ç§ã®æšæž¬ã§ã¯ããããã®ãã©ãããã©ãŒã ã«ã¯åæ§ã®åé¡ãããããã®ãã¿ãŒã³ã䜿çšãããšãXamarin.Formsããããã®ãã¯ãããžãŒãšããäºææ§ãé«ããªããŸãã
å€èšèªã®ãµããŒãã¯å€ãã®ã¢ããªã«ãšã£ãŠäžå¯æ¬ ãªæ©èœã ãšæããŸãã
åæããŸããïŒ ãããæ¹åããããã«éããPRïŒïŒ3700ïŒãèŠããšãå€æ°ã®ã¢ããªãå£ããªãããã«ããããã«ãå¯èœãªéãæåã®æ¹æ³ã§ãããè¡ãæ¹æ³ã«èŠåŽããŠããããšãããããŸãã ç§ãã¡ã¯ææ¡ãåãå ¥ããŠããŸãïŒ ããããšãïŒ
ç§ã®0.2 $ã¯ã.NETã«ã¯ããã©ãŒããããšè§£æãåŠçããããã«èšèšãããæ©èœããã§ã«ãããšããããšã§ãïŒCultureInfo.CurrentCulture
ã³ãŒã圢åŒã®DateTimeããDateTime.Now.ToStringïŒïŒã䜿çšããŠæååã«å€æãããšãCultureInfo.CurrentCultureã䜿çšããŠèªåçã«åœ¢åŒåãããŸãã DateTime.Parseã䜿çšããŠæååãDateTimeã«è§£æããã®ãšåãã§ã-CurrentCultureã䜿çšãããŸãã
DateTime->æååã®ãã€ã³ãã£ã³ã°å€æïŒãã©ãŒãããïŒã§ãViewModelã§è¡ãå ŽåãšåãçµæãåŸãããªãã®ã¯ãªãã§ããïŒ å¹³åçãªéçºè
ã¯ãç°ãªãçµæãè¿ããšé©ããŠå°æããŸãã ãããŠãç°¡åãªã°ãŒã°ã«æ€çŽ¢ãå®è¡ããŠããã®åäœã®åé¿çãšããŠããã¬ãŒã ã¯ãŒã¯ã§ç°¡åã«åŠçã§ããããªãšãŒã·ã§ã³ãšãœãªã¥ãŒã·ã§ã³ãããã€ãããã確èªããŸãã
çŸåšãç»é¢ããŒããŒããå°åã®ããã€ã¹èšå®ã䜿çšããŠããã®ã¯æ··ä¹±ã§ããã.NETã³ãŒãã®è§£æ/ãã©ãŒãããæååã¯è¡šç€ºèšèª/ã«ã«ãã£ã䜿çšããŠããŸãã è±èªã®UIãšã¹ãŠã§ãŒãã³èªã®å°åã®å Žåãå°æ°ç¹èšå·ãšããŠãããïŒã³ã³ãïŒã䜿çšããŠæ°å€ãå ¥åãããšã.NETã¯ãããã䜿çšããŠæ°å€ã解æããããšããŸãã ïŒãããïŒå°æ°ç¹èšå·ãšããŠã
ã«ãŒãºãšã³ããçµã³ä»ããããã«ãXamarin Formsã¯åãã©ãããã©ãŒã /ããã€ã¹ã®èšå®ã«åºã¥ããŠã«ã¹ã¿ã CultureInfoãäœæãïŒããšãã°ããªãŒãžã§ã³èšå®ã䜿çšããiOSã®å ŽåïŒãããã©ã«ããšããŠCultureInfo.CurrentCultureã«å²ãåœãŠãå¿ èŠããããŸãããããã£ãŠãç§ãã¡ãã¹ãŠã®éçºè ã¯ããã£ãŠã¿ãªããšãããªãã
WPFéçºè
ãšããŠããã€ã³ãã£ã³ã°ãäžèšã®èª¬æã«æºæ ããŠããªãïŒãããŠãã°ã ãšæãïŒãšå°æããŸããããWPFã®è§£æ±ºã¯ç°¡åã§ãã
this.Language = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag);
ã
UWPã䜿ãå§ããªãã§ãã ãããUWPã§ã¯ã人ã ãå®éã«è¡šç€ºèšèªãšã¯ç°ãªãå°å/ãã©ãŒããããæãã§ããããšãå¿ããŠããããã§ãïŒäžçã®å€§éšåãæãã§ããããã«ïŒ ã
ãšã³ããªãæ°å€ããããã£ã«ãã€ã³ããããšãã«åãåé¡ãçºçããŸããã ã¿ã€ãéã§åäœãç°ãªãããšã¯ããã«æªãããšã§ãã
CurrentCulture = de-de
ã¢ãã«ããUIãžã®ãã€ã³ãïŒ
10é²æ°ã®ããããã£ããã€ã³ããããšãã10.41ãã«ãªããŸãïŒçŸåšã®ã«ã«ãã£ã¯å°éãããŸããïŒ
floatããããã£ããã€ã³ããããšãã10,41ãã«ãªããŸã
doubleããããã£ããã€ã³ããããšãã10.41ãã«ãªããŸãïŒçŸåšã®ã«ã«ãã£ã¯å°éãããŸããïŒ
ã€ãŸãããããŒãããããã£ã®ã¿ãæ£ããã«ã«ãã£ãŒã«ãã€ã³ããããŸã
UIããã¢ãã«ãžã®ãã€ã³ãïŒ
ãããã®ã¿ããŒã¿åãã«ã«ãã£ã«é¢ä¿ãªããæå¹ãªã»ãã¬ãŒã¿ãšããŠèªèãããŸãã
æåã®ã¹ããããšããŠãå°ãªããšããã¹ãŠã®ããŒã¿åã®åäœãçµ±äžããŠãã ããã
2çªç®ã®ã¹ããããšããŠãéçºè
ãçŸåšã®ã«ã«ãã£ã«åŸã£ãŠæ°å€ãæ£ãããã€ã³ãããç»é¢äžã®æ°å€ããŒããŒããçŸåšã®ã«ã«ãã£ãšåæãããããã®å®çšçãªãœãªã¥ãŒã·ã§ã³ãè¿œå ããŠãã ãã...
ãã¬ãŒã ã¯ãŒã¯ããã®ãã€ã³ãv4.4ã«å°éããããã§ãå°æ°ãen-USã§ã®ã¿æ©èœãããã«ã¯ã©ãããã°ããã§ããïŒ
ç§ããã®åé¡ãæ±ããŠããããã¹ãŠã®10é²æ°ããããã£ã§æååãã10é²æ°ãããã³10é²æ°ããæååãåŠçããå¿
èŠããããŸãã
ããã«é¢ãããã¥ãŒã¹ã¯ãããŸããïŒ
ææ°ã®Xamarin.FormsããŒãžã§ã³ã§ãåé¡ã¯åçŸå¯èœã§ãã
ãããŸã§ã®è§£æ±ºçã¯ããããåŠçããIValueConverterãäœæããããšã§ãã
ããããã€ä¿®æ£ããããã«ã€ããŠã®æ å ±ã¯ãããŸããïŒ
ãŠãŒã¶ãŒãæ瀺çã«é¢æ°ãæäŸããªãéããæååãäºæããã©ãã«ã«DateTimeããã€ã³ããããšãã¿ã€ããšã©ãŒã«ãªããŸãã
ãã®åé¡ã¯ãXamarin.Forms3.6.0.344457ãã4.4.0.991757ã«ç§»è¡ãããšãã«è¡šé¢åããŸããã
ãã®äŸã§ã¯ãã«ã¹ã¿ã ãšã³ããªããããã«ã³ãããããã«çœ®ãæããŸããããã«ããããŠãŒã¶ãŒããœããããŒããŒãã§ã«ã³ããã¯ãªãã¯ãããšããããã«çœ®ãæããããŸãã
å¥åŠãªè§£æ±ºçã¯ç¥ã£ãŠããŸããã以åã¯3.6.0.344457ã§æ©èœããŠããŸãããã4.4.0.99175ã§ã¯æ©èœããŸããã§ããã å€åããããšïŒ åé¡ã®å±¥æŽãèŠããšãv3.6.0ã§ããã€ãã®äœæ¥ãè¡ãããããšãããããŸãã ãªã°ã¬ãã·ã§ã³ãã°ã®ããã§ãã
ãã®åé¡ã¯ãé·ãé掻åããŠããªãããã§ãã ç§ãã¡ã¯åé¡ã«åªå é äœãä»ããã§ããã ãæ©ã解決ããããåãçµãã§ããŸãã ãªã¹ãã確èªã§ããããã«ãææ°ããŒãžã§ã³ã®Xamarin.Formsã§åŒãç¶ã圱é¿ããããã©ããããç¥ããããã ãããã«ãæŽæ°ããé¡ãããŸããããã¯ãå¥ã®é¢é£ãŸãã¯éè€ã®äžéšãšããŠè§£æ±ºãããå¯èœæ§ãããããã§ããåé¡ã ä»åŸ30æ¥ä»¥å ã«ãã®åé¡ã«é¢ããæ°ããã¢ã¯ãã£ããã£ãèŠãããªãå Žåã¯ããã®åé¡ã解決ããå¿ èŠããããã©ãããè©äŸ¡ããŸãã ããããšãããããŸããïŒ
ã¯ããããã¯ãŸã ææ°ã®4.8ããŒãžã§ã³ã«åœ±é¿ãäžããŠããŸãã
æãåèã«ãªãã³ã¡ã³ã
ãã®ãã°ã¯é·ãéååšããŠããããã§ãã å€èšèªã®ãµããŒãã¯å€ãã®ã¢ããªã«ãšã£ãŠäžå¯æ¬ ãªæ©èœã ãšæããŸãã çŸåšããããå®çŸããã«ã¯ããã€ãã®åé¿çãå¿ èŠã§ãã Xamarin.Formsã䜿çšããã®ã奜ãã§ããã®ãã°ãããã«ä¿®æ£ããããšäŸ¿å©ã§ãã
XamarinããŒã ã®çŽ æŽãããä»äºã«æè¬ããŸãïŒ
å®ãããé¡ãããŸã