PDA

Просмотр полной версии : Из даты вытащить месяц на русском


Alex_B
30.05.2008, 15:05
Возможно или нет вывести в лейбл текущий месяц на русском?

Вот так можно показать месяц на инглише
<mx:DateFormatter id="dateFormatter" formatString="MMM" />
<mx:Label text="{dateFormatter.format(new Date())}" />

Alex_B
30.05.2008, 15:11
По адресу
C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\frameworks\locale

У меня пара папок en_US и ja_JP, возможно если найти(сделать) русскую локализацию то просто при компиляции указать ru и готово?

Есть где нибудь русская папка?

Alex_B
30.05.2008, 15:31
Я в AS нуб, вот так сделал

private function getMonth( date:Date ):String
{
var month:String = new String();

switch (date.month)
{
case 1:
month = "Январь";
break;

case 2:
month = "Феврать";
break;
}

return month;
}

Но это не красиво, можно сделать словарь или тапа как enum в C# ?

MyChemic
30.05.2008, 17:58
private function getMonth(value:Date):String{
var arr:Array = ["Январь", "Февраль", ...];
return arr[value.month-1];
}

Alex_B
30.05.2008, 18:50
MyChemic, спасибо!

fishbounce
30.05.2008, 20:59
По адресу
C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\frameworks\locale

У меня пара папок en_US и ja_JP, возможно если найти(сделать) русскую локализацию то просто при компиляции указать ru и готово?

Есть где нибудь русская папка?

Почитайте здесь, если это еще актуально:
http://livedocs.adobe.com/flex/3/html/help.html?content=l10n_9.html

как копировать локаль:
http://labs.adobe.com/wiki/index.php/Flex_3:Feature_Introductions:_Runtime_Localization#Huh.3F_French_framework_resources.3F

-------------------------
Хотя это не особо поможет (только если для общего ознакомления...),
потому что dateFormatter из локали (а именно из SharedResources bundle) берет только dateFormat, а имена месяцев, дней - нет.
-------------------------
Поэтому наиболее правильным, на мой взгляд, будет все-таки такой вариант.
Вы все-таки проделываете то, что описано по вышеуказанным ссылкам.
А потом такой код:

[ResourceBundle("SharedResources")]
public var rb : ResourceBundle;

private function showMonthName() : void {
var months : Array = rb.getStringArray("monthNames");
trace(months[(new Date()).getMonth()]);
}