nobox/lazy-strings

从Google Docs电子表格创建本地化字符串。

v5.0.1 2016-05-03 18:51 UTC

README

从Google Docs电子表格创建本地化字符串。

Build Status

安装

将Lazy Strings添加到您的composer.json文件中。

composer require nobox/lazy-strings

使用

使用以下设置创建LazyStrings的一个实例。

$lazyStrings = new LazyStrings([
    'url' => 'http://docs.google.com/spreadsheets/d/1V_cHt5Fe4x9XwVepvlXB39sqKXD3xs_QbM-NppkrE4A/export?format=csv',
    'sheets' => [
        'en' => 0,
    ],
    'target' => 'path/to/strings/folder',
    'backup' => 'path/to/strings/folder',
    'nested' => true
]);

使用generate();方法生成字符串。

$lazyStrings->generate();

设置

以下是对每个设置键项的描述。

url

添加Google电子表格发布的URL。这应该在“文件”>“发布到网络...”中进行,将“pubhtml”替换为末尾的“export?format=csv”,并在URL中使用“http”。请记住,此文档必须对任何人可访问。在“共享设置”中使用“公开于网络”。如果不这样做,Lazy Strings将无法解析它。

'url' => 'http://docs.google.com/spreadsheets/d/1V_cHt5Fe4x9XwVepvlXB39sqKXD3xs_QbM-NppkrE4A/export?format=csv'

sheets

在此处,您将指定Google文档中的所有工作表(如果不止一个)及其id,每个id与区域设置分开。如果为区域设置使用多个工作表,请使用数组。例如

'sheets' => [
    'en' => [0, 1626663029],
    'es' => 1329731586,
    'pt' => 1443604037
]

您可以从电子表格中使用Google文档URL的“gid”变量获取id。例如,在这个电子表格中:https://docs.google.com/a/nobox.com/spreadsheets/d/1V_cHt5Fe4x9XwVepvlXB39sqKXD3xs_QbM-NppkrE4A/edit#gid=1626663029,其id是1626663029

target

在此处,您必须指定一个存储翻译的路径。

'target' => 'path/to/strings/folder'

使用这些设置,它将在path/to/strings/folder中生成以下翻译文件。

├── folder/
│   ├── en/
│   │   ├── lazy.php
│   ├── es/
│   │   ├── lazy.php
│   ├── pt/
│   │   ├── lazy.php

backup

在此处,您必须指定一个存储JSON格式翻译的路径。类似于字符串的“备份”。

'backup' => 'path/to/strings/folder'

使用这些设置,它将在path/to/strings/folder中生成以下翻译文件。

├── folder/
│   ├── es.json
│   ├── en.json
│   ├── pt.json

nested

指定您是否希望您的翻译数组是嵌套的。

'nested' => true

如果您将嵌套设置用作true,则您的翻译将看起来像这样

<?php return array (
    'title' => 'Your page title',
    'tagline' => 'Your page tagline',
    'laravel' => 'PHP Framework',
    'header' => array (
        'hero' => array (
            'headline' => 'Hero headlines',
            'subject' => 'Main hero subject',
        ),
    ),
);

和像这样使用false

<?php return array (
    'title' => 'Your page title',
    'tagline' => 'Your page tagline',
    'laravel' => 'PHP Framework',
    'header.hero.headline' => 'Hero headlines',
    'header.hero.subject' => 'Main hero subject',
);

工作原理

Lazy Strings使用id => value约定来访问副本,它在指定的语言区域设置文件夹内生成一个lazy.php文件。您可以在这里查看一个示例文档。

使用此示例文档(具有嵌套翻译),您可以像这样访问第一行

$locale = 'en';
$strings = require 'path/to/strings/folder/'.$locale.'/lazy.php';
echo $strings['title']; // Returns "Your page title"

许可证

MIT