Skip to content

Commit 30c29a9

Browse files
committed
feat(l10n): add new localization strings
- Added labels and descriptions for: - Followed items limit - Saved headlines limit - Ad frequency - Ad placement interval - Articles before interstitial ads
1 parent 652990a commit 30c29a9

File tree

5 files changed

+287
-14
lines changed

5 files changed

+287
-14
lines changed

lib/l10n/app_localizations.dart

Lines changed: 77 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -716,11 +716,11 @@ abstract class AppLocalizations {
716716
/// **'Android Store URL'**
717717
String get androidStoreUrlLabel;
718718

719-
/// Description for Android Store URL
719+
/// Description for Android Update URL
720720
///
721721
/// In en, this message translates to:
722722
/// **'URL to the app on the Google Play Store.'**
723-
String get androidStoreUrlDescription;
723+
String get androidUpdateUrlDescription;
724724

725725
/// Label for Guest Days Between In-App Prompts
726726
///
@@ -1496,11 +1496,83 @@ abstract class AppLocalizations {
14961496
/// **'Android Update URL'**
14971497
String get androidUpdateUrlLabel;
14981498

1499-
/// Description for Android Update URL
1499+
/// Label for Followed Items Limit
15001500
///
15011501
/// In en, this message translates to:
1502-
/// **'URL for Android app updates.'**
1503-
String get androidUpdateUrlDescription;
1502+
/// **'Followed Items Limit'**
1503+
String get followedItemsLimitLabel;
1504+
1505+
/// Description for Followed Items Limit
1506+
///
1507+
/// In en, this message translates to:
1508+
/// **'Maximum number of countries, news sources, or categories this user role can follow (each type has its own limit).'**
1509+
String get followedItemsLimitDescription;
1510+
1511+
/// Label for Saved Headlines Limit
1512+
///
1513+
/// In en, this message translates to:
1514+
/// **'Saved Headlines Limit'**
1515+
String get savedHeadlinesLimitLabel;
1516+
1517+
/// Description for Saved Headlines Limit
1518+
///
1519+
/// In en, this message translates to:
1520+
/// **'Maximum number of headlines this user role can save.'**
1521+
String get savedHeadlinesLimitDescription;
1522+
1523+
/// Label for Ad Frequency
1524+
///
1525+
/// In en, this message translates to:
1526+
/// **'Ad Frequency'**
1527+
String get adFrequencyLabel;
1528+
1529+
/// Description for Ad Frequency
1530+
///
1531+
/// In en, this message translates to:
1532+
/// **'How often an ad can appear for this user role (e.g., a value of 5 means an ad could be placed after every 5 news items).'**
1533+
String get adFrequencyDescription;
1534+
1535+
/// Label for Ad Placement Interval
1536+
///
1537+
/// In en, this message translates to:
1538+
/// **'Ad Placement Interval'**
1539+
String get adPlacementIntervalLabel;
1540+
1541+
/// Description for Ad Placement Interval
1542+
///
1543+
/// In en, this message translates to:
1544+
/// **'Minimum number of news items that must be shown before the very first ad appears for this user role.'**
1545+
String get adPlacementIntervalDescription;
1546+
1547+
/// Label for Articles Before Interstitial Ads
1548+
///
1549+
/// In en, this message translates to:
1550+
/// **'Articles Before Interstitial Ads'**
1551+
String get articlesBeforeInterstitialAdsLabel;
1552+
1553+
/// Description for Articles Before Interstitial Ads
1554+
///
1555+
/// In en, this message translates to:
1556+
/// **'Number of articles this user role needs to read before a full-screen interstitial ad is shown.'**
1557+
String get articlesBeforeInterstitialAdsDescription;
1558+
1559+
/// Suffix for number of days in prompt descriptions
1560+
///
1561+
/// In en, this message translates to:
1562+
/// **'Days'**
1563+
String get daysSuffix;
1564+
1565+
/// Description for days between in-app prompts
1566+
///
1567+
/// In en, this message translates to:
1568+
/// **'Minimum number of days before showing the {actionType} prompt.'**
1569+
String daysBetweenPromptDescription(String actionType);
1570+
1571+
/// Text for the retry button
1572+
///
1573+
/// In en, this message translates to:
1574+
/// **'Retry'**
1575+
String get retryButtonText;
15041576
}
15051577

15061578
class _AppLocalizationsDelegate

lib/l10n/app_localizations_ar.dart

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -371,8 +371,7 @@ class AppLocalizationsAr extends AppLocalizations {
371371
String get androidStoreUrlLabel => 'رابط متجر Android';
372372

373373
@override
374-
String get androidStoreUrlDescription =>
375-
'رابط التطبيق على متجر Google Play Store.';
374+
String get androidUpdateUrlDescription => 'رابط تحديثات تطبيق Android.';
376375

377376
@override
378377
String get guestDaysBetweenInAppPromptsLabel =>
@@ -785,5 +784,49 @@ class AppLocalizationsAr extends AppLocalizations {
785784
String get androidUpdateUrlLabel => 'رابط تحديث Android';
786785

787786
@override
788-
String get androidUpdateUrlDescription => 'رابط تحديثات تطبيق Android.';
787+
String get followedItemsLimitLabel => 'حد العناصر المتابعة';
788+
789+
@override
790+
String get followedItemsLimitDescription =>
791+
'الحد الأقصى لعدد البلدان أو مصادر الأخبار أو المواضيع التي يمكن لهذا الدور المستخدم متابعتها (لكل نوع حد خاص به).';
792+
793+
@override
794+
String get savedHeadlinesLimitLabel => 'حد العناوين المحفوظة';
795+
796+
@override
797+
String get savedHeadlinesLimitDescription =>
798+
'الحد الأقصى لعدد العناوين الرئيسية التي يمكن لهذا الدور المستخدم حفظها.';
799+
800+
@override
801+
String get adFrequencyLabel => 'تكرار الإعلان';
802+
803+
@override
804+
String get adFrequencyDescription =>
805+
'عدد مرات ظهور الإعلان لهذا الدور المستخدم (على سبيل المثال، قيمة 5 تعني أنه يمكن وضع إعلان بعد كل 5 عناصر إخبارية).';
806+
807+
@override
808+
String get adPlacementIntervalLabel => 'فترة وضع الإعلان';
809+
810+
@override
811+
String get adPlacementIntervalDescription =>
812+
'الحد الأدنى لعدد عناصر الأخبار التي يجب عرضها قبل ظهور الإعلان الأول لهذا الدور المستخدم.';
813+
814+
@override
815+
String get articlesBeforeInterstitialAdsLabel =>
816+
'مقالات قبل الإعلانات البينية';
817+
818+
@override
819+
String get articlesBeforeInterstitialAdsDescription =>
820+
'عدد المقالات التي يحتاج هذا الدور المستخدم لقراءتها قبل عرض إعلان بيني بملء الشاشة.';
821+
822+
@override
823+
String get daysSuffix => 'أيام';
824+
825+
@override
826+
String daysBetweenPromptDescription(String actionType) {
827+
return 'الحد الأدنى لعدد الأيام قبل عرض تنبيه $actionType.';
828+
}
829+
830+
@override
831+
String get retryButtonText => 'إعادة المحاولة';
789832
}

lib/l10n/app_localizations_en.dart

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ class AppLocalizationsEn extends AppLocalizations {
368368
String get androidStoreUrlLabel => 'Android Store URL';
369369

370370
@override
371-
String get androidStoreUrlDescription =>
371+
String get androidUpdateUrlDescription =>
372372
'URL to the app on the Google Play Store.';
373373

374374
@override
@@ -783,5 +783,49 @@ class AppLocalizationsEn extends AppLocalizations {
783783
String get androidUpdateUrlLabel => 'Android Update URL';
784784

785785
@override
786-
String get androidUpdateUrlDescription => 'URL for Android app updates.';
786+
String get followedItemsLimitLabel => 'Followed Items Limit';
787+
788+
@override
789+
String get followedItemsLimitDescription =>
790+
'Maximum number of countries, news sources, or categories this user role can follow (each type has its own limit).';
791+
792+
@override
793+
String get savedHeadlinesLimitLabel => 'Saved Headlines Limit';
794+
795+
@override
796+
String get savedHeadlinesLimitDescription =>
797+
'Maximum number of headlines this user role can save.';
798+
799+
@override
800+
String get adFrequencyLabel => 'Ad Frequency';
801+
802+
@override
803+
String get adFrequencyDescription =>
804+
'How often an ad can appear for this user role (e.g., a value of 5 means an ad could be placed after every 5 news items).';
805+
806+
@override
807+
String get adPlacementIntervalLabel => 'Ad Placement Interval';
808+
809+
@override
810+
String get adPlacementIntervalDescription =>
811+
'Minimum number of news items that must be shown before the very first ad appears for this user role.';
812+
813+
@override
814+
String get articlesBeforeInterstitialAdsLabel =>
815+
'Articles Before Interstitial Ads';
816+
817+
@override
818+
String get articlesBeforeInterstitialAdsDescription =>
819+
'Number of articles this user role needs to read before a full-screen interstitial ad is shown.';
820+
821+
@override
822+
String get daysSuffix => 'Days';
823+
824+
@override
825+
String daysBetweenPromptDescription(String actionType) {
826+
return 'Minimum number of days before showing the $actionType prompt.';
827+
}
828+
829+
@override
830+
String get retryButtonText => 'Retry';
787831
}

lib/l10n/arb/app_ar.arb

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -961,5 +961,62 @@
961961
"androidUpdateUrlDescription": "رابط تحديثات تطبيق Android.",
962962
"@androidUpdateUrlDescription": {
963963
"description": "وصف رابط تحديث Android"
964+
},
965+
"followedItemsLimitLabel": "حد العناصر المتابعة",
966+
"@followedItemsLimitLabel": {
967+
"description": "تسمية حد العناصر المتابعة"
968+
},
969+
"followedItemsLimitDescription": "الحد الأقصى لعدد البلدان أو مصادر الأخبار أو المواضيع التي يمكن لهذا الدور المستخدم متابعتها (لكل نوع حد خاص به).",
970+
"@followedItemsLimitDescription": {
971+
"description": "وصف حد العناصر المتابعة"
972+
},
973+
"savedHeadlinesLimitLabel": "حد العناوين المحفوظة",
974+
"@savedHeadlinesLimitLabel": {
975+
"description": "تسمية حد العناوين المحفوظة"
976+
},
977+
"savedHeadlinesLimitDescription": "الحد الأقصى لعدد العناوين الرئيسية التي يمكن لهذا الدور المستخدم حفظها.",
978+
"@savedHeadlinesLimitDescription": {
979+
"description": "وصف حد العناوين المحفوظة"
980+
},
981+
"adFrequencyLabel": "تكرار الإعلان",
982+
"@adFrequencyLabel": {
983+
"description": "تسمية تكرار الإعلان"
984+
},
985+
"adFrequencyDescription": "عدد مرات ظهور الإعلان لهذا الدور المستخدم (على سبيل المثال، قيمة 5 تعني أنه يمكن وضع إعلان بعد كل 5 عناصر إخبارية).",
986+
"@adFrequencyDescription": {
987+
"description": "وصف تكرار الإعلان"
988+
},
989+
"adPlacementIntervalLabel": "فترة وضع الإعلان",
990+
"@adPlacementIntervalLabel": {
991+
"description": "تسمية فترة وضع الإعلان"
992+
},
993+
"adPlacementIntervalDescription": "الحد الأدنى لعدد عناصر الأخبار التي يجب عرضها قبل ظهور الإعلان الأول لهذا الدور المستخدم.",
994+
"@adPlacementIntervalDescription": {
995+
"description": "وصف فترة وضع الإعلان"
996+
},
997+
"articlesBeforeInterstitialAdsLabel": "مقالات قبل الإعلانات البينية",
998+
"@articlesBeforeInterstitialAdsLabel": {
999+
"description": "تسمية مقالات قبل الإعلانات البينية"
1000+
},
1001+
"articlesBeforeInterstitialAdsDescription": "عدد المقالات التي يحتاج هذا الدور المستخدم لقراءتها قبل عرض إعلان بيني بملء الشاشة.",
1002+
"@articlesBeforeInterstitialAdsDescription": {
1003+
"description": "وصف مقالات قبل الإعلانات البينية"
1004+
},
1005+
"daysSuffix": "أيام",
1006+
"@daysSuffix": {
1007+
"description": "لاحقة لعدد الأيام في أوصاف التنبيهات"
1008+
},
1009+
"daysBetweenPromptDescription": "الحد الأدنى لعدد الأيام قبل عرض تنبيه {actionType}.",
1010+
"@daysBetweenPromptDescription": {
1011+
"description": "وصف الأيام بين التنبيهات داخل التطبيق",
1012+
"placeholders": {
1013+
"actionType": {
1014+
"type": "String"
1015+
}
1016+
}
1017+
},
1018+
"retryButtonText": "إعادة المحاولة",
1019+
"@retryButtonText": {
1020+
"description": "نص زر إعادة المحاولة"
9641021
}
9651022
}

lib/l10n/arb/app_en.arb

Lines changed: 61 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -426,9 +426,9 @@
426426
"@androidStoreUrlLabel": {
427427
"description": "Label for Android Store URL"
428428
},
429-
"androidStoreUrlDescription": "URL to the app on the Google Play Store.",
430-
"@androidStoreUrlDescription": {
431-
"description": "Description for Android Store URL"
429+
"androidUpdateUrlDescription": "URL to the app on the Google Play Store.",
430+
"@androidUpdateUrlDescription": {
431+
"description": "Description for Android Update URL"
432432
},
433433
"guestDaysBetweenInAppPromptsLabel": "Guest Days Between In-App Prompts",
434434
"@guestDaysBetweenInAppPromptsLabel": {
@@ -958,8 +958,65 @@
958958
"@androidUpdateUrlLabel": {
959959
"description": "Label for Android Update URL"
960960
},
961-
"androidUpdateUrlDescription": "URL for Android app updates.",
961+
"androidUpdateUrlDescription": "URL to the app on the Google Play Store.",
962962
"@androidUpdateUrlDescription": {
963963
"description": "Description for Android Update URL"
964+
},
965+
"followedItemsLimitLabel": "Followed Items Limit",
966+
"@followedItemsLimitLabel": {
967+
"description": "Label for Followed Items Limit"
968+
},
969+
"followedItemsLimitDescription": "Maximum number of countries, news sources, or categories this user role can follow (each type has its own limit).",
970+
"@followedItemsLimitDescription": {
971+
"description": "Description for Followed Items Limit"
972+
},
973+
"savedHeadlinesLimitLabel": "Saved Headlines Limit",
974+
"@savedHeadlinesLimitLabel": {
975+
"description": "Label for Saved Headlines Limit"
976+
},
977+
"savedHeadlinesLimitDescription": "Maximum number of headlines this user role can save.",
978+
"@savedHeadlinesLimitDescription": {
979+
"description": "Description for Saved Headlines Limit"
980+
},
981+
"adFrequencyLabel": "Ad Frequency",
982+
"@adFrequencyLabel": {
983+
"description": "Label for Ad Frequency"
984+
},
985+
"adFrequencyDescription": "How often an ad can appear for this user role (e.g., a value of 5 means an ad could be placed after every 5 news items).",
986+
"@adFrequencyDescription": {
987+
"description": "Description for Ad Frequency"
988+
},
989+
"adPlacementIntervalLabel": "Ad Placement Interval",
990+
"@adPlacementIntervalLabel": {
991+
"description": "Label for Ad Placement Interval"
992+
},
993+
"adPlacementIntervalDescription": "Minimum number of news items that must be shown before the very first ad appears for this user role.",
994+
"@adPlacementIntervalDescription": {
995+
"description": "Description for Ad Placement Interval"
996+
},
997+
"articlesBeforeInterstitialAdsLabel": "Articles Before Interstitial Ads",
998+
"@articlesBeforeInterstitialAdsLabel": {
999+
"description": "Label for Articles Before Interstitial Ads"
1000+
},
1001+
"articlesBeforeInterstitialAdsDescription": "Number of articles this user role needs to read before a full-screen interstitial ad is shown.",
1002+
"@articlesBeforeInterstitialAdsDescription": {
1003+
"description": "Description for Articles Before Interstitial Ads"
1004+
},
1005+
"daysSuffix": "Days",
1006+
"@daysSuffix": {
1007+
"description": "Suffix for number of days in prompt descriptions"
1008+
},
1009+
"daysBetweenPromptDescription": "Minimum number of days before showing the {actionType} prompt.",
1010+
"@daysBetweenPromptDescription": {
1011+
"description": "Description for days between in-app prompts",
1012+
"placeholders": {
1013+
"actionType": {
1014+
"type": "String"
1015+
}
1016+
}
1017+
},
1018+
"retryButtonText": "Retry",
1019+
"@retryButtonText": {
1020+
"description": "Text for the retry button"
9641021
}
9651022
}

0 commit comments

Comments
 (0)