Skip to content

feat: Support word order change, comma separation, Japanese for Excluding #604

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Sep 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion scripts/translation-progress.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ function getProgress(array $translations): array
"Week Streak",
"Longest Week Streak",
"Present",
"Excluding",
"Excluding {days}",
];

$translations_file = file(__DIR__ . "/../src/translations.php");
Expand Down
19 changes: 17 additions & 2 deletions src/card.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,21 @@ function translateDays(array $days, string $locale): array
return $translatedDays;
}

/**
* Get the excluding days text
*
* @param array<string> $excludedDays List of excluded days
* @param array<string,string> $localeTranslations Translations for the locale
* @param string $localeCode Locale code
* @return string Excluding days text
*/
function getExcludingDaysText($excludedDays, $localeTranslations, $localeCode)
{
$separator = $localeTranslations["comma_separator"] ?? ", ";
$daysCommaSeparated = implode($separator, translateDays($excludedDays, $localeCode));
return str_replace("{days}", $daysCommaSeparated, $localeTranslations["Excluding {days}"]);
}

/**
* Normalize a theme name
*
Expand Down Expand Up @@ -412,13 +427,13 @@ function generateCard(array $stats, array $params = null): string
// if days are excluded, add a note to the corner
$excludedDays = "";
if (!empty($stats["excludedDays"])) {
$daysCommaSeparated = implode(", ", translateDays($stats["excludedDays"], $localeCode));
$offset = $direction === "rtl" ? $cardWidth - 5 : 5;
$excludingDaysText = getExcludingDaysText($stats["excludedDays"], $localeTranslations, $localeCode);
$excludedDays = "<g style='isolation: isolate'>
<!-- Excluded Days -->
<g transform='translate({$offset},187)'>
<text stroke-width='0' text-anchor='right' fill='{$theme["excludeDaysLabel"]}' stroke='none' font-family='\"Segoe UI\", Ubuntu, sans-serif' font-weight='400' font-size='10px' font-style='normal' style='opacity: 0; animation: fadein 0.5s linear forwards 0.9s'>
* {$localeTranslations["Excluding"]} {$daysCommaSeparated}
* {$excludingDaysText}
</text>
</g>
</g>";
Expand Down
80 changes: 46 additions & 34 deletions src/translations.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
* ------------------------------
* To enable right-to-left language support, add `"rtl" => true` to the locale array (see "he" for an example).
*
* Comma Separator
* ---------------
* To change the comma separator in the enumeration of excluded days, add `"comma_separator" => ", "` to the locale array with the desired separator as the value.
*
* Aliases
* -------
* To add an alias for a locale, add the alias as a key to the locale array with the locale it should redirect to as the value.
Expand All @@ -37,7 +41,7 @@
"Week Streak" => "Week Streak",
"Longest Week Streak" => "Longest Week Streak",
"Present" => "Present",
"Excluding" => "Excluding",
"Excluding {days}" => "Excluding {days}",
],
// Locales below are sorted alphabetically
"am" => [
Expand All @@ -47,7 +51,7 @@
"Week Streak" => "የሳምንት ድግግሞሽ",
"Longest Week Streak" => "በጣም ረጅሙ የሳምንት ድግግሞሽ",
"Present" => "ያሁኑ",
"Excluding" => "ሳይጨምር",
"Excluding {days}" => "ሳይጨምር {days}",
],
"ar" => [
"rtl" => true,
Expand All @@ -57,7 +61,8 @@
"Week Streak" => "السلسلة المتتالية الأُسبوعية",
"Longest Week Streak" => "أُطول سلسلة متتالية أُسبوعية",
"Present" => "الحاضر",
"Excluding" => "باستثناء",
"Excluding {days}" => "باستثناء {days}",
"comma_separator" => "، ",
],
"bg" => [
"Total Contributions" => "Общ принос",
Expand All @@ -82,7 +87,7 @@
"Week Streak" => "Ratxa setmanal",
"Longest Week Streak" => "Ratxa setmanal més llarga",
"Present" => "Actual",
"Excluding" => "Excloent",
"Excluding {days}" => "Excloent {days}",
],
"ceb" => [
"Total Contributions" => "Kinatibuk-ang Kontribusyon",
Expand All @@ -91,7 +96,7 @@
"Week Streak" => "Sinemana nga Streak",
"Longest Week Streak" => "Pinakataas nga Semana nga Streak",
"Present" => "Karon",
"Excluding" => "Wala'y Labot",
"Excluding {days}" => "Wala'y Labot {days}",
],
"da" => [
"Total Contributions" => "Samlet antal bidrag",
Expand All @@ -100,7 +105,7 @@
"Week Streak" => "Ugentlige bidrag i træk",
"Longest Week Streak" => "Flest ugentlige bidrag i træk",
"Present" => "Nuværende",
"Excluding" => "Ekskluderer",
"Excluding {days}" => "Ekskluderer {days}",
],
"de" => [
"Total Contributions" => "Gesamte Beiträge",
Expand All @@ -109,7 +114,7 @@
"Week Streak" => "Wochenserie",
"Longest Week Streak" => "Längste Wochenserie",
"Present" => "Heute",
"Excluding" => "Ausgenommen",
"Excluding {days}" => "Ausgenommen {days}",
],
"el" => [
"Total Contributions" => "Συνολικές Συνεισφορές",
Expand All @@ -118,7 +123,7 @@
"Week Streak" => "Εβδομαδιαία Σειρά",
"Longest Week Streak" => "Μεγαλύτερη Εβδομαδιαία Σειρά",
"Present" => "Σήμερα",
"Excluding" => "Εξαιρούνται",
"Excluding {days}" => "Εξαιρούνται {days}",
],
"es" => [
"Total Contributions" => "Contribuciones Totales",
Expand All @@ -127,7 +132,7 @@
"Week Streak" => "Racha Semanal",
"Longest Week Streak" => "Racha Semanal Más Larga",
"Present" => "Presente",
"Excluding" => "Excluyendo",
"Excluding {days}" => "Excluyendo {days}",
],
"fa" => [
"rtl" => true,
Expand All @@ -137,6 +142,7 @@
"Week Streak" => "پی‌رفت هفته",
"Longest Week Streak" => "طولانی ترین پی‌رفت هفته",
"Present" => "اکنون",
"comma_separator" => "، ",
],
"fil" => [
"Total Contributions" => "Kabuuang Kontribusyon",
Expand All @@ -145,7 +151,7 @@
"Week Streak" => "Linggong Streak",
"Longest Week Streak" => "Pinakamahabang Linggong Streak",
"Present" => "Kasalukuyan",
"Excluding" => "Hindi Kasama",
"Excluding {days}" => "Hindi Kasama {days}",
],
"fr" => [
"Total Contributions" => "Contributions totales",
Expand All @@ -154,7 +160,7 @@
"Week Streak" => "Séquence de la semaine",
"Longest Week Streak" => "Plus longue séquence hebdomadaire",
"Present" => "Aujourd'hui",
"Excluding" => "À l'exclusion de",
"Excluding {days}" => "À l'exclusion de {days}",
],
"he" => [
"rtl" => true,
Expand All @@ -164,7 +170,7 @@
"Week Streak" => "רצף שבועי",
"Longest Week Streak" => "רצף שבועי הכי ארוך",
"Present" => "היום",
"Excluding" => "לא כולל",
"Excluding {days}" => "לא כולל {days}",
],
"hi" => [
"Total Contributions" => "कुल योगदान",
Expand All @@ -173,7 +179,7 @@
"Week Streak" => "सप्ताहिक योगदान",
"Longest Week Streak" => "दीर्घ साप्ताहिक योगदान",
"Present" => "आज तक",
"Excluding" => "के सिवा",
"Excluding {days}" => "के सिवा {days}",
],
"ht" => [
"Total Contributions" => "kontribisyon total",
Expand All @@ -190,7 +196,7 @@
"Week Streak" => "Heti sorozat",
"Longest Week Streak" => "Leghosszabb heti sorozat",
"Present" => "Jelen",
"Excluding" => "Kivéve",
"Excluding {days}" => "Kivéve {days}",
],
"hy" => [
"Total Contributions" => "Ընդհանուր\nներդրումը",
Expand All @@ -207,7 +213,7 @@
"Week Streak" => "Aksi Mingguan",
"Longest Week Streak" => "Aksi Mingguan Terpanjang",
"Present" => "Sekarang",
"Excluding" => "Tidak termasuk",
"Excluding {days}" => "Tidak termasuk {days}",
],
"it" => [
"Total Contributions" => "Contributi Totali",
Expand All @@ -216,7 +222,7 @@
"Week Streak" => "Serie Settimanale",
"Longest Week Streak" => "Serie Settimanale più Lunga",
"Present" => "Presente",
"Excluding" => "Escludendo",
"Excluding {days}" => "Escludendo {days}",
],
"ja" => [
"date_format" => "[Y.]n.j",
Expand All @@ -226,6 +232,8 @@
"Week Streak" => "週間ストリーク",
"Longest Week Streak" => "最長の週間ストリーク",
"Present" => "今",
"Excluding {days}" => "{days}を除く",
"comma_separator" => "・",
],
"kn" => [
"Total Contributions" => "ಒಟ್ಟು ಕೊಡುಗೆ",
Expand All @@ -234,7 +242,7 @@
"Week Streak" => "ವಾರದ ಸ್ಟ್ರೀಕ್",
"Longest Week Streak" => "ಅತ್ಯಧಿಕ ವಾರದ ಸ್ಟ್ರೀಕ್",
"Present" => "ಪ್ರಸ್ತುತ",
"Excluding" => "ಹೊರತುಪಡಿಸಿ",
"Excluding {days}" => "ಹೊರತುಪಡಿಸಿ {days}",
],
"ko" => [
"Total Contributions" => "총 기여 수",
Expand All @@ -243,7 +251,7 @@
"Week Streak" => "주간 기여 수",
"Longest Week Streak" => "최대 주간 기여 수",
"Present" => "현재",
"Excluding" => "제외된 날",
"Excluding {days}" => "제외된 날 {days}",
],
"mr" => [
"Total Contributions" => "एकूण योगदान",
Expand All @@ -260,7 +268,7 @@
"Week Streak" => "Tindakan Setiap Minggu",
"Longest Week Streak" => "Tindakan Setiap Minggu Terpanjang",
"Present" => "Sekarang",
"Excluding" => "Mengecualikan",
"Excluding {days}" => "Mengecualikan {days}",
],
"ne" => [
"Total Contributions" => "कुल योगदान",
Expand All @@ -269,7 +277,7 @@
"Week Streak" => "सप्ताहिक योगदान",
"Longest Week Streak" => "सबैभन्दा लामो साप्ताहिक योगदान",
"Present" => "आज सम्म",
"Excluding" => "बाहेक",
"Excluding {days}" => "बाहेक {days}",
],
"nl" => [
"Total Contributions" => "Totale Bijdrage",
Expand All @@ -278,7 +286,7 @@
"Week Streak" => "Week Serie",
"Longest Week Streak" => "Langste Week Serie",
"Present" => "Vandaag",
"Excluding" => "Exclusief",
"Excluding {days}" => "Exclusief {days}",
],
"pl" => [
"Total Contributions" => "Suma Kontrybucji",
Expand All @@ -296,6 +304,7 @@
"Week Streak" => "د اونۍ پرمختګ",
"Longest Week Streak" => "د اونۍ تر ټولو اوږد پرمختګ",
"Present" => "اوس",
"comma_separator" => "، ",
],
"pt_BR" => [
"Total Contributions" => "Total de Contribuições",
Expand All @@ -304,7 +313,7 @@
"Week Streak" => "Sequência Semanal",
"Longest Week Streak" => "Maior Sequência Semanal",
"Present" => "Presente",
"Excluding" => "Exceto",
"Excluding {days}" => "Exceto {days}",
],
"ru" => [
"Total Contributions" => "Общий вклад",
Expand All @@ -313,7 +322,7 @@
"Week Streak" => "Текущая серия недель",
"Longest Week Streak" => "Самая длинная серия недель",
"Present" => "Сейчас",
"Excluding" => "Не включая",
"Excluding {days}" => "Не включая {days}",
],
"rw" => [
"Total Contributions" => "Imisanzu yose",
Expand All @@ -330,7 +339,7 @@
"Week Streak" => "निरन्तरसप्ताहाः",
"Longest Week Streak" => "दीर्घतमाः निरन्तरसप्ताहाः",
"Present" => "वर्तमान",
"Excluding" => "बहिष्करणम्",
"Excluding {days}" => "बहिष्करणम् {days}",
],
"sr" => [
"Total Contributions" => "Укупно додавања",
Expand All @@ -339,7 +348,7 @@
"Week Streak" => "Недељна серија",
"Longest Week Streak" => "Најдужа недељена серија",
"Present" => "Данас",
"Excluding" => "Искључујући",
"Excluding {days}" => "Искључујући {days}",
],
"su" => [
"Total Contributions" => "Total Kontribusi",
Expand All @@ -348,7 +357,7 @@
"Week Streak" => "Aksi Unggal Minggon",
"Longest Week Streak" => "Aksi Unggal Minggon Pangpanjangna",
"Present" => "Ayeuna",
"Excluding" => "Teu Kaasup",
"Excluding {days}" => "Teu Kaasup {days}",
],
"sv" => [
"Total Contributions" => "Totalt antal uppladningar",
Expand Down Expand Up @@ -381,7 +390,7 @@
"Week Streak" => "สตรีคประจำสัปดาห์",
"Longest Week Streak" => "สตรีคประจำสัปดาห์\nที่ยาวนานที่สุด",
"Present" => "ปัจจุบัน",
"Excluding" => "ยกเว้น",
"Excluding {days}" => "ยกเว้น {days}",
],
"tr" => [
"Total Contributions" => "Toplam Katkı",
Expand All @@ -390,7 +399,7 @@
"Week Streak" => "Haftalık Seri",
"Longest Week Streak" => "En Uzun Haftalık Seri",
"Present" => "Şu an",
"Excluding" => "Hariç",
"Excluding {days}" => "Hariç {days}",
],
"uk" => [
"Total Contributions" => "Загальний вклад",
Expand All @@ -399,7 +408,7 @@
"Week Streak" => "Діяльність за тиждень",
"Longest Week Streak" => "Найбільша к-сть тижнів",
"Present" => "Наразі",
"Excluding" => "Виключаючи",
"Excluding {days}" => "Виключаючи {days}",
],
"ur_PK" => [
"rtl" => true,
Expand All @@ -409,7 +418,8 @@
"Week Streak" => "ہفتہ وار تسلسل",
"Longest Week Streak" => "طویل ترین ہفتہ وار تسلسل",
"Present" => "حاظر",
"Excluding" => "خارج",
"Excluding {days}" => "خارج {days}",
"comma_separator" => "، ",
],
"vi" => [
"Total Contributions" => "Tổng số đóng góp",
Expand All @@ -418,7 +428,7 @@
"Week Streak" => "Chuỗi tuần",
"Longest Week Streak" => "Chuỗi tuần lớn nhất",
"Present" => "Hiện tại",
"Excluding" => "Ngoại trừ",
"Excluding {days}" => "Ngoại trừ {days}",
],
"yo" => [
"Total Contributions" => "Lapapọ ilowosi",
Expand All @@ -427,7 +437,7 @@
"Week Streak" => "ṣiṣan ọsẹ",
"Longest Week Streak" => "gunjulo ọsẹ ṣiṣan",
"Present" => "lọwọlọwọ",
"Excluding" => "Yato si",
"Excluding {days}" => "Yato si {days}",
],
"zh" => "zh_Hans",
"zh_Hans" => [
Expand All @@ -437,7 +447,8 @@
"Week Streak" => "周连续贡献",
"Longest Week Streak" => "最长周连续贡献",
"Present" => "至今",
"Excluding" => "除外",
"Excluding {days}" => "除外 {days}",
"comma_separator" => "、",
],
"zh_Hant" => [
"Total Contributions" => "合計貢獻",
Expand All @@ -446,6 +457,7 @@
"Week Streak" => "周連續貢獻",
"Longest Week Streak" => "最常周連續貢獻",
"Present" => "至今",
"Excluding" => "除外",
"Excluding {days}" => "除外 {days}",
"comma_separator" => "、",
],
];
Loading
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy