diff --git a/system/Controllers/SetupController.php b/system/Controllers/SetupController.php index 35e10a3..bd7f86d 100644 --- a/system/Controllers/SetupController.php +++ b/system/Controllers/SetupController.php @@ -52,9 +52,32 @@ class SetupController extends Controller $setuperrors = empty($systemcheck) ? false : 'Some system requirements for Typemill are missing.'; $systemcheck = empty($systemcheck) ? false : $systemcheck; - return $this->render($response, 'auth/setup.twig', array( 'messages' => $setuperrors, 'systemcheck' => $systemcheck )); + # Get the translated strings + $labels = $this->getSetupLabels(); + + return $this->render($response, 'auth/setup.twig', array( 'messages' => $setuperrors, 'systemcheck' => $systemcheck, 'labels' => $labels )); } + public function getSetupLabels() + { + # Check which languages are available + $langs = []; + $path = __DIR__ . '/../author/languages/*.yaml'; + foreach (glob($path) as $filename) { + $langs[] = basename($filename,'.yaml'); + } + + # Detect browser language + $accept_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); + $lang = in_array($accept_lang, $langs) ? $accept_lang : 'en'; + + # At least in the setup phase noon there should be no plugins and the theme should be typemill + $labels = \Typemill\Settings::getLanguageLabels($lang,'typemill',[]); + + return $labels; + } + + public function create($request, $response, $args) { if($request->isPost()) @@ -98,7 +121,10 @@ class SetupController extends Controller { /* store updated settings */ \Typemill\Settings::updateSettings(array('welcome' => false)); + + # Get the translated strings + $labels = $this->getSetupLabels(); - return $this->render($response, 'auth/welcome.twig', array()); + return $this->render($response, 'auth/welcome.twig', array( 'labels' => $labels )); } } \ No newline at end of file diff --git a/system/Extensions/TwigLanguageExtension.php b/system/Extensions/TwigLanguageExtension.php index 1c91529..3cd6eb2 100644 --- a/system/Extensions/TwigLanguageExtension.php +++ b/system/Extensions/TwigLanguageExtension.php @@ -16,22 +16,66 @@ class TwigLanguageExtension extends \Twig_Extension public function getFilters() { return [ - new \Twig_SimpleFilter('__', [$this,'translate'] ) + new \Twig_SimpleFilter('__', [$this,'translate'] ), + new \Twig_SimpleFilter('ta', [$this,'translate_array'] ) ]; } public function getFunctions() { return [ - new \Twig_SimpleFunction('__', array($this, 'translate' )) + new \Twig_SimpleFunction('__', array($this, 'translate' )), + new \Twig_SimpleFunction('ta', [$this,'translate_array'] ) ]; } + + public function translate_array( $label ) + { + /* In reality the function does not Translate an Array but a string, temporarily transformed into an array. + * I saw a filter/function with this name in Grav. + * Example: + + $label -> placeholder="Add Label for Start-Button" value="Start" + + after explode: + { + [0]=> string(13) " placeholder=" + [1]=> string(26) "Add Label for Start-Button" + [2]=> string(7) " value=" + [3]=> string(5) "Start" + [4]=> string(0) "" + } + + */ + $translated_label = ''; + $items = explode('"',$label); + foreach($items as $item){ + // skip empty string + if(!empty($item)){ + $pos = strpos($item, '='); + //skip string containing equal sign + if ($pos === false) { + // translate with previous function in this class + $translated = $this->translate($item); + // add the translated string + $translated_label .= '"'.$translated.'"'; + } else { + // adds the string containing the equal sign + $translated_label .= $item; + } + } + } + return $translated_label; + } + + public function translate( $label ) { - // replaces spaces, dots and dash with underscores + // replaces spaces, dots, comma and dash with underscores $string = str_replace(" ", "_", $label); $string = str_replace(".", "_", $string); + $string = str_replace(",", "_", $string); $string = str_replace("-", "_", $string); // transforms to uppercase diff --git a/system/Settings.php b/system/Settings.php index 8800d16..a4c0189 100644 --- a/system/Settings.php +++ b/system/Settings.php @@ -41,7 +41,12 @@ class Settings # i18n # load the strings of the set language $language = $settings['language']; - $settings['labels'] = self::getLanguageLabels($language); + $theme = $settings['theme']; + $plugins = []; + if(isset($settings['plugins'])){ + $plugins = $settings['plugins']; + } + $settings['labels'] = self::getLanguageLabels($language, $theme, $plugins); # We know the used theme now so create the theme path $settings['themePath'] = $settings['rootPath'] . $settings['themeFolder'] . DIRECTORY_SEPARATOR . $settings['theme']; @@ -98,7 +103,7 @@ class Settings # i18n - public static function getLanguageLabels($language) + public static function getLanguageLabels($language, $theme, $plugins) { # if not present, set the English language if( empty($language) ) @@ -106,23 +111,36 @@ class Settings $language = 'en'; } - # load the strings of the set language + # loads the system strings of the set language $yaml = new Models\WriteYaml(); - $labels = $yaml->getYaml('settings/languages', $language.'.yaml'); - - return $labels; - } + $system_labels = $yaml->getYaml('system/author/languages', $language.'.yaml'); - public static function getVuejsLabels($language) - { - if( empty($language) ){ - $language = 'en'; + # loads the theme strings of the set language + $theme_labels = []; + $theme_language_folder = 'themes/'.$theme.'/languages'; + if (file_exists($theme_language_folder)) { + $theme_labels = $yaml->getYaml($theme_language_folder, $language.'.yaml'); } - - // load the strings of the set language - $yaml = new Models\WriteYaml(); - $labels = $yaml->getYaml('settings/languages', 'vuejs-'.$language.'.yaml'); - + + # loads the plugins strings of the set language + $plugins_labels = []; + if(!empty($plugins)){ + $plugin_labels = []; + foreach($plugins as $name => $value){ + $plugin_language_folder = 'plugins/'.$name.'/languages'; + if (file_exists($theme_language_folder)) { + $plugin_labels[$name] = $yaml->getYaml($plugin_language_folder, $language.'.yaml'); + } + } + $plugins_labels = []; + foreach($plugin_labels as $key => $value){ + $plugins_labels = array_merge($plugins_labels, $value); + } + } + + # Combines arrays of system languages, themes and plugins + $labels = array_merge($system_labels, $theme_labels, $plugins_labels); + return $labels; } @@ -138,12 +156,30 @@ class Settings return $objectSettings; } + public function whichLanguage() + { + # Check which languages are available + $langs = []; + $path = __DIR__ . '/author/languages/*.yaml'; + foreach (glob($path) as $filename) { + $langs[] = basename($filename,'.yaml'); + } + + # Detect browser language + $accept_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); + $lang = in_array($accept_lang, $langs) ? $accept_lang : 'en'; + + return $lang; + } + public static function createSettings() { $yaml = new Models\WriteYaml(); - + + $language = self::whichLanguage(); + # create initial settings file with only setup false - if($yaml->updateYaml('settings', 'settings.yaml', array('setup' => false))) + if($yaml->updateYaml('settings', 'settings.yaml', array('setup' => false, 'language' => $language))) { return true; } diff --git a/system/author/auth/setup.twig b/system/author/auth/setup.twig index 4aaacf8..5c897c1 100644 --- a/system/author/auth/setup.twig +++ b/system/author/auth/setup.twig @@ -1,5 +1,5 @@ {% extends 'layouts/layoutAuth.twig' %} -{% block title %}Setup{% endblock %} +{% block title %}{{ labels['SETUP'] ? labels['SETUP'] : 'Setup' }}{% endblock %} {% block content %} @@ -19,21 +19,21 @@
- + {% if errors.username %} {{ errors.username | first }} {% endif %}
- + {% if errors.email %} {{ errors.email | first }} {% endif %}
- + {% if errors.password %} {{ errors.password | first }} @@ -41,7 +41,7 @@
- + {{ csrf_field() | raw }} diff --git a/system/author/auth/welcome.twig b/system/author/auth/welcome.twig index f8d22fd..7644ac7 100644 --- a/system/author/auth/welcome.twig +++ b/system/author/auth/welcome.twig @@ -1,6 +1,6 @@ {% extends 'layouts/layoutAuth.twig' %} -{% block title %}Setup Welcome{% endblock %} +{% block title %}{{ labels['SW_SETUP_WELCOME'] ? labels['SW_SETUP_WELCOME'] : 'Setup Welcome' }}{% endblock %} {% block content %} @@ -8,37 +8,37 @@
-

