mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r9355) [0.5] -Backport from trunk (r8906):
- Feature: translation dependant formatting of dates (r8906)
This commit is contained in:
parent
3158cdaa7a
commit
b70c3613fa
|
@ -3135,6 +3135,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Length:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Area: {NUM} x {NUM}{}Height difference: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3138,6 +3138,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Comprime
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Area: {NUM} x {NUM}{}Diferença de altura: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3137,6 +3137,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Дълж
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Площ: {NUM} x {NUM}{}Разлика във височината: {NUM} м
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3135,6 +3135,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Llargada
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Àrea: {NUM} x {NUM}{}Diferència d'alçada: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3199,6 +3199,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Délka:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Oblast: {NUM} x {NUM}{}Výškový rozdíl: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3132,6 +3132,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Længde:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Areal: {NUM} x {NUM}{}Højdeforskel: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3135,6 +3135,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Lengte:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Gebied: {NUM} x {NUM}{}Hoogte verschil: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3133,4 +3133,9 @@ STR_MEASURE_AREA :{BLACK}Area: {N
|
|||
STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Length: {NUM}{}Height difference: {NUM} m
|
||||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Area: {NUM} x {NUM}{}Height difference: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
|
|
@ -3134,6 +3134,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Longo: {
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Regiono: {NUM} x {NUM}{}Altecdiferenco: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3129,6 +3129,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Pituus:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Pinta-ala: {NUM} x {NUM}{}Korkeusero: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3135,6 +3135,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Longueur
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Région: {NUM} x {NUM}{}Ecart d'altitude: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}/{STRING}/{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3134,6 +3134,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Länge:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Gebiet: {NUM} x {NUM}{}Höhenunterschied: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3237,6 +3237,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Távols
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Terület: {NUM} x {NUM}{}Magasságkülönbség: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3134,6 +3134,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Lunghezz
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Area: {NUM} x {NUM}{}Differenza in altezza: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3135,6 +3135,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}長さ
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}地域:{NUM} x {NUM}{}高さの違い:{NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{2:NUM}-{1:STRING}-{0:STRING}
|
||||
STR_DATE_SHORT :{1:NUM}年{0:STRING}
|
||||
STR_DATE_LONG :{2:NUM}年{1:STRING}{0:STRING}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3136,6 +3136,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}길이:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}넓이: {NUM} x {NUM}{}고도차: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3129,6 +3129,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Lengde:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Område: {NUM} x {NUM}{}Høydeforskjell: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3135,6 +3135,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Lengd: {
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Område: {NUM} x {NUM}{}Høgdeskilnad: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3263,6 +3263,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Długoś
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Obszar: {NUM} x {NUM}{}Różnica wysokości: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3132,6 +3132,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Comprime
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Área: {NUM} x {NUM}{}Diferença de altura: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3132,6 +3132,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Lungime:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Suprafata: {NUM} x {NUM}{}Diferenta inaltime: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3147,6 +3147,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Длин
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Площадь: {NUM} x {NUM}{}Разница высот: {NUM} м
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}.{STRING}.{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3110,6 +3110,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}长度
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}面积:{NUM} x {NUM}{}高度差:{NUM}米
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3199,6 +3199,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Dlžka:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Plocha: {NUM} x {NUM}{}Výškový rozdiel: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3213,6 +3213,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Dolžina
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Območje: {NUM} x {NUM}{}Višinska razlika: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3135,6 +3135,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Longitud
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Área: {NUM} x {NUM}{}Diferencia altura: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3135,6 +3135,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Längd:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Yta: {NUM} x {NUM}{}Höjdskillnad: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3133,6 +3133,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}長度:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}區域: {NUM} x {NUM}{}高度差: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{2:NUM} 年 {1:STRING} 月 {0:STRING} 日
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -3127,5 +3127,8 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Uzunluk:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Alan: {NUM} x {NUM}{}Yükseklik farkı: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
|
|
@ -3298,6 +3298,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Довж
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Ділянка: {NUM} x {NUM}{}Різниця висот: {NUM} м
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
|
@ -2894,6 +2894,9 @@ STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Dužina:
|
|||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Područje:{NUM}x{NUM}Visinska razlika:{NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
||||
|
|
52
strings.c
52
strings.c
|
@ -240,9 +240,17 @@ char *InlineString(char *buf, StringID string)
|
|||
}
|
||||
|
||||
|
||||
// This function takes a C-string and allocates a temporary string ID.
|
||||
// The duration of the bound string is valid only until the next GetString,
|
||||
// so be careful.
|
||||
/**
|
||||
* This function takes a C-string and allocates a temporary string ID.
|
||||
* The StringID of the bound string is valid until BindCString is called
|
||||
* another NUM_BOUND_STRINGS times. So be careful when using it.
|
||||
*
|
||||
* @note formatting a DATE_TINY calls BindCString twice, thus reduces the
|
||||
* amount of 'user' bound strings by 2.
|
||||
* @todo rewrite the BindCString system to make the limit flexible and
|
||||
* non-round-robin. For example by using smart pointers that free
|
||||
* the allocated StringID when they go out-of-scope/are freed.
|
||||
*/
|
||||
StringID BindCString(const char *str)
|
||||
{
|
||||
int idx = (++_bind_index) & (NUM_BOUND_STRINGS - 1);
|
||||
|
@ -346,40 +354,42 @@ static char *FormatNoCommaNumber(char *buff, int32 number, const char* last)
|
|||
static char *FormatYmdString(char *buff, Date date, const char* last)
|
||||
{
|
||||
YearMonthDay ymd;
|
||||
|
||||
int32 args[3];
|
||||
ConvertDateToYMD(date, &ymd);
|
||||
|
||||
buff = strecpy(buff, GetStringPtr(ymd.day + STR_01AC_1ST - 1), last);
|
||||
buff = strecpy(buff, " ", last);
|
||||
buff = strecpy(buff, GetStringPtr(STR_0162_JAN + ymd.month), last);
|
||||
buff = strecpy(buff, " ", last);
|
||||
|
||||
return FormatNoCommaNumber(buff, ymd.year, last);
|
||||
args[0] = ymd.day + STR_01AC_1ST - 1;
|
||||
args[1] = STR_0162_JAN + ymd.month;
|
||||
args[2] = ymd.year;
|
||||
return FormatString(buff, GetStringPtr(STR_DATE_LONG), args, 0, last);
|
||||
}
|
||||
|
||||
static char *FormatMonthAndYear(char *buff, Date date, const char* last)
|
||||
{
|
||||
YearMonthDay ymd;
|
||||
|
||||
int32 args[2];
|
||||
ConvertDateToYMD(date, &ymd);
|
||||
|
||||
buff = strecpy(buff, GetStringPtr(STR_MONTH_JAN + ymd.month), last);
|
||||
buff = strecpy(buff, " ", last);
|
||||
|
||||
return FormatNoCommaNumber(buff, ymd.year, last);
|
||||
args[0] = STR_MONTH_JAN + ymd.month;
|
||||
args[1] = ymd.year;
|
||||
return FormatString(buff, GetStringPtr(STR_DATE_SHORT), args, 0, last);
|
||||
}
|
||||
|
||||
static char *FormatTinyDate(char *buff, Date date, const char* last)
|
||||
{
|
||||
YearMonthDay ymd;
|
||||
|
||||
int32 args[3];
|
||||
char day[3];
|
||||
char month[3];
|
||||
ConvertDateToYMD(date, &ymd);
|
||||
buff += snprintf(
|
||||
buff, last - buff + 1,
|
||||
" %02i-%02i-%04i", ymd.day, ymd.month + 1, ymd.year
|
||||
);
|
||||
|
||||
return buff;
|
||||
/* We want to zero-pad the days and months */
|
||||
snprintf(day, lengthof(day), "%02i", ymd.day);
|
||||
snprintf(month, lengthof(month), "%02i", ymd.month + 1);
|
||||
|
||||
args[0] = BindCString(day);
|
||||
args[1] = BindCString(month);
|
||||
args[2] = ymd.year;
|
||||
return FormatString(buff, GetStringPtr(STR_DATE_TINY), args, 0, last);
|
||||
}
|
||||
|
||||
static char *FormatGenericCurrency(char *buff, const CurrencySpec *spec, int64 number, bool compact, const char* last)
|
||||
|
|
Loading…
Reference in New Issue