From 0582d7587e946c1d19340aee15227bf6aefc7770 Mon Sep 17 00:00:00 2001 From: Colin White Date: Fri, 1 Nov 2024 15:03:27 -0700 Subject: [PATCH] Update translated readmes. (#2626) * Update translated readmes. * Update Swedish. * Spacing. --- README-ja.md | 100 ++++++------------------------------------------ README-ko.md | 100 ++++++------------------------------------------ README-ru.md | 102 ++++++------------------------------------------- README-sv.md | 106 +++++++-------------------------------------------- README-tr.md | 100 +++++------------------------------------------- README-zh.md | 103 ++++++------------------------------------------- README.md | 4 +- 7 files changed, 71 insertions(+), 544 deletions(-) diff --git a/README-ja.md b/README-ja.md index 65761335f9..57e6d31dab 100644 --- a/README-ja.md +++ b/README-ja.md @@ -1,57 +1,24 @@ ![Coil](logo.svg) -Coil は Kotlin Coroutines で作られた Android 用の画像読み込みライブラリです。 Coil は: +[Android](https://www.android.com/) および [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/) 用の画像読み込みライブラリ。Coil の特徴: -- **高速**: Coil は、メモリとディスクのキャッシング、メモリ内の画像のダウンサンプリング、リクエストの一時停止/キャンセルの自動化など、多くの最適化を実行します。 -- **軽量**: Coil は ~2000 のメソッドを APK に追加します (すでに OkHttp と Coroutines を使用しているアプリの場合)。これは Picasso に匹敵し、Glide や Fresco よりも大幅に少ない数です。 -- **使いやすい**: Coil の API は、ボイラープレートの最小化とシンプルさのために Kotlin の言語機能を活用しています。 -- **現代的**: Coil は Kotlin ファーストで、Coroutines、OkHttp、Okio、AndroidX Lifecycles などの最新のライブラリを使用します。 +- **高速**: Coil は、メモリとディスクのキャッシュ、画像のダウンサンプリング、リクエストの自動一時停止/キャンセルなど、さまざまな最適化を実行します。 +- **軽量**: Coil は Kotlin、Coroutines、Okio のみに依存し、Google の R8 コード シュリンカーとシームレスに連携します。 +- **使いやすい**: Coil の API は、シンプルさと最小限の定型文を実現するために Kotlin の言語機能を活用しています。 +- **最新**: Coil は Kotlin ファーストであり、Compose、Coroutines、Okio、OkHttp、Ktor などの最新のライブラリと相互運用できます。 -Coil は **Co**routine **I**mage **L**oader の頭字語です。 - -## ダウンロード - -Coil は `mavenCentral()` で利用できます。 - -```kotlin -implementation("io.coil-kt:coil:2.7.0") -``` +Coil は、**Co**routine **I**mage **L**oader の頭字語です。 ## クイックスタート -#### ImageViews - -画像を `ImageView` に読み込むには、 `load` 拡張関数を使用します。 - -```kotlin -// URL -imageView.load("https://example.com/image.jpg") - -// File -imageView.load(File("/path/to/image.jpg")) - -// And more... -``` - -Requests は、 trailing lambda 式を使用して追加の設定を行うことができます: - -```kotlin -imageView.load("https://example.com/image.jpg") { - crossfade(true) - placeholder(R.drawable.image) - transformations(CircleCropTransformation()) -} -``` - -#### Jetpack Compose - -[Jetpack Compose](https://developer.android.com/jetpack/compose) 拡張ライブラリをインポートします: +Compose ライブラリと [ネットワーク ライブラリ](https://coil-kt.github.io/coil/network/) をインポートします: ```kotlin -implementation("io.coil-kt:coil-compose:2.7.0") +implementation("io.coil-kt.coil3:coil-compose:3.0.0-rc02") +implementation("io.coil-kt.coil3:coil-network-okhttp:3.0.0-rc02") ``` -画像を読み込むには、`AsyncImage` composable を使用します: +画像を読み込むには、`AsyncImage` を使用しますcomposable: ```kotlin AsyncImage( @@ -60,52 +27,7 @@ AsyncImage( ) ``` -#### Image Loaders - -`imageView.load` と `AsyncImage` はシングルトンの `ImageLoader` を使用して画像リクエストを実行します。 シングルトンの `ImageLoader` には `Context` 拡張関数を使用してアクセスできます: - -```kotlin -val imageLoader = context.imageLoader -``` - -`ImageLoader` は共有できるように設計されており、単一のインスタンスを作成してアプリ全体で共有すると最も効率的です。 また、独自の `ImageLoader` インスタンスを作成することもできます: - -```kotlin -val imageLoader = ImageLoader(context) -``` - -シングルトンの `ImageLoader` が必要ない場合は、 `io.coil-kt:coil` の代わりに `io.coil-kt:coil-base` を使用してください。 - -#### Requests - -画像をカスタムターゲットにロードするには、 `ImageRequest` を `enqueue` してください: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .target { drawable -> - // Handle the result. - } - .build() -val disposable = imageLoader.enqueue(request) -``` - -画像を命令的にロードするには、 `ImageRequest` を `execute` してください: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .build() -val drawable = imageLoader.execute(request).drawable -``` - -[こちらで Coil の完全なドキュメント](https://coil-kt.github.io/coil/getting_started/) を確認してください。 - -## R8 / Proguard - -Coil は R8 と完全に互換性があり、追加のルールを追加する必要はありません。 - -Proguardを使用している場合は、[Coroutines](https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/jvm/resources/META-INF/proguard/coroutines.pro)、[OkHttp](https://github.com/square/okhttp/blob/master/okhttp/src/jvmMain/resources/META-INF/proguard/okhttp3.pro)にルールを追加する必要があるかもしれません。 +Coil の [完全なドキュメントはこちら](https://coil-kt.github.io/coil/getting_started/) をご覧ください。 ## ライセンス diff --git a/README-ko.md b/README-ko.md index 982007730b..ea6d07d3b8 100644 --- a/README-ko.md +++ b/README-ko.md @@ -1,57 +1,24 @@ ![Coil](logo.svg) -Coil은 Kotlin Coroutines으로 만들어진 Android 백앤드 이미지 로딩 라이브러리입니다. Coil 은: +[Android](https://www.android.com/) 및 [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/)을 위한 이미지 로딩 라이브러리입니다. Coil의 특징은 다음과 같습니다. -- **빠르다**: Coil은 메모리와 디스크의 캐싱, 메모리의 이미지 다운 샘플링, Bitmap 재사용, 일시정지/취소의 자동화 등등 수 많은 최적화 작업을 수행합니다. -- **가볍다**: Coil은 최대 2000개의 method들을 APK에 추가합니다(이미 OkHttp와 Coroutines을 사용중인 앱에 한하여), 이는 Picasso 비슷한 수준이며 Glide와 Fresco보다는 적습니다. -- **사용하기 쉽다**: Coil API는 심플함과 최소한의 boilerplate를 위하여 Kotlin의 기능을 활용합니다. -- **현대적이다**: Coil은 Kotlin 우선이며 Coroutines, OkHttp, Okio, AndroidX Lifecycles등의 최신 라이브러리를 사용합니다. +- **빠름**: Coil은 메모리 및 디스크 캐싱, 이미지 다운샘플링, 요청 자동 일시 중지/취소 등 여러 가지 최적화를 수행합니다. +- **가벼움**: Coil은 Kotlin, Coroutines, Okio에만 의존하며 Google의 R8 코드 축소기와 원활하게 작동합니다. +- **사용하기 쉬움**: Coil의 API는 Kotlin의 언어 기능을 활용하여 단순성과 최소한의 보일러플레이트를 제공합니다. +- **현대적**: Coil은 Kotlin을 우선으로 하며 Compose, Coroutines, Okio, OkHttp, Ktor를 포함한 최신 라이브러리와 상호 운용됩니다. -Coil은: **Co**routine **I**mage **L**oader의 약자입니다. - -## 다운로드 - -Coil은 `mavenCentral()`로 이용 가능합니다. - -```kotlin -implementation("io.coil-kt:coil:2.7.0") -``` +코일은 **Co**routine **I**mage **L**oader**의 약자입니다. ## 빠른 시작 -#### ImageViews - -`ImageView`로 이미지를 불러오기 위해, `load` 확장 함수를 사용합니다. - -```kotlin -// URL -imageView.load("https://example.com/image.jpg") - -// File -imageView.load(File("/path/to/image.jpg")) - -// And more... -``` - -Requests는 trailing lambda 식을 이용하여 추가 설정을 할 수 있습니다: - -```kotlin -imageView.load("https://example.com/image.jpg") { - crossfade(true) - placeholder(R.drawable.image) - transformations(CircleCropTransformation()) -} -``` - -#### Jetpack Compose - -[Jetpack Compose](https://developer.android.com/jetpack/compose) 확장 라이브러리 추가: +Compose 라이브러리와 [네트워킹 라이브러리](https://coil-kt.github.io/coil/network/ 가져오기: ```kotlin -implementation("io.coil-kt:coil-compose:2.7.0") +구현("io.coil-kt.coil3:coil-compose:3.0.0-rc02") +구현("io.coil-kt.coil3:coil-network-okhttp:3.0.0-rc02") ``` -이미지를 불러오려면, `AsyncImage` composable를 사용하세요: +이미지를 로드하려면 `AsyncImage`를 사용하세요. 구성 가능: ```kotlin AsyncImage( @@ -60,52 +27,7 @@ AsyncImage( ) ``` -#### Image Loaders - -`imageView.load` 와 `AsyncImage`는 이미지를 불러오기 위해 싱글톤 `ImageLoader`를 사용합니다. 싱글톤 `ImageLoader`는 `Context`의 확장함수를 통해 접근할 수 있습니다: - -```kotlin -val imageLoader = context.imageLoader -``` - -`ImageLoader`는 공유가 가능하게 설계 되었으며, 싱글 객체를 만들어서 앱에 전반적으로 사용했을 때 가장 효율적입니다. 즉, 직접 `ImageLoader` 인스턴스를 생성해도 됩니다: - -```kotlin -val imageLoader = ImageLoader(context) -``` - -싱글톤 `ImageLoader`를 사용하고 싶지 않을때에는, `io.coil-kt:coil`를 참조하는 대신, `io.coil-kt:coil-base`를 참조하세요. - -#### Requests - -커스텀 타겟에 이미지를 로드하려면, `ImageRequest`를 `enqueue` 하세요: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .target { drawable -> - // Handle the result. - } - .build() -val disposable = imageLoader.enqueue(request) -``` - -Imperative하게 이미지 로드를 하려면, `ImageRequest`를 `execute` 하세요: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .build() -val drawable = imageLoader.execute(request).drawable -``` - -[여기서 Coil의 전체 문서](https://coil-kt.github.io/coil/)를 확인하세요. - -## R8 / Proguard - -Coil은 별도의 설정 없이 R8과 완벽하게 호환 가능하며 추가 규칙이 필요하지 않습니다. - -Proguard를 사용할 경우, [Coroutines](https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/jvm/resources/META-INF/proguard/coroutines.pro)와 [OkHttp](https://github.com/square/okhttp/blob/master/okhttp/src/jvmMain/resources/META-INF/proguard/okhttp3.pro)의 규칙을 추가할 필요가 있을 수 있습니다. +Coil의 [전체 문서는 여기에서](https://coil-kt.github.io/coil/getting_started/)에서 확인하세요. ## 라이선스 diff --git a/README-ru.md b/README-ru.md index 3dfd7b8f49..2c7b12d176 100644 --- a/README-ru.md +++ b/README-ru.md @@ -1,57 +1,24 @@ ![Coil](logo.svg) -Библиотека для загрузки изображений на Android, работающая с корутинами Kotlin. Coil - это: +Библиотека загрузки изображений для [Android](https://www.android.com/) и [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/). Coil: -- **Скорость**: Coil выполняет оптимизации, включая кэширование в памяти и на диске, уменьшение дискретизации изображения в памяти, автоматическая приостановка/отмена запросов, и многое другое. -- **Маленький вес**: Coil добавляет ~2000 методов в ваш APK (для приложений, уже пользующихся OkHttp и корутинами), что сравнимо с Picasso и гораздо меньше, чем Glide и Fresco. -- **Простота в использовании**: API Coil использует преимущества Kotlin, чтобы уменьшить количество повторяющегося кода. -- **Современность**: Coil в первую очередь предназначен для Kotlin и использует современные библиотеки, включая корутины, OkHttp, Okio, и AndroidX Lifecycles. +- **Быстрая**: Coil выполняет ряд оптимизаций, включая кэширование памяти и диска, понижение разрешения изображения, автоматическую приостановку/отмену запросов и многое другое. +- **Легкая**: Coil зависит только от Kotlin, Coroutines и Okio и без проблем работает с укоротителем кода R8 от Google. +- **Простая в использовании**: API Coil использует возможности языка Kotlin для простоты и минимального шаблона. +- **Современная**: Coil ориентирована на Kotlin и взаимодействует с современными библиотеками, включая Compose, Coroutines, Okio, OkHttp и Ktor. -Coil - аббревиатура: **Co**routine **I**mage **L**oader (загрузчик изображений при помощи корутин). +Coil — это аббревиатура от: **Co**routine **I**mage **L**loader. -## Установка +## Быстрый старт -Coil доступен в `mavenCentral()`. +Импортируйте библиотеку Compose и [сетевую библиотеку](https://coil-kt.github.io/coil/network/): ```kotlin -implementation("io.coil-kt:coil:2.7.0") +implementation("io.coil-kt.coil3:coil-compose:3.0.0-rc02") +implementation("io.coil-kt.coil3:coil-network-okhttp:3.0.0-rc02") ``` -## Начало работы - -#### ImageViews - -Чтобы загрузить изображение в `ImageView`, воспользуйтесь расширением `load`: - -```kotlin -// URL -imageView.load("https://example.com/image.jpg") - -// Файл -imageView.load(File("/path/to/image.jpg")) - -// И многое другое... -``` - -Запросы могут конфигурироваться лямбда-функцией: - -```kotlin -imageView.load("https://example.com/image.jpg") { - crossfade(true) - placeholder(R.drawable.image) - transformations(CircleCropTransformation()) -} -``` - -#### Jetpack Compose - -Установите библиотеку-расширение для [Jetpack Compose](https://developer.android.com/jetpack/compose): - -```kotlin -implementation("io.coil-kt:coil-compose:2.7.0") -``` - -Чтобы загрузить изображение, воспользуйтесь composable-функцией `AsyncImage`: +Чтобы загрузите изображение, используйте `AsyncImage` composable: ```kotlin AsyncImage( @@ -60,52 +27,7 @@ AsyncImage( ) ``` -#### Загрузчики изображений - -Как `imageView.load`, так и `AsyncImage` используют синглтон `ImageLoader` для исполнения запросов на загрузку. Синглтон `ImageLoader` доступен через расширение `Context`: - -```kotlin -val imageLoader = context.imageLoader -``` - -`ImageLoader`ы максимально эффективны, когда во всем приложении используется один и тот же его экземпляр. Тем не менее, вы можете создавать и свои экземпляры `ImageLoader`, если потребуется: - -```kotlin -val imageLoader = ImageLoader(context) -``` - -Если вам не требуется синглтон `ImageLoader`, используйте `io.coil-kt:coil-base` вместо `io.coil-kt:coil`. - -#### Запросы - -Чтобы загрузить изображение в заданную цель, выполните метод `enqueue` на `ImageRequest`: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .target { drawable -> - // Распоряжайтесь результатом. - } - .build() -val disposable = imageLoader.enqueue(request) -``` - -Чтобы загрузить изображение императивно, выполните `execute` на `ImageRequest`: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .build() -val drawable = imageLoader.execute(request).drawable -``` - -Полную документацию для Coil можно найти [здесь](https://coil-kt.github.io/coil/getting_started/). - -## R8 / Proguard - -Coil полностью совместим с R8 "из коробки" и не требует дополнительной настройки. - -Если вы используете Proguard, вам может понадобиться добавить правила для [корутин](https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/jvm/resources/META-INF/proguard/coroutines.pro) и [OkHttp](https://github.com/square/okhttp/blob/master/okhttp/src/main/resources/META-INF/proguard/okhttp3.pro). +Ознакомьтесь с [полной документацией Coil] здесь (https://coil-kt.github.io/coil/getting_started/). ## Лицензия diff --git a/README-sv.md b/README-sv.md index 93d30d5d41..5108920db6 100644 --- a/README-sv.md +++ b/README-sv.md @@ -1,59 +1,24 @@ -![Coil](logo.svg) +![Spole](logo.svg) -Ett bildladdningsbibliotek för Android med stöd för Kotlin Coroutines. Coil är: +Ett bildbibliotek för [Android](https://www.android.com/) och [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/). Spolen är: -- **Snabbt**: Coil utför ett antal optimeringar inklusive minne och diskcache, nedsampling av bilden i minnet, automatisk paus/avbryt förfrågningar och mer. -- **Effektivt och optimerat**: Coil lägger till ~2000 metoder till din APK (för appar som redan använder OkHttp och Coroutines), vilket är jämförbart med Picasso och betydligt mindre än Glide och Fresco. -- **Enkelt att använda**: Coils API utnyttjar Kotlins språkfunktioner för enkelhet och minimal boilerplate kod. -- **Modernt**: Coil är skapat för Kotlin i första hand och använder moderna bibliotek inklusive Coroutines, OkHttp, Okio och AndroidX Lifecycles. +- **Snabb**: Coil utför ett antal optimeringar inklusive minne och diskcache, nedsampling av bilden, automatisk paus/avbryt förfrågningar och mer. +- **Lättvikt**: Spolen beror bara på Kotlin, Coroutines och Okio och fungerar sömlöst med Googles R8-kodkrympare. +- **Lätt att använda**: Coils API utnyttjar Kotlins språkfunktioner för enkelhet och minimal konstruktion. +- **Modern**: Coil är Kotlin-först och samverkar med moderna bibliotek inklusive Compose, Coroutines, Okio, OkHttp och Ktor. -Coil är en förkortning för: **Co**routine **I**mage **L**oader. +Spole är en akronym för: **Co**rutin **I**bild **L**loader. -Översättningar: [한국어](README-ko.md), [中文](README-zh.md), [Türkçe](README-tr.md), [日本語](README-ja.md), [Svenska](README-sv.md) +## Snabbstart -## Hämta - -Coil finns att ladda ned från `mavenCentral()`. - -```kotlin -implementation("io.coil-kt:coil:2.7.0") -``` - -## Snabbstartsguide - -#### ImageViews - -För att ladda in en bild i en `ImageView`, använd förlängningsfunktionen `load`: - -```kotlin -// URL -imageView.load("https://example.com/image.jpg") - -// Fil -imageView.load(File("/path/to/image.jpg")) - -// Och mer... -``` - -Förfrågningar kan konfigureras med en valfri släpande lambda: - -```kotlin -imageView.load("https://example.com/image.jpg") { - crossfade(true) - placeholder(R.drawable.image) - transformations(CircleCropTransformation()) -} -``` - -#### Jetpack Compose - -Importera [Jetpack Compose](https://developer.android.com/jetpack/compose)-förlängningsbiblioteket: +Importera Compose-biblioteket och ett [nätverksbibliotek](https://coil-kt.github.io/coil/network/): ```kotlin -implementation("io.coil-kt:coil-compose:2.7.0") +implementering("io.coil-kt.coil3:coil-compose:3.0.0-rc02") +implementering("io.coil-kt.coil3:coil-network-okhttp:3.0.0-rc02") ``` -För att ladda in en bild, använd en `AsyncImage` composable: +För att ladda en bild, använd "AsyncImage" komponerbar: ```kotlin AsyncImage( @@ -62,54 +27,9 @@ AsyncImage( ) ``` -#### Bildladdare - -Både `imageView.load` och `AsyncImage` använder singletonobjektet `ImageLoader` för att genomföra bildförfrågningar. Singletonobjektet `ImageLoader` kan kommas åt genom att använda en förlängningsfunktion för `Context`: - -```kotlin -val imageLoader = context.imageLoader -``` - -`ImageLoader`s är designade för att vara delbara och är mest effektiva när du skapar en enda instans och delar den i hela appen. Med det sagt, kan du även skapa din(a) egna instans(er) av `ImageLoader`: - -```kotlin -val imageLoader = ImageLoader(context) -``` - -Om du inte vill använda singletonobjektet `ImageLoader`, använd artefakten `io.coil-kt:coil-base` istället för `io.coil-kt:coil`. - -#### Förfrågningar - -För att ladda en bild till ett anpassat mål, använd metoden `enqueue` på en instans av klassen `ImageRequest`: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .target { drawable -> - // Handle the result. - } - .build() -val disposable = imageLoader.enqueue(request) -``` - -För att ladda en bild imperativt, använd metoden `execute` på en instans av klassen `ImageRequest`: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .build() -val drawable = imageLoader.execute(request).drawable -``` - Kolla in Coils [fullständiga dokumentation här](https://coil-kt.github.io/coil/getting_started/). -## R8 / Proguard - -Coil är fullt kompatibel med R8 och kräver inga särskilda extra regler. - -Om du använder Proguard kan du behöva lägga till regler för [Coroutines](https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/jvm/resources/META-INF/proguard/coroutines.pro) och [OkHttp](https://github.com/square/okhttp/blob/master/okhttp/src/main/resources/META-INF/proguard/okhttp3.pro). - -## Licens +## License Copyright 2024 Coil Contributors diff --git a/README-tr.md b/README-tr.md index d93e9b9a0a..b82ec7396b 100644 --- a/README-tr.md +++ b/README-tr.md @@ -1,59 +1,24 @@ ![Coil](logo.svg) -Kotlin Coroutines tarafından desteklenen Android için bir görüntü yükleme kütüphanesi. Coil şunlardır: +[Android](https://www.android.com/) ve [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/) için bir resim yükleme kütüphanesi. Coil: -- **Hızlı**: Coil, bellek ve disk önbellekleme, bellekteki görüntünün örnekleme yapılması, otomatik olarak isteklerin durdurulması/iptal edilmesi ve daha fazlası dahil olmak üzere bir dizi optimizasyon gerçekleştirir. -- **Hafif**: Coil, APK'nıza ~2000 yöntem ekler (halihazırda OkHttp ve Coroutines kullanan uygulamalar için), bu da Picasso ile karşılaştırılabilir ve Glide ve Fresco'dan önemli ölçüde daha azdır. -- **Kullanımı Kolay**: Coil'in API'si, basitlik ve minimum kod tekrarı için Kotlin'in dil özelliklerinden yararlanır. -- **Modern**: Coil, öncelikle Kotlin'e dayanır ve Coroutines, OkHttp, Okio ve AndroidX Lifecycle gibi modern kütüphaneleri kullanır. +- **Hızlı**: Coil, bellek ve disk önbelleğe alma, resmin alt örneklemesini yapma, istekleri otomatik olarak duraklatma/iptal etme ve daha fazlası dahil olmak üzere bir dizi optimizasyon gerçekleştirir. +- **Hafif**: Coil yalnızca Kotlin, Coroutines ve Okio'ya bağlıdır ve Google'ın R8 kod küçültücüsüyle sorunsuz bir şekilde çalışır. +- **Kullanımı kolay**: Coil'in API'si, basitlik ve minimum kalıp için Kotlin'in dil özelliklerini kullanır. +- **Modern**: Coil, Kotlin önceliklidir ve Compose, Coroutines, Okio, OkHttp ve Ktor gibi modern kütüphanelerle birlikte çalışır. Coil, **Co**routine **I**mage **L**oader'ın kısaltmasıdır. -Çeviriler: [日本語](README-ja.md), [한국어](README-ko.md), [Русский](README-ru.md), [Svenska](README-sv.md), [Türkçe](README-tr.md), [中文](README-zh.md) - -## İndirme - -Coil, `mavenCentral()` üzerinde mevcuttur. - -```kotlin -implementation("io.coil-kt:coil:2.7.0") -``` - ## Hızlı Başlangıç -#### ImageViews - -Bir görüntüyü bir `ImageView`'a yüklemek için `load` uzantı fonksiyonunu kullanın: - -```kotlin -// URL -imageView.load("https://example.com/image.jpg") - -// Dosya -imageView.load(File("/path/to/image.jpg")) - -// Ve daha fazlası... -``` - -İstekler, isteğe bağlı bir kapanan lambda ile yapılandırılabilir: - -```kotlin -imageView.load("https://example.com/image.jpg") { - crossfade(true) - placeholder(R.drawable.image) - transformations(CircleCropTransformation()) -} -``` - -#### Jetpack Compose - -[Jetpack Compose](https://developer.android.com/jetpack/compose) uzantı kütüphanesini içe aktarın: +Compose kütüphanesini ve bir [ağ kütüphanesini](https://coil-kt.github.io/coil/network/) içe aktarın: ```kotlin -implementation("io.coil-kt:coil-compose:2.7.0") +implementation("io.coil-kt.coil3:coil-compose:3.0.0-rc02") +implementation("io.coil-kt.coil3:coil-network-okhttp:3.0.0-rc02") ``` -Bir görüntü yüklemek için, `AsyncImage` bileşenini kullanın: +Bir görüntüyü yüklemek için, `AsyncImage` bileşenini kullanın: ```kotlin AsyncImage( @@ -62,52 +27,7 @@ AsyncImage( ) ``` -#### Görüntü Yükleyiciler - -`imageView.load` ve `AsyncImage` hem görüntü isteklerini yürütmek için singleton `ImageLoader`'ı kullanır. Singleton `ImageLoader`'a bir `Context` genişletme fonksiyonu kullanarak erişilebilir: - -```kotlin -val imageLoader = context.imageLoader -``` - -`ImageLoader`'lar paylaşılabilir olarak tasarlanmıştır ve uygulamanız boyunca tek bir örnek oluşturup paylaştığınızda en verimlidir. Bununla birlikte, kendi `ImageLoader` örneğinizi de oluşturabilirsiniz: - -```kotlin -val imageLoader = ImageLoader(context) -``` - -Eğer singleton `ImageLoader` istemiyorsanız, `io.coil-kt:coil` yerine `io.coil-kt:coil-base` bağımlılığını kullanın. - -#### İstekler - -Bir görüntüyü özel bir hedefe yüklemek için bir `ImageRequest`'i `enqueue` edin: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .target { drawable -> - // Sonucu işleyin. - } - .build() -val disposable = imageLoader.enqueue(request) -``` - -Bir görüntüyü mecburi bir şekilde yüklemek için bir `ImageRequest`'i `execute` edin: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .build() -val drawable = imageLoader.execute(request).drawable -``` - -Coil'in [tam belgelerini buradan](https://coil-kt.github.io/coil/getting_started/) inceleyin. - -## R8 / Proguard - -Coil, R8 ile uyumlu olarak kutudan çıkar ve ekstra kurallar eklemeyi gerektirmez. - -Eğer Proguard kullanıyorsanız, [Coroutines](https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/jvm/resources/META-INF/proguard/coroutines.pro) ve [OkHttp](https://github.com/square/okhttp/blob/master/okhttp/src/main/resources/META-INF/proguard/okhttp3.pro) için kurallar eklemeniz gerekebilir. +Coil'in [tam belgelerine buradan](https://coil-kt.github.io/coil/getting_started/) göz atın. ## Lisans diff --git a/README-zh.md b/README-zh.md index 7c2b01068d..0eb8539405 100644 --- a/README-zh.md +++ b/README-zh.md @@ -1,58 +1,24 @@ ![Coil](logo.svg) -Coil 是一个 Android 图片加载库,通过 Kotlin 协程的方式加载图片。特点如下: +适用于 [Android](https://www.android.com/) 和 [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/) 的图像加载库。Coil 具有以下特点: -- **更快**: Coil 在性能上有很多优化,包括内存缓存和磁盘缓存,把缩略图存保存在内存中,循环利用 bitmap,自动暂停和取消图片网络请求等。 -- **更轻量级**: Coil 只有2000个方法(前提是你的 APP 里面集成了 OkHttp 和 Coroutines),Coil 和 Picasso 的方法数差不多,相比 Glide 和 Fresco 要轻量很多。 -- **更容易使用**: Coil 的 API 充分利用了 Kotlin 语言的新特性,简化和减少了很多样板代码。 -- **更流行**: Coil 首选 Kotlin 语言开发并且使用包含 Coroutines, OkHttp, Okio 和 AndroidX Lifecycles 在内最流行的开源库。 +- **快速**:Coil 执行多项优化,包括内存和磁盘缓存、图像降采样、自动暂停/取消请求等。 +- **轻量**:Coil 仅依赖于 Kotlin、Coroutines 和 Okio,可与 Google 的 R8 代码压缩器无缝协作。 +- **易于使用**:Coil 的 API 利用 Kotlin 的语言功能实现简单性并减少样板代码。 +- **现代**:Coil 是 Kotlin 优先的,可与包括 Compose、Coroutines、Okio、OkHttp 和 Ktor 在内的现代库互操作。 -Coil 名字的由来:取 **Co**routine **I**mage **L**oader 首字母得来。 +Coil 是 Co**routine **I**mage **L**oader 的缩写。 -## 下载 +## 快速入门 -Coil 可以在 `mavenCentral()` 下载 +导入 Compose 库和 [网络库](https://coil-kt.github.io/coil/network/): ```kotlin -implementation("io.coil-kt:coil:2.7.0") +implementation("io.coil-kt.coil3:coil-compose:3.0.0-rc02") +implementation("io.coil-kt.coil3:coil-network-okhttp:3.0.0-rc02") ``` -## 快速上手 - -可以使用 `ImageView` 的扩展函数 `load` 加载一张图片: - -```kotlin -// URL -imageView.load("https://example.com/image.jpg") - -// Resource -imageView.load(R.drawable.image) - -// File -imageView.load(File("/path/to/image.jpg")) - -// And more... -``` - -可以使用 lambda 语法轻松配置请求选项: - -```kotlin -imageView.load("https://example.com/image.jpg") { - crossfade(true) - placeholder(R.drawable.image) - transformations(CircleCropTransformation()) -} -``` - -#### Jetpack Compose - -引入 [Jetpack Compose](https://developer.android.com/jetpack/compose) 扩展库: - -```kotlin -implementation("io.coil-kt:coil-compose:2.7.0") -``` - -使用 `AsyncImage` 加载图片: +要加载图像,请使用 `AsyncImage`可组合: ```kotlin AsyncImage( @@ -61,52 +27,7 @@ AsyncImage( ) ``` -### 图片加载器 `ImageLoader` - -`imageView.load` 使用单例 `ImageLoader` 来把 `ImageRequest` 加入队列. `ImageLoader` 单例可以通过扩展方法来获取: - -```kotlin -val imageLoader = context.imageLoader -``` - -此外,你也可以通过创建 `ImageLoader` 实例从而实现依赖注入: - -```kotlin -val imageLoader = ImageLoader(context) -``` - -如果你不需要 `ImageLoader` 作为单例,请把Gradle依赖替换成 `io.coil-kt:coil-base`. - -### 图片请求 `ImageRequest` - -如果想定制 `ImageRequest` 的加载目标,可以依照如下方式把 `ImageRequest` 加入队列: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .target { drawable -> - // Handle the result. - } - .build() -val disposable = imageLoader.enqueue(request) -``` - -如果想命令式地执行图片加载,也可以直接调用 `execute(ImageRequest)`: - -```kotlin -val request = ImageRequest.Builder(context) - .data("https://example.com/image.jpg") - .build() -val drawable = imageLoader.execute(request).drawable -``` - -请至 Coil 的[完整文档](https://coil-kt.github.io/coil/getting_started/)获得更多信息。 - -## R8 / Proguard - -Coil 兼容 R8 混淆,您无需再添加其他的规则 - -如果您需要混淆代码,可能需要添加对应的混淆规则:[Coroutines](https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/jvm/resources/META-INF/proguard/coroutines.pro), [OkHttp](https://github.com/square/okhttp/blob/master/okhttp/src/jvmMain/resources/META-INF/proguard/okhttp3.pro)。 +查看 Coil 的[完整文档](https://coil-kt.github.io/coil/getting_started/)。 ## License diff --git a/README.md b/README.md index 1976b98e5d..3a14425cc4 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ An image loading library for [Android](https://www.android.com/) and [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/). Coil is: - **Fast**: Coil performs a number of optimizations including memory and disk caching, downsampling the image, automatically pausing/cancelling requests, and more. -- **Lightweight**: Coil only depends on Kotlin, Coroutines, and Okio and works seamlessly with [Google's R8](https://developer.android.com/build/shrink-code). +- **Lightweight**: Coil only depends on Kotlin, Coroutines, and Okio and works seamlessly with Google's R8 code shrinker. - **Easy to use**: Coil's API leverages Kotlin's language features for simplicity and minimal boilerplate. -- **Modern**: Coil is Kotlin-first and interoperates with modern libraries including Compose, Coroutines, Okio, Ktor, and OkHttp. +- **Modern**: Coil is Kotlin-first and interoperates with modern libraries including Compose, Coroutines, Okio, OkHttp, and Ktor. Coil is an acronym for: **Co**routine **I**mage **L**oader.