Skip to content

Comments

Add support for 18 additional languages#63

Open
rpock wants to merge 1 commit intokekland:masterfrom
rpock:feat(l10n)-additional-translations
Open

Add support for 18 additional languages#63
rpock wants to merge 1 commit intokekland:masterfrom
rpock:feat(l10n)-additional-translations

Conversation

@rpock
Copy link

@rpock rpock commented May 28, 2025

Add Localization Support for 18 New Languages

Added Languages:

European Languages Asian Languages Other
🇮🇹 Italian (IT) 🇯🇵 Japanese (JA) 🇮🇳 Hindi (HI)
🇸🇮 Slovenian (SL) 🇰🇷 Korean (KO)
🇭🇷 Croatian (HR)
🇫🇷 French (FR)
🇵🇱 Polish (PL)
🇸🇰 Slovak (SK)
🇨🇿 Czech (CS)
🇧🇦 Bosnian (BS)
🇷🇸 Serbian (SR)
🇹🇷 Turkish (TR)
🇺🇦 Ukrainian (UK)
🇸🇪 Swedish (SV)
🇳🇴 Norwegian (NO)
🇭🇺 Hungarian (HU)
🇳🇱 Dutch (NL)

Implementation Details:

  • ✅ Created language-specific localization files for each new language
  • ✅ Updated the supported locales list in croppy_localizations.dart
  • ✅ Added corresponding exports in _l10n.dart
  • ✅ Updated the lookupCroppyLocalizations function

This PR significantly expands the international reach of the Croppy package, making it more accessible to users worldwide.

Add localization support for the following languages:
- Italian (IT)
- Slovenian (SL)
- Croatian (HR)
- French (FR)
- Polish (PL)
- Slovak (SK)
- Czech (CS)
- Bosnian (BS)
- Serbian (SR)
- Turkish (TR)
- Ukrainian (UK)
- Swedish (SV)
- Norwegian (NO)
- Hungarian (HU)
- Dutch (NL)
- Japanese (JA)
- Hindi (HI)
- Korean (KO)

Changes include:
- Created language-specific localization files for each new language
- Updated the supported locales list in croppy_localizations.dart
- Added corresponding exports in _l10n.dart
- Updated the lookupCroppyLocalizations function
@AndrewDongminYoo
Copy link

I am a Flutter developer developing an app using the croppy package in Korea. The Korean translations mentioned here are generally excellent, and I hope this PR will be merged soon!

// 🐦 Flutter imports:
import 'package:flutter/widgets.dart';

// 📦 Package imports:
import 'package:croppy/croppy.dart';

class CamiCroppyLocalizations extends LocalizationsDelegate<CroppyLocalizations> {
  const CamiCroppyLocalizations();
  @override
  bool isSupported(Locale locale) => ['ko', 'en'].contains(locale.languageCode);

  @override
  Future<CroppyLocalizations> load(Locale locale) async {
    switch (locale.languageCode) {
      case 'ko':
        return CroppyLocalizationsKo();
      case 'en':
        return CroppyLocalizationsEn();
    }
    return lookupCroppyLocalizations(locale);
  }

  @override
  bool shouldReload(CamiCroppyLocalizations old) => false;
}

class CroppyLocalizationsKo extends CroppyLocalizations {
  CroppyLocalizationsKo() : super('ko');
  @override
  String get saveLabel => '저장';
  @override
  String get doneLabel => '완료';
  @override
  String get cancelLabel => '취소';

  @override
  String get cupertinoFreeformAspectRatioLabel => '자유 비율';
  @override
  String get cupertinoOriginalAspectRatioLabel => '원본';
  @override
  String get cupertinoResetLabel => '초기화';
  @override
  String get cupertinoSquareAspectRatioLabel => '정사각형';

  @override
  String materialGetFlipLabel(LocalizationDirection direction) {
    switch (direction) {
      case LocalizationDirection.horizontal:
        return '가로로 뒤집기';

      case LocalizationDirection.vertical:
        return '세로로 뒤집기';
    }
  }

  @override
  String get materialFreeformAspectRatioLabel => '자유 비율';
  @override
  String get materialOriginalAspectRatioLabel => '원본';
  @override
  String get materialResetLabel => '초기화';
  @override
  String get materialSquareAspectRatioLabel => '정사각형';
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants