aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Henriksen <LarsHenriksen@get2net.dk>2017-08-27 10:23:36 +0200
committerLukas Fleischer <lfleischer@calcurse.org>2017-08-28 07:30:38 +0200
commit26aeddd4904ec6d21c80159734516a1690c189e9 (patch)
tree3f976e56e88df114d04bd93107e355b02eefe184
parentfad4a5f4e0d2e2f9c5eaf13fd6abffc92dc18d5f (diff)
downloadcalcurse-26aeddd4904ec6d21c80159734516a1690c189e9.tar.gz
calcurse-26aeddd4904ec6d21c80159734516a1690c189e9.zip
Use nl_langinfo() for month and day names
Use the locale setting to fetch the month names and abbreviated day names. Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk> Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
-rw-r--r--src/calcurse.h3
-rw-r--r--src/ui-calendar.c12
-rw-r--r--src/vars.c28
3 files changed, 8 insertions, 35 deletions
diff --git a/src/calcurse.h b/src/calcurse.h
index 392e93e..7abeb03 100644
--- a/src/calcurse.h
+++ b/src/calcurse.h
@@ -742,7 +742,6 @@ long ui_calendar_end_of_year(void);
const char *ui_calendar_get_pom(time_t);
/* config.c */
-
void config_load(void);
unsigned config_save(void);
@@ -1176,8 +1175,6 @@ extern int quiet;
extern int want_reload;
extern const char *datefmt_str[DATE_FORMATS];
extern int days[12];
-extern const char *monthnames[12];
-extern const char *daynames[8];
extern char path_dir[BUFSIZ];
extern char path_todo[BUFSIZ];
extern char path_apts[BUFSIZ];
diff --git a/src/ui-calendar.c b/src/ui-calendar.c
index 0fae5a3..c412dc0 100644
--- a/src/ui-calendar.c
+++ b/src/ui-calendar.c
@@ -40,6 +40,7 @@
#include <sys/types.h>
#include <time.h>
#include <math.h>
+#include <langinfo.h>
#include "calcurse.h"
@@ -379,6 +380,7 @@ draw_monthly_view(struct scrollwin *sw, struct date *current_day,
int w, ofs_x, ofs_y;
int item_this_day = 0;
struct tm t = get_first_weekday(sunday_first);
+ char *cp;
mo = slctd_day.mm;
yr = slctd_day.yyyy;
@@ -411,9 +413,9 @@ draw_monthly_view(struct scrollwin *sw, struct date *current_day,
werase(sw_cal.inner);
}
custom_apply_attr(sw->inner, ATTR_HIGHEST);
- mvwprintw(sw->inner, ofs_y,
- (w - (strlen(_(monthnames[mo - 1])) + 5)) / 2,
- "%s %d", _(monthnames[mo - 1]), slctd_day.yyyy);
+ cp = nl_langinfo(MON_1 + mo - 1);
+ mvwprintw(sw->inner, ofs_y, (w - (strlen(cp) + 5)) / 2,
+ "%s %d", cp, slctd_day.yyyy);
custom_remove_attr(sw->inner, ATTR_HIGHEST);
++ofs_y;
@@ -421,7 +423,7 @@ draw_monthly_view(struct scrollwin *sw, struct date *current_day,
custom_apply_attr(sw->inner, ATTR_HIGHEST);
for (j = 0; j < WEEKINDAYS; j++) {
mvwaddstr(sw->inner, ofs_y, ofs_x + 4 * j,
- _(daynames[1 + j - sunday_first]));
+ nl_langinfo(ABDAY_1 + (1 + j - sunday_first) % WEEKINDAYS));
}
custom_remove_attr(sw->inner, ATTR_HIGHEST);
WINS_CALENDAR_UNLOCK;
@@ -507,7 +509,7 @@ draw_weekly_view(struct scrollwin *sw, struct date *current_day,
/* print the day names, with regards to the first day of the week */
custom_apply_attr(sw->inner, ATTR_HIGHEST);
mvwaddstr(sw->inner, OFFY, OFFX + 4 * j,
- _(daynames[1 + j - sunday_first]));
+ nl_langinfo(ABDAY_1 + (1 + j - sunday_first) % WEEKINDAYS));
custom_remove_attr(sw->inner, ATTR_HIGHEST);
/* Check if the day to be printed has an item or not. */
diff --git a/src/vars.c b/src/vars.c
index d236805..26b829c 100644
--- a/src/vars.c
+++ b/src/vars.c
@@ -71,36 +71,10 @@ int want_reload = 0;
const char *datefmt_str[DATE_FORMATS];
/*
- * variables to store calendar names
+ * variable to store month lengths
*/
int days[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
-const char *monthnames[12] = {
- N_("January"),
- N_("February"),
- N_("March"),
- N_("April"),
- N_("May"),
- N_("June"),
- N_("July"),
- N_("August"),
- N_("September"),
- N_("October"),
- N_("November"),
- N_("December")
-};
-
-const char *daynames[8] = {
- N_("Sun"),
- N_("Mon"),
- N_("Tue"),
- N_("Wed"),
- N_("Thu"),
- N_("Fri"),
- N_("Sat"),
- N_("Sun")
-};
-
/*
* variables to store data path names, which are initialized in
* io_init()