搜尋套件、儲存庫與 APP 分類

GitHub 儲存庫ahmetaa/turkish

土耳其

用於某些土耳其語特定操作的 Dart 庫。

土耳其 專案封面
星標
43
分支
7
最近推送(UTC)
2022年6月2日
專案狀態
未封存

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

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]
Ahmet A. Akın GitHub avatar
GitHub 作者

Ahmet A. Akın ↗

Developer and father of two.

Turkey
語言Dart

此儲存庫發佈的套件

使用的依賴

依賴清單 1 項

  • test開發依賴>=1.16.0

如何選擇適合專案的儲存庫?

先依使用情境篩選,再比較專案活躍情況,最後到原始儲存庫確認使用要求。

  1. 透過儲存庫名稱、作者或描述搜尋,再依技術分類縮小範圍。
  2. 綜合星標、分支與最近推送比較專案;星標反映社群關注,不保證品質。
  3. 使用前在 GitHub 確認 README、授權條款與 Issues。

來源與維護

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