From 7cd4013dd4e1c3267a543e73fba6d245dc109cb4 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Tue, 20 Jan 2026 18:20:27 +0000 Subject: [PATCH 1/6] Added package info function --- source/libublsettings-gtk3-packages.c | 154 +++++++++++++++++++++++++- source/libublsettings-gtk3.h | 25 +++++ 2 files changed, 178 insertions(+), 1 deletion(-) diff --git a/source/libublsettings-gtk3-packages.c b/source/libublsettings-gtk3-packages.c index 8a8743b..803c44b 100644 --- a/source/libublsettings-gtk3-packages.c +++ b/source/libublsettings-gtk3-packages.c @@ -92,7 +92,8 @@ int yon_packages_init(){ int yon_packages_check_exist(const char *package_name){ alpm_list_t *sync_db = _yon_packages_get_db_list(YON_PACKAGES_ALL); - for (alpm_list_t *iter=sync_db;iter;iter=alpm_list_next(iter)){ + alpm_list_t *iter; + for (iter=sync_db;iter;iter=alpm_list_next(iter)){ alpm_db_t *database = iter->data; alpm_pkg_t *package = alpm_db_get_pkg(database,package_name); @@ -184,6 +185,157 @@ char *yon_packages_get_description(enum YON_PACKAGES_DB_TYPE type, const char *p } } +char* yon_alpm_list_to_char(alpm_list_t *list){ + if (!list) return NULL; + int size = 0; + size_t list_size = alpm_list_count(list); + config_str parsed = NULL; + for (size_t i=0;idata) + list=list->next; + } + char *final = yon_char_parsed_to_string(parsed,size," "); + yon_char_parsed_free(parsed,size); + return final; +} + +yon_packages_info *yon_packages_get_info_struct(enum YON_PACKAGES_DB_TYPE type, const char *package){ + if (yon_char_is_empty(package)) return NULL; + + alpm_list_t *databases = _yon_packages_get_db_list(type); + alpm_list_t *iter = NULL; + for (iter = databases; iter; iter=iter->next){ + alpm_pkg_t *pkg = alpm_db_get_pkg(iter->data,package); + if (!pkg) continue; + const char *name = alpm_pkg_get_name(pkg); + if (!strcmp(name,package)){ + yon_packages_info *package_info = malloc(sizeof(yon_packages_info)); + memset(package_info,0,sizeof(yon_packages_info)); + package_info->repo_name = yon_char_new(alpm_db_get_name(iter->data)); + package_info->package_name = yon_char_new(alpm_pkg_get_name(pkg)); + package_info->version = yon_char_new(alpm_pkg_get_version(pkg)); + package_info->description = yon_char_new(alpm_pkg_get_desc(pkg)); + package_info->architecture = yon_char_new(alpm_pkg_get_arch(pkg)); + package_info->url = yon_char_new(alpm_pkg_get_url(pkg)); + + size_t size=0; + alpm_list_t *licence_list = alpm_pkg_get_licenses(pkg); + package_info->licence = yon_alpm_list_to_char(licence_list); + alpm_list_free(licence_list); + + alpm_list_t *groups_list = alpm_pkg_get_groups(pkg); + package_info->groups = yon_alpm_list_to_char(groups_list); + alpm_list_free(groups_list); + + { + alpm_list_t *provides_list = alpm_pkg_get_provides(pkg); + size = alpm_list_count(provides_list); + int parsed_size=0; + config_str parsed = NULL; + for (int i=0;idata)->name); + } + package_info->provides = yon_char_parsed_to_string(parsed,parsed_size, " "); + alpm_list_free(provides_list); + } + + { + alpm_list_t *depends_list = alpm_pkg_get_depends(pkg); + size = alpm_list_count(depends_list); + int parsed_size=0; + config_str parsed = NULL; + for (int i=0;idata)->name); + } + package_info->depends = yon_char_parsed_to_string(parsed,parsed_size, " "); + alpm_list_free(depends_list); + } + + { + alpm_list_t *optdepends_list = alpm_pkg_get_optdepends(pkg); + size = alpm_list_count(optdepends_list); + int parsed_size=0; + config_str parsed = NULL; + for (int i=0;idata)->name); + } + package_info->optional_depends = yon_char_parsed_to_string(parsed,parsed_size, " "); + alpm_list_free(optdepends_list); + } + + { + alpm_list_t *conflicts_list = alpm_pkg_get_conflicts(pkg); + size = alpm_list_count(conflicts_list); + int parsed_size=0; + config_str parsed = NULL; + for (int i=0;idata)->name); + } + package_info->conflicts = yon_char_parsed_to_string(parsed,parsed_size, " "); + alpm_list_free(conflicts_list); + } + + { + alpm_list_t *replaces_list = alpm_pkg_get_replaces(pkg); + size = alpm_list_count(replaces_list); + int parsed_size=0; + config_str parsed = NULL; + for (int i=0;idata)->name); + } + package_info->replaces = yon_char_parsed_to_string(parsed,parsed_size, " "); + alpm_list_free(replaces_list); + } + + int size_mod = 0; + int fin_size = yon_size_convert_automatic(alpm_pkg_get_size(pkg),&size_mod); + char *size_letter = yon_size_get_mod(size_mod); + char *size_string = yon_char_from_int(fin_size); + package_info->download_size = yon_char_unite(size_string,size_letter,NULL); + free(size_string); + + size_mod = 0; + fin_size = yon_size_convert_automatic(alpm_pkg_get_isize(pkg),&size_mod); + size_letter = yon_size_get_mod(size_mod); + size_string = yon_char_from_int(fin_size); + package_info->install_size = yon_char_unite(size_string,size_letter,NULL); + free(size_string); + + package_info->packager = yon_char_new(alpm_pkg_get_packager(pkg)); + GDateTime *datetime = g_date_time_new_from_unix_local(alpm_pkg_get_builddate(pkg)); + package_info->build_date = g_date_time_format(datetime,"%Ec"); + package_info->validate_by = alpm_pkg_get_validation(pkg); + + return package_info; + } + } +} + +char *yon_packages_get_info_string(yon_packages_info *info){ + char *packager = yon_char_return_if_exist(info->packager,""); + char *info_label = yon_char_unite( + "Repository :",yon_char_return_if_exist(info->repo_name,""),"\n", + "Name :",yon_char_return_if_exist(info->package_name,""),"\n", + "Version :",yon_char_return_if_exist(info->version,""),"\n", + "Description :",yon_char_return_if_exist(info->description,""),"\n", + "Architecture :",yon_char_return_if_exist(info->architecture,""),"\n", + "URL :",yon_char_return_if_exist(info->url,""),"\n", + "Licenses :",yon_char_return_if_exist(info->licence,""),"\n", + "Groups :",yon_char_return_if_exist(info->groups,""),"\n", + "Provides :",yon_char_return_if_exist(info->provides,""),"\n", + "Depends On :",yon_char_return_if_exist(info->depends,""),"\n", + "Optional Deps :",yon_char_return_if_exist(info->optional_depends,""),"\n", + "Conflicts With :",yon_char_return_if_exist(info->conflicts,""),"\n", + "Replaces :",yon_char_return_if_exist(info->replaces,""),"\n", + "Download Size :",yon_char_return_if_exist(info->download_size,""),"\n", + "Installed Size :",yon_char_return_if_exist(info->install_size,""),"\n", + "Packager :",g_markup_escape_text(packager,strlen(packager)),"\n", + "Build Date :",yon_char_return_if_exist(info->build_date,""),"\n", + "Validated By :",yon_char_return_if_exist(info->architecture,""), + NULL); +return info_label; +} + config_str yon_packages_get_depends(enum YON_PACKAGES_DB_TYPE type, const char *package, int *size){ (*size)=0; if (yon_char_is_empty(package)) return NULL; diff --git a/source/libublsettings-gtk3.h b/source/libublsettings-gtk3.h index 117a90f..518d268 100644 --- a/source/libublsettings-gtk3.h +++ b/source/libublsettings-gtk3.h @@ -620,6 +620,31 @@ char *yon_packages_get_description(enum YON_PACKAGES_DB_TYPE type, const char *p config_str yon_packages_get_depends(enum YON_PACKAGES_DB_TYPE type, const char *package, int *size); +typedef struct { + char *repo_name; + char *package_name; + char *version; + char *description; + char *architecture; + char *url; + char *licence; + char *groups; + char *provides; + char *depends; + char *optional_depends; + char *conflicts; + char *replaces; + char *download_size; + char *install_size; + char *packager; + char *build_date; + int validate_by; +} yon_packages_info; + +yon_packages_info *yon_packages_get_info_struct(enum YON_PACKAGES_DB_TYPE type, const char *package); + +char *yon_packages_get_info_string(yon_packages_info *info); + void yon_combo_box_set_default(GtkComboBoxText *target, char *command, char*(result_callback)(char*)); int yon_ip_mask_get_bits(char *mask); From 80da16aa24248b4b3f638ffe048f6e1443d53682 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 22 Jan 2026 11:55:09 +0000 Subject: [PATCH 2/6] Template update --- source/libublsettings-gtk3.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/libublsettings-gtk3.h b/source/libublsettings-gtk3.h index 518d268..2b1c6ab 100644 --- a/source/libublsettings-gtk3.h +++ b/source/libublsettings-gtk3.h @@ -8,6 +8,7 @@ #define _(String) gettext(String) #ifdef __GTK_H__ +#ifdef VTE_INCLUDE #include /** * void yon_terminal_integrated_launch(GtkWidget *place_to_show, void *endwork_function, void* endwork_function_argument) @@ -59,6 +60,8 @@ void yon_terminal_window_launch_shell(GtkWindow *parent_window, char *command, c void yon_terminal_window_update_button_launch(GtkWindow *parent_window, char *command, char *success_label,char *fail_label); +#endif + #define for_iter(model,iter) for(int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model),iter);valid;valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model),iter)) /**yon_gtk_widget_set_scroll_window_for_scroll(GtkWidget *target, GtkScrollbar *scroll) @@ -506,6 +509,11 @@ void _yon_ubl_header_setup_resource(GtkWidget *Overlay, GtkWidget *Head, GtkWidg void yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWidget *right_window, int socket_main_id, int socket_left_id, int socket_right_id); //webkit section +#ifdef WEBKIT_FOUND + #ifndef WEBKIT_INCLUDE + #define WEBKIT_INCLUDE + #endif +#endif #ifdef WEBKIT_INCLUDE #include From 2522cb4d915a45b8c0736579859d092c657a0e11 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Tue, 3 Feb 2026 14:15:21 +0600 Subject: [PATCH 3/6] Packages info getting function fixes --- source/libublsettings-gtk3-packages.c | 36 +++++++++++++-------------- source/libublsettings-gtk3.h | 1 + 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/source/libublsettings-gtk3-packages.c b/source/libublsettings-gtk3-packages.c index 803c44b..ad2896e 100644 --- a/source/libublsettings-gtk3-packages.c +++ b/source/libublsettings-gtk3-packages.c @@ -314,24 +314,24 @@ yon_packages_info *yon_packages_get_info_struct(enum YON_PACKAGES_DB_TYPE type, char *yon_packages_get_info_string(yon_packages_info *info){ char *packager = yon_char_return_if_exist(info->packager,""); char *info_label = yon_char_unite( - "Repository :",yon_char_return_if_exist(info->repo_name,""),"\n", - "Name :",yon_char_return_if_exist(info->package_name,""),"\n", - "Version :",yon_char_return_if_exist(info->version,""),"\n", - "Description :",yon_char_return_if_exist(info->description,""),"\n", - "Architecture :",yon_char_return_if_exist(info->architecture,""),"\n", - "URL :",yon_char_return_if_exist(info->url,""),"\n", - "Licenses :",yon_char_return_if_exist(info->licence,""),"\n", - "Groups :",yon_char_return_if_exist(info->groups,""),"\n", - "Provides :",yon_char_return_if_exist(info->provides,""),"\n", - "Depends On :",yon_char_return_if_exist(info->depends,""),"\n", - "Optional Deps :",yon_char_return_if_exist(info->optional_depends,""),"\n", - "Conflicts With :",yon_char_return_if_exist(info->conflicts,""),"\n", - "Replaces :",yon_char_return_if_exist(info->replaces,""),"\n", - "Download Size :",yon_char_return_if_exist(info->download_size,""),"\n", - "Installed Size :",yon_char_return_if_exist(info->install_size,""),"\n", - "Packager :",g_markup_escape_text(packager,strlen(packager)),"\n", - "Build Date :",yon_char_return_if_exist(info->build_date,""),"\n", - "Validated By :",yon_char_return_if_exist(info->architecture,""), + "",_("Repository"),"\t\t:",yon_char_return_if_exist(info->repo_name,""),"\n", + "",_("Name"),"\t\t\t:",yon_char_return_if_exist(info->package_name,""),"\n", + "",_("Version"),"\t\t:",yon_char_return_if_exist(info->version,""),"\n", + "",_("Description"),"\t:",yon_char_return_if_exist(info->description,""),"\n", + "",_("Architecture"),"\t:",yon_char_return_if_exist(info->architecture,""),"\n", + "",_("URL"),"\t\t\t:",yon_char_return_if_exist(info->url,""),"\n", + "",_("Licenses"),"\t\t:",yon_char_return_if_exist(info->licence,""),"\n", + "",_("Groups"),"\t\t\t:",yon_char_return_if_exist(info->groups,""),"\n", + "",_("Provides"),"\t\t:",yon_char_return_if_exist(info->provides,""),"\n", + "",_("Depends On"),"\t:",yon_char_return_if_exist(info->depends,""),"\n", + "",_("Optional Deps"),"\t:",yon_char_return_if_exist(info->optional_depends,""),"\n", + "",_("Conflicts With"),"\t:",yon_char_return_if_exist(info->conflicts,""),"\n", + "",_("Replaces"),"\t\t:",yon_char_return_if_exist(info->replaces,""),"\n", + "",_("Download Size"),"\t:",yon_char_return_if_exist(info->download_size,""),"\n", + "",_("Installed Size"),"\t:",yon_char_return_if_exist(info->install_size,""),"\n", + "",_("Packager"),"\t\t:",g_markup_escape_text(packager,strlen(packager)),"\n", + "",_("Build Date"),"\t\t:",yon_char_return_if_exist(info->build_date,""),"\n", + // "",_("Validated By"),"\t:",yon_char_return_if_exist(info->architecture,""), NULL); return info_label; } diff --git a/source/libublsettings-gtk3.h b/source/libublsettings-gtk3.h index 2b1c6ab..b254390 100644 --- a/source/libublsettings-gtk3.h +++ b/source/libublsettings-gtk3.h @@ -3,6 +3,7 @@ #include #include #include +#include #include #define _(String) gettext(String) From cea74b3d897fb673031d9e35d27794e3c37022fe Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 4 Feb 2026 11:03:43 +0600 Subject: [PATCH 4/6] Removed command --- source/libublsettings-gtk3-status.c | 6 ----- source/libublsettings-gtk3.h | 36 ----------------------------- 2 files changed, 42 deletions(-) diff --git a/source/libublsettings-gtk3-status.c b/source/libublsettings-gtk3-status.c index 426ba47..06bc4fb 100644 --- a/source/libublsettings-gtk3-status.c +++ b/source/libublsettings-gtk3-status.c @@ -8,12 +8,6 @@ void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image gtk_image_set_from_file(GTK_IMAGE(Image), image_path); } -void _yon_ubl_header_setup_resource(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path) -{ - gtk_overlay_add_overlay(GTK_OVERLAY(Overlay), Head); - gtk_image_set_from_resource(GTK_IMAGE(Image), image_path); -} - int yon_ubl_status_box_setup(GtkWidget *icon, GtkWidget *box, GtkWidget *label) { if(icon&&box&&label){ diff --git a/source/libublsettings-gtk3.h b/source/libublsettings-gtk3.h index b254390..a4725bd 100644 --- a/source/libublsettings-gtk3.h +++ b/source/libublsettings-gtk3.h @@ -452,42 +452,6 @@ void yon_ubl_status_box_despawn(GtkContainer *status_container); int yon_ubl_status_set_text(GtkContainer *status_placeholder,char *text); -/**yon_ubl_header_setup(overlay, head, image, imag_path) - * [EN] - * Sets up header of app. - * [overlay] is overlay for app header; - * [head] is box of header, which connects to [overlay] - * [image] is header background image; - * [imag_path] is path of image, shown in [image] - * [RU] - * Настраивает заголовок приложения. - * [overlay] - оверлей заголовка приложения; - * [head] - шапка заголовка, присоединяемая к [overlay] - * [image] - виджет картинки для заднего фона; - * [imag_path] - путь до картинки, загружаемой в [image] -*/ -#define yon_ubl_header_setup(overlay, head, image, imag_path) _yon_ubl_header_setup(GTK_WIDGET(overlay), GTK_WIDGET(head), GTK_WIDGET(image), (char *)imag_path) - -/**yon_ubl_header_setup_resource(overlay, head, image, imag_path) - * [EN] - * Sets up header of app. - * [overlay] is overlay for app header; - * [head] is box of header, which connects to [overlay] - * [image] is header background image; - * [imag_path] is path of image, shown in [image] - * [RU] - * Настраивает заголовок приложения. - * [overlay] - оверлей заголовка приложения; - * [head] - шапка заголовка, присоединяемая к [overlay] - * [image] - виджет картинки для заднего фона; - * [imag_path] - путь до картинки в ресурсах утилиты, загружаемой в [image] -*/ -#define yon_ubl_header_setup_resource(overlay, head, image, imag_path) _yon_ubl_header_setup_resource(GTK_WIDGET(overlay), GTK_WIDGET(head), GTK_WIDGET(image), (char *)imag_path) - -void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path); - -void _yon_ubl_header_setup_resource(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path); - //socket section /**yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWidget *right_window, int socket_main_id, int socket_left_id, int socket_right_id) * [EN] From 0660ea8351b7ce35af918c2c8d86315159e5f83d Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 5 Feb 2026 18:45:40 +0600 Subject: [PATCH 5/6] Added timezone functions --- source/CMakeLists.txt | 1 + source/libublsettings-gtk3-timezone.c | 147 ++++++++++++++++++++++++++ source/libublsettings-gtk3.h | 41 +++++++ 3 files changed, 189 insertions(+) create mode 100644 source/libublsettings-gtk3-timezone.c diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index f11641c..7c50daf 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -47,6 +47,7 @@ add_library(${PROJECT_NAME} SHARED ${PROJECT_NAME}-vte.c ${PROJECT_NAME}-webkit.c ${PROJECT_NAME}-window-config.c + ${PROJECT_NAME}-timezone.c ${PROJECT_NAME}.c ${PROJECT_NAME}.h) diff --git a/source/libublsettings-gtk3-timezone.c b/source/libublsettings-gtk3-timezone.c new file mode 100644 index 0000000..6e72d89 --- /dev/null +++ b/source/libublsettings-gtk3-timezone.c @@ -0,0 +1,147 @@ +#include "libublsettings-gtk3.h" + +GHashTable *__yon_timezone = NULL; + +#define timezone_path "/usr/share/zoneinfo/zone.tab" +#define timezone_countries_path "/usr/share/zoneinfo/iso3166.tab" + +#define yon_timezone_check if (__yon_timezone&&g_hash_table_size(__yon_timezone)) + +typedef struct { + char *country_code; + char *timezone; + char *comments; + char *city; + char *country; +} yon_timezone_struct; + +void _yon_timezone_countries_setup(GHashTable *timezone_countries){ + g_hash_table_remove_all(timezone_countries); + int size; + config_str countries_file = yon_file_open(timezone_countries_path,&size); + for (int i=0;icountry_code = yon_char_new(parsed[0]); + timezone_info->timezone = yon_char_new(parsed[2]); + timezone_info->city = yon_char_new(city); + timezone_info->country = yon_char_new(g_hash_table_lookup(timezone_countries,parsed[0])); + if (parsed_size>3){ + timezone_info->comments = yon_char_new(parsed[3]); + } + g_hash_table_insert(__yon_timezone,yon_char_new(parsed[2]),timezone_info); + + yon_char_parsed_free(parsed,parsed_size); + } + yon_char_parsed_free(timezone_file,size); + g_hash_table_unref(timezone_countries); + } + + return 1; +} + +void yon_timezone_unref(){ + yon_timezone_check{ + g_hash_table_unref(__yon_timezone); + __yon_timezone = NULL; + } +} + +config_str yon_timezone_get_all(size_t *size){ + (*size) = 0; + yon_timezone_check{ + config_str timezones = (config_str)g_hash_table_get_keys_as_array(__yon_timezone,(guint*)size); + qsort(timezones,*size,sizeof(char*),(__compar_fn_t)yon_char_parsed_compare); + return yon_char_parsed_copy(timezones,*size); + } + return NULL; +} + + +char *yon_timezone_get_country_code(const char *timezone){ + yon_timezone_check{ + yon_timezone_struct *timezone_info = g_hash_table_lookup(__yon_timezone,timezone); + if (timezone_info){ + return yon_char_new(timezone_info->country_code); + } + } + return NULL; +} + +char *yon_timezone_get_comments(const char *timezone){ + yon_timezone_check{ + yon_timezone_struct *timezone_info = g_hash_table_lookup(__yon_timezone,timezone); + if (timezone_info){ + return yon_char_new(timezone_info->comments); + } + } + return NULL; +} + +char *yon_timezone_get_city(const char *timezone){ + yon_timezone_check{ + yon_timezone_struct *timezone_info = g_hash_table_lookup(__yon_timezone,timezone); + if (timezone_info){ + return yon_char_new(timezone_info->city); + } + } + return NULL; +} + +char *yon_timezone_get_country(const char *timezone){ + yon_timezone_check{ + yon_timezone_struct *timezone_info = g_hash_table_lookup(__yon_timezone,timezone); + if (timezone_info){ + return yon_char_new(timezone_info->country); + } + } + return NULL; +} + +#define get_utc_command(tz) yon_char_unite("TZ='",tz,"' date +%z",NULL); + +char *yon_timezone_get_utc(const char *timezone){ + char *command = get_utc_command(timezone); + int size; + config_str ret = yon_config_load(command,&size); + if (size>0){ + yon_char_remove_last_symbol(ret[0],'\n'); + char *temp = yon_char_new(ret[0]); + yon_char_parsed_free(ret,size); + return temp; + } + return NULL; +} \ No newline at end of file diff --git a/source/libublsettings-gtk3.h b/source/libublsettings-gtk3.h index a4725bd..81439df 100644 --- a/source/libublsettings-gtk3.h +++ b/source/libublsettings-gtk3.h @@ -668,4 +668,45 @@ config_str yon_apps_get_by_categories(config_str categories, int categories_size /// @brief Block scroll element changing for GtkComboBox /// @param target - GtkComboBox to block void yon_gtk_combo_box_block_scroll(GtkComboBox *target); + +//timezone section + +/// @brief Init timezone system +/// @return 1 if timezone system has been successfully initialised, 0 if failed +int yon_timezone_init(); + + +/// @brief Finalize timezone system and free all memory; +void yon_timezone_unref(); + +/// @brief Get all timezones list +/// @param size pointer for list size; +/// @return New allocated char* array with timezones +config_str yon_timezone_get_all(size_t *size); + +/// @brief Get a country code for timezone +/// @param timezone Requested timezone; +/// @return A newly allocated char string with country code or NULL +char *yon_timezone_get_country_code(const char *timezone); + +/// @brief Get a comments for timezone +/// @param timezone Requested timezone; +/// @return A newly allocated char string with comments or NULL +char *yon_timezone_get_comments(const char *timezone); + +/// @brief Get a city for timezone +/// @param timezone Requested timezone; +/// @return A newly allocated char string with city or NULL +char *yon_timezone_get_city(const char *timezone); + +/// @brief Get a country for timezone +/// @param timezone Requested timezone; +/// @return A newly allocated char string with country or NULL +char *yon_timezone_get_country(const char *timezone); + +/// @brief Get UTC modifier for timezone +/// @param timezone Requested timezone; +/// @return A newly allocated char string with UTC modifier or NULL +char *yon_timezone_get_utc(const char *timezone); + #endif \ No newline at end of file From 43d779be928c30beabe57aee37199debd0dcc1e4 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 6 Feb 2026 18:34:58 +0600 Subject: [PATCH 6/6] Added timezone locale; Added new fields for timezone --- Makefile | 7 + locale/ubl-timezone.pot | 2069 +++++++++++++++++++++++++ locale/ubl-timezone_ru.po | 1938 +++++++++++++++++++++++ source/libublsettings-gtk3-timezone.c | 55 +- source/libublsettings-gtk3.h | 15 +- 5 files changed, 4080 insertions(+), 4 deletions(-) create mode 100644 locale/ubl-timezone.pot create mode 100644 locale/ubl-timezone_ru.po diff --git a/Makefile b/Makefile index 18c35c1..7d3b274 100644 --- a/Makefile +++ b/Makefile @@ -94,6 +94,13 @@ install: check [ -d "${DESTDIR}${PREFIX}/share/applications" ] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \ ldconfig -n ${DESTDIR}${PREFIX}/lib; \ fi + @for LANG in $$(find ./locale -iname "*.po" -print | sed -En "s/.+_([[:alpha:]]+)\.po/\1/p" | sort -u); do \ + install -dm755 "${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES"; \ +# PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \ + PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \ + PKGNAME_PO="./locale/${PKGNAME}_$${LANG}.po"; [[ -f "$${PKGNAME_PO}" ]] || PKGNAME_PO= ; \ + msgfmt --verbose --use-fuzzy --output-file "$${PATH_FILE_MO}" - < <(msgcat --use-first --no-wrap $${PKGNAME_PO} ./locale/*_$${LANG}.po); \ + done @echo "Install: OK" clean: diff --git a/locale/ubl-timezone.pot b/locale/ubl-timezone.pot new file mode 100644 index 0000000..e639ce4 --- /dev/null +++ b/locale/ubl-timezone.pot @@ -0,0 +1,2069 @@ + +msgid "Andorra" +msgstr "" + +msgid "United Arab Emirates" +msgstr "" + +msgid "Afghanistan" +msgstr "" + +msgid "Antigua & Barbuda" +msgstr "" + +msgid "Anguilla" +msgstr "" + +msgid "Albania" +msgstr "" + +msgid "Armenia" +msgstr "" + +msgid "Angola" +msgstr "" + +msgid "Antarctica" +msgstr "" + +msgid "Argentina" +msgstr "" + +msgid "Samoa (American)" +msgstr "" + +msgid "Austria" +msgstr "" + +msgid "Australia" +msgstr "" + +msgid "Aruba" +msgstr "" + +msgid "Åland Islands" +msgstr "" + +msgid "Azerbaijan" +msgstr "" + +msgid "Bosnia & Herzegovina" +msgstr "" + +msgid "Barbados" +msgstr "" + +msgid "Bangladesh" +msgstr "" + +msgid "Belgium" +msgstr "" + +msgid "Burkina Faso" +msgstr "" + +msgid "Bulgaria" +msgstr "" + +msgid "Bahrain" +msgstr "" + +msgid "Burundi" +msgstr "" + +msgid "Benin" +msgstr "" + +msgid "St Barthelemy" +msgstr "" + +msgid "Bermuda" +msgstr "" + +msgid "Brunei" +msgstr "" + +msgid "Bolivia" +msgstr "" + +msgid "Caribbean NL" +msgstr "" + +msgid "Brazil" +msgstr "" + +msgid "Bahamas" +msgstr "" + +msgid "Bhutan" +msgstr "" + +msgid "Bouvet Island" +msgstr "" + +msgid "Botswana" +msgstr "" + +msgid "Belarus" +msgstr "" + +msgid "Belize" +msgstr "" + +msgid "Canada" +msgstr "" + +msgid "Cocos (Keeling) Islands" +msgstr "" + +msgid "Congo (Dem. Rep.)" +msgstr "" + +msgid "Central African Rep." +msgstr "" + +msgid "Congo (Rep.)" +msgstr "" + +msgid "Switzerland" +msgstr "" + +msgid "Côte d'Ivoire" +msgstr "" + +msgid "Cook Islands" +msgstr "" + +msgid "Chile" +msgstr "" + +msgid "Cameroon" +msgstr "" + +msgid "China" +msgstr "" + +msgid "Colombia" +msgstr "" + +msgid "Costa Rica" +msgstr "" + +msgid "Cuba" +msgstr "" + +msgid "Cape Verde" +msgstr "" + +msgid "Curaçao" +msgstr "" + +msgid "Christmas Island" +msgstr "" + +msgid "Cyprus" +msgstr "" + +msgid "Czech Republic" +msgstr "" + +msgid "Germany" +msgstr "" + +msgid "Djibouti" +msgstr "" + +msgid "Denmark" +msgstr "" + +msgid "Dominica" +msgstr "" + +msgid "Dominican Republic" +msgstr "" + +msgid "Algeria" +msgstr "" + +msgid "Ecuador" +msgstr "" + +msgid "Estonia" +msgstr "" + +msgid "Egypt" +msgstr "" + +msgid "Western Sahara" +msgstr "" + +msgid "Eritrea" +msgstr "" + +msgid "Spain" +msgstr "" + +msgid "Ethiopia" +msgstr "" + +msgid "Finland" +msgstr "" + +msgid "Fiji" +msgstr "" + +msgid "Falkland Islands" +msgstr "" + +msgid "Micronesia" +msgstr "" + +msgid "Faroe Islands" +msgstr "" + +msgid "France" +msgstr "" + +msgid "Gabon" +msgstr "" + +msgid "Britain (UK)" +msgstr "" + +msgid "Grenada" +msgstr "" + +msgid "Georgia" +msgstr "" + +msgid "French Guiana" +msgstr "" + +msgid "Guernsey" +msgstr "" + +msgid "Ghana" +msgstr "" + +msgid "Gibraltar" +msgstr "" + +msgid "Greenland" +msgstr "" + +msgid "Gambia" +msgstr "" + +msgid "Guinea" +msgstr "" + +msgid "Guadeloupe" +msgstr "" + +msgid "Equatorial Guinea" +msgstr "" + +msgid "Greece" +msgstr "" + +msgid "South Georgia & the South Sandwich Islands" +msgstr "" + +msgid "Guatemala" +msgstr "" + +msgid "Guam" +msgstr "" + +msgid "Guinea-Bissau" +msgstr "" + +msgid "Guyana" +msgstr "" + +msgid "Hong Kong" +msgstr "" + +msgid "Heard Island & McDonald Islands" +msgstr "" + +msgid "Honduras" +msgstr "" + +msgid "Croatia" +msgstr "" + +msgid "Haiti" +msgstr "" + +msgid "Hungary" +msgstr "" + +msgid "Indonesia" +msgstr "" + +msgid "Ireland" +msgstr "" + +msgid "Israel" +msgstr "" + +msgid "Isle of Man" +msgstr "" + +msgid "India" +msgstr "" + +msgid "British Indian Ocean Territory" +msgstr "" + +msgid "Iraq" +msgstr "" + +msgid "Iran" +msgstr "" + +msgid "Iceland" +msgstr "" + +msgid "Italy" +msgstr "" + +msgid "Jersey" +msgstr "" + +msgid "Jamaica" +msgstr "" + +msgid "Jordan" +msgstr "" + +msgid "Japan" +msgstr "" + +msgid "Kenya" +msgstr "" + +msgid "Kyrgyzstan" +msgstr "" + +msgid "Cambodia" +msgstr "" + +msgid "Kiribati" +msgstr "" + +msgid "Comoros" +msgstr "" + +msgid "St Kitts & Nevis" +msgstr "" + +msgid "Korea (North)" +msgstr "" + +msgid "Korea (South)" +msgstr "" + +msgid "Kuwait" +msgstr "" + +msgid "Cayman Islands" +msgstr "" + +msgid "Kazakhstan" +msgstr "" + +msgid "Laos" +msgstr "" + +msgid "Lebanon" +msgstr "" + +msgid "St Lucia" +msgstr "" + +msgid "Liechtenstein" +msgstr "" + +msgid "Sri Lanka" +msgstr "" + +msgid "Liberia" +msgstr "" + +msgid "Lesotho" +msgstr "" + +msgid "Lithuania" +msgstr "" + +msgid "Luxembourg" +msgstr "" + +msgid "Latvia" +msgstr "" + +msgid "Libya" +msgstr "" + +msgid "Morocco" +msgstr "" + +msgid "Monaco" +msgstr "" + +msgid "Moldova" +msgstr "" + +msgid "Montenegro" +msgstr "" + +msgid "St Martin (French)" +msgstr "" + +msgid "Madagascar" +msgstr "" + +msgid "Marshall Islands" +msgstr "" + +msgid "North Macedonia" +msgstr "" + +msgid "Mali" +msgstr "" + +msgid "Myanmar (Burma)" +msgstr "" + +msgid "Mongolia" +msgstr "" + +msgid "Macau" +msgstr "" + +msgid "Northern Mariana Islands" +msgstr "" + +msgid "Martinique" +msgstr "" + +msgid "Mauritania" +msgstr "" + +msgid "Montserrat" +msgstr "" + +msgid "Malta" +msgstr "" + +msgid "Mauritius" +msgstr "" + +msgid "Maldives" +msgstr "" + +msgid "Malawi" +msgstr "" + +msgid "Mexico" +msgstr "" + +msgid "Malaysia" +msgstr "" + +msgid "Mozambique" +msgstr "" + +msgid "Namibia" +msgstr "" + +msgid "New Caledonia" +msgstr "" + +msgid "Niger" +msgstr "" + +msgid "Norfolk Island" +msgstr "" + +msgid "Nigeria" +msgstr "" + +msgid "Nicaragua" +msgstr "" + +msgid "Netherlands" +msgstr "" + +msgid "Norway" +msgstr "" + +msgid "Nepal" +msgstr "" + +msgid "Nauru" +msgstr "" + +msgid "Niue" +msgstr "" + +msgid "New Zealand" +msgstr "" + +msgid "Oman" +msgstr "" + +msgid "Panama" +msgstr "" + +msgid "Peru" +msgstr "" + +msgid "French Polynesia" +msgstr "" + +msgid "Papua New Guinea" +msgstr "" + +msgid "Philippines" +msgstr "" + +msgid "Pakistan" +msgstr "" + +msgid "Poland" +msgstr "" + +msgid "St Pierre & Miquelon" +msgstr "" + +msgid "Pitcairn" +msgstr "" + +msgid "Puerto Rico" +msgstr "" + +msgid "Palestine" +msgstr "" + +msgid "Portugal" +msgstr "" + +msgid "Palau" +msgstr "" + +msgid "Paraguay" +msgstr "" + +msgid "Qatar" +msgstr "" + +msgid "Réunion" +msgstr "" + +msgid "Romania" +msgstr "" + +msgid "Serbia" +msgstr "" + +msgid "Russia" +msgstr "" + +msgid "Rwanda" +msgstr "" + +msgid "Saudi Arabia" +msgstr "" + +msgid "Solomon Islands" +msgstr "" + +msgid "Seychelles" +msgstr "" + +msgid "Sudan" +msgstr "" + +msgid "Sweden" +msgstr "" + +msgid "Singapore" +msgstr "" + +msgid "St Helena" +msgstr "" + +msgid "Slovenia" +msgstr "" + +msgid "Svalbard & Jan Mayen" +msgstr "" + +msgid "Slovakia" +msgstr "" + +msgid "Sierra Leone" +msgstr "" + +msgid "San Marino" +msgstr "" + +msgid "Senegal" +msgstr "" + +msgid "Somalia" +msgstr "" + +msgid "Suriname" +msgstr "" + +msgid "South Sudan" +msgstr "" + +msgid "Sao Tome & Principe" +msgstr "" + +msgid "El Salvador" +msgstr "" + +msgid "St Maarten (Dutch)" +msgstr "" + +msgid "Syria" +msgstr "" + +msgid "Eswatini (Swaziland)" +msgstr "" + +msgid "Turks & Caicos Is" +msgstr "" + +msgid "Chad" +msgstr "" + +msgid "French S. Terr." +msgstr "" + +msgid "Togo" +msgstr "" + +msgid "Thailand" +msgstr "" + +msgid "Tajikistan" +msgstr "" + +msgid "Tokelau" +msgstr "" + +msgid "East Timor" +msgstr "" + +msgid "Turkmenistan" +msgstr "" + +msgid "Tunisia" +msgstr "" + +msgid "Tonga" +msgstr "" + +msgid "Turkey" +msgstr "" + +msgid "Trinidad & Tobago" +msgstr "" + +msgid "Tuvalu" +msgstr "" + +msgid "Taiwan" +msgstr "" + +msgid "Tanzania" +msgstr "" + +msgid "Ukraine" +msgstr "" + +msgid "Uganda" +msgstr "" + +msgid "US minor outlying islands" +msgstr "" + +msgid "United States" +msgstr "" + +msgid "Uruguay" +msgstr "" + +msgid "Uzbekistan" +msgstr "" + +msgid "Vatican City" +msgstr "" + +msgid "St Vincent" +msgstr "" + +msgid "Venezuela" +msgstr "" + +msgid "Virgin Islands (UK)" +msgstr "" + +msgid "Virgin Islands (US)" +msgstr "" + +msgid "Vietnam" +msgstr "" + +msgid "Vanuatu" +msgstr "" + +msgid "Wallis & Futuna" +msgstr "" + +msgid "Samoa (western)" +msgstr "" + +msgid "Yemen" +msgstr "" + +msgid "Mayotte" +msgstr "" + +msgid "South Africa" +msgstr "" + +msgid "Zambia" +msgstr "" + +msgid "Zimbabwe" +msgstr "" + +msgid "Andorra" +msgstr "" + +msgid "Dubai" +msgstr "" + +msgid "Kabul" +msgstr "" + +msgid "Antigua" +msgstr "" + +msgid "Anguilla" +msgstr "" + +msgid "Tirane" +msgstr "" + +msgid "Yerevan" +msgstr "" + +msgid "Luanda" +msgstr "" + +msgid "McMurdo" +msgstr "" + +msgid "Casey" +msgstr "" + +msgid "Davis" +msgstr "" + +msgid "DumontDUrville" +msgstr "" + +msgid "Mawson" +msgstr "" + +msgid "Palmer" +msgstr "" + +msgid "Rothera" +msgstr "" + +msgid "Syowa" +msgstr "" + +msgid "Troll" +msgstr "" + +msgid "Vostok" +msgstr "" + +msgid "Argentina" +msgstr "" + +msgid "Pago_Pago" +msgstr "" + +msgid "Vienna" +msgstr "" + +msgid "Lord_Howe" +msgstr "" + +msgid "Macquarie" +msgstr "" + +msgid "Hobart" +msgstr "" + +msgid "Melbourne" +msgstr "" + +msgid "Sydney" +msgstr "" + +msgid "Broken_Hill" +msgstr "" + +msgid "Brisbane" +msgstr "" + +msgid "Lindeman" +msgstr "" + +msgid "Adelaide" +msgstr "" + +msgid "Darwin" +msgstr "" + +msgid "Perth" +msgstr "" + +msgid "Eucla" +msgstr "" + +msgid "Aruba" +msgstr "" + +msgid "Mariehamn" +msgstr "" + +msgid "Baku" +msgstr "" + +msgid "Sarajevo" +msgstr "" + +msgid "Barbados" +msgstr "" + +msgid "Dhaka" +msgstr "" + +msgid "Brussels" +msgstr "" + +msgid "Ouagadougou" +msgstr "" + +msgid "Sofia" +msgstr "" + +msgid "Bahrain" +msgstr "" + +msgid "Bujumbura" +msgstr "" + +msgid "Porto" +msgstr ""-Novo +msgid "St_Barthelemy" +msgstr "" + +msgid "Bermuda" +msgstr "" + +msgid "Brunei" +msgstr "" + +msgid "La_Paz" +msgstr "" + +msgid "Kralendijk" +msgstr "" + +msgid "Noronha" +msgstr "" + +msgid "Belem" +msgstr "" + +msgid "Fortaleza" +msgstr "" + +msgid "Recife" +msgstr "" + +msgid "Araguaina" +msgstr "" + +msgid "Maceio" +msgstr "" + +msgid "Bahia" +msgstr "" + +msgid "Sao_Paulo" +msgstr "" + +msgid "Campo_Grande" +msgstr "" + +msgid "Cuiaba" +msgstr "" + +msgid "Santarem" +msgstr "" + +msgid "Porto_Velho" +msgstr "" + +msgid "Boa_Vista" +msgstr "" + +msgid "Manaus" +msgstr "" + +msgid "Eirunepe" +msgstr "" + +msgid "Rio_Branco" +msgstr "" + +msgid "Nassau" +msgstr "" + +msgid "Thimphu" +msgstr "" + +msgid "Gaborone" +msgstr "" + +msgid "Minsk" +msgstr "" + +msgid "Belize" +msgstr "" + +msgid "St_Johns" +msgstr "" + +msgid "Halifax" +msgstr "" + +msgid "Glace_Bay" +msgstr "" + +msgid "Moncton" +msgstr "" + +msgid "Goose_Bay" +msgstr "" + +msgid "Blanc" +msgstr ""-Sablon +msgid "Toronto" +msgstr "" + +msgid "Iqaluit" +msgstr "" + +msgid "Atikokan" +msgstr "" + +msgid "Winnipeg" +msgstr "" + +msgid "Resolute" +msgstr "" + +msgid "Rankin_Inlet" +msgstr "" + +msgid "Regina" +msgstr "" + +msgid "Swift_Current" +msgstr "" + +msgid "Edmonton" +msgstr "" + +msgid "Cambridge_Bay" +msgstr "" + +msgid "Inuvik" +msgstr "" + +msgid "Creston" +msgstr "" + +msgid "Dawson_Creek" +msgstr "" + +msgid "Fort_Nelson" +msgstr "" + +msgid "Whitehorse" +msgstr "" + +msgid "Dawson" +msgstr "" + +msgid "Vancouver" +msgstr "" + +msgid "Cocos" +msgstr "" + +msgid "Kinshasa" +msgstr "" + +msgid "Lubumbashi" +msgstr "" + +msgid "Bangui" +msgstr "" + +msgid "Brazzaville" +msgstr "" + +msgid "Zurich" +msgstr "" + +msgid "Abidjan" +msgstr "" + +msgid "Rarotonga" +msgstr "" + +msgid "Santiago" +msgstr "" + +msgid "Punta_Arenas" +msgstr "" + +msgid "Easter" +msgstr "" + +msgid "Douala" +msgstr "" + +msgid "Shanghai" +msgstr "" + +msgid "Urumqi" +msgstr "" + +msgid "Bogota" +msgstr "" + +msgid "Costa_Rica" +msgstr "" + +msgid "Havana" +msgstr "" + +msgid "Cape_Verde" +msgstr "" + +msgid "Curacao" +msgstr "" + +msgid "Christmas" +msgstr "" + +msgid "Nicosia" +msgstr "" + +msgid "Famagusta" +msgstr "" + +msgid "Prague" +msgstr "" + +msgid "Berlin" +msgstr "" + +msgid "Busingen" +msgstr "" + +msgid "Djibouti" +msgstr "" + +msgid "Copenhagen" +msgstr "" + +msgid "Dominica" +msgstr "" + +msgid "Santo_Domingo" +msgstr "" + +msgid "Algiers" +msgstr "" + +msgid "Guayaquil" +msgstr "" + +msgid "Galapagos" +msgstr "" + +msgid "Tallinn" +msgstr "" + +msgid "Cairo" +msgstr "" + +msgid "El_Aaiun" +msgstr "" + +msgid "Asmara" +msgstr "" + +msgid "Madrid" +msgstr "" + +msgid "Ceuta" +msgstr "" + +msgid "Canary" +msgstr "" + +msgid "Addis_Ababa" +msgstr "" + +msgid "Helsinki" +msgstr "" + +msgid "Fiji" +msgstr "" + +msgid "Stanley" +msgstr "" + +msgid "Chuuk" +msgstr "" + +msgid "Pohnpei" +msgstr "" + +msgid "Kosrae" +msgstr "" + +msgid "Faroe" +msgstr "" + +msgid "Paris" +msgstr "" + +msgid "Libreville" +msgstr "" + +msgid "London" +msgstr "" + +msgid "Grenada" +msgstr "" + +msgid "Tbilisi" +msgstr "" + +msgid "Cayenne" +msgstr "" + +msgid "Guernsey" +msgstr "" + +msgid "Accra" +msgstr "" + +msgid "Gibraltar" +msgstr "" + +msgid "Nuuk" +msgstr "" + +msgid "Danmarkshavn" +msgstr "" + +msgid "Scoresbysund" +msgstr "" + +msgid "Thule" +msgstr "" + +msgid "Banjul" +msgstr "" + +msgid "Conakry" +msgstr "" + +msgid "Guadeloupe" +msgstr "" + +msgid "Malabo" +msgstr "" + +msgid "Athens" +msgstr "" + +msgid "South_Georgia" +msgstr "" + +msgid "Guatemala" +msgstr "" + +msgid "Guam" +msgstr "" + +msgid "Bissau" +msgstr "" + +msgid "Guyana" +msgstr "" + +msgid "Hong_Kong" +msgstr "" + +msgid "Tegucigalpa" +msgstr "" + +msgid "Zagreb" +msgstr "" + +msgid "Port" +msgstr ""-au-Prince +msgid "Budapest" +msgstr "" + +msgid "Jakarta" +msgstr "" + +msgid "Pontianak" +msgstr "" + +msgid "Makassar" +msgstr "" + +msgid "Jayapura" +msgstr "" + +msgid "Dublin" +msgstr "" + +msgid "Jerusalem" +msgstr "" + +msgid "Isle_of_Man" +msgstr "" + +msgid "Kolkata" +msgstr "" + +msgid "Chagos" +msgstr "" + +msgid "Baghdad" +msgstr "" + +msgid "Tehran" +msgstr "" + +msgid "Reykjavik" +msgstr "" + +msgid "Rome" +msgstr "" + +msgid "Jersey" +msgstr "" + +msgid "Jamaica" +msgstr "" + +msgid "Amman" +msgstr "" + +msgid "Tokyo" +msgstr "" + +msgid "Nairobi" +msgstr "" + +msgid "Bishkek" +msgstr "" + +msgid "Phnom_Penh" +msgstr "" + +msgid "Tarawa" +msgstr "" + +msgid "Kanton" +msgstr "" + +msgid "Kiritimati" +msgstr "" + +msgid "Comoro" +msgstr "" + +msgid "St_Kitts" +msgstr "" + +msgid "Pyongyang" +msgstr "" + +msgid "Seoul" +msgstr "" + +msgid "Kuwait" +msgstr "" + +msgid "Cayman" +msgstr "" + +msgid "Almaty" +msgstr "" + +msgid "Qyzylorda" +msgstr "" + +msgid "Qostanay" +msgstr "" + +msgid "Aqtobe" +msgstr "" + +msgid "Aqtau" +msgstr "" + +msgid "Atyrau" +msgstr "" + +msgid "Oral" +msgstr "" + +msgid "Vientiane" +msgstr "" + +msgid "Beirut" +msgstr "" + +msgid "St_Lucia" +msgstr "" + +msgid "Vaduz" +msgstr "" + +msgid "Colombo" +msgstr "" + +msgid "Monrovia" +msgstr "" + +msgid "Maseru" +msgstr "" + +msgid "Vilnius" +msgstr "" + +msgid "Luxembourg" +msgstr "" + +msgid "Riga" +msgstr "" + +msgid "Tripoli" +msgstr "" + +msgid "Casablanca" +msgstr "" + +msgid "Monaco" +msgstr "" + +msgid "Chisinau" +msgstr "" + +msgid "Podgorica" +msgstr "" + +msgid "Marigot" +msgstr "" + +msgid "Antananarivo" +msgstr "" + +msgid "Majuro" +msgstr "" + +msgid "Kwajalein" +msgstr "" + +msgid "Skopje" +msgstr "" + +msgid "Bamako" +msgstr "" + +msgid "Yangon" +msgstr "" + +msgid "Ulaanbaatar" +msgstr "" + +msgid "Hovd" +msgstr "" + +msgid "Choibalsan" +msgstr "" + +msgid "Macau" +msgstr "" + +msgid "Saipan" +msgstr "" + +msgid "Martinique" +msgstr "" + +msgid "Nouakchott" +msgstr "" + +msgid "Montserrat" +msgstr "" + +msgid "Malta" +msgstr "" + +msgid "Mauritius" +msgstr "" + +msgid "Maldives" +msgstr "" + +msgid "Blantyre" +msgstr "" + +msgid "Mexico_City" +msgstr "" + +msgid "Cancun" +msgstr "" + +msgid "Merida" +msgstr "" + +msgid "Monterrey" +msgstr "" + +msgid "Matamoros" +msgstr "" + +msgid "Chihuahua" +msgstr "" + +msgid "Ciudad_Juarez" +msgstr "" + +msgid "Ojinaga" +msgstr "" + +msgid "Mazatlan" +msgstr "" + +msgid "Bahia_Banderas" +msgstr "" + +msgid "Hermosillo" +msgstr "" + +msgid "Tijuana" +msgstr "" + +msgid "Kuala_Lumpur" +msgstr "" + +msgid "Kuching" +msgstr "" + +msgid "Maputo" +msgstr "" + +msgid "Windhoek" +msgstr "" + +msgid "Noumea" +msgstr "" + +msgid "Niamey" +msgstr "" + +msgid "Norfolk" +msgstr "" + +msgid "Lagos" +msgstr "" + +msgid "Managua" +msgstr "" + +msgid "Amsterdam" +msgstr "" + +msgid "Oslo" +msgstr "" + +msgid "Kathmandu" +msgstr "" + +msgid "Nauru" +msgstr "" + +msgid "Niue" +msgstr "" + +msgid "Auckland" +msgstr "" + +msgid "Chatham" +msgstr "" + +msgid "Muscat" +msgstr "" + +msgid "Panama" +msgstr "" + +msgid "Lima" +msgstr "" + +msgid "Tahiti" +msgstr "" + +msgid "Marquesas" +msgstr "" + +msgid "Gambier" +msgstr "" + +msgid "Port_Moresby" +msgstr "" + +msgid "Bougainville" +msgstr "" + +msgid "Manila" +msgstr "" + +msgid "Karachi" +msgstr "" + +msgid "Warsaw" +msgstr "" + +msgid "Miquelon" +msgstr "" + +msgid "Pitcairn" +msgstr "" + +msgid "Puerto_Rico" +msgstr "" + +msgid "Gaza" +msgstr "" + +msgid "Hebron" +msgstr "" + +msgid "Lisbon" +msgstr "" + +msgid "Madeira" +msgstr "" + +msgid "Azores" +msgstr "" + +msgid "Palau" +msgstr "" + +msgid "Asuncion" +msgstr "" + +msgid "Qatar" +msgstr "" + +msgid "Reunion" +msgstr "" + +msgid "Bucharest" +msgstr "" + +msgid "Belgrade" +msgstr "" + +msgid "Kaliningrad" +msgstr "" + +msgid "Moscow" +msgstr "" + +msgid "Simferopol" +msgstr "" + +msgid "Kirov" +msgstr "" + +msgid "Volgograd" +msgstr "" + +msgid "Astrakhan" +msgstr "" + +msgid "Saratov" +msgstr "" + +msgid "Ulyanovsk" +msgstr "" + +msgid "Samara" +msgstr "" + +msgid "Yekaterinburg" +msgstr "" + +msgid "Omsk" +msgstr "" + +msgid "Novosibirsk" +msgstr "" + +msgid "Barnaul" +msgstr "" + +msgid "Tomsk" +msgstr "" + +msgid "Novokuznetsk" +msgstr "" + +msgid "Krasnoyarsk" +msgstr "" + +msgid "Irkutsk" +msgstr "" + +msgid "Chita" +msgstr "" + +msgid "Yakutsk" +msgstr "" + +msgid "Khandyga" +msgstr "" + +msgid "Vladivostok" +msgstr "" + +msgid "Ust" +msgstr ""-Nera +msgid "Magadan" +msgstr "" + +msgid "Sakhalin" +msgstr "" + +msgid "Srednekolymsk" +msgstr "" + +msgid "Kamchatka" +msgstr "" + +msgid "Anadyr" +msgstr "" + +msgid "Kigali" +msgstr "" + +msgid "Riyadh" +msgstr "" + +msgid "Guadalcanal" +msgstr "" + +msgid "Mahe" +msgstr "" + +msgid "Khartoum" +msgstr "" + +msgid "Stockholm" +msgstr "" + +msgid "Singapore" +msgstr "" + +msgid "St_Helena" +msgstr "" + +msgid "Ljubljana" +msgstr "" + +msgid "Longyearbyen" +msgstr "" + +msgid "Bratislava" +msgstr "" + +msgid "Freetown" +msgstr "" + +msgid "San_Marino" +msgstr "" + +msgid "Dakar" +msgstr "" + +msgid "Mogadishu" +msgstr "" + +msgid "Paramaribo" +msgstr "" + +msgid "Juba" +msgstr "" + +msgid "Sao_Tome" +msgstr "" + +msgid "El_Salvador" +msgstr "" + +msgid "Lower_Princes" +msgstr "" + +msgid "Damascus" +msgstr "" + +msgid "Mbabane" +msgstr "" + +msgid "Grand_Turk" +msgstr "" + +msgid "Ndjamena" +msgstr "" + +msgid "Kerguelen" +msgstr "" + +msgid "Lome" +msgstr "" + +msgid "Bangkok" +msgstr "" + +msgid "Dushanbe" +msgstr "" + +msgid "Fakaofo" +msgstr "" + +msgid "Dili" +msgstr "" + +msgid "Ashgabat" +msgstr "" + +msgid "Tunis" +msgstr "" + +msgid "Tongatapu" +msgstr "" + +msgid "Istanbul" +msgstr "" + +msgid "Port_of_Spain" +msgstr "" + +msgid "Funafuti" +msgstr "" + +msgid "Taipei" +msgstr "" + +msgid "Dar_es_Salaam" +msgstr "" + +msgid "Kyiv" +msgstr "" + +msgid "Kampala" +msgstr "" + +msgid "Midway" +msgstr "" + +msgid "Wake" +msgstr "" + +msgid "New_York" +msgstr "" + +msgid "Detroit" +msgstr "" + +msgid "Kentucky" +msgstr "" + +msgid "Kentucky" +msgstr "" + +msgid "Indiana" +msgstr "" + +msgid "Indiana" +msgstr "" + +msgid "Indiana" +msgstr "" + +msgid "Indiana" +msgstr "" + +msgid "Indiana" +msgstr "" + +msgid "Indiana" +msgstr "" + +msgid "Chicago" +msgstr "" + +msgid "Indiana" +msgstr "" + +msgid "Indiana" +msgstr "" + +msgid "Menominee" +msgstr "" + +msgid "North_Dakota" +msgstr "" + +msgid "North_Dakota" +msgstr "" + +msgid "North_Dakota" +msgstr "" + +msgid "Denver" +msgstr "" + +msgid "Boise" +msgstr "" + +msgid "Phoenix" +msgstr "" + +msgid "Los_Angeles" +msgstr "" + +msgid "Anchorage" +msgstr "" + +msgid "Juneau" +msgstr "" + +msgid "Sitka" +msgstr "" + +msgid "Metlakatla" +msgstr "" + +msgid "Yakutat" +msgstr "" + +msgid "Nome" +msgstr "" + +msgid "Adak" +msgstr "" + +msgid "Honolulu" +msgstr "" + +msgid "Montevideo" +msgstr "" + +msgid "Samarkand" +msgstr "" + +msgid "Tashkent" +msgstr "" + +msgid "Vatican" +msgstr "" + +msgid "St_Vincent" +msgstr "" + +msgid "Caracas" +msgstr "" + +msgid "Tortola" +msgstr "" + +msgid "St_Thomas" +msgstr "" + +msgid "Ho_Chi_Minh" +msgstr "" + +msgid "Efate" +msgstr "" + +msgid "Wallis" +msgstr "" + +msgid "Apia" +msgstr "" + +msgid "Aden" +msgstr "" + +msgid "Mayotte" +msgstr "" + +msgid "Johannesburg" +msgstr "" + +msgid "Lusaka" +msgstr "" + +msgid "Harare" +msgstr "" + +msgid "America" +msgstr "" + +msgid "Europe" +msgstr "" + +msgid "Asia" +msgstr "" + +msgid "Africa" +msgstr "" + +msgid "Antarctica" +msgstr "" + +msgid "Pacific" +msgstr "" + +msgid "Australia" +msgstr "" + +msgid "Atlantic" +msgstr "" + +msgid "Indian" +msgstr "" + +msgid "Arctic" +msgstr "" + +msgid "Louisville" +msgstr "" + +msgid "Monticello" +msgstr "" + +msgid "Indianapolis" +msgstr "" + +msgid "Vincennes" +msgstr "" + +msgid "Winamac" +msgstr "" + +msgid "Marengo" +msgstr "" + +msgid "Petersburg" +msgstr "" + +msgid "Vevay" +msgstr "" + +msgid "Tell_City" +msgstr "" + +msgid "Knox" +msgstr "" + +msgid "Center" +msgstr "" + +msgid "New_Salem" +msgstr "" + +msgid "Beulah" +msgstr "" + +msgid "Buenos_Aires" +msgstr "" + +msgid "Cordoba" +msgstr "" + +msgid "Salta" +msgstr "" + +msgid "Jujuy" +msgstr "" + +msgid "Tucuman" +msgstr "" + +msgid "Catamarca" +msgstr "" + +msgid "La_Rioja" +msgstr "" + +msgid "San_Juan" +msgstr "" + +msgid "Mendoza" +msgstr "" + +msgid "San_Luis" +msgstr "" + +msgid "Rio_Gallegos" +msgstr "" + +msgid "Ushuaia" +msgstr "" \ No newline at end of file diff --git a/locale/ubl-timezone_ru.po b/locale/ubl-timezone_ru.po new file mode 100644 index 0000000..e3bae01 --- /dev/null +++ b/locale/ubl-timezone_ru.po @@ -0,0 +1,1938 @@ +# Language translations for ubinstal package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubinstal package. +# UBLinux Team , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ubinstal 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-22 16:12+0600\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Andorra" +msgstr "Андорра" + +msgid "United Arab Emirates" +msgstr "Объединенные Арабские Эмираты" + +msgid "Afghanistan" +msgstr "Афганистан" + +msgid "Antigua & Barbuda" +msgstr "Антигуа и Барбуда" + +msgid "Anguilla" +msgstr "Ангилья" + +msgid "Albania" +msgstr "Албания" + +msgid "Armenia" +msgstr "Армения" + +msgid "Angola" +msgstr "Ангола" + +msgid "Antarctica" +msgstr "Антарктида" + +msgid "Argentina" +msgstr "Аргентина" + +msgid "Samoa (American)" +msgstr "Самоа (американский)" + +msgid "Austria" +msgstr "Австрия" + +msgid "Australia" +msgstr "Австралия" + +msgid "Aruba" +msgstr "Аруба" + +msgid "Åland Islands" +msgstr "Аландские острова" + +msgid "Azerbaijan" +msgstr "Азербайджан" + +msgid "Bosnia & Herzegovina" +msgstr "Босния и Герцеговина" + +msgid "Barbados" +msgstr "Барбадос" + +msgid "Bangladesh" +msgstr "Бангладеш" + +msgid "Belgium" +msgstr "Бельгия" + +msgid "Burkina Faso" +msgstr "Буркина-Фасо" + +msgid "Bulgaria" +msgstr "Болгария" + +msgid "Bahrain" +msgstr "Бахрейн" + +msgid "Burundi" +msgstr "Бурунди" + +msgid "Benin" +msgstr "Бенин" + +msgid "St Barthelemy" +msgstr "Сен-Бартелеми" + +msgid "Bermuda" +msgstr "Бермуды" + +msgid "Brunei" +msgstr "Бруней" + +msgid "Bolivia" +msgstr "Боливия" + +msgid "Caribbean NL" +msgstr "Карибский бассейн, Нидерланды" + +msgid "Brazil" +msgstr "Бразилия" + +msgid "Bahamas" +msgstr "Багамы" + +msgid "Bhutan" +msgstr "Бутан" + +msgid "Bouvet Island" +msgstr "Остров Буве" + +msgid "Botswana" +msgstr "Ботсвана" + +msgid "Belarus" +msgstr "Беларусь" + +msgid "Belize" +msgstr "Белиз" + +msgid "Canada" +msgstr "Канада" + +msgid "Cocos (Keeling) Islands" +msgstr "Кокосовые острова (Килинг)" + +msgid "Congo (Dem. Rep.)" +msgstr "Конго (Демократическая Республика)" + +msgid "Central African Rep." +msgstr "Центральноафриканская Республика." + +msgid "Congo (Rep.)" +msgstr "Конго (Республика)" + +msgid "Switzerland" +msgstr "Швейцария" + +msgid "Côte d'Ivoire" +msgstr "Берег Слоновой Кости" + +msgid "Cook Islands" +msgstr "Готовить Острова" + +msgid "Chile" +msgstr "Чили" + +msgid "Cameroon" +msgstr "Камерун" + +msgid "China" +msgstr "Китай" + +msgid "Colombia" +msgstr "Колумбия" + +msgid "Costa Rica" +msgstr "Коста-Рика" + +msgid "Cuba" +msgstr "Куба" + +msgid "Cape Verde" +msgstr "Кабо-Верде" + +msgid "Curaçao" +msgstr "Кюрасао" + +msgid "Christmas Island" +msgstr "Остров Рождества" + +msgid "Cyprus" +msgstr "Кипр" + +msgid "Czech Republic" +msgstr "Чехия" + +msgid "Germany" +msgstr "Германия" + +msgid "Djibouti" +msgstr "Джибути" + +msgid "Denmark" +msgstr "Дания" + +msgid "Dominica" +msgstr "Доминика" + +msgid "Dominican Republic" +msgstr "Доминиканская Республика" + +msgid "Algeria" +msgstr "Алжир" + +msgid "Ecuador" +msgstr "Эквадор" + +msgid "Estonia" +msgstr "Эстония" + +msgid "Egypt" +msgstr "Египет" + +msgid "Western Sahara" +msgstr "Западная Сахара" + +msgid "Eritrea" +msgstr "Эритрея" + +msgid "Spain" +msgstr "Испания" + +msgid "Ethiopia" +msgstr "Эфиопия" + +msgid "Finland" +msgstr "Финляндия" + +msgid "Fiji" +msgstr "Фиджи" + +msgid "Falkland Islands" +msgstr "Фолклендские острова" + +msgid "Micronesia" +msgstr "Микронезия" + +msgid "Faroe Islands" +msgstr "Фарерские острова" + +msgid "France" +msgstr "Франция" + +msgid "Gabon" +msgstr "Габон" + +msgid "Britain (UK)" +msgstr "Великобритания (Великобритания)" + +msgid "Grenada" +msgstr "Гренада" + +msgid "Georgia" +msgstr "Грузия" + +msgid "French Guiana" +msgstr "Французская Гвиана" + +msgid "Guernsey" +msgstr "Гернси" + +msgid "Ghana" +msgstr "Гана" + +msgid "Gibraltar" +msgstr "Гибралтар" + +msgid "Greenland" +msgstr "Гренландия" + +msgid "Gambia" +msgstr "Гамбия" + +msgid "Guinea" +msgstr "Гвинея" + +msgid "Guadeloupe" +msgstr "Гваделупа" + +msgid "Equatorial Guinea" +msgstr "Экваториальная Гвинея" + +msgid "Greece" +msgstr "Греция" + +msgid "South Georgia & the South Sandwich Islands" +msgstr "Южная Георгия и Южные Сандвичевы острова" + +msgid "Guatemala" +msgstr "Гватемала" + +msgid "Guam" +msgstr "Гуам" + +msgid "Guinea-Bissau" +msgstr "Гвинея-Бисау" + +msgid "Guyana" +msgstr "Гайана" + +msgid "Hong Kong" +msgstr "Гонконг" + +msgid "Heard Island & McDonald Islands" +msgstr "Остров Херд и Макдональд Острова" + +msgid "Honduras" +msgstr "Гондурас" + +msgid "Croatia" +msgstr "Хорватия" + +msgid "Haiti" +msgstr "Гаити" + +msgid "Hungary" +msgstr "Венгрия" + +msgid "Indonesia" +msgstr "Индонезия" + +msgid "Ireland" +msgstr "Ирландия" + +msgid "Israel" +msgstr "Израиль" + +msgid "Isle of Man" +msgstr "Остров Мэн" + +msgid "India" +msgstr "Индия" + +msgid "British Indian Ocean Territory" +msgstr "Британская территория в Индийском океане" + +msgid "Iraq" +msgstr "Ирак" + +msgid "Iran" +msgstr "Иран" + +msgid "Iceland" +msgstr "Исландия" + +msgid "Italy" +msgstr "Италия" + +msgid "Jersey" +msgstr "Джерси" + +msgid "Jamaica" +msgstr "Ямайка" + +msgid "Jordan" +msgstr "Иордания" + +msgid "Japan" +msgstr "Япония" + +msgid "Kenya" +msgstr "Кения" + +msgid "Kyrgyzstan" +msgstr "Кыргызстан" + +msgid "Cambodia" +msgstr "Камбоджа" + +msgid "Kiribati" +msgstr "Кирибати" + +msgid "Comoros" +msgstr "Коморские острова" + +msgid "St Kitts & Nevis" +msgstr "Сент-Китс и Невис" + +msgid "Korea (North)" +msgstr "Северная Корея" + +msgid "Korea (South)" +msgstr "Южная Корея" + +msgid "Kuwait" +msgstr "Кувейт" + +msgid "Cayman Islands" +msgstr "Каймановы острова" + +msgid "Kazakhstan" +msgstr "Казахстан" + +msgid "Laos" +msgstr "Лаос" + +msgid "Lebanon" +msgstr "Ливан" + +msgid "St Lucia" +msgstr "Сент-Люсия" + +msgid "Liechtenstein" +msgstr "Лихтенштейн" + +msgid "Sri Lanka" +msgstr "Шри-Ланка" + +msgid "Liberia" +msgstr "Либерия" + +msgid "Lesotho" +msgstr "Лесото" + +msgid "Lithuania" +msgstr "Литва" + +msgid "Luxembourg" +msgstr "Люксембург" + +msgid "Latvia" +msgstr "Латвия" + +msgid "Libya" +msgstr "Ливия" + +msgid "Morocco" +msgstr "Марокко" + +msgid "Monaco" +msgstr "Монако" + +msgid "Moldova" +msgstr "Молдова" + +msgid "Montenegro" +msgstr "Черногория" + +msgid "St Martin (French)" +msgstr "Сент-Мартин (Франция)" + +msgid "Madagascar" +msgstr "Мадагаскар" + +msgid "Marshall Islands" +msgstr "Маршалловы острова" + +msgid "North Macedonia" +msgstr "Северная Македония" + +msgid "Mali" +msgstr "Мали" + +msgid "Myanmar (Burma)" +msgstr "Мьянма (Бирма)" + +msgid "Mongolia" +msgstr "Монголия" + +msgid "Macau" +msgstr "Макао" + +msgid "Northern Mariana Islands" +msgstr "Северные Марианские острова" + +msgid "Martinique" +msgstr "Мартиника" + +msgid "Mauritania" +msgstr "Мавритания" + +msgid "Montserrat" +msgstr "Монтсеррат" + +msgid "Malta" +msgstr "Мальта" + +msgid "Mauritius" +msgstr "Маврикий" + +msgid "Maldives" +msgstr "Мальдивы" + +msgid "Malawi" +msgstr "Малави" + +msgid "Mexico" +msgstr "Мексика" + +msgid "Malaysia" +msgstr "Малайзия" + +msgid "Mozambique" +msgstr "Мозамбик" + +msgid "Namibia" +msgstr "Намибия" + +msgid "New Caledonia" +msgstr "Новая Каледония" + +msgid "Niger" +msgstr "Нигер" + +msgid "Norfolk Island" +msgstr "Остров Норфолк" + +msgid "Nigeria" +msgstr "Нигерия" + +msgid "Nicaragua" +msgstr "Никарагуа" + +msgid "Netherlands" +msgstr "Нидерланды" + +msgid "Norway" +msgstr "Норвегия" + +msgid "Nepal" +msgstr "Непал" + +msgid "Nauru" +msgstr "Науру" + +msgid "Niue" +msgstr "Ниуэ" + +msgid "New Zealand" +msgstr "Новая Зеландия" + +msgid "Oman" +msgstr "Оман" + +msgid "Panama" +msgstr "Панама" + +msgid "Peru" +msgstr "Перу" + +msgid "French Polynesia" +msgstr "Французская Полинезия" + +msgid "Papua New Guinea" +msgstr "Папуа-Новая Гвинея" + +msgid "Philippines" +msgstr "Филиппины" + +msgid "Pakistan" +msgstr "Пакистан" + +msgid "Poland" +msgstr "Польша" + +msgid "St Pierre & Miquelon" +msgstr "Сен-Пьер и Микелон" + +msgid "Pitcairn" +msgstr "Питкэрн" + +msgid "Puerto Rico" +msgstr "Пуэрто-Рико" + +msgid "Palestine" +msgstr "Палестина" + +msgid "Portugal" +msgstr "Португалия" + +msgid "Palau" +msgstr "Палау" + +msgid "Paraguay" +msgstr "Парагвай" + +msgid "Qatar" +msgstr "Катар" + +msgid "Réunion" +msgstr "Реюньон" + +msgid "Romania" +msgstr "Румыния" + +msgid "Serbia" +msgstr "Сербия" + +msgid "Russia" +msgstr "Россия" + +msgid "Rwanda" +msgstr "Руанда" + +msgid "Saudi Arabia" +msgstr "Саудовская Аравия" + +msgid "Solomon Islands" +msgstr "Соломоновы Острова" + +msgid "Seychelles" +msgstr "Сейшельские острова" + +msgid "Sudan" +msgstr "Судан" + +msgid "Sweden" +msgstr "Швеция" + +msgid "Singapore" +msgstr "Сингапур" + +msgid "St Helena" +msgstr "ул. Елена" + +msgid "Slovenia" +msgstr "Словения" + +msgid "Svalbard & Jan Mayen" +msgstr "Шпицберген и Ян-Майен" + +msgid "Slovakia" +msgstr "Словакия" + +msgid "Sierra Leone" +msgstr "Сьерра-Леоне" + +msgid "San Marino" +msgstr "Сан-Марино" + +msgid "Senegal" +msgstr "Сенегал" + +msgid "Somalia" +msgstr "Сомали" + +msgid "Suriname" +msgstr "Суринам" + +msgid "South Sudan" +msgstr "Южный Судан" + +msgid "Sao Tome & Principe" +msgstr "Сан-Томе и Принсипи" + +msgid "El Salvador" +msgstr "Сальвадор" + +msgid "St Maarten (Dutch)" +msgstr "Сен-Мартен (голландский)" + +msgid "Syria" +msgstr "Сирия" + +msgid "Eswatini (Swaziland)" +msgstr "Эсватини (Свазиленд)" + +msgid "Turks & Caicos Is" +msgstr "Теркс и Кайкос" + +msgid "Chad" +msgstr "Чад" + +msgid "French S. Terr." +msgstr "Французский С. Терр." + +msgid "Togo" +msgstr "Того" + +msgid "Thailand" +msgstr "Таиланд" + +msgid "Tajikistan" +msgstr "Таджикистан" + +msgid "Tokelau" +msgstr "Токелау" + +msgid "East Timor" +msgstr "Восточный Тимор" + +msgid "Turkmenistan" +msgstr "Туркменистан" + +msgid "Tunisia" +msgstr "Тунис" + +msgid "Tonga" +msgstr "Тонга" + +msgid "Turkey" +msgstr "Турция" + +msgid "Trinidad & Tobago" +msgstr "Тринидад и Тобаго" + +msgid "Tuvalu" +msgstr "Тувалу" + +msgid "Taiwan" +msgstr "Тайвань" + +msgid "Tanzania" +msgstr "Танзания" + +msgid "Ukraine" +msgstr "Украина" + +msgid "Uganda" +msgstr "Уганда" + +msgid "US minor outlying islands" +msgstr "Малые отдаленные острова США" + +msgid "United States" +msgstr "Соединенные Штаты" + +msgid "Uruguay" +msgstr "Уругвай" + +msgid "Uzbekistan" +msgstr "Узбекистан" + +msgid "Vatican City" +msgstr "Ватикан" + +msgid "St Vincent" +msgstr "Сент-Винсент" + +msgid "Venezuela" +msgstr "Венесуэла" + +msgid "Virgin Islands (UK)" +msgstr "Виргинские острова (Великобритания)" + +msgid "Virgin Islands (US)" +msgstr "Виргинские острова (США)" + +msgid "Vietnam" +msgstr "Вьетнам" + +msgid "Vanuatu" +msgstr "Вануату" + +msgid "Wallis & Futuna" +msgstr "Уоллис и Футуна" + +msgid "Samoa (western)" +msgstr "Самоа (западное)" + +msgid "Yemen" +msgstr "Йемен" + +msgid "Mayotte" +msgstr "Майотта" + +msgid "South Africa" +msgstr "ЮАР" + +msgid "Zambia" +msgstr "Замбия" + +msgid "Zimbabwe" +msgstr "Зимбабве" + +msgid "Dubai" +msgstr "Дубай" + +msgid "Kabul" +msgstr "Кабул" + +msgid "Antigua" +msgstr "Антигуа" + +msgid "Tirane" +msgstr "Тирана" + +msgid "Yerevan" +msgstr "Ереван" + +msgid "Luanda" +msgstr "Луанда" + +msgid "McMurdo" +msgstr "МакМердо" + +msgid "Casey" +msgstr "Кейси" + +msgid "Davis" +msgstr "Дэвис" + +msgid "DumontDUrville" +msgstr "ДюмонДурвиль" + +msgid "Mawson" +msgstr "Моусон" + +msgid "Palmer" +msgstr "Палмер" + +msgid "Rothera" +msgstr "Ротера" + +msgid "Syowa" +msgstr "Сёва" + +msgid "Troll" +msgstr "Тролль" + +msgid "Vostok" +msgstr "Восток" + +msgid "Pago_Pago" +msgstr "Паго-Паго" + +msgid "Vienna" +msgstr "Вена" + +msgid "Lord_Howe" +msgstr "Лорд-Хау" + +msgid "Macquarie" +msgstr "Маккуори" + +msgid "Hobart" +msgstr "Хобарт" + +msgid "Melbourne" +msgstr "Мельбурн" + +msgid "Sydney" +msgstr "Сидней" + +msgid "Broken_Hill" +msgstr "Брокен-Хилл" + +msgid "Brisbane" +msgstr "Брисбен" + +msgid "Lindeman" +msgstr "Линдеман" + +msgid "Adelaide" +msgstr "Ад Элаида" + +msgid "Darwin" +msgstr "Дарвин" + +msgid "Perth" +msgstr "Перт" + +msgid "Eucla" +msgstr "Юкла" + +msgid "Mariehamn" +msgstr "Мариехамн" + +msgid "Baku" +msgstr "Баку" + +msgid "Sarajevo" +msgstr "Сараево" + +msgid "Dhaka" +msgstr "Дакка" + +msgid "Brussels" +msgstr "Брюссель" + +msgid "Ouagadougou" +msgstr "Уагадугу" + +msgid "Sofia" +msgstr "София" + +msgid "Bujumbura" +msgstr "Бужумбура" + +msgid "Porto" +msgstr "Порто-Ново" + +msgid "St_Barthelemy" +msgstr "Сен_Бартелеми" + +msgid "La_Paz" +msgstr "Ла_Пас" + +msgid "Kralendijk" +msgstr "Кралендейк" + +msgid "Noronha" +msgstr "Норонья" + +msgid "Belem" +msgstr "Белем" + +msgid "Fortaleza" +msgstr "Форталеза" + +msgid "Recife" +msgstr "Ресифи" + +msgid "Araguaina" +msgstr "Арагуайна" + +msgid "Maceio" +msgstr "Масейо" + +msgid "Bahia" +msgstr "Баия" + +msgid "Sao_Paulo" +msgstr "Сан-Паулу" + +msgid "Campo_Grande" +msgstr "Кампо_Гранде" + +msgid "Cuiaba" +msgstr "Куяба" + +msgid "Santarem" +msgstr "Сантарен" + +msgid "Porto_Velho" +msgstr "Порту_Велью" + +msgid "Boa_Vista" +msgstr "Боа_Виста" + +msgid "Manaus" +msgstr "Манаус" + +msgid "Eirunepe" +msgstr "Эйрунепе" + +msgid "Rio_Branco" +msgstr "Рио_Бранко" + +msgid "Nassau" +msgstr "Нассау" + +msgid "Thimphu" +msgstr "Тхимпху" + +msgid "Gaborone" +msgstr "Габороне" + +msgid "Minsk" +msgstr "Минск" + +msgid "St_Johns" +msgstr "Сент-Джонс" + +msgid "Halifax" +msgstr "Галифакс" + +msgid "Glace_Bay" +msgstr "Глейс_Бэй" + +msgid "Moncton" +msgstr "Монктон" + +msgid "Goose_Bay" +msgstr "Гусиная бухта" + +msgid "Blanc" +msgstr "Блан-Саблон" + +msgid "Toronto" +msgstr "Торонто" + +msgid "Iqaluit" +msgstr "Икалуит" + +msgid "Atikokan" +msgstr "Атикокан" + +msgid "Winnipeg" +msgstr "Виннипег" + +msgid "Resolute" +msgstr "Решительный" + +msgid "Rankin_Inlet" +msgstr "Ранкин_Инлет" + +msgid "Regina" +msgstr "Регина" + +msgid "Swift_Current" +msgstr "Sw ift_Current" + +msgid "Edmonton" +msgstr "Эдмонтон" + +msgid "Cambridge_Bay" +msgstr "Кембридж_Бэй" + +msgid "Inuvik" +msgstr "Инувик" + +msgid "Creston" +msgstr "Крестон" + +msgid "Dawson_Creek" +msgstr "Доусон_Крик" + +msgid "Fort_Nelson" +msgstr "Форт_Нельсон" + +msgid "Whitehorse" +msgstr "Уайтхорс" + +msgid "Dawson" +msgstr "Доусон" + +msgid "Vancouver" +msgstr "Ванкувер" + +msgid "Cocos" +msgstr "Кокосовые острова" + +msgid "Kinshasa" +msgstr "Киншаса" + +msgid "Lubumbashi" +msgstr "Лубумбаши" + +msgid "Bangui" +msgstr "Банги" + +msgid "Brazzaville" +msgstr "Браззавиль" + +msgid "Zurich" +msgstr "Цюрих" + +msgid "Abidjan" +msgstr "Абиджан" + +msgid "Rarotonga" +msgstr "Раротонга" + +msgid "Santiago" +msgstr "Сантьяго" + +msgid "Punta_Arenas" +msgstr "Пунта_Аренас" + +msgid "Easter" +msgstr "Пасха" + +msgid "Douala" +msgstr "Дуала" + +msgid "Shanghai" +msgstr "Шанхай" + +msgid "Urumqi" +msgstr "Урумчи" + +msgid "Bogota" +msgstr "Богота" + +msgid "Costa_Rica" +msgstr "Коста_Р Ика" + +msgid "Havana" +msgstr "Гавана" + +msgid "Cape_Verde" +msgstr "Кабо-Верде" + +msgid "Curacao" +msgstr "Кюрасао" + +msgid "Christmas" +msgstr "Рождество" + +msgid "Nicosia" +msgstr "Никосия" + +msgid "Famagusta" +msgstr "Фамагуста" + +msgid "Prague" +msgstr "Прага" + +msgid "Berlin" +msgstr "Берлин" + +msgid "Busingen" +msgstr "Бюзинген" + +msgid "Copenhagen" +msgstr "Копенгаген" + +msgid "Santo_Domingo" +msgstr "Санто_Доминго" + +msgid "Algiers" +msgstr "Алжир" + +msgid "Guayaquil" +msgstr "Гуаякиль" + +msgid "Galapagos" +msgstr "Галапагосские острова" + +msgid "Tallinn" +msgstr "Таллинн" + +msgid "Cairo" +msgstr "Каир" + +msgid "El_Aaiun" +msgstr "Эль_Аюн" + +msgid "Asmara" +msgstr "Асмэра" + +msgid "Madrid" +msgstr "Мадрид" + +msgid "Ceuta" +msgstr "Сеута" + +msgid "Canary" +msgstr "Канарейка" + +msgid "Addis_Ababa" +msgstr "Аддис_Абеба" + +msgid "Helsinki" +msgstr "Хельсинки" + +msgid "Stanley" +msgstr "Стэнли" + +msgid "Chuuk" +msgstr "Ч Уук" + +msgid "Pohnpei" +msgstr "Понпей" + +msgid "Kosrae" +msgstr "Косраэ" + +msgid "Faroe" +msgstr "Фарерские острова" + +msgid "Paris" +msgstr "Париж" + +msgid "Libreville" +msgstr "Либревиль" + +msgid "London" +msgstr "Лондон" + +msgid "Tbilisi" +msgstr "Тбилиси" + +msgid "Cayenne" +msgstr "Кайенн" + +msgid "Accra" +msgstr "Аккра" + +msgid "Nuuk" +msgstr "Нуук" + +msgid "Danmarkshavn" +msgstr "Данмарксхавн" + +msgid "Scoresbysund" +msgstr "Скорсбюсунд" + +msgid "Thule" +msgstr "Туле" + +msgid "Banjul" +msgstr "Банжул" + +msgid "Conakry" +msgstr "Конакри" + +msgid "Malabo" +msgstr "Малабо" + +msgid "Athens" +msgstr "Афины" + +msgid "South_Georgia" +msgstr "Южная Грузия" + +msgid "Bissau" +msgstr "Бисау" + +msgid "Hong_Kong" +msgstr "Гонконг" + +msgid "Tegucigalpa" +msgstr "Тегусигальпа" + +msgid "Zagreb" +msgstr "Загреб" + +msgid "Port" +msgstr "Порт-о-Пренс" + +msgid "Budapest" +msgstr "Будапешт" + +msgid "Jakarta" +msgstr "Джакарта" + +msgid "Pontianak" +msgstr "Понтианак" + +msgid "Makassar" +msgstr "Макассар" + +msgid "Jayapura" +msgstr "Джаяпура" + +msgid "Dublin" +msgstr "Дублин" + +msgid "Jerusalem" +msgstr "Иерусалим" + +msgid "Isle_of_Man" +msgstr "Остров_Мэн" + +msgid "Kolkata" +msgstr "Калькутта" + +msgid "Chagos" +msgstr "Чагос" + +msgid "Baghdad" +msgstr "Багдад" + +msgid "Tehran" +msgstr "Тегеран" + +msgid "Reykjavik" +msgstr "Рейкьявик" + +msgid "Rome" +msgstr "Рим" + +msgid "Amman" +msgstr "Амман" + +msgid "Tokyo" +msgstr "Токио" + +msgid "Nairobi" +msgstr "Найроби" + +msgid "Bishkek" +msgstr "Бишкек" + +msgid "Phnom_Penh" +msgstr "Пномпень" + +msgid "Tarawa" +msgstr "Тарава" + +msgid "Kanton" +msgstr "Кантон" + +msgid "Kiritimati" +msgstr "Киритимати" + +msgid "Comoro" +msgstr "Коморо" + +msgid "St_Kitts" +msgstr "Сент-Китс" + +msgid "Pyongyang" +msgstr "П Юнъян" + +msgid "Seoul" +msgstr "Сеул" + +msgid "Cayman" +msgstr "Кайман" + +msgid "Almaty" +msgstr "Алматы" + +msgid "Qyzylorda" +msgstr "Кызылорда" + +msgid "Qostanay" +msgstr "Костанай" + +msgid "Aqtobe" +msgstr "Актобе" + +msgid "Aqtau" +msgstr "Актау" + +msgid "Atyrau" +msgstr "Атырау" + +msgid "Oral" +msgstr "Оральный" + +msgid "Vientiane" +msgstr "Вьентьян" + +msgid "Beirut" +msgstr "Бейрут" + +msgid "St_Lucia" +msgstr "Сент-Люсия" + +msgid "Vaduz" +msgstr "Вадуц" + +msgid "Colombo" +msgstr "Коломбо" + +msgid "Monrovia" +msgstr "Монровия" + +msgid "Maseru" +msgstr "Масеру" + +msgid "Vilnius" +msgstr "Вильнюс" + +msgid "Riga" +msgstr "Рига" + +msgid "Tripoli" +msgstr "Триполи" + +msgid "Casablanca" +msgstr "Касабланка" + +msgid "Chisinau" +msgstr "Кишинев" + +msgid "Podgorica" +msgstr "Подгорица" + +msgid "Marigot" +msgstr "Мариго" + +msgid "Antananarivo" +msgstr "Антананариву" + +msgid "Majuro" +msgstr "Маджуро" + +msgid "Kwajalein" +msgstr "Кваджал Эйн" + +msgid "Skopje" +msgstr "Скопье" + +msgid "Bamako" +msgstr "Бамако" + +msgid "Yangon" +msgstr "Янгон" + +msgid "Ulaanbaatar" +msgstr "Улан-Батор" + +msgid "Hovd" +msgstr "Ховд" + +msgid "Choibalsan" +msgstr "Чойбалсан" + +msgid "Saipan" +msgstr "Сайпан" + +msgid "Nouakchott" +msgstr "Нуакшот" + +msgid "Blantyre" +msgstr "Блантайр" + +msgid "Mexico_City" +msgstr "Мехико_Сити" + +msgid "Cancun" +msgstr "Канкун" + +msgid "Merida" +msgstr "Мерида" + +msgid "Monterrey" +msgstr "Монтеррей" + +msgid "Matamoros" +msgstr "Матаморос" + +msgid "Chihuahua" +msgstr "Чихуахуа" + +msgid "Ciudad_Juarez" +msgstr "Сьюдад_Хуарес" + +msgid "Ojinaga" +msgstr "Охинага" + +msgid "Mazatlan" +msgstr "Масатлан" + +msgid "Bahia_Banderas" +msgstr "Баия_Бандерас" + +msgid "Hermosillo" +msgstr "Ее Мосильо" + +msgid "Tijuana" +msgstr "Тихуана" + +msgid "Kuala_Lumpur" +msgstr "Куала-Лумпур" + +msgid "Kuching" +msgstr "Кучинг" + +msgid "Maputo" +msgstr "Мапуту" + +msgid "Windhoek" +msgstr "Виндхук" + +msgid "Noumea" +msgstr "Нумеа" + +msgid "Niamey" +msgstr "Ниамей" + +msgid "Norfolk" +msgstr "Норфолк" + +msgid "Lagos" +msgstr "Лагос" + +msgid "Managua" +msgstr "Манагуа" + +msgid "Amsterdam" +msgstr "Амстердам" + +msgid "Oslo" +msgstr "Осло" + +msgid "Kathmandu" +msgstr "Катманду" + +msgid "Auckland" +msgstr "Окленд" + +msgid "Chatham" +msgstr "Чатем" + +msgid "Muscat" +msgstr "Маскат" + +msgid "Lima" +msgstr "Лима" + +msgid "Tahiti" +msgstr "Таити" + +msgid "Marquesas" +msgstr "Маркизские острова" + +msgid "Gambier" +msgstr "Гамбье" + +msgid "Port_Moresby" +msgstr "Порт_Морсби" + +msgid "Bougainville" +msgstr "Бугенвиль" + +msgid "Manila" +msgstr "Манила" + +msgid "Karachi" +msgstr "Карачи" + +msgid "Warsaw" +msgstr "Варшава" + +msgid "Miquelon" +msgstr "Мике Лондон" + +msgid "Puerto_Rico" +msgstr "Пуэрто_Рико" + +msgid "Gaza" +msgstr "Газа" + +msgid "Hebron" +msgstr "Хеврон" + +msgid "Lisbon" +msgstr "Лиссабон" + +msgid "Madeira" +msgstr "Мадейра" + +msgid "Azores" +msgstr "Азорские острова" + +msgid "Asuncion" +msgstr "Асунсьон" + +msgid "Reunion" +msgstr "Воссоединение" + +msgid "Bucharest" +msgstr "Бухарест" + +msgid "Belgrade" +msgstr "Белград" + +msgid "Kaliningrad" +msgstr "Калининград" + +msgid "Moscow" +msgstr "Москва" + +msgid "Simferopol" +msgstr "Симферополь" + +msgid "Kirov" +msgstr "Киров" + +msgid "Volgograd" +msgstr "Волгоград" + +msgid "Astrakhan" +msgstr "Астрахань" + +msgid "Saratov" +msgstr "Саратов" + +msgid "Ulyanovsk" +msgstr "Ульяновск" + +msgid "Samara" +msgstr "Самара" + +msgid "Yekaterinburg" +msgstr "Екатеринбург" + +msgid "Omsk" +msgstr "Омск" + +msgid "Novosibirsk" +msgstr "Новосибирск" + +msgid "Barnaul" +msgstr "Барнаул" + +msgid "Tomsk" +msgstr "Томск" + +msgid "Novokuznetsk" +msgstr "Новок узнецк" + +msgid "Krasnoyarsk" +msgstr "Красноярск" + +msgid "Irkutsk" +msgstr "Иркутск" + +msgid "Chita" +msgstr "Чита" + +msgid "Yakutsk" +msgstr "Якутск" + +msgid "Khandyga" +msgstr "Хандыга" + +msgid "Vladivostok" +msgstr "Владивосток" + +msgid "Ust" +msgstr "Усть-Нера" + +msgid "Magadan" +msgstr "Магадан" + +msgid "Sakhalin" +msgstr "Сахалин" + +msgid "Srednekolymsk" +msgstr "Среднеколымск" + +msgid "Kamchatka" +msgstr "Камчатка" + +msgid "Anadyr" +msgstr "Анадырь" + +msgid "Kigali" +msgstr "Кигали" + +msgid "Riyadh" +msgstr "Эр-Рияд" + +msgid "Guadalcanal" +msgstr "Гуадалканал" + +msgid "Mahe" +msgstr "Маэ" + +msgid "Khartoum" +msgstr "Хартум" + +msgid "Stockholm" +msgstr "Стокгольм" + +msgid "St_Helena" +msgstr "Святая Елена" + +msgid "Ljubljana" +msgstr "Любляна" + +msgid "Longyearbyen" +msgstr "Лонгйирбиен" + +msgid "Bratislava" +msgstr "Братислава" + +msgid "Freetown" +msgstr "Фритаун" + +msgid "San_Marino" +msgstr "Сан_Ма носорог" + +msgid "Dakar" +msgstr "Дакар" + +msgid "Mogadishu" +msgstr "Могадишо" + +msgid "Paramaribo" +msgstr "Парамарибо" + +msgid "Juba" +msgstr "Джуба" + +msgid "Sao_Tome" +msgstr "Сао_Томе" + +msgid "El_Salvador" +msgstr "Эль_Сальвадор" + +msgid "Lower_Princes" +msgstr "Нижние_принцы" + +msgid "Damascus" +msgstr "Дамаск" + +msgid "Mbabane" +msgstr "Мбабане" + +msgid "Grand_Turk" +msgstr "Гранд_Турк" + +msgid "Ndjamena" +msgstr "Нджамена" + +msgid "Kerguelen" +msgstr "Кергелен" + +msgid "Lome" +msgstr "Ломе" + +msgid "Bangkok" +msgstr "Бангкок" + +msgid "Dushanbe" +msgstr "Душанбе" + +msgid "Fakaofo" +msgstr "Факаофо" + +msgid "Dili" +msgstr "Дили" + +msgid "Ashgabat" +msgstr "Ашхабад" + +msgid "Tunis" +msgstr "Тунис" + +msgid "Tongatapu" +msgstr "Тонгатапу" + +msgid "Istanbul" +msgstr "Стамбул" + +msgid "Port_of_Spain" +msgstr "Порт_Испании" + +msgid "Funafuti" +msgstr "Фунафути" + +msgid "Taipei" +msgstr "Тайбэй" + +msgid "Dar_es_Salaam" +msgstr "Дар_ес_Салам" + +msgid "Kyiv" +msgstr "Киев" + +msgid "Kampala" +msgstr "К ампала" + +msgid "Midway" +msgstr "Мидуэй" + +msgid "Wake" +msgstr "Будить" + +msgid "New_York" +msgstr "Нью-Йорк" + +msgid "Detroit" +msgstr "Детройт" + +msgid "Kentucky" +msgstr "Кентукки" + +msgid "Indiana" +msgstr "Индиана" + +msgid "Chicago" +msgstr "Чикаго" + +msgid "Menominee" +msgstr "Меномини" + +msgid "Denver" +msgstr "Денвер" + +msgid "Boise" +msgstr "Бойсе" + +msgid "Phoenix" +msgstr "Финикс" + +msgid "Los_Angeles" +msgstr "Лос_Анджелес" + +msgid "Anchorage" +msgstr "Анкоридж" + +msgid "Juneau" +msgstr "Джуно" + +msgid "Sitka" +msgstr "Ситка" + +msgid "Metlakatla" +msgstr "Метлакат ла" + +msgid "Yakutat" +msgstr "Якутат" + +msgid "Nome" +msgstr "Имя" + +msgid "Adak" +msgstr "Адак" + +msgid "Honolulu" +msgstr "Гонолулу" + +msgid "Montevideo" +msgstr "Монтевидео" + +msgid "Samarkand" +msgstr "Самарканд" + +msgid "Tashkent" +msgstr "Ташкент" + +msgid "Vatican" +msgstr "Ватикан" + +msgid "St_Vincent" +msgstr "Сент-Винсент" + +msgid "Caracas" +msgstr "Каракас" + +msgid "Tortola" +msgstr "Тортола" + +msgid "St_Thomas" +msgstr "Святой Томас" + +msgid "Ho_Chi_Minh" +msgstr "Хо_Чи_Мин" + +msgid "Efate" +msgstr "Эфате" + +msgid "Wallis" +msgstr "Уоллис" + +msgid "Apia" +msgstr "Апиа" + +msgid "Aden" +msgstr "Аден" + +msgid "Johannesburg" +msgstr "Йоханнесбург" + +msgid "Lusaka" +msgstr "Лусака" + +msgid "Harare" +msgstr "Хараре" + +msgid "America" +msgstr "Америка" + +msgid "Europe" +msgstr "Европа" + +msgid "Asia" +msgstr "Азия" + +msgid "Africa" +msgstr "Африка" + +msgid "Pacific" +msgstr "Тихий океан" + +msgid "Atlantic" +msgstr "Атланти с" + +msgid "Indian" +msgstr "Индийский" + +msgid "Arctic" +msgstr "Арктика" + +msgid "Louisville" +msgstr "Луисвилл" + +msgid "Monticello" +msgstr "Монтичелло" + +msgid "Indianapolis" +msgstr "Индианаполис" + +msgid "Vincennes" +msgstr "Венсенн" + +msgid "Winamac" +msgstr "Винамак" + +msgid "Marengo" +msgstr "Маренго" + +msgid "Petersburg" +msgstr "Петербург" + +msgid "Vevay" +msgstr "Вевей" + +msgid "Tell_City" +msgstr "Tell_City" + +msgid "Knox" +msgstr "Нокс" + +msgid "Center" +msgstr "Центр" + +msgid "New_Salem" +msgstr "Новый_Салем" + +msgid "Beulah" +msgstr "Беула" + +msgid "Buenos_Aires" +msgstr "Буэнос_Айрес" + +msgid "Cordoba" +msgstr "Кордова" + +msgid "Salta" +msgstr "Сальта" + +msgid "Jujuy" +msgstr "Жужуй" + +msgid "Tucuman" +msgstr "Тукуман" + +msgid "Catamarca" +msgstr "Катамарка" + +msgid "La_Rioja" +msgstr "Ла_Риоха" + +msgid "San_Juan" +msgstr "Сан_Хуан" + +msgid "Mendoza" +msgstr "Мендоса" + +msgid "San_Luis" +msgstr "Сан_Луис" + +msgid "Rio_Gallegos" +msgstr "Рио_Гальегос" + +msgid "Ushuaia" +msgstr "Ушуайя" diff --git a/source/libublsettings-gtk3-timezone.c b/source/libublsettings-gtk3-timezone.c index 6e72d89..3fc9924 100644 --- a/source/libublsettings-gtk3-timezone.c +++ b/source/libublsettings-gtk3-timezone.c @@ -13,6 +13,9 @@ typedef struct { char *comments; char *city; char *country; + char *zone; + double lat; + double lon; } yon_timezone_struct; void _yon_timezone_countries_setup(GHashTable *timezone_countries){ @@ -51,18 +54,37 @@ int yon_timezone_init(){ yon_timezone_struct *timezone_info = malloc(sizeof(yon_timezone_struct)); memset(timezone_info,0,sizeof(yon_timezone_struct)); - char *city = strstr(parsed[2],"/"); + if (yon_char_count(parsed[2],"/")>1){ + timezone_info->timezone = yon_char_new(parsed[2]); + free(yon_char_divide_search(timezone_info->timezone,"/",-1)); + } else { + timezone_info->timezone = yon_char_new(parsed[2]); + } + + + char *city = strstr(timezone_info->timezone,"/"); if (city){ city++; } + char *zone = yon_char_new(timezone_info->timezone); + char *temp = strstr(zone,"/"); + if (temp){ + temp[0]='\0'; + } timezone_info->country_code = yon_char_new(parsed[0]); - timezone_info->timezone = yon_char_new(parsed[2]); timezone_info->city = yon_char_new(city); timezone_info->country = yon_char_new(g_hash_table_lookup(timezone_countries,parsed[0])); + timezone_info->zone = zone; + char *coords = yon_char_new(parsed[1]); + char *pos = strstr(coords+1,"+"); + char *ngt = strstr(coords+1,"-"); + char *lat = coords; + char *lon = !yon_char_is_empty(pos)?yon_char_new(pos):yon_char_new(ngt); + if (parsed_size>3){ timezone_info->comments = yon_char_new(parsed[3]); } - g_hash_table_insert(__yon_timezone,yon_char_new(parsed[2]),timezone_info); + g_hash_table_insert(__yon_timezone,yon_char_new(timezone_info->timezone),timezone_info); yon_char_parsed_free(parsed,parsed_size); } @@ -131,6 +153,16 @@ char *yon_timezone_get_country(const char *timezone){ return NULL; } +char *yon_timezone_get_zone(const char *timezone){ + yon_timezone_check{ + yon_timezone_struct *timezone_info = g_hash_table_lookup(__yon_timezone,timezone); + if (timezone_info){ + return yon_char_new(timezone_info->zone); + } + } + return NULL; +} + #define get_utc_command(tz) yon_char_unite("TZ='",tz,"' date +%z",NULL); char *yon_timezone_get_utc(const char *timezone){ @@ -144,4 +176,21 @@ char *yon_timezone_get_utc(const char *timezone){ return temp; } return NULL; +} + +config_str yon_timezone_get_zones_from_region(char *region, size_t *size){ + size_t timezones_size; + (*size) = 0; + yon_timezone_check{ + config_str zones_final = NULL; + config_str timezones = (config_str)g_hash_table_get_keys_as_array(__yon_timezone,(guint*)&timezones_size); + for (size_t i=0;izone)&&!strcmp(timezone_info->zone,region)){ + yon_char_parsed_add_or_create_if_exists(zones_final,(int*)size,timezone_info->city); + } + } + qsort(zones_final,*size,sizeof(char*),(__compar_fn_t)yon_char_parsed_compare); + return zones_final; + } } \ No newline at end of file diff --git a/source/libublsettings-gtk3.h b/source/libublsettings-gtk3.h index 81439df..d26a5db 100644 --- a/source/libublsettings-gtk3.h +++ b/source/libublsettings-gtk3.h @@ -671,6 +671,8 @@ void yon_gtk_combo_box_block_scroll(GtkComboBox *target); //timezone section +#define timezone_locale_name "libublsettings-gtk3" + /// @brief Init timezone system /// @return 1 if timezone system has been successfully initialised, 0 if failed int yon_timezone_init(); @@ -681,9 +683,15 @@ void yon_timezone_unref(); /// @brief Get all timezones list /// @param size pointer for list size; -/// @return New allocated char* array with timezones +/// @return A newly allocated char* array with timezones config_str yon_timezone_get_all(size_t *size); +/// @brief Get list of zones for specific region +/// @param region The region for which the zone search will take place; +/// @param size size pointer of zones list; +/// @return New allocated char* array with zones +config_str yon_timezone_get_zones_from_region(char *region, size_t *size); + /// @brief Get a country code for timezone /// @param timezone Requested timezone; /// @return A newly allocated char string with country code or NULL @@ -704,6 +712,11 @@ char *yon_timezone_get_city(const char *timezone); /// @return A newly allocated char string with country or NULL char *yon_timezone_get_country(const char *timezone); +/// @brief Get a zone for timezone +/// @param timezone Requested timezone; +/// @return A newly allocated char string with zone or NULL +char *yon_timezone_get_zone(const char *timezone); + /// @brief Get UTC modifier for timezone /// @param timezone Requested timezone; /// @return A newly allocated char string with UTC modifier or NULL