Compare commits

..

No commits in common. "9ddf9a3ac4a9cabc055c568f0d7c6a3d0c547c75" and "c9433d721d152b0d66f967b777aeca55f49986d9" have entirely different histories.

11 changed files with 1845 additions and 11548 deletions

View file

@ -12,6 +12,3 @@ indent_style = tab
[*.{json,md,rst,ini,yml,yaml,xml,html,js,jsx,ts,tsx,vue,kt}] [*.{json,md,rst,ini,yml,yaml,xml,html,js,jsx,ts,tsx,vue,kt}]
indent_size = 2 indent_size = 2
[*.json]
insert_final_newline = false

File diff suppressed because it is too large Load diff

View file

@ -37,7 +37,7 @@ yesterday: PLmB6td997u3kUOrfFwkULZ910ho44oQSy
5 days ago: PL3-sRm8xAzY9sDilvaWjCwCI0TkUzYdOG 5 days ago: PL3-sRm8xAzY9sDilvaWjCwCI0TkUzYdOG
7 days ago: PLHr0jWPfopte182N54r1ra7tkRJC1fmPu 7 days ago: PLHr0jWPfopte182N54r1ra7tkRJC1fmPu
Jan PL1J-6JOckZtFjcni6Xj1pLYglJp6JCpKD 03.01.2020 Jan PL1J-6JOckZtHxTA3hN5SK7gBQaFfKzeXr 01.01.2016
Feb PL1J-6JOckZtETrbzwZE7mRIIK6BzWNLAs 07.02.2016 Feb PL1J-6JOckZtETrbzwZE7mRIIK6BzWNLAs 07.02.2016
Mar PL1J-6JOckZtG3AVdvBXhMO64mB2k3BtKi 09.03.2015 Mar PL1J-6JOckZtG3AVdvBXhMO64mB2k3BtKi 09.03.2015
Apr PL1J-6JOckZtE_rUpK24S6X5hOE4eQoprN 02.04.2017 Apr PL1J-6JOckZtE_rUpK24S6X5hOE4eQoprN 02.04.2017

View file

