-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
2661 - Translation System - Crowdin integration (#4031)
* 2661 - Sort translation keys * 2661 - Add crowdin.yml * 2661 - Add translation workflows * 2661 - Add fra 2025 anchors file for Arabic
- Loading branch information
Showing
88 changed files
with
8,852 additions
and
8,779 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: New Crowdin translations PR | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
permissions: | ||
contents: write | ||
pull-requests: write | ||
|
||
jobs: | ||
crowdin: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Synchronize with Crowdin | ||
uses: crowdin/github-action@v2 | ||
with: | ||
upload_sources: false | ||
upload_translations: false | ||
download_translations: true | ||
# Export options | ||
export_only_approved: true | ||
|
||
localization_branch_name: i18n_crowdin_translations | ||
create_pull_request: true | ||
pull_request_title: "New Crowdin translations" | ||
pull_request_body: "New Crowdin pull request with translations" | ||
pull_request_base_branch_name: "development" | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} | ||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: Upload translation sources | ||
|
||
on: | ||
push: | ||
paths: ["src/i18n/resources/en/**/*.json", "!src/i18n/resources/en/panEuropean/**"] | ||
branches: [development] | ||
|
||
jobs: | ||
crowdin-upload-sources: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Crowdin push | ||
uses: crowdin/github-action@v2 | ||
with: | ||
upload_sources: true | ||
upload_translations: false | ||
download_translations: false | ||
env: | ||
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} | ||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
"project_id_env": "CROWDIN_PROJECT_ID" | ||
"api_token_env": "CROWDIN_PERSONAL_TOKEN" | ||
"base_path": "." | ||
"base_url": "https://api.crowdin.com" | ||
"preserve_hierarchy": true | ||
|
||
files: | ||
[ | ||
{ | ||
"source": "/src/i18n/resources/en/**/*.json", | ||
"translation": "/src/i18n/resources/%two_letters_code%/%original_file_name%", | ||
"ignore": ["/src/i18n/resources/en/panEuropean/**"], | ||
}, | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
{ | ||
"fra": { | ||
"2025": { | ||
"1a": "ا) 1", | ||
"1b": "ب) 1", | ||
"1c": "ج) 1", | ||
"1d": "د) 1", | ||
"1e": "ه) 1", | ||
"2a": "ا) 2", | ||
"2b": "ب) 2", | ||
"2c": "ج) 2", | ||
"2d": "د) 2", | ||
"3a": "ا) 3", | ||
"3b": "ب) 3", | ||
"3c": "ج) 3", | ||
"4a": "ا) 4", | ||
"4b": "ب) 4", | ||
"5a": "ا) 5", | ||
"5b": "ب) 5", | ||
"5c": "ج) 5", | ||
"6a": "ا) 6", | ||
"6b": "ب) 6" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
{ | ||
"odpUpdatedAfterEstimatingThisCell": "تم تحديث نقطة البيانات الأصلية بعد استخدام التقديرات لهذة الخلية", | ||
"dataTableHasErrors": "بيانات الجدول تحتوي على أخطاء. ", | ||
"hoverCellToSeeDetails": "يُرجى التمرير فوق الخلية الحمراء للاطلاع على التفاصيل." | ||
"hoverCellToSeeDetails": "يُرجى التمرير فوق الخلية الحمراء للاطلاع على التفاصيل.", | ||
"odpUpdatedAfterEstimatingThisCell": "تم تحديث نقطة البيانات الأصلية بعد استخدام التقديرات لهذة الخلية" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,77 +1,77 @@ | ||
{ | ||
"//": "المفاتيح هي بنفس صيغة حقول قاعدة البيانات ", | ||
"disturbances": { | ||
"diseases": "$t(disturbances.diseases)", | ||
"insects": "$t(disturbances.insects)", | ||
"other": "$t(disturbances.other)", | ||
"severe_weather_events": "$t(disturbances.severeWeatherEvents)", | ||
"title": "الاضطرابات" | ||
}, | ||
"extent": { | ||
"bamboo": "$t(specificForestCategories.bamboo)", | ||
"mangroves": "$t(specificForestCategories.mangroves)", | ||
"title": "مَدًى", | ||
"certified_area": "مساحة الغابات المعتمدة (١٠٠٠ هكتار)", | ||
"forest_area": "الغابة (١٠٠٠ هكتار)", | ||
"management_plan_percent": "مساحة الغابات مع خطط الإدارة (٪ من الغابات)", | ||
"mangroves": "$t(specificForestCategories.mangroves)", | ||
"other_wooded_land": "أراضي حرجية أخرى (١٠٠٠ هكتار)", | ||
"primary_forest_percent": "غابة أولية (٪ من الغابات)", | ||
"protected_forest_percent": "الغابات في المناطق المحمية (٪ من الغابات)", | ||
"management_plan_percent": "مساحة الغابات مع خطط الإدارة (٪ من الغابات)", | ||
"certified_area": "مساحة الغابات المعتمدة (١٠٠٠ هكتار)" | ||
}, | ||
"periodicChangeRate": { | ||
"title": "معدلات التغيير الدوري (المعدلات السنوية)", | ||
"forest_area_annual_net_change": "صافي التغير السنوي لمساحة الغابات (١٠٠٠ هكتار)", | ||
"forest_area_annual_net_change_rate": "معدل التغير الصافي السنوي لمساحة الغابات (٪)", | ||
"other_wooded_land_annual_net_change": "صافي التغير السنوي لمساحة الأراضي الحرجية الأخرى (١٠٠٠ هكتار)", | ||
"other_wooded_land_annual_net_change_rate": "معدل التغير الصافي السنوي لمنطقة الأراضي الحرجية الأخرى (٪)", | ||
"primary_forest_annual_net_change": "صافي التغير السنوي للغابات الأولية (١٠٠٠ هكتار)", | ||
"primary_forest_annual_net_change_rate": "معدل التغير في مساحة الغابات الأولية (٪)", | ||
"natural_forest_area_annual_net_change": "التجديد الصافي السنوي لالغابات المجددة طبيعياً", | ||
"natural_forest_area_annual_net_change_rate": "معدل التغير لالغابات المجددة طبيعياً (٪)", | ||
"planted_forest_annual_net_change": "صافي التغير السنوي للغابات المزروعة", | ||
"planted_forest_annual_net_change_rate": "معدل تغير الغابات المزروعة (٪)" | ||
"title": "مَدًى" | ||
}, | ||
"forestGrowingStockBiomassCarbon": { | ||
"title": "مخزون الغابات المتزايد والكتلة الحيوية والكربون", | ||
"forest": "مخزون الأشجار الحيّة (متر مكعب / هكتار)", | ||
"forest_above_ground": "الكتلة الحيوية فوق الأرض (طن / هكتار)", | ||
"forest_below_ground": "الكتلة الحيوية تحت الأرض (طن / هكتار)", | ||
"forest_deadwood": "الحطب الميّت (طن / هكتار)", | ||
"above_ground_biomass_growing_stock_ratio": "نسبة (الكتلة الحيوية فوق الأرض) / مخزون النمو (طن / متر مكعب)", | ||
"carbon_biomass_above_ground_ratio": "النسبة (الكربون / الكتلة الحيوية) للكتلة الحيوية فوق الأرض", | ||
"carbon_biomass_below_ground_ratio": "النسبة (الكربون / الكتلة الحيوية) للكتلة الحيوية تحت الأرض", | ||
"carbon_biomass_deadwood_ratio": "النسبة (الحطب الميّت / الكتلة الحيوية الحية)", | ||
"carbon_forest_above_ground": "الكربون في الكتلة الحيوية فوق الأرض (طن / هكتار)", | ||
"carbon_forest_below_ground": "الكربون في الكتلة الحيوية تحت الأرض (طن / هكتار)", | ||
"carbon_forest_deadwood": "الكربون في الخشب الميت (طن / هكتار)", | ||
"carbon_forest_litter": "الكربون في بقايا النبات (طن / هكتار)", | ||
"carbon_forest_soil": "الكربون في التربة (طن / هكتار)", | ||
"above_ground_biomass_growing_stock_ratio": "نسبة (الكتلة الحيوية فوق الأرض) / مخزون النمو (طن / متر مكعب)", | ||
"dead_living_mass_ratio": "نسبة (الكربون / الكتلة الحيوية) الحطب الميّت", | ||
"forest": "مخزون الأشجار الحيّة (متر مكعب / هكتار)", | ||
"forest_above_ground": "الكتلة الحيوية فوق الأرض (طن / هكتار)", | ||
"forest_below_ground": "الكتلة الحيوية تحت الأرض (طن / هكتار)", | ||
"forest_deadwood": "الحطب الميّت (طن / هكتار)", | ||
"root_shoot_ratio": "معدل وزن الجزء الجذري إلى الجزء الخضري", | ||
"carbon_biomass_deadwood_ratio": "النسبة (الحطب الميّت / الكتلة الحيوية الحية)", | ||
"carbon_biomass_above_ground_ratio": "النسبة (الكربون / الكتلة الحيوية) للكتلة الحيوية فوق الأرض", | ||
"carbon_biomass_below_ground_ratio": "النسبة (الكربون / الكتلة الحيوية) للكتلة الحيوية تحت الأرض", | ||
"dead_living_mass_ratio": "نسبة (الكربون / الكتلة الحيوية) الحطب الميّت" | ||
"title": "مخزون الغابات المتزايد والكتلة الحيوية والكربون" | ||
}, | ||
"primaryDesignatedManagementObjective": { | ||
"title": "الهدف الرئيسى المحدد للإدارة", | ||
"production": "$t(designatedManagementObjective.production)", | ||
"protection_of_soil_and_water": "$t(designatedManagementObjective.soilWaterProtection)", | ||
"conservation_of_biodiversity": "$t(designatedManagementObjective.biodiversityConservation)", | ||
"social_services": "$t(designatedManagementObjective.socialServices)", | ||
"multiple_use": "$t(designatedManagementObjective.multipleUse)", | ||
"other": "$t(designatedManagementObjective.other)", | ||
"no_unknown": "$t(designatedManagementObjective.unknown)" | ||
}, | ||
"totalAreaDesignatedManagementObjective": "إجمالي المساحة الخاضعة لهدف إدارة محدد", | ||
"forestOwnership": { | ||
"title": "الملكية", | ||
"other_or_unknown": "$t(forestOwnership.otherOrUnknown)", | ||
"private_ownership": "$t(forestOwnership.privateOwnership)", | ||
"public_ownership": "$t(forestOwnership.publicOwnership)", | ||
"other_or_unknown": "$t(forestOwnership.otherOrUnknown)" | ||
"title": "الملكية" | ||
}, | ||
"holderOfManagementRights": { | ||
"title": "حقوق إدارة الغابات العامة", | ||
"public_administration": "$t(holderOfManagementRights.publicAdministration)", | ||
"communities": "$t(holderOfManagementRights.communities)", | ||
"individuals": "$t(holderOfManagementRights.individuals)", | ||
"other": "$t(holderOfManagementRights.other)", | ||
"private_businesses": "$t(holderOfManagementRights.privateBusinesses)", | ||
"communities": "$t(holderOfManagementRights.communities)", | ||
"other": "$t(holderOfManagementRights.other)" | ||
"public_administration": "$t(holderOfManagementRights.publicAdministration)", | ||
"title": "حقوق إدارة الغابات العامة" | ||
}, | ||
"disturbances": { | ||
"title": "الاضطرابات", | ||
"insects": "$t(disturbances.insects)", | ||
"diseases": "$t(disturbances.diseases)", | ||
"severe_weather_events": "$t(disturbances.severeWeatherEvents)", | ||
"other": "$t(disturbances.other)" | ||
} | ||
"periodicChangeRate": { | ||
"forest_area_annual_net_change": "صافي التغير السنوي لمساحة الغابات (١٠٠٠ هكتار)", | ||
"forest_area_annual_net_change_rate": "معدل التغير الصافي السنوي لمساحة الغابات (٪)", | ||
"natural_forest_area_annual_net_change": "التجديد الصافي السنوي لالغابات المجددة طبيعياً", | ||
"natural_forest_area_annual_net_change_rate": "معدل التغير لالغابات المجددة طبيعياً (٪)", | ||
"other_wooded_land_annual_net_change": "صافي التغير السنوي لمساحة الأراضي الحرجية الأخرى (١٠٠٠ هكتار)", | ||
"other_wooded_land_annual_net_change_rate": "معدل التغير الصافي السنوي لمنطقة الأراضي الحرجية الأخرى (٪)", | ||
"planted_forest_annual_net_change": "صافي التغير السنوي للغابات المزروعة", | ||
"planted_forest_annual_net_change_rate": "معدل تغير الغابات المزروعة (٪)", | ||
"primary_forest_annual_net_change": "صافي التغير السنوي للغابات الأولية (١٠٠٠ هكتار)", | ||
"primary_forest_annual_net_change_rate": "معدل التغير في مساحة الغابات الأولية (٪)", | ||
"title": "معدلات التغيير الدوري (المعدلات السنوية)" | ||
}, | ||
"primaryDesignatedManagementObjective": { | ||
"conservation_of_biodiversity": "$t(designatedManagementObjective.biodiversityConservation)", | ||
"multiple_use": "$t(designatedManagementObjective.multipleUse)", | ||
"no_unknown": "$t(designatedManagementObjective.unknown)", | ||
"other": "$t(designatedManagementObjective.other)", | ||
"production": "$t(designatedManagementObjective.production)", | ||
"protection_of_soil_and_water": "$t(designatedManagementObjective.soilWaterProtection)", | ||
"social_services": "$t(designatedManagementObjective.socialServices)", | ||
"title": "الهدف الرئيسى المحدد للإدارة" | ||
}, | ||
"totalAreaDesignatedManagementObjective": "إجمالي المساحة الخاضعة لهدف إدارة محدد" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,14 @@ | ||
{ | ||
"referenceToTataSource": "مرجع مصدر البيانات", | ||
"typeOfDataSource": "نوع مصدر البيانات", | ||
"fraVariable": "متغير (فرا)", | ||
"variable": "المتغير", | ||
"yearForDataSource": "سنة مصدر البيانات", | ||
"comments": "التعليقات", | ||
"fraVariable": "متغير (فرا)", | ||
"nationalForestInventory": "الجرد الوطني للغابات (NFI)", | ||
"referenceToTataSource": "مرجع مصدر البيانات", | ||
"registersAndStatistics": "السجلات والإحصاءات", | ||
"remoteSensingBasedAssessmentWithGroundTruthing": "التقييم القائم على الاستشعار عن بعد مع التحقيق السطحي", | ||
"statisticalRemoteSensingSurveyWithAccuracyAssessment": "المسح الإحصائي بالاستشعار عن بعد مع تقييم الدقة", | ||
"remoteSensingBasedAssessmentWithoutGroundTruthing": "التقييم القائم على الاستشعار عن بعد دون التحقيق السطحي", | ||
"statisticalRemoteSensingSurveyWithAccuracyAssessment": "المسح الإحصائي بالاستشعار عن بعد مع تقييم الدقة", | ||
"typeOfDataSource": "نوع مصدر البيانات", | ||
"variable": "المتغير", | ||
"vegetationMapping": "رسم خرائط الغطاء النباتي", | ||
"registersAndStatistics": "السجلات والإحصاءات" | ||
"yearForDataSource": "سنة مصدر البيانات" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
{ | ||
"invitationAccepted": { | ||
"htmlMessage": "{{recipientSurname}} {{recipientName}} عزيزتي عزيزي /\n<br/><br/>\n<b><a href=\"{{- manageCollaboratorsUrl}}\">{{country}}</a></b> في {{role}} ك {{cycleName}} {{assessmentName}} لقد تم قبول الدعوة المقدمة من جانبكم {{invitedUserSurname}} {{invitedUserName}} المستخدم\n<br/><br/>\nفريق التقييم العالمي للموارد الحرجيه", | ||
"subject": "لقد تم قبول الدعوة المقدمة من جانبكم {{invitedUserSurname}} {{invitedUserName}} المستخدم", | ||
"textMessage": "{{recipientSurname}} {{recipientName}} عزيزتي عزيزي /\n\n{{country}} في {{role}} ك {{cycleName}} {{assessmentName}} لقد تم قبول الدعوة المقدمة من جانبكم {{invitedUserSurname}} {{invitedUserName}} المستخدم\n{{- manageCollaboratorsUrl}}\n\nفريق التقييم العالمي للموارد الحرجيه", | ||
"htmlMessage": "{{recipientSurname}} {{recipientName}} عزيزتي عزيزي /\n<br/><br/>\n<b><a href=\"{{- manageCollaboratorsUrl}}\">{{country}}</a></b> في {{role}} ك {{cycleName}} {{assessmentName}} لقد تم قبول الدعوة المقدمة من جانبكم {{invitedUserSurname}} {{invitedUserName}} المستخدم\n<br/><br/>\nفريق التقييم العالمي للموارد الحرجيه" | ||
"textMessage": "{{recipientSurname}} {{recipientName}} عزيزتي عزيزي /\n\n{{country}} في {{role}} ك {{cycleName}} {{assessmentName}} لقد تم قبول الدعوة المقدمة من جانبكم {{invitedUserSurname}} {{invitedUserName}} المستخدم\n{{- manageCollaboratorsUrl}}\n\nفريق التقييم العالمي للموارد الحرجيه" | ||
} | ||
} |
Oops, something went wrong.