Detaylı Rehberler
Uluslararasılaştırma

Çevirileri uygulamaya birleştirme

Tamamlanan çevirileri projenize birleştirmek için aşağıdaki işlemleri tamamlayın

  1. Projenizin dağıtılabilir dosyalarının bir kopyasını oluşturmak için Angular CLI kullanın
  2. Tüm i18n mesajlarını geçerli çevirilerle değiştirmek ve yerelleştirilmiş bir uygulama varyantı oluşturmak için "localize" seçeneğini kullanın. Bir varyant uygulama, uygulamanızın tek bir yerel ayar için çevrilmiş dağıtılabilir dosyalarının tam bir kopyasıdır.

Çevirileri birleştirdikten sonra, sunucu tarafı dil algılama veya farklı alt dizinler kullanarak uygulamanın her dağıtılabilir kopyasını sunun.

HELPFUL: Uygulamanın her dağıtılabilir kopyasının nasıl sunulacağı hakkında daha fazla bilgi için deploying multiple locales bölümüne bakın.

Uygulamanın derleme zamanı çevirisi için, derleme süreci küçük, hızlı ve çalıştırmaya hazır bir uygulama üretmek üzere önceden derleme (AOT) kullanır.

HELPFUL: Derleme süreci hakkında ayrıntılı bir açıklama için Building and serving Angular apps bölümüne bakın. Derleme süreci .xlf formatındaki veya Angular'ın anladığı .xtb gibi başka bir formattaki çeviri dosyaları için çalışır. Angular tarafından kullanılan çeviri dosyası formatları hakkında daha fazla bilgi için Change the source language file format bölümüne bakın

Her yerel ayar için ayrı bir dağıtılabilir uygulama kopyası oluşturmak üzere, projenizin angular.json çalışma alanı derleme yapılandırma dosyasındaki derleme yapılandırmasında yerel ayarları tanımlayın.

Bu yöntem, her yerel ayar için tam bir uygulama derlemesi yapma gereksinimini ortadan kaldırarak derleme sürecini kısaltır.

Her yerel ayar için uygulama varyantları oluşturmak üzere, angular.json çalışma alanı derleme yapılandırma dosyasındaki "localize" seçeneğini kullanın. Ayrıca, komut satırından derlemek için build Angular CLI komutunu --localize seçeneğiyle kullanın.

HELPFUL: İsteğe bağlı olarak, özel bir yerel ayar yapılandırması için yalnızca bir yerel ayar için belirli derleme seçeneklerini uygulayın.

Derleme yapılandırmasında yerel ayarları tanımlama

Bir proje için yerel ayarları tanımlamak üzere projenizin angular.json çalışma alanı derleme yapılandırma dosyasındaki i18n proje seçeneğini kullanın.

Aşağıdaki alt seçenekler kaynak dili tanımlar ve derleyiciye proje için desteklenen çevirilerin nerede bulunacağını söyler.

Suboption Details
sourceLocale Uygulama kaynak kodunuzda kullandığınız yerel ayar (varsayılan olarak en-US). Ayrıca code, baseHref ve subPath özelliklerine sahip bir nesne de olabilir.
locales Yerel ayar tanımlayıcılarının çeviri dosyalarına eşlemesi. Her girdi ayrıca translation, baseHref ve subPath özelliklerine sahip bir nesne de olabilir.

i18n özelliklerinin tam listesi ve türleri için i18n seçenekleri bölümüne bakın.

en-US ve fr için angular.json örneği

Örneğin, aşağıdaki angular.json çalışma alanı derleme yapılandırma dosyası alıntısı, kaynak yerel ayarını en-US olarak ayarlar ve Fransızca (fr) yerel ayar çeviri dosyasının yolunu sağlar.

angular.json

"projects": {
    "angular.io-example": {
      // ...
      "i18n": {
        "sourceLocale": "en-US",
        "locales": {
          "fr": {
            "translation": "src/locale/messages.fr.xlf",
            // ...
          }
        }
      },
      "architect": {
        // ...
      }
    }
  }
}

Her yerel ayar için uygulama varyantları oluşturma

Derleme yapılandırmasındaki yerel ayar tanımınızı kullanmak için, angular.json çalışma alanı derleme yapılandırma dosyasındaki "localize" seçeneğini kullanarak CLI'ya derleme yapılandırması için hangi yerel ayarların oluşturulacağını söyleyin.

  • Derleme yapılandırmasında daha önce tanımlanan tüm yerel ayarlar için "localize" değerini true olarak ayarlayın.
  • Yalnızca belirli yerel ayar sürümlerini derlemek için "localize" değerini daha önce tanımlanmış yerel ayar tanımlayıcılarının bir alt kümesinin dizisi olarak ayarlayın.
  • Yerelleştirmeyi devre dışı bırakmak ve herhangi bir yerel ayara özel sürüm oluşturmamak için "localize" değerini false olarak ayarlayın.

HELPFUL: Bileşen şablonlarını yerelleştirmek için önceden derleme (AOT) gereklidir.

Bu ayarı değiştirdiyseniz, AOT kullanmak için "aot" değerini true olarak ayarlayın.

HELPFUL: i18n'nin dağıtım karmaşıklıkları ve yeniden derleme süresini en aza indirme ihtiyacı nedeniyle, geliştirme sunucusu aynı anda yalnızca tek bir yerel ayarın yerelleştirilmesini destekler. "localize" seçeneğini true olarak ayarlar, birden fazla yerel ayar tanımlar ve ng serve kullanırsanız; bir hata oluşur. Belirli bir yerel ayara karşı geliştirme yapmak istiyorsanız, "localize" seçeneğini belirli bir yerel ayara ayarlayın. Örneğin, Fransızca (fr) için "localize": ["fr"] belirtin.

