-
Notifications
You must be signed in to change notification settings - Fork 0
Setup
本次專案建立翻譯流程與測試網站,使用 Weblate 與 Github 搭建翻譯平台,協助譯者與校閱者在翻譯、校閱過程中的溝通與作業。
Weblate 主要是整合版本控制(如:git)在網頁介面上編輯的翻譯工具且支援多格式的輸出,並可共用字彙庫,方便譯者達成翻譯一致信。
Weblate 使用 GNU GPLv3+ 方式授權釋出,本次專案使用「自行架設」方案建構翻譯平台。https://weblate.org/zh-hant/hosting/
目前主要開源軟體在地化使用 weblate 為翻譯平台:openSUSE, Mattermost, F-Droid, Tor Project … 與約 900 開源專案使用。https://hosted.weblate.org/projects/
GitHub 是一個線上軟體原始碼代管服務平台,使用 Git 作為版本控制軟體並支援建立私有倉庫。
本次專案使用 Weblate (docker-compose) 版本建立,並依軟體基本需求,在 AWS EC2 建立一個 t4g.medium instance、Ubuntu 22.04.1 LTS(20 GB),並全程連線使用 TLS1.3(憑證發行商 Let's Encrypt)確保資料傳遞安全與避免網絡連線被攔截和竄改。
- AWS EC2:t4g.medium
- OS/Arch: Ubuntu 22.04.1 LTS, linux/arm64
- Docker Engine - Community: 20.10.21
- Weblate (docker-compose): 4.14.2 https://github.com/WeblateOrg/docker-compose
本次專案使用 weblate (docker compose) 版本,可直接使用 git 將此版本下載。
git clone https://github.com/WeblateOrg/docker-compose.git
cd docker-compose
調整以下設定檔至合適的資訊:
version: '3'
services:
weblate:
image: weblate/weblate:latest
ports:
- 127.0.0.1:8787:8080
environment:
WEBLATE_DEBUG: 0
WEBLATE_ADMIN_EMAIL: {admin mail}
WEBLATE_ADMIN_PASSWORD: {admin password}
WEBLATE_SERVER_EMAIL: {server admin mail}
WEBLATE_DEFAULT_FROM_EMAIL: {sender mail}
WEBLATE_EMAIL_HOST: email-smtp.us-east-1.amazonaws.com
WEBLATE_EMAIL_HOST_USER: {AWS SES API Token}
WEBLATE_EMAIL_HOST_PASSWORD: {AWS SES API Key}
WEBLATE_TIME_ZONE: "Asia/Taipei"
WEBLATE_SITE_DOMAIN: {website domain}
WEBLATE_ENABLE_HTTPS: 1
WEBLATE_REGISTRATION_OPEN: 0
WEBLATE_WORKERS: 1
CELERY_MAIN_OPTIONS: --concurrency=1
CELERY_NOTIFY_OPTIONS: --concurrency=1
CELERY_TRANSLATE_OPTIONS: --concurrency=1
設定檔完成後可以在 weblate 資料夾建立與啟動。
docker compose up –build
第一次執行需要等待些許時間初始化。
來源 | https://github.com/nextcloud/ios |
---|---|
分支(branch) | master |
提交(commit) | 9b5e1eae5748e26594f61563fc16045780d2b9f5 |
版本 | 4.9.3 |
日期 | 2023/12/04 |
-
來源:
-
「iOSClient/Supporting Files/en.lproj/Localizable.strings」
-
「iOSClient/Supporting Files/zh-Hant-TW.lproj/Localizable.strings」
-
po檔案:
-
「locales/en.po」
-
「locales/zh_Hant.po」
-
將「來源」轉換成「*.po」檔案:
執行「專案目錄/python/toPo.py」
正常會產生在「專案目錄/locales」底下
檔案為 en.po 、 zh_Hant.po。
- 將「*.po」覆蓋回「Localizable.strings」:
執行「專案目錄/python/toStrings.py」
正常會覆蓋掉en與zh-Hant-TW底下的Localizable.strings。
注意:會直接覆蓋掉來源檔。
組件名稱 | ios |
---|---|
檔案格式 | gettext PO 檔 (單語) |
檔案遮罩 | locales/*.po |
單語言的基底語言檔 | locales/en.po |
語言篩選 | ^(zh_TW)$ |
安裝Xcode 15.3
https://developer.apple.com/xcode/
下載Nextcloud iOS
git clone https://github.com/nextcloud/ios.git
開啟 Nextcloud iOS 專案
開啟 nextcloud.ios 專案目錄
清除Build Folder
選擇 product > Clean Build Folder… 進行建置目錄清除
設定並下在GoogleService-info
在Firebase developer console上設訂好專案後下載GoogleService-info.plist放進nextclodu.ios的專案目錄根目錄中
補安裝Carthage
如果因為缺乏Carthage framework因而無法進行編譯,可開啟terminal並在專案目中執行 carthage build –use-xcframeworks
設定模擬器目標並執行
Run/Debug 設定好目標模擬器
執行專案後會將APP安裝於模擬器並開始執行