hurah/translate

为 Hurah 提供多语言支持。

v1.0.16 2024-06-12 16:47 UTC

This package is auto-updated.

Last update: 2024-09-12 17:36:22 UTC


README

此库/包与 Hurah 系统一起提供,本身没有实际的应用场景。

它应该如何工作。

以下是系统中存在的目录结构模式,其中包含需要翻译的字符串。在管理面板的管理员部分有一个用户界面可以编辑翻译。

/admin_modules/<module-name>/<sub-module-name>
/admin_modules/<module-name>/<sub-module-name>/<sub-module-name>
/public_html/<website-name>/modules/<module-name>
/public_html/<website-name>/modules/<module-name>/<sub-module-name>
/public_html/<website-name>/modules/<module-name>/<sub-module-name>/<sub-module-name>
/public_html/<website-name>/<some-directory>/modules/<module-name>
/classes/Crud/<some-directory>/Field
/classes/Crud/Custom/<system-name>/<some-directory>/Field

为了避免有数百个翻译文件(乘以 x 种语言),翻译文件应该按上述模式中描述的第一级变量进行分组。

<locale-dir>/admin_modules/<module-name>/Locales/<locale-name>.json
<locale-dir>/public_html/<website-name>/modules/<module-name>/<locale-name>.json
what to do here ? >>>> <locale-dir>/public_html/<website-name>/<some-directory>/modules/<module-name>
<locale-dir>/classes/Crud/<some-directory>/Field/Locales/<locale-name>.json
<locale-dir>/classes/Crud/Custom/<system-name>/<some-directory>/Field/Locales/<locale-name>.json

##翻译内容

<?php
$systemRoot = "/home/anton/Documents/sites/hurah/(admin_modules|modules|classes/Crud)";
$translationRoot = "/home/anton/Documents/sites/hurah/data";

$aTemplates = [

    /* admin_modules/ */
    "Custom/Cockpit/Foodbox/Finder/top_nav_search.twig",
    
    /* public_html/_default/modules */
    /* public_html/vangoolstoffenonline.nl/modules */
    /*  (merge) */
    "ProductList/Components/Product/{$sTemplateDir}/collection.twig",
    
    /* public_html/antonboutkam.nl/modules */
    "System/Modules/Projects/Project/page.twig",
    
    /* public_html/antonboutkam.nl/System/Modules */
    "System/Modules/Contact/contact.twig",
    
    /* classes */
    "Crud/Bank/Field" 
]


$language = new Language($systemRoot, $translationRoot);
$language->translate($templateName, $stringToTranslate);

antonboutkam