Skip to content
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

2661 - Translation System - Crowdin integration #4031

Merged
Merged
Show file tree
Hide file tree
Changes from 3 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
34 changes: 34 additions & 0 deletions .github/workflows/translations-download-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: New Crowdin translations PR

on:
workflow_dispatch:
minotogna marked this conversation as resolved.
Show resolved Hide resolved

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 }}
23 changes: 23 additions & 0 deletions .github/workflows/translations-upload-workflow.yml
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 }}
14 changes: 14 additions & 0 deletions crowdin.yml
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/**"],
},
]
4 changes: 2 additions & 2 deletions src/i18n/resources/ar/assessmentSection.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"odpUpdatedAfterEstimatingThisCell": "تم تحديث نقطة البيانات الأصلية بعد استخدام التقديرات لهذة الخلية",
"dataTableHasErrors": "بيانات الجدول تحتوي على أخطاء. ",
"hoverCellToSeeDetails": "يُرجى التمرير فوق الخلية الحمراء للاطلاع على التفاصيل."
"hoverCellToSeeDetails": "يُرجى التمرير فوق الخلية الحمراء للاطلاع على التفاصيل.",
"odpUpdatedAfterEstimatingThisCell": "تم تحديث نقطة البيانات الأصلية بعد استخدام التقديرات لهذة الخلية"
}
4 changes: 2 additions & 2 deletions src/i18n/resources/ar/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,10 @@
"success": "تمت بنجاح",
"tier": "المستوى",
"tiers": {
"notSelected": "",
"high": "مرتفع",
"low": "منخفض",
"medium": "متوسط",
"low": "منخفض"
"notSelected": ""
},
"totalPercentage": "النسبة المئوية الإجمالية",
"trend": "اتجاه",
Expand Down
102 changes: 51 additions & 51 deletions src/i18n/resources/ar/contentCheck.json
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": "إجمالي المساحة الخاضعة لهدف إدارة محدد"
}
14 changes: 7 additions & 7 deletions src/i18n/resources/ar/dataSource.json
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": "سنة مصدر البيانات"
}
4 changes: 2 additions & 2 deletions src/i18n/resources/ar/email.json
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فريق التقييم العالمي للموارد الحرجيه"
}
}
Loading
Loading