From 5cad86531304c95363b6f8dff069308fcf18b730 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 12:45:31 -0700 Subject: [PATCH 01/14] add universal internationalization mod --- Dockerfile | 2 +- Dockerfile.complex | 23 - README.md | 438 ++++++++++- .../run | 30 - .../init-mod-imagename-modname-add-package/up | 1 - .../init-mod-imagename-modname-install/run | 8 - .../init-mod-imagename-modname-install/type | 1 - .../init-mod-imagename-modname-install/up | 1 - .../.run.swp | Bin 0 -> 16384 bytes .../dependencies.d/init-mods | 0 .../run | 719 ++++++++++++++++++ .../type | 0 .../up | 1 + ...od-universal-internationalization-install} | 0 .../init-mod-imagename-modname-add-package | 0 .../dependencies.d/init-services | 0 .../s6-rc.d/svc-mod-imagename-modname/run | 7 - .../s6-rc.d/svc-mod-imagename-modname/type | 1 - .../init-mod-imagename-modname-add-package | 0 .../init-mod-imagename-modname-install | 0 ...od-universal-internationalization-install} | 0 .../user/contents.d/svc-mod-imagename-modname | 0 22 files changed, 1142 insertions(+), 90 deletions(-) delete mode 100644 Dockerfile.complex delete mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/run delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/up delete mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/run delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/type delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/.run.swp rename root/etc/s6-overlay/s6-rc.d/{init-mod-imagename-modname-add-package => init-mod-universal-internationalization-install}/dependencies.d/init-mods (100%) create mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run rename root/etc/s6-overlay/s6-rc.d/{init-mod-imagename-modname-add-package => init-mod-universal-internationalization-install}/type (100%) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/up rename root/etc/s6-overlay/s6-rc.d/{init-mod-imagename-modname-install/dependencies.d/init-mods-package-install => init-mods-end/dependencies.d/init-mod-universal-internationalization-install} (100%) delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-imagename-modname-add-package delete mode 100644 root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/dependencies.d/init-services delete mode 100755 root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/run delete mode 100644 root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/type delete mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-imagename-modname-add-package delete mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-imagename-modname-install rename root/etc/s6-overlay/s6-rc.d/{init-mods-end/dependencies.d/init-mod-imagename-modname-install => user/contents.d/init-mod-universal-internationalization-install} (100%) delete mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-mod-imagename-modname diff --git a/Dockerfile b/Dockerfile index 4ece5e8..211d68e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM scratch -LABEL maintainer="username" +LABEL maintainer="thelamer" # copy local files COPY root/ / diff --git a/Dockerfile.complex b/Dockerfile.complex deleted file mode 100644 index d2c6b11..0000000 --- a/Dockerfile.complex +++ /dev/null @@ -1,23 +0,0 @@ -## Buildstage ## -FROM ghcr.io/linuxserver/baseimage-alpine:3.15 as buildstage - -RUN \ - echo "**** install packages ****" && \ - apk add --no-cache \ - curl && \ - echo "**** grab rclone ****" && \ - mkdir -p /root-layer && \ - curl -o \ - /root-layer/rclone.deb -L \ - "https://downloads.rclone.org/v1.47.0/rclone-v1.47.0-linux-amd64.deb" - -# copy local files -COPY root/ /root-layer/ - -## Single layer deployed image ## -FROM scratch - -LABEL maintainer="username" - -# Add files from buildstage -COPY --from=buildstage /root-layer/ / diff --git a/README.md b/README.md index c8bfc60..f975e05 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,429 @@ -# Rsync - Docker mod for openssh-server +# Internationalization - Docker mod for all containers to add fonts and non en_US language support -This mod adds rsync to openssh-server, to be installed/updated during container start. +This mod adds fonts and locales to an image, to be installed/updated during container start. -In openssh-server docker arguments, set an environment variable `DOCKER_MODS=linuxserver/mods:openssh-server-rsync` +In your container's docker arguments, set an environment variable `DOCKER_MODS=linuxserver/mods:internationalization` -If adding multiple mods, enter them in an array separated by `|`, such as `DOCKER_MODS=linuxserver/mods:openssh-server-rsync|linuxserver/mods:openssh-server-mod2` +For this language you will need to set the following environment variables as well: -# Mod creation instructions +`LC_ALL=en_US` -* Fork the repo, create a new branch based on the branch `template`. -* Edit the `Dockerfile` for the mod. `Dockerfile.complex` is only an example and included for reference; it should be deleted when done. -* Inspect the `root` folder contents. Edit, add and remove as necessary. -* After all init scripts and services are created, run `find ./ -path "./.git" -prune -o \( -name "run" -o -name "finish" -o -name "check" \) -not -perm -u=x,g=x,o=x -print -exec chmod +x {} +` to fix permissions. -* Edit this readme with pertinent info, delete these instructions. -* Finally edit the `.github/workflows/BuildImage.yml`. Customize the vars for `BASEIMAGE` and `MODNAME`. Set the versioning logic if needed. -* Ask the team to create a new branch named `-`. Baseimage should be the name of the image the mod will be applied to. The new branch will be based on the `template` branch. -* Submit PR against the branch created by the team. +If adding multiple mods, enter them in an array separated by `|`, such as `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` + +## Word of warning + +This mod on some base images is massive, (hundreds of megs compressed gigs uncompressed). It does not filter down to specific languages needed and is meant as a catch all for non english users. Depending on the speed/quality of your connection this means first init for installation can take some time, locales generation as well. Expect anywhere from 5-15 minutes. Once finished and on subsequent restarts it will not be re-ran as the logic checks for the presence of itself on the filesystem, but on upgrades or full container recreation this will run again. + +# 国际化 - Docker mod 为所有容器添加字体和非 en_US 语言支持 + +此 mod 将字体和语言环境添加到图像中,以便在容器启动期间安装/更新。 + +在容器的 docker 参数中,设置环境变量 `DOCKER_MODS=linuxserver/mods:internationalization` + +对于这种语言,您还需要设置以下环境变量: + +`LC_ALL=zh_CN` + +如果添加多个mod,将它们输入到一个数组中,以`|`分隔,例如`DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` + +## 警告词 + +一些基础图像上的这个 mod 是巨大的,(数百 megs 压缩演出未压缩)。 它不会过滤到所需的特定语言,而是为非英语用户准备的。 根据您的连接速度/质量,这意味着首次安装初始化可能需要一些时间,区域设置生成也是如此。 预计 5-15 分钟。 一旦完成并在随后的重新启动时,它将不会重新运行,因为逻辑会检查其自身是否存在于文件系统上,但在升级或完整的容器重建时,它将再次运行。 + +# 国際化 - フォントと非 en_US 言語サポートを追加するためのすべてのコンテナーの Docker mod + +この mod は、イメージにフォントとロケールを追加し、コンテナーの起動時にインストール/更新します。 + +コンテナーの docker 引数で、環境変数 `DOCKER_MODS=linuxserver/mods:internationalization` を設定します。 + +この言語では、次の環境変数も設定する必要があります: + +`LC_ALL=ja_JP` + +複数の mod を追加する場合は、「DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2」のように「|」で区切られた配列に入力します + +## 注意事項 + +一部の基本イメージのこの mod は大規模です (数百メガバイトの圧縮ギグが非圧縮)。 必要な特定の言語に絞り込むことはなく、英語以外のユーザー向けのキャッチ オールとして意図されています。 接続の速度/品質によっては、インストールの最初の初期化に時間がかかることを意味し、ロケールの生成も同様です。 5 ~ 15 分の範囲で期待してください。 ロジックがファイルシステム上にそれ自体が存在するかどうかをチェックするため、完了して以降の再起動時に再実行されることはありませんが、アップグレードまたは完全なコンテナの再作成時に再実行されます。 + +# التدويل - تعديل Docker لجميع الحاويات لإضافة خطوط ودعم لغة غير en_US + +يضيف هذا الوضع الخطوط واللغات إلى صورة ، ليتم تثبيتها / تحديثها أثناء بدء الحاوية. + +في وسيطات عامل إرساء الحاوية الخاصة بك ، قم بتعيين متغير بيئة `DOCKER_MODS = linuxserver / mods: internationalization` + +بالنسبة لهذه اللغة ، ستحتاج إلى تعيين متغيرات البيئة التالية أيضًا: + +`LC_ALL=ar_AE` + +في حالة إضافة تعديلات متعددة ، أدخلها في مصفوفة مفصولة بـ `|` ، مثل `DOCKER_MODS = linuxserver / mods: internationalization | linuxserver / mods: mod2` + +## كلمة تحذير + +هذا التعديل في بعض الصور الأساسية ضخم ، (مئات الميغا من العربات المضغوطة غير مضغوطة). لا يتم التصفية حسب اللغات المحددة المطلوبة ويقصد به أن يكون بمثابة صيد لجميع المستخدمين غير الإنجليز. اعتمادًا على سرعة / جودة اتصالك ، يعني هذا أن أول بدء للتثبيت قد يستغرق بعض الوقت ، وكذلك إنشاء اللغات. توقع في أي مكان من 5-15 دقيقة. بمجرد الانتهاء وإعادة التشغيل اللاحقة ، لن تتم إعادة تشغيله حيث يتحقق المنطق من وجود نفسه على نظام الملفات ، ولكن عند الترقيات أو إعادة إنشاء الحاوية الكاملة ، سيعمل هذا مرة أخرى. + +# Интернационализация — мод Docker для всех контейнеров для добавления шрифтов и поддержки языков, отличных от en_US + +Этот мод добавляет в изображение шрифты и локали, которые будут установлены/обновлены при запуске контейнера. + +В аргументах docker вашего контейнера установите переменную среды `DOCKER_MODS=linuxserver/mods:internationalization` + +Для этого языка вам также потребуется установить следующие переменные среды: + +`LC_ALL=ru_RU` + +При добавлении нескольких модов введите их в массив, разделенный символом `|`, например, `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` + +## Слово предупреждения + +Этот мод на некоторых базовых образах является массивным (сотни мегабайт сжатых гигов без сжатия). Он не фильтрует нужные языки и предназначен для всех пользователей, не владеющих английским языком. В зависимости от скорости/качества вашего соединения это означает, что первая инициализация для установки может занять некоторое время, а также создание локалей. Ожидайте от 5 до 15 минут. После завершения и при последующих перезапусках он не будет запускаться повторно, так как логика проверяет свое присутствие в файловой системе, но при обновлении или полном воссоздании контейнера он будет запускаться снова. + +# Internacionalización: mod de Docker para que todos los contenedores agreguen fuentes y compatibilidad con idiomas que no sean en_US + +Este mod agrega fuentes y configuraciones regionales a una imagen, para que se instalen o actualicen durante el inicio del contenedor. + +En los argumentos de la ventana acoplable de su contenedor, establezca una variable de entorno `DOCKER_MODS=linuxserver/mods:internationalization` + +Para este idioma, también deberá configurar las siguientes variables de entorno: + +`LC_ALL=es_MX` + +Si agrega varias modificaciones, introdúzcalas en una matriz separada por `|`, como `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` + +## Palabra de advertencia + +Este mod en algunas imágenes base es masivo (cientos de megas de conciertos comprimidos sin comprimir). No se filtra a los idiomas específicos que se necesitan y está pensado como una solución para todos los usuarios que no hablan inglés. Dependiendo de la velocidad/calidad de su conexión, esto significa que la primera inicialización para la instalación puede llevar algo de tiempo, así como la generación de locales. Espere entre 5 y 15 minutos. Una vez finalizado y en los reinicios posteriores, no se volverá a ejecutar, ya que la lógica comprueba su presencia en el sistema de archivos, pero en las actualizaciones o en la recreación completa del contenedor, se ejecutará de nuevo. + +# Internationalisierung - Docker-Mod für alle Container zum Hinzufügen von Schriftarten und Unterstützung von nicht en_US-Sprachen + +Dieser Mod fügt Schriftarten und Gebietsschemata zu einem Image hinzu, die während des Containerstarts installiert/aktualisiert werden. + +Setzen Sie in den Docker-Argumenten Ihres Containers eine Umgebungsvariable `DOCKER_MODS=linuxserver/mods:internationalization` + +Für diese Sprache müssen Sie auch die folgenden Umgebungsvariablen setzen: + +`LC_ALL=de_DE` + +Wenn Sie mehrere Mods hinzufügen, geben Sie sie in einem durch `|` getrennten Array ein, wie z. B. `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` + +## Warnung + +Dieser Mod auf einigen Basis-Images ist massiv (Hunderte von MB komprimierte Gigs unkomprimiert). Es filtert nicht nach bestimmten Sprachen, die benötigt werden, und ist als Sammelpunkt für nicht englische Benutzer gedacht. Abhängig von der Geschwindigkeit/Qualität Ihrer Verbindung bedeutet dies, dass die erste Initialisierung für die Installation einige Zeit in Anspruch nehmen kann, ebenso wie die Generierung der Gebietsschemas. Rechnen Sie mit 5-15 Minuten. Nach Abschluss und bei nachfolgenden Neustarts wird es nicht erneut ausgeführt, da die Logik prüft, ob es sich selbst im Dateisystem befindet, aber bei Upgrades oder der vollständigen Wiederherstellung des Containers wird es erneut ausgeführt. + +# Internationalisation - Mod Docker pour tous les conteneurs pour ajouter des polices et un support de langue non en_US + +Ce mod ajoute des polices et des paramètres régionaux à une image, à installer/mettre à jour lors du démarrage du conteneur. + +Dans les arguments docker de votre conteneur, définissez une variable d'environnement `DOCKER_MODS=linuxserver/mods:internationalization` + +Pour cette langue, vous devrez également définir les variables d'environnement suivantes : + +`LC_ALL=fr_FR` + +Si vous ajoutez plusieurs mods, entrez-les dans un tableau séparé par `|`, comme `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` + +## Mot d'avertissement + +Ce mod sur certaines images de base est massif (des centaines de mégas de concerts compressés non compressés). Il ne filtre pas les langues spécifiques nécessaires et est conçu comme un fourre-tout pour les utilisateurs non anglophones. En fonction de la vitesse/qualité de votre connexion, cela signifie que la première initialisation de l'installation peut prendre un certain temps, ainsi que la génération des paramètres régionaux. Attendez-vous entre 5 et 15 minutes. Une fois terminé et lors des redémarrages suivants, il ne sera pas réexécuté car la logique vérifie sa présence sur le système de fichiers, mais lors des mises à niveau ou de la recréation complète du conteneur, cela s'exécutera à nouveau. + +# Internationalisering - Docker-mod voor alle containers om lettertypen en niet-en_US-taalondersteuning toe te voegen + +Deze mod voegt lettertypen en landinstellingen toe aan een afbeelding, die moeten worden geïnstalleerd/geüpdatet tijdens het starten van de container. + +Stel in de docker-argumenten van uw container een omgevingsvariabele in `DOCKER_MODS=linuxserver/mods:internationalization` + +Voor deze taal moet u ook de volgende omgevingsvariabelen instellen: + +`LC_ALL=nl_NL` + +Als u meerdere mods toevoegt, voert u deze in een array in gescheiden door `|`, zoals `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` + +## Waarschuwing + +Deze mod op sommige basisafbeeldingen is enorm (honderden megs gecomprimeerde optredens ongecomprimeerd). Het filtert niet naar specifieke talen die nodig zijn en is bedoeld als verzamelpunt voor niet-Engelse gebruikers. Afhankelijk van de snelheid/kwaliteit van uw verbinding betekent dit dat de eerste init voor installatie enige tijd kan duren, evenals het genereren van locales. Verwacht ergens tussen de 5 en 15 minuten. Eenmaal voltooid en bij daaropvolgende herstarts zal het niet opnieuw worden uitgevoerd omdat de logica controleert op de aanwezigheid van zichzelf op het bestandssysteem, maar bij upgrades of volledige containerrecreatie zal dit opnieuw worden uitgevoerd. + +# Internazionalizzazione: mod Docker per tutti i contenitori per aggiungere caratteri e supporto per lingue non en_US + +Questa mod aggiunge caratteri e locali a un'immagine, da installare/aggiornare durante l'avvio del contenitore. + +Negli argomenti docker del tuo contenitore, imposta una variabile di ambiente `DOCKER_MODS=linuxserver/mods:internationalization` + +Per questa lingua dovrai impostare anche le seguenti variabili d'ambiente: + +`LC_ALL=it_IT` + +Se aggiungi più mod, inseriscile in un array separato da `|`, ad esempio `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` + +## Parola di avvertimento + +Questa mod su alcune immagini di base è enorme (centinaia di mega giga compressi non compressi). Non filtra le lingue specifiche necessarie ed è inteso come una cattura per tutti gli utenti non inglesi. A seconda della velocità/qualità della tua connessione, ciò significa che il primo init per l'installazione può richiedere del tempo, anche la generazione dei locali. Aspettati ovunque da 5-15 minuti. Una volta terminato e ai successivi riavvii, non verrà eseguito nuovamente poiché la logica verifica la presenza di se stesso sul filesystem, ma durante gli aggiornamenti o la ricreazione del contenitore completo verrà eseguito di nuovo. -## Tips and tricks -* Some images have helpers built in, these images are currently: - * [Openvscode-server](https://github.com/linuxserver/docker-openvscode-server/pull/10/files) - * [Code-server](https://github.com/linuxserver/docker-code-server/pull/95) +# Other languages + +The following language locales are also supported: + +``` +aa_DJ +aa_ER +aa_ET +af_ZA +am_ET +an_ES +ar_AE +ar_BH +ar_DZ +ar_EG +ar_IN +ar_IQ +ar_JO +ar_KW +ar_LB +ar_LY +ar_MA +ar_OM +ar_QA +ar_SA +ar_SD +ar_SY +ar_TN +ar_YE +as_IN +ast_ES +ayc_PE +az_AZ +be_BY +bem_ZM +ber_DZ +ber_MA +bg_BG +bho_IN +bn_BD +bn_IN +bo_CN +bo_IN +br_FR +brx_IN +bs_BA +byn_ER +ca_AD +ca_ES +ca_FR +ca_IT +crh_UA +csb_PL +cs_CZ +cv_RU +cy_GB +da_DK +de_AT +de_BE +de_CH +de_DE +de_LU +doi_IN +dv_MV +dz_BT +el_CY +el_GR +en_AG +en_AU +en_BW +en_CA +en_DK +en_GB +en_HK +en_IE +en_IN +en_NG +en_NZ +en_PH +en_SG +en_US +en_ZA +en_ZM +en_ZW +es_AR +es_BO +es_CL +es_CO +es_CR +es_CU +es_DO +es_EC +es_ES +es_GT +es_HN +es_MX +es_NI +es_PA +es_PE +es_PR +es_PY +es_SV +es_US +es_UY +es_VE +et_EE +eu_ES +fa_IR +ff_SN +fi_FI +fil_PH +fo_FO +fr_BE +fr_CA +fr_CH +fr_FR +fr_LU +fur_IT +fy_DE +fy_NL +ga_IE +gd_GB +gez_ER +gez_ET +gl_ES +gu_IN +gv_GB +ha_NG +he_IL +hi_IN +hne_IN +hr_HR +hsb_DE +ht_HT +hu_HU +hy_AM +ia_FR +id_ID +ig_NG +ik_CA +is_IS +it_CH +it_IT +iu_CA +ja_JP +ka_GE +kk_KZ +kl_GL +km_KH +kn_IN +kok_IN +ko_KR +ks_IN +ku_TR +kw_GB +ky_KG +lb_LU +lg_UG +li_BE +lij_IT +li_NL +lo_LA +lt_LT +lv_LV +mag_IN +mai_IN +mg_MG +mhr_RU +mi_NZ +mk_MK +ml_IN +mni_IN +mn_MN +mr_IN +ms_MY +mt_MT +my_MM +nb_NO +nds_DE +nds_NL +ne_NP +nhn_MX +niu_NU +niu_NZ +nl_AW +nl_BE +nl_NL +nn_NO +nr_ZA +nso_ZA +oc_FR +om_ET +om_KE +or_IN +os_RU +pa_IN +pa_PK +pl_PL +ps_AF +pt_BR +pt_PT +ro_RO +ru_RU +ru_UA +rw_RW +sa_IN +sat_IN +sc_IT +sd_IN +se_NO +shs_CA +sid_ET +si_LK +sk_SK +sl_SI +so_DJ +so_ET +so_KE +so_SO +sq_AL +sq_MK +sr_ME +sr_RS +ss_ZA +st_ZA +sv_FI +sv_SE +sw_KE +sw_TZ +szl_PL +ta_IN +ta_LK +te_IN +tg_TJ +th_TH +ti_ER +ti_ET +tig_ER +tk_TM +tl_PH +tn_ZA +tr_CY +tr_TR +ts_ZA +tt_RU +ug_CN +uk_UA +unm_US +ur_IN +ur_PK +uz_UZ +ve_ZA +vi_VN +wa_BE +wae_CH +wal_ET +wo_SN +xh_ZA +yi_US +yo_NG +yue_HK +zh_CN +zh_HK +zh_SG +zh_TW +zu_ZA +``` diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/run b/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/run deleted file mode 100755 index 063b570..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/run +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/with-contenv bash - -# This is the init file used for adding os or pip packages to install lists. -# It takes advantage of the built-in init-mods-package-install init script that comes with the baseimages. -# If using this, we need to make sure we set this init as a dependency of init-mods-package-install so this one runs first - -if ! command -v apprise; then - echo "**** Adding apprise and its deps to package install lists ****" - echo "apprise" >> /mod-pip-packages-to-install.list - ## Ubuntu - if [ -f /usr/bin/apt ]; then - echo "\ - python3 \ - python3-pip \ - runc" >> /mod-repo-packages-to-install.list - fi - # Alpine - if [ -f /sbin/apk ]; then - echo "\ - cargo \ - libffi-dev \ - openssl-dev \ - python3 \ - python3-dev \ - python3 \ - py3-pip" >> /mod-repo-packages-to-install.list - fi -else - echo "**** apprise already installed, skipping ****" -fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/up b/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/up deleted file mode 100644 index 6414139..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/run deleted file mode 100755 index 59a4b77..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/run +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/with-contenv bash - -# This is an install script that is designed to run after init-mods-package-install -# so it can take advantage of packages installed -# init-mods-end depends on this script so that later init and services wait until this script exits - -echo "**** Setting up apprise ****" -apprise blah blah diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/type b/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/type deleted file mode 100644 index 3d92b15..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/type +++ /dev/null @@ -1 +0,0 @@ -oneshot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/up b/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/up deleted file mode 100644 index 03d298d..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/.run.swp b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/.run.swp new file mode 100644 index 0000000000000000000000000000000000000000..70df94a4833241198c033e0d8fe2f43c03eaf59b GIT binary patch literal 16384 zcmeI3YltLQ6~`;9F}~u8K|@gR?yMxTrnd6{6A6p-%=FHyyJymm*-Y;y*V|pUt7_`i zTaTXU2{8n}Xb4dRKZGbj1VIRjqEXO56b$&q-~&ZOC5nOuB_BjEW~2XetGZ{|)O5Aq z0^1G0Q+Mt?b?&+6KI-0@?(S{dYc=+<)3<5(yj#;wH19TkGCXz7XTGUvu_ayM$&iYs zeHL9|$Y}~$*(b*aOGeOhWT<-7*R6poi<9gZ^xviC%%oM zNVvM~$1?OqYzMw@?E{rSW)ut8Erp3cgCBF1c?7P`2wbn-dB^Q)s-Ijq!ESg@`|1qC zyw&pv%p)+5z℞2+SiekH9=J5FbSF-Y*tbFf^@+^CP znMYtAfq4Yx5tv6{9)WoT<`I}jU><>a1m+Q#N8qZAfG{-eI<)*jI!NRH|Ks!jpN?zV zAHfUY>)=bk2j{`9;3n|eyEN@3@B;V&_%1NP1K>R9fD_;ssNm<|XW-kQ4(P)`0JbC8~8r>3U~}8-~q4#ZUZ-gW8fvcQ}`u#7JL=!~E zKR?^c&(3$y5xLsC`Pp{9-*%L1#5VG?^KD!Cjkof%(rdk_obQdx0&yE zKgsv7e?)e^X{Gf;^zkfu&ha%rYk?*0%pWmXNIo=QaIMV$fPJ3Mp zV%@}e$-b4v^t21c*~!2Vv1B*jjJu_4_u2XLY~e!>R-0>^e6ifDJhZ^hoM8(|H}T_S zf!%*UsY2%j)BCKHL}4kiL?}zD)>1H#emok;5>;QSLo|gSEv;|p4QVE>2v5gx4@T}` z`1YAUSzT3vEGV~i=>@yvS#p@$+a0f9hk5v#nQFBdI7}D@(_ujGiJn>pj%k8<6{|Ai^+W-4WW?U_HUh%OufONN7Q>wHPKkZhi5BE_|uOdPCl5v)+iW zEHVSJ+hB&|aWdrr^`^SCnCVh|WM<_Nx0VUEK$I?O>| zSDEASjaBBT9&`eSYIXv?(O`}m^G?EBNbixW&WLZUFt-Is9&YI{&*8NV=DAACPqlnr!!2qmd+6mI z=Ec0$V%~_?YRvEQ`X=)Y433Jrpk4&6zQueCH{Qp5w7K3+FCFH)ynK!%e1#-s3{@Bi zX-N7}K$oCLQ!G#m4CF?I1*-NSB1Z@4(K^Yk4K~2gsImb@?^!m8`C^0QR*QuJZ)~zK zA$>^9(QuD9&ap_{8wqqqokcwgRfKLs8ZK|L$imn!vj|;@wJoxFb%R9?Z$i4fxyIlg z)>?~U$VW_@EQ+W(SgJ@4X)r@JQM#w@-Q%qeiw;y9V&xem zs*Kg3i%s5I$Mc4_R#|M*z$Mv&G}RvtZ`D|==0>b0bd341!yqwAVpVe-Qvec^*0{u> zFeJW5vybKpvOW}xQ4Maycf1#{Z-^v}PWB9E(g$p|pHLfxsB8NrdP*NY`VZCn(g;FvxjJbZ zem_?`-HN2zW+(?tzsPP`TRxNK-@??_*Mmq8r7O{x$yVdAK0|hG;lJKOnm>yL5%w&N z_7{h{AaWTy0EB+xHTBjwt^rO7n@t?EPpC~3Y46#wrT4Jwk^Ye4ZfSJ>|J*e=`r~{{ z=l}8l&wq#W{WIV(Ai>AM`@r9Ep8p|u5`;P-FU zv~Ph=feYX+a2)&%?-+gro&qD#1gF4t;6=P&cn&-P0U0Q6qrCh!_!`A_f%@ErI85TFCv;08ePJ`U!eH&z7FMN6$!r|`i} z`?3Xzouz|LshX{X+4%;`QsmeJZ17D+_e@qNBk*aF!do77gCYA&w;4`4YJ>g|P2_g# ztbX@l)@k*(x+h&PSF-gKrqf#0@;foH099I#Q;S$VC#ISY-Glupichl4#$*Lo=1te` z_K?cf54|~3CmE~_eLGB#dnZ{#j(=H$Emx`^p|xnlEhTz$RWh=bE46Z(?uN}n9o6n5 zw8*@NAN-76AcJ_|hG`^~lXM)?)v-pG`*A4P>vAtUwq2$?KDQm&xGBd@T4!fEr|GC= zmhB{s7jQARM`m-wCPa-QxBdQUQZ=bx4Zy<6^{BN?wjtFHxj-l!eZ-V#R7AP{Rnt7 z7@VjUnRG-152tInVup2rl%|_;tYFufVJ2sKMaJ+W+~Pnu7O54O6232t8AhU$DNZ+M z$!;k3ie1a}rW-Sp&`TU^hNw+6iwy1xI*b_H literal 0 HcmV?d00001 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/dependencies.d/init-mods b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/dependencies.d/init-mods similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/dependencies.d/init-mods rename to root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/dependencies.d/init-mods diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run new file mode 100755 index 0000000..79f64b5 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run @@ -0,0 +1,719 @@ +#!/usr/bin/with-contenv bash + +# Determine our OS +if [ -f /usr/sbin/pacman ]; then + LSIO_BASE=arch +elif grep -q 'ID=debian' /etc/os-release; then + LSIO_BASE=debian +elif grep -q 'ID=ubuntu' /etc/os-release; then + LSIO_BASE=ubuntu +elif [ -f /bin/dnf ]; then + LSIO_BASE=fedora +elif [ -f /sbin/apk ]; then + LSIO_BASE=alpine +else + echo "Unable to determine base image, internationalization mod failed to run" + exit 1 +fi + +# Define locales for distros that need manual generation +LOCALES="aa_DJ aa_ER aa_ET af_ZA am_ET an_ES ar_AE ar_BH ar_DZ ar_EG ar_IN ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY ar_TN ar_YE as_IN ast_ES ayc_PE az_AZ be_BY bem_ZM ber_DZ ber_MA bg_BG bho_IN bn_BD bn_IN bo_CN bo_IN br_FR brx_IN bs_BA byn_ER ca_AD ca_ES ca_FR ca_IT crh_UA csb_PL cs_CZ cv_RU cy_GB da_DK de_AT de_BE de_CH de_DE de_LU doi_IN dv_MV dz_BT el_CY el_GR en_AG en_AU en_BW en_CA en_DK en_GB en_HK en_IE en_IN en_NG en_NZ en_PH en_SG en_US en_ZA en_ZM en_ZW es_AR es_BO es_CL es_CO es_CR es_CU es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et_EE eu_ES fa_IR ff_SN fi_FI fil_PH fo_FO fr_BE fr_CA fr_CH fr_FR fr_LU fur_IT fy_DE fy_NL ga_IE gd_GB gez_ER gez_ET gl_ES gu_IN gv_GB ha_NG he_IL hi_IN hne_IN hr_HR hsb_DE ht_HT hu_HU hy_AM ia_FR id_ID ig_NG ik_CA is_IS it_CH it_IT iu_CA ja_JP ka_GE kk_KZ kl_GL km_KH kn_IN kok_IN ko_KR ks_IN ku_TR kw_GB ky_KG lb_LU lg_UG li_BE lij_IT li_NL lo_LA lt_LT lv_LV mag_IN mai_IN mg_MG mhr_RU mi_NZ mk_MK ml_IN mni_IN mn_MN mr_IN ms_MY mt_MT my_MM nb_NO nds_DE nds_NL ne_NP nhn_MX niu_NU niu_NZ nl_AW nl_BE nl_NL nn_NO nr_ZA nso_ZA oc_FR om_ET om_KE or_IN os_RU pa_IN pa_PK pl_PL ps_AF pt_BR pt_PT ro_RO ru_RU ru_UA rw_RW sa_IN sat_IN sc_IT sd_IN se_NO shs_CA sid_ET si_LK sk_SK sl_SI so_DJ so_ET so_KE so_SO sq_AL sq_MK sr_ME sr_RS ss_ZA st_ZA sv_FI sv_SE sw_KE sw_TZ szl_PL ta_IN ta_LK te_IN tg_TJ th_TH ti_ER ti_ET tig_ER tk_TM tl_PH tn_ZA tr_CY tr_TR ts_ZA tt_RU ug_CN uk_UA unm_US ur_IN ur_PK uz_UZ ve_ZA vi_VN wa_BE wae_CH wal_ET wo_SN xh_ZA yi_US yo_NG yue_HK zh_CN zh_HK zh_SG zh_TW zu_ZA" + + +# Install pacakges and fonts +if [[ "${LSIO_BASE}" == "alpine" ]] && [[ ! -f /usr/share/fonts/noto/NotoSansCJK-Regular.ttc ]]; then + apk add --no-cache \ + font-noto-all \ + font-noto-cjk \ + font-noto-emoji \ + lang +elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then + apt-get update && \ + apt-get install -y \ + fonts-noto \ + language-pack-af \ + language-pack-am \ + language-pack-an \ + language-pack-ar \ + language-pack-as \ + language-pack-ast \ + language-pack-az \ + language-pack-be \ + language-pack-bg \ + language-pack-bn \ + language-pack-br \ + language-pack-bs \ + language-pack-ca \ + language-pack-crh \ + language-pack-cs \ + language-pack-cy \ + language-pack-da \ + language-pack-de \ + language-pack-dz \ + language-pack-el \ + language-pack-en \ + language-pack-eo \ + language-pack-es \ + language-pack-et \ + language-pack-eu \ + language-pack-fa \ + language-pack-fi \ + language-pack-fr \ + language-pack-fur \ + language-pack-ga \ + language-pack-gd \ + language-pack-gl \ + language-pack-gu \ + language-pack-he \ + language-pack-hi \ + language-pack-hr \ + language-pack-hu \ + language-pack-ia \ + language-pack-id \ + language-pack-is \ + language-pack-it \ + language-pack-ja \ + language-pack-ka \ + language-pack-kk \ + language-pack-km \ + language-pack-kn \ + language-pack-ko \ + language-pack-ku \ + language-pack-lt \ + language-pack-lv \ + language-pack-mk \ + language-pack-ml \ + language-pack-mr \ + language-pack-ms \ + language-pack-my \ + language-pack-nb \ + language-pack-nds \ + language-pack-ne \ + language-pack-nl \ + language-pack-nn \ + language-pack-oc \ + language-pack-or \ + language-pack-pa \ + language-pack-pl \ + language-pack-pt \ + language-pack-ro \ + language-pack-ru \ + language-pack-si \ + language-pack-sk \ + language-pack-sl \ + language-pack-sq \ + language-pack-sr \ + language-pack-sv \ + language-pack-ta \ + language-pack-te \ + language-pack-tg \ + language-pack-th \ + language-pack-tr \ + language-pack-ug \ + language-pack-uk \ + language-pack-vi \ + language-pack-xh \ + language-pack-zh-hans \ + language-pack-zh-hant +elif [[ "${LSIO_BASE}" == "debian" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then + apt-get install -y \ + fonts-noto \ + locales-all + # Generate locales + for LOCALE in ${LOCALES}; do + echo "Generating Locale for ${LOCALE}" + localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8 + done +elif [[ "${LSIO_BASE}" == "fedora" ]] && [[ ! -d /usr/share/licenses/google-noto-cjk-fonts-common ]]; then + dnf install -y \ + glibc-langpack-aa \ + glibc-langpack-af \ + glibc-langpack-agr \ + glibc-langpack-ak \ + glibc-langpack-am \ + glibc-langpack-an \ + glibc-langpack-anp \ + glibc-langpack-ar \ + glibc-langpack-as \ + glibc-langpack-ast \ + glibc-langpack-ayc \ + glibc-langpack-az \ + glibc-langpack-be \ + glibc-langpack-bem \ + glibc-langpack-ber \ + glibc-langpack-bg \ + glibc-langpack-bhb \ + glibc-langpack-bho \ + glibc-langpack-bi \ + glibc-langpack-bn \ + glibc-langpack-bo \ + glibc-langpack-br \ + glibc-langpack-brx \ + glibc-langpack-bs \ + glibc-langpack-byn \ + glibc-langpack-ca \ + glibc-langpack-ce \ + glibc-langpack-chr \ + glibc-langpack-cmn \ + glibc-langpack-crh \ + glibc-langpack-cs \ + glibc-langpack-csb \ + glibc-langpack-cv \ + glibc-langpack-cy \ + glibc-langpack-da \ + glibc-langpack-de \ + glibc-langpack-doi \ + glibc-langpack-dsb \ + glibc-langpack-dv \ + glibc-langpack-dz \ + glibc-langpack-el \ + glibc-langpack-en \ + glibc-langpack-eo \ + glibc-langpack-es \ + glibc-langpack-et \ + glibc-langpack-eu \ + glibc-langpack-fa \ + glibc-langpack-ff \ + glibc-langpack-fi \ + glibc-langpack-fil \ + glibc-langpack-fo \ + glibc-langpack-fr \ + glibc-langpack-fur \ + glibc-langpack-fy \ + glibc-langpack-ga \ + glibc-langpack-gd \ + glibc-langpack-gez \ + glibc-langpack-gl \ + glibc-langpack-gu \ + glibc-langpack-gv \ + glibc-langpack-ha \ + glibc-langpack-hak \ + glibc-langpack-he \ + glibc-langpack-hi \ + glibc-langpack-hif \ + glibc-langpack-hne \ + glibc-langpack-hr \ + glibc-langpack-hsb \ + glibc-langpack-ht \ + glibc-langpack-hu \ + glibc-langpack-hy \ + glibc-langpack-ia \ + glibc-langpack-id \ + glibc-langpack-ig \ + glibc-langpack-ik \ + glibc-langpack-is \ + glibc-langpack-it \ + glibc-langpack-iu \ + glibc-langpack-ja \ + glibc-langpack-ka \ + glibc-langpack-kab \ + glibc-langpack-kk \ + glibc-langpack-kl \ + glibc-langpack-km \ + glibc-langpack-kn \ + glibc-langpack-ko \ + glibc-langpack-kok \ + glibc-langpack-ks \ + glibc-langpack-ku \ + glibc-langpack-kw \ + glibc-langpack-ky \ + glibc-langpack-lb \ + glibc-langpack-lg \ + glibc-langpack-li \ + glibc-langpack-lij \ + glibc-langpack-ln \ + glibc-langpack-lo \ + glibc-langpack-lt \ + glibc-langpack-lv \ + glibc-langpack-lzh \ + glibc-langpack-mag \ + glibc-langpack-mai \ + glibc-langpack-mfe \ + glibc-langpack-mg \ + glibc-langpack-mhr \ + glibc-langpack-mi \ + glibc-langpack-miq \ + glibc-langpack-mjw \ + glibc-langpack-mk \ + glibc-langpack-ml \ + glibc-langpack-mn \ + glibc-langpack-mni \ + glibc-langpack-mr \ + glibc-langpack-ms \ + glibc-langpack-mt \ + glibc-langpack-my \ + glibc-langpack-nan \ + glibc-langpack-nb \ + glibc-langpack-nds \ + glibc-langpack-ne \ + glibc-langpack-nhn \ + glibc-langpack-niu \ + glibc-langpack-nl \ + glibc-langpack-nn \ + glibc-langpack-nr \ + glibc-langpack-nso \ + glibc-langpack-oc \ + glibc-langpack-om \ + glibc-langpack-or \ + glibc-langpack-os \ + glibc-langpack-pa \ + glibc-langpack-pap \ + glibc-langpack-pl \ + glibc-langpack-ps \ + glibc-langpack-pt \ + glibc-langpack-quz \ + glibc-langpack-raj \ + glibc-langpack-ro \ + glibc-langpack-ru \ + glibc-langpack-rw \ + glibc-langpack-sa \ + glibc-langpack-sah \ + glibc-langpack-sat \ + glibc-langpack-sc \ + glibc-langpack-sd \ + glibc-langpack-se \ + glibc-langpack-sgs \ + glibc-langpack-shn \ + glibc-langpack-shs \ + glibc-langpack-si \ + glibc-langpack-sid \ + glibc-langpack-sk \ + glibc-langpack-sl \ + glibc-langpack-sm \ + glibc-langpack-so \ + glibc-langpack-sq \ + glibc-langpack-sr \ + glibc-langpack-ss \ + glibc-langpack-st \ + glibc-langpack-sv \ + glibc-langpack-sw \ + glibc-langpack-szl \ + glibc-langpack-ta \ + glibc-langpack-tcy \ + glibc-langpack-te \ + glibc-langpack-tg \ + glibc-langpack-th \ + glibc-langpack-the \ + glibc-langpack-ti \ + glibc-langpack-tig \ + glibc-langpack-tk \ + glibc-langpack-tl \ + glibc-langpack-tn \ + glibc-langpack-to \ + glibc-langpack-tpi \ + glibc-langpack-tr \ + glibc-langpack-ts \ + glibc-langpack-tt \ + glibc-langpack-ug \ + glibc-langpack-uk \ + glibc-langpack-unm \ + glibc-langpack-ur \ + glibc-langpack-uz \ + glibc-langpack-ve \ + glibc-langpack-vi \ + glibc-langpack-wa \ + glibc-langpack-wae \ + glibc-langpack-wal \ + glibc-langpack-wo \ + glibc-langpack-xh \ + glibc-langpack-yi \ + glibc-langpack-yo \ + glibc-langpack-yue \ + glibc-langpack-yuw \ + glibc-langpack-zh \ + glibc-langpack-zu \ + glibc-locale-source \ + google-noto-cjk-fonts-common \ + google-noto-emoji-fonts \ + google-noto-fonts-common \ + google-noto-kufi-arabic-fonts \ + google-noto-kufi-arabic-vf-fonts \ + google-noto-looped-lao-fonts \ + google-noto-looped-lao-ui-fonts \ + google-noto-looped-lao-ui-vf-fonts \ + google-noto-looped-lao-vf-fonts \ + google-noto-looped-thai-fonts \ + google-noto-looped-thai-ui-fonts \ + google-noto-looped-thai-ui-vf-fonts \ + google-noto-looped-thai-vf-fonts \ + google-noto-music-fonts \ + google-noto-naskh-arabic-fonts \ + google-noto-naskh-arabic-ui-fonts \ + google-noto-naskh-arabic-ui-vf-fonts \ + google-noto-naskh-arabic-vf-fonts \ + google-noto-nastaliq-urdu-fonts \ + google-noto-nastaliq-urdu-vf-fonts \ + google-noto-rashi-hebrew-fonts \ + google-noto-rashi-hebrew-vf-fonts \ + google-noto-sans-adlam-fonts \ + google-noto-sans-adlam-unjoined-fonts \ + google-noto-sans-adlam-unjoined-vf-fonts \ + google-noto-sans-adlam-vf-fonts \ + google-noto-sans-anatolian-hieroglyphs-fonts \ + google-noto-sans-anatolian-hieroglyphs-vf-fonts \ + google-noto-sans-arabic-fonts \ + google-noto-sans-arabic-ui-fonts \ + google-noto-sans-arabic-ui-vf-fonts \ + google-noto-sans-arabic-vf-fonts \ + google-noto-sans-armenian-fonts \ + google-noto-sans-armenian-vf-fonts \ + google-noto-sans-avestan-fonts \ + google-noto-sans-avestan-vf-fonts \ + google-noto-sans-balinese-fonts \ + google-noto-sans-balinese-vf-fonts \ + google-noto-sans-bamum-fonts \ + google-noto-sans-bamum-vf-fonts \ + google-noto-sans-bassa-vah-fonts \ + google-noto-sans-bassa-vah-vf-fonts \ + google-noto-sans-batak-fonts \ + google-noto-sans-bengali-fonts \ + google-noto-sans-bengali-ui-fonts \ + google-noto-sans-bengali-ui-vf-fonts \ + google-noto-sans-bengali-vf-fonts \ + google-noto-sans-bhaiksuki-fonts \ + google-noto-sans-brahmi-fonts \ + google-noto-sans-buginese-fonts \ + google-noto-sans-buginese-vf-fonts \ + google-noto-sans-buhid-fonts \ + google-noto-sans-buhid-vf-fonts \ + google-noto-sans-canadian-aboriginal-fonts \ + google-noto-sans-canadian-aboriginal-vf-fonts \ + google-noto-sans-carian-fonts \ + google-noto-sans-carian-vf-fonts \ + google-noto-sans-caucasian-albanian-fonts \ + google-noto-sans-chakma-fonts \ + google-noto-sans-cham-fonts \ + google-noto-sans-cham-vf-fonts \ + google-noto-sans-cherokee-fonts \ + google-noto-sans-cherokee-vf-fonts \ + google-noto-sans-chorasmian-fonts \ + google-noto-sans-coptic-fonts \ + google-noto-sans-cuneiform-fonts \ + google-noto-sans-cuneiform-vf-fonts \ + google-noto-sans-cypriot-fonts \ + google-noto-sans-cypriot-vf-fonts \ + google-noto-sans-cypro-minoan-fonts \ + google-noto-sans-deseret-fonts \ + google-noto-sans-deseret-vf-fonts \ + google-noto-sans-devanagari-fonts \ + google-noto-sans-devanagari-ui-fonts \ + google-noto-sans-devanagari-ui-vf-fonts \ + google-noto-sans-devanagari-vf-fonts \ + google-noto-sans-display-fonts \ + google-noto-sans-display-vf-fonts \ + google-noto-sans-duployan-fonts \ + google-noto-sans-egyptian-hieroglyphs-fonts \ + google-noto-sans-egyptian-hieroglyphs-vf-fonts \ + google-noto-sans-elbasan-fonts \ + google-noto-sans-elymaic-fonts \ + google-noto-sans-elymaic-vf-fonts \ + google-noto-sans-ethiopic-fonts \ + google-noto-sans-ethiopic-vf-fonts \ + google-noto-sans-fonts \ + google-noto-sans-georgian-fonts \ + google-noto-sans-georgian-vf-fonts \ + google-noto-sans-glagolitic-fonts \ + google-noto-sans-gothic-fonts \ + google-noto-sans-gothic-vf-fonts \ + google-noto-sans-grantha-fonts \ + google-noto-sans-gujarati-fonts \ + google-noto-sans-gujarati-ui-fonts \ + google-noto-sans-gujarati-vf-fonts \ + google-noto-sans-gunjala-gondi-fonts \ + google-noto-sans-gunjala-gondi-vf-fonts \ + google-noto-sans-gurmukhi-fonts \ + google-noto-sans-gurmukhi-ui-fonts \ + google-noto-sans-gurmukhi-ui-vf-fonts \ + google-noto-sans-gurmukhi-vf-fonts \ + google-noto-sans-hanifi-rohingya-fonts \ + google-noto-sans-hanifi-rohingya-vf-fonts \ + google-noto-sans-hanunoo-fonts \ + google-noto-sans-hatran-fonts \ + google-noto-sans-hatran-vf-fonts \ + google-noto-sans-hebrew-droid-fonts \ + google-noto-sans-hebrew-droid-vf-fonts \ + google-noto-sans-hebrew-fonts \ + google-noto-sans-hebrew-new-fonts \ + google-noto-sans-hebrew-new-vf-fonts \ + google-noto-sans-hebrew-vf-fonts \ + google-noto-sans-imperial-aramaic-fonts \ + google-noto-sans-imperial-aramaic-vf-fonts \ + google-noto-sans-indic-siyaq-numbers-fonts \ + google-noto-sans-inscriptional-pahlavi-fonts \ + google-noto-sans-inscriptional-parthian-fonts \ + google-noto-sans-javanese-fonts \ + google-noto-sans-javanese-vf-fonts \ + google-noto-sans-kaithi-fonts \ + google-noto-sans-kannada-fonts \ + google-noto-sans-kannada-ui-fonts \ + google-noto-sans-kannada-ui-vf-fonts \ + google-noto-sans-kannada-vf-fonts \ + google-noto-sans-kayah-li-fonts \ + google-noto-sans-kayah-li-vf-fonts \ + google-noto-sans-kharoshthi-fonts \ + google-noto-sans-khmer-fonts \ + google-noto-sans-khmer-ui-fonts \ + google-noto-sans-khmer-ui-vf-fonts \ + google-noto-sans-khmer-vf-fonts \ + google-noto-sans-khojki-fonts \ + google-noto-sans-khudawadi-fonts \ + google-noto-sans-lao-fonts \ + google-noto-sans-lao-looped-fonts \ + google-noto-sans-lao-looped-vf-fonts \ + google-noto-sans-lao-ui-fonts \ + google-noto-sans-lao-ui-vf-fonts \ + google-noto-sans-lao-vf-fonts \ + google-noto-sans-lepcha-fonts \ + google-noto-sans-limbu-fonts \ + google-noto-sans-linear-a-fonts \ + google-noto-sans-linear-a-vf-fonts \ + google-noto-sans-linear-b-fonts \ + google-noto-sans-linear-b-vf-fonts \ + google-noto-sans-lisu-fonts \ + google-noto-sans-lisu-vf-fonts \ + google-noto-sans-lycian-fonts \ + google-noto-sans-lycian-vf-fonts \ + google-noto-sans-lydian-fonts \ + google-noto-sans-lydian-vf-fonts \ + google-noto-sans-mahajani-fonts \ + google-noto-sans-malayalam-fonts \ + google-noto-sans-malayalam-ui-fonts \ + google-noto-sans-malayalam-ui-vf-fonts \ + google-noto-sans-malayalam-vf-fonts \ + google-noto-sans-mandaic-fonts \ + google-noto-sans-mandaic-vf-fonts \ + google-noto-sans-manichaean-fonts \ + google-noto-sans-marchen-fonts \ + google-noto-sans-marchen-vf-fonts \ + google-noto-sans-masaram-gondi-fonts \ + google-noto-sans-math-fonts \ + google-noto-sans-math-vf-fonts \ + google-noto-sans-mayan-numerals-fonts \ + google-noto-sans-mayan-numerals-vf-fonts \ + google-noto-sans-medefaidrin-fonts \ + google-noto-sans-medefaidrin-vf-fonts \ + google-noto-sans-meetei-mayek-fonts \ + google-noto-sans-meeteimayek-vf-fonts \ + google-noto-sans-mende-kikakui-fonts \ + google-noto-sans-meroitic-fonts \ + google-noto-sans-miao-fonts \ + google-noto-sans-modi-fonts \ + google-noto-sans-mongolian-fonts \ + google-noto-sans-mono-fonts \ + google-noto-sans-mono-vf-fonts \ + google-noto-sans-mro-fonts \ + google-noto-sans-mro-vf-fonts \ + google-noto-sans-multani-fonts \ + google-noto-sans-multani-vf-fonts \ + google-noto-sans-myanmar-fonts \ + google-noto-sans-myanmar-ui-fonts \ + google-noto-sans-myanmar-ui-vf-fonts \ + google-noto-sans-myanmar-vf-fonts \ + google-noto-sans-nabataean-fonts \ + google-noto-sans-nabataean-vf-fonts \ + google-noto-sans-nandinagari-fonts \ + google-noto-sans-newa-fonts \ + google-noto-sans-new-tai-lue-fonts \ + google-noto-sans-new-tai-lue-vf-fonts \ + google-noto-sans-nko-fonts \ + google-noto-sans-nushu-fonts \ + google-noto-sans-ogham-fonts \ + google-noto-sans-ogham-vf-fonts \ + google-noto-sans-ol-chiki-fonts \ + google-noto-sans-ol-chiki-vf-fonts \ + google-noto-sans-old-hungarian-fonts \ + google-noto-sans-old-italic-fonts \ + google-noto-sans-old-north-arabian-fonts \ + google-noto-sans-old-permic-fonts \ + google-noto-sans-old-persian-fonts \ + google-noto-sans-old-sogdian-fonts \ + google-noto-sans-old-south-arabian-fonts \ + google-noto-sans-old-turkic-fonts \ + google-noto-sans-oriya-fonts \ + google-noto-sans-oriya-ui-fonts \ + google-noto-sans-oriya-ui-vf-fonts \ + google-noto-sans-oriya-vf-fonts \ + google-noto-sans-osage-fonts \ + google-noto-sans-osmanya-fonts \ + google-noto-sans-osmanya-vf-fonts \ + google-noto-sans-pahawh-hmong-fonts \ + google-noto-sans-palmyrene-fonts \ + google-noto-sans-pau-cin-hau-fonts \ + google-noto-sans-phags-pa-fonts \ + google-noto-sans-phoenician-fonts \ + google-noto-sans-psalter-pahlavi-fonts \ + google-noto-sans-rejang-fonts \ + google-noto-sans-runic-fonts \ + google-noto-sans-runic-vf-fonts \ + google-noto-sans-samaritan-fonts \ + google-noto-sans-saurashtra-fonts \ + google-noto-sans-sharada-fonts \ + google-noto-sans-shavian-fonts \ + google-noto-sans-shavian-vf-fonts \ + google-noto-sans-siddham-fonts \ + google-noto-sans-signwriting-fonts \ + google-noto-sans-sinhala-fonts \ + google-noto-sans-sinhala-ui-fonts \ + google-noto-sans-sinhala-ui-vf-fonts \ + google-noto-sans-sinhala-vf-fonts \ + google-noto-sans-sogdian-fonts \ + google-noto-sans-sora-sompeng-fonts \ + google-noto-sans-sora-sompeng-vf-fonts \ + google-noto-sans-soyombo-fonts \ + google-noto-sans-soyombo-vf-fonts \ + google-noto-sans-sundanese-fonts \ + google-noto-sans-sundanese-vf-fonts \ + google-noto-sans-syloti-nagri-fonts \ + google-noto-sans-symbols2-fonts \ + google-noto-sans-symbols-fonts \ + google-noto-sans-symbols-vf-fonts \ + google-noto-sans-syriac-eastern-fonts \ + google-noto-sans-syriac-fonts \ + google-noto-sans-syriac-western-fonts \ + google-noto-sans-tagalog-fonts \ + google-noto-sans-tagbanwa-fonts \ + google-noto-sans-tagbanwa-vf-fonts \ + google-noto-sans-tai-le-fonts \ + google-noto-sans-tai-tham-fonts \ + google-noto-sans-tai-tham-vf-fonts \ + google-noto-sans-tai-viet-fonts \ + google-noto-sans-tai-viet-vf-fonts \ + google-noto-sans-takri-fonts \ + google-noto-sans-takri-vf-fonts \ + google-noto-sans-tamil-fonts \ + google-noto-sans-tamil-supplement-fonts \ + google-noto-sans-tamil-supplement-vf-fonts \ + google-noto-sans-tamil-ui-fonts \ + google-noto-sans-tamil-ui-vf-fonts \ + google-noto-sans-tamil-vf-fonts \ + google-noto-sans-tangsa-fonts \ + google-noto-sans-tangsa-vf-fonts \ + google-noto-sans-telugu-fonts \ + google-noto-sans-telugu-ui-fonts \ + google-noto-sans-telugu-ui-vf-fonts \ + google-noto-sans-telugu-vf-fonts \ + google-noto-sans-thaana-fonts \ + google-noto-sans-thaana-vf-fonts \ + google-noto-sans-thai-fonts \ + google-noto-sans-thai-looped-fonts \ + google-noto-sans-thai-looped-vf-fonts \ + google-noto-sans-thai-ui-fonts \ + google-noto-sans-thai-ui-vf-fonts \ + google-noto-sans-thai-vf-fonts \ + google-noto-sans-tifinagh-adrar-fonts \ + google-noto-sans-tifinagh-agraw-imazighen-fonts \ + google-noto-sans-tifinagh-ahaggar-fonts \ + google-noto-sans-tifinagh-air-fonts \ + google-noto-sans-tifinagh-apt-fonts \ + google-noto-sans-tifinagh-azawagh-fonts \ + google-noto-sans-tifinagh-fonts \ + google-noto-sans-tifinagh-ghat-fonts \ + google-noto-sans-tifinagh-hawad-fonts \ + google-noto-sans-tifinagh-rhissa-ixa-fonts \ + google-noto-sans-tifinagh-sil-fonts \ + google-noto-sans-tifinagh-tawellemmet-fonts \ + google-noto-sans-tirhuta-fonts \ + google-noto-sans-ugaritic-fonts \ + google-noto-sans-ugaritic-vf-fonts \ + google-noto-sans-vai-fonts \ + google-noto-sans-vai-vf-fonts \ + google-noto-sans-vf-fonts \ + google-noto-sans-vithkuqi-fonts \ + google-noto-sans-vithkuqi-vf-fonts \ + google-noto-sans-wancho-fonts \ + google-noto-sans-wancho-vf-fonts \ + google-noto-sans-warang-citi-fonts \ + google-noto-sans-warang-citi-vf-fonts \ + google-noto-sans-yi-fonts \ + google-noto-sans-yi-vf-fonts \ + google-noto-sans-zanabazar-square-fonts \ + google-noto-sans-zanabazar-square-vf-fonts \ + google-noto-serif-ahom-fonts \ + google-noto-serif-armenian-fonts \ + google-noto-serif-armenian-vf-fonts \ + google-noto-serif-balinese-fonts \ + google-noto-serif-bengali-fonts \ + google-noto-serif-bengali-vf-fonts \ + google-noto-serif-devanagari-fonts \ + google-noto-serif-devanagari-vf-fonts \ + google-noto-serif-display-fonts \ + google-noto-serif-display-vf-fonts \ + google-noto-serif-dives-akuru-fonts \ + google-noto-serif-dogra-fonts \ + google-noto-serif-dogra-vf-fonts \ + google-noto-serif-ethiopic-fonts \ + google-noto-serif-ethiopic-vf-fonts \ + google-noto-serif-fonts \ + google-noto-serif-georgian-fonts \ + google-noto-serif-georgian-vf-fonts \ + google-noto-serif-grantha-fonts \ + google-noto-serif-gujarati-fonts \ + google-noto-serif-gujarati-vf-fonts \ + google-noto-serif-gurmukhi-fonts \ + google-noto-serif-gurmukhi-vf-fonts \ + google-noto-serif-hebrew-fonts \ + google-noto-serif-hebrew-vf-fonts \ + google-noto-serif-kannada-fonts \ + google-noto-serif-kannada-vf-fonts \ + google-noto-serif-khmer-fonts \ + google-noto-serif-khmer-vf-fonts \ + google-noto-serif-khojki-fonts \ + google-noto-serif-khojki-vf-fonts \ + google-noto-serif-lao-fonts \ + google-noto-serif-lao-vf-fonts \ + google-noto-serif-makasar-fonts \ + google-noto-serif-malayalam-fonts \ + google-noto-serif-malayalam-vf-fonts \ + google-noto-serif-myanmar-fonts \ + google-noto-serif-myanmar-vf-fonts \ + google-noto-serif-nyiakeng-puachue-hmong-fonts \ + google-noto-serif-nyiakeng-puachue-hmong-vf-fonts \ + google-noto-serif-old-uyghur-fonts \ + google-noto-serif-oriya-fonts \ + google-noto-serif-oriya-vf-fonts \ + google-noto-serif-sinhala-fonts \ + google-noto-serif-sinhala-vf-fonts \ + google-noto-serif-tamil-fonts \ + google-noto-serif-tamil-slanted-fonts \ + google-noto-serif-tamil-slanted-vf-fonts \ + google-noto-serif-tamil-vf-fonts \ + google-noto-serif-tangut-fonts \ + google-noto-serif-tangut-vf-fonts \ + google-noto-serif-telugu-fonts \ + google-noto-serif-telugu-vf-fonts \ + google-noto-serif-thai-fonts \ + google-noto-serif-thai-vf-fonts \ + google-noto-serif-tibetan-fonts \ + google-noto-serif-tibetan-vf-fonts \ + google-noto-serif-toto-fonts \ + google-noto-serif-toto-vf-fonts \ + google-noto-serif-vf-fonts \ + google-noto-serif-vithkuqi-fonts \ + google-noto-serif-vithkuqi-vf-fonts \ + google-noto-serif-yezidi-fonts \ + google-noto-serif-yezidi-vf-fonts \ + google-noto-traditional-nushu-fonts + # Generate locales + for LOCALE in ${LOCALES}; do + echo "Generating Locale for ${LOCALE}" + localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8 + done +elif [[ "${LSIO_BASE}" == "arch" ]] && [[ ! -f /usr/share/fonts/noto-cjk/NotoSansCJK-Regular.ttc ]]; then + pacman -Sy --noconfirm \ + noto-fonts-cjk \ + noto-fonts-emoji \ + noto-fonts-extra + # Remove pacman lang stripping + sed -i '/locale/d' /etc/pacman.conf + sed -i '/lang/d' /etc/pacman.conf + # Re-install glibc + pacman -Sy --noconfirm \ + glibc + # Generate locales + for LOCALE in ${LOCALES}; do + echo "Generating Locale for ${LOCALE}" + localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8 + done +else + echo "**** International Fonts/Locales installed skipping ****" +fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/type b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/type similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/type rename to root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/type diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/up b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/up new file mode 100644 index 0000000..a376bcd --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/dependencies.d/init-mods-package-install b/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-universal-internationalization-install similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/dependencies.d/init-mods-package-install rename to root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-universal-internationalization-install diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-imagename-modname-add-package b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-imagename-modname-add-package deleted file mode 100644 index e69de29..0000000 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/dependencies.d/init-services deleted file mode 100644 index e69de29..0000000 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/run b/root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/run deleted file mode 100755 index 02ffe39..0000000 --- a/root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/run +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/with-contenv bash - -# This is an example service that would run for the mod -# It depends on init-services, the baseimage hook for start of all longrun services - -exec \ - s6-setuidgid abc run my app diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/type b/root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/type deleted file mode 100644 index 1780f9f..0000000 --- a/root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/type +++ /dev/null @@ -1 +0,0 @@ -longrun \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-imagename-modname-add-package b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-imagename-modname-add-package deleted file mode 100644 index e69de29..0000000 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-imagename-modname-install b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-imagename-modname-install deleted file mode 100644 index e69de29..0000000 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-imagename-modname-install b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-internationalization-install similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-imagename-modname-install rename to root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-universal-internationalization-install diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-mod-imagename-modname b/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-mod-imagename-modname deleted file mode 100644 index e69de29..0000000 From 59b46d193ca1323b66989bbeba3b2af0ac7539e3 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 12:52:56 -0700 Subject: [PATCH 02/14] add korean instructions and remove swapfile --- README.md | 16 ++++++++++++++++ .../.run.swp | Bin 16384 -> 0 bytes 2 files changed, 16 insertions(+) delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/.run.swp diff --git a/README.md b/README.md index f975e05..8a8594a 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,22 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom 一部の基本イメージのこの mod は大規模です (数百メガバイトの圧縮ギグが非圧縮)。 必要な特定の言語に絞り込むことはなく、英語以外のユーザー向けのキャッチ オールとして意図されています。 接続の速度/品質によっては、インストールの最初の初期化に時間がかかることを意味し、ロケールの生成も同様です。 5 ~ 15 分の範囲で期待してください。 ロジックがファイルシステム上にそれ自体が存在するかどうかをチェックするため、完了して以降の再起動時に再実行されることはありませんが、アップグレードまたは完全なコンテナの再作成時に再実行されます。 +# 국제화 - 글꼴 및 비 en_US 언어 지원을 추가하기 위한 모든 컨테이너용 Docker 모드
+ +이 모드는 컨테이너 시작 중에 설치/업데이트될 글꼴 및 로케일을 이미지에 추가합니다.
+ +컨테이너의 도커 인수에서 환경 변수 `DOCKER_MODS=linuxserver/mods:internationalization`
을 설정합니다. + +이 언어의 경우 다음 환경 변수도 설정해야 합니다.
+ +`LC_ALL=ko_KR` + +여러 모드를 추가하는 경우 `|`로 구분된 배열에 입력하십시오(예: `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2`
). + +## 경고의 말씀
+ +일부 기본 이미지의 이 모드는 방대합니다(수백 메가의 압축된 공연이 비압축됨). 필요한 특정 언어로 필터링되지 않으며 영어가 아닌 사용자를 위한 포괄적인 의미입니다. 연결 속도/품질에 따라 설치를 위한 첫 번째 초기화에 시간이 걸릴 수 있으며 로케일 생성도 가능합니다. 5-15분 정도 소요됩니다. 일단 완료되고 이후 다시 시작하면 논리가 파일 시스템에서 자신의 존재를 확인하기 때문에 다시 실행되지 않지만 업그레이드 또는 전체 컨테이너 재생성 시 다시 실행됩니다.
+ # التدويل - تعديل Docker لجميع الحاويات لإضافة خطوط ودعم لغة غير en_US يضيف هذا الوضع الخطوط واللغات إلى صورة ، ليتم تثبيتها / تحديثها أثناء بدء الحاوية. diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/.run.swp b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/.run.swp deleted file mode 100644 index 70df94a4833241198c033e0d8fe2f43c03eaf59b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeI3YltLQ6~`;9F}~u8K|@gR?yMxTrnd6{6A6p-%=FHyyJymm*-Y;y*V|pUt7_`i zTaTXU2{8n}Xb4dRKZGbj1VIRjqEXO56b$&q-~&ZOC5nOuB_BjEW~2XetGZ{|)O5Aq z0^1G0Q+Mt?b?&+6KI-0@?(S{dYc=+<)3<5(yj#;wH19TkGCXz7XTGUvu_ayM$&iYs zeHL9|$Y}~$*(b*aOGeOhWT<-7*R6poi<9gZ^xviC%%oM zNVvM~$1?OqYzMw@?E{rSW)ut8Erp3cgCBF1c?7P`2wbn-dB^Q)s-Ijq!ESg@`|1qC zyw&pv%p)+5z℞2+SiekH9=J5FbSF-Y*tbFf^@+^CP znMYtAfq4Yx5tv6{9)WoT<`I}jU><>a1m+Q#N8qZAfG{-eI<)*jI!NRH|Ks!jpN?zV zAHfUY>)=bk2j{`9;3n|eyEN@3@B;V&_%1NP1K>R9fD_;ssNm<|XW-kQ4(P)`0JbC8~8r>3U~}8-~q4#ZUZ-gW8fvcQ}`u#7JL=!~E zKR?^c&(3$y5xLsC`Pp{9-*%L1#5VG?^KD!Cjkof%(rdk_obQdx0&yE zKgsv7e?)e^X{Gf;^zkfu&ha%rYk?*0%pWmXNIo=QaIMV$fPJ3Mp zV%@}e$-b4v^t21c*~!2Vv1B*jjJu_4_u2XLY~e!>R-0>^e6ifDJhZ^hoM8(|H}T_S zf!%*UsY2%j)BCKHL}4kiL?}zD)>1H#emok;5>;QSLo|gSEv;|p4QVE>2v5gx4@T}` z`1YAUSzT3vEGV~i=>@yvS#p@$+a0f9hk5v#nQFBdI7}D@(_ujGiJn>pj%k8<6{|Ai^+W-4WW?U_HUh%OufONN7Q>wHPKkZhi5BE_|uOdPCl5v)+iW zEHVSJ+hB&|aWdrr^`^SCnCVh|WM<_Nx0VUEK$I?O>| zSDEASjaBBT9&`eSYIXv?(O`}m^G?EBNbixW&WLZUFt-Is9&YI{&*8NV=DAACPqlnr!!2qmd+6mI z=Ec0$V%~_?YRvEQ`X=)Y433Jrpk4&6zQueCH{Qp5w7K3+FCFH)ynK!%e1#-s3{@Bi zX-N7}K$oCLQ!G#m4CF?I1*-NSB1Z@4(K^Yk4K~2gsImb@?^!m8`C^0QR*QuJZ)~zK zA$>^9(QuD9&ap_{8wqqqokcwgRfKLs8ZK|L$imn!vj|;@wJoxFb%R9?Z$i4fxyIlg z)>?~U$VW_@EQ+W(SgJ@4X)r@JQM#w@-Q%qeiw;y9V&xem zs*Kg3i%s5I$Mc4_R#|M*z$Mv&G}RvtZ`D|==0>b0bd341!yqwAVpVe-Qvec^*0{u> zFeJW5vybKpvOW}xQ4Maycf1#{Z-^v}PWB9E(g$p|pHLfxsB8NrdP*NY`VZCn(g;FvxjJbZ zem_?`-HN2zW+(?tzsPP`TRxNK-@??_*Mmq8r7O{x$yVdAK0|hG;lJKOnm>yL5%w&N z_7{h{AaWTy0EB+xHTBjwt^rO7n@t?EPpC~3Y46#wrT4Jwk^Ye4ZfSJ>|J*e=`r~{{ z=l}8l&wq#W{WIV(Ai>AM`@r9Ep8p|u5`;P-FU zv~Ph=feYX+a2)&%?-+gro&qD#1gF4t;6=P&cn&-P0U0Q6qrCh!_!`A_f%@ErI85TFCv;08ePJ`U!eH&z7FMN6$!r|`i} z`?3Xzouz|LshX{X+4%;`QsmeJZ17D+_e@qNBk*aF!do77gCYA&w;4`4YJ>g|P2_g# ztbX@l)@k*(x+h&PSF-gKrqf#0@;foH099I#Q;S$VC#ISY-Glupichl4#$*Lo=1te` z_K?cf54|~3CmE~_eLGB#dnZ{#j(=H$Emx`^p|xnlEhTz$RWh=bE46Z(?uN}n9o6n5 zw8*@NAN-76AcJ_|hG`^~lXM)?)v-pG`*A4P>vAtUwq2$?KDQm&xGBd@T4!fEr|GC= zmhB{s7jQARM`m-wCPa-QxBdQUQZ=bx4Zy<6^{BN?wjtFHxj-l!eZ-V#R7AP{Rnt7 z7@VjUnRG-152tInVup2rl%|_;tYFufVJ2sKMaJ+W+~Pnu7O54O6232t8AhU$DNZ+M z$!;k3ie1a}rW-Sp&`TU^hNw+6iwy1xI*b_H From 9d0ac1b17435c6e7731465df3700fd23c63d37b0 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 14:14:14 -0700 Subject: [PATCH 03/14] cleanup naming --- .github/workflows/BuildImage.yml | 4 +-- .github/workflows/call_issue_pr_tracker.yml | 14 -------- .github/workflows/permissions.yml | 10 ------ README.md | 40 ++++++++++----------- 4 files changed, 22 insertions(+), 46 deletions(-) delete mode 100644 .github/workflows/call_issue_pr_tracker.yml delete mode 100644 .github/workflows/permissions.yml diff --git a/.github/workflows/BuildImage.yml b/.github/workflows/BuildImage.yml index 39a64e9..a757873 100644 --- a/.github/workflows/BuildImage.yml +++ b/.github/workflows/BuildImage.yml @@ -5,8 +5,8 @@ on: [push, pull_request_target, workflow_dispatch] env: GITHUB_REPO: "linuxserver/docker-mods" #don't modify ENDPOINT: "linuxserver/mods" #don't modify - BASEIMAGE: "replace_baseimage" #replace - MODNAME: "replace_modname" #replace + BASEIMAGE: "universal" #replace + MODNAME: "internationalization" #replace jobs: set-vars: diff --git a/.github/workflows/call_issue_pr_tracker.yml b/.github/workflows/call_issue_pr_tracker.yml deleted file mode 100644 index 87243e2..0000000 --- a/.github/workflows/call_issue_pr_tracker.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Issue & PR Tracker - -on: - issues: - types: [opened,reopened,labeled,unlabeled] - pull_request_target: - types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled] - -jobs: - manage-project: - permissions: - issues: write - uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1 - secrets: inherit diff --git a/.github/workflows/permissions.yml b/.github/workflows/permissions.yml deleted file mode 100644 index 1447bc5..0000000 --- a/.github/workflows/permissions.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: Permission check -on: - pull_request_target: - paths: - - '**/run' - - '**/finish' - - '**/check' -jobs: - permission_check: - uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1 diff --git a/README.md b/README.md index 8a8594a..e7ba1bf 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,13 @@ This mod adds fonts and locales to an image, to be installed/updated during container start. -In your container's docker arguments, set an environment variable `DOCKER_MODS=linuxserver/mods:internationalization` +In your container's docker arguments, set an environment variable `DOCKER_MODS=linuxserver/mods:universal-internationalization` For this language you will need to set the following environment variables as well: `LC_ALL=en_US` -If adding multiple mods, enter them in an array separated by `|`, such as `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` +If adding multiple mods, enter them in an array separated by `|`, such as `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` ## Word of warning @@ -18,13 +18,13 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom 此 mod 将字体和语言环境添加到图像中,以便在容器启动期间安装/更新。 -在容器的 docker 参数中,设置环境变量 `DOCKER_MODS=linuxserver/mods:internationalization` +在容器的 docker 参数中,设置环境变量 `DOCKER_MODS=linuxserver/mods:universal-internationalization` 对于这种语言,您还需要设置以下环境变量: `LC_ALL=zh_CN` -如果添加多个mod,将它们输入到一个数组中,以`|`分隔,例如`DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` +如果添加多个mod,将它们输入到一个数组中,以`|`分隔,例如`DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` ## 警告词 @@ -34,13 +34,13 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom この mod は、イメージにフォントとロケールを追加し、コンテナーの起動時にインストール/更新します。 -コンテナーの docker 引数で、環境変数 `DOCKER_MODS=linuxserver/mods:internationalization` を設定します。 +コンテナーの docker 引数で、環境変数 `DOCKER_MODS=linuxserver/mods:universal-internationalization` を設定します。 この言語では、次の環境変数も設定する必要があります: `LC_ALL=ja_JP` -複数の mod を追加する場合は、「DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2」のように「|」で区切られた配列に入力します +複数の mod を追加する場合は、「DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2」のように「|」で区切られた配列に入力します ## 注意事項 @@ -50,13 +50,13 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom 이 모드는 컨테이너 시작 중에 설치/업데이트될 글꼴 및 로케일을 이미지에 추가합니다.
-컨테이너의 도커 인수에서 환경 변수 `DOCKER_MODS=linuxserver/mods:internationalization`
을 설정합니다. +컨테이너의 도커 인수에서 환경 변수 `DOCKER_MODS=linuxserver/mods:universal-internationalization`
을 설정합니다. 이 언어의 경우 다음 환경 변수도 설정해야 합니다.
`LC_ALL=ko_KR` -여러 모드를 추가하는 경우 `|`로 구분된 배열에 입력하십시오(예: `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2`
). +여러 모드를 추가하는 경우 `|`로 구분된 배열에 입력하십시오(예: `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2`
). ## 경고의 말씀
@@ -82,13 +82,13 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom Этот мод добавляет в изображение шрифты и локали, которые будут установлены/обновлены при запуске контейнера. -В аргументах docker вашего контейнера установите переменную среды `DOCKER_MODS=linuxserver/mods:internationalization` +В аргументах docker вашего контейнера установите переменную среды `DOCKER_MODS=linuxserver/mods:universal-internationalization` Для этого языка вам также потребуется установить следующие переменные среды: `LC_ALL=ru_RU` -При добавлении нескольких модов введите их в массив, разделенный символом `|`, например, `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` +При добавлении нескольких модов введите их в массив, разделенный символом `|`, например, `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` ## Слово предупреждения @@ -98,13 +98,13 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom Este mod agrega fuentes y configuraciones regionales a una imagen, para que se instalen o actualicen durante el inicio del contenedor. -En los argumentos de la ventana acoplable de su contenedor, establezca una variable de entorno `DOCKER_MODS=linuxserver/mods:internationalization` +En los argumentos de la ventana acoplable de su contenedor, establezca una variable de entorno `DOCKER_MODS=linuxserver/mods:universal-internationalization` Para este idioma, también deberá configurar las siguientes variables de entorno: `LC_ALL=es_MX` -Si agrega varias modificaciones, introdúzcalas en una matriz separada por `|`, como `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` +Si agrega varias modificaciones, introdúzcalas en una matriz separada por `|`, como `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` ## Palabra de advertencia @@ -114,13 +114,13 @@ Este mod en algunas imágenes base es masivo (cientos de megas de conciertos com Dieser Mod fügt Schriftarten und Gebietsschemata zu einem Image hinzu, die während des Containerstarts installiert/aktualisiert werden. -Setzen Sie in den Docker-Argumenten Ihres Containers eine Umgebungsvariable `DOCKER_MODS=linuxserver/mods:internationalization` +Setzen Sie in den Docker-Argumenten Ihres Containers eine Umgebungsvariable `DOCKER_MODS=linuxserver/mods:universal-internationalization` Für diese Sprache müssen Sie auch die folgenden Umgebungsvariablen setzen: `LC_ALL=de_DE` -Wenn Sie mehrere Mods hinzufügen, geben Sie sie in einem durch `|` getrennten Array ein, wie z. B. `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` +Wenn Sie mehrere Mods hinzufügen, geben Sie sie in einem durch `|` getrennten Array ein, wie z. B. `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` ## Warnung @@ -130,13 +130,13 @@ Dieser Mod auf einigen Basis-Images ist massiv (Hunderte von MB komprimierte Gig Ce mod ajoute des polices et des paramètres régionaux à une image, à installer/mettre à jour lors du démarrage du conteneur. -Dans les arguments docker de votre conteneur, définissez une variable d'environnement `DOCKER_MODS=linuxserver/mods:internationalization` +Dans les arguments docker de votre conteneur, définissez une variable d'environnement `DOCKER_MODS=linuxserver/mods:universal-internationalization` Pour cette langue, vous devrez également définir les variables d'environnement suivantes : `LC_ALL=fr_FR` -Si vous ajoutez plusieurs mods, entrez-les dans un tableau séparé par `|`, comme `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` +Si vous ajoutez plusieurs mods, entrez-les dans un tableau séparé par `|`, comme `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` ## Mot d'avertissement @@ -146,13 +146,13 @@ Ce mod sur certaines images de base est massif (des centaines de mégas de conce Deze mod voegt lettertypen en landinstellingen toe aan een afbeelding, die moeten worden geïnstalleerd/geüpdatet tijdens het starten van de container. -Stel in de docker-argumenten van uw container een omgevingsvariabele in `DOCKER_MODS=linuxserver/mods:internationalization` +Stel in de docker-argumenten van uw container een omgevingsvariabele in `DOCKER_MODS=linuxserver/mods:universal-internationalization` Voor deze taal moet u ook de volgende omgevingsvariabelen instellen: `LC_ALL=nl_NL` -Als u meerdere mods toevoegt, voert u deze in een array in gescheiden door `|`, zoals `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` +Als u meerdere mods toevoegt, voert u deze in een array in gescheiden door `|`, zoals `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` ## Waarschuwing @@ -162,13 +162,13 @@ Deze mod op sommige basisafbeeldingen is enorm (honderden megs gecomprimeerde op Questa mod aggiunge caratteri e locali a un'immagine, da installare/aggiornare durante l'avvio del contenitore. -Negli argomenti docker del tuo contenitore, imposta una variabile di ambiente `DOCKER_MODS=linuxserver/mods:internationalization` +Negli argomenti docker del tuo contenitore, imposta una variabile di ambiente `DOCKER_MODS=linuxserver/mods:universal-internationalization` Per questa lingua dovrai impostare anche le seguenti variabili d'ambiente: `LC_ALL=it_IT` -Se aggiungi più mod, inseriscile in un array separato da `|`, ad esempio `DOCKER_MODS=linuxserver/mods:internationalization|linuxserver/mods:mod2` +Se aggiungi più mod, inseriscile in un array separato da `|`, ad esempio `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` ## Parola di avvertimento From 65707548cb085245d3ab04a77eff0a4dec17ff01 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 14:19:57 -0700 Subject: [PATCH 04/14] universal: internationalization initial release --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7ba1bf..770b0f4 100644 --- a/README.md +++ b/README.md @@ -443,3 +443,4 @@ zh_SG zh_TW zu_ZA ``` + From 5c6f428d6bd3f3598fe8322cd25a323cee555c11 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 15:25:12 -0700 Subject: [PATCH 05/14] universal: internationalization initial release --- README.md | 544 +++++++++--------- .../run | 1 + 2 files changed, 273 insertions(+), 272 deletions(-) diff --git a/README.md b/README.md index 770b0f4..1169941 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ In your container's docker arguments, set an environment variable `DOCKER_MODS=l For this language you will need to set the following environment variables as well: -`LC_ALL=en_US` +`LC_ALL=en_US.UTF-8` If adding multiple mods, enter them in an array separated by `|`, such as `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` @@ -22,7 +22,7 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom 对于这种语言,您还需要设置以下环境变量: -`LC_ALL=zh_CN` +`LC_ALL=zh_CN.UTF-8` 如果添加多个mod,将它们输入到一个数组中,以`|`分隔,例如`DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` @@ -38,7 +38,7 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom この言語では、次の環境変数も設定する必要があります: -`LC_ALL=ja_JP` +`LC_ALL=ja_JP.UTF-8` 複数の mod を追加する場合は、「DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2」のように「|」で区切られた配列に入力します @@ -54,7 +54,7 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom 이 언어의 경우 다음 환경 변수도 설정해야 합니다.
-`LC_ALL=ko_KR` +`LC_ALL=ko_KR.UTF-8` 여러 모드를 추가하는 경우 `|`로 구분된 배열에 입력하십시오(예: `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2`
). @@ -70,7 +70,7 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom بالنسبة لهذه اللغة ، ستحتاج إلى تعيين متغيرات البيئة التالية أيضًا: -`LC_ALL=ar_AE` +`LC_ALL=ar_AE.UTF-8` في حالة إضافة تعديلات متعددة ، أدخلها في مصفوفة مفصولة بـ `|` ، مثل `DOCKER_MODS = linuxserver / mods: internationalization | linuxserver / mods: mod2` @@ -86,7 +86,7 @@ This mod on some base images is massive, (hundreds of megs compressed gigs uncom Для этого языка вам также потребуется установить следующие переменные среды: -`LC_ALL=ru_RU` +`LC_ALL=ru_RU.UTF-8` При добавлении нескольких модов введите их в массив, разделенный символом `|`, например, `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` @@ -102,7 +102,7 @@ En los argumentos de la ventana acoplable de su contenedor, establezca una varia Para este idioma, también deberá configurar las siguientes variables de entorno: -`LC_ALL=es_MX` +`LC_ALL=es_MX.UTF-8` Si agrega varias modificaciones, introdúzcalas en una matriz separada por `|`, como `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` @@ -118,7 +118,7 @@ Setzen Sie in den Docker-Argumenten Ihres Containers eine Umgebungsvariable `DOC Für diese Sprache müssen Sie auch die folgenden Umgebungsvariablen setzen: -`LC_ALL=de_DE` +`LC_ALL=de_DE.UTF-8` Wenn Sie mehrere Mods hinzufügen, geben Sie sie in einem durch `|` getrennten Array ein, wie z. B. `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` @@ -134,7 +134,7 @@ Dans les arguments docker de votre conteneur, définissez une variable d'environ Pour cette langue, vous devrez également définir les variables d'environnement suivantes : -`LC_ALL=fr_FR` +`LC_ALL=fr_FR.UTF-8` Si vous ajoutez plusieurs mods, entrez-les dans un tableau séparé par `|`, comme `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` @@ -150,7 +150,7 @@ Stel in de docker-argumenten van uw container een omgevingsvariabele in `DOCKER_ Voor deze taal moet u ook de volgende omgevingsvariabelen instellen: -`LC_ALL=nl_NL` +`LC_ALL=nl_NL.UTF-8` Als u meerdere mods toevoegt, voert u deze in een array in gescheiden door `|`, zoals `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` @@ -166,7 +166,7 @@ Negli argomenti docker del tuo contenitore, imposta una variabile di ambiente `D Per questa lingua dovrai impostare anche le seguenti variabili d'ambiente: -`LC_ALL=it_IT` +`LC_ALL=it_IT.UTF-8` Se aggiungi più mod, inseriscile in un array separato da `|`, ad esempio `DOCKER_MODS=linuxserver/mods:universal-internationalization|linuxserver/mods:mod2` @@ -181,266 +181,266 @@ Questa mod su alcune immagini di base è enorme (centinaia di mega giga compress The following language locales are also supported: ``` -aa_DJ -aa_ER -aa_ET -af_ZA -am_ET -an_ES -ar_AE -ar_BH -ar_DZ -ar_EG -ar_IN -ar_IQ -ar_JO -ar_KW -ar_LB -ar_LY -ar_MA -ar_OM -ar_QA -ar_SA -ar_SD -ar_SY -ar_TN -ar_YE -as_IN -ast_ES -ayc_PE -az_AZ -be_BY -bem_ZM -ber_DZ -ber_MA -bg_BG -bho_IN -bn_BD -bn_IN -bo_CN -bo_IN -br_FR -brx_IN -bs_BA -byn_ER -ca_AD -ca_ES -ca_FR -ca_IT -crh_UA -csb_PL -cs_CZ -cv_RU -cy_GB -da_DK -de_AT -de_BE -de_CH -de_DE -de_LU -doi_IN -dv_MV -dz_BT -el_CY -el_GR -en_AG -en_AU -en_BW -en_CA -en_DK -en_GB -en_HK -en_IE -en_IN -en_NG -en_NZ -en_PH -en_SG -en_US -en_ZA -en_ZM -en_ZW -es_AR -es_BO -es_CL -es_CO -es_CR -es_CU -es_DO -es_EC -es_ES -es_GT -es_HN -es_MX -es_NI -es_PA -es_PE -es_PR -es_PY -es_SV -es_US -es_UY -es_VE -et_EE -eu_ES -fa_IR -ff_SN -fi_FI -fil_PH -fo_FO -fr_BE -fr_CA -fr_CH -fr_FR -fr_LU -fur_IT -fy_DE -fy_NL -ga_IE -gd_GB -gez_ER -gez_ET -gl_ES -gu_IN -gv_GB -ha_NG -he_IL -hi_IN -hne_IN -hr_HR -hsb_DE -ht_HT -hu_HU -hy_AM -ia_FR -id_ID -ig_NG -ik_CA -is_IS -it_CH -it_IT -iu_CA -ja_JP -ka_GE -kk_KZ -kl_GL -km_KH -kn_IN -kok_IN -ko_KR -ks_IN -ku_TR -kw_GB -ky_KG -lb_LU -lg_UG -li_BE -lij_IT -li_NL -lo_LA -lt_LT -lv_LV -mag_IN -mai_IN -mg_MG -mhr_RU -mi_NZ -mk_MK -ml_IN -mni_IN -mn_MN -mr_IN -ms_MY -mt_MT -my_MM -nb_NO -nds_DE -nds_NL -ne_NP -nhn_MX -niu_NU -niu_NZ -nl_AW -nl_BE -nl_NL -nn_NO -nr_ZA -nso_ZA -oc_FR -om_ET -om_KE -or_IN -os_RU -pa_IN -pa_PK -pl_PL -ps_AF -pt_BR -pt_PT -ro_RO -ru_RU -ru_UA -rw_RW -sa_IN -sat_IN -sc_IT -sd_IN -se_NO -shs_CA -sid_ET -si_LK -sk_SK -sl_SI -so_DJ -so_ET -so_KE -so_SO -sq_AL -sq_MK -sr_ME -sr_RS -ss_ZA -st_ZA -sv_FI -sv_SE -sw_KE -sw_TZ -szl_PL -ta_IN -ta_LK -te_IN -tg_TJ -th_TH -ti_ER -ti_ET -tig_ER -tk_TM -tl_PH -tn_ZA -tr_CY -tr_TR -ts_ZA -tt_RU -ug_CN -uk_UA -unm_US -ur_IN -ur_PK -uz_UZ -ve_ZA -vi_VN -wa_BE -wae_CH -wal_ET -wo_SN -xh_ZA -yi_US -yo_NG -yue_HK -zh_CN -zh_HK -zh_SG -zh_TW -zu_ZA +aa_DJ.UTF-8 +aa_ER.UTF-8 +aa_ET.UTF-8 +af_ZA.UTF-8 +am_ET.UTF-8 +an_ES.UTF-8 +ar_AE.UTF-8 +ar_BH.UTF-8 +ar_DZ.UTF-8 +ar_EG.UTF-8 +ar_IN.UTF-8 +ar_IQ.UTF-8 +ar_JO.UTF-8 +ar_KW.UTF-8 +ar_LB.UTF-8 +ar_LY.UTF-8 +ar_MA.UTF-8 +ar_OM.UTF-8 +ar_QA.UTF-8 +ar_SA.UTF-8 +ar_SD.UTF-8 +ar_SY.UTF-8 +ar_TN.UTF-8 +ar_YE.UTF-8 +as_IN.UTF-8 +ast_ES.UTF-8 +ayc_PE.UTF-8 +az_AZ.UTF-8 +be_BY.UTF-8 +bem_ZM.UTF-8 +ber_DZ.UTF-8 +ber_MA.UTF-8 +bg_BG.UTF-8 +bho_IN.UTF-8 +bn_BD.UTF-8 +bn_IN.UTF-8 +bo_CN.UTF-8 +bo_IN.UTF-8 +br_FR.UTF-8 +brx_IN.UTF-8 +bs_BA.UTF-8 +byn_ER.UTF-8 +ca_AD.UTF-8 +ca_ES.UTF-8 +ca_FR.UTF-8 +ca_IT.UTF-8 +crh_UA.UTF-8 +csb_PL.UTF-8 +cs_CZ.UTF-8 +cv_RU.UTF-8 +cy_GB.UTF-8 +da_DK.UTF-8 +de_AT.UTF-8 +de_BE.UTF-8 +de_CH.UTF-8 +de_DE.UTF-8 +de_LU.UTF-8 +doi_IN.UTF-8 +dv_MV.UTF-8 +dz_BT.UTF-8 +el_CY.UTF-8 +el_GR.UTF-8 +en_AG.UTF-8 +en_AU.UTF-8 +en_BW.UTF-8 +en_CA.UTF-8 +en_DK.UTF-8 +en_GB.UTF-8 +en_HK.UTF-8 +en_IE.UTF-8 +en_IN.UTF-8 +en_NG.UTF-8 +en_NZ.UTF-8 +en_PH.UTF-8 +en_SG.UTF-8 +en_US.UTF-8 +en_ZA.UTF-8 +en_ZM.UTF-8 +en_ZW.UTF-8 +es_AR.UTF-8 +es_BO.UTF-8 +es_CL.UTF-8 +es_CO.UTF-8 +es_CR.UTF-8 +es_CU.UTF-8 +es_DO.UTF-8 +es_EC.UTF-8 +es_ES.UTF-8 +es_GT.UTF-8 +es_HN.UTF-8 +es_MX.UTF-8 +es_NI.UTF-8 +es_PA.UTF-8 +es_PE.UTF-8 +es_PR.UTF-8 +es_PY.UTF-8 +es_SV.UTF-8 +es_US.UTF-8 +es_UY.UTF-8 +es_VE.UTF-8 +et_EE.UTF-8 +eu_ES.UTF-8 +fa_IR.UTF-8 +ff_SN.UTF-8 +fi_FI.UTF-8 +fil_PH.UTF-8 +fo_FO.UTF-8 +fr_BE.UTF-8 +fr_CA.UTF-8 +fr_CH.UTF-8 +fr_FR.UTF-8 +fr_LU.UTF-8 +fur_IT.UTF-8 +fy_DE.UTF-8 +fy_NL.UTF-8 +ga_IE.UTF-8 +gd_GB.UTF-8 +gez_ER.UTF-8 +gez_ET.UTF-8 +gl_ES.UTF-8 +gu_IN.UTF-8 +gv_GB.UTF-8 +ha_NG.UTF-8 +he_IL.UTF-8 +hi_IN.UTF-8 +hne_IN.UTF-8 +hr_HR.UTF-8 +hsb_DE.UTF-8 +ht_HT.UTF-8 +hu_HU.UTF-8 +hy_AM.UTF-8 +ia_FR.UTF-8 +id_ID.UTF-8 +ig_NG.UTF-8 +ik_CA.UTF-8 +is_IS.UTF-8 +it_CH.UTF-8 +it_IT.UTF-8 +iu_CA.UTF-8 +ja_JP.UTF-8 +ka_GE.UTF-8 +kk_KZ.UTF-8 +kl_GL.UTF-8 +km_KH.UTF-8 +kn_IN.UTF-8 +kok_IN.UTF-8 +ko_KR.UTF-8 +ks_IN.UTF-8 +ku_TR.UTF-8 +kw_GB.UTF-8 +ky_KG.UTF-8 +lb_LU.UTF-8 +lg_UG.UTF-8 +li_BE.UTF-8 +lij_IT.UTF-8 +li_NL.UTF-8 +lo_LA.UTF-8 +lt_LT.UTF-8 +lv_LV.UTF-8 +mag_IN.UTF-8 +mai_IN.UTF-8 +mg_MG.UTF-8 +mhr_RU.UTF-8 +mi_NZ.UTF-8 +mk_MK.UTF-8 +ml_IN.UTF-8 +mni_IN.UTF-8 +mn_MN.UTF-8 +mr_IN.UTF-8 +ms_MY.UTF-8 +mt_MT.UTF-8 +my_MM.UTF-8 +nb_NO.UTF-8 +nds_DE.UTF-8 +nds_NL.UTF-8 +ne_NP.UTF-8 +nhn_MX.UTF-8 +niu_NU.UTF-8 +niu_NZ.UTF-8 +nl_AW.UTF-8 +nl_BE.UTF-8 +nl_NL.UTF-8 +nn_NO.UTF-8 +nr_ZA.UTF-8 +nso_ZA.UTF-8 +oc_FR.UTF-8 +om_ET.UTF-8 +om_KE.UTF-8 +or_IN.UTF-8 +os_RU.UTF-8 +pa_IN.UTF-8 +pa_PK.UTF-8 +pl_PL.UTF-8 +ps_AF.UTF-8 +pt_BR.UTF-8 +pt_PT.UTF-8 +ro_RO.UTF-8 +ru_RU.UTF-8 +ru_UA.UTF-8 +rw_RW.UTF-8 +sa_IN.UTF-8 +sat_IN.UTF-8 +sc_IT.UTF-8 +sd_IN.UTF-8 +se_NO.UTF-8 +shs_CA.UTF-8 +sid_ET.UTF-8 +si_LK.UTF-8 +sk_SK.UTF-8 +sl_SI.UTF-8 +so_DJ.UTF-8 +so_ET.UTF-8 +so_KE.UTF-8 +so_SO.UTF-8 +sq_AL.UTF-8 +sq_MK.UTF-8 +sr_ME.UTF-8 +sr_RS.UTF-8 +ss_ZA.UTF-8 +st_ZA.UTF-8 +sv_FI.UTF-8 +sv_SE.UTF-8 +sw_KE.UTF-8 +sw_TZ.UTF-8 +szl_PL.UTF-8 +ta_IN.UTF-8 +ta_LK.UTF-8 +te_IN.UTF-8 +tg_TJ.UTF-8 +th_TH.UTF-8 +ti_ER.UTF-8 +ti_ET.UTF-8 +tig_ER.UTF-8 +tk_TM.UTF-8 +tl_PH.UTF-8 +tn_ZA.UTF-8 +tr_CY.UTF-8 +tr_TR.UTF-8 +ts_ZA.UTF-8 +tt_RU.UTF-8 +ug_CN.UTF-8 +uk_UA.UTF-8 +unm_US.UTF-8 +ur_IN.UTF-8 +ur_PK.UTF-8 +uz_UZ.UTF-8 +ve_ZA.UTF-8 +vi_VN.UTF-8 +wa_BE.UTF-8 +wae_CH.UTF-8 +wal_ET.UTF-8 +wo_SN.UTF-8 +xh_ZA.UTF-8 +yi_US.UTF-8 +yo_NG.UTF-8 +yue_HK.UTF-8 +zh_CN.UTF-8 +zh_HK.UTF-8 +zh_SG.UTF-8 +zh_TW.UTF-8 +zu_ZA.UTF-8 ``` diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run index 79f64b5..38b20e7 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run @@ -116,6 +116,7 @@ elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/ language-pack-zh-hans \ language-pack-zh-hant elif [[ "${LSIO_BASE}" == "debian" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then + apt-get update && \ apt-get install -y \ fonts-noto \ locales-all From 699bbbceb2af91cd87329a76ff952998a668b428 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 15:42:46 -0700 Subject: [PATCH 06/14] universal: internationalization initial release --- .../init-mod-universal-internationalization-install/run | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run index 38b20e7..c3bb90a 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run @@ -28,7 +28,8 @@ if [[ "${LSIO_BASE}" == "alpine" ]] && [[ ! -f /usr/share/fonts/noto/NotoSansCJK font-noto-emoji \ lang elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then - apt-get update && \ + rm -f /etc/apt/apt.conf.d/docker-no-languages + apt-get update apt-get install -y \ fonts-noto \ language-pack-af \ @@ -116,7 +117,8 @@ elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/ language-pack-zh-hans \ language-pack-zh-hant elif [[ "${LSIO_BASE}" == "debian" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then - apt-get update && \ + rm -f /etc/apt/apt.conf.d/docker-no-languages + apt-get update apt-get install -y \ fonts-noto \ locales-all From 6846bf8d04233d91e79df648636342867db3c5b9 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 16:03:59 -0700 Subject: [PATCH 07/14] universal: internationalization initial release --- .../run | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run index c3bb90a..028fba5 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run @@ -17,8 +17,12 @@ else fi # Define locales for distros that need manual generation -LOCALES="aa_DJ aa_ER aa_ET af_ZA am_ET an_ES ar_AE ar_BH ar_DZ ar_EG ar_IN ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY ar_TN ar_YE as_IN ast_ES ayc_PE az_AZ be_BY bem_ZM ber_DZ ber_MA bg_BG bho_IN bn_BD bn_IN bo_CN bo_IN br_FR brx_IN bs_BA byn_ER ca_AD ca_ES ca_FR ca_IT crh_UA csb_PL cs_CZ cv_RU cy_GB da_DK de_AT de_BE de_CH de_DE de_LU doi_IN dv_MV dz_BT el_CY el_GR en_AG en_AU en_BW en_CA en_DK en_GB en_HK en_IE en_IN en_NG en_NZ en_PH en_SG en_US en_ZA en_ZM en_ZW es_AR es_BO es_CL es_CO es_CR es_CU es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et_EE eu_ES fa_IR ff_SN fi_FI fil_PH fo_FO fr_BE fr_CA fr_CH fr_FR fr_LU fur_IT fy_DE fy_NL ga_IE gd_GB gez_ER gez_ET gl_ES gu_IN gv_GB ha_NG he_IL hi_IN hne_IN hr_HR hsb_DE ht_HT hu_HU hy_AM ia_FR id_ID ig_NG ik_CA is_IS it_CH it_IT iu_CA ja_JP ka_GE kk_KZ kl_GL km_KH kn_IN kok_IN ko_KR ks_IN ku_TR kw_GB ky_KG lb_LU lg_UG li_BE lij_IT li_NL lo_LA lt_LT lv_LV mag_IN mai_IN mg_MG mhr_RU mi_NZ mk_MK ml_IN mni_IN mn_MN mr_IN ms_MY mt_MT my_MM nb_NO nds_DE nds_NL ne_NP nhn_MX niu_NU niu_NZ nl_AW nl_BE nl_NL nn_NO nr_ZA nso_ZA oc_FR om_ET om_KE or_IN os_RU pa_IN pa_PK pl_PL ps_AF pt_BR pt_PT ro_RO ru_RU ru_UA rw_RW sa_IN sat_IN sc_IT sd_IN se_NO shs_CA sid_ET si_LK sk_SK sl_SI so_DJ so_ET so_KE so_SO sq_AL sq_MK sr_ME sr_RS ss_ZA st_ZA sv_FI sv_SE sw_KE sw_TZ szl_PL ta_IN ta_LK te_IN tg_TJ th_TH ti_ER ti_ET tig_ER tk_TM tl_PH tn_ZA tr_CY tr_TR ts_ZA tt_RU ug_CN uk_UA unm_US ur_IN ur_PK uz_UZ ve_ZA vi_VN wa_BE wae_CH wal_ET wo_SN xh_ZA yi_US yo_NG yue_HK zh_CN zh_HK zh_SG zh_TW zu_ZA" - +IFS=" " +if [ -z ${LC_ALL+x} ]; then + LOCALES="aa_DJ aa_ER aa_ET af_ZA am_ET an_ES ar_AE ar_BH ar_DZ ar_EG ar_IN ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY ar_TN ar_YE as_IN ast_ES ayc_PE az_AZ be_BY bem_ZM ber_DZ ber_MA bg_BG bho_IN bn_BD bn_IN bo_CN bo_IN br_FR brx_IN bs_BA byn_ER ca_AD ca_ES ca_FR ca_IT crh_UA csb_PL cs_CZ cv_RU cy_GB da_DK de_AT de_BE de_CH de_DE de_LU doi_IN dv_MV dz_BT el_CY el_GR en_AG en_AU en_BW en_CA en_DK en_GB en_HK en_IE en_IN en_NG en_NZ en_PH en_SG en_US en_ZA en_ZM en_ZW es_AR es_BO es_CL es_CO es_CR es_CU es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et_EE eu_ES fa_IR ff_SN fi_FI fil_PH fo_FO fr_BE fr_CA fr_CH fr_FR fr_LU fur_IT fy_DE fy_NL ga_IE gd_GB gez_ER gez_ET gl_ES gu_IN gv_GB ha_NG he_IL hi_IN hne_IN hr_HR hsb_DE ht_HT hu_HU hy_AM ia_FR id_ID ig_NG ik_CA is_IS it_CH it_IT iu_CA ja_JP ka_GE kk_KZ kl_GL km_KH kn_IN kok_IN ko_KR ks_IN ku_TR kw_GB ky_KG lb_LU lg_UG li_BE lij_IT li_NL lo_LA lt_LT lv_LV mag_IN mai_IN mg_MG mhr_RU mi_NZ mk_MK ml_IN mni_IN mn_MN mr_IN ms_MY mt_MT my_MM nb_NO nds_DE nds_NL ne_NP nhn_MX niu_NU niu_NZ nl_AW nl_BE nl_NL nn_NO nr_ZA nso_ZA oc_FR om_ET om_KE or_IN os_RU pa_IN pa_PK pl_PL ps_AF pt_BR pt_PT ro_RO ru_RU ru_UA rw_RW sa_IN sat_IN sc_IT sd_IN se_NO shs_CA sid_ET si_LK sk_SK sl_SI so_DJ so_ET so_KE so_SO sq_AL sq_MK sr_ME sr_RS ss_ZA st_ZA sv_FI sv_SE sw_KE sw_TZ szl_PL ta_IN ta_LK te_IN tg_TJ th_TH ti_ER ti_ET tig_ER tk_TM tl_PH tn_ZA tr_CY tr_TR ts_ZA tt_RU ug_CN uk_UA unm_US ur_IN ur_PK uz_UZ ve_ZA vi_VN wa_BE wae_CH wal_ET wo_SN xh_ZA yi_US yo_NG yue_HK zh_CN zh_HK zh_SG zh_TW zu_ZA" +else + LOCALES=${LC_ALL%.UTF-8} +fi # Install pacakges and fonts if [[ "${LSIO_BASE}" == "alpine" ]] && [[ ! -f /usr/share/fonts/noto/NotoSansCJK-Regular.ttc ]]; then @@ -326,7 +330,7 @@ elif [[ "${LSIO_BASE}" == "fedora" ]] && [[ ! -d /usr/share/licenses/google-noto glibc-langpack-zh \ glibc-langpack-zu \ glibc-locale-source \ - google-noto-cjk-fonts-common \ + google-noto-cjk-fonts \ google-noto-emoji-fonts \ google-noto-fonts-common \ google-noto-kufi-arabic-fonts \ From bec71175118b2d8e3ddfa820305a914103ee38ed Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 17:03:55 -0700 Subject: [PATCH 08/14] universal: internationalization initial release --- .../init-mod-universal-internationalization-install/run | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run index 028fba5..13c0741 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run @@ -22,17 +22,21 @@ if [ -z ${LC_ALL+x} ]; then LOCALES="aa_DJ aa_ER aa_ET af_ZA am_ET an_ES ar_AE ar_BH ar_DZ ar_EG ar_IN ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY ar_TN ar_YE as_IN ast_ES ayc_PE az_AZ be_BY bem_ZM ber_DZ ber_MA bg_BG bho_IN bn_BD bn_IN bo_CN bo_IN br_FR brx_IN bs_BA byn_ER ca_AD ca_ES ca_FR ca_IT crh_UA csb_PL cs_CZ cv_RU cy_GB da_DK de_AT de_BE de_CH de_DE de_LU doi_IN dv_MV dz_BT el_CY el_GR en_AG en_AU en_BW en_CA en_DK en_GB en_HK en_IE en_IN en_NG en_NZ en_PH en_SG en_US en_ZA en_ZM en_ZW es_AR es_BO es_CL es_CO es_CR es_CU es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et_EE eu_ES fa_IR ff_SN fi_FI fil_PH fo_FO fr_BE fr_CA fr_CH fr_FR fr_LU fur_IT fy_DE fy_NL ga_IE gd_GB gez_ER gez_ET gl_ES gu_IN gv_GB ha_NG he_IL hi_IN hne_IN hr_HR hsb_DE ht_HT hu_HU hy_AM ia_FR id_ID ig_NG ik_CA is_IS it_CH it_IT iu_CA ja_JP ka_GE kk_KZ kl_GL km_KH kn_IN kok_IN ko_KR ks_IN ku_TR kw_GB ky_KG lb_LU lg_UG li_BE lij_IT li_NL lo_LA lt_LT lv_LV mag_IN mai_IN mg_MG mhr_RU mi_NZ mk_MK ml_IN mni_IN mn_MN mr_IN ms_MY mt_MT my_MM nb_NO nds_DE nds_NL ne_NP nhn_MX niu_NU niu_NZ nl_AW nl_BE nl_NL nn_NO nr_ZA nso_ZA oc_FR om_ET om_KE or_IN os_RU pa_IN pa_PK pl_PL ps_AF pt_BR pt_PT ro_RO ru_RU ru_UA rw_RW sa_IN sat_IN sc_IT sd_IN se_NO shs_CA sid_ET si_LK sk_SK sl_SI so_DJ so_ET so_KE so_SO sq_AL sq_MK sr_ME sr_RS ss_ZA st_ZA sv_FI sv_SE sw_KE sw_TZ szl_PL ta_IN ta_LK te_IN tg_TJ th_TH ti_ER ti_ET tig_ER tk_TM tl_PH tn_ZA tr_CY tr_TR ts_ZA tt_RU ug_CN uk_UA unm_US ur_IN ur_PK uz_UZ ve_ZA vi_VN wa_BE wae_CH wal_ET wo_SN xh_ZA yi_US yo_NG yue_HK zh_CN zh_HK zh_SG zh_TW zu_ZA" else LOCALES=${LC_ALL%.UTF-8} + # Remove language restrictions on newly installed packages + if grep -q 'ID=ubuntu' /etc/os-release || grep -q 'ID=debian' /etc/os-release; then + echo 'Acquire::Languages "'${LC_ALL:0:2}'";' > /etc/apt/apt.conf.d/docker-no-languages + fi fi # Install pacakges and fonts if [[ "${LSIO_BASE}" == "alpine" ]] && [[ ! -f /usr/share/fonts/noto/NotoSansCJK-Regular.ttc ]]; then + # Add fonts and lang apk add --no-cache \ font-noto-all \ font-noto-cjk \ font-noto-emoji \ lang elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then - rm -f /etc/apt/apt.conf.d/docker-no-languages apt-get update apt-get install -y \ fonts-noto \ @@ -121,7 +125,6 @@ elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/ language-pack-zh-hans \ language-pack-zh-hant elif [[ "${LSIO_BASE}" == "debian" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then - rm -f /etc/apt/apt.conf.d/docker-no-languages apt-get update apt-get install -y \ fonts-noto \ From fc432775b9eaa64dd68b505e4dff8812329164d4 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 18:21:24 -0700 Subject: [PATCH 09/14] universal: internationalization initial release --- .../init-mod-universal-internationalization-install/run | 3 +++ 1 file changed, 3 insertions(+) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run index 13c0741..6774630 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run @@ -26,6 +26,9 @@ else if grep -q 'ID=ubuntu' /etc/os-release || grep -q 'ID=debian' /etc/os-release; then echo 'Acquire::Languages "'${LC_ALL:0:2}'";' > /etc/apt/apt.conf.d/docker-no-languages fi + # Set additional env vars for app compatibility + printf "${LC_ALL}" > /run/s6/container_environment/LANGUAGE + printf "${LC_ALL}" > /run/s6/container_environment/LANG fi # Install pacakges and fonts From 442349e0dc08b1e1e99f43d7e689b47e338a95cd Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 19:02:23 -0700 Subject: [PATCH 10/14] universal: internationalization initial release --- .../run | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run index 6774630..a118f73 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run @@ -40,6 +40,7 @@ if [[ "${LSIO_BASE}" == "alpine" ]] && [[ ! -f /usr/share/fonts/noto/NotoSansCJK font-noto-emoji \ lang elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then + # Install fonts and locales apt-get update apt-get install -y \ fonts-noto \ @@ -128,6 +129,7 @@ elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/ language-pack-zh-hans \ language-pack-zh-hant elif [[ "${LSIO_BASE}" == "debian" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then + # Install fonts and locales apt-get update apt-get install -y \ fonts-noto \ @@ -138,6 +140,7 @@ elif [[ "${LSIO_BASE}" == "debian" ]] && [[ ! -f /usr/share/fonts/opentype/noto/ localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8 done elif [[ "${LSIO_BASE}" == "fedora" ]] && [[ ! -d /usr/share/licenses/google-noto-cjk-fonts-common ]]; then + # Install fonts and locales dnf install -y \ glibc-langpack-aa \ glibc-langpack-af \ @@ -712,16 +715,11 @@ elif [[ "${LSIO_BASE}" == "fedora" ]] && [[ ! -d /usr/share/licenses/google-noto localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8 done elif [[ "${LSIO_BASE}" == "arch" ]] && [[ ! -f /usr/share/fonts/noto-cjk/NotoSansCJK-Regular.ttc ]]; then + # Install fonts pacman -Sy --noconfirm \ noto-fonts-cjk \ noto-fonts-emoji \ noto-fonts-extra - # Remove pacman lang stripping - sed -i '/locale/d' /etc/pacman.conf - sed -i '/lang/d' /etc/pacman.conf - # Re-install glibc - pacman -Sy --noconfirm \ - glibc # Generate locales for LOCALE in ${LOCALES}; do echo "Generating Locale for ${LOCALE}" From 662d7540ae2eed8567b145d5ceb782301bcf6999 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 19:34:51 -0700 Subject: [PATCH 11/14] universal: internationalization initial release --- .../s6-rc.d/init-mod-universal-internationalization-install/run | 1 + 1 file changed, 1 insertion(+) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run index a118f73..373609c 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run @@ -717,6 +717,7 @@ elif [[ "${LSIO_BASE}" == "fedora" ]] && [[ ! -d /usr/share/licenses/google-noto elif [[ "${LSIO_BASE}" == "arch" ]] && [[ ! -f /usr/share/fonts/noto-cjk/NotoSansCJK-Regular.ttc ]]; then # Install fonts pacman -Sy --noconfirm \ + glibc \ noto-fonts-cjk \ noto-fonts-emoji \ noto-fonts-extra From 281e1dc119e6026eb9d6f363abffe44d2022b4a0 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 19:47:57 -0700 Subject: [PATCH 12/14] universal: internationalization initial release --- .../run | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run index 373609c..0fa1024 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-universal-internationalization-install/run @@ -41,6 +41,9 @@ if [[ "${LSIO_BASE}" == "alpine" ]] && [[ ! -f /usr/share/fonts/noto/NotoSansCJK lang elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then # Install fonts and locales + sed -i \ + '/locale/d' \ + /etc/dpkg/dpkg.cfg.d/excludes apt-get update apt-get install -y \ fonts-noto \ @@ -130,6 +133,9 @@ elif [[ "${LSIO_BASE}" == "ubuntu" ]] && [[ ! -f /usr/share/fonts/opentype/noto/ language-pack-zh-hant elif [[ "${LSIO_BASE}" == "debian" ]] && [[ ! -f /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc ]]; then # Install fonts and locales + sed -i \ + '/locale/d' \ + /etc/dpkg/dpkg.cfg.d/docker apt-get update apt-get install -y \ fonts-noto \ @@ -141,6 +147,7 @@ elif [[ "${LSIO_BASE}" == "debian" ]] && [[ ! -f /usr/share/fonts/opentype/noto/ done elif [[ "${LSIO_BASE}" == "fedora" ]] && [[ ! -d /usr/share/licenses/google-noto-cjk-fonts-common ]]; then # Install fonts and locales + rm -f /etc/rpm/macros.image-language-conf dnf install -y \ glibc-langpack-aa \ glibc-langpack-af \ @@ -716,6 +723,9 @@ elif [[ "${LSIO_BASE}" == "fedora" ]] && [[ ! -d /usr/share/licenses/google-noto done elif [[ "${LSIO_BASE}" == "arch" ]] && [[ ! -f /usr/share/fonts/noto-cjk/NotoSansCJK-Regular.ttc ]]; then # Install fonts + sed -i \ + '/locale/d' \ + /etc/pacman.conf pacman -Sy --noconfirm \ glibc \ noto-fonts-cjk \ From 6bed8ef822cdb5ee4cf9f0d4fab1e74de3287e63 Mon Sep 17 00:00:00 2001 From: "ryan.kuba" Date: Thu, 13 Apr 2023 20:38:36 -0700 Subject: [PATCH 13/14] universal: internationalization initial release --- .github/workflows/call_issue_pr_tracker.yml | 14 ++++++++++++++ .github/workflows/permissions.yml | 10 ++++++++++ 2 files changed, 24 insertions(+) create mode 100644 .github/workflows/call_issue_pr_tracker.yml create mode 100644 .github/workflows/permissions.yml diff --git a/.github/workflows/call_issue_pr_tracker.yml b/.github/workflows/call_issue_pr_tracker.yml new file mode 100644 index 0000000..87243e2 --- /dev/null +++ b/.github/workflows/call_issue_pr_tracker.yml @@ -0,0 +1,14 @@ +name: Issue & PR Tracker + +on: + issues: + types: [opened,reopened,labeled,unlabeled] + pull_request_target: + types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled] + +jobs: + manage-project: + permissions: + issues: write + uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1 + secrets: inherit diff --git a/.github/workflows/permissions.yml b/.github/workflows/permissions.yml new file mode 100644 index 0000000..1447bc5 --- /dev/null +++ b/.github/workflows/permissions.yml @@ -0,0 +1,10 @@ +name: Permission check +on: + pull_request_target: + paths: + - '**/run' + - '**/finish' + - '**/check' +jobs: + permission_check: + uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1 From 797024bfe07961bef427cd196b3cc6a521beea19 Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Fri, 14 Apr 2023 15:20:09 -0400 Subject: [PATCH 14/14] Update call_issue_pr_tracker.yml --- .github/workflows/call_issue_pr_tracker.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/call_issue_pr_tracker.yml b/.github/workflows/call_issue_pr_tracker.yml index 87243e2..2c30784 100644 --- a/.github/workflows/call_issue_pr_tracker.yml +++ b/.github/workflows/call_issue_pr_tracker.yml @@ -2,9 +2,11 @@ name: Issue & PR Tracker on: issues: - types: [opened,reopened,labeled,unlabeled] + types: [opened,reopened,labeled,unlabeled,closed] pull_request_target: - types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled] + types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed] + pull_request_review: + types: [submitted,edited,dismissed] jobs: manage-project: