Skip to content
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
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

Public website for [OpenSyria](https://opensyria.org), a public data commons for reliable Syrian datasets, API access, and civic intelligence.

The website is intentionally small: a localized landing page, dataset catalog and detail pages, FAQ content, SEO metadata, breadcrumb navigation and structured data, social images, contributor attribution, theme and language controls, and links into the public API documentation and GitHub organization.
The website is intentionally focused: a localized landing page, dataset catalog and detail pages, a developer API guide, FAQ content, SEO metadata, breadcrumb navigation and structured data, social images, contributor attribution, theme and language controls, and links into the public API documentation and GitHub organization.

## Public URLs

Expand All @@ -18,6 +18,7 @@ The website is intentionally small: a localized landing page, dataset catalog an
| <https://opensyria.org/datasets/universities> | Universities dataset page |
| <https://opensyria.org/datasets/transport> | Transport dataset page |
| <https://opensyria.org/datasets/telecom> | Telecom dataset page |
| <https://opensyria.org/api> | Syrian data API guide for developers |
| <https://api.opensyria.org/docs> | API documentation |
| <https://github.com/Open-Syria> | GitHub organization |

Expand All @@ -27,6 +28,9 @@ The site publishes public, read-only discovery metadata for agents:

- `/llms.txt` and `/index.md` describe the project and link to the main public resources.
- `/auth.md` explains that public website and dataset API access does not require registration, OAuth, API keys, or credentials.
- These machine-readable discovery documents use `X-Robots-Tag: noindex, follow`
so search engines can follow their links without treating them as duplicate
landing pages.
- `/.well-known/api-catalog` links to the public API documentation, OpenAPI
description, health endpoint, and the shared geography, universities,
transport, and telecom discovery list.
Expand Down Expand Up @@ -117,6 +121,8 @@ values. The host-side Infisical `/website` export mirrors those values plus
The site supports English and Arabic.

- English is the default locale and renders at `/`.
- Explicit `/en` URLs permanently redirect to the equivalent canonical,
unprefixed English URL.
- Arabic renders at `/ar`.
- Locale prefixes use next-intl `as-needed` routing.
- The HTML `dir` attribute and Base UI `DirectionProvider` are both driven from `src/i18n/routing.ts`.
Expand Down
65 changes: 59 additions & 6 deletions messages/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"contributionCount": "{count, plural, one {مساهمة واحدة} two {مساهمتان} few {# مساهمات} many {# مساهمة} other {# مساهمة}}",
"contributors": "من يطوّرون المشروع",
"datasets": "استكشف البيانات",
"docs": "التوثيق",
"docs": "استخدم API",
"eyebrow": "بيانات سورية مفتوحة",
"github": "GitHub",
"githubWithStars": "{count} نجوم",
Expand All @@ -16,7 +16,7 @@
"switchThemeLight": "فعّل الوضع الفاتح"
},
"Navigation": {
"apiDocs": "توثيق API",
"apiDocs": "واجهة API للمطورين",
"datasets": "البيانات",
"primary": "التنقل الرئيسي",
"skipToContent": "تخطَّ إلى المحتوى الرئيسي"
Expand All @@ -38,7 +38,7 @@
"repositoriesTitle": "المستودعات"
},
"HomeDatasets": {
"description": "حمّل بيانات سورية موثقة للمدن والمحافظات والجامعات والنقل والخرائط والبحث والصحافة والأدوات المدنية وبيانات مرجعية قابلة لإعادة الاستخدام.",
"description": "حمّل بيانات سورية موثقة للمدن والمحافظات والجامعات والنقل والاتصالات والخرائط والبحث والصحافة والأدوات المدنية وبيانات مرجعية قابلة لإعادة الاستخدام.",
"eyebrow": "مجموعات البيانات الحالية",
"openDataset": "افتح المجموعة",
"records": "السجلات",
Expand All @@ -50,7 +50,7 @@
"eyebrow": "أسئلة شائعة",
"items": {
"apiAccess": {
"answer": "نعم. توفر واجهة البيانات القراءة فقط فهرس المجموعات وبيانات الإصدارات ومسارات الجغرافيا والجامعات والنقل ونسب المصادر وتوثيق OpenAPI.",
"answer": "نعم. توفر واجهة البيانات للقراءة فقط فهرس المجموعات وبيانات الإصدارات ومسارات الجغرافيا والجامعات والنقل والاتصالات ونسب المصادر وتوثيق OpenAPI.",
"question": "هل يمكنني استخدام API بدل تنزيل الملفات؟"
},
"availableDatasets": {
Expand All @@ -76,23 +76,76 @@
},
"title": "ما الذي تحتاج إلى معرفته قبل استخدام OpenSyria؟"
},
"Api": {
"access": "الوصول",
"allEndpointsShown": "كل المسارات المتاحة ظاهرة",
"apiSummary": "الواجهة باختصار",
"baseUrl": "العنوان الأساسي",
"browseDatasets": "تصفح البيانات",
"coverageDescription": "استعلم عن مجموعات البيانات العامة الموثقة والمُرقّمة بالإصدارات نفسها المعروضة في فهرس OpenSyria. يرتبط كل مجال بصفحة عربية تشرح النطاق والتنزيلات والمصادر والحدود المعروفة.",
"coverageEyebrow": "مجالات البيانات المتاحة",
"coverageTitle": "واجهة واحدة لمجموعات بيانات OpenSyria المنشورة",
"datasetDetails": "تفاصيل مجموعة البيانات",
"description": "استعلم عن البيانات المرجعية العامة للجغرافيا والجامعات والنقل والاتصالات في سوريا عبر مسارات JSON مستقرة. لا تحتاج طلبات القراءة إلى مفتاح API.",
"eyebrow": "واجهة عامة للبيانات السورية",
"moreEndpoints": "{count, plural, one {+# مسار إضافي} two {+# مساران إضافيان} few {+# مسارات إضافية} many {+# مسارًا إضافيًا} other {+# مسار إضافي}}",
"openApiSchema": "اعرض مخطط OpenAPI",
"openDocs": "افتح التوثيق التفاعلي",
"policyDescription": "تقدم الواجهة بيانات مرجعية عامة وغير شخصية، ولا تعرض سجلات خاصة أو تتبعًا مباشرًا أو معلومات تشغيلية. لا يتطلب الوصول العام تسجيلًا أو مفتاح API، ويقتصر على 500 طلب لكل عميل يوميًا. تعامل مع الاستجابات بوصفها مراجع مرتبطة بإصدارات، وراجع حدود كل مجموعة وترخيصها، واحتفظ بنسبة المصادر في الأعمال المشتقة.",
"policyTitle": "بيانات عامة بحدود واضحة",
"publicReadOnly": "عامة · بلا مفتاح API · للقراءة فقط",
"quickstartDescription": "ابدأ بمسار اكتشاف مجموعات البيانات للحصول على المجالات العامة الحالية وبيانات إصداراتها. تأتي الاستجابات بصيغة JSON، وتشرح وثيقة OpenAPI مسارات الطلب ومخططات الاستجابة.",
"quickstartEyebrow": "بدء سريع",
"quickstartTitle": "أرسل طلبك الأول",
"rateLimit": "حد الاستخدام المجاني",
"rateLimitValue": "500 طلب لكل عميل يوميًا",
"recordCount": "{count, plural, zero {لا سجلات} one {سجل واحد} two {سجلان} few {# سجلات} many {# سجلًا} other {# سجل}}",
"responseFormat": "الاستجابة والمخطط",
"steps": {
"discover": {
"description": "اقرأ مسار فهرس البيانات، ثم اختر مجالًا وراجع الإصدار الحالي وعدد السجلات وروابط التوثيق.",
"title": "اكتشف مجموعة البيانات"
},
"query": {
"description": "استخدم مسارًا مُرقّمًا تحت ‎/api/v1‎، واتبع المعرفات الموثقة، وتحقق من التكامل وفق مخطط استجابة OpenAPI.",
"title": "استعلم من مسار مستقر"
},
"verify": {
"description": "استخدم صفحة البيانات والمستودع المرتبطين لمراجعة المصادر والحدود وملفات الإصدار والإحالات والترخيص قبل النشر.",
"title": "تحقق قبل إعادة الاستخدام"
}
},
"title": "ابنِ باستخدام واجهة OpenSyria للبيانات السورية",
"workflowDescription": "تمثل الواجهة والإصدارات القابلة للتنزيل منتجات البيانات العامة نفسها. استخدم الواجهة للاستعلام وصفحات البيانات لفهم السياق والتحقق.",
"workflowEyebrow": "مسار العمل المقترح",
"workflowTitle": "من الاكتشاف إلى إعادة الاستخدام المسؤولة"
},
"Datasets": {
"apiDocs": "توثيق API",
"apiGuide": "واجهة API للمطورين",
"apiEndpoints": "مسارات API",
"catalogDescription": "تصفح بيانات OpenSyria للمدن والمحافظات والمناطق والنواحي والمحلات والجامعات والنقل في سوريا، مع روابط GitHub وملفات JSON وCSV للخرائط والبحث والصحافة.",
"catalogDescription": "تصفح بيانات OpenSyria للمدن والمحافظات والمناطق والنواحي والمحلات والجامعات والنقل والاتصالات في سوريا، مع ملفات JSON وCSV وواجهات API للبحث والتطوير.",
"catalogList": "مجموعات البيانات المتاحة",
"catalogTitle": "بيانات سورية للخرائط والبحث والتنزيل",
"contains": "محتوى مجموعة البيانات",
"coverageTitle": "التغطية",
"detailsDescription": "اطلع على نطاق البيانات ومنهج توثيقها واستخداماتها المناسبة وحدودها المعروفة قبل إعادة استخدام هذا الإصدار.",
"detailsTitle": "فهم مجموعة البيانات",
"downloadFiles": "ملفات التنزيل",
"formats": "الصيغ",
"githubRepository": "مستودع GitHub",
"home": "الرئيسية",
"keywords": "موضوعات بحث مرتبطة",
"intendedUsesTitle": "الاستخدامات المناسبة",
"lastUpdated": "آخر تحديث",
"latestRelease": "آخر إصدار",
"limitationsTitle": "الحدود والنواقص",
"navigation": "تنقل مجموعات البيانات",
"notAvailable": "غير متاح",
"openDataset": "افتح المجموعة",
"openData": "بيانات مفتوحة",
"records": "السجلات",
"provenanceTitle": "المصادر والمنهج",
"releaseContextTitle": "سياق الإصدار",
"reuseDescription": "تنشر OpenSyria بيانات مرجعية عامة وغير شخصية وموثقة بالمصادر. راجع ترخيص كل مستودع قبل إعادة استخدام ملفات الإصدارات في الإنتاج.",
"reuseTitle": "سياسة المصادر وإعادة الاستخدام",
"sourceBacked": "موثق بالمصادر",
Expand Down
59 changes: 56 additions & 3 deletions messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"contributionCount": "{count, plural, one {# contribution} other {# contributions}}",
"contributors": "Contributors",
"datasets": "Explore data",
"docs": "Read docs",
"docs": "Use the API",
"eyebrow": "Open civic intelligence",
"github": "GitHub",
"githubWithStars": "{count} stars",
Expand All @@ -22,7 +22,7 @@
"skipToContent": "Skip to main content"
},
"Footer": {
"apiDocs": "API documentation",
"apiDocs": "Developer API",
"communityTitle": "Community",
"copyright": "© OpenSyria",
"datasets": "Dataset catalog",
Expand Down Expand Up @@ -76,23 +76,76 @@
},
"title": "What should you know before using OpenSyria?"
},
"Api": {
"access": "Access",
"allEndpointsShown": "All listed endpoints shown",
"apiSummary": "API at a glance",
"baseUrl": "Base URL",
"browseDatasets": "Browse datasets",
"coverageDescription": "Query the same versioned, source-backed public datasets available from the OpenSyria catalog. Every domain links back to a human-readable dataset page with scope, downloads, provenance, and limitations.",
"coverageEyebrow": "Available data domains",
"coverageTitle": "One API for OpenSyria's released datasets",
"datasetDetails": "Dataset details",
"description": "Query public Syrian geography, university, transport, and telecom reference data through stable JSON endpoints. No API key is required for read-only requests.",
"eyebrow": "Public Syrian data API",
"moreEndpoints": "{count, plural, one {+# more endpoint} other {+# more endpoints}}",
"openApiSchema": "View OpenAPI schema",
"openDocs": "Open interactive docs",
"policyDescription": "The API serves public, non-personal reference data and does not expose private records, live tracking, or operational intelligence. Public access requires no registration or API key and is limited to 500 requests per client per day. Treat responses as versioned reference material, review each dataset's limitations and license, and retain source attribution in downstream work.",
"policyTitle": "Public data with explicit boundaries",
"publicReadOnly": "Public · no API key · read-only",
"quickstartDescription": "Start with dataset discovery to retrieve the current public domains and release metadata. Responses use JSON, and the OpenAPI document describes request paths and response schemas.",
"quickstartEyebrow": "Quick start",
"quickstartTitle": "Make your first request",
"rateLimit": "Free-tier limit",
"rateLimitValue": "500 requests per client per day",
"recordCount": "{count, plural, one {# record} other {# records}}",
"responseFormat": "Response and schema",
"steps": {
"discover": {
"description": "Read the dataset catalog endpoint, then choose a domain and inspect its current release, record counts, and documentation links.",
"title": "Discover the dataset"
},
"query": {
"description": "Call a versioned /api/v1 endpoint, follow the documented identifiers, and validate your integration against the OpenAPI response schema.",
"title": "Query a stable endpoint"
},
"verify": {
"description": "Use the linked dataset page and repository to review provenance, known limits, release files, source citations, and licensing before publication.",
"title": "Verify before reuse"
}
},
"title": "Build with OpenSyria's Syrian datasets API",
"workflowDescription": "The API and downloadable releases represent the same public data products. Use the API for querying and the dataset pages for context and verification.",
"workflowEyebrow": "Recommended workflow",
"workflowTitle": "From discovery to responsible reuse"
},
"Datasets": {
"apiDocs": "API docs",
"apiGuide": "Developer API",
"apiEndpoints": "API endpoints",
"catalogDescription": "Browse OpenSyria datasets for Syrian cities, governorates, districts, localities, universities, transport, telecom, maps, research, journalism, and JSON/CSV downloads.",
"catalogList": "Available datasets",
"catalogTitle": "Syrian datasets for maps, research, and downloads",
"contains": "What this dataset contains",
"coverageTitle": "Coverage",
"detailsDescription": "Read the scope, sourcing method, suitable uses, and known limits before reusing this release.",
"detailsTitle": "Understand this dataset",
"downloadFiles": "Download files",
"formats": "Formats",
"githubRepository": "GitHub repository",
"home": "Home",
"keywords": "Related search topics",
"intendedUsesTitle": "Suitable uses",
"lastUpdated": "Last updated",
"latestRelease": "Latest release",
"limitationsTitle": "Limitations",
"navigation": "Dataset navigation",
"notAvailable": "Not available",
"openDataset": "Open dataset",
"openData": "Open data",
"records": "Records",
"provenanceTitle": "Provenance and method",
"releaseContextTitle": "Release context",
"reuseDescription": "OpenSyria publishes public, non-personal, source-backed reference data. Check each repository license before reusing release artifacts in production.",
"reuseTitle": "Source and reuse policy",
"sourceBacked": "Source-backed",
Expand Down
Loading