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 {
|
Language::Ar => Entry {
|
||||||
timeago_tokens: ::phf::Map {
|
timeago_tokens: ::phf::Map {
|
||||||
key: 2980949210194914378,
|
key: 14108922650502679131,
|
||||||
disps: &[
|
disps: &[
|
||||||
(1, 0),
|
(3, 13),
|
||||||
(0, 3),
|
(11, 32),
|
||||||
(2, 26),
|
(0, 0),
|
||||||
(1, 11),
|
(0, 0),
|
||||||
(25, 3),
|
(4, 28),
|
||||||
(9, 5),
|
(0, 1),
|
||||||
|
(5, 12),
|
||||||
],
|
],
|
||||||
entries: &[
|
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::Month) }),
|
||||||
("وثانية", TaToken { n: 1, unit: Some(TimeUnit::Second) }),
|
("وثانية", 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) }),
|
("ساعتين", TaToken { n: 2, unit: Some(TimeUnit::Hour) }),
|
||||||
("أسبوع\u{64b}ا", TaToken { n: 1, unit: Some(TimeUnit::Week) }),
|
("أسبوع\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) }),
|
("أسبوع", 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::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],
|
date_order: &[DateCmp::D, DateCmp::M, DateCmp::Y],
|
||||||
|
|
|
||||||
|
|
@ -967,6 +967,8 @@ mod tests {
|
||||||
#[case(Language::Ar, "19 دقيقة وثانيتان", 1142)]
|
#[case(Language::Ar, "19 دقيقة وثانيتان", 1142)]
|
||||||
#[case(Language::Ar, "دقيقة و13 ثانية", 73)]
|
#[case(Language::Ar, "دقيقة و13 ثانية", 73)]
|
||||||
#[case(Language::Sw, "dakika 1 na sekunde 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(
|
fn t_parse_video_duration2(
|
||||||
#[case] lang: Language,
|
#[case] lang: Language,
|
||||||
#[case] video_duration: &str,
|
#[case] video_duration: &str,
|
||||||
|
|
|
||||||
|
|
@ -121,6 +121,7 @@
|
||||||
"equivalent": [],
|
"equivalent": [],
|
||||||
"by_char": false,
|
"by_char": false,
|
||||||
"timeago_tokens": {
|
"timeago_tokens": {
|
||||||
|
"ث": "s",
|
||||||
"ثانية": "s",
|
"ثانية": "s",
|
||||||
"ثوان": "s",
|
"ثوان": "s",
|
||||||
"ثوانٍ": "s",
|
"ثوانٍ": "s",
|
||||||
|
|
@ -128,10 +129,12 @@
|
||||||
"وثانية": "s",
|
"وثانية": "s",
|
||||||
"ثانيتين": "2s",
|
"ثانيتين": "2s",
|
||||||
"وثانيتان": "2s",
|
"وثانيتان": "2s",
|
||||||
|
"د": "m",
|
||||||
"دقائق": "m",
|
"دقائق": "m",
|
||||||
"دقيقة": "m",
|
"دقيقة": "m",
|
||||||
"دقيقتان": "2m",
|
"دقيقتان": "2m",
|
||||||
"دقيقتين": "2m",
|
"دقيقتين": "2m",
|
||||||
|
"س": "h",
|
||||||
"ساعات": "h",
|
"ساعات": "h",
|
||||||
"ساعة": "h",
|
"ساعة": "h",
|
||||||
"ساعتين": "2h",
|
"ساعتين": "2h",
|
||||||
|
|
|
||||||
Reference in a new issue