@ -1,20 +1,12 @@
#![cfg(test)] #![cfg(test)]
use std::{ use std::{collections::BTreeMap, fs::File, path::Path};
collections::{BTreeMap, HashMap},
fs::File,
hash::Hash,
io::BufReader,
path::Path,
};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::{ use crate::{
client::RustyTube, client::RustyTube,
model::{locale::LANGUAGES, Country, Language}, model::{locale::LANGUAGES, Country, Language},
timeago::{self, TimeAgo},
util,
}; };
type CollectedDates = BTreeMap<Language, BTreeMap<DateCase, String>>; type CollectedDates = BTreeMap<Language, BTreeMap<DateCase, String>>;
@ -38,7 +30,7 @@ enum DateCase {
Dec, Dec,
} }
// #[test_log::test(tokio::test)] #[test_log::test(tokio::test)]
async fn collect_dates() { async fn collect_dates() {
let json_path = Path::new("testfiles/date/playlist_samples.json").to_path_buf(); let json_path = Path::new("testfiles/date/playlist_samples.json").to_path_buf();
if json_path.exists() { if json_path.exists() {
@ -52,7 +44,7 @@ async fn collect_dates() {
), ),
(DateCase::Yesterday, "PLmB6td997u3kUOrfFwkULZ910ho44oQSy"), (DateCase::Yesterday, "PLmB6td997u3kUOrfFwkULZ910ho44oQSy"),
(DateCase::Ago, "PL7zsB-C3aNu2yRY2869T0zj1FhtRIu5am"), (DateCase::Ago, "PL7zsB-C3aNu2yRY2869T0zj1FhtRIu5am"),
(DateCase::Jan, "PL1J-6JOckZtFjcni6Xj1pLYglJp6JCpKD"), (DateCase::Jan, "PL1J-6JOckZtHxTA3hN5SK7gBQaFfKzeXr"),
(DateCase::Feb, "PL1J-6JOckZtETrbzwZE7mRIIK6BzWNLAs"), (DateCase::Feb, "PL1J-6JOckZtETrbzwZE7mRIIK6BzWNLAs"),
(DateCase::Mar, "PL1J-6JOckZtG3AVdvBXhMO64mB2k3BtKi"), (DateCase::Mar, "PL1J-6JOckZtG3AVdvBXhMO64mB2k3BtKi"),
(DateCase::Apr, "PL1J-6JOckZtE_rUpK24S6X5hOE4eQoprN"), (DateCase::Apr, "PL1J-6JOckZtE_rUpK24S6X5hOE4eQoprN"),
@ -83,197 +75,3 @@ async fn collect_dates() {
let file = File::create(json_path).unwrap(); let file = File::create(json_path).unwrap();
serde_json::to_writer_pretty(file, &collected_dates).unwrap(); serde_json::to_writer_pretty(file, &collected_dates).unwrap();
} }
// #[test]
fn write_samples_to_dict() {
let json_path = Path::new("testfiles/date/playlist_samples.json").to_path_buf();
let json_file = File::open(json_path).unwrap();
let collected_dates: CollectedDates =
serde_json::from_reader(BufReader::new(json_file)).unwrap();
let mut dict = super::read_dict();
let langs = dict.keys().map(|k| k.to_owned()).collect::<Vec<_>>();
let months = [
DateCase::Jan,
DateCase::Feb,
DateCase::Mar,
DateCase::Apr,
DateCase::May,
DateCase::Jun,
DateCase::Jul,
DateCase::Aug,
DateCase::Sep,
DateCase::Oct,
DateCase::Nov,
DateCase::Dec,
];
let dates: [(u32, u32, u32); 12] = [
(2020, 1, 3),
(2016, 2, 7),
(2015, 3, 9),
(2017, 4, 2),
(2014, 5, 22),
(2014, 6, 28),
(2014, 7, 2),
(2015, 8, 23),
(2018, 9, 16),
(2014, 10, 31),
(2016, 11, 3),
(2021, 12, 24),
];
for lang in langs {
let mut datestr_tables = vec![collected_dates.get(&lang).unwrap()];
dict.get(&lang)
.unwrap()
.equivalent
.iter()
.for_each(|l| datestr_tables.push(collected_dates.get(l).unwrap()));
let dict_entry = dict.entry(lang).or_default();
let mut num_order = "".to_owned();
let collect_nd_tokens = match lang {
Language::Ja
| Language::ZhCn
| Language::ZhHk
| Language::ZhTw
| Language::Ko
| Language::Gu
| Language::Pa
| Language::Ur
| Language::Uz
| Language::Te
| Language::PtPt
// Singhalese YT translation is broken (today == tomorrow)
| Language::Si => false,
_ => true,
};
dict_entry.months = BTreeMap::new();
if collect_nd_tokens {
dict_entry.timeago_nd_tokens = BTreeMap::new();
}
for datestr_table in &datestr_tables {
let mut month_words: HashMap<String, usize> = HashMap::new();
let mut td_words: HashMap<String, i8> = HashMap::new();
// Today/Yesterday
{
let mut parse = |string: &str, n: i8| {
timeago::filter_str(string)
.split_whitespace()
.for_each(|word| {
td_words
.entry(word.to_owned())
.and_modify(|e| *e = 0)
.or_insert(n);
});
};
parse(datestr_table.get(&DateCase::Today).unwrap(), 1);
parse(datestr_table.get(&DateCase::Yesterday).unwrap(), 2);
parse(datestr_table.get(&DateCase::Ago).unwrap(), 0);
parse(datestr_table.get(&DateCase::Jan).unwrap(), 0);
}
// n days ago
{
let datestr = datestr_table.get(&DateCase::Ago).unwrap();
let tago = timeago::parse(lang, &datestr);
assert_eq!(
tago,
Some(TimeAgo {
n: 3,
unit: timeago::TimeUnit::Day
}),
"lang: {}, txt: {}",
lang,
datestr
);
}
// Absolute dates (Jan 3, 2020)
months.iter().enumerate().for_each(|(n, m)| {
let datestr = datestr_table.get(m).unwrap();
// Get order of numbers
let nums = util::parse_numeric_vec::<u32>(&datestr);
let date = dates[n];
let this_num_order = nums
.iter()
.map(|n| {
if n == &date.0 {
"Y"
} else if n == &date.1 {
"M"
} else if n == &date.2 {
"D"
} else {
panic!("invalid number {} in {}", n, datestr);
}
})
.collect::<String>();
if num_order == "" {
num_order = this_num_order;
} else {
assert_eq!(this_num_order, num_order, "lang: {}", lang);
}
// Insert words into the map
timeago::filter_str(&datestr)
.split_whitespace()
.for_each(|word| {
month_words
.entry(word.to_owned())
.and_modify(|e| *e = 0)
.or_insert(n + 1);
});
});
month_words.iter().for_each(|(word, m)| {
if *m != 0 {
dict_entry.months.insert(word.to_owned(), *m as u8);
};
});
if collect_nd_tokens {
td_words.iter().for_each(|(word, n)| {
match n {
// Today
1 => {
dict_entry
.timeago_nd_tokens
.insert(word.to_owned(), "0D".to_owned());
}
// Yesterday
2 => {
dict_entry
.timeago_nd_tokens
.insert(word.to_owned(), "1D".to_owned());
}
_ => {}
};
});
if datestr_tables.len() == 1 {
assert_eq!(
dict_entry.timeago_nd_tokens.len(),
2,
"lang: {}, nd_tokens: {:?}",
lang,
&dict_entry.timeago_nd_tokens
);
}
}
}
dict_entry.date_order = num_order;
}
super::write_dict(&dict);
}

View file

@ -1,11 +1,31 @@
#![cfg(test)] #![cfg(test)]
use crate::{timeago::TimeUnit}; use std::{
collections::BTreeMap,
fmt::Debug,
fs::File,
io::{BufReader},
};
use crate::{model::Language, timeago::TimeUnit};
use fancy_regex::Regex; use fancy_regex::Regex;
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
use serde::Deserialize;
const DICT_PATH: &str = "testfiles/date/dictionary.json";
const TARGET_FILE: &str = "src/dictionary.rs"; const TARGET_FILE: &str = "src/dictionary.rs";
type Dictionary = BTreeMap<Language, DictEntry>;
#[derive(Debug, Deserialize)]
struct DictEntry {
#[serde(default)]
equivalent: Vec<Language>,
#[serde(default)]
by_char: bool,
timeago_tokens: BTreeMap<String, String>,
}
fn parse_tu(tu: &str) -> (u8, Option<TimeUnit>) { fn parse_tu(tu: &str) -> (u8, Option<TimeUnit>) {
static TU_PATTERN: Lazy<Regex> = Lazy::new(|| Regex::new(r"^(\d*)(\w?)$").unwrap()); static TU_PATTERN: Lazy<Regex> = Lazy::new(|| Regex::new(r"^(\d*)(\w?)$").unwrap());
match TU_PATTERN.captures(tu).unwrap() { match TU_PATTERN.captures(tu).unwrap() {
@ -27,85 +47,51 @@ fn parse_tu(tu: &str) -> (u8, Option<TimeUnit>) {
} }
} }
fn read_dict() -> Dictionary {
let json_file = File::open(DICT_PATH).unwrap();
serde_json::from_reader(BufReader::new(json_file)).unwrap()
}
// #[test] // #[test]
fn generate_dictionary() { fn generate_dictionary() {
let dict = super::read_dict(); let dict = read_dict();
let code_head = r#"// This file is automatically generated. DO NOT EDIT. let code_head = r#"// This file is automatically generated. DO NOT EDIT.
use crate::{ use crate::{
model::Language, model::Language,
timeago::{TaToken, TimeUnit, DateCmp}, timeago::{TaToken, TimeUnit},
}; };
pub struct Entry {
pub by_char: bool,
pub timeago_tokens: phf::Map<&'static str, TaToken>,
pub date_order: &'static [DateCmp],
pub months: phf::Map<&'static str, u8>,
pub timeago_nd_tokens: phf::Map<&'static str, TaToken>,
}
"#; "#;
let mut code_timeago_tokens = r#"#[rustfmt::skip] let mut code_timeago_tokens = r#"#[rustfmt::skip]
pub fn entry(lang: Language) -> Entry { pub(crate) fn get_timeago_tokens(lang: Language) -> phf::Map<&'static str, TaToken> {
match lang { match lang {
"# "#
.to_owned(); .to_owned();
dict.iter().for_each(|(lang, entry)| { dict.iter().for_each(|(lang, entry)| {
// Match selector // Create a map for the language
let mut map = phf_codegen::Map::<&str>::new();
entry.timeago_tokens.iter().for_each(|(txt, tu_str)| {
let (n, unit) = parse_tu(&tu_str);
match unit {
Some(unit) => map.entry(
&txt,
&format!("TaToken {{ n: {}, unit: Some(TimeUnit::{:?}) }}", n, unit),
),
None => map.entry(&txt, &format!("TaToken {{ n: {}, unit: None }}", n)),
};
});
let mut selector = format!("Language::{:?}", lang); let mut selector = format!("Language::{:?}", lang);
entry.equivalent.iter().for_each(|eq| { entry.equivalent.iter().for_each(|eq| {
selector += &format!(" | Language::{:?}", eq); selector += &format!(" | Language::{:?}", eq);
}); });
// Timeago tokens let code_map = &map.build().to_string().replace('\n', "\n ");
let mut ta_tokens = phf_codegen::Map::<&str>::new();
entry.timeago_tokens.iter().for_each(|(txt, tu_str)| {
let (n, unit) = parse_tu(&tu_str);
match unit {
Some(unit) => ta_tokens.entry(
&txt,
&format!("TaToken {{ n: {}, unit: Some(TimeUnit::{:?}) }}", n, unit),
),
None => ta_tokens.entry(&txt, &format!("TaToken {{ n: {}, unit: None }}", n)),
};
});
// Months code_timeago_tokens += &format!("{} => {},\n ", selector, code_map);
let mut months = phf_codegen::Map::<&str>::new();
entry.months.iter().for_each(|(txt, n_mon)| {
months.entry(&txt, &n_mon.to_string());
});
// Timeago(ND) tokens
let mut ta_nd_tokens = phf_codegen::Map::<&str>::new();
entry.timeago_nd_tokens.iter().for_each(|(txt, tu_str)| {
let (n, unit) = parse_tu(&tu_str);
match unit {
Some(unit) => ta_nd_tokens.entry(
&txt,
&format!("TaToken {{ n: {}, unit: Some(TimeUnit::{:?}) }}", n, unit),
),
None => ta_nd_tokens.entry(&txt, &format!("TaToken {{ n: {}, unit: None }}", n)),
};
});
// Date order
let mut date_order = "&[".to_owned();
entry.date_order.chars().for_each(|c| {
date_order += &format!("DateCmp::{}, ", c);
});
date_order = date_order.trim_end_matches([' ', ',']).to_owned() + "]";
let code_ta_tokens = &ta_tokens.build().to_string().replace('\n', "\n ");
let code_ta_nd_tokens = &ta_nd_tokens.build().to_string().replace('\n', "\n ");
let code_months = &months.build().to_string().replace('\n', "\n ");
code_timeago_tokens += &format!(
"{} => Entry {{\n by_char: {:?},\n timeago_tokens: {},\n date_order: {},\n months: {},\n timeago_nd_tokens: {},\n }},\n ",
selector, entry.by_char, code_ta_tokens, date_order, code_months, code_ta_nd_tokens
);
}); });
code_timeago_tokens = code_timeago_tokens.trim_end().to_owned() + "\n }\n}\n"; code_timeago_tokens = code_timeago_tokens.trim_end().to_owned() + "\n }\n}\n";

View file

@ -1,35 +1,4 @@
#![cfg(test)] #![cfg(test)]
use std::{collections::BTreeMap, fs::File, io::BufReader};
use serde::{Serialize, Deserialize};
use crate::model::Language;
mod collect_playlist_dates; mod collect_playlist_dates;
mod gen_dictionary; mod gen_dictionary;
mod gen_locales; mod gen_locales;
const DICT_PATH: &str = "testfiles/date/dictionary.json";
type Dictionary = BTreeMap<Language, DictEntry>;
#[derive(Debug, Default, Serialize, Deserialize)]
#[serde(default)]
struct DictEntry {
equivalent: Vec<Language>,
by_char: bool,
timeago_tokens: BTreeMap<String, String>,
date_order: String,
months: BTreeMap<String, u8>,
timeago_nd_tokens: BTreeMap<String, String>,
}
fn read_dict() -> Dictionary {
let json_file = File::open(DICT_PATH).unwrap();
serde_json::from_reader(BufReader::new(json_file)).unwrap()
}
fn write_dict(dict: &Dictionary) {
let json_file = File::create(DICT_PATH).unwrap();
serde_json::to_writer_pretty(json_file, dict).unwrap();
}

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,5 @@
use std::{cmp::Ordering, ops::Mul}; use std::cmp::Ordering;
use chrono::NaiveDate;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::{dictionary, model::Language, util}; use crate::{dictionary, model::Language, util};
@ -12,17 +11,11 @@ pub struct TimeAgo {
} }
#[derive(Debug, Copy, Clone, PartialEq, Eq)] #[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub struct TaToken { pub(crate) struct TaToken {
pub n: u8, pub n: u8,
pub unit: Option<TimeUnit>, pub unit: Option<TimeUnit>,
} }
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
enum ParsedDate {
Absolute(NaiveDate),
Relative(TimeAgo),
}
#[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)] #[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[serde(rename_all = "lowercase")] #[serde(rename_all = "lowercase")]
pub enum TimeUnit { pub enum TimeUnit {
@ -35,12 +28,6 @@ pub enum TimeUnit {
Year, Year,
} }
pub enum DateCmp {
Y,
M,
D,
}
impl TimeUnit { impl TimeUnit {
fn seconds(&self) -> u64 { fn seconds(&self) -> u64 {
match self { match self {
@ -79,56 +66,34 @@ impl PartialOrd for TimeAgo {
} }
} }
impl Mul<u8> for TimeAgo { pub fn parse(lang: Language, textual_date: &str) -> Option<TimeAgo> {
type Output = Self; let mappings = dictionary::get_timeago_tokens(lang);
fn mul(self, rhs: u8) -> Self::Output { let filtered_str = textual_date
TimeAgo {
n: self.n * rhs,
unit: self.unit,
}
}
}
pub fn filter_str(string: &str) -> String {
string
.to_lowercase() .to_lowercase()
.chars() .chars()
.filter_map(|c| { .filter(|c| c != &'\u{200b}' && !c.is_ascii_digit())
if c == '\u{200b}' || c.is_ascii_digit() { .collect::<String>();
None
} else if c == '-' {
Some(' ')
} else {
Some(c)
}
})
.collect()
}
fn parse_ta_token(entry: &dictionary::Entry, nd: bool, filtered_str: &str) -> Option<TimeAgo> { let mut qu: u8 = util::parse_numeric(&textual_date).unwrap_or(1);
let tokens = match nd {
true => &entry.timeago_nd_tokens,
false => &entry.timeago_tokens,
};
let mut qu = 1;
if entry.by_char { match lang {
filtered_str.chars().find_map(|word| { Language::Ja | Language::ZhCn | Language::ZhHk | Language::ZhTw => {
tokens filtered_str.chars().find_map(|word| {
.get(&word.to_string()) mappings
.map(|t| match t.unit { .get(&word.to_string())
Some(unit) => Some(TimeAgo { n: t.n * qu, unit }), .map(|t| match t.unit {
None => { Some(unit) => Some(TimeAgo { n: t.n * qu, unit }),
qu = t.n; None => {
None qu = t.n;
} None
}) }
.flatten() })
}) .flatten()
} else { })
filtered_str.split_whitespace().find_map(|word| { }
tokens _ => filtered_str.split_whitespace().find_map(|word| {
mappings
.get(word) .get(word)
.map(|t| match t.unit { .map(|t| match t.unit {
Some(unit) => Some(TimeAgo { n: t.n * qu, unit }), Some(unit) => Some(TimeAgo { n: t.n * qu, unit }),
@ -138,75 +103,7 @@ fn parse_ta_token(entry: &dictionary::Entry, nd: bool, filtered_str: &str) -> Op
} }
}) })
.flatten() .flatten()
}) }),
}
}
fn parse_textual_month(entry: &dictionary::Entry, filtered_str: &str) -> Option<u8> {
if entry.by_char {
// Chinese/Japanese dont use textual months
None
} else {
filtered_str
.split_whitespace()
.find_map(|word| entry.months.get(word).map(|n| *n))
}
}
pub fn parse(lang: Language, textual_date: &str) -> Option<TimeAgo> {
let entry = dictionary::entry(lang);
let filtered_str = filter_str(textual_date);
let qu: u8 = util::parse_numeric(&textual_date).unwrap_or(1);
parse_ta_token(&entry, false, &filtered_str).map(|ta| ta * qu)
}
fn parse_date(lang: Language, textual_date: &str) -> Option<ParsedDate> {
let entry = dictionary::entry(lang);
let filtered_str = filter_str(textual_date);
let nums = util::parse_numeric_vec::<u16>(textual_date);
match nums.len() {
0 => match parse_ta_token(&entry, true, &filtered_str) {
Some(timeago) => Some(ParsedDate::Relative(timeago)),
None => parse_ta_token(&entry, false, &filtered_str)
.map(|timeago| ParsedDate::Relative(timeago)),
},
1 => parse_ta_token(&entry, false, &filtered_str)
.map(|timeago| ParsedDate::Relative(timeago * nums[0] as u8)),
2..=3 => {
if nums.len() == entry.date_order.len() {
let mut y: Option<u16> = None;
let mut m: Option<u16> = None;
let mut d: Option<u16> = None;
nums.iter()
.enumerate()
.for_each(|(i, n)| match entry.date_order[i] {
DateCmp::Y => y = Some(*n),
DateCmp::M => m = Some(*n),
DateCmp::D => d = Some(*n),
});
if m.is_none() {
m = parse_textual_month(&entry, &filtered_str).map(|n| n as u16);
}
match (y, m, d) {
(Some(y), Some(m), Some(d)) => Some(ParsedDate::Absolute(NaiveDate::from_ymd(
y.into(),
m.into(),
d.into(),
))),
_ => None,
}
} else {
None
}
}
_ => None,
} }
} }
@ -228,8 +125,8 @@ mod tests {
#[case] textual_date: &str, #[case] textual_date: &str,
#[case] expect: Option<TimeAgo>, #[case] expect: Option<TimeAgo>,
) { ) {
let time_ago = parse(lang, textual_date); let secs_ago = parse(lang, textual_date);
assert_eq!(time_ago, expect); assert_eq!(secs_ago, expect);
} }
#[test] #[test]
@ -442,137 +339,4 @@ mod tests {
assert_eq!(n_cases, 1065) assert_eq!(n_cases, 1065)
} }
#[rstest]
#[case(Language::En, "Updated today", Some(ParsedDate::Relative(TimeAgo { n: 0, unit: TimeUnit::Day })))]
#[case(Language::En, "Updated yesterday", Some(ParsedDate::Relative(TimeAgo { n: 1, unit: TimeUnit::Day })))]
#[case(Language::En, "Updated 2 days ago", Some(ParsedDate::Relative(TimeAgo { n: 2, unit: TimeUnit::Day })))]
#[case(Language::Si, "ඊයේ යාවත්කාලීන කරන ලදී", Some(ParsedDate::Relative(TimeAgo { n: 1, unit: TimeUnit::Day })))]
#[case(
Language::En,
"Last updated on Jun 04, 2003",
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2003, 6, 4)))
)]
fn t_parse_date(
#[case] lang: Language,
#[case] textual_date: &str,
#[case] expect: Option<ParsedDate>,
) {
let parsed_date = parse_date(lang, textual_date);
assert_eq!(parsed_date, expect);
}
#[test]
fn t_parse_date_samples() {
let json_path = Path::new("testfiles/date/playlist_samples.json");
let json_file = File::open(json_path).unwrap();
let date_samples: BTreeMap<Language, BTreeMap<String, String>> =
serde_json::from_reader(BufReader::new(json_file)).unwrap();
date_samples.iter().for_each(|(lang, samples)| {
assert_eq!(
parse_date(*lang, samples.get("Today").unwrap()),
Some(ParsedDate::Relative(TimeAgo {
n: 0,
unit: TimeUnit::Day
})),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Yesterday").unwrap()),
Some(ParsedDate::Relative(TimeAgo {
// YT's Singhalese translation has an error (yesterday == today)
n: match lang {
Language::Si => 0,
_ => 1,
},
unit: TimeUnit::Day
})),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Ago").unwrap()),
Some(ParsedDate::Relative(TimeAgo {
n: 3,
unit: TimeUnit::Day
})),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Jan").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2020, 1, 3))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Feb").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2016, 2, 7))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Mar").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2015, 3, 9))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Apr").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2017, 4, 2))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("May").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2014, 5, 22))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Jun").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2014, 6, 28))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Jul").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2014, 7, 2))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Aug").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2015, 8, 23))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Sep").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2018, 9, 16))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Oct").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2014, 10, 31))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Nov").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2016, 11, 3))),
"lang: {}",
lang
);
assert_eq!(
parse_date(*lang, samples.get("Dec").unwrap()),
Some(ParsedDate::Absolute(NaiveDate::from_ymd(2021, 12, 24))),
"lang: {}",
lang
);
})
}
} }

View file

