Repository: vacanza/holidays (python)

Issue:
Missing Argentina's One-Time Holiday for G20 Summit in 2018.
2018-11-30 was declared a public holiday in Argentina and is not yet implemented.

**Sources**
https://en.wikipedia.org/wiki/2018_G20_Buenos_Aires_summit
https://argentinareports.com/bullrich-g20-leave-bs-as/2060/
https://www.theguardian.com/world/2018/nov/28/argentina-g20-summit-buenos-aires-public-holiday-leave-town

Mentioned Specifically Here:
https://en.wikipedia.org/wiki/2018_G20_Buenos_Aires_summit#:~:text=Friday%2C%2030%20November%20was%20declared%20a%20one%2Dtime%20public%20holiday%20day%20in%20the%20city%20of%20Buenos%20Aires%2C%20to%20prevent%20the%20traffic%20caused%20by%20people%27s%20daily%20activities%2C%20and%20residents%20were%20urged%20to%20leave%20the%20city%20for%20the%20long%20weekend.

Pull request:
Update Argentina holidays: add 2018 G20 Leaders' Summit for Buenos Aires
<!--
  Thanks for contributing to holidays!
-->

## Proposed change

<!--
  Describe the big picture of your changes.
  Don't forget to link your PR to an existing issue if any.
-->

Adds November 30, 2018, as a one-off public holiday in Buenos Aires for the G20 Leaders' Summit.

Resolves #2528.

## Type of change

<!--
  Type of change you want to introduce. Please, check one (1) box only!
  If your PR requires multiple boxes to be checked, most likely it needs to
  be split into multiple PRs.
-->

- [ ] New country/market holidays support (thank you!)
- [x] Supported country/market holidays update (calendar discrepancy fix, localization)
- [ ] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
- [ ] Dependency update (version deprecation/pin/upgrade)
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] Breaking change (a code change causing existing functionality to break)
- [ ] New feature (new `holidays` functionality in general)

## Checklist

<!--
  Put an `x` in the boxes that apply. You can change them after PR is created.
-->

- [ ] I've followed the [contributing guidelines][contributing-guidelines]
- [ ] I've successfully run `make check`, all checks and tests are green

<!--
  Thanks again for your contribution!
-->

[contributing-guidelines]: https://github.com/vacanza/holidays/blob/dev/CONTRIBUTING.md
[docs]: https://github.com/vacanza/holidays/tree/dev/docs/source


