Repository: vacanza/holidays

Issue:
Fix translator comment order in Guinea-Bissau locale file
## Issue Description

Guinea-Bissau's locale file has inconsistent translator comment AND translation order compared to the established convention.

**Current (inconsistent):**
```
#. %s (estimated, observed).
msgstr "%s (estimated, observed)"
```

**Should be (consistent with 50+ other countries):**
```
#. %s (observed, estimated).
msgstr "%s (observed, estimated)"
```

**File:** `holidays/locale/en_US/LC_MESSAGES/GW.po`

**Related PR:** #2854 - add Sudan Holidays
**Related Discussion:** https://github.com/vacanza/holidays/pull/2854#discussion_r2299223211

## Background
During review of Sudan's locale file, we discovered that the established convention across the holidays library is to use "observed, estimated" order in both translator comments and translations. Guinea-Bissau is currently the only exception to this pattern, with both its comment and translation using the wrong order.

## Solution
Update BOTH the translator comment and translation in GW.po to use "observed, estimated" order to maintain consistency with the rest of the codebase.

**Required changes:**
1. Fix translator comment order
2. Fix translation order


Discussion:

Patch:
diff --git a/holidays/countries/guinea_bissau.py b/holidays/countries/guinea_bissau.py
index 1bc7923172..852c1ea0e5 100644
--- a/holidays/countries/guinea_bissau.py
+++ b/holidays/countries/guinea_bissau.py
@@ -28,10 +28,6 @@ class GuineaBissau(HolidayBase, ChristianHolidays, InternationalHolidays, Islami
     default_language = "pt_GW"
     # %s (estimated).
     estimated_label = tr("%s (prevista)")
-    # %s (observed).
-    observed_label = tr("%s (ponte)")
-    # %s (estimated, observed).
-    observed_estimated_label = tr("%s (prevista, ponte)")
     supported_languages = ("en_US", "pt_GW")
     start_year = 2023
 
diff --git a/holidays/locale/en_US/LC_MESSAGES/GW.po b/holidays/locale/en_US/LC_MESSAGES/GW.po
index ea52e4096f..31395ac93b 100644
--- a/holidays/locale/en_US/LC_MESSAGES/GW.po
+++ b/holidays/locale/en_US/LC_MESSAGES/GW.po
@@ -14,10 +14,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Holidays 0.79\n"
+"Project-Id-Version: Holidays 0.80\n"
 "POT-Creation-Date: 2025-08-03 15:53+0530\n"
-"PO-Revision-Date: 2025-08-03 15:53+0530\n"
-"Last-Translator: Kriti Birda <workwithkritibirda@gmail.com>\n"
+"PO-Revision-Date: 2025-08-26 17:58+0300\n"
+"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
 "Language-Team: Holidays Localization Team\n"
 "Language: en_US\n"
 "MIME-Version: 1.0\n"
@@ -31,16 +31,6 @@ msgstr ""
 msgid "%s (prevista)"
 msgstr "%s (estimated)"
 
-#. %s (observed).
-#, c-format
-msgid "%s (ponte)"
-msgstr "%s (observed)"
-
-#. %s (estimated, observed).
-#, c-format
-msgid "%s (prevista, ponte)"
-msgstr "%s (estimated, observed)"
-
 #. New Year's Day.
 msgid "Ano Novo"
 msgstr "New Year's Day"
diff --git a/holidays/locale/pt_GW/LC_MESSAGES/GW.po b/holidays/locale/pt_GW/LC_MESSAGES/GW.po
index bcf9f49546..3ed055327f 100644
--- a/holidays/locale/pt_GW/LC_MESSAGES/GW.po
+++ b/holidays/locale/pt_GW/LC_MESSAGES/GW.po
@@ -14,10 +14,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Holidays 0.79\n"
+"Project-Id-Version: Holidays 0.80\n"
 "POT-Creation-Date: 2025-08-03 15:53+0530\n"
-"PO-Revision-Date: 2025-08-03 15:53+0530\n"
-"Last-Translator: Kriti Birda <workwithkritibirda@gmail.com>\n"
+"PO-Revision-Date: 2025-08-26 17:59+0300\n"
+"Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
 "Language-Team: Holidays Localization Team\n"
 "Language: pt_GW\n"
 "MIME-Version: 1.0\n"
@@ -31,16 +31,6 @@ msgstr ""
 msgid "%s (prevista)"
 msgstr ""
 
-#. %s (observed).
-#, c-format
-msgid "%s (ponte)"
-msgstr ""
-
-#. %s (estimated, observed).
-#, c-format
-msgid "%s (prevista, ponte)"
-msgstr ""
-
 #. New Year's Day.
 msgid "Ano Novo"
 msgstr ""


Test patch:
diff --git a/tests/common.py b/tests/common.py
index 717db7850e..b7f4811f7b 100644
--- a/tests/common.py
+++ b/tests/common.py
@@ -20,6 +20,7 @@
 
 from holidays import HolidayBase
 from holidays.calendars.gregorian import SUN
+from holidays.observed_holiday_base import ObservedHolidayBase
 
 PYTHON_LATEST_SUPPORTED_VERSION = "3.13"
 PYTHON_VERSION = f"{sys.version_info.major}.{sys.version_info.minor}"
@@ -373,6 +374,17 @@ def test_observed_estimated_label(self):
             )
             self.assertIn(estimated_label.strip("%s ()"), observed_estimated_label)
 
+    def test_observed_label(self):
+        if getattr(self.holidays, "observed_label", None):
+            self.assertTrue(
+                isinstance(
+                    self.holidays,
+                    ObservedHolidayBase,
+                ),
+                "The `observed_label` is not required as this entity doesn't handle "
+                "observed holidays.",
+            )
+
 
 class CommonFinancialTests(CommonTests):
     """Common test cases for financial entities."""