Skip to content

Commit

Permalink
Merge branch 'Lukino2000-master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Jason LaPorte committed Jul 29, 2014
2 parents e603828 + 2656faf commit f9f9e59
Show file tree
Hide file tree
Showing 2 changed files with 389 additions and 0 deletions.
151 changes: 151 additions & 0 deletions lib/lang/it.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
function join_with_shared_prefix(a, b, joiner) {
var m = a,
i = 0,
j;

while(i !== m.length &&
i !== b.length &&
m.charCodeAt(i) === b.charCodeAt(i))
++i;

while(i && m.charCodeAt(i - 1) !== 32)
--i;

return a + joiner + b.slice(i);
}

function strip_prefix(period) {
if (period.slice(0) === "in serata") return "sera";
if (period.slice(0) === "in mattinata") return "mattina";
if (period.slice(0,6) === "nella ") return period.slice(6);
if (period.slice(0,4) === "nel ") return period.slice(4);
return period;
}

module.exports = require("../template")({
"clear": "sereno",
"no-precipitation": "nessuna precipitazione",
"mixed-precipitation": "precipitazioni miste",
"possible-very-light-precipitation": "possibilità di precipitazioni molto leggere",
"very-light-precipitation": "precipitazioni molto leggere",
"possible-light-precipitation": "possibilità di precipitazioni leggere",
"light-precipitation": "precipitazioni leggere",
"medium-precipitation": "precipitazioni",
"heavy-precipitation": "forti precipitazioni",
"possible-very-light-rain": "possibilità di pioggia molto leggera",
"very-light-rain": "pioggia molto leggera",
"possible-light-rain": "possibilità di pioggia leggera",
"light-rain": "pioggia leggera",
"medium-rain": "pioggia",
"heavy-rain": "temporale",
"possible-very-light-sleet": "possibilità di nevischio molto leggero",
"very-light-sleet": "nevischio molto leggero",
"possible-light-sleet": "possibilità di nevischio leggero",
"light-sleet": "nevischio leggero",
"medium-sleet": "nevischio",
"heavy-sleet": "forte nevischio",
"possible-very-light-snow": "possibilità di nevicate molto leggere",
"very-light-snow": "nevicate molto leggere",
"possible-light-snow": "possibilità di neve leggera",
"light-snow": "neve leggera",
"medium-snow": "nevicate",
"heavy-snow": "forti nevicate",
"light-wind": "venticello",
"medium-wind": "vento",
"heavy-wind": "forte vento",
"low-humidity": "bassa umidità",
"high-humidity": "umido",
"fog": "nebbia",
"light-clouds": "poco nuvoloso",
"medium-clouds": "nubi sparse",
"heavy-clouds": "nuvoloso",
"today-morning": "stamattina",
"later-today-morning": "a mattina inoltrata",
"today-afternoon": "questo pomeriggio",
"later-today-afternoon": "a pomeriggio inoltrato",
"today-evening": "stasera",
"later-today-evening": "a sera inoltrata",
"today-night": "stanotte",
"later-today-night": "notte inoltrata",
"tomorrow-morning": "domani mattina",
"tomorrow-afternoon": "domani pomeriggio",
"tomorrow-evening": "domani sera",
"tomorrow-night": "domani notte",
"morning": "in mattinata",
"afternoon": "nel pomeriggio",
"evening": "in serata",
"night": "nella notte",
"today": "oggi",
"tomorrow": "domani",
"sunday": "Domenica",
"monday": "Lunedì",
"tuesday": "Martedì",
"wednesday": "Mercoledì",
"thursday": "Giovedì",
"friday": "Venerdì",
"saturday": "Sabato",
"minutes": "$1 min.",
"fahrenheit": "$1\u00B0F",
"celsius": "$1\u00B0C",
"inches": "$1 in.",
"centimeters": "$1 cm.",
"less-than": "meno di $1",
"and": function(a, b) {
return join_with_shared_prefix(
a,
b,
a.indexOf(",") !== -1 ? ", e " : " e "
);
},
"through": function(a, b) {
return join_with_shared_prefix(a, b, " fino a ");
},
"with": "$1, con $2",
"range": "$1\u2013$2",
"parenthetical": "$1 ($2)",
"for-hour": "$1 per un ora",
"starting-in": "$1 tra $2",
"stopping-in": "$1 per $2",
"starting-then-stopping-later": "$1 a partire tra $2 per $3",
"stopping-then-starting-later": "$1 per altri $2, per ricominciare $3 più tardi",
"for-day": "$1 durante il giorno",
"starting": function(condition, period) {
return condition + " a partire da " + strip_prefix(period);
},
"until": function(condition, period) {
return condition + " fino a " + strip_prefix(period);
},
"until-starting-again": function(condition, a, b) {
return condition + " fino a " + strip_prefix(a) + ", ricominciando da " + b;
},
"starting-continuing-until": function(condition, a, b) {
return condition + " a partire da " + strip_prefix(a) + ", fino a " +
strip_prefix(b);
},
"during": "$1 $2",
"for-week": "$1 durante la settimana",
"over-weekend": "$1 tutto il week end",
"temperatures-peaking": "temperatura massima di $1 $2",
"temperatures-rising": "temperature in aumento fino a $1 $2",
"temperatures-valleying": "temperatura minima di $1 $2",
"temperatures-falling": "temperature in diminuzione fino a $1 $2",
/* Capitalize the first letter of every word, except if that word is "e". */
"title": function(str) {
return str.replace(/\S+/g, function(word) {
return word === "e" ?
word :
word.charAt(0).toUpperCase() + word.slice(1);
});
},
/* Capitalize the first word of the sentence and end with a period. */
"sentence": function(str) {
/* Capitalize. */
str = str.charAt(0).toUpperCase() + str.slice(1);

/* Add a period if there isn't already one. */
if(str.charAt(str.length - 1) !== ".")
str += ".";

return str;
}
});
238 changes: 238 additions & 0 deletions test_cases/it.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
{
"Sereno":
["title", "clear"],

"Possibilità Di Precipitazioni Molto Leggere":
["title", "possible-very-light-precipitation"],

"Precipitazioni Molto Leggere":
["title", "very-light-precipitation"],

"Possibilità Di Precipitazioni Leggere":
["title", "possible-light-precipitation"],

"Precipitazioni Leggere":
["title", "light-precipitation"],

"Precipitazioni":
["title", "medium-precipitation"],

"Forti Precipitazioni":
["title", "heavy-precipitation"],

"Possibilità Di Pioggia Molto Leggera":
["title", "possible-very-light-rain"],

"Pioggia Molto Leggera":
["title", "very-light-rain"],

"Possibilità Di Pioggia Leggera":
["title", "possible-light-rain"],

"Pioggia Leggera":
["title", "light-rain"],

"Pioggia":
["title", "medium-rain"],

"Temporale":
["title", "heavy-rain"],

"Possibilità Di Nevischio Leggero":
["title", "possible-very-light-sleet"],

"Nevischio Leggero":
["title", "very-light-sleet"],

"Possibilità Di Nevischio Leggero":
["title", "possible-light-sleet"],

"Nevischio Leggero":
["title", "light-sleet"],

"Nevischio":
["title", "medium-sleet"],

"Forte Nevischio":
["title", "heavy-sleet"],

"Possibilità Di Nevicate Molto Leggere":
["title", "possible-very-light-snow"],

"Nevicate Molto Leggere":
["title", "very-light-snow"],

"Possibilità Di Neve Leggera":
["title", "possible-light-snow"],

"Neve Leggera":
["title", "light-snow"],

"Nevicate":
["title", "medium-snow"],

"Forti Nevicate":
["title", "heavy-snow"],

"Vento":
["title", "medium-wind"],

"Forte Vento":
["title", "heavy-wind"],

"Nebbia":
["title", "fog"],

"Nuvoloso":
["title", "medium-clouds"],

"Nuvoloso":
["title", "heavy-clouds"],

"Bassa Umidità e Venticello":
["title", ["and", "low-humidity", "light-wind"]],

"Pioggia Molto Leggera e Forte Vento":
["title", ["and", "very-light-rain", "heavy-wind"]],

"Umido e Poco Nuvoloso":
["title", ["and", "high-humidity", "light-clouds"]],

"Sereno per un ora.":
["sentence", ["for-hour", "clear"]],

"Nevicate molto leggere tra 35 min.":
["sentence", ["starting-in", "very-light-snow", ["minutes", 35]]],

"Pioggia leggera per 15 min.":
["sentence", ["stopping-in", "light-rain", ["minutes", 15]]],

"Forte nevischio a partire tra 20 min. per 30 min.":
["sentence",
["starting-then-stopping-later",
"heavy-sleet",
["minutes", 20],
["minutes", 30]]],

"Pioggia per altri 25 min., per ricominciare 8 min. più tardi.":
["sentence",
["stopping-then-starting-later",
"medium-rain",
["minutes", 25],
["minutes", 8]]],

"Nubi sparse durante il giorno.":
["sentence", ["for-day", "medium-clouds"]],

"Nevischio molto leggero a partire da mattina.":
["sentence", ["starting", "very-light-sleet", "morning"]],

"Vento fino a stanotte.":
["sentence", ["until", "medium-wind", "today-night"]],

"Forti precipitazioni fino a pomeriggio.":
["sentence", ["until", "heavy-precipitation", "afternoon"]],

"Venticello nel pomeriggio.":
["sentence", ["during", "light-wind", "afternoon"]],

"Nevicate a sera inoltrata e domani mattina.":
["sentence", ["during",
"medium-snow",
["and", "later-today-evening", "tomorrow-morning"]]],

"Temporale fino a a mattina inoltrata, ricominciando da stasera.":
["sentence", ["until-starting-again",
"heavy-rain",
"later-today-morning",
"today-evening"]],

"Nuvoloso a partire da sera, fino a notte.":
["sentence", ["starting-continuing-until",
"heavy-clouds",
"evening",
"night"]],

"Nevischio leggero a pomeriggio inoltrato e nebbia domani mattina.":
["sentence", ["and",
["during", "light-sleet", "later-today-afternoon"],
["during", "fog", "tomorrow-morning"]]],

"Forte vento a partire da stamattina, fino a questo pomeriggio, e nevischio domani mattina.":
["sentence", ["and",
["starting-continuing-until",
"heavy-wind",
"today-morning",
"today-afternoon"],
["during", "medium-sleet", "tomorrow-morning"]]],

"Nuvoloso a partire da notte inoltrata e forti nevicate domani pomeriggio.":
["sentence", ["and",
["starting", "heavy-clouds", "later-today-night"],
["during", "heavy-snow", "tomorrow-afternoon"]]],

"Bassa umidità stanotte e precipitazioni leggere a partire da domani sera, fino a domani notte.":
["sentence", ["and",
["during", "low-humidity", "today-night"],
["starting-continuing-until",
"light-precipitation",
"tomorrow-evening",
"tomorrow-night"]]],

"Nevicate (5 in.) nella notte.":
["sentence", ["during",
["parenthetical", "medium-snow", ["inches", 5]],
"night"]],

"Neve leggera (2 cm.) a mattina inoltrata.":
["sentence", ["during",
["parenthetical", "light-snow", ["centimeters", 2]],
"later-today-morning"]],

"Forti nevicate (8\u201312 in.) durante il giorno.":
["sentence", ["for-day",
["parenthetical", "heavy-snow", ["inches", ["range", 8, 12]]]]],

"Nevicate (meno di 1 cm.) nel pomeriggio.":
["sentence", ["during",
["parenthetical", "medium-snow", ["less-than", ["centimeters", 1]]],
"afternoon"]],


"Nessuna precipitazione durante la settimana, con temperatura massima di 85°F domani.":
["sentence", ["with",
["for-week", "no-precipitation"],
["temperatures-peaking",
["fahrenheit", 85],
"tomorrow"]]],

"Precipitazioni miste tutto il week end, con temperature in aumento fino a 32\u00B0C Giovedì.":
["sentence", ["with",
["over-weekend", "mixed-precipitation"],
["temperatures-rising",
["celsius", 32],
"thursday"]]],

"Pioggia molto leggera Lunedì, con temperatura minima di 15\u00B0F Venerdì.":
["sentence", ["with",
["during", "very-light-rain", "monday"],
["temperatures-valleying",
["fahrenheit", 15],
"friday"]]],

"Neve leggera Martedì e Mercoledì, con temperature in diminuzione fino a 0\u00B0C Domenica.":
["sentence", ["with",
["during", "light-snow", ["and", "tuesday", "wednesday"]],
["temperatures-falling",
["celsius", 0],
"sunday"]]],

"Precipitazioni oggi fino a Sabato, con temperatura massima di 100\u00B0F Lunedì.":
["sentence", ["with",
["during",
"medium-precipitation",
["through", "today", "saturday"]],
["temperatures-peaking",
["fahrenheit", 100],
"monday"]]]
}

0 comments on commit f9f9e59

Please sign in to comment.