@ -2,6 +2,7 @@ use std::{collections::BTreeMap, str::FromStr};
use anyhow::Result; use anyhow::Result;
use fancy_regex::Regex; use fancy_regex::Regex;
use once_cell::sync::Lazy;
use rand::Rng; use rand::Rng;
use url::Url; use url::Url;
@ -58,36 +59,8 @@ pub fn parse_numeric<F>(string: &str) -> Result<F, F::Err>
where where
F: FromStr, F: FromStr,
{ {
let mut buf = String::new(); static NUM_PATTERN: Lazy<Regex> = Lazy::new(|| Regex::new("\\D+").unwrap());
for c in string.chars() { NUM_PATTERN.replace_all(string, "").parse()
if c.is_ascii_digit() {
buf.push(c);
}
}
buf.parse()
}
/// Parse all numbers occurring in a string and reurn them as a vec
pub fn parse_numeric_vec<F>(string: &str) -> Vec<F>
where
F: FromStr,
{
let mut numbers = vec![];
let mut buf = String::new();
for c in string.chars() {
if c.is_ascii_digit() {
buf.push(c);
} else if !buf.is_empty() {
buf.parse::<F>().map_or((), |n| numbers.push(n));
buf.clear();
}
}
if !buf.is_empty() {
buf.parse::<F>().map_or((), |n| numbers.push(n));
}
numbers
} }
#[cfg(test)] #[cfg(test)]
@ -103,13 +76,4 @@ mod tests {
let n = parse_numeric::<u32>(string).unwrap(); let n = parse_numeric::<u32>(string).unwrap();
assert_eq!(n, expect); assert_eq!(n, expect);
} }
#[rstest]
#[case("15.03.2022", vec![15, 3, 2022])]
#[case("4 Hello World 2", vec![4, 2])]
#[case("最后更新时间2020年1月3日", vec![2020, 1, 3])]
fn t_parse_numeric_vec(#[case] string: &str, #[case] expect: Vec<u32>) {
let n = parse_numeric_vec::<u32>(string);
assert_eq!(n, expect);
}
} }

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
"Today": "Vandag opgedateer", "Today": "Vandag opgedateer",
"Yesterday": "Gister opgedateer", "Yesterday": "Gister opgedateer",
"Ago": "3 dae gelede opgedateer", "Ago": "3 dae gelede opgedateer",
"Jan": "Laas opgedateer op 03 Jan. 2020", "Jan": "Laas opgedateer op 01 Jan. 2016",
"Feb": "Laas opgedateer op 07 Feb. 2016", "Feb": "Laas opgedateer op 07 Feb. 2016",
"Mar": "Laas opgedateer op 09 Mrt. 2015", "Mar": "Laas opgedateer op 09 Mrt. 2015",
"Apr": "Laas opgedateer op 02 Apr. 2017", "Apr": "Laas opgedateer op 02 Apr. 2017",
@ -20,7 +20,7 @@
"Today": "ዛሬ ዘምኗል", "Today": "ዛሬ ዘምኗል",
"Yesterday": "ትላንት ዘምኗል", "Yesterday": "ትላንት ዘምኗል",
"Ago": "ከ3 ቀናት በፊት ዘምኗል", "Ago": "ከ3 ቀናት በፊት ዘምኗል",
"Jan": "ለመጨረሻ ጊዜ የዘመነው 3 ጃንዩ 2020", "Jan": "ለመጨረሻ ጊዜ የዘመነው 1 ጃንዩ 2016",
"Feb": "ለመጨረሻ ጊዜ የዘመነው 7 ፌብሩ 2016", "Feb": "ለመጨረሻ ጊዜ የዘመነው 7 ፌብሩ 2016",
"Mar": "ለመጨረሻ ጊዜ የዘመነው 9 ማርች 2015", "Mar": "ለመጨረሻ ጊዜ የዘመነው 9 ማርች 2015",
"Apr": "ለመጨረሻ ጊዜ የዘመነው 2 ኤፕሪ 2017", "Apr": "ለመጨረሻ ጊዜ የዘመነው 2 ኤፕሪ 2017",
@ -37,7 +37,7 @@
"Today": "تم التحديث اليوم", "Today": "تم التحديث اليوم",
"Yesterday": "تم التحديث بالأمس", "Yesterday": "تم التحديث بالأمس",
"Ago": "تم التحديث منذ 3 أيام", "Ago": "تم التحديث منذ 3 أيام",
"Jan": "تم إجراء التعديل الأخير في 03/01/2020", "Jan": "تم إجراء التعديل الأخير في 01/01/2016",
"Feb": "تم إجراء التعديل الأخير في 07/02/2016", "Feb": "تم إجراء التعديل الأخير في 07/02/2016",
"Mar": "تم إجراء التعديل الأخير في 09/03/2015", "Mar": "تم إجراء التعديل الأخير في 09/03/2015",
"Apr": "تم إجراء التعديل الأخير في 02/04/2017", "Apr": "تم إجراء التعديل الأخير في 02/04/2017",
@ -54,7 +54,7 @@
"Today": "আজি আপডে’ট কৰা হৈছে", "Today": "আজি আপডে’ট কৰা হৈছে",
"Yesterday": "কালি আপডে’ট কৰা হৈছে", "Yesterday": "কালি আপডে’ট কৰা হৈছে",
"Ago": "3 দিন আগতে আপডে’ট কৰা হৈছে", "Ago": "3 দিন আগতে আপডে’ট কৰা হৈছে",
"Jan": "অন্তিমবাৰ 03-01-2020ত আপডে’ট কৰা হৈছিল", "Jan": "অন্তিমবাৰ 01-01-2016ত আপডে’ট কৰা হৈছিল",
"Feb": "অন্তিমবাৰ 07-02-2016ত আপডে’ট কৰা হৈছিল", "Feb": "অন্তিমবাৰ 07-02-2016ত আপডে’ট কৰা হৈছিল",
"Mar": "অন্তিমবাৰ 09-03-2015ত আপডে’ট কৰা হৈছিল", "Mar": "অন্তিমবাৰ 09-03-2015ত আপডে’ট কৰা হৈছিল",
"Apr": "অন্তিমবাৰ 02-04-2017ত আপডে’ট কৰা হৈছিল", "Apr": "অন্তিমবাৰ 02-04-2017ত আপডে’ট কৰা হৈছিল",
@ -71,7 +71,7 @@
"Today": "Bugün güncəlləşdirildi", "Today": "Bugün güncəlləşdirildi",
"Yesterday": "Dünən güncəlləşdirildi", "Yesterday": "Dünən güncəlləşdirildi",
"Ago": "3 gün əvvəl güncəlləşdirildi", "Ago": "3 gün əvvəl güncəlləşdirildi",
"Jan": "Son güncəllənmə: 3 yan 2020", "Jan": "Son güncəllənmə: 1 yan 2016",
"Feb": "Son güncəllənmə: 7 fev 2016", "Feb": "Son güncəllənmə: 7 fev 2016",
"Mar": "Son güncəllənmə: 9 mar 2015", "Mar": "Son güncəllənmə: 9 mar 2015",
"Apr": "Son güncəllənmə: 2 apr 2017", "Apr": "Son güncəllənmə: 2 apr 2017",
@ -88,7 +88,7 @@
"Today": "Абноўлена сёння", "Today": "Абноўлена сёння",
"Yesterday": "Абноўлена ўчора", "Yesterday": "Абноўлена ўчора",
"Ago": "Абноўлена 3 дні таму", "Ago": "Абноўлена 3 дні таму",
"Jan": "Дата апошняга абнаўлення: 3 сту 2020 г.", "Jan": "Дата апошняга абнаўлення: 1 сту 2016 г.",
"Feb": "Дата апошняга абнаўлення: 7 лют 2016 г.", "Feb": "Дата апошняга абнаўлення: 7 лют 2016 г.",
"Mar": "Дата апошняга абнаўлення: 9 сак 2015 г.", "Mar": "Дата апошняга абнаўлення: 9 сак 2015 г.",
"Apr": "Дата апошняга абнаўлення: 2 кра 2017 г.", "Apr": "Дата апошняга абнаўлення: 2 кра 2017 г.",
@ -105,7 +105,7 @@
"Today": "Актуализирани днес", "Today": "Актуализирани днес",
"Yesterday": "Актуализиран вчера", "Yesterday": "Актуализиран вчера",
"Ago": "Актуализирани преди 3 дни", "Ago": "Актуализирани преди 3 дни",
"Jan": "Последно актуализиран на 3.01.2020 г.", "Jan": "Последно актуализиран на 1.01.2016 г.",
"Feb": "Последно актуализиран на 7.02.2016 г.", "Feb": "Последно актуализиран на 7.02.2016 г.",
"Mar": "Последно актуализиран на 9.03.2015 г.", "Mar": "Последно актуализиран на 9.03.2015 г.",
"Apr": "Последно актуализиран на 2.04.2017 г.", "Apr": "Последно актуализиран на 2.04.2017 г.",
@ -122,7 +122,7 @@
"Today": "আজ আপডেট হয়েছে", "Today": "আজ আপডেট হয়েছে",
"Yesterday": "গতকাল আপডেট হয়েছে", "Yesterday": "গতকাল আপডেট হয়েছে",
"Ago": "3 দিন আগে আপডেট হয়েছে", "Ago": "3 দিন আগে আপডেট হয়েছে",
"Jan": "3 জানু, 2020 এ সর্বশেষ আপডেট হয়েছে", "Jan": "1 জানু, 2016 এ সর্বশেষ আপডেট হয়েছে",
"Feb": "7 ফেব, 2016 এ সর্বশেষ আপডেট হয়েছে", "Feb": "7 ফেব, 2016 এ সর্বশেষ আপডেট হয়েছে",
"Mar": "9 মার্চ, 2015 এ সর্বশেষ আপডেট হয়েছে", "Mar": "9 মার্চ, 2015 এ সর্বশেষ আপডেট হয়েছে",
"Apr": "2 এপ্রিল, 2017 এ সর্বশেষ আপডেট হয়েছে", "Apr": "2 এপ্রিল, 2017 এ সর্বশেষ আপডেট হয়েছে",
@ -139,7 +139,7 @@
"Today": "Ažurirano danas", "Today": "Ažurirano danas",
"Yesterday": "Ažurirano jučer", "Yesterday": "Ažurirano jučer",
"Ago": "Ažurirano prije 3 dana", "Ago": "Ažurirano prije 3 dana",
"Jan": "Zadnje ažuriranje 3. jan 2020.", "Jan": "Zadnje ažuriranje 1. jan 2016.",
"Feb": "Zadnje ažuriranje 7. feb 2016.", "Feb": "Zadnje ažuriranje 7. feb 2016.",
"Mar": "Zadnje ažuriranje 9. mar 2015.", "Mar": "Zadnje ažuriranje 9. mar 2015.",
"Apr": "Zadnje ažuriranje 2. apr 2017.", "Apr": "Zadnje ažuriranje 2. apr 2017.",
@ -156,7 +156,7 @@
"Today": "Actualitzada avui", "Today": "Actualitzada avui",
"Yesterday": "Actualitzada ahir", "Yesterday": "Actualitzada ahir",
"Ago": "Actualitzada fa 3 dies", "Ago": "Actualitzada fa 3 dies",
"Jan": "Darrera actualització: 3 de gen. 2020", "Jan": "Darrera actualització: 1 de gen. 2016",
"Feb": "Darrera actualització: 7 de febr. 2016", "Feb": "Darrera actualització: 7 de febr. 2016",
"Mar": "Darrera actualització: 9 de març 2015", "Mar": "Darrera actualització: 9 de març 2015",
"Apr": "Darrera actualització: 2 dabr. 2017", "Apr": "Darrera actualització: 2 dabr. 2017",
@ -173,7 +173,7 @@
"Today": "Aktualizováno dnes", "Today": "Aktualizováno dnes",
"Yesterday": "Aktualizováno včera", "Yesterday": "Aktualizováno včera",
"Ago": "Aktualizováno před 3 dny", "Ago": "Aktualizováno před 3 dny",
"Jan": "Poslední aktualizace: 3. 1. 2020", "Jan": "Poslední aktualizace: 1. 1. 2016",
"Feb": "Poslední aktualizace: 7. 2. 2016", "Feb": "Poslední aktualizace: 7. 2. 2016",
"Mar": "Poslední aktualizace: 9. 3. 2015", "Mar": "Poslední aktualizace: 9. 3. 2015",
"Apr": "Poslední aktualizace: 2. 4. 2017", "Apr": "Poslední aktualizace: 2. 4. 2017",
@ -190,7 +190,7 @@
"Today": "Opdateret i dag", "Today": "Opdateret i dag",
"Yesterday": "Opdateret i går", "Yesterday": "Opdateret i går",
"Ago": "Opdateret for 3 dage siden", "Ago": "Opdateret for 3 dage siden",
"Jan": "Sidst opdateret d. 3. jan. 2020", "Jan": "Sidst opdateret d. 1. jan. 2016",
"Feb": "Sidst opdateret d. 7. feb. 2016", "Feb": "Sidst opdateret d. 7. feb. 2016",
"Mar": "Sidst opdateret d. 9. mar. 2015", "Mar": "Sidst opdateret d. 9. mar. 2015",
"Apr": "Sidst opdateret d. 2. apr. 2017", "Apr": "Sidst opdateret d. 2. apr. 2017",
@ -207,7 +207,7 @@
"Today": "Heute aktualisiert", "Today": "Heute aktualisiert",
"Yesterday": "Gestern aktualisiert", "Yesterday": "Gestern aktualisiert",
"Ago": "Vor 3 Tagen aktualisiert", "Ago": "Vor 3 Tagen aktualisiert",
"Jan": "Zuletzt am 03.01.2020 aktualisiert", "Jan": "Zuletzt am 01.01.2016 aktualisiert",
"Feb": "Zuletzt am 07.02.2016 aktualisiert", "Feb": "Zuletzt am 07.02.2016 aktualisiert",
"Mar": "Zuletzt am 09.03.2015 aktualisiert", "Mar": "Zuletzt am 09.03.2015 aktualisiert",
"Apr": "Zuletzt am 02.04.2017 aktualisiert", "Apr": "Zuletzt am 02.04.2017 aktualisiert",
@ -224,7 +224,7 @@
"Today": "Ενημερώθηκε σήμερα", "Today": "Ενημερώθηκε σήμερα",
"Yesterday": "Ενημερώθηκε χτες", "Yesterday": "Ενημερώθηκε χτες",
"Ago": "Ενημερώθηκε πριν 3 ημέρες", "Ago": "Ενημερώθηκε πριν 3 ημέρες",
"Jan": "Τελευταία ενημέρωση στις 3 Ιαν 2020", "Jan": "Τελευταία ενημέρωση στις 1 Ιαν 2016",
"Feb": "Τελευταία ενημέρωση στις 7 Φεβ 2016", "Feb": "Τελευταία ενημέρωση στις 7 Φεβ 2016",
"Mar": "Τελευταία ενημέρωση στις 9 Μαρ 2015", "Mar": "Τελευταία ενημέρωση στις 9 Μαρ 2015",
"Apr": "Τελευταία ενημέρωση στις 2 Απρ 2017", "Apr": "Τελευταία ενημέρωση στις 2 Απρ 2017",
@ -241,7 +241,7 @@
"Today": "Updated today", "Today": "Updated today",
"Yesterday": "Updated yesterday", "Yesterday": "Updated yesterday",
"Ago": "Updated 3 days ago", "Ago": "Updated 3 days ago",
"Jan": "Last updated on Jan 3, 2020", "Jan": "Last updated on Jan 1, 2016",
"Feb": "Last updated on Feb 7, 2016", "Feb": "Last updated on Feb 7, 2016",
"Mar": "Last updated on Mar 9, 2015", "Mar": "Last updated on Mar 9, 2015",
"Apr": "Last updated on Apr 2, 2017", "Apr": "Last updated on Apr 2, 2017",
@ -258,7 +258,7 @@
"Today": "Updated today", "Today": "Updated today",
"Yesterday": "Updated yesterday", "Yesterday": "Updated yesterday",
"Ago": "Updated 3 days ago", "Ago": "Updated 3 days ago",
"Jan": "Last updated on 3 Jan 2020", "Jan": "Last updated on 1 Jan 2016",
"Feb": "Last updated on 7 Feb 2016", "Feb": "Last updated on 7 Feb 2016",
"Mar": "Last updated on 9 Mar 2015", "Mar": "Last updated on 9 Mar 2015",
"Apr": "Last updated on 2 Apr 2017", "Apr": "Last updated on 2 Apr 2017",
@ -275,7 +275,7 @@
"Today": "Updated today", "Today": "Updated today",
"Yesterday": "Updated yesterday", "Yesterday": "Updated yesterday",
"Ago": "Updated 3 days ago", "Ago": "Updated 3 days ago",
"Jan": "Last updated on 03-Jan-2020", "Jan": "Last updated on 01-Jan-2016",
"Feb": "Last updated on 07-Feb-2016", "Feb": "Last updated on 07-Feb-2016",
"Mar": "Last updated on 09-Mar-2015", "Mar": "Last updated on 09-Mar-2015",
"Apr": "Last updated on 02-Apr-2017", "Apr": "Last updated on 02-Apr-2017",
@ -292,7 +292,7 @@
"Today": "Actualizado hoy", "Today": "Actualizado hoy",
"Yesterday": "Actualizado ayer", "Yesterday": "Actualizado ayer",
"Ago": "Actualizado hace 3 días", "Ago": "Actualizado hace 3 días",
"Jan": "Actualizado por última vez el 3 ene 2020", "Jan": "Actualizado por última vez el 1 ene 2016",
"Feb": "Actualizado por última vez el 7 feb 2016", "Feb": "Actualizado por última vez el 7 feb 2016",
"Mar": "Actualizado por última vez el 9 mar 2015", "Mar": "Actualizado por última vez el 9 mar 2015",
"Apr": "Actualizado por última vez el 2 abr 2017", "Apr": "Actualizado por última vez el 2 abr 2017",
@ -309,7 +309,7 @@
"Today": "Actualizada hoy", "Today": "Actualizada hoy",
"Yesterday": "Actualizada ayer", "Yesterday": "Actualizada ayer",
"Ago": "Actualizada hace 3 días", "Ago": "Actualizada hace 3 días",
"Jan": "Se actualizó por última vez el 3 ene 2020", "Jan": "Se actualizó por última vez el 1 ene 2016",
"Feb": "Se actualizó por última vez el 7 feb 2016", "Feb": "Se actualizó por última vez el 7 feb 2016",
"Mar": "Se actualizó por última vez el 9 mar 2015", "Mar": "Se actualizó por última vez el 9 mar 2015",
"Apr": "Se actualizó por última vez el 2 abr 2017", "Apr": "Se actualizó por última vez el 2 abr 2017",
@ -326,7 +326,7 @@
"Today": "Actualizada hoy", "Today": "Actualizada hoy",
"Yesterday": "Actualizada ayer", "Yesterday": "Actualizada ayer",
"Ago": "Actualizada hace 3 días", "Ago": "Actualizada hace 3 días",
"Jan": "Se actualizó por última vez el 3 ene 2020", "Jan": "Se actualizó por última vez el 1 ene 2016",
"Feb": "Se actualizó por última vez el 7 feb 2016", "Feb": "Se actualizó por última vez el 7 feb 2016",
"Mar": "Se actualizó por última vez el 9 mar 2015", "Mar": "Se actualizó por última vez el 9 mar 2015",
"Apr": "Se actualizó por última vez el 2 abr 2017", "Apr": "Se actualizó por última vez el 2 abr 2017",
@ -343,7 +343,7 @@
"Today": "Täna värskendatud", "Today": "Täna värskendatud",
"Yesterday": "Eile värskendatud", "Yesterday": "Eile värskendatud",
"Ago": "Värskendatud 3 päeva tagasi", "Ago": "Värskendatud 3 päeva tagasi",
"Jan": "Viimati värskendatud 3. jaan 2020", "Jan": "Viimati värskendatud 1. jaan 2016",
"Feb": "Viimati värskendatud 7. veebr 2016", "Feb": "Viimati värskendatud 7. veebr 2016",
"Mar": "Viimati värskendatud 9. märts 2015", "Mar": "Viimati värskendatud 9. märts 2015",
"Apr": "Viimati värskendatud 2. apr 2017", "Apr": "Viimati värskendatud 2. apr 2017",
@ -360,7 +360,7 @@
"Today": "Gaur eguneratua", "Today": "Gaur eguneratua",
"Yesterday": "Atzo eguneratua", "Yesterday": "Atzo eguneratua",
"Ago": "Duela 3 egun eguneratua", "Ago": "Duela 3 egun eguneratua",
"Jan": "Azken eguneratze-data: 2020(e)ko urt. 3(a)", "Jan": "Azken eguneratze-data: 2016(e)ko urt. 1(a)",
"Feb": "Azken eguneratze-data: 2016(e)ko ots. 7(a)", "Feb": "Azken eguneratze-data: 2016(e)ko ots. 7(a)",
"Mar": "Azken eguneratze-data: 2015(e)ko mar. 9(a)", "Mar": "Azken eguneratze-data: 2015(e)ko mar. 9(a)",
"Apr": "Azken eguneratze-data: 2017(e)ko api. 2(a)", "Apr": "Azken eguneratze-data: 2017(e)ko api. 2(a)",
@ -377,7 +377,7 @@
"Today": "امروز به‌روزرسانی شده", "Today": "امروز به‌روزرسانی شده",
"Yesterday": "دیروز به‌روزرسانی شده", "Yesterday": "دیروز به‌روزرسانی شده",
"Ago": "3 روز پیش به‌روزرسانی شده", "Ago": "3 روز پیش به‌روزرسانی شده",
"Jan": "آخرین تاریخ به‌روزرسانی 3 ژانویه 2020", "Jan": "آخرین تاریخ به‌روزرسانی 1 ژانویه 2016",
"Feb": "آخرین تاریخ به‌روزرسانی 7 فوریه 2016", "Feb": "آخرین تاریخ به‌روزرسانی 7 فوریه 2016",
"Mar": "آخرین تاریخ به‌روزرسانی 9 مارس 2015", "Mar": "آخرین تاریخ به‌روزرسانی 9 مارس 2015",
"Apr": "آخرین تاریخ به‌روزرسانی 2 آوریل 2017", "Apr": "آخرین تاریخ به‌روزرسانی 2 آوریل 2017",
@ -394,7 +394,7 @@
"Today": "Päivitetty tänään", "Today": "Päivitetty tänään",
"Yesterday": "Päivitetty eilen", "Yesterday": "Päivitetty eilen",
"Ago": "Päivitetty 3 päivää sitten", "Ago": "Päivitetty 3 päivää sitten",
"Jan": "Viimeksi päivitetty 3.1.2020", "Jan": "Viimeksi päivitetty 1.1.2016",
"Feb": "Viimeksi päivitetty 7.2.2016", "Feb": "Viimeksi päivitetty 7.2.2016",
"Mar": "Viimeksi päivitetty 9.3.2015", "Mar": "Viimeksi päivitetty 9.3.2015",
"Apr": "Viimeksi päivitetty 2.4.2017", "Apr": "Viimeksi päivitetty 2.4.2017",
@ -411,7 +411,7 @@
"Today": "Na-update ngayong araw", "Today": "Na-update ngayong araw",
"Yesterday": "Na-update kahapon", "Yesterday": "Na-update kahapon",
"Ago": "Na-update 3 araw ang nakalipas", "Ago": "Na-update 3 araw ang nakalipas",
"Jan": "Huling na-update noong Ene 3, 2020", "Jan": "Huling na-update noong Ene 1, 2016",
"Feb": "Huling na-update noong Peb 7, 2016", "Feb": "Huling na-update noong Peb 7, 2016",
"Mar": "Huling na-update noong Mar 9, 2015", "Mar": "Huling na-update noong Mar 9, 2015",
"Apr": "Huling na-update noong Abr 2, 2017", "Apr": "Huling na-update noong Abr 2, 2017",
@ -428,7 +428,7 @@
"Today": "Mise à jour aujourd'hui", "Today": "Mise à jour aujourd'hui",
"Yesterday": "Mise à jour hier", "Yesterday": "Mise à jour hier",
"Ago": "Mise à jour il y a 3 jours", "Ago": "Mise à jour il y a 3 jours",
"Jan": "Dernière modification le 3 janv. 2020", "Jan": "Dernière modification le 1 janv. 2016",
"Feb": "Dernière modification le 7 févr. 2016", "Feb": "Dernière modification le 7 févr. 2016",
"Mar": "Dernière modification le 9 mars 2015", "Mar": "Dernière modification le 9 mars 2015",
"Apr": "Dernière modification le 2 avr. 2017", "Apr": "Dernière modification le 2 avr. 2017",
@ -445,7 +445,7 @@
"Today": "Mise à jour aujourd'hui", "Today": "Mise à jour aujourd'hui",
"Yesterday": "Mise à jour hier", "Yesterday": "Mise à jour hier",
"Ago": "Mise à jour il y a 3 jours", "Ago": "Mise à jour il y a 3 jours",
"Jan": "Dernière mise à jour le 3 janv. 2020", "Jan": "Dernière mise à jour le 1 janv. 2016",
"Feb": "Dernière mise à jour le 7 févr. 2016", "Feb": "Dernière mise à jour le 7 févr. 2016",
"Mar": "Dernière mise à jour le 9 mars 2015", "Mar": "Dernière mise à jour le 9 mars 2015",
"Apr": "Dernière mise à jour le 2 avr. 2017", "Apr": "Dernière mise à jour le 2 avr. 2017",
@ -462,7 +462,7 @@
"Today": "Actualizáronse hoxe", "Today": "Actualizáronse hoxe",
"Yesterday": "Actualizáronse onte", "Yesterday": "Actualizáronse onte",
"Ago": "Actualizáronse hai 3 días", "Ago": "Actualizáronse hai 3 días",
"Jan": "Última actualización: 3 de xan. de 2020", "Jan": "Última actualización: 1 de xan. de 2016",
"Feb": "Última actualización: 7 de feb. de 2016", "Feb": "Última actualización: 7 de feb. de 2016",
"Mar": "Última actualización: 9 de mar. de 2015", "Mar": "Última actualización: 9 de mar. de 2015",
"Apr": "Última actualización: 2 de abr. de 2017", "Apr": "Última actualización: 2 de abr. de 2017",
@ -479,7 +479,7 @@
"Today": "આજે અપડેટ થયેલ", "Today": "આજે અપડેટ થયેલ",
"Yesterday": "ગઈ કાલે અપડેટ થયેલ", "Yesterday": "ગઈ કાલે અપડેટ થયેલ",
"Ago": "3 દિવસ પહેલાં અપડેટ થયેલ", "Ago": "3 દિવસ પહેલાં અપડેટ થયેલ",
"Jan": "3 જાન્યુ, 2020 ના રોજ છેલ્લે અપડેટ કરાયેલ", "Jan": "1 જાન્યુ, 2016 ના રોજ છેલ્લે અપડેટ કરાયેલ",
"Feb": "7 ફેબ્રુ, 2016 ના રોજ છેલ્લે અપડેટ કરાયેલ", "Feb": "7 ફેબ્રુ, 2016 ના રોજ છેલ્લે અપડેટ કરાયેલ",
"Mar": "9 માર્ચ, 2015 ના રોજ છેલ્લે અપડેટ કરાયેલ", "Mar": "9 માર્ચ, 2015 ના રોજ છેલ્લે અપડેટ કરાયેલ",
"Apr": "2 એપ્રિલ, 2017 ના રોજ છેલ્લે અપડેટ કરાયેલ", "Apr": "2 એપ્રિલ, 2017 ના રોજ છેલ્લે અપડેટ કરાયેલ",
@ -496,7 +496,7 @@
"Today": "आज अपडेट किया गया", "Today": "आज अपडेट किया गया",
"Yesterday": "कल अपडेट किया गया", "Yesterday": "कल अपडेट किया गया",
"Ago": "3 दिन पहले अपडेट किया गया", "Ago": "3 दिन पहले अपडेट किया गया",
"Jan": "पिछली बार 3 जन॰ 2020 को अपडेट किया गया", "Jan": "पिछली बार 1 जन॰ 2016 को अपडेट किया गया",
"Feb": "पिछली बार 7 फ़र॰ 2016 को अपडेट किया गया", "Feb": "पिछली बार 7 फ़र॰ 2016 को अपडेट किया गया",
"Mar": "पिछली बार 9 मार्च 2015 को अपडेट किया गया", "Mar": "पिछली बार 9 मार्च 2015 को अपडेट किया गया",
"Apr": "पिछली बार 2 अप्रैल 2017 को अपडेट किया गया", "Apr": "पिछली बार 2 अप्रैल 2017 को अपडेट किया गया",
@ -513,7 +513,7 @@
"Today": "Ažurirano danas", "Today": "Ažurirano danas",
"Yesterday": "Ažurirano jučer", "Yesterday": "Ažurirano jučer",
"Ago": "Ažurirano prije 3 dana", "Ago": "Ažurirano prije 3 dana",
"Jan": "Posljednje ažuriranje: 3. sij 2020.", "Jan": "Posljednje ažuriranje: 1. sij 2016.",
"Feb": "Posljednje ažuriranje: 7. velj 2016.", "Feb": "Posljednje ažuriranje: 7. velj 2016.",
"Mar": "Posljednje ažuriranje: 9. ožu 2015.", "Mar": "Posljednje ažuriranje: 9. ožu 2015.",
"Apr": "Posljednje ažuriranje: 2. tra 2017.", "Apr": "Posljednje ažuriranje: 2. tra 2017.",
@ -530,7 +530,7 @@
"Today": "Ma frissítve", "Today": "Ma frissítve",
"Yesterday": "Tegnap frissítve", "Yesterday": "Tegnap frissítve",
"Ago": "3 napja frissítve", "Ago": "3 napja frissítve",
"Jan": "Utolsó frissítés: 2020. jan. 3.", "Jan": "Utolsó frissítés: 2016. jan. 1.",
"Feb": "Utolsó frissítés: 2016. febr. 7.", "Feb": "Utolsó frissítés: 2016. febr. 7.",
"Mar": "Utolsó frissítés: 2015. márc. 9.", "Mar": "Utolsó frissítés: 2015. márc. 9.",
"Apr": "Utolsó frissítés: 2017. ápr. 2.", "Apr": "Utolsó frissítés: 2017. ápr. 2.",
@ -547,7 +547,7 @@
"Today": "Թարմացվել է այսօր", "Today": "Թարմացվել է այսօր",
"Yesterday": "Թարմացվել է երեկ", "Yesterday": "Թարմացվել է երեկ",
"Ago": "Թարմացվել է 3 օր առաջ", "Ago": "Թարմացվել է 3 օր առաջ",
"Jan": "Վերջին թարմացումը՝ 03 հնվ, 2020 թ.", "Jan": "Վերջին թարմացումը՝ 01 հնվ, 2016 թ.",
"Feb": "Վերջին թարմացումը՝ 07 փտվ, 2016 թ.", "Feb": "Վերջին թարմացումը՝ 07 փտվ, 2016 թ.",
"Mar": "Վերջին թարմացումը՝ 09 մրտ, 2015 թ.", "Mar": "Վերջին թարմացումը՝ 09 մրտ, 2015 թ.",
"Apr": "Վերջին թարմացումը՝ 02 ապր, 2017 թ.", "Apr": "Վերջին թարմացումը՝ 02 ապր, 2017 թ.",
@ -564,7 +564,7 @@
"Today": "Diperbarui hari ini", "Today": "Diperbarui hari ini",
"Yesterday": "Diperbarui kemarin", "Yesterday": "Diperbarui kemarin",
"Ago": "Diperbarui 3 hari lalu", "Ago": "Diperbarui 3 hari lalu",
"Jan": "Terakhir diperbarui pada 3 Jan 2020", "Jan": "Terakhir diperbarui pada 1 Jan 2016",
"Feb": "Terakhir diperbarui pada 7 Feb 2016", "Feb": "Terakhir diperbarui pada 7 Feb 2016",
"Mar": "Terakhir diperbarui pada 9 Mar 2015", "Mar": "Terakhir diperbarui pada 9 Mar 2015",
"Apr": "Terakhir diperbarui pada 2 Apr 2017", "Apr": "Terakhir diperbarui pada 2 Apr 2017",
@ -581,7 +581,7 @@
"Today": "Uppfært í dag", "Today": "Uppfært í dag",
"Yesterday": "Uppfært í gær", "Yesterday": "Uppfært í gær",
"Ago": "Uppfært fyrir 3 dögum", "Ago": "Uppfært fyrir 3 dögum",
"Jan": "Síðast uppfært þann 3. jan. 2020", "Jan": "Síðast uppfært þann 1. jan. 2016",
"Feb": "Síðast uppfært þann 7. feb. 2016", "Feb": "Síðast uppfært þann 7. feb. 2016",
"Mar": "Síðast uppfært þann 9. mar. 2015", "Mar": "Síðast uppfært þann 9. mar. 2015",
"Apr": "Síðast uppfært þann 2. apr. 2017", "Apr": "Síðast uppfært þann 2. apr. 2017",
@ -598,7 +598,7 @@
"Today": "Aggiornata oggi", "Today": "Aggiornata oggi",
"Yesterday": "Aggiornata ieri", "Yesterday": "Aggiornata ieri",
"Ago": "Aggiornata 3 giorni fa", "Ago": "Aggiornata 3 giorni fa",
"Jan": "Ultimo aggiornamento in data 3 gen 2020", "Jan": "Ultimo aggiornamento in data 1 gen 2016",
"Feb": "Ultimo aggiornamento in data 7 feb 2016", "Feb": "Ultimo aggiornamento in data 7 feb 2016",
"Mar": "Ultimo aggiornamento in data 9 mar 2015", "Mar": "Ultimo aggiornamento in data 9 mar 2015",
"Apr": "Ultimo aggiornamento in data 2 apr 2017", "Apr": "Ultimo aggiornamento in data 2 apr 2017",
@ -615,7 +615,7 @@
"Today": "עודכן היום", "Today": "עודכן היום",
"Yesterday": "עודכן אתמול", "Yesterday": "עודכן אתמול",
"Ago": "עודכן לפני 3 ימים", "Ago": "עודכן לפני 3 ימים",
"Jan": "עודכן לאחרונה ב-3 בינו׳ 2020", "Jan": "עודכן לאחרונה ב-1 בינו׳ 2016",
"Feb": "עודכן לאחרונה ב-7 בפבר׳ 2016", "Feb": "עודכן לאחרונה ב-7 בפבר׳ 2016",
"Mar": "עודכן לאחרונה ב-9 במרץ 2015", "Mar": "עודכן לאחרונה ב-9 במרץ 2015",
"Apr": "עודכן לאחרונה ב-2 באפר׳ 2017", "Apr": "עודכן לאחרונה ב-2 באפר׳ 2017",
@ -632,7 +632,7 @@
"Today": "本日更新", "Today": "本日更新",
"Yesterday": "昨日更新", "Yesterday": "昨日更新",
"Ago": "3 日前に更新", "Ago": "3 日前に更新",
"Jan": "最終更新日: 2020/01/03", "Jan": "最終更新日: 2016/01/01",
"Feb": "最終更新日: 2016/02/07", "Feb": "最終更新日: 2016/02/07",
"Mar": "最終更新日: 2015/03/09", "Mar": "最終更新日: 2015/03/09",
"Apr": "最終更新日: 2017/04/02", "Apr": "最終更新日: 2017/04/02",
@ -649,7 +649,7 @@
"Today": "განახლდა დღეს", "Today": "განახლდა დღეს",
"Yesterday": "განახლდა გუშინ", "Yesterday": "განახლდა გუშინ",
"Ago": "განახლდა 3 დღის წინ", "Ago": "განახლდა 3 დღის წინ",
"Jan": "ბოლოს განახლდა 3 იან. 2020-ში", "Jan": "ბოლოს განახლდა 1 იან. 2016-ში",
"Feb": "ბოლოს განახლდა 7 თებ. 2016-ში", "Feb": "ბოლოს განახლდა 7 თებ. 2016-ში",
"Mar": "ბოლოს განახლდა 9 მარ. 2015-ში", "Mar": "ბოლოს განახლდა 9 მარ. 2015-ში",
"Apr": "ბოლოს განახლდა 2 აპრ. 2017-ში", "Apr": "ბოლოს განახლდა 2 აპრ. 2017-ში",
@ -666,7 +666,7 @@
"Today": "Бүгін жаңартылған", "Today": "Бүгін жаңартылған",
"Yesterday": "Кеше жаңартылған", "Yesterday": "Кеше жаңартылған",
"Ago": "3 күн бұрын жаңартылған", "Ago": "3 күн бұрын жаңартылған",
"Jan": "Соңғы рет 2020 ж. 03 қаң. күні жаңартылды", "Jan": "Соңғы рет 2016 ж. 01 қаң. күні жаңартылды",
"Feb": "Соңғы рет 2016 ж. 07 ақп. күні жаңартылды", "Feb": "Соңғы рет 2016 ж. 07 ақп. күні жаңартылды",
"Mar": "Соңғы рет 2015 ж. 09 нау. күні жаңартылды", "Mar": "Соңғы рет 2015 ж. 09 нау. күні жаңартылды",
"Apr": "Соңғы рет 2017 ж. 02 сәу. күні жаңартылды", "Apr": "Соңғы рет 2017 ж. 02 сәу. күні жаңартылды",
@ -683,7 +683,7 @@
"Today": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ថ្ងៃ​នេះ", "Today": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ថ្ងៃ​នេះ",
"Yesterday": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ម្សិលមិញ", "Yesterday": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ម្សិលមិញ",
"Ago": "បាន​ធ្វើ​បច្ចុប្បន្នភាព 3 ថ្ងៃ​មុន", "Ago": "បាន​ធ្វើ​បច្ចុប្បន្នភាព 3 ថ្ងៃ​មុន",
"Jan": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ចុង​ក្រោយ​នៅ 3 មករា 2020", "Jan": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ចុង​ក្រោយ​នៅ 1 មករា 2016",
"Feb": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ចុង​ក្រោយ​នៅ 7 កុម្ភៈ 2016", "Feb": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ចុង​ក្រោយ​នៅ 7 កុម្ភៈ 2016",
"Mar": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ចុង​ក្រោយ​នៅ 9 មីនា 2015", "Mar": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ចុង​ក្រោយ​នៅ 9 មីនា 2015",
"Apr": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ចុង​ក្រោយ​នៅ 2 មេសា 2017", "Apr": "បាន​ធ្វើ​បច្ចុប្បន្នភាព​ចុង​ក្រោយ​នៅ 2 មេសា 2017",
@ -700,7 +700,7 @@
"Today": "ಇಂದು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ", "Today": "ಇಂದು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ",
"Yesterday": "ನಿನ್ನೆ ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ", "Yesterday": "ನಿನ್ನೆ ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ",
"Ago": "3 ದಿನಗಳ ಹಿಂದೆ ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ", "Ago": "3 ದಿನಗಳ ಹಿಂದೆ ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ",
"Jan": "ಕೊನೆಯದಾಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಿದ್ದು ಜನವರಿ 3, 2020", "Jan": "ಕೊನೆಯದಾಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಿದ್ದು ಜನವರಿ 1, 2016",
"Feb": "ಕೊನೆಯದಾಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಿದ್ದು ಫೆಬ್ರವರಿ 7, 2016", "Feb": "ಕೊನೆಯದಾಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಿದ್ದು ಫೆಬ್ರವರಿ 7, 2016",
"Mar": "ಕೊನೆಯದಾಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಿದ್ದು ಮಾರ್ಚ್ 9, 2015", "Mar": "ಕೊನೆಯದಾಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಿದ್ದು ಮಾರ್ಚ್ 9, 2015",
"Apr": "ಕೊನೆಯದಾಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಿದ್ದು ಏಪ್ರಿ 2, 2017", "Apr": "ಕೊನೆಯದಾಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಿದ್ದು ಏಪ್ರಿ 2, 2017",
@ -717,7 +717,7 @@
"Today": "업데이트: 오늘", "Today": "업데이트: 오늘",
"Yesterday": "업데이트: 1일 전", "Yesterday": "업데이트: 1일 전",
"Ago": "업데이트: 3일 전", "Ago": "업데이트: 3일 전",
"Jan": "최종 업데이트: 2020. 1. 3.", "Jan": "최종 업데이트: 2016. 1. 1.",
"Feb": "최종 업데이트: 2016. 2. 7.", "Feb": "최종 업데이트: 2016. 2. 7.",
"Mar": "최종 업데이트: 2015. 3. 9.", "Mar": "최종 업데이트: 2015. 3. 9.",
"Apr": "최종 업데이트: 2017. 4. 2.", "Apr": "최종 업데이트: 2017. 4. 2.",
@ -734,7 +734,7 @@
"Today": "Бүгүн жаңырды", "Today": "Бүгүн жаңырды",
"Yesterday": "Кечээ жаңырды", "Yesterday": "Кечээ жаңырды",
"Ago": "3 күн мурун жаңырды", "Ago": "3 күн мурун жаңырды",
"Jan": "Акыркы жолу 2020-ж., 3-янв. күнү жаңырган", "Jan": "Акыркы жолу 2016-ж., 1-янв. күнү жаңырган",
"Feb": "Акыркы жолу 2016-ж., 7-фев. күнү жаңырган", "Feb": "Акыркы жолу 2016-ж., 7-фев. күнү жаңырган",
"Mar": "Акыркы жолу 2015-ж., 9-мар. күнү жаңырган", "Mar": "Акыркы жолу 2015-ж., 9-мар. күнү жаңырган",
"Apr": "Акыркы жолу 2017-ж., 2-апр. күнү жаңырган", "Apr": "Акыркы жолу 2017-ж., 2-апр. күнү жаңырган",
@ -751,7 +751,7 @@
"Today": "ອັບເດດມື້ນີ້", "Today": "ອັບເດດມື້ນີ້",
"Yesterday": "ອັບເດດມື້ວານນີ້", "Yesterday": "ອັບເດດມື້ວານນີ້",
"Ago": "ອັບເດດ 3 ມື້ກ່ອນ", "Ago": "ອັບເດດ 3 ມື້ກ່ອນ",
"Jan": "ອັບເດດຫຼ້າສຸດເມື່ອ 3 ມ.ກ. 2020", "Jan": "ອັບເດດຫຼ້າສຸດເມື່ອ 1 ມ.ກ. 2016",
"Feb": "ອັບເດດຫຼ້າສຸດເມື່ອ 7 ກ.ພ. 2016", "Feb": "ອັບເດດຫຼ້າສຸດເມື່ອ 7 ກ.ພ. 2016",
"Mar": "ອັບເດດຫຼ້າສຸດເມື່ອ 9 ມ.ນ. 2015", "Mar": "ອັບເດດຫຼ້າສຸດເມື່ອ 9 ມ.ນ. 2015",
"Apr": "ອັບເດດຫຼ້າສຸດເມື່ອ 2 ມ.ສ. 2017", "Apr": "ອັບເດດຫຼ້າສຸດເມື່ອ 2 ມ.ສ. 2017",
@ -768,7 +768,7 @@
"Today": "Atnaujinta šiandien", "Today": "Atnaujinta šiandien",
"Yesterday": "Atnaujinta vakar", "Yesterday": "Atnaujinta vakar",
"Ago": "Atnaujinta prieš 3 d.", "Ago": "Atnaujinta prieš 3 d.",
"Jan": "Paskutinį kartą atnaujinta 2020-01-03", "Jan": "Paskutinį kartą atnaujinta 2016-01-01",
"Feb": "Paskutinį kartą atnaujinta 2016-02-07", "Feb": "Paskutinį kartą atnaujinta 2016-02-07",
"Mar": "Paskutinį kartą atnaujinta 2015-03-09", "Mar": "Paskutinį kartą atnaujinta 2015-03-09",
"Apr": "Paskutinį kartą atnaujinta 2017-04-02", "Apr": "Paskutinį kartą atnaujinta 2017-04-02",
@ -785,7 +785,7 @@
"Today": "Atjaunināts šodien", "Today": "Atjaunināts šodien",
"Yesterday": "Atjaunināts vakar", "Yesterday": "Atjaunināts vakar",
"Ago": "Atjaunināts pirms 3 dienām", "Ago": "Atjaunināts pirms 3 dienām",
"Jan": "Pēdējo reizi atjaunināts: 2020. gada 3. janv.", "Jan": "Pēdējo reizi atjaunināts: 2016. gada 1. janv.",
"Feb": "Pēdējo reizi atjaunināts: 2016. gada 7. febr.", "Feb": "Pēdējo reizi atjaunināts: 2016. gada 7. febr.",
"Mar": "Pēdējo reizi atjaunināts: 2015. gada 9. marts", "Mar": "Pēdējo reizi atjaunināts: 2015. gada 9. marts",
"Apr": "Pēdējo reizi atjaunināts: 2017. gada 2. apr.", "Apr": "Pēdējo reizi atjaunināts: 2017. gada 2. apr.",
@ -802,7 +802,7 @@
"Today": "Ажурирано денес", "Today": "Ажурирано денес",
"Yesterday": "Ажурирано вчера", "Yesterday": "Ажурирано вчера",
"Ago": "Ажурирано пред 3 дена", "Ago": "Ажурирано пред 3 дена",
"Jan": "Последно ажурирано на 3.1.2020", "Jan": "Последно ажурирано на 1.1.2016",
"Feb": "Последно ажурирано на 7.2.2016", "Feb": "Последно ажурирано на 7.2.2016",
"Mar": "Последно ажурирано на 9.3.2015", "Mar": "Последно ажурирано на 9.3.2015",
"Apr": "Последно ажурирано на 2.4.2017", "Apr": "Последно ажурирано на 2.4.2017",
@ -819,7 +819,7 @@
"Today": "ഇന്ന് അപ്‌ഡേറ്റ് ചെയ്തത്", "Today": "ഇന്ന് അപ്‌ഡേറ്റ് ചെയ്തത്",
"Yesterday": "ഇന്നലെ അപ്‌ഡേറ്റ് ചെയ്തത്", "Yesterday": "ഇന്നലെ അപ്‌ഡേറ്റ് ചെയ്തത്",
"Ago": "3 ദിവസം മുമ്പ് അപ്‌ഡേറ്റ് ചെയ്തത്", "Ago": "3 ദിവസം മുമ്പ് അപ്‌ഡേറ്റ് ചെയ്തത്",
"Jan": "അവസാനം അപ്‌ഡേറ്റുചെയ്‌ത തീയതി 2020, ജനു 3", "Jan": "അവസാനം അപ്‌ഡേറ്റുചെയ്‌ത തീയതി 2016, ജനു 1",
"Feb": "അവസാനം അപ്‌ഡേറ്റുചെയ്‌ത തീയതി 2016, ഫെബ്രു 7", "Feb": "അവസാനം അപ്‌ഡേറ്റുചെയ്‌ത തീയതി 2016, ഫെബ്രു 7",
"Mar": "അവസാനം അപ്‌ഡേറ്റുചെയ്‌ത തീയതി 2015, മാർ 9", "Mar": "അവസാനം അപ്‌ഡേറ്റുചെയ്‌ത തീയതി 2015, മാർ 9",
"Apr": "അവസാനം അപ്‌ഡേറ്റുചെയ്‌ത തീയതി 2017, ഏപ്രി 2", "Apr": "അവസാനം അപ്‌ഡേറ്റുചെയ്‌ത തീയതി 2017, ഏപ്രി 2",
@ -836,7 +836,7 @@
"Today": "өнөөдөр шинэчлэгдсэн", "Today": "өнөөдөр шинэчлэгдсэн",
"Yesterday": "өчигдөр шинэчлэгдсэн", "Yesterday": "өчигдөр шинэчлэгдсэн",
"Ago": "3 өдрийн өмнө шинэчлэгдсэн", "Ago": "3 өдрийн өмнө шинэчлэгдсэн",
"Jan": "Сүүлд 2020 оны 1-р сарын 3-нд шинэчилсэн", "Jan": "Сүүлд 2016 оны 1-р сарын 1-нд шинэчилсэн",
"Feb": "Сүүлд 2016 оны 2-р сарын 7-нд шинэчилсэн", "Feb": "Сүүлд 2016 оны 2-р сарын 7-нд шинэчилсэн",
"Mar": "Сүүлд 2015 оны 3-р сарын 9-нд шинэчилсэн", "Mar": "Сүүлд 2015 оны 3-р сарын 9-нд шинэчилсэн",
"Apr": "Сүүлд 2017 оны 4-р сарын 2-нд шинэчилсэн", "Apr": "Сүүлд 2017 оны 4-р сарын 2-нд шинэчилсэн",
@ -853,7 +853,7 @@
"Today": "आज अपडेट केले", "Today": "आज अपडेट केले",
"Yesterday": "काल अपडेट केले", "Yesterday": "काल अपडेट केले",
"Ago": "3 दिवसांपूर्वी अपडेट केले", "Ago": "3 दिवसांपूर्वी अपडेट केले",
"Jan": "3 जाने, 2020 रोजी अंतिम अपडेट", "Jan": "1 जाने, 2016 रोजी अंतिम अपडेट",
"Feb": "7 फेब्रु, 2016 रोजी अंतिम अपडेट", "Feb": "7 फेब्रु, 2016 रोजी अंतिम अपडेट",
"Mar": "9 मार्च, 2015 रोजी अंतिम अपडेट", "Mar": "9 मार्च, 2015 रोजी अंतिम अपडेट",
"Apr": "2 एप्रि, 2017 रोजी अंतिम अपडेट", "Apr": "2 एप्रि, 2017 रोजी अंतिम अपडेट",
@ -870,7 +870,7 @@
"Today": "Dikemas kini hari ini", "Today": "Dikemas kini hari ini",
"Yesterday": "Dikemas kini semalam", "Yesterday": "Dikemas kini semalam",
"Ago": "Dikemas kini 3 hari yang lalu", "Ago": "Dikemas kini 3 hari yang lalu",
"Jan": "Terakhir dikemas kini pada 3 Jan 2020", "Jan": "Terakhir dikemas kini pada 1 Jan 2016",
"Feb": "Terakhir dikemas kini pada 7 Feb 2016", "Feb": "Terakhir dikemas kini pada 7 Feb 2016",
"Mar": "Terakhir dikemas kini pada 9 Mac 2015", "Mar": "Terakhir dikemas kini pada 9 Mac 2015",
"Apr": "Terakhir dikemas kini pada 2 Apr 2017", "Apr": "Terakhir dikemas kini pada 2 Apr 2017",
@ -887,7 +887,7 @@
"Today": "ယနေ့ အပ်ဒိတ်လုပ်ခဲ့သည်", "Today": "ယနေ့ အပ်ဒိတ်လုပ်ခဲ့သည်",
"Yesterday": "မနေ့က အပ်ဒိတ်လုပ်ခဲ့သည်", "Yesterday": "မနေ့က အပ်ဒိတ်လုပ်ခဲ့သည်",
"Ago": "ပြီးခဲ့သော 3 ရက်က အပ်ဒိတ်လုပ်ခဲ့သည်", "Ago": "ပြီးခဲ့သော 3 ရက်က အပ်ဒိတ်လုပ်ခဲ့သည်",
"Jan": "2020- ဇန် 3 ရက်က နောက်ဆုံး အပ်ဒိတ်လုပ်ခဲ့ပါသည်", "Jan": "2016- ဇန် 1 ရက်က နောက်ဆုံး အပ်ဒိတ်လုပ်ခဲ့ပါသည်",
"Feb": "2016- ဖေ 7 ရက်က နောက်ဆုံး အပ်ဒိတ်လုပ်ခဲ့ပါသည်", "Feb": "2016- ဖေ 7 ရက်က နောက်ဆုံး အပ်ဒိတ်လုပ်ခဲ့ပါသည်",
"Mar": "2015- မတ် 9 ရက်က နောက်ဆုံး အပ်ဒိတ်လုပ်ခဲ့ပါသည်", "Mar": "2015- မတ် 9 ရက်က နောက်ဆုံး အပ်ဒိတ်လုပ်ခဲ့ပါသည်",
"Apr": "2017- ဧ 2 ရက်က နောက်ဆုံး အပ်ဒိတ်လုပ်ခဲ့ပါသည်", "Apr": "2017- ဧ 2 ရက်က နောက်ဆုံး အပ်ဒိတ်လုပ်ခဲ့ပါသည်",
@ -904,7 +904,7 @@
"Today": "आज अद्यावधिक गरिएको", "Today": "आज अद्यावधिक गरिएको",
"Yesterday": "हिजो अद्यावधिक गरिएको", "Yesterday": "हिजो अद्यावधिक गरिएको",
"Ago": "3 दिन अघि अद्यावधिक गरिएको", "Ago": "3 दिन अघि अद्यावधिक गरिएको",
"Jan": "2020 जनवरी 3 मा पछिल्लो पटक अद्यावधिक गरिएको", "Jan": "2016 जनवरी 1 मा पछिल्लो पटक अद्यावधिक गरिएको",
"Feb": "2016 फेब्रुअरी 7 मा पछिल्लो पटक अद्यावधिक गरिएको", "Feb": "2016 फेब्रुअरी 7 मा पछिल्लो पटक अद्यावधिक गरिएको",
"Mar": "2015 मार्च 9 मा पछिल्लो पटक अद्यावधिक गरिएको", "Mar": "2015 मार्च 9 मा पछिल्लो पटक अद्यावधिक गरिएको",
"Apr": "2017 अप्रिल 2 मा पछिल्लो पटक अद्यावधिक गरिएको", "Apr": "2017 अप्रिल 2 मा पछिल्लो पटक अद्यावधिक गरिएको",
@ -921,7 +921,7 @@
"Today": "Vandaag geüpdatet", "Today": "Vandaag geüpdatet",
"Yesterday": "Gisteren geüpdatet", "Yesterday": "Gisteren geüpdatet",
"Ago": "3 dagen geleden geüpdatet", "Ago": "3 dagen geleden geüpdatet",
"Jan": "Laatst geüpdatet op 3 jan. 2020", "Jan": "Laatst geüpdatet op 1 jan. 2016",
"Feb": "Laatst geüpdatet op 7 feb. 2016", "Feb": "Laatst geüpdatet op 7 feb. 2016",
"Mar": "Laatst geüpdatet op 9 mrt. 2015", "Mar": "Laatst geüpdatet op 9 mrt. 2015",
"Apr": "Laatst geüpdatet op 2 apr. 2017", "Apr": "Laatst geüpdatet op 2 apr. 2017",
@ -938,7 +938,7 @@
"Today": "Oppdatert i dag", "Today": "Oppdatert i dag",
"Yesterday": "Oppdatert i går", "Yesterday": "Oppdatert i går",
"Ago": "Oppdatert for 3 dager siden", "Ago": "Oppdatert for 3 dager siden",
"Jan": "Sist oppdatert 3. jan. 2020", "Jan": "Sist oppdatert 1. jan. 2016",
"Feb": "Sist oppdatert 7. feb. 2016", "Feb": "Sist oppdatert 7. feb. 2016",
"Mar": "Sist oppdatert 9. mar. 2015", "Mar": "Sist oppdatert 9. mar. 2015",
"Apr": "Sist oppdatert 2. apr. 2017", "Apr": "Sist oppdatert 2. apr. 2017",
@ -955,7 +955,7 @@
"Today": "ଆଜି ଅପ୍‍ଡେଟ୍‍ ହୋ‍ଇଛି", "Today": "ଆଜି ଅପ୍‍ଡେଟ୍‍ ହୋ‍ଇଛି",
"Yesterday": "ଗତକାଲି ଅପ୍‍ଡେଟ୍‍ ହୋ‍ଇଥିଲା", "Yesterday": "ଗତକାଲି ଅପ୍‍ଡେଟ୍‍ ହୋ‍ଇଥିଲା",
"Ago": "3 ଦିନ ପୂର୍ବରୁ ଅପ୍‍ଡେଟ୍‍ ହୋ‍ଇଥିଲା", "Ago": "3 ଦିନ ପୂର୍ବରୁ ଅପ୍‍ଡେଟ୍‍ ହୋ‍ଇଥିଲା",
"Jan": "ଜାନୁଆରୀ 3, 2020ରେ ଶେଷଥର ପାଇଁ ଅପଡେଟ୍ ହୋ‍ଇଛି", "Jan": "ଜାନୁଆରୀ 1, 2016ରେ ଶେଷଥର ପାଇଁ ଅପଡେଟ୍ ହୋ‍ଇଛି",
"Feb": "ଫେବୃଆରୀ 7, 2016ରେ ଶେଷଥର ପାଇଁ ଅପଡେଟ୍ ହୋ‍ଇଛି", "Feb": "ଫେବୃଆରୀ 7, 2016ରେ ଶେଷଥର ପାଇଁ ଅପଡେଟ୍ ହୋ‍ଇଛି",
"Mar": "ମାର୍ଚ୍ଚ 9, 2015ରେ ଶେଷଥର ପାଇଁ ଅପଡେଟ୍ ହୋ‍ଇଛି", "Mar": "ମାର୍ଚ୍ଚ 9, 2015ରେ ଶେଷଥର ପାଇଁ ଅପଡେଟ୍ ହୋ‍ଇଛି",
"Apr": "ଅପ୍ରେଲ 2, 2017ରେ ଶେଷଥର ପାଇଁ ଅପଡେଟ୍ ହୋ‍ଇଛି", "Apr": "ଅପ୍ରେଲ 2, 2017ରେ ଶେଷଥର ପାଇଁ ଅପଡେଟ୍ ହୋ‍ଇଛି",
@ -972,7 +972,7 @@
"Today": "ਅੱਜ ਅੱਪਡੇਟ ਕੀਤਾ", "Today": "ਅੱਜ ਅੱਪਡੇਟ ਕੀਤਾ",
"Yesterday": "ਬੀੇਤੇ ਕੱਲ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ", "Yesterday": "ਬੀੇਤੇ ਕੱਲ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ",
"Ago": "3 ਦਿਨ ਪਹਿਲੇ ਅੱਪਡੇਟ ਕੀਤਾ", "Ago": "3 ਦਿਨ ਪਹਿਲੇ ਅੱਪਡੇਟ ਕੀਤਾ",
"Jan": "ਆਖਰੀ ਵਾਰ 3 ਜਨ 2020 ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ", "Jan": "ਆਖਰੀ ਵਾਰ 1 ਜਨ 2016 ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ",
"Feb": "ਆਖਰੀ ਵਾਰ 7 ਫ਼ਰ 2016 ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ", "Feb": "ਆਖਰੀ ਵਾਰ 7 ਫ਼ਰ 2016 ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ",
"Mar": "ਆਖਰੀ ਵਾਰ 9 ਮਾਰਚ 2015 ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ", "Mar": "ਆਖਰੀ ਵਾਰ 9 ਮਾਰਚ 2015 ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ",
"Apr": "ਆਖਰੀ ਵਾਰ 2 ਅਪ੍ਰੈ 2017 ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ", "Apr": "ਆਖਰੀ ਵਾਰ 2 ਅਪ੍ਰੈ 2017 ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ",
@ -989,7 +989,7 @@
"Today": "Zaktualizowano dzisiaj", "Today": "Zaktualizowano dzisiaj",
"Yesterday": "Zaktualizowano wczoraj", "Yesterday": "Zaktualizowano wczoraj",
"Ago": "Zaktualizowano 3 dni temu", "Ago": "Zaktualizowano 3 dni temu",
"Jan": "Ostatnia aktualizacja: 3 sty 2020", "Jan": "Ostatnia aktualizacja: 1 sty 2016",
"Feb": "Ostatnia aktualizacja: 7 lut 2016", "Feb": "Ostatnia aktualizacja: 7 lut 2016",
"Mar": "Ostatnia aktualizacja: 9 mar 2015", "Mar": "Ostatnia aktualizacja: 9 mar 2015",
"Apr": "Ostatnia aktualizacja: 2 kwi 2017", "Apr": "Ostatnia aktualizacja: 2 kwi 2017",
@ -1006,7 +1006,7 @@
"Today": "Atualizada hoje", "Today": "Atualizada hoje",
"Yesterday": "Atualizada ontem", "Yesterday": "Atualizada ontem",
"Ago": "Atualizada há 3 dias", "Ago": "Atualizada há 3 dias",
"Jan": "Última atualização em 3 de jan. de 2020", "Jan": "Última atualização em 1 de jan. de 2016",
"Feb": "Última atualização em 7 de fev. de 2016", "Feb": "Última atualização em 7 de fev. de 2016",
"Mar": "Última atualização em 9 de mar. de 2015", "Mar": "Última atualização em 9 de mar. de 2015",
"Apr": "Última atualização em 2 de abr. de 2017", "Apr": "Última atualização em 2 de abr. de 2017",
@ -1023,7 +1023,7 @@
"Today": "Atualizados hoje", "Today": "Atualizados hoje",
"Yesterday": "Atualizado ontem", "Yesterday": "Atualizado ontem",
"Ago": "Atualizado(s) há 3 dias", "Ago": "Atualizado(s) há 3 dias",
"Jan": "Última atualização a 03/01/2020", "Jan": "Última atualização a 01/01/2016",
"Feb": "Última atualização a 07/02/2016", "Feb": "Última atualização a 07/02/2016",
"Mar": "Última atualização a 09/03/2015", "Mar": "Última atualização a 09/03/2015",
"Apr": "Última atualização a 02/04/2017", "Apr": "Última atualização a 02/04/2017",
@ -1040,7 +1040,7 @@
"Today": "Actualizat astăzi", "Today": "Actualizat astăzi",
"Yesterday": "Actualizat ieri", "Yesterday": "Actualizat ieri",
"Ago": "Actualizat acum 3 zile", "Ago": "Actualizat acum 3 zile",
"Jan": "Ultima actualizare pe 3 ian. 2020", "Jan": "Ultima actualizare pe 1 ian. 2016",
"Feb": "Ultima actualizare pe 7 feb. 2016", "Feb": "Ultima actualizare pe 7 feb. 2016",
"Mar": "Ultima actualizare pe 9 mar. 2015", "Mar": "Ultima actualizare pe 9 mar. 2015",
"Apr": "Ultima actualizare pe 2 apr. 2017", "Apr": "Ultima actualizare pe 2 apr. 2017",
@ -1057,7 +1057,7 @@
"Today": "Обновлено сегодня", "Today": "Обновлено сегодня",
"Yesterday": "Обновлено вчера", "Yesterday": "Обновлено вчера",
"Ago": "Обновлено 3 дня назад", "Ago": "Обновлено 3 дня назад",
"Jan": "Обновлен 3 янв. 2020 г.", "Jan": "Обновлен 1 янв. 2016 г.",
"Feb": "Обновлен 7 февр. 2016 г.", "Feb": "Обновлен 7 февр. 2016 г.",
"Mar": "Обновлен 9 мар. 2015 г.", "Mar": "Обновлен 9 мар. 2015 г.",
"Apr": "Обновлен 2 апр. 2017 г.", "Apr": "Обновлен 2 апр. 2017 г.",
@ -1074,7 +1074,7 @@
"Today": "අද යාවත්කාලීන කෙරිණි", "Today": "අද යාවත්කාලීන කෙරිණි",
"Yesterday": "අද යාවත්කාලීන කෙරිණි", "Yesterday": "අද යාවත්කාලීන කෙරිණි",
"Ago": "දින 3කට පෙර යාවත්කාලීන කෙරිණි", "Ago": "දින 3කට පෙර යාවත්කාලීන කෙරිණි",
"Jan": "අවසන් වරට යාවත්කාලීන කළේ 2020 ජන 3", "Jan": "අවසන් වරට යාවත්කාලීන කළේ 2016 ජන 1",
"Feb": "අවසන් වරට යාවත්කාලීන කළේ 2016 පෙබ 7", "Feb": "අවසන් වරට යාවත්කාලීන කළේ 2016 පෙබ 7",
"Mar": "අවසන් වරට යාවත්කාලීන කළේ 2015 මාර්තු 9", "Mar": "අවසන් වරට යාවත්කාලීන කළේ 2015 මාර්තු 9",
"Apr": "අවසන් වරට යාවත්කාලීන කළේ 2017 අප්‍රේල් 2", "Apr": "අවසන් වරට යාවත්කාලීන කළේ 2017 අප්‍රේල් 2",
@ -1091,7 +1091,7 @@
"Today": "Aktualizované dnes", "Today": "Aktualizované dnes",
"Yesterday": "Aktualizované včera", "Yesterday": "Aktualizované včera",
"Ago": "Aktualizované pred 3 dňami", "Ago": "Aktualizované pred 3 dňami",
"Jan": "Naposledy aktualizované 3. 1. 2020", "Jan": "Naposledy aktualizované 1. 1. 2016",
"Feb": "Naposledy aktualizované 7. 2. 2016", "Feb": "Naposledy aktualizované 7. 2. 2016",
"Mar": "Naposledy aktualizované 9. 3. 2015", "Mar": "Naposledy aktualizované 9. 3. 2015",
"Apr": "Naposledy aktualizované 2. 4. 2017", "Apr": "Naposledy aktualizované 2. 4. 2017",
@ -1108,7 +1108,7 @@
"Today": "Posodobljeno danes", "Today": "Posodobljeno danes",
"Yesterday": "Posodobljeno včeraj", "Yesterday": "Posodobljeno včeraj",
"Ago": "Posodobljeno pred 3 dnevi", "Ago": "Posodobljeno pred 3 dnevi",
"Jan": "Datum zadnje posodobitve 3. jan. 2020", "Jan": "Datum zadnje posodobitve 1. jan. 2016",
"Feb": "Datum zadnje posodobitve 7. feb. 2016", "Feb": "Datum zadnje posodobitve 7. feb. 2016",
"Mar": "Datum zadnje posodobitve 9. mar. 2015", "Mar": "Datum zadnje posodobitve 9. mar. 2015",
"Apr": "Datum zadnje posodobitve 2. apr. 2017", "Apr": "Datum zadnje posodobitve 2. apr. 2017",
@ -1125,7 +1125,7 @@
"Today": "Përditësuar sot", "Today": "Përditësuar sot",
"Yesterday": "Përditësuar dje", "Yesterday": "Përditësuar dje",
"Ago": "Përditësuar 3 ditë më parë", "Ago": "Përditësuar 3 ditë më parë",
"Jan": "Përditësuar së fundi më 3 jan 2020", "Jan": "Përditësuar së fundi më 1 jan 2016",
"Feb": "Përditësuar së fundi më 7 shk 2016", "Feb": "Përditësuar së fundi më 7 shk 2016",
"Mar": "Përditësuar së fundi më 9 mar 2015", "Mar": "Përditësuar së fundi më 9 mar 2015",
"Apr": "Përditësuar së fundi më 2 pri 2017", "Apr": "Përditësuar së fundi më 2 pri 2017",
@ -1142,7 +1142,7 @@
"Today": "Ажурирано данас", "Today": "Ажурирано данас",
"Yesterday": "Ажурирано јуче", "Yesterday": "Ажурирано јуче",
"Ago": "Ажурирано пре 3 дана", "Ago": "Ажурирано пре 3 дана",
"Jan": "Последњи пут ажурирано 3. 1. 2020.", "Jan": "Последњи пут ажурирано 1. 1. 2016.",
"Feb": "Последњи пут ажурирано 7. 2. 2016.", "Feb": "Последњи пут ажурирано 7. 2. 2016.",
"Mar": "Последњи пут ажурирано 9. 3. 2015.", "Mar": "Последњи пут ажурирано 9. 3. 2015.",
"Apr": "Последњи пут ажурирано 2. 4. 2017.", "Apr": "Последњи пут ажурирано 2. 4. 2017.",
@ -1159,7 +1159,7 @@
"Today": "Ažurirano danas", "Today": "Ažurirano danas",
"Yesterday": "Ažurirano juče", "Yesterday": "Ažurirano juče",
"Ago": "Ažurirano pre 3 dana", "Ago": "Ažurirano pre 3 dana",
"Jan": "Poslednji put ažurirano 3. 1. 2020.", "Jan": "Poslednji put ažurirano 1. 1. 2016.",
"Feb": "Poslednji put ažurirano 7. 2. 2016.", "Feb": "Poslednji put ažurirano 7. 2. 2016.",
"Mar": "Poslednji put ažurirano 9. 3. 2015.", "Mar": "Poslednji put ažurirano 9. 3. 2015.",
"Apr": "Poslednji put ažurirano 2. 4. 2017.", "Apr": "Poslednji put ažurirano 2. 4. 2017.",
@ -1176,7 +1176,7 @@
"Today": "Uppdaterades idag", "Today": "Uppdaterades idag",
"Yesterday": "Uppdaterades igår", "Yesterday": "Uppdaterades igår",
"Ago": "Uppdaterades för 3 dagar sedan", "Ago": "Uppdaterades för 3 dagar sedan",
"Jan": "Uppdaterades senast 3 jan. 2020", "Jan": "Uppdaterades senast 1 jan. 2016",
"Feb": "Uppdaterades senast 7 feb. 2016", "Feb": "Uppdaterades senast 7 feb. 2016",
"Mar": "Uppdaterades senast 9 mars 2015", "Mar": "Uppdaterades senast 9 mars 2015",
"Apr": "Uppdaterades senast 2 apr. 2017", "Apr": "Uppdaterades senast 2 apr. 2017",
@ -1193,7 +1193,7 @@
"Today": "Zilizosasishwa leo", "Today": "Zilizosasishwa leo",
"Yesterday": "Zilizosasishwa jana", "Yesterday": "Zilizosasishwa jana",
"Ago": "Zilizosasishwa siku 3 zilizopita", "Ago": "Zilizosasishwa siku 3 zilizopita",
"Jan": "Ilisasishwa mara ya mwisho tarehe 3 Jan 2020", "Jan": "Ilisasishwa mara ya mwisho tarehe 1 Jan 2016",
"Feb": "Ilisasishwa mara ya mwisho tarehe 7 Feb 2016", "Feb": "Ilisasishwa mara ya mwisho tarehe 7 Feb 2016",
"Mar": "Ilisasishwa mara ya mwisho tarehe 9 Mac 2015", "Mar": "Ilisasishwa mara ya mwisho tarehe 9 Mac 2015",
"Apr": "Ilisasishwa mara ya mwisho tarehe 2 Apr 2017", "Apr": "Ilisasishwa mara ya mwisho tarehe 2 Apr 2017",
@ -1210,7 +1210,7 @@
"Today": "இன்று புதுப்பிக்கப்பட்டது", "Today": "இன்று புதுப்பிக்கப்பட்டது",
"Yesterday": "நேற்று புதுப்பிக்கப்பட்டது", "Yesterday": "நேற்று புதுப்பிக்கப்பட்டது",
"Ago": "3 நாட்களுக்கு முன்பு புதுப்பிக்கப்பட்டது", "Ago": "3 நாட்களுக்கு முன்பு புதுப்பிக்கப்பட்டது",
"Jan": "3 ஜன., 2020 அன்று கடைசியாக புதுப்பிக்கப்பட்டது", "Jan": "1 ஜன., 2016 அன்று கடைசியாக புதுப்பிக்கப்பட்டது",
"Feb": "7 பிப்., 2016 அன்று கடைசியாக புதுப்பிக்கப்பட்டது", "Feb": "7 பிப்., 2016 அன்று கடைசியாக புதுப்பிக்கப்பட்டது",
"Mar": "9 மார்., 2015 அன்று கடைசியாக புதுப்பிக்கப்பட்டது", "Mar": "9 மார்., 2015 அன்று கடைசியாக புதுப்பிக்கப்பட்டது",
"Apr": "2 ஏப்., 2017 அன்று கடைசியாக புதுப்பிக்கப்பட்டது", "Apr": "2 ஏப்., 2017 அன்று கடைசியாக புதுப்பிக்கப்பட்டது",
@ -1227,7 +1227,7 @@
"Today": "ఈ రోజు అప్‌డేట్ చేయబడింది", "Today": "ఈ రోజు అప్‌డేట్ చేయబడింది",
"Yesterday": "నిన్న అప్‌డేట్ చేయబడింది", "Yesterday": "నిన్న అప్‌డేట్ చేయబడింది",
"Ago": "3 రోజుల క్రితం అప్‌డేట్ చేయబడింది", "Ago": "3 రోజుల క్రితం అప్‌డేట్ చేయబడింది",
"Jan": "చివరిగా 3 జన, 2020న అప్‌డేట్ చేయబడింది", "Jan": "చివరిగా 1 జన, 2016న అప్‌డేట్ చేయబడింది",
"Feb": "చివరిగా 7 ఫిబ్ర, 2016న అప్‌డేట్ చేయబడింది", "Feb": "చివరిగా 7 ఫిబ్ర, 2016న అప్‌డేట్ చేయబడింది",
"Mar": "చివరిగా 9 మార్చి, 2015న అప్‌డేట్ చేయబడింది", "Mar": "చివరిగా 9 మార్చి, 2015న అప్‌డేట్ చేయబడింది",
"Apr": "చివరిగా 2 ఏప్రి, 2017న అప్‌డేట్ చేయబడింది", "Apr": "చివరిగా 2 ఏప్రి, 2017న అప్‌డేట్ చేయబడింది",
@ -1244,7 +1244,7 @@
"Today": "อัปเดตแล้ววันนี้", "Today": "อัปเดตแล้ววันนี้",
"Yesterday": "อัปเดตแล้วเมื่อวาน", "Yesterday": "อัปเดตแล้วเมื่อวาน",
"Ago": "อัปเดตแล้วเมื่อ 3 วันที่ผ่านมา", "Ago": "อัปเดตแล้วเมื่อ 3 วันที่ผ่านมา",
"Jan": "อัปเดตล่าสุดเมื่อ 3 ม.ค. 2020", "Jan": "อัปเดตล่าสุดเมื่อ 1 ม.ค. 2016",
"Feb": "อัปเดตล่าสุดเมื่อ 7 ก.พ. 2016", "Feb": "อัปเดตล่าสุดเมื่อ 7 ก.พ. 2016",
"Mar": "อัปเดตล่าสุดเมื่อ 9 มี.ค. 2015", "Mar": "อัปเดตล่าสุดเมื่อ 9 มี.ค. 2015",
"Apr": "อัปเดตล่าสุดเมื่อ 2 เม.ย. 2017", "Apr": "อัปเดตล่าสุดเมื่อ 2 เม.ย. 2017",
@ -1261,7 +1261,7 @@
"Today": "Bugün güncellendi", "Today": "Bugün güncellendi",
"Yesterday": "Dün güncellendi", "Yesterday": "Dün güncellendi",
"Ago": "3 gün önce güncellendi", "Ago": "3 gün önce güncellendi",
"Jan": "En son 3 Oca 2020 tarihinde güncellendi", "Jan": "En son 1 Oca 2016 tarihinde güncellendi",
"Feb": "En son 7 Şub 2016 tarihinde güncellendi", "Feb": "En son 7 Şub 2016 tarihinde güncellendi",
"Mar": "En son 9 Mar 2015 tarihinde güncellendi", "Mar": "En son 9 Mar 2015 tarihinde güncellendi",
"Apr": "En son 2 Nis 2017 tarihinde güncellendi", "Apr": "En son 2 Nis 2017 tarihinde güncellendi",
@ -1278,7 +1278,7 @@
"Today": "Оновлено сьогодні", "Today": "Оновлено сьогодні",
"Yesterday": "Оновлено вчора", "Yesterday": "Оновлено вчора",
"Ago": "Оновлено 3 дні тому", "Ago": "Оновлено 3 дні тому",
"Jan": "Останнє оновлення: 3 січ. 2020 р.", "Jan": "Останнє оновлення: 1 січ. 2016 р.",
"Feb": "Останнє оновлення: 7 лют. 2016 р.", "Feb": "Останнє оновлення: 7 лют. 2016 р.",
"Mar": "Останнє оновлення: 9 бер. 2015 р.", "Mar": "Останнє оновлення: 9 бер. 2015 р.",
"Apr": "Останнє оновлення: 2 квіт. 2017 р.", "Apr": "Останнє оновлення: 2 квіт. 2017 р.",
@ -1295,7 +1295,7 @@
"Today": "آج اپ ڈیٹ کیا گیا", "Today": "آج اپ ڈیٹ کیا گیا",
"Yesterday": "گزشتہ کل اپ ڈیٹ کیا گیا", "Yesterday": "گزشتہ کل اپ ڈیٹ کیا گیا",
"Ago": "3 دن پہلے اپ ڈیٹ کیا گیا", "Ago": "3 دن پہلے اپ ڈیٹ کیا گیا",
"Jan": "آخری بار 3 جنوری، 2020 کو اپ ڈیٹ کیا گیا", "Jan": "آخری بار 1 جنوری، 2016 کو اپ ڈیٹ کیا گیا",
"Feb": "آخری بار 7 فروری، 2016 کو اپ ڈیٹ کیا گیا", "Feb": "آخری بار 7 فروری، 2016 کو اپ ڈیٹ کیا گیا",
"Mar": "آخری بار 9 مارچ، 2015 کو اپ ڈیٹ کیا گیا", "Mar": "آخری بار 9 مارچ، 2015 کو اپ ڈیٹ کیا گیا",
"Apr": "آخری بار 2 اپریل، 2017 کو اپ ڈیٹ کیا گیا", "Apr": "آخری بار 2 اپریل، 2017 کو اپ ڈیٹ کیا گیا",
@ -1312,7 +1312,7 @@
"Today": "Bugun yangilandi", "Today": "Bugun yangilandi",
"Yesterday": "Kecha yangilangan", "Yesterday": "Kecha yangilangan",
"Ago": "3 kun oldin yangilangan", "Ago": "3 kun oldin yangilangan",
"Jan": "Oxirgi yangilanish: 3-yan, 2020", "Jan": "Oxirgi yangilanish: 1-yan, 2016",
"Feb": "Oxirgi yangilanish: 7-fev, 2016", "Feb": "Oxirgi yangilanish: 7-fev, 2016",
"Mar": "Oxirgi yangilanish: 9-mar, 2015", "Mar": "Oxirgi yangilanish: 9-mar, 2015",
"Apr": "Oxirgi yangilanish: 2-apr, 2017", "Apr": "Oxirgi yangilanish: 2-apr, 2017",
@ -1329,7 +1329,7 @@
"Today": "Cập nhật hôm nay", "Today": "Cập nhật hôm nay",
"Yesterday": "Cập nhật hôm qua", "Yesterday": "Cập nhật hôm qua",
"Ago": "Cập nhật 3 ngày trước", "Ago": "Cập nhật 3 ngày trước",
"Jan": "Cập nhật lần cuối vào 3 thg 1, 2020", "Jan": "Cập nhật lần cuối vào 1 thg 1, 2016",
"Feb": "Cập nhật lần cuối vào 7 thg 2, 2016", "Feb": "Cập nhật lần cuối vào 7 thg 2, 2016",
"Mar": "Cập nhật lần cuối vào 9 thg 3, 2015", "Mar": "Cập nhật lần cuối vào 9 thg 3, 2015",
"Apr": "Cập nhật lần cuối vào 2 thg 4, 2017", "Apr": "Cập nhật lần cuối vào 2 thg 4, 2017",
@ -1346,7 +1346,7 @@
"Today": "今日更新", "Today": "今日更新",
"Yesterday": "昨日更新", "Yesterday": "昨日更新",
"Ago": "3 天前更新", "Ago": "3 天前更新",
"Jan": "最后更新时间2020年1月3日", "Jan": "最后更新时间2016年1月1日",
"Feb": "最后更新时间2016年2月7日", "Feb": "最后更新时间2016年2月7日",
"Mar": "最后更新时间2015年3月9日", "Mar": "最后更新时间2015年3月9日",
"Apr": "最后更新时间2017年4月2日", "Apr": "最后更新时间2017年4月2日",
@ -1363,7 +1363,7 @@
"Today": "今日更新", "Today": "今日更新",
"Yesterday": "昨天更新", "Yesterday": "昨天更新",
"Ago": "3 天前更新", "Ago": "3 天前更新",
"Jan": "上次更新時間2020年1月3日", "Jan": "上次更新時間2016年1月1日",
"Feb": "上次更新時間2016年2月7日", "Feb": "上次更新時間2016年2月7日",
"Mar": "上次更新時間2015年3月9日", "Mar": "上次更新時間2015年3月9日",
"Apr": "上次更新時間2017年4月2日", "Apr": "上次更新時間2017年4月2日",
@ -1380,7 +1380,7 @@
"Today": "今天更新", "Today": "今天更新",
"Yesterday": "昨天更新", "Yesterday": "昨天更新",
"Ago": "3 天前更新", "Ago": "3 天前更新",
"Jan": "上次更新日期2020年1月3日", "Jan": "上次更新日期2016年1月1日",
"Feb": "上次更新日期2016年2月7日", "Feb": "上次更新日期2016年2月7日",
"Mar": "上次更新日期2015年3月9日", "Mar": "上次更新日期2015年3月9日",
"Apr": "上次更新日期2017年4月2日", "Apr": "上次更新日期2017年4月2日",
@ -1397,7 +1397,7 @@
"Today": "Ibuyekezwe namuhla", "Today": "Ibuyekezwe namuhla",
"Yesterday": "Ibuyekezwe izolo", "Yesterday": "Ibuyekezwe izolo",
"Ago": "Ibuyekezwe ezinsukwini ezingu-3 ezidlule", "Ago": "Ibuyekezwe ezinsukwini ezingu-3 ezidlule",
"Jan": "Yagcina ibuyekezwe ngomhla ka-Jan 3, 2020", "Jan": "Yagcina ibuyekezwe ngomhla ka-Jan 1, 2016",
"Feb": "Yagcina ibuyekezwe ngomhla ka-Feb 7, 2016", "Feb": "Yagcina ibuyekezwe ngomhla ka-Feb 7, 2016",
"Mar": "Yagcina ibuyekezwe ngomhla ka-Mas 9, 2015", "Mar": "Yagcina ibuyekezwe ngomhla ka-Mas 9, 2015",
"Apr": "Yagcina ibuyekezwe ngomhla ka-Eph 2, 2017", "Apr": "Yagcina ibuyekezwe ngomhla ka-Eph 2, 2017",