{"id":31983189,"url":"https://github.com/simplify9/sw-i18nservices","last_synced_at":"2026-07-29T09:31:27.375Z","repository":{"id":65736179,"uuid":"288195085","full_name":"simplify9/SW-I18nServices","owner":"simplify9","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-16T12:32:09.000Z","size":2320,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-18T19:44:19.177Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simplify9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-08-17T13:59:52.000Z","updated_at":"2025-09-16T12:31:46.000Z","dependencies_parsed_at":"2024-12-14T17:15:45.967Z","dependency_job_id":"04291b99-5ac8-475a-a565-f279fff328a7","html_url":"https://github.com/simplify9/SW-I18nServices","commit_stats":null,"previous_names":["simplify9/sw-i18nservices","simplify9/i18nservices"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/simplify9/SW-I18nServices","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify9%2FSW-I18nServices","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify9%2FSW-I18nServices/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify9%2FSW-I18nServices/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify9%2FSW-I18nServices/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simplify9","download_url":"https://codeload.github.com/simplify9/SW-I18nServices/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify9%2FSW-I18nServices/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279043122,"owners_count":26091383,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-15T03:30:45.256Z","updated_at":"2025-10-15T03:31:29.326Z","avatar_url":"https://github.com/simplify9.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SW.I18nServices\n\n[![Build \u0026 NuGet Publish](https://github.com/simplify9/SW-I18nServices/actions/workflows/nuget-publish.yml/badge.svg)](https://github.com/simplify9/SW-I18nServices/actions/workflows/nuget-publish.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![NuGet: SimplyWorks.I18n.Service](https://img.shields.io/nuget/v/SimplyWorks.I18n.Service.svg?label=NuGet)](https://www.nuget.org/packages/SimplyWorks.I18n.Service)\n\nA comprehensive .NET library for internationalization (I18n) services including country data, currency conversion, and phone number validation.\n\n## Features\n\n### Countries Service\n- Country information with ISO codes, names, and capitals\n- Phone number formats and regex patterns\n- Postal code formats and validation rules\n- Currency information per country\n- Language and top-level domain data\n- Economic alliance information\n\n### Currencies Service\n- Complete currency information and codes\n- Real-time currency conversion with external API integration\n- Memory caching for exchange rates\n- Support for all major world currencies\n\n### Phone Numbering Plans Service\n- Phone number validation by country\n- Automatic formatting and normalization\n- Mobile vs landline detection\n- Area code validation\n- International dialing code support\n\n## Package\n\n### SimplyWorks.I18n.Service\nCore service components containing the business logic and data access layer.\n\n**Key Models:**\n- `Country` - Complete country information\n- `Currency` - Currency data and codes\n- `Pnp` (Phone Numbering Plan) - Phone validation rules\n- `PnpResult` - Phone validation results\n- `CurrencyRates` - Exchange rate data\n\n**Key Services:**\n- `CountriesService` - Country data retrieval and lookup\n- `CurrenciesService` - Currency operations and conversion\n- `PhoneNumberingPlansService` - Phone number validation\n- `ExternalCurrencyRatesService` - Live exchange rate fetching\n\n## Installation\n\n```bash\ndotnet add package SimplyWorks.I18n.Service\n```\n\n## Quick Start\n\n```csharp\n// Get country information\nvar countriesService = new CountriesService();\nvar country = countriesService.Get(\"US\");\nConsole.WriteLine($\"{country.Name} - {country.CurrencyCode}\");\n\n// Validate phone number\nvar phoneService = new PhoneNumberingPlansService(countriesService);\nvar result = phoneService.Validate(\"+1234567890\", \"US\");\nif (result.Status == PnpResultStatus.Ok)\n{\n    Console.WriteLine($\"Valid {result.PhoneType} phone number\");\n}\n\n// Convert currency\nvar currenciesService = new CurrenciesService(/* dependencies */);\nvar converted = await currenciesService.ConvertAsync(100m, \"USD\", \"EUR\");\n```\n\n## Data Sources\n\nThe library includes embedded binary data files containing:\n- `country.bin` - Country information database\n- `cntryd.bin` - Country lookup data\n- `pnpd.bin` - Phone numbering plan database\n\n## Requirements\n\n- .NET Standard 2.1\n- Entity Framework Core (for service package)\n- Memory caching support\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n## NuGet Package Description\n\n### For SimplyWorks.I18n.Service  \nComprehensive .NET internationalization services for country data lookup, real-time currency conversion, and phone number validation. Includes embedded databases for countries, currencies, and phone numbering plans with memory caching support. Provides country information with ISO codes, currency conversion with live exchange rates, and phone number validation with mobile/landline detection. For full documentation and examples, visit: https://github.com/simplify9/SW-I18nServices","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplify9%2Fsw-i18nservices","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplify9%2Fsw-i18nservices","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplify9%2Fsw-i18nservices/lists"}