Flutter プロジェクトのバックアップ

リズムアプリ開発中

Google Play Consoleはまだ、「審査中」

Flutter プロジェクトのバックアップをしておきたいと思いました。
以前はDropboxの中に直接フラッターのプロジェクトを作っていたのですが、どうもDropの同期の問題でビルドに何回も失敗することから、Dropboxの外に出すことにしました
だけども何かあったときのために、やはりDropboxの中にバックアップを取っておきたいものです
また、間違えを防ぐためプロジェクト名の頭にbackup_をつけるようにしています。

目次

バックアップを取る手順

プロジェクト全体をコピー

YYYYYYは自分のflutterプロジェクトのフォルダー名です

# Dropboxのバックアップ先に移動
cd /Users/XXXXX/Library/CloudStorage/Dropbox/flutterapp

# プロジェクト全体をコピー
cp -r ~/flutter_projects/YYYYYY ./backup_YYYYYY 

# 不要なビルドファイルを削除(容量削減)
rm -rf ./backup_YYYYYY/build
rm -rf ./backup_YYYYYY/.dart_tool
rm -rf ./backup_YYYYYY/android/.gradle
rm -rf ./backup_YYYYYY/ios/.symlinks
rm -rf ./backup_YYYYYY/ios/Pods

簡単にできて感動
今後のバックアップのタイミング:
定期的にバックアップを取ることをお勧めします:

大きな機能を追加した後
アプリをリリースする前
重要な変更をする前

同じコマンドを実行するだけです(既存のバックアップは上書きされます)。

多言語化の準備

Google Play Consoleは審査中なんですね。修正が反映されるまでの準備


pubspec.yaml に国際化パッケージを追加

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  intl: any

ARBファイルで翻訳を管理

各言語の翻訳ファイルを作成
lib/l10n/app_ja.arb (日本語)
lib/l10n/app_en.arb (英語)
lib/l10n/app_es.arb (スペイン語)

pubspec.yamlに国際化パッケージを追加

cd ~/flutter_projects/rhythm_academia
nano pubspec.yaml
dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  intl: any

そして、ファイルの最後に以下を追加:

flutter:
  generate: true


日本語部分だけを抽出

grep -n '[ぁ-んァ-ヶー一-龠]' ~/flutter_projects/rhythm_academia/lib/main.dart

l10n.yamlファイルを作成

cd ~/flutter_projects/rhythm_academia
nano l10n.yaml

以下の内容を入力

arb-dir: lib/l10n
template-arb-file: app_ja.arb
output-localization-file: app_localizations.dart

そして、保存して終了: Ctrl + O → Enter → Ctrl + X

翻訳ファイルを作成

mkdir -p ~/flutter_projects/rhythm_academia/lib/l10n

日本語の翻訳ファイルを作成(ベース)

{
“appTitle”: “リズムアカデミア”,
“letsStartRhythm”: “リズムを練習しよう!”,
“startButton”: “スタート”,・・・・・

保存して終了: Ctrl + O → Enter → Ctrl + X
同じように英語・スペイン語を作成

翻訳コードを自動生成

cd ~/flutter_projects/rhythm_academia
flutter gen-l10n

このコマンドで、ARBファイルから自動的にDartコードが生成

✅ app_ja.arb, app_en.arb, app_es.arb – 翻訳ファイル
✅ app_localizations.dart – メインクラス
✅ app_localizations_en.dart, app_localizations_es.dart, app_localizations_ja.dart – 各言語クラス

main.dartを編集

インポート文を追加(ファイルの最初の方)
import ‘package:flutter/material.dart’; の下に追加:

import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:rhythm_academia/l10n/app_localizations.dart';

MaterialAppを修正

    return MaterialApp(
      localizationsDelegates: const [
        AppLocalizations.delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: const [
        Locale('ja'),
        Locale('en'),
        Locale('es'),
      ],
      title: 'YYYYY',

日本語テキストを多言語化対応に置き換え

‘スタート’
↓ 変更
AppLocalizations.of(context)!.startButton

*constがあるときは消す

const Text(
  AppLocalizations.of(context)!.letsStartRhythm,
Text(
  AppLocalizations.of(context)!.letsStartRhythm,

動作確認

アプリを起動し
デバイスの言語設定を変えて確認


iOSシミュレーターの場合:

Settings → General → Language & Region
言語を変更(日本語 → English → Español)
アプリを再起動して表示を確認

Androidエミュレーターの場合:

Settings → System → Languages & input → Languages
言語を追加・変更
アプリを再起動して表示を確認

目次