fix: Arabic duration parsing
This commit is contained in:
parent
a13262a273
commit
48ccfc5c06
3 changed files with 40 additions and 31 deletions
|
|
@ -253,46 +253,50 @@ pub(crate) fn entry(lang: Language) -> Entry {
|
|||
},
|
||||
Language::Ar => Entry {
|
||||
timeago_tokens: ::phf::Map {
|
||||
key: 2980949210194914378,
|
||||
key: 14108922650502679131,
|
||||
disps: &[
|
||||
(1, 0),
|
||||
(0, 3),
|
||||
(2, 26),
|
||||
(1, 11),
|
||||
(25, 3),
|
||||
(9, 5),
|
||||
(3, 13),
|
||||
(11, 32),
|
||||
(0, 0),
|
||||
(0, 0),
|
||||
(4, 28),
|
||||
(0, 1),
|
||||
(5, 12),
|
||||
],
|
||||
entries: &[
|
||||
("يوم\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Day) }),
|
||||
("ثوان\u{650}", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
||||
("ساعات", TaToken { n: 1, unit: Some(TimeUnit::Hour) }),
|
||||
("دقائق", TaToken { n: 1, unit: Some(TimeUnit::Minute) }),
|
||||
("شهرين", TaToken { n: 2, unit: Some(TimeUnit::Month) }),
|
||||
("أشهر", TaToken { n: 1, unit: Some(TimeUnit::Month) }),
|
||||
("ثانية", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
||||
("ساعة", TaToken { n: 1, unit: Some(TimeUnit::Hour) }),
|
||||
("يوم", TaToken { n: 1, unit: Some(TimeUnit::Day) }),
|
||||
("ثوان", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
||||
("دقيقة", TaToken { n: 1, unit: Some(TimeUnit::Minute) }),
|
||||
("يومين", TaToken { n: 2, unit: Some(TimeUnit::Day) }),
|
||||
("ثانيتين", TaToken { n: 2, unit: Some(TimeUnit::Second) }),
|
||||
("أسبوعين", TaToken { n: 2, unit: Some(TimeUnit::Week) }),
|
||||
("دقيقتين", TaToken { n: 2, unit: Some(TimeUnit::Minute) }),
|
||||
("سنوات", TaToken { n: 1, unit: Some(TimeUnit::Year) }),
|
||||
("دقيقتان", TaToken { n: 2, unit: Some(TimeUnit::Minute) }),
|
||||
("سنة", TaToken { n: 1, unit: Some(TimeUnit::Year) }),
|
||||
("أسابيع", TaToken { n: 1, unit: Some(TimeUnit::Week) }),
|
||||
("خلال", TaToken { n: 1, unit: Some(TimeUnit::Month) }),
|
||||
("شهر\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Month) }),
|
||||
("شهر", TaToken { n: 1, unit: Some(TimeUnit::Month) }),
|
||||
("وثانية", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
||||
("سنتين", TaToken { n: 2, unit: Some(TimeUnit::Year) }),
|
||||
("دقيقتان", TaToken { n: 2, unit: Some(TimeUnit::Minute) }),
|
||||
("ثوان\u{64d}", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
||||
("يوم", TaToken { n: 1, unit: Some(TimeUnit::Day) }),
|
||||
("شهر\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Month) }),
|
||||
("سنة", TaToken { n: 1, unit: Some(TimeUnit::Year) }),
|
||||
("يوم\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Day) }),
|
||||
("دقيقة", TaToken { n: 1, unit: Some(TimeUnit::Minute) }),
|
||||
("ثوان", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
||||
("ثانية", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
||||
("ساعات", TaToken { n: 1, unit: Some(TimeUnit::Hour) }),
|
||||
("أيام", TaToken { n: 1, unit: Some(TimeUnit::Day) }),
|
||||
("ساعتين", TaToken { n: 2, unit: Some(TimeUnit::Hour) }),
|
||||
("أسبوع\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Week) }),
|
||||
("أيام", TaToken { n: 1, unit: Some(TimeUnit::Day) }),
|
||||
("سنوات", TaToken { n: 1, unit: Some(TimeUnit::Year) }),
|
||||
("ساعة", TaToken { n: 1, unit: Some(TimeUnit::Hour) }),
|
||||
("ثانيتين", TaToken { n: 2, unit: Some(TimeUnit::Second) }),
|
||||
("أسابيع", TaToken { n: 1, unit: Some(TimeUnit::Week) }),
|
||||
("أشهر", TaToken { n: 1, unit: Some(TimeUnit::Month) }),
|
||||
("أسبوع", TaToken { n: 1, unit: Some(TimeUnit::Week) }),
|
||||
("ثوان\u{64d}", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
||||
("شهرين", TaToken { n: 2, unit: Some(TimeUnit::Month) }),
|
||||
("وثانيتان", TaToken { n: 2, unit: Some(TimeUnit::Second) }),
|
||||
("يومين", TaToken { n: 2, unit: Some(TimeUnit::Day) }),
|
||||
("س", TaToken { n: 1, unit: Some(TimeUnit::Hour) }),
|
||||
("ث", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
||||
("دقيقتين", TaToken { n: 2, unit: Some(TimeUnit::Minute) }),
|
||||
("خلال", TaToken { n: 1, unit: Some(TimeUnit::Month) }),
|
||||
("ثوان\u{650}", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
||||
("د", TaToken { n: 1, unit: Some(TimeUnit::Minute) }),
|
||||
("سنتين", TaToken { n: 2, unit: Some(TimeUnit::Year) }),
|
||||
("أسبوعين", TaToken { n: 2, unit: Some(TimeUnit::Week) }),
|
||||
("دقائق", TaToken { n: 1, unit: Some(TimeUnit::Minute) }),
|
||||
],
|
||||
},
|
||||
date_order: &[DateCmp::D, DateCmp::M, DateCmp::Y],
|
||||
|
|
|
|||
|
|
@ -967,6 +967,8 @@ mod tests {
|
|||
#[case(Language::Ar, "19 دقيقة وثانيتان", 1142)]
|
||||
#[case(Language::Ar, "دقيقة و13 ثانية", 73)]
|
||||
#[case(Language::Sw, "dakika 1 na sekunde 13", 73)]
|
||||
#[case(Language::Ar, "1 س و41 د", 6060)]
|
||||
#[case(Language::Ar, "4 د و33 ث", 273)]
|
||||
fn t_parse_video_duration2(
|
||||
#[case] lang: Language,
|
||||
#[case] video_duration: &str,
|
||||
|
|
|
|||
|
|
@ -121,6 +121,7 @@
|
|||
"equivalent": [],
|
||||
"by_char": false,
|
||||
"timeago_tokens": {
|
||||
"ث": "s",
|
||||
"ثانية": "s",
|
||||
"ثوان": "s",
|
||||
"ثوانٍ": "s",
|
||||
|
|
@ -128,10 +129,12 @@
|
|||
"وثانية": "s",
|
||||
"ثانيتين": "2s",
|
||||
"وثانيتان": "2s",
|
||||
"د": "m",
|
||||
"دقائق": "m",
|
||||
"دقيقة": "m",
|
||||
"دقيقتان": "2m",
|
||||
"دقيقتين": "2m",
|
||||
"س": "h",
|
||||
"ساعات": "h",
|
||||
"ساعة": "h",
|
||||
"ساعتين": "2h",
|
||||
|
|
|
|||
Reference in a new issue