搜索插件、代码仓与 APP 分类

插件详情v0.2.1

turkish

土耳其语大小写转换器及用于排序的比较器

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
447
喜欢数
53
Pub 分数
150

安装插件

flutter pub add turkish

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

土耳其语包提供专为土耳其语设计的字符串大小写转换和比较工具,确保正确处理大写和小写转换,特别是 'I' 和 'ı' 等字符。它支持在土耳其语上下文中进行正确的排序和字符串比较,解决了标准库可能忽略的本地化规则。适用于需要准确处理土耳其语文本的应用程序,例如搜索功能、数据排序以及跨多个平台的用户输入规范化。

适合场景

  • 土耳其文本排序
  • 基于区域设置的字符串比较
  • 土耳其语中的大小写转换
  • 用户界面文本处理
  • 土耳其内容的数据归一化
  • 土耳其应用程序中的搜索功能

主要特点

  • 正确处理土耳其语中的 'I' 和 'ı'
  • 特定区域的大小写转换
  • 内置排序工具
  • 跨平台兼容性
  • 支持所有主要的Flutter平台
  • 通过 pub add 的简单集成

适合对象

  • 面向土耳其用户的应用
  • 具有土耳其语支持的国际化应用程序
  • 土耳其语文本处理工具
  • 需要本地化意识的排序算法
  • 需要在土耳其语中进行准确字符串操作的开发人员

使用建议

  • 仅限土耳其语规则
  • 非土耳其语应用可能不需要
  • 需要理解土耳其语的语言细微差别
  • 不适用于通用字符串操作
  • 依赖于正确的区域设置配置
  • 非土耳其使用场景的额外开销

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

turkish

This library provides these functions for Turkish language for Dart:

  • Converting strings to lower, upper and title case.
  • Regular and ignore case string sorting.

Some casing operations for Turkish does not work correctly in Dart core libraries because Dart uses default unicode mappings. Default case mappings fails for Turkish i->İ and I->ı conversions.

This library may not be necessary for Flutter or web projects if they use underlying system methods for locale specific text operations. But it can be handy when that is not the case.

Current implementation does not handle two code-unit variations. Complete special casing rules are defined here.

Usage

Add this line to pubspec.yaml:

turkish: '>=0.2.1'

Add this line to the import section:

import 'package:turkish/turkish.dart'

Extension methods

There are four extension methods that can be used for comparison and upper, lower and title casing.

import 'package:turkish/turkish.dart';

// Uses extension methods.
main() {
  // upperCaseTr
  var inputL = "kısa şiir";
  print("UpperCase for [$inputL]");
  print("Default = ${inputL.toUpperCase()}, "
      "Turkish = ${inputL.toUpperCaseTr()}\n");

  // lowerCaseTr
  var inputU = "KISA ŞİİR";
  print("LowerCase for [$inputU]");
  print("Default = ${inputU.toLowerCase()}, "
      "Turkish = ${inputU.toLowerCaseTr()}\n");

  // compareToTr
  var zonguldak = "Zonguldak";
  var cankiri = "Çankırı";
  print("Comparison for [$zonguldak] and [$cankiri]");
  print("Default = ${zonguldak.compareTo(cankiri)}, "
      "Turkish = ${zonguldak.compareToTr(cankiri)}\n");
}
Output:
UpperCase for [kısa şiir]
Default = KISA ŞIIR, Turkish = KISA ŞİİR

LowerCase for [KISA ŞİİR]
Default = kisa şiir, Turkish = kısa şiir

Comparison for [Zonguldak] and [Çankırı]
Default = -1, Turkish = 1

'turkish' object.

Also, for turkish specific sorting and casing a single object instance exposed from library called turkish can be used.

See also related Pub page.

Example:

import 'package:turkish/turkish.dart';

main() {
  // upperCaseTr
  var inputL = "kısa şiir";
  print("UpperCase for [$inputL]");
  print("Default = ${inputL.toUpperCase()}, "
      "Turkish = ${turkish.toUpperCase(inputL)}\n");

  // lowerCaseTr
  var inputU = "KISA ŞİİR";
  print("LowerCase for [$inputU]");
  print("Default = ${inputU.toLowerCase()}, "
      "Turkish = ${turkish.toLowerCase(inputU)}\n");

  // compareToTr
  var zonguldak = "Zonguldak";
  var cankiri = "Çankırı";
  print("Comparison for [$zonguldak] and [$cankiri]");
  print("Default = ${zonguldak.compareTo(cankiri)}, "
      "Turkish = ${zonguldak.compareToTr(cankiri)}\n");

  // sort Default
  var list = ["Az", "ağ", "aç", "ad"];
  print("Input = $list");
  print("Default Sort = ${list..sort()}");

  // sort Turkish  
  list = ["Az", "ağ", "aç", "ad"];
  print("Turkish Sort = ${list..sort(turkish.comparator)}");

  // sort Turkish ignore case  
  list = ["Az", "ağ", "aç", "ad"];
  print("Turkish Sort Ignore Case = "
      "${list..sort(turkish.comparatorIgnoreCase)}");
}
Output:
UpperCase for [kısa şiir]
Default = KISA ŞIIR, Turkish = KISA ŞİİR

LowerCase for [KISA ŞİİR]
Default = kisa şiir, Turkish = kısa şiir

Comparison for [Zonguldak] and [Çankırı]
Default = -1, Turkish = 1

Input = [Az, ağ, aç, ad]
Default Sort = [Az, ad, aç, ağ]
Turkish Sort = [Az, aç, ad, ağ]
Turkish Sort Ignore Case = [aç, ad, ağ, Az]

所属分类

源码仓库

使用此插件的项目

暂无相关数据。