diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-25 15:41:46 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-25 15:41:46 +0200 |
| commit | 8df1486ca41edb625feb269fe7f7997fa5ffacfe (patch) | |
| tree | f7bc978d2ffade72bb5c4f9ee1f4945c3984ec78 | |
| parent | 5f25180b3d79d9a03952217cd77a16601ae0a6d0 (diff) | |
add all countries
| -rw-r--r-- | TODO | 2 | ||||
| -rw-r--r-- | include/countries.hpp | 3 | ||||
| -rw-r--r-- | src/administration.cpp | 2 | ||||
| -rw-r--r-- | src/countries.cpp | 204 | ||||
| -rw-r--r-- | src/countries/_unimplemented.cpp | 226 | ||||
| -rw-r--r-- | src/locales/en.cpp | 171 | ||||
| -rw-r--r-- | src/ui/imgui_extensions.cpp | 2 |
7 files changed, 603 insertions, 7 deletions
@@ -1,6 +1,7 @@ TODO: Refactor: +- Refactor zip writing to be faster Testing: - write tests for strops.hpp @@ -8,7 +9,6 @@ Testing: Improvements: - "price includes tax" toggle that recalculates billing item tax, net and total -- add every country to country list. should be toggleable wether a country can receive invoices. should be listed in file countries/_unimplemented.cpp. - Loading animation on save button while file is being saved. navigation should be disabled untill file is saved. Features: diff --git a/include/countries.hpp b/include/countries.hpp index 68b6fa0..0e3704f 100644 --- a/include/countries.hpp +++ b/include/countries.hpp @@ -22,11 +22,14 @@ typedef struct { char* country_code; bool is_EU; + time_t (*get_default_invoice_expire_duration)(); + void (*fill_tax_report_with_categories)(tax_report* report); bool (*add_billing_item_to_tax_report)(tax_report* report, invoice* inv, billing_item* item); float (*calculate_tax_report_final)(tax_report* report); time_t (*get_invoice_date_to_use_for_tax_report)(invoice* inv); + u32 (*get_available_tax_rates)(tax_rate* buffer, u32 buffer_size); } country_impl; diff --git a/src/administration.cpp b/src/administration.cpp index d51b1b9..9fdfe7e 100644 --- a/src/administration.cpp +++ b/src/administration.cpp @@ -139,6 +139,8 @@ void administration_create() // Load all tax rates. for (s32 i = 0; i < country::get_count(); i++) { + if (!country::tax_is_implemented(country::get_code_by_index(i))) continue; + tax_rate* tax_rates = (tax_rate*)memops::alloc(sizeof(tax_rate) * 400); u32 tax_rate_count = country::get_available_tax_rates(country::get_code_by_index(i), tax_rates, 400); diff --git a/src/countries.cpp b/src/countries.cpp index d03848b..4456284 100644 --- a/src/countries.cpp +++ b/src/countries.cpp @@ -18,11 +18,207 @@ #include "countries.hpp" #include "countries/nl.cpp" +#include "countries/_unimplemented.cpp" -static country_impl country_map[] = { - _nl_country_impl, - // Add new countries here. +country_impl country_map[] = { + _af_country_impl, // Afghanistan + _al_country_impl, // Albania + _dz_country_impl, // Algeria + _ad_country_impl, // Andorra + _ao_country_impl, // Angola + _ag_country_impl, // Antigua and Barbuda + _ar_country_impl, // Argentina + _am_country_impl, // Armenia + _au_country_impl, // Australia + _at_country_impl, // Austria + _az_country_impl, // Azerbaijan + _bs_country_impl, // Bahamas + _bh_country_impl, // Bahrain + _bd_country_impl, // Bangladesh + _bb_country_impl, // Barbados + _by_country_impl, // Belarus + _be_country_impl, // Belgium + _bz_country_impl, // Belize + _bj_country_impl, // Benin + _bt_country_impl, // Bhutan + _bo_country_impl, // Bolivia + _ba_country_impl, // Bosnia and Herzegovina + _bw_country_impl, // Botswana + _br_country_impl, // Brazil + _bn_country_impl, // Brunei + _bg_country_impl, // Bulgaria + _bf_country_impl, // Burkina Faso + _bi_country_impl, // Burundi + _cv_country_impl, // Cabo Verde + _kh_country_impl, // Cambodia + _cm_country_impl, // Cameroon + _ca_country_impl, // Canada + _cf_country_impl, // Central African Republic + _td_country_impl, // Chad + _cl_country_impl, // Chile + _cn_country_impl, // China + _co_country_impl, // Colombia + _km_country_impl, // Comoros + _cg_country_impl, // Congo + _cd_country_impl, // Democratic Republic of the Congo + _cr_country_impl, // Costa Rica + _ci_country_impl, // Côte d’Ivoire + _hr_country_impl, // Croatia + _cu_country_impl, // Cuba + _cy_country_impl, // Cyprus + _cz_country_impl, // Czechia + _dk_country_impl, // Denmark + _dj_country_impl, // Djibouti + _dm_country_impl, // Dominica + _do_country_impl, // Dominican Republic + _ec_country_impl, // Ecuador + _eg_country_impl, // Egypt + _sv_country_impl, // El Salvador + _gq_country_impl, // Equatorial Guinea + _er_country_impl, // Eritrea + _ee_country_impl, // Estonia + _sz_country_impl, // Eswatini + _et_country_impl, // Ethiopia + _fj_country_impl, // Fiji + _fi_country_impl, // Finland + _fr_country_impl, // France + _ga_country_impl, // Gabon + _gm_country_impl, // Gambia + _ge_country_impl, // Georgia + _de_country_impl, // Germany + _gh_country_impl, // Ghana + _gr_country_impl, // Greece + _gd_country_impl, // Grenada + _gt_country_impl, // Guatemala + _gn_country_impl, // Guinea + _gw_country_impl, // Guinea-Bissau + _gy_country_impl, // Guyana + _ht_country_impl, // Haiti + _hn_country_impl, // Honduras + _hu_country_impl, // Hungary + _is_country_impl, // Iceland + _in_country_impl, // India + _id_country_impl, // Indonesia + _ir_country_impl, // Iran + _iq_country_impl, // Iraq + _ie_country_impl, // Ireland + _il_country_impl, // Israel + _it_country_impl, // Italy + _jm_country_impl, // Jamaica + _jp_country_impl, // Japan + _jo_country_impl, // Jordan + _kz_country_impl, // Kazakhstan + _ke_country_impl, // Kenya + _ki_country_impl, // Kiribati + _kp_country_impl, // North Korea + _kr_country_impl, // South Korea + _kw_country_impl, // Kuwait + _kg_country_impl, // Kyrgyzstan + _la_country_impl, // Laos + _lv_country_impl, // Latvia + _lb_country_impl, // Lebanon + _ls_country_impl, // Lesotho + _lr_country_impl, // Liberia + _ly_country_impl, // Libya + _li_country_impl, // Liechtenstein + _lt_country_impl, // Lithuania + _lu_country_impl, // Luxembourg + _mg_country_impl, // Madagascar + _mw_country_impl, // Malawi + _my_country_impl, // Malaysia + _mv_country_impl, // Maldives + _ml_country_impl, // Mali + _mt_country_impl, // Malta + _mh_country_impl, // Marshall Islands + _mr_country_impl, // Mauritania + _mu_country_impl, // Mauritius + _mx_country_impl, // Mexico + _fm_country_impl, // Micronesia + _md_country_impl, // Moldova + _mc_country_impl, // Monaco + _mn_country_impl, // Mongolia + _me_country_impl, // Montenegro + _ma_country_impl, // Morocco + _mz_country_impl, // Mozambique + _mm_country_impl, // Myanmar + _na_country_impl, // Namibia + _nr_country_impl, // Nauru + _np_country_impl, // Nepal + _nl_country_impl, // Netherlands + _nz_country_impl, // New Zealand + _ni_country_impl, // Nicaragua + _ne_country_impl, // Niger + _ng_country_impl, // Nigeria + _mk_country_impl, // North Macedonia + _no_country_impl, // Norway + _om_country_impl, // Oman + _pk_country_impl, // Pakistan + _pw_country_impl, // Palau + _ps_country_impl, // Palestine + _pa_country_impl, // Panama + _pg_country_impl, // Papua New Guinea + _py_country_impl, // Paraguay + _pe_country_impl, // Peru + _ph_country_impl, // Philippines + _pl_country_impl, // Poland + _pt_country_impl, // Portugal + _qa_country_impl, // Qatar + _ro_country_impl, // Romania + _ru_country_impl, // Russia + _rw_country_impl, // Rwanda + _kn_country_impl, // Saint Kitts and Nevis + _lc_country_impl, // Saint Lucia + _vc_country_impl, // Saint Vincent and the Grenadines + _ws_country_impl, // Samoa + _sm_country_impl, // San Marino + _st_country_impl, // São Tomé and Príncipe + _sa_country_impl, // Saudi Arabia + _sn_country_impl, // Senegal + _rs_country_impl, // Serbia + _sc_country_impl, // Seychelles + _sl_country_impl, // Sierra Leone + _sg_country_impl, // Singapore + _sk_country_impl, // Slovakia + _si_country_impl, // Slovenia + _sb_country_impl, // Solomon Islands + _so_country_impl, // Somalia + _za_country_impl, // South Africa + _ss_country_impl, // South Sudan + _es_country_impl, // Spain + _lk_country_impl, // Sri Lanka + _sd_country_impl, // Sudan + _sr_country_impl, // Suriname + _se_country_impl, // Sweden + _ch_country_impl, // Switzerland + _sy_country_impl, // Syria + _tw_country_impl, // Taiwan + _tj_country_impl, // Tajikistan + _tz_country_impl, // Tanzania + _th_country_impl, // Thailand + _tl_country_impl, // Timor-Leste + _tg_country_impl, // Togo + _to_country_impl, // Tonga + _tt_country_impl, // Trinidad and Tobago + _tn_country_impl, // Tunisia + _tr_country_impl, // Türkiye + _tm_country_impl, // Turkmenistan + _tv_country_impl, // Tuvalu + _ug_country_impl, // Uganda + _ua_country_impl, // Ukraine + _ae_country_impl, // United Arab Emirates + _gb_country_impl, // United Kingdom + _us_country_impl, // United States + _uy_country_impl, // Uruguay + _uz_country_impl, // Uzbekistan + _vu_country_impl, // Vanuatu + _va_country_impl, // Vatican City + _ve_country_impl, // Venezuela + _vn_country_impl, // Vietnam + _ye_country_impl, // Yemen + _zm_country_impl, // Zambia + _zw_country_impl // Zimbabwe }; + static const u32 country_map_count = sizeof(country_map) / sizeof(country_map[0]); s32 country::get_count() @@ -68,7 +264,7 @@ bool country::tax_is_implemented(char* country_code) if (index == -1) return false; return country_map[index].fill_tax_report_with_categories && - country_map[index].add_billing_item_to_tax_report; + country_map[index].add_billing_item_to_tax_report && country_map[index].get_available_tax_rates; } void country::fill_tax_report_with_categories(char* country_code, tax_report* report) diff --git a/src/countries/_unimplemented.cpp b/src/countries/_unimplemented.cpp new file mode 100644 index 0000000..4244f2c --- /dev/null +++ b/src/countries/_unimplemented.cpp @@ -0,0 +1,226 @@ +/* +* Copyright (c) 2025 Aldrik Ramaekers <aldrik.ramaekers@gmail.com> +* +* Permission to use, copy, modify, and/or distribute this software for any +* purpose with or without fee is hereby granted, provided that the above +* copyright notice and this permission notice appear in all copies. +* +* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#include "countries.hpp" + +// === Europe (EU + Non-EU) === +country_impl _at_country_impl = { "AT", true }; // Austria +country_impl _be_country_impl = { "BE", true }; // Belgium +country_impl _bg_country_impl = { "BG", true }; // Bulgaria +country_impl _hr_country_impl = { "HR", true }; // Croatia +country_impl _cy_country_impl = { "CY", true }; // Cyprus +country_impl _cz_country_impl = { "CZ", true }; // Czechia +country_impl _dk_country_impl = { "DK", true }; // Denmark +country_impl _ee_country_impl = { "EE", true }; // Estonia +country_impl _fi_country_impl = { "FI", true }; // Finland +country_impl _fr_country_impl = { "FR", true }; // France +country_impl _de_country_impl = { "DE", true }; // Germany +country_impl _gr_country_impl = { "GR", true }; // Greece +country_impl _hu_country_impl = { "HU", true }; // Hungary +country_impl _ie_country_impl = { "IE", true }; // Ireland +country_impl _it_country_impl = { "IT", true }; // Italy +country_impl _lv_country_impl = { "LV", true }; // Latvia +country_impl _lt_country_impl = { "LT", true }; // Lithuania +country_impl _lu_country_impl = { "LU", true }; // Luxembourg +country_impl _mt_country_impl = { "MT", true }; // Malta +country_impl _pl_country_impl = { "PL", true }; // Poland +country_impl _pt_country_impl = { "PT", true }; // Portugal +country_impl _ro_country_impl = { "RO", true }; // Romania +country_impl _sk_country_impl = { "SK", true }; // Slovakia +country_impl _si_country_impl = { "SI", true }; // Slovenia +country_impl _es_country_impl = { "ES", true }; // Spain +country_impl _se_country_impl = { "SE", true }; // Sweden + +// Non-EU European countries +country_impl _ad_country_impl = { "AD", false }; // Andorra +country_impl _mc_country_impl = { "MC", false }; // Monaco +country_impl _al_country_impl = { "AL", false }; // Albania +country_impl _ba_country_impl = { "BA", false }; // Bosnia and Herzegovina +country_impl _by_country_impl = { "BY", false }; // Belarus +country_impl _ch_country_impl = { "CH", false }; // Switzerland +country_impl _gb_country_impl = { "GB", false }; // United Kingdom +country_impl _is_country_impl = { "IS", false }; // Iceland +country_impl _li_country_impl = { "LI", false }; // Liechtenstein +country_impl _md_country_impl = { "MD", false }; // Moldova +country_impl _me_country_impl = { "ME", false }; // Montenegro +country_impl _mk_country_impl = { "MK", false }; // North Macedonia +country_impl _no_country_impl = { "NO", false }; // Norway +country_impl _rs_country_impl = { "RS", false }; // Serbia +country_impl _sm_country_impl = { "SM", false }; // San Marino +country_impl _ua_country_impl = { "UA", false }; // Ukraine +country_impl _va_country_impl = { "VA", false }; // Vatican City + +// === North America === +country_impl _ag_country_impl = { "AG", false }; // Antigua and Barbuda +country_impl _bs_country_impl = { "BS", false }; // Bahamas +country_impl _bb_country_impl = { "BB", false }; // Barbados +country_impl _bz_country_impl = { "BZ", false }; // Belize +country_impl _ca_country_impl = { "CA", false }; // Canada +country_impl _cr_country_impl = { "CR", false }; // Costa Rica +country_impl _cu_country_impl = { "CU", false }; // Cuba +country_impl _dm_country_impl = { "DM", false }; // Dominica +country_impl _do_country_impl = { "DO", false }; // Dominican Republic +country_impl _sv_country_impl = { "SV", false }; // El Salvador +country_impl _gd_country_impl = { "GD", false }; // Grenada +country_impl _gt_country_impl = { "GT", false }; // Guatemala +country_impl _ht_country_impl = { "HT", false }; // Haiti +country_impl _hn_country_impl = { "HN", false }; // Honduras +country_impl _jm_country_impl = { "JM", false }; // Jamaica +country_impl _mx_country_impl = { "MX", false }; // Mexico +country_impl _ni_country_impl = { "NI", false }; // Nicaragua +country_impl _pa_country_impl = { "PA", false }; // Panama +country_impl _kn_country_impl = { "KN", false }; // Saint Kitts and Nevis +country_impl _lc_country_impl = { "LC", false }; // Saint Lucia +country_impl _vc_country_impl = { "VC", false }; // Saint Vincent and the Grenadines +country_impl _tt_country_impl = { "TT", false }; // Trinidad and Tobago +country_impl _us_country_impl = { "US", false }; // United States + +// === South America === +country_impl _ar_country_impl = { "AR", false }; // Argentina +country_impl _bo_country_impl = { "BO", false }; // Bolivia +country_impl _br_country_impl = { "BR", false }; // Brazil +country_impl _cl_country_impl = { "CL", false }; // Chile +country_impl _co_country_impl = { "CO", false }; // Colombia +country_impl _ec_country_impl = { "EC", false }; // Ecuador +country_impl _gy_country_impl = { "GY", false }; // Guyana +country_impl _pe_country_impl = { "PE", false }; // Peru +country_impl _py_country_impl = { "PY", false }; // Paraguay +country_impl _sr_country_impl = { "SR", false }; // Suriname +country_impl _uy_country_impl = { "UY", false }; // Uruguay +country_impl _ve_country_impl = { "VE", false }; // Venezuela + +// === Africa === +country_impl _dz_country_impl = { "DZ", false }; // Algeria +country_impl _ao_country_impl = { "AO", false }; // Angola +country_impl _bj_country_impl = { "BJ", false }; // Benin +country_impl _bw_country_impl = { "BW", false }; // Botswana +country_impl _bf_country_impl = { "BF", false }; // Burkina Faso +country_impl _bi_country_impl = { "BI", false }; // Burundi +country_impl _cv_country_impl = { "CV", false }; // Cabo Verde +country_impl _cm_country_impl = { "CM", false }; // Cameroon +country_impl _cf_country_impl = { "CF", false }; // Central African Republic +country_impl _td_country_impl = { "TD", false }; // Chad +country_impl _km_country_impl = { "KM", false }; // Comoros +country_impl _cg_country_impl = { "CG", false }; // Congo +country_impl _cd_country_impl = { "CD", false }; // Democratic Republic of the Congo +country_impl _ci_country_impl = { "CI", false }; // Côte d’Ivoire +country_impl _dj_country_impl = { "DJ", false }; // Djibouti +country_impl _eg_country_impl = { "EG", false }; // Egypt +country_impl _gq_country_impl = { "GQ", false }; // Equatorial Guinea +country_impl _er_country_impl = { "ER", false }; // Eritrea +country_impl _sz_country_impl = { "SZ", false }; // Eswatini +country_impl _et_country_impl = { "ET", false }; // Ethiopia +country_impl _ga_country_impl = { "GA", false }; // Gabon +country_impl _gm_country_impl = { "GM", false }; // Gambia +country_impl _gh_country_impl = { "GH", false }; // Ghana +country_impl _gn_country_impl = { "GN", false }; // Guinea +country_impl _gw_country_impl = { "GW", false }; // Guinea-Bissau +country_impl _ke_country_impl = { "KE", false }; // Kenya +country_impl _ls_country_impl = { "LS", false }; // Lesotho +country_impl _lr_country_impl = { "LR", false }; // Liberia +country_impl _ly_country_impl = { "LY", false }; // Libya +country_impl _mg_country_impl = { "MG", false }; // Madagascar +country_impl _mw_country_impl = { "MW", false }; // Malawi +country_impl _ml_country_impl = { "ML", false }; // Mali +country_impl _mr_country_impl = { "MR", false }; // Mauritania +country_impl _mu_country_impl = { "MU", false }; // Mauritius +country_impl _ma_country_impl = { "MA", false }; // Morocco +country_impl _mz_country_impl = { "MZ", false }; // Mozambique +country_impl _na_country_impl = { "NA", false }; // Namibia +country_impl _ne_country_impl = { "NE", false }; // Niger +country_impl _ng_country_impl = { "NG", false }; // Nigeria +country_impl _rw_country_impl = { "RW", false }; // Rwanda +country_impl _st_country_impl = { "ST", false }; // São Tomé and Príncipe +country_impl _sn_country_impl = { "SN", false }; // Senegal +country_impl _sc_country_impl = { "SC", false }; // Seychelles +country_impl _sl_country_impl = { "SL", false }; // Sierra Leone +country_impl _so_country_impl = { "SO", false }; // Somalia +country_impl _za_country_impl = { "ZA", false }; // South Africa +country_impl _ss_country_impl = { "SS", false }; // South Sudan +country_impl _sd_country_impl = { "SD", false }; // Sudan +country_impl _tz_country_impl = { "TZ", false }; // Tanzania +country_impl _tg_country_impl = { "TG", false }; // Togo +country_impl _tn_country_impl = { "TN", false }; // Tunisia +country_impl _ug_country_impl = { "UG", false }; // Uganda +country_impl _zm_country_impl = { "ZM", false }; // Zambia +country_impl _zw_country_impl = { "ZW", false }; // Zimbabwe + +// === Asia === +country_impl _ru_country_impl = { "RU", false }; // Russia +country_impl _af_country_impl = { "AF", false }; // Afghanistan +country_impl _am_country_impl = { "AM", false }; // Armenia +country_impl _az_country_impl = { "AZ", false }; // Azerbaijan +country_impl _bh_country_impl = { "BH", false }; // Bahrain +country_impl _bd_country_impl = { "BD", false }; // Bangladesh +country_impl _bt_country_impl = { "BT", false }; // Bhutan +country_impl _bn_country_impl = { "BN", false }; // Brunei +country_impl _kh_country_impl = { "KH", false }; // Cambodia +country_impl _cn_country_impl = { "CN", false }; // China +country_impl _ge_country_impl = { "GE", false }; // Georgia +country_impl _in_country_impl = { "IN", false }; // India +country_impl _id_country_impl = { "ID", false }; // Indonesia +country_impl _ir_country_impl = { "IR", false }; // Iran +country_impl _iq_country_impl = { "IQ", false }; // Iraq +country_impl _il_country_impl = { "IL", false }; // Israel +country_impl _jp_country_impl = { "JP", false }; // Japan +country_impl _jo_country_impl = { "JO", false }; // Jordan +country_impl _kz_country_impl = { "KZ", false }; // Kazakhstan +country_impl _kw_country_impl = { "KW", false }; // Kuwait +country_impl _kg_country_impl = { "KG", false }; // Kyrgyzstan +country_impl _la_country_impl = { "LA", false }; // Laos +country_impl _lb_country_impl = { "LB", false }; // Lebanon +country_impl _my_country_impl = { "MY", false }; // Malaysia +country_impl _mv_country_impl = { "MV", false }; // Maldives +country_impl _mn_country_impl = { "MN", false }; // Mongolia +country_impl _mm_country_impl = { "MM", false }; // Myanmar +country_impl _np_country_impl = { "NP", false }; // Nepal +country_impl _kp_country_impl = { "KP", false }; // North Korea +country_impl _om_country_impl = { "OM", false }; // Oman +country_impl _pk_country_impl = { "PK", false }; // Pakistan +country_impl _ps_country_impl = { "PS", false }; // Palestine +country_impl _ph_country_impl = { "PH", false }; // Philippines +country_impl _qa_country_impl = { "QA", false }; // Qatar +country_impl _sa_country_impl = { "SA", false }; // Saudi Arabia +country_impl _sg_country_impl = { "SG", false }; // Singapore +country_impl _kr_country_impl = { "KR", false }; // South Korea +country_impl _lk_country_impl = { "LK", false }; // Sri Lanka +country_impl _sy_country_impl = { "SY", false }; // Syria +country_impl _tw_country_impl = { "TW", false }; // Taiwan +country_impl _tj_country_impl = { "TJ", false }; // Tajikistan +country_impl _th_country_impl = { "TH", false }; // Thailand +country_impl _tl_country_impl = { "TL", false }; // Timor-Leste +country_impl _tr_country_impl = { "TR", false }; // Türkiye +country_impl _tm_country_impl = { "TM", false }; // Turkmenistan +country_impl _ae_country_impl = { "AE", false }; // United Arab Emirates +country_impl _uz_country_impl = { "UZ", false }; // Uzbekistan +country_impl _vn_country_impl = { "VN", false }; // Vietnam +country_impl _ye_country_impl = { "YE", false }; // Yemen + +// === Oceania === +country_impl _au_country_impl = { "AU", false }; // Australia +country_impl _fj_country_impl = { "FJ", false }; // Fiji +country_impl _ki_country_impl = { "KI", false }; // Kiribati +country_impl _mh_country_impl = { "MH", false }; // Marshall Islands +country_impl _fm_country_impl = { "FM", false }; // Micronesia +country_impl _nr_country_impl = { "NR", false }; // Nauru +country_impl _nz_country_impl = { "NZ", false }; // New Zealand +country_impl _pw_country_impl = { "PW", false }; // Palau +country_impl _pg_country_impl = { "PG", false }; // Papua New Guinea +country_impl _ws_country_impl = { "WS", false }; // Samoa +country_impl _sb_country_impl = { "SB", false }; // Solomon Islands +country_impl _to_country_impl = { "TO", false }; // Tonga +country_impl _tv_country_impl = { "TV", false }; // Tuvalu +country_impl _vu_country_impl = { "VU", false }; // Vanuatu diff --git a/src/locales/en.cpp b/src/locales/en.cpp index 7a98d44..062460c 100644 --- a/src/locales/en.cpp +++ b/src/locales/en.cpp @@ -60,33 +60,202 @@ locale_entry en_locales[] = { {"costcenter.other_specialized", "Other / Specialized"}, // Countries + { "country.AF", "Afghanistan" }, + { "country.AL", "Albania" }, + { "country.DZ", "Algeria" }, + { "country.AD", "Andorra" }, + { "country.AO", "Angola" }, + { "country.AG", "Antigua and Barbuda" }, + { "country.AR", "Argentina" }, + { "country.AM", "Armenia" }, + { "country.AU", "Australia" }, { "country.AT", "Austria" }, + { "country.AZ", "Azerbaijan" }, + { "country.BS", "Bahamas" }, + { "country.BH", "Bahrain" }, + { "country.BD", "Bangladesh" }, + { "country.BB", "Barbados" }, + { "country.BY", "Belarus" }, { "country.BE", "Belgium" }, + { "country.BZ", "Belize" }, + { "country.BJ", "Benin" }, + { "country.BT", "Bhutan" }, + { "country.BO", "Bolivia" }, + { "country.BA", "Bosnia and Herzegovina" }, + { "country.BW", "Botswana" }, + { "country.BR", "Brazil" }, + { "country.BN", "Brunei" }, { "country.BG", "Bulgaria" }, + { "country.BF", "Burkina Faso" }, + { "country.BI", "Burundi" }, + { "country.CV", "Cabo Verde" }, + { "country.KH", "Cambodia" }, + { "country.CM", "Cameroon" }, + { "country.CA", "Canada" }, + { "country.CF", "Central African Republic" }, + { "country.TD", "Chad" }, + { "country.CL", "Chile" }, + { "country.CN", "China" }, + { "country.CO", "Colombia" }, + { "country.KM", "Comoros" }, + { "country.CG", "Congo" }, + { "country.CD", "Democratic Republic of the Congo" }, + { "country.CR", "Costa Rica" }, + { "country.CI", "Côte d’Ivoire" }, { "country.HR", "Croatia" }, + { "country.CU", "Cuba" }, { "country.CY", "Cyprus" }, - { "country.CZ", "Czech Republic" }, + { "country.CZ", "Czechia" }, { "country.DK", "Denmark" }, + { "country.DJ", "Djibouti" }, + { "country.DM", "Dominica" }, + { "country.DO", "Dominican Republic" }, + { "country.EC", "Ecuador" }, + { "country.EG", "Egypt" }, + { "country.SV", "El Salvador" }, + { "country.GQ", "Equatorial Guinea" }, + { "country.ER", "Eritrea" }, { "country.EE", "Estonia" }, + { "country.SZ", "Eswatini" }, + { "country.ET", "Ethiopia" }, + { "country.FJ", "Fiji" }, { "country.FI", "Finland" }, { "country.FR", "France" }, + { "country.GA", "Gabon" }, + { "country.GM", "Gambia" }, + { "country.GE", "Georgia" }, { "country.DE", "Germany" }, + { "country.GH", "Ghana" }, { "country.GR", "Greece" }, + { "country.GD", "Grenada" }, + { "country.GT", "Guatemala" }, + { "country.GN", "Guinea" }, + { "country.GW", "Guinea-Bissau" }, + { "country.GY", "Guyana" }, + { "country.HT", "Haiti" }, + { "country.HN", "Honduras" }, { "country.HU", "Hungary" }, + { "country.IS", "Iceland" }, + { "country.IN", "India" }, + { "country.ID", "Indonesia" }, + { "country.IR", "Iran" }, + { "country.IQ", "Iraq" }, { "country.IE", "Ireland" }, + { "country.IL", "Israel" }, { "country.IT", "Italy" }, + { "country.JM", "Jamaica" }, + { "country.JP", "Japan" }, + { "country.JO", "Jordan" }, + { "country.KZ", "Kazakhstan" }, + { "country.KE", "Kenya" }, + { "country.KI", "Kiribati" }, + { "country.KP", "North Korea" }, + { "country.KR", "South Korea" }, + { "country.KW", "Kuwait" }, + { "country.KG", "Kyrgyzstan" }, + { "country.LA", "Laos" }, { "country.LV", "Latvia" }, + { "country.LB", "Lebanon" }, + { "country.LS", "Lesotho" }, + { "country.LR", "Liberia" }, + { "country.LY", "Libya" }, + { "country.LI", "Liechtenstein" }, { "country.LT", "Lithuania" }, { "country.LU", "Luxembourg" }, + { "country.MG", "Madagascar" }, + { "country.MW", "Malawi" }, + { "country.MY", "Malaysia" }, + { "country.MV", "Maldives" }, + { "country.ML", "Mali" }, { "country.MT", "Malta" }, + { "country.MH", "Marshall Islands" }, + { "country.MR", "Mauritania" }, + { "country.MU", "Mauritius" }, + { "country.MX", "Mexico" }, + { "country.FM", "Micronesia" }, + { "country.MD", "Moldova" }, + { "country.MC", "Monaco" }, + { "country.MN", "Mongolia" }, + { "country.ME", "Montenegro" }, + { "country.MA", "Morocco" }, + { "country.MZ", "Mozambique" }, + { "country.MM", "Myanmar" }, + { "country.NA", "Namibia" }, + { "country.NR", "Nauru" }, + { "country.NP", "Nepal" }, { "country.NL", "Netherlands" }, + { "country.NZ", "New Zealand" }, + { "country.NI", "Nicaragua" }, + { "country.NE", "Niger" }, + { "country.NG", "Nigeria" }, + { "country.MK", "North Macedonia" }, + { "country.NO", "Norway" }, + { "country.OM", "Oman" }, + { "country.PK", "Pakistan" }, + { "country.PW", "Palau" }, + { "country.PS", "Palestine" }, + { "country.PA", "Panama" }, + { "country.PG", "Papua New Guinea" }, + { "country.PY", "Paraguay" }, + { "country.PE", "Peru" }, + { "country.PH", "Philippines" }, { "country.PL", "Poland" }, { "country.PT", "Portugal" }, + { "country.QA", "Qatar" }, { "country.RO", "Romania" }, + { "country.RU", "Russia" }, + { "country.RW", "Rwanda" }, + { "country.KN", "Saint Kitts and Nevis" }, + { "country.LC", "Saint Lucia" }, + { "country.VC", "Saint Vincent and the Grenadines" }, + { "country.WS", "Samoa" }, + { "country.SM", "San Marino" }, + { "country.ST", "São Tomé and Príncipe" }, + { "country.SA", "Saudi Arabia" }, + { "country.SN", "Senegal" }, + { "country.RS", "Serbia" }, + { "country.SC", "Seychelles" }, + { "country.SL", "Sierra Leone" }, + { "country.SG", "Singapore" }, { "country.SK", "Slovakia" }, { "country.SI", "Slovenia" }, + { "country.SB", "Solomon Islands" }, + { "country.SO", "Somalia" }, + { "country.ZA", "South Africa" }, + { "country.SS", "South Sudan" }, { "country.ES", "Spain" }, + { "country.LK", "Sri Lanka" }, + { "country.SD", "Sudan" }, + { "country.SR", "Suriname" }, { "country.SE", "Sweden" }, + { "country.CH", "Switzerland" }, + { "country.SY", "Syria" }, + { "country.TW", "Taiwan" }, + { "country.TJ", "Tajikistan" }, + { "country.TZ", "Tanzania" }, + { "country.TH", "Thailand" }, + { "country.TL", "Timor-Leste" }, + { "country.TG", "Togo" }, + { "country.TO", "Tonga" }, + { "country.TT", "Trinidad and Tobago" }, + { "country.TN", "Tunisia" }, + { "country.TR", "Türkiye" }, + { "country.TM", "Turkmenistan" }, + { "country.TV", "Tuvalu" }, + { "country.UG", "Uganda" }, + { "country.UA", "Ukraine" }, + { "country.AE", "United Arab Emirates" }, + { "country.GB", "United Kingdom" }, + { "country.US", "United States" }, + { "country.UY", "Uruguay" }, + { "country.UZ", "Uzbekistan" }, + { "country.VU", "Vanuatu" }, + { "country.VA", "Vatican City" }, + { "country.VE", "Venezuela" }, + { "country.VN", "Vietnam" }, + { "country.YE", "Yemen" }, + { "country.ZM", "Zambia" }, + { "country.ZW", "Zimbabwe" }, // Navigation. {"nav.invoices", "Invoices"}, diff --git a/src/ui/imgui_extensions.cpp b/src/ui/imgui_extensions.cpp index b59c13f..b3b20f8 100644 --- a/src/ui/imgui_extensions.cpp +++ b/src/ui/imgui_extensions.cpp @@ -88,7 +88,7 @@ namespace ImGui float widthAvailable = ImGui::GetContentRegionAvail().x; ImGui::SetNextItemWidth(widthAvailable*0.5f); - const char* countries[30]; + const char* countries[300]; for (int x = 0; x < country::get_count(); x++) { char locale_str[20]; |