Patch:
diff --git a/holidays/countries/argentina.py b/holidays/countries/argentina.py
index 952ab4c9..bdda17ab 100644
--- a/holidays/countries/argentina.py
+++ b/holidays/countries/argentina.py
@@ -828,6 +828,9 @@ class ArgentinaStaticHolidays:
         * [Release P51020 (2021)](https://bcra.gob.ar/Pdfs/comytexord/P51020.pdf)
         * [Release P51155 (2024)](https://bcra.gob.ar/Pdfs/comytexord/P51155.pdf)
 
+    Special Subdivision-level Holidays References:
+        * [2018 G20 Leader Summit Special Holidays for Buenos Aires](https://web.archive.org/web/20220305033755/https://www.perfil.com/noticias/sociedad/30-de-noviembre-feriado-ciudad-de-buenos-aires-cumbre-g20.phtml)
+
     Special Bridge Holidays are given upto 3 days a year as long as it's declared
     50 days before calendar year's end.
     There's no Bridge Holidays declared in 2017.
@@ -869,6 +872,9 @@ class ArgentinaStaticHolidays:
     # National Census Day 2010.
     national_census_2010 = tr("Censo Nacional 2010")
 
+    # G20 Leaders' Summit.
+    g20_leaders_summit_holiday = tr("Cumbre de Líderes del Grupo de los 20 (G20)")
+
     # National Census Day 2022.
     national_census_2022 = tr("Censo Nacional 2022")
 
@@ -985,3 +991,7 @@ class ArgentinaStaticHolidays:
             (DEC, 31, bank_holiday),
         ),
     }
+
+    special_b_public_holidays = {
+        2018: (NOV, 30, g20_leaders_summit_holiday),
+    }
diff --git a/holidays/locale/en_US/LC_MESSAGES/AR.po b/holidays/locale/en_US/LC_MESSAGES/AR.po
index c322f38f..3635cc78 100644
--- a/holidays/locale/en_US/LC_MESSAGES/AR.po
+++ b/holidays/locale/en_US/LC_MESSAGES/AR.po
@@ -14,18 +14,17 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Holidays 0.70\n"
+"Project-Id-Version: Holidays 0.73\n"
 "POT-Creation-Date: 2023-03-02 00:39+0700\n"
-"PO-Revision-Date: 2025-03-19 13:55+0200\n"
-"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
+"PO-Revision-Date: 2025-05-06 10:34+0700\n"
+"Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
 "Language-Team: Holidays Localization Team\n"
 "Language: en_US\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "Generated-By: pygettext.py 1.5\n"
-"X-Generator: Poedit 3.5\n"
+"X-Generator: Poedit 3.6\n"
 "X-Source-Language: es\n"
 
 #. %s (observed).
@@ -367,3 +366,7 @@ msgstr "FIFA World Cup 2022 Victory Day"
 #. Bank Holiday.
 msgid "Asueto bancario"
 msgstr "Bank Holiday"
+
+#. G20 Leaders' Summit.
+msgid "Cumbre de Líderes del Grupo de los 20 (G20)"
+msgstr "G20 Leaders' Summit"
diff --git a/holidays/locale/es/LC_MESSAGES/AR.po b/holidays/locale/es/LC_MESSAGES/AR.po
index 309a52bc..4e7f29a8 100644
--- a/holidays/locale/es/LC_MESSAGES/AR.po
+++ b/holidays/locale/es/LC_MESSAGES/AR.po
@@ -14,18 +14,17 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Holidays 0.70\n"
+"Project-Id-Version: Holidays 0.73\n"
 "POT-Creation-Date: 2023-03-02 00:39+0700\n"
-"PO-Revision-Date: 2025-03-19 13:53+0200\n"
-"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
+"PO-Revision-Date: 2025-05-06 10:34+0700\n"
+"Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
 "Language-Team: Holidays Localization Team\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "Generated-By: Lingua 4.15.0\n"
-"X-Generator: Poedit 3.5\n"
+"X-Generator: Poedit 3.6\n"
 "X-Source-Language: es\n"
 
 #. %s (observed).
@@ -367,3 +366,7 @@ msgstr ""
 #. Bank Holiday.
 msgid "Asueto bancario"
 msgstr ""
+
+#. G20 Leaders' Summit.
+msgid "Cumbre de Líderes del Grupo de los 20 (G20)"
+msgstr ""
diff --git a/holidays/locale/uk/LC_MESSAGES/AR.po b/holidays/locale/uk/LC_MESSAGES/AR.po
index fb5bb590..b34e0e03 100644
--- a/holidays/locale/uk/LC_MESSAGES/AR.po
+++ b/holidays/locale/uk/LC_MESSAGES/AR.po
@@ -14,18 +14,17 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Holidays 0.70\n"
+"Project-Id-Version: Holidays 0.73\n"
 "POT-Creation-Date: 2023-03-02 00:39+0700\n"
-"PO-Revision-Date: 2025-03-19 13:59+0200\n"
-"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
+"PO-Revision-Date: 2025-05-06 10:34+0700\n"
+"Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
 "Language-Team: Holidays Localization Team\n"
 "Language: uk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
 "Generated-By: Lingua 4.15.0\n"
-"X-Generator: Poedit 3.5\n"
+"X-Generator: Poedit 3.6\n"
 "X-Source-Language: es\n"
 
 #. %s (observed).
@@ -367,3 +366,7 @@ msgstr "День перемоги збірної Аргентини на Чем
 #. Bank Holiday.
 msgid "Asueto bancario"
 msgstr "Банківський вихідний"
+
+#. G20 Leaders' Summit.
+msgid "Cumbre de Líderes del Grupo de los 20 (G20)"
+msgstr "Саміт лідерів Групи двадцяти (G20)"
diff --git a/snapshots/countries/AR_B.json b/snapshots/countries/AR_B.json
index 2232aefb..f14ad0eb 100644
--- a/snapshots/countries/AR_B.json
+++ b/snapshots/countries/AR_B.json
@@ -1050,6 +1050,7 @@
     "2018-10-15": "Respect for Cultural Diversity Day",
     "2018-11-06": "Bankers' Day",
     "2018-11-19": "National Sovereignty Day",
+    "2018-11-30": "G20 Leaders' Summit",
     "2018-12-08": "Immaculate Conception",
     "2018-12-24": "Bridge Public Holiday",
     "2018-12-25": "Christmas Day",


Test patch:
diff --git a/tests/countries/test_argentina.py b/tests/countries/test_argentina.py
index e2a6499f..80118d14 100644
--- a/tests/countries/test_argentina.py
+++ b/tests/countries/test_argentina.py
@@ -99,6 +99,10 @@ class TestArgentina(CommonCountryTests, TestCase):
             "2024-12-31",
         )
 
+    def test_special_subdiv_holidays(self):
+        # Buenos Aires.
+        self.assertHoliday(self.subdiv_holidays["B"], "2018-11-30")
+
     def test_new_years_day(self):
         self.assertHolidayName("Año Nuevo", (f"{year}-01-01" for year in range(1957, 2050)))