Bu script, JSON dil dosyalarını otomatik olarak senkronize eder ve Flutter projeleri için bir çeviri sınıfı oluşturur.
- Terminali açın ve script'in bulunduğu dizine gidin.
- Aşağıdaki komutu çalıştırın:
dart localization_checker.dart
Script'i, bir dosyayı kaydettiğinizde otomatik olarak çalışacak şekilde yapılandırabilirsiniz. Bu, dil dosyalarınızı ve çeviri sınıfınızı güncel tutmak için faydalıdır.
Ancak, tercihinize bağlı olarak script'i manuel olarak terminalden çalıştırmaya devam edebilirsiniz (aşağıya bakınız).
- Kod düzenleyicinizde (örneğin, Visual Studio Code) Run on Save uzantısını yükleyin.
.vscode/settings.json
dosyanızı açın.- Aşağıdaki yapılandırmayı ekleyin:
{ "emeraldwalk.runonsave": { "commands": [ { "match": ".*\\.json$", // Tüm JSON dosyalarını eşleştir "cmd": "dart localization_checker.dart" // Script'i çalıştıran komut } ] } }
Script'in davranışını config
değişkenini düzenleyerek kontrol edebilirsiniz.
const Map<String, dynamic> config = {
"languagePath": "assets/langs",
"mainJsonFile": "assets/langs/en.json",
"multiLanguageStringsFile": "lib/core/constants/app_multi_language_strings.dart",
"processJsonFiles": true,
"processClassFile": true,
};
-
languagePath
- Açıklama: JSON dil dosyalarının bulunduğu dizin.
- Beklenen Değer: JSON dosyalarını içeren klasöre göreli bir yol.
- Örnek:
assets/langs
: Eğer JSON dosyalarınızassets/langs
dizininde bulunuyorsa.lib/localization
: JSON dosyalarınız özel bir dizindeyse.
- Notlar: Bu yolun script çalıştırılmadan önce var olduğundan emin olun.
-
mainJsonFile
- Açıklama: Senkronizasyon için referans alınacak ana JSON dosyasının tam yolu.
- Beklenen Değer: Ana JSON dosyasının tam yolu (ör.
en.json
). - Örnek:
assets/langs/en.json
- Notlar: Bu dosya her zaman var olmalıdır çünkü senkronizasyonun ana kaynağıdır.
-
multiLanguageStringsFile
- Açıklama: Üretilen
MultiLanguageStrings
sınıfının kaydedileceği dosyanın yolu. - Beklenen Değer:
.dart
dosyasının tam yolu. - Örnek:
lib/core/constants/app_multi_language_strings.dart
- Notlar: Script çalıştırılmadan önce bu dizinin var olduğundan emin olun.
- Açıklama: Üretilen
-
processJsonFiles
- Açıklama: Script'in JSON dosyalarını işleyip işlemeyeceğini kontrol eder.
- Kabul Edilen Değerler:
true
: JSON dosyalarını senkronize eder (eksik anahtarları ekler ve kullanılmayanları kaldırır).false
: JSON dosyaları işlenmez.
- Varsayılan Değer:
true
- Notlar: Yalnızca
MultiLanguageStrings
sınıfını oluşturmak istiyorsanızfalse
olarak ayarlayın.
-
processClassFile
- Açıklama: Çeviri sınıfının oluşturulup oluşturulmayacağını kontrol eder.
- Kabul Edilen Değerler:
true
: Sınıfı oluşturur.false
: Sınıf oluşturma işlemi yapılmaz.
- Varsayılan Değer:
true
- Notlar: Yalnızca JSON dosyalarını işlemek istiyorsanız
false
olarak ayarlayın.
Parametre | Açıklama | Örnek Değer |
---|---|---|
languagePath |
JSON dil dosyalarının bulunduğu dizin | assets/langs |
mainJsonFile |
Ana JSON dosyasının tam yolu (referans dosyası) | assets/langs/en.json |
multiLanguageStringsFile |
Üretilen sınıf dosyasının kaydedileceği yol | lib/core/constants/app_multi_language_strings.dart |
processJsonFiles |
JSON dosyalarının işlenip işlenmeyeceği | true veya false |
processClassFile |
Çeviri sınıfının oluşturulup oluşturulmayacağı | true veya false |