Hurra!

-

Your account has been created and you are logged in now.

-

Next step: Visit the author panel and setup your new website. You can configure the system, choose themes and add plugins.

-

Get help: If you have any questions, please read the docs or open a new issue on github.

-

Coded with by the community & Trendschau Digital.

+

{{ labels['SW_HURRA'] ? labels['SW_HURRA'] : 'Hurra' }}!

+

{{ labels['SW_YOUR_ACCOUNT'] ? labels['SW_YOUR_ACCOUNT'] : 'Your account has been created and you are logged in now.'}}

+

{{ labels['SW_NEXT_STOP'] ? labels['SW_NEXT_STOP'] : 'Next step:' }} {{ labels['SW_VISIT'] ? labels['SW_VISIT'] : 'Visit the author panel and setup your new website. You can configure the system, choose themes and add plugins.' }}

+

{{ labels['SW_GET_HELP'] ? labels['SW_GET_HELP'] : 'Get help:' }} {{ labels['SW_IF_YOU_HAVE'] ? labels['SW_IF_YOU_HAVE'] : 'If you have any questions, please read the' }} {{ labels['SW_DOCS'] ? labels['SW_DOCS'] : 'docs' }} {{ labels['SW_OR_OPEN'] ? labels['SW_OR_OPEN'] : 'or open a new issue on' }} {{ labels['GITHUB'] ? labels['GITHUB'] : 'github' }}.

+

{{ labels['SW_CODED'] ? labels['SW_CODED'] : 'Coded with' }} {{ labels['SW_BY'] ? labels['SW_BY'] : 'by the' }} {{ labels['SW_COMMUNITY'] ? labels['SW_COMMUNITY'] : 'community' }} & {{ labels['SW_TRENDSCHAU'] ? labels['SW_TRENDSCHAU'] : 'Trendschau Digital' }}.

- Configure your website + {{ labels['SW_CONFIGURE'] ? labels['SW_CONFIGURE'] : 'Configure your website' }}
-

System

-

Give your new website a name, add the author and choose a copyright.

+

{{ labels['SYSTEM'] ? labels['SYSTEM'] : 'System' }}

+

{{ labels['SW_GIVE_YOUR_NEW'] ? labels['SW_GIVE_YOUR_NEW'] : 'Give your new website a name, add the author and choose a copyright.' }}

-

Themes

-

Choose a theme for your website and configure the theme details.

+

{{ labels['THEMES'] ? labels['THEMES'] : 'Themes' }}

+

{{ labels['SW_CHOOSE_A_THEME'] ? labels['SW_CHOOSE_A_THEME'] : 'Choose a theme for your website and configure the theme details.' }}

-

Plugins

-

Add new features to your website with plugins and configure them.

+

{{ labels['PLUGINS'] ? labels['PLUGINS'] : 'Plugins' }}

+

{{ labels['SW_ADD_NEW_FEATURE'] ? labels['SW_ADD_NEW_FEATURE'] : 'Add new features to your website with plugins and configure them.' }}