CLI yerel ayar verilerini yükler ve kaydeder, oluşturulan her sürümü diğer yerel ayar sürümlerinden ayrı tutmak için yerel ayara özel bir dizine yerleştirir ve dizinleri proje için yapılandırılmış outputPath içine koyar. Her uygulama varyantı için html öğesinin lang niteliği yerel ayara ayarlanır. CLI ayrıca yapılandırılmış baseHref'e yerel ayarı ekleyerek uygulamanın her sürümü için HTML temel HREF'ini ayarlar.

"localize" özelliğini tüm yapılandırmalar için etkili bir şekilde miras almak üzere paylaşılan bir yapılandırma olarak ayarlayın. Ayrıca, diğer yapılandırmaları geçersiz kılmak için özelliği ayarlayın.

Derleme örneğinden tüm yerel ayarları içeren angular.json

Aşağıdaki örnek, tüm derleme yapılandırmasında tanımlanan yerel ayarların derlenmesi için angular.json çalışma alanı derleme yapılandırma dosyasında "localize" seçeneğinin true olarak ayarlandığını göstermektedir.

angular.json

"build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "localize": true,
            // ...
          },

Komut satırından derleme

Ayrıca, ng build komutuyla ve mevcut production yapılandırmanızla --localize seçeneğini kullanın. CLI, derleme yapılandırmasında tanımlanan tüm yerel ayarları derler. Derleme yapılandırmasında yerel ayarları ayarlarsanız, "localize" seçeneğini true olarak ayarladığınız zamana benzerdir.

HELPFUL: Yerel ayarların nasıl ayarlanacağı hakkında daha fazla bilgi için Generate application variants for each locale bölümüne bakın.

ng build --localize

Yalnızca bir yerel ayar için belirli derleme seçeneklerini uygulama

Belirli derleme seçeneklerini yalnızca bir yerel ayara uygulamak için, özel bir yerel ayara özel yapılandırma oluşturmak üzere tek bir yerel ayar belirtin.

IMPORTANT: Angular CLI geliştirme sunucusunu (ng serve) yalnızca tek bir yerel ayarla kullanın.

Fransızca için derleme örneği

Aşağıdaki örnek, tek bir yerel ayar kullanan özel bir yerel ayara özel yapılandırmayı göstermektedir.

angular.json

"build": {
          // ...
          "configurations": {
            // ...
            "fr": {
              "localize": ["fr"]
            }
          },
          // ...
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "configurations": {
            // ...
            "fr": {
              "buildTarget": "angular.io-example:build:development,fr"
            }
          },
          // ...
        },
        // ...
      }

Bu yapılandırmayı ng serve veya ng build komutlarına geçirin. Aşağıdaki kod örneği, Fransızca dil dosyasının nasıl sunulacağını göstermektedir.

ng serve --configuration=fr

Üretim derlemeleri için, her iki yapılandırmayı da çalıştırmak üzere yapılandırma bileşimini kullanın.

ng build --configuration=production,fr

angular.json

"architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            // ...
          },
          "configurations": {
            // ...
            "fr": {
              "localize": ["fr"]
            }
          },
          // ...
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "configurations": {
            "production": {
              "buildTarget": "angular.io-example:build:production"
            },
            // ...
            "fr": {
              "buildTarget": "angular.io-example:build:development,fr"
            }
          },
          // ...
        },
        // ...
      }

Eksik çevirileri raporlama

Bir çeviri eksik olduğunda, derleme başarılı olur ancak Missing translation for message "{translation_text}" gibi bir uyarı oluşturur. Angular derleyicisi tarafından oluşturulan uyarı seviyesini yapılandırmak için aşağıdaki seviyelerden birini belirtin.

Warning level Details Output
error Bir hata fırlatır ve derleme başarısız olur n/a
ignore Hiçbir şey yapmaz n/a
warning Konsolda veya kabukta varsayılan uyarıyı görüntüler Missing translation for message "{translation_text}"

Uyarı seviyesini projenizin angular.json çalışma alanı derleme yapılandırma dosyasındaki build hedefinin options bölümünde belirtin.

angular.json error uyarı örneği

Aşağıdaki örnek, uyarı seviyesinin error olarak nasıl ayarlanacağını göstermektedir.

angular.json

"build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            // ...
            "i18nMissingTranslation": "error"
          },

HELPFUL: Angular projenizi bir Angular uygulamasına derlediğinizde, i18n niteliğinin örnekleri $localize etiketli mesaj dizesi örnekleriyle değiştirilir. Bu, Angular uygulamanızın derlemeden sonra çevrildiği anlamına gelir. Bu ayrıca, her yerel ayar için tüm Angular projenizi yeniden derlemeden Angular uygulamanızın yerelleştirilmiş sürümlerini oluşturabileceğiniz anlamına gelir.

Angular uygulamanızı çevirdiğinizde, çeviri dönüşümü şablon literal dizesinin parçalarını (statik dizeler ve ifadeler) bir çeviri koleksiyonundaki dizelerle değiştirir ve yeniden sıralar. Daha fazla bilgi için $localize bölümüne bakın.

TL;DR: Bir kez derleyin, ardından her yerel ayar için çevirin.

Sıradaki