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 Formsμ λμΌν λ²κ·Έκ° μμ΅λλ€. κ·Έλ¬λ μ΄κ²μ ν μ€μ μ½λλ‘ ν΄κ²°ν μ μμ΅λλ€.
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 μ¬μ©μμ λ―Έκ΅μ΄ μλ κ³ κ°μ΄μλ Xamarin Forms μ¬μ©μμκ² μν₯μμ€λλ€.
@rmarinho # 2434λ μ΄κ²μ μμμ μΌ μλ μκ³ μλ μλ μμ΅λλ€. μ΄λ μͺ½μ΄λ μ΄ λ¬Έμ λ λ§€μ° λ리 νΌμ Έμλ λ¬Έμ μ΄λ―λ‘ μμ ν΄μΌν©λλ€. λκ΅°κ°κ° κ·Έκ²μ μ΄λμμ λ€λ£° μ§μ λν μ½κ°μ μ§μλ₯Ό μ€ μ μλ€λ©΄ PRμ μ μΆνκ²λμ΄ κΈ°μ©λλ€.
μ΄ λ¬Έμ μ λν΄ λ€μ μ’ μ μΈλ¦¬λ©΄ λ€κ΅μ΄ μ±μμ λ§€μΌ μ°λ¦¬κ° μΈμ°κ³ μλ λ¬Έμ μ λλ€. μμ μ€λΉκ° μλ£λμμΌλ©° PRμ λκ³ μ μΆνλ €λ μ¬λλ€μ΄ μμ§λ§ ν΄κ²° λ°©λ²μ λν μ§μΉ¨μ κΈ°λ€λ¦¬κ³ μμ΅λλ€.
νλͺ©μ StringFormatμ μ μ© ν λ λΉμ·ν λ¬Έμ κ° λ°μ ν©λλ€ . νμμμ€ . λ¬Ένμ κ΄λ ¨μ΄ μμ§λ§ νλͺ©μ΄ μμμ λμ²νλ λ°©μκ³Ό κ΄λ ¨μ΄ μμ΅λλ€.
λ΄ λ¬Έμ λμ΄ λ¬Έμ μμ μ€λͺ ν κ²κ³Ό λ―Έλ¬νκ² λ€λ₯΄μ§λ§ κ΄λ ¨μ΄ μλ€κ³ μκ°ν©λλ€. μλ‘μ΄ λ¬Έμ λ₯Ό μΆκ°νκ±°λ μ¬κΈ°μ μμΈν λ΄μ©μ μΆκ° ν κ°μΉκ° μμ΅λκΉ?
μ΄ λ²κ·Έλ μ€λ«λμ μ£Όλ³μ μμλ κ² κ°μ΅λλ€. λ€κ΅μ΄ μ§μμ λ§μ μ±μ νμ κΈ°λ₯μ΄λΌκ³ μκ°ν©λλ€. νμ¬μ΄λ₯Ό μννλ €λ©΄ λͺ κ°μ§ ν΄κ²° λ°©λ²μ΄ νμν©λλ€. Xamarin.Formsλ₯Ό μ¬μ©νλ κ²μ μ’μνλ©°μ΄ λ²κ·Έκ° 곧 μμ λλ€λ©΄ μ’μ κ²μ λλ€.
κ·νμ νλ₯ν μμ μ λν΄ Xamarin νμ κ°μ¬λ립λλ€!
μΉμ νλ
λκ΅°κ° λ¬Έμ λ₯Ό μ¬ννλ λ° λ¬Έμ κ°μλ κ²½μ°λ₯Ό λλΉνμ¬ μ μ₯μ μ£Όμλ₯Ό μ λ°μ΄νΈνμ΅λλ€.
λ€κ΅μ΄ μ§μμ λ§μ μ±μ νμ κΈ°λ₯μ΄λΌκ³ μκ°ν©λλ€.
λμν©λλ€! μ΄λ₯Ό κ°μ νκΈ° μν΄ κ³΅κ° ν PR (# 3700)μ μ΄ν΄λ³΄λ©΄ λ§μ μμ μ±μ΄ μ€λ¨λλ κ²μ λ°©μ§νλ μ΅μ μ λ°©λ²μΌλ‘μ΄λ₯Ό μννλ λ°©λ²μ μ΄λ €μμ κ²ͺκ³ μμμ μ μ μμ΅λλ€. μ°λ¦¬λ μ μμ μ΄λ € μμ΅λλ€! κ°μ¬!
λΏ‘λΏ‘
λ΄ λμ μ£Όμ΄μ§ μΈμ΄λ₯Ό μ ννκΈ° μν΄ Language μμ±μ ꡬννλ κ²μ λλ€. κ·Έλ° λ€μ λ°μΈλ©μ μ€μ λ κ²½μ° Language μμ±μ κΈ°λ°μΌλ‘ν©λλ€. μ΄λ ν μ€μ μ½λλ‘ μ±μ μ¬μ©μμ κΈ°μ‘΄ μ§μ μ€μ μΌλ‘ μ ν ν μ μμ§λ§ λ°λμ κΈ°μ‘΄ μ±μ κΈ°μ‘΄ κΈ°λ₯μ λ³κ²½ν νμλ μμμ μλ―Έν©λλ€. μ΄κ²μ΄ λ€λ₯Έ XAML νλ«νΌμμ μνλλ λ°©μμ λλ€. λ΄ μκ°μ μ΄λ¬ν νλ«νΌμλ μ²λ¦¬ν΄μΌ ν μ μ¬ν λ¬Έμ κ° μμΌλ©° ν΄λΉ ν¨ν΄μ μ¬μ©νλ©΄ Xamarin.Formsκ° ν΄λΉ κΈ°μ κ³Ό λ μ νΈνλ©λλ€.
λ€κ΅μ΄ μ§μμ λ§μ μ±μ νμ κΈ°λ₯μ΄λΌκ³ μκ°ν©λλ€.
λμν©λλ€! μ΄λ₯Ό κ°μ νκΈ° μν΄ κ³΅κ° ν PR (# 3700)μ μ΄ν΄λ³΄λ©΄ λ§μ μμ μ±μ΄ μ€λ¨λλ κ²μ λ°©μ§νλ μ΅μ μ λ°©λ²μΌλ‘μ΄λ₯Ό μννλ λ°©λ²μ μ΄λ €μμ κ²ͺκ³ μμμ μ μ μμ΅λλ€. μ°λ¦¬λ μ μμ μ΄λ € μμ΅λλ€! κ°μ¬!
λ΄ 0.2 $λ .NETμ μ΄λ―Έ μμ μ§μ λ° κ΅¬λ¬Έ λΆμμ μ²λ¦¬νλλ‘ μ€κ³λ κΈ°λ₯μ΄ μλ€λ κ²μ λλ€. CultureInfo.CurrentCulture
μ½λ νμ DateTimeμμ DateTime.Now.ToString ()μ μ¬μ©νμ¬ λ¬Έμμ΄λ‘ λ³ννλ©΄ μλμΌλ‘ CultureInfo.CurrentCultureλ₯Ό μ¬μ©νμ¬ νμμ μ§μ ν©λλ€. DateTime.Parseλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ DateTimeμΌλ‘ ꡬ문 λΆμνλ κ²κ³Ό λμΌν©λλ€.-CurrentCultureκ° μ¬μ©λ©λλ€.
DateTime-> λ¬Έμμ΄μ λ°μΈλ© λ³ν (ν¬λ§·)μ΄ ViewModelμμ μν ν λμ λμΌν κ²°κ³Όλ₯Ό μ°μΆνμ§ μλ μ΄μ λ 무μμ
λκΉ? νκ· μ μΈ κ°λ°μλ λ€λ₯Έ κ²°κ³Όλ₯Ό λ°ν ν λ λλΌκ³ λΉν©ν©λλ€. κ·Έλ¦¬κ³ κ°λ¨ν Google κ²μμ μννμ¬ νλ μ μν¬μμ μ½κ² μ²λ¦¬ ν μμλμ΄ λμμ λν ν΄κ²° λ°©λ²μΌλ‘ μΌλ§λ λ§μ λ³νκ³Ό μ루μ
μ΄ μλμ§ νμΈν©λλ€.
μ§κΈμ νλ©΄ ν€λ³΄λκ° μ§μμ λν μ₯μΉ μ€μ μ μ¬μ©νμ§λ§ .NET μ½λ ꡬ문 λΆμ / νμ μ§μ λ¬Έμμ΄μ΄ νμ μΈμ΄ / λ¬Ένλ₯Ό μ¬μ©νλ κ²μ μλ§μ λλ€. μμ΄ UI λ° μ€μ¨λ΄μ΄ μ§μμ κ²½μ° μμμ κ΅¬λΆ κΈ°νΈλ‘ ","(μΌν)λ₯Ό μ¬μ©νμ¬ μ«μλ₯Ό μ λ ₯νκ³ .NETμ "."λ₯Ό μ¬μ©νμ¬ κ΅¬λ¬Έ λΆμμ μλν©λλ€. (μ )μ μμμ κ΅¬λΆ κΈ°νΈλ‘ μ¬μ©ν©λλ€.
λμ¨ν λμ λ¬ΆκΈ° μν΄ Xamarin Formsλ κ° νλ«νΌ / μ₯μΉ (μ : μ§μ μ€μ μ μ¬μ©νλ iOS)μ μ€μ μ κΈ°λ°μΌλ‘ μ¬μ©μ μ§μ CultureInfoλ₯Ό λ§λ€κ³ CultureInfo.CurrentCultureμ κΈ°λ³Έκ°μΌλ‘ ν λΉν΄μΌν©λλ€. μλνκ³ ν΄μΌν©λλ€.
WPF κ°λ°μλ‘μ λ°μΈλ©μ΄ μμμ μ€λͺ
ν λ΄μ©μ λ°λ₯΄μ§ μμ λ λΉν© μ€λ¬μ μ§λ§ (λ²κ·ΈλΌκ³ μκ°ν©λλ€) WPFλ₯Ό μ¬μ©νλ©΄ μ½κ² ν΄κ²°ν μ μμ΅λλ€.
this.Language = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag);
μ¬λλ€μ΄ μ€μ λ‘ νμ μΈμ΄μ λ€λ₯Έ μ§μ / μμμ μνλ€λ μ¬μ€μ μμ κ² κ°μ UWPλ‘ μμνμ§ λ§μμμ€ (μΈκ³μ λ§μ λΆλΆμ΄ μνλλλ‘) .
νλͺ©μ μ«μ μμ±μ λ°μΈλ© ν λ λμΌν λ¬Έμ κ° λ°μνμ΅λλ€. μ νλ§λ€ λμμ΄ λ€λ₯Έ κ²μ λ λμ©λλ€.
CurrentCulture = de-de
λͺ¨λΈμμ UIλ‘ λ°μΈλ© :
μμ μμ±μ λ°μΈλ©νλ©΄ "10.41"μ΄ μμ±λ©λλ€ (νμ¬ λ¬ΈνκΆμ μ μ©λμ§ μμ).
float μμ±μ λ°μΈλ©νλ©΄ "10,41"μ΄ μμ±λ©λλ€.
μ΄μ€ μμ±μ λ°μΈλ©νλ©΄ "10.41"μ΄ μμ±λ©λλ€ (νμ¬ λ¬ΈνκΆμ΄ μ μ©λμ§ μμ).
μ¦, float μμ± λ§ μ¬λ°λ₯Έ λ¬Ένμ λ°μΈλ©λ©λλ€.
UIμμ λͺ¨λΈλ‘ λ°μΈλ© :
λΏ "." λ°μ΄ν° μ νκ³Ό λ¬ΈνκΆμ κ΄κ³μμ΄ μ ν¨ν ꡬλΆμλ‘ μΈμλ©λλ€.
첫 λ²μ§Έ λ¨κ³λ‘ μ μ΄λ λͺ¨λ λ°μ΄ν° μ νμ λν λμμ ν΅ν©νμμμ€.
λ λ²μ§Έ λ¨κ³λ‘ κ°λ°μκ° νμ¬ λ¬Ένμ λ°λΌ μ«μ κ°μ μ¬λ°λ₯΄κ² λ°μΈλ©νκ³ νλ©΄μ μ«μ ν€λ³΄λκ° νμ¬ λ¬Ένμ λκΈ°νλλλ‘ μμ
μ루μ
μ μΆκ°νμμμ€.
νλ μ μν¬κ°μ΄ μμ , v4.4μ λλ¬νκ³ μ¬μ ν en-USμμλ§ μλνλ μμλ₯Ό μ»μ μμλ λ°©λ²μ 무μμ
λκΉ?
λλ λνμ΄ λ¬Έμ κ° μκ³ λλ λͺ¨λ μμ§μ μμ±μ κ°μ§ λ¬Έμμ΄μ μμ§μ λ° μμ§μλ‘ μμ
ν΄μΌν©λλ€ .....
μ΄κ²μ λν μμμ΄ μμ΅λκΉ?
μ΅μ Xamarin.Forms λ²μ μμ μ¬μ ν λ¬Έμ λ₯Ό μ¬ν ν μ μμ΅λλ€.
μ§κΈκΉμ§ ν΄κ²°μ±
μμ΄λ₯Ό μ²λ¦¬νκΈ° μν΄ IValueConverterλ₯Ό λ§λλ κ²μ
λλ€.
μ΄ λ¬Έμ κ° μμ λ λ μ λ³΄κ° μμ΅λκΉ?
μ¬μ©μκ° λͺ μ μ μΌλ‘ ν¨μλ₯Ό μ 곡νμ§ μλ ν, λ¬Έμμ΄μ μμνλ λ μ΄λΈμ DateTimeμ λ°μΈλ©νλ κ²μ μ ν μ€λ₯ μ¬μΌν©λλ€.
μ΄ λ¬Έμ λ Xamarin.Forms 3.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 νμ κ°μ¬λ립λλ€!
μΉμ νλ