diff --git a/system/author/js/vue-blox.js b/system/author/js/vue-blox.js index d174419..fcd9079 100644 --- a/system/author/js/vue-blox.js +++ b/system/author/js/vue-blox.js @@ -949,14 +949,14 @@ const tableComponent = Vue.component('table-component', { '
{{ \'add row below\'|translate }}
' + '
{{ \'delete row\'|translate }}
' + '
' + - '{{ value }}' + + '{{ value|translate }}' + '' + '
' + '
{{ \'add row above\'|translate }}
' + '
{{ \'add row below\'|translate }}
' + '
{{ \'delete row\'|translate }}
' + '
' + - '{{ value }}' + + '{{ value|translate }}' + '' + '' + '' + @@ -1244,7 +1244,7 @@ const imageComponent = Vue.component('image-component', { ' ' + '

{{ \'drag a picture or click to select\'|translate }}

' + '' + - '' + + '' + '' + '' + - '' + + '' + '' + '' + '
' + '
{{errors}}
' + diff --git a/system/author/js/vue-meta.js b/system/author/js/vue-meta.js index 35c5f6b..17cf449 100644 --- a/system/author/js/vue-meta.js +++ b/system/author/js/vue-meta.js @@ -2,7 +2,7 @@ const FormBus = new Vue(); Vue.filter('translate', function (value) { if (!value) return '' - transvalue = value.replace(/[ ]/g,"_").replace(/[.]/g, "_").replace(/[-]/g, "_").replace(/[,]/g,"_").replace(/[(]/g,"_").replace(/[)]/g,"_").toUpperCase() + transvalue = value.replace(/[ ]/g,"_").replace(/[.]/g, "_").replace(/[,]/g, "_").replace(/[-]/g, "_").replace(/[,]/g,"_").replace(/[(]/g,"_").replace(/[)]/g,"_").toUpperCase() translated_string = labels[transvalue] if(!translated_string || translated_string.length === 0){ return value diff --git a/settings/languages/de.yaml b/system/author/languages/de.yaml similarity index 100% rename from settings/languages/de.yaml rename to system/author/languages/de.yaml diff --git a/settings/languages/en.yaml b/system/author/languages/en.yaml similarity index 79% rename from settings/languages/en.yaml rename to system/author/languages/en.yaml index f1e9709..64e4092 100644 --- a/settings/languages/en.yaml +++ b/system/author/languages/en.yaml @@ -1,6 +1,5 @@ # English ACCOUNT: Account -ACTIVATE_SPECIAL_STARTPAGE_DESIGN: Activate Special Startpage-Design ACTIVE: Active ACTUAL_PASSWORD: Actual Password ADD: add @@ -17,7 +16,6 @@ ADD_ROW_BELOW: add row below ALL_USERS: All users ALT_TEXT: Alt-Text AUTHOR: Author -AUTHOR_INTRO: Author Intro BACK_TO_STARTPAGE: back to startpage BOLD: bold BOTTOM: Bottom @@ -37,7 +35,6 @@ COG: cog CONTENT: Content CONTENT: Content COPYRIGHT: Copyright -COUNT_CHAPTERS_IN_NAVIGATION?: Count chapters in navigation? CREATED_AT__READ_ONLY_: Created at (readonly) CREATED_AT__READONLY_: Created at (read only) CREATE_NEW_USER: Create New User @@ -54,7 +51,6 @@ DELETE_PAGE: Delete page DELETE_ROW: delete row DELETE_USER: Delete User DESCRIPTION: description -DIFFERENT_DESIGN_FOR_STARTPAGE: Different Design for Startpage DISCARD_CHANGES: Discard Changes DISCARD: Discard DO_YOU_REALLY_WANT_TO_DELETE_THE_USER: Do you really want to delete the user @@ -62,19 +58,25 @@ DO_YOU_REALLY_WANT_TO_DELETE_THIS_PAGE: Do you really want to delete this page? DO_YOU_WANT_TO_DISCARD_YOUR_CHANGES_AND_SET_THE_CONTENT_BACK_TO_THE_LIVE_VERSION: Do you want to discard your changes and set the content back to the live version? DRAFT: Draft DRAG_A_PICTURE_OR_CLICK_TO_SELECT: upload an image +DUTCH__FLEMISH: Dutch, Flemish EDIT: edit EDIT_USER: Edit User E_G_: e.g. E_MAIL: E-Mail +ENGLISH: English EXTERNAL_LINK: external-link -FACEBOOK: Facebook +FAVICON: Favicon FILE: File +FILES: Files FIRST_NAME: First Name FOLDER: folder FORGOT_PASSWORD: Forgot password FORMAT: Format -GITHUB: GitHub +GENERAL_PRESENTATION: General Presentation +GERMAN: German +GOOGLE_SITEMAP: Google Sitemap HEAD: Head +HEADLINE_ANCHORS: Headline Anchors HEADLINE: Headline HIDE: Hide HIDE_PAGE_FROM_NAVIGATION: Hide page from navigation @@ -84,25 +86,19 @@ HORIZONTAL_LINE: Horizontal Line HR: hr IF_NOT_FILLED__THE_DESCRIPTION_IS_EXTRACTED_FROM_CONTENT_: If not filled, the description is extracted from content. IMAGE: Image +IMAGES: Images +ITALIAN: Italian ITALIC: italic -LABEL_FOR_CHAPTER: Label for Chapter -LABEL_FOR_START_BUTTON: Label for Start Button LANGUAGE: Language -LAST_MODIFIED_FORMAT: Last Modified Format -LAST_MODIFIED: Last Modified LAST_MODIFIED_LIVE__READONLY_: Last modified live (readonly) -LAST_MODIFIED_TEXT: Last Modified Text LAST_NAME: Last Name LEFT: Left LICENCE: Licence -LINKEDIN: Linkedin LINK: Link -LINK_TO_GIT_REPOSITORY: Link to git repository LINK_TO_VIDEO: Link to video LOGIN: Login -LOGO_ON_STARTPAGE: Logo on startpage +LOGO: Logo LOGOUT: Logout -MAIL: Mail MANUAL_DATE: Manual date MARKDOWN: markdown MENU: Menu @@ -114,11 +110,13 @@ MOVE_VERTICAL: move vertical NAVIGATION_TITLE: Navigation Title NEW_PASSWORD: New Password NO_DESCRIPTION: No description +NONE: None NO_PREVIEW: No Preview NO_SETTINGS: No Settings NOT_EDITABLE: not editable NUMBERED_LIST: Numbered List OLIST: olist +ONLINE: online ONLY_THE_FOLLOWING_SPECIAL_CHARACTERS_ARE_ALLOWED: Only the following special characters are allowed: PARAGRAPH: Paragraph PASSWORD: Password @@ -126,10 +124,6 @@ PLEASE_CONFIRM: Please confirm PLEASE_CORRECT_THE_ERRORS_ABOVE: Please correct the errors above PLUGINS: Plugins PLUGIN_STORE: Plugin Store -POSITION_OF_AUTHOR: Position of Author -POSITION_OF_GIT_EDIT_LINK: Position of Git Edit Link -POSITION_OF_MODIFIED_TEXT: Position of Modified Text -POSITION_OF_SHARE_BUTTONS: Position of Share-Buttons POWER_OFF: power-off PUBLISH: Publish QUOTE: Quote @@ -143,17 +137,16 @@ REMEMBER_TO_BOOKMARK_THIS_PAGE: Remember to bookmark this page REQUIRED: Required RIGHT: Right ROLE: Role +RUSSIAN: Russian SAVE_ALL_SETTINGS: Save All Settings SAVED_SUCCESSFULLY: Saved successfully SAVE: Save SAVE_THEME: Save Theme -SELECT_SHARE_BUTTONS: Select Share Buttons -SETTINGS: Settings +SELECT_FROM_MEDIALIB: select from medialib SETTINGS_ARE_STORED: Settings are stored +SETTINGS: Settings SETUP: Setup -SHARE: Share -SHOW_CHAPTER_NUMBERS: Show Chapter Numbers -SHOW_LOGO_INSTEAD_OF_TITLE_ON_STARTPAGE: Show logo instead of title on startpage +SHOW_ANCHORS_NEXT_TO_HEADLINES: Show anchors next to headlines STANDARD_EDITOR_MODE: Standard Editor Mode START: Start SYSTEM: System @@ -168,13 +161,13 @@ THEME_STORE: Theme Store TITLE: Title TOC: toc TOP: Top -TWITTER: Twitter TYPEMILL_DESCRIPTION: The standard theme for Typemill. Responsive, minimal and without any dependencies. It uses the system fonts Calibri and Helvetica. No JavaScript is used. ULIST: ulist UNKNOWN: Unknown UPDATE_USER: Update User -UPLOAD: upload UPLOAD_FILE: Upload a file +UPLOAD: upload +USE_2_TO_20_CHARACTERS: Use 2 to 20 characters. USE_2_TO_40_CHARACTERS: Use 2 to 40 characters. USE_A_VALID_YEAR: Use a valid year USED_AS_FALLBACK_WHEN_NO_MANUAL_DATE_IS_SET_: Used as fallback when no manual date is set. @@ -191,8 +184,24 @@ VISUAL: visual WAIT: wait WEBSITE_TITLE: Website Title WEB: Web -WHATSAPP: WhatsApp WRITING: Writing -XING: Xing YEAR: Year YOU_CAN_OVERWRITE_THE_THEME_CSS_WITH_YOUR_OWN_CSS_HERE_: You can overwrite the theme-css with your own css here. + +SW_SETUP_WELCOME: Setup Welcome +SW_HURRA: Hurra +SW_YOUR_ACCOUNT: Your account has been created and you are logged in now. +SW_NEXT_STOP: Next step: +SW_VISIT: Visit the author panel and setup your new website. You can configure the system, choose themes and add plugins. +SW_GET_HELP: Get help: +SW_IF_YOU_HAVE: If you have any questions, please read the +SW_DOCS: docs +SW_OR_OPEN: or open a new issue on +SW_CODED: Coded with +SW_BY: by the +SW_COMMUNITY: community +SW_TRENDSCHAU: Trendschau Digital +SW_CONFIGURE: Configure your website +SW_GIVE_YOUR_NEW: Give your new website a name, add the author and choose a copyright. +SW_CHOOSE_A_THEME: Choose a theme for your website and configure the theme details. +SW_ADD_NEW_FEATURE: Add new features to your website with plugins and configure them. diff --git a/settings/languages/it.yaml b/system/author/languages/it.yaml similarity index 78% rename from settings/languages/it.yaml rename to system/author/languages/it.yaml index 2b079f7..a6ff4c4 100644 --- a/settings/languages/it.yaml +++ b/system/author/languages/it.yaml @@ -1,6 +1,5 @@ # Italiano ACCOUNT: Utenza -ACTIVATE_SPECIAL_STARTPAGE_DESIGN: Attiva il disegno speciale della pagina iniziale ACTIVE: Attivo ACTUAL_PASSWORD: Parola d'ordine corrente ADD: aggiungi @@ -17,7 +16,6 @@ ADD_ROW_BELOW: aggiungi la riga sotto ALL_USERS: Tutti gli utenti ALT_TEXT: Testo alternativo AUTHOR: Autore -AUTHOR_INTRO: Introduzione dell'autore BACK_TO_STARTPAGE: torna alla pagina iniziale BOLD: grassetto BOTTOM: Sotto @@ -31,12 +29,12 @@ CENTER: Centro CHECK: controllo CHOOSE_FILE: Scegli il file CLASS: Classe +CLOSE_LIBRARY: Chiudi libreria CODE: Codice COG: ingranaggio CONTENT: Contenuto CONTENT: Contenuto COPYRIGHT: Diritti d'autore -COUNT_CHAPTERS_IN_NAVIGATION?: Contare i capitoli nella navigazione? CREATED_AT__READ_ONLY_: Creato il (sola lettura) CREATED_AT__READONLY_: Creato il (sola lettura) CREATE_NEW_USER: Crea nuovo utente @@ -53,7 +51,6 @@ DELETE_PAGE: Elimina pagina DELETE_ROW: elimina riga DELETE_USER: Elimina utente DESCRIPTION: descrizione -DIFFERENT_DESIGN_FOR_STARTPAGE: Disegno diverso per la pagina iniziale DISCARD_CHANGES: Non salvare le modifiche DISCARD: Scarta DO_YOU_REALLY_WANT_TO_DELETE_THE_USER: Vuoi veramente eliminare l'utente @@ -61,19 +58,25 @@ DO_YOU_REALLY_WANT_TO_DELETE_THIS_PAGE: Vuoi veramente cancellare questa pagina? DO_YOU_WANT_TO_DISCARD_YOUR_CHANGES_AND_SET_THE_CONTENT_BACK_TO_THE_LIVE_VERSION: Vuoi annullare le modifiche e ripristinare i contenuti alla versione precedente? DRAFT: Bozza DRAG_A_PICTURE_OR_CLICK_TO_SELECT: trascina un'immagine o fai clic per selezionare +DUTCH__FLEMISH: Olandese, Fiammingo EDIT: modifica EDIT_USER: Modifica utente E_G_: per es.: E_MAIL: Posta elettronica +ENGLISH: Inglese EXTERNAL_LINK: collegamento esterno -FACEBOOK: Facebook -File: File +FAVICON: Favicon +FILE: Archivio +FILES: Archivi FIRST_NAME: Nome FOLDER: cartella FORGOT_PASSWORD: Parola d'ordine dimenticata FORMAT: Format -GITHUB: GitHub +GENERAL_PRESENTATION: Presentazione generale +GERMAN: Tedesco +GOOGLE_SITEMAP: Sitemap di Google HEAD: Intestazione +HEADLINE_ANCHORS: Ancoraggi del titolo HEADLINE: Titolo HIDE: Nascondi HIDE_PAGE_FROM_NAVIGATION: Nasconde la pagina dalla navigazione @@ -83,41 +86,37 @@ HORIZONTAL_LINE: Linea orizzontale HR: Linea orizzontale IF_NOT_FILLED__THE_DESCRIPTION_IS_EXTRACTED_FROM_CONTENT_: Se non compilato, la descrizione viene estratta dal contenuto. IMAGE: Immagine +IMAGES: Immagini +ITALIAN: Italiano ITALIC: corsivo -LABEL_FOR_CHAPTER: Etichetta per capitolo -LABEL_FOR_START_BUTTON: Etichetta per il pulsante Comincia LANGUAGE: Lingua -LAST_MODIFIED_FORMAT: Ultimo formato modificato LAST_MODIFIED_LIVE__READONLY_: Ultima modifica (sola lettura) -LAST_MODIFIED_TEXT: Ultimo testo modificato -LAST_MODIFIED: Ultima modifica LAST_NAME: Cognome LEFT: Sinistra LICENCE: Licenza LINK: Collegamento -LINKEDIN: Linkedin -LINK_TO_GIT_REPOSITORY: Collegamento al deposito git LINK_TO_VIDEO: Collega al video LOGIN: Accesso -LOGO_ON_STARTPAGE: Logo sulla pagina iniziale -LOGOUT: Disconnessione -MAIL: Mail +LOGO: Logo +LOGOUT: Esci MANUAL_DATE: Data manuale MARKDOWN: Markdown MENU: Menu META_DESCRIPTION: Descrizione -META_TITLE: Titolo META: Metadati +META_TITLE: Titolo MISSING_REQUIREMENTS: Requisiti mancanti MOVE_VERTICAL: spostare in verticale NAVIGATION_TITLE: Titolo di navigazione NEW_PASSWORD: Nuova parola d'ordine NO_DESCRIPTION: Nessuna descrizione +NONE: Nessuna NO_PREVIEW: Nessuna anteprima NO_SETTINGS: Nessuna impostazione NOT_EDITABLE: non modificabile NUMBERED_LIST: Elenco numerato OLIST: Elenchi ordinati +ONLINE: in linea ONLY_THE_FOLLOWING_SPECIAL_CHARACTERS_ARE_ALLOWED: Sono ammessi solo i seguenti caratteri speciali: PARAGRAPH: Paragrafo PASSWORD: Parola d'ordine @@ -125,10 +124,6 @@ PLEASE_CONFIRM: Per favore conferma PLEASE_CORRECT_THE_ERRORS_ABOVE: Si prega di correggere gli errori sopra PLUGINS: Plugin PLUGIN_STORE: Deposito plugin -POSITION_OF_AUTHOR: Posizione dell'autore -POSITION_OF_GIT_EDIT_LINK: Posizione del collegamento modifica Git -POSITION_OF_MODIFIED_TEXT: Posizione del testo modificato -POSITION_OF_SHARE_BUTTONS: Posizione dei pulsanti di condivisione POWER_OFF: spegni PUBLISH: Pubblica QUOTE: Citazione @@ -142,17 +137,16 @@ REMEMBER_TO_BOOKMARK_THIS_PAGE: Ricorda di aggiungere questa pagina ai segnalibr REQUIRED: Richiesto RIGHT: Destra ROLE: Ruolo +RUSSIAN: Russo SAVE_ALL_SETTINGS: Salva tutte le impostazioni SAVED_SUCCESSFULLY: Salvato con successo SAVE: Salva SAVE_THEME: Salva tema -SELECT_SHARE_BUTTONS: Seleziona i pulsanti pulsanti di condivisione -SETTINGS: Impostazioni +SELECT_FROM_MEDIALIB: seleziona da medialib SETTINGS_ARE_STORED: Le impostazioni sono memorizzate +SETTINGS: Impostazioni SETUP: Configurazione -SHARE: Condividere -SHOW_CHAPTER_NUMBERS: Mostra i numeri dei capitoli -SHOW_LOGO_INSTEAD_OF_TITLE_ON_STARTPAGE: Mostra logo invece del titolo sulla pagina iniziale +SHOW_ANCHORS_NEXT_TO_HEADLINES: Mostra le ancore accanto ai titoli STANDARD_EDITOR_MODE: Modalità editore standard START: Comincia SYSTEM: Sistema @@ -167,12 +161,13 @@ THEME_STORE: Deposito temi TITLE: Titolo TOC: Sommario TOP: Sopra -TWITTER: Twitter TYPEMILL_DESCRIPTION: Il tema standard per Typemill. Reattivo, minimo e senza dipendenze. Utilizza i caratteri di sistema Calibri ed Helvetica. Non viene utilizzato JavaScript. ULIST: Elenchi non ordinati UNKNOWN: Ignoto UPDATE_USER: Aggiorna utente UPLOAD: carica +UPLOAD_FILE: Carica un file +USE_2_TO_20_CHARACTERS: Usa da 2 a 20 caratteri. USE_2_TO_40_CHARACTERS: Usa da 2 a 40 caratteri. USE_A_VALID_YEAR: Usa un anno valido USED_AS_FALLBACK_WHEN_NO_MANUAL_DATE_IS_SET_: Utilizzato come ripiego quando non è impostata alcuna data manuale. @@ -189,8 +184,24 @@ VISUAL: visivo WAIT: aspetta WEBSITE_TITLE: Titolo del sito WEB: Sito -WHATSAPP: WhatsApp WRITING: Scrittura -XING: Xing YEAR: Anno YOU_CAN_OVERWRITE_THE_THEME_CSS_WITH_YOUR_OWN_CSS_HERE_: È possibile sovrascrivere il css del tema con il proprio CSS qui. + +SW_SETUP_WELCOME: Benvenuto all'installazione +SW_HURRA: Evviva +SW_YOUR_ACCOUNT: Il tuo account è stato creato e ora sei connesso. +SW_NEXT_STOP: Prossimo passo: +SW_VISIT: Visita il pannello autore e configura il tuo nuovo sito. Puoi configurare il sistema, scegliere i temi e aggiungere plugin. +SW_GET_HELP: Chiedi aiuto: +SW_IF_YOU_HAVE: In caso di domande, si prega di leggere la +SW_DOCS: documentazione +SW_OR_OPEN: o aprire un nuovo problema su +SW_CODED: Codificato con +SW_BY: dalla +SW_COMMUNITY: comunità +SW_TRENDSCHAU: Trendschau Digital +SW_CONFIGURE: Configura il tuo sito +SW_GIVE_YOUR_NEW: Dai un nome al tuo nuovo sito, aggiungi l'autore e scegli un diritto d'autore. +SW_CHOOSE_A_THEME: Scegli un tema per il tuo sito e configura i dettagli del tema. +SW_ADD_NEW_FEATURE: Aggiungi nuove funzionalità al tuo sito mediante plugin e configurali. diff --git a/settings/languages/nl.yaml b/system/author/languages/nl.yaml similarity index 84% rename from settings/languages/nl.yaml rename to system/author/languages/nl.yaml index 2e16685..1faa2cc 100644 --- a/settings/languages/nl.yaml +++ b/system/author/languages/nl.yaml @@ -1,6 +1,5 @@ # Dutch ACCOUNT: Account -ACTIVATE_SPECIAL_STARTPAGE_DESIGN: Activeer speciaal startpagina-ontwerp ACTIVE: Actief ACTUAL_PASSWORD: Actueel wachtwoord ADD_CONTENT_BLOCK: inhoudblok toevoegen @@ -17,7 +16,6 @@ ADD: toevoegen ALL_USERS: Alle gebruikers ALT_TEXT: Alt-tekst AUTHOR: Auteur -AUTHOR_INTRO: Auteur Intro BACK_TO_STARTPAGE: terug naar startpagina BOLD: vetgedrukt BOTTOM: bodem @@ -33,7 +31,6 @@ CODE: Code COG: tandwiel CONTENT: Inhoud COPYRIGHT: Auteursrecht -COUNT_CHAPTERS_IN_NAVIGATION?: Hoofdstukken tellen in navigatie? CREATED_AT__READ_ONLY_: Gemaakt om (alleen lezen) CREATED_AT__READONLY_: Gemaakt om (alleen lezen) CREATE_NEW_USER: Nieuwe gebruiker maken @@ -49,7 +46,6 @@ DELETE_ROW: rij verwijderen DELETE_USER: Gebruiker verwijderen DELETE: verwijderen DESCRIPTION: omschrijving -DIFFERENT_DESIGN_FOR_STARTPAGE: ander ontwerp voor startpagina DISCARD_CHANGES: Wijzigingen negeren DISCARD: weggooien DO_YOU_REALLY_WANT_TO_DELETE_THE_USER: Wilt u de gebruiker echt verwijderen @@ -62,12 +58,10 @@ EDIT_USER: Gebruiker bewerken E_G_: bijv. E_MAIL: e-mail EXTERNAL_LINK: externe link -FACEBOOK: Facebook FIRST_NAME: Voornaam FOLDER: map FORGOT_PASSWORD: Wachtwoord vergeten FORMAT: Formaat -GITHUB: GitHub HEAD: Kop HEADLINE: Kop HOME: home @@ -78,23 +72,15 @@ HR: hr IF_NOT_FILLED__THE_DESCRIPTION_IS_EXTRACTED_FROM_CONTENT_: Indien niet ingevuld, wordt de beschrijving uit de inhoud gehaald. IMAGE: Afbeelding ITALIC: cursief -LABEL_FOR_CHAPTER: Label voor hoofdstuk -LABEL_FOR_START_BUTTON: label voor startknop LANGUAGE: Taal -LAST_MODIFIED_FORMAT: Laatst gewijzigd formaat -LAST_MODIFIED: Laatst gewijzigd LAST_MODIFIED_LIVE__READONLY_: Laatst gewijzigd live (alleen-lezen) -LAST_MODIFIED_TEXT: Laatst gewijzigde tekst LAST_NAME: achternaam LEFT: Links LICENCE: Licentie -LINKEDIN: Linkedin LINK: Link -LINK_TO_GIT_REPOSITORY: Link naar git repository LINK_TO_VIDEO: Link naar video LOGIN: Inloggen LOGOUT: Uitloggen -MAIL: Mail MANUAL_DATE: Handmatige datum MARKDOWN: Markdown MENU: Menu @@ -118,10 +104,6 @@ PLEASE_CONFIRM: bevestig alstublieft PLEASE_CORRECT_THE_ERRORS_ABOVE: Corrigeer bovenstaande fouten PLUGINS: plug-ins PLUGIN_STORE: Plugin Store -POSITION_OF_AUTHOR: Positie van auteur -POSITION_OF_GIT_EDIT_LINK: Positie van Git Link bewerken -POSITION_OF_MODIFIED_TEXT: Positie van gemodificeerde tekst -POSITION_OF_SHARE_BUTTONS: Positie van Share-knoppen POWER_OFF: power-off PUBLISH: Publiceren QUOTE: Citeren @@ -139,11 +121,8 @@ SAVE_ALL_SETTINGS: sla alle instellingen op SAVED_SUCCESSFULLY: succesvol opgeslagen SAVE: Opslaan SAVE_THEME: Thema opslaan -SELECT_SHARE_BUTTONS: Selecteer Share-knoppen SETTINGS: Instellingen SETUP: Setup -SHARE: deel -SHOW_CHAPTER_NUMBERS: hoofdstuknummers tonen STANDARD_EDITOR_MODE: Standaardeditormodus START: Start SYSTEM: Systeem @@ -158,7 +137,6 @@ THEME_STORE: Theme Store TITLE: Titel TOC: toc TOP: Top -TWITTER: Twitter TYPEMILL_DESCRIPTION: Het standaardthema voor typemill. Responsief, minimaal en zonder afhankelijkheden. Het gebruikt de systeemlettertypen Calibri en Helvetica. Er is geen JavaScript gebruikt. ULIST: ulist UNKNOWN: onbekend @@ -179,7 +157,5 @@ VISUEEL: visueel WAIT: wacht WEBSITE_TITLE: Titel van de website WEB: Web -WHATSAPP: Whatsapp WRITING: schrijven -XING: Xing YEAR: Jaar diff --git a/settings/languages/ru.yaml b/system/author/languages/ru.yaml similarity index 82% rename from settings/languages/ru.yaml rename to system/author/languages/ru.yaml index 7ba30e8..226f37a 100644 --- a/settings/languages/ru.yaml +++ b/system/author/languages/ru.yaml @@ -1,7 +1,6 @@ # Russian #Translation: Paul (https://paul.bid) paulbid@protonmail.com ACCOUNT: Аккаунт -ACTIVATE_SPECIAL_STARTPAGE_DESIGN: Активировать особый дизайн для Главной страницы ACTIVE: Активный ACTUAL_PASSWORD: Текущий пароль ADD: добавить @@ -18,7 +17,6 @@ ADD_ROW_BELOW: добавить строку ниже ALL_USERS: Все пользователи ALT_TEXT: Альтернативный текст AUTHOR: Автор -AUTHOR_INTRO: Напись перед указанием автора BACK_TO_STARTPAGE: назад на страртовую страницу BOLD: Полужирный BOTTOM: Внизу @@ -38,7 +36,6 @@ COG: cog CONTENT: Редактор CONTENT: Контент COPYRIGHT: Копирайт -COUNT_CHAPTERS_IN_NAVIGATION?: Нумеровать разделы в панели навигации? CREATED_AT__READ_ONLY_: Создано в (только просмотр) CREATED_AT__READONLY_: Создано в (только просмотр) CREATE_NEW_USER: Создание нового пользователя @@ -55,7 +52,6 @@ DELETE_PAGE: Удалить страницу DELETE_ROW: удалить строку DELETE_USER: Удалить пользователя DESCRIPTION: описание -DIFFERENT_DESIGN_FOR_STARTPAGE: Особый дизайн для Главной страницы DISCARD_CHANGES: Сбросить изменения DISCARD: Сбросить DO_YOU_REALLY_WANT_TO_DELETE_THE_USER: Вы действительно хотите удалить пользователя? @@ -68,13 +64,11 @@ EDIT_USER: Редактирование профиля E_G_: например E_MAIL: Email EXTERNAL_LINK: внешняя ссылка -FACEBOOK: Facebook FILE: Файл FIRST_NAME: Имя FOLDER: раздел FORGOT_PASSWORD: Забыл пароль FORMAT: Формат -GITHUB: GitHub HEAD: Заголовок HEADLINE: Заголовок HIDE: Скрыть @@ -86,24 +80,15 @@ HR: Горизонтальная линия IF_NOT_FILLED__THE_DESCRIPTION_IS_EXTRACTED_FROM_CONTENT_: Если не заполнено, описание генерируется из содержимого. IMAGE: Изображение ITALIC: Наклонный -LABEL_FOR_CHAPTER: Надпись обозначающая раздел -LABEL_FOR_START_BUTTON: Надпись на кнопке «Начать» LANGUAGE: Язык -LAST_MODIFIED_FORMAT: Формат даты последнего изменения -LAST_MODIFIED: Последние изменения LAST_MODIFIED_LIVE__READONLY_: Последнее изменение (только просмотр) -LAST_MODIFIED_TEXT: Текст перед указанием даты последнего изменения LAST_NAME: Фамилия LEFT: Слева LICENCE: Лицензия -LINKEDIN: LinkedIn LINK: Ссылка -LINK_TO_GIT_REPOSITORY: Ссылка на git репозиторий LINK_TO_VIDEO: Ссылка на видео LOGIN: Войти -LOGO_ON_STARTPAGE: Логотип на Стартовой странице LOGOUT: Выйти -MAIL: Почта MANUAL_DATE: Выбор даты вручную MARKDOWN: Markdown MENU: Меню @@ -127,10 +112,6 @@ PLEASE_CONFIRM: Пожалуйста подтвердите PLEASE_CORRECT_THE_ERRORS_ABOVE: Пожалуйста, исправьте ошибки выше PLUGINS: Плагины PLUGIN_STORE: Магазин Плагинов -POSITION_OF_AUTHOR: Место для отображения авторства -POSITION_OF_GIT_EDIT_LINK: Позиция Git-ссылки на редактирование -POSITION_OF_MODIFIED_TEXT: Позиция надписи о последнем изменении -POSITION_OF_SHARE_BUTTONS: Позиция кнопок «поделиться» POWER_OFF: выключить PUBLISH: Опубликовать QUOTE: Цитата @@ -148,13 +129,9 @@ SAVE_ALL_SETTINGS: Сохранить все настройки SAVED_SUCCESSFULLY: Успешно сохранено SAVE: Сохранить SAVE_THEME: Сохранить настройки Темы -SELECT_SHARE_BUTTONS: Выберите кнопки нужные «поделиться» SETTINGS: Настройки SETTINGS_ARE_STORED: Настройки сохранены SETUP: Установка -SHARE: Поделиться -SHOW_CHAPTER_NUMBERS: Отображать нумерацию разделов -SHOW_LOGO_INSTEAD_OF_TITLE_ON_STARTPAGE: Показывать логотип вместо названия на Стартовой странице STANDARD_EDITOR_MODE: Стандартный режим редактора START: Начать SYSTEM: Система @@ -169,7 +146,6 @@ THEME_STORE: Магазин Тем TITLE: Название TOC: Оглавление TOP: Наверху -TWITTER: Twitter TYPEMILL_DESCRIPTION: Стандартная тема для Typemill. Отзывчивая, минималистичная и без каких-либо зависимостей. Используются системные шрифты Calibri и Helvetica. JavaScript не используется. ULIST: Маркированный список UNKNOWN: Неизвестен @@ -192,8 +168,6 @@ VISUAL: визуально WAIT: подождите WEBSITE_TITLE: Название сайта WEB: Сайт -WHATSAPP: WhatsApp WRITING: Написание -XING: Xing YEAR: Год YOU_CAN_OVERWRITE_THE_THEME_CSS_WITH_YOUR_OWN_CSS_HERE_: Вы можете изменить CSS стиль Темы на свой собственный CSS здесь. diff --git a/system/author/partials/fields.twig b/system/author/partials/fields.twig index 3dc7227..39d4c4b 100644 --- a/system/author/partials/fields.twig +++ b/system/author/partials/fields.twig @@ -2,7 +2,7 @@ {% if field.type == 'textarea' %} @@ -63,7 +63,7 @@ {% else %} - + {% endif %} diff --git a/system/author/settings/plugins.twig b/system/author/settings/plugins.twig index 8a6db8b..b1d13e0 100644 --- a/system/author/settings/plugins.twig +++ b/system/author/settings/plugins.twig @@ -31,12 +31,12 @@
{{ plugin.version ? plugin.version : __('Unknown') }}
-

{{ plugin.description ? plugin.description : __('No description') }}

+

{{ plugin.description ? __(plugin.description) : __('No description') }}

  • {{ plugin.version ? plugin.version : __('Unknown') }}
  • {{ plugin.licence ? plugin.licence : __('Unkown') }}
  • - by {{ plugin.author ? plugin.author : __('Unknown') }}
  • {% if plugin.homepage %}
  • + {{ __('by') }} {{ plugin.author ? plugin.author : __('Unknown') }}
  • {% if plugin.homepage %}
  • {{ __('Web') }}
  • {% endif %}
diff --git a/system/author/settings/system.twig b/system/author/settings/system.twig index fba46a6..b563b38 100644 --- a/system/author/settings/system.twig +++ b/system/author/settings/system.twig @@ -24,13 +24,13 @@
- + {% if errors.settings.title %} {{ errors.settings.title | first }} {% endif %}
- + {% if errors.settings.author %} {{ errors.settings.author | first }} {% endif %} @@ -38,7 +38,7 @@ {% if errors.settings.copyright %} @@ -54,14 +54,14 @@ {% if errors.settings.language %} {{ errors.settings.language | first }} {% endif %}
- +

@@ -69,7 +69,7 @@

{{ __('General Presentation') }}