Difference between revisions of "Developing an MVC Component/Adding language management/nl"
From Joomla! Documentation
< J3.x:Developing an MVC Component
(Created page with "== Toevoegen van vertalingen bij het beheren van de component ==") |
(Created page with "Maak met uw bestandsmanager en editor van uw voorkeur een bestand <tt>admin/language/en-GB/en-GB.com_helloworld.ini</tt>. Dit bestand zal vertalingen voor het beheergedeelte b...") |
||
Line 33: | Line 33: | ||
== Toevoegen van vertalingen bij het beheren van de component == | == Toevoegen van vertalingen bij het beheren van de component == | ||
− | + | Maak met uw bestandsmanager en editor van uw voorkeur een bestand <tt>admin/language/en-GB/en-GB.com_helloworld.ini</tt>. Dit bestand zal vertalingen voor het beheergedeelte bevatten. | |
<span id="admin/language/en-GB/en-GB.com_helloworld.ini"> | <span id="admin/language/en-GB/en-GB.com_helloworld.ini"> |
Revision as of 17:56, 30 March 2018
This page is tagged because it NEEDS REVIEW. You can help the Joomla! Documentation Wiki by contributing to it.
More pages that need help similar to this one are here. NOTE-If you feel the need is satistified, please remove this notice.
Artikelen in deze reeks
Het toevoegen van een menu aan de website
Het toevoegen van een model aan de website
Een 'variable request' toevoegen in het menu type
De database gebruiken
Basis beheergedeelte
Het toevoegen van taalbeheer
Het toevoegen van acties in het beheergedeelte
Het toevoegen van decoraties aan het beheergedeelte
Het toevoegen van controles
Het toevoegen van categorieën
Het toevoegen van configuratie
Het toevoegen van een installatie/deïnstallatie/update script-bestand
Een formulier op de website toevoegen
Het gebruik van de taal filterfunctie
- Een modaal venster toevoegen
- Het toevoegen van associaties
- Het toevoegen van uitchecken
- Het toevoegen van volgorde
- Het toevoegen van niveaus
- Het toevoegen van versies
- Het toevoegen van tags
- Het toevoegen van rechten
- Het toevoegen van batch-proces
- Het toevoegen van cache
- Het toevoegen van een feed
Het toevoegen van een update-server
Dit is een reeks van artikelen met handleidingen over het ontwikkelen van een Model-View-Controller Component voor Joomla! versie.
Begin met de Introductie en navigeer door de artikelen van de reeks door middel van de navigatieknop onderaan of het vak rechts (Artikelen in deze reeks).
Inleiding
Deze handleiding is een onderdeel van de Het ontwikkelen van een MVC Component voor Joomla! 3.2 uitleg. Het is aan te raden om de vorige delen van deze handleiding te lezen voordat u dit onderdeel leest.
U kunt een video bekijken die gerelateerd is aan deze stap in de handleiding op Stap 8, Toevoegen van taalbeheer.
Joomla! 3.2 beheert talen voor componenten in vier verschillende situaties:
- weergave van een component op het publieke deel van de site
- beheren van een component in het beheergedeelte
- beheren van menu's in het beheergedeelte
- installatie van een component
Joomla! 3.2 gebruikt twee verschillende locaties voor de taalmappen:
- een in administrator/language of language
- een in the componentmap (administrator/components/*component*/language of components/*component*/language)
Het is afhankelijk van hoe de component geïnstalleerd wordt.
Toevoegen van vertalingen in het publieke deel van de site
Maak met de bestandsmanager en editor van uw voorkeur een bestand site/language/en-GB/en-GB.com_helloworld.ini. Dit bestand zal de vertalingen bevatten voor het publieke gedeelte. Op dit moment is het bestand leeg.
site/language/en-GB/en-GB.com_helloworld.ini
Op dit moment bevat dit bestand geen taalstrings.
Toevoegen van vertalingen bij het beheren van de component
Maak met uw bestandsmanager en editor van uw voorkeur een bestand admin/language/en-GB/en-GB.com_helloworld.ini. Dit bestand zal vertalingen voor het beheergedeelte bevatten.
admin/language/en-GB/en-GB.com_helloworld.ini
; Joomla! Project
; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved.
; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php
; Note : All ini files need to be saved as UTF-8
COM_HELLOWORLD_NUM="#"
COM_HELLOWORLD_PUBLISHED="Published"
COM_HELLOWORLD_HELLOWORLDS_NAME="Name"
COM_HELLOWORLD_ID="Id"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC="This message will be displayed"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL="Message"
COM_HELLOWORLD_HELLOWORLD_HEADING_GREETING="Greeting"
COM_HELLOWORLD_HELLOWORLD_HEADING_ID="Id"
With your favourite file manager and editor, put a file admin/language/en-GB/en-GB.com_helloworld.sys.ini. This file will contain translation for the backend part.
admin/language/en-GB/en-GB.com_helloworld.sys.ini
; Joomla! Project
; Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.
; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php
; Note : All ini files need to be saved as UTF-8
COM_HELLOWORLD="Hello World!"
COM_HELLOWORLD_DESCRIPTION="This is the Hello World description"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE="Hello World"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC="This view displays a selected message"
COM_HELLOWORLD_MENU="Hello World!"
Language File Location Options
Starting with version 1.7 there are 2 ways to install language files for an extension. One can use one or the other or a combination of both.
The 1.5 way will install the files in the CORE language folders (ROOT/administrator/language/ and ROOT/language/). Since version 1.6, include the files in a "language" folder installed at the root of the extension.
Therefore an extension can include a language folder with a .sys.ini different from the one installed in the Joomla core language folders. (This last one not being included in that language folder but in root or any other folder not installed.)
This lets us display 2 different descriptions: one from the sys.ini in the "language" folder is used as a message displayed when installation is finished, the other (from the .ini) is used for "normal" operation, that is, when the extension is edited in the back-end. This can be extremely useful when the installation also uses some scripts and requires a different value for the description.
The sys.ini file is also used to translate the name of the extensions in some back-end Managers and to provide menu translation for components.
Therefore, the xml would include since 1.6:
<files>
<[...]
<folder>language</folder> // This folder HAS to include the right subfolders, i.e. language/en-GB/ ... language/fr-FR/
<filename>whatever</filename>
[...]
</files>
<administration>
<files folder="admin">
<[...]
<folder>language</folder>
<filename>whatever</filename>
<[...]
</files>
</administration>
and/or then (1.5 way):
<languages folder="joomlacorelanguagefolders"> // If using another language folder for cleanliness. (Any folder name will fit.)
<language tag="en-GB">en-GB/en-GB.whatever.ini</language> // or
<language tag="en-GB">en-GB.whatever.ini</language> if no tagged subfolder
<language tag="en-GB">en-GB/en-GB.whatever.sys.ini</language> // or
<language tag="en-GB">en-GB.whatever.sys.ini</language> if no tagged subfolder
</languages>
or simply in ROOT:
<languages>
<language tag="en-GB">en-GB.whatever.ini</language>
<language tag="en-GB">en-GB.whatever.sys.ini</language>
</languages>
Language file used by the installation script during the installation of a component(the first install, not an upgrade) obeys specific rules described in the article, Specification of language files. During the first installation, only the language file included in the component folder (/administrator/components/com_helloworld/language)
is used when present. If this file is only provided in the CORE language folder (/administrator/language)
, no translation occurs. This also applies to KEYs used in the manifest file.
When upgrading or uninstalling the extension (not installing), it is the sys.ini file present in the extension root language folder which will display the result of the installation from the description key/value. Thereafter, if present, the sys.ini as well as the .ini installed in the CORE language folder will have priority over the files present in the root language folder of the extension.
One advantage of installing the files in the extension "language" folder is that these are not touched when updating a language pack.
The other advantage is that this folder can include multiple languages (en-GB always, fr-FR, it-IT, etc.) not requiring the user to install the corresponding language pack. This is handy as they are available if, later on, a user installs the corresponding pack.Packaging the component
Content of your code directory
- helloworld.xml
- site/helloworld.php
- site/index.html
- site/controller.php
- site/views/index.html
- site/views/helloworld/index.html
- site/views/helloworld/view.html.php
- site/views/helloworld/tmpl/index.html
- site/views/helloworld/tmpl/default.xml
- site/views/helloworld/tmpl/default.php
- site/models/index.html
- site/models/helloworld.php
- site/language/index.html
- site/language/en-GB/index.html
- site/language/en-GB/en-GB.com_helloworld.ini
- admin/index.html
- admin/helloworld.php
- admin/controller.php
- admin/sql/index.html
- admin/sql/install.mysql.utf8.sql
- admin/sql/uninstall.mysql.utf8.sql
- admin/sql/updates/index.html
- admin/sql/updates/mysql/index.html
- admin/sql/updates/mysql/0.0.1.sql
- admin/sql/updates/mysql/0.0.6.sql
- admin/models/index.html
- admin/models/fields/index.html
- admin/models/fields/helloworld.php
- admin/models/helloworlds.php
- admin/views/index.html
- admin/views/helloworlds/index.html
- admin/views/helloworlds/view.html.php
- admin/views/helloworlds/tmpl/index.html
- admin/views/helloworlds/tmpl/default.php
- admin/tables/index.html
- admin/tables/helloworld.php
- admin/language/index.html
- admin/language/en-GB/en-GB.com_helloworld.ini
- admin/language/en-GB/en-GB.com_helloworld.sys.ini
- admin/language/en-GB/index.html
Create a compressed file of this directory or directly download the archive and install it using the extension manager of Joomla. You can add a menu item of this component using the menu manager in the backend.
helloworld.xml
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.0" method="upgrade">
<name>COM_HELLOWORLD</name>
<!-- The following elements are optional and free of formatting constraints -->
<creationDate>January 2018</creationDate>
<author>John Doe</author>
<authorEmail>john.doe@example.org</authorEmail>
<authorUrl>http://www.example.org</authorUrl>
<copyright>Copyright Info</copyright>
<license>License Info</license>
<!-- The version string is recorded in the components table -->
<version>0.0.8</version>
<!-- The description is optional and defaults to the name -->
<description>COM_HELLOWORLD_DESCRIPTION</description>
<install> <!-- Runs on install -->
<sql>
<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
</sql>
</install>
<uninstall> <!-- Runs on uninstall -->
<sql>
<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>
<update> <!-- Runs on update; New since J2.5 -->
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>
<!-- Site Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /site/ in the package -->
<files folder="site">
<filename>index.html</filename>
<filename>helloworld.php</filename>
<filename>controller.php</filename>
<folder>views</folder>
<folder>models</folder>
</files>
<languages folder="site/language">
<language tag="en-GB">en-GB/en-GB.com_helloworld.ini</language>
</languages>
<administration>
<!-- Administration Menu Section -->
<menu link='index.php?option=com_helloworld'>COM_HELLOWORLD_MENU</menu>
<!-- Administration Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /admin/ in the package -->
<files folder="admin">
<!-- Admin Main File Copy Section -->
<filename>index.html</filename>
<filename>helloworld.php</filename>
<filename>controller.php</filename>
<!-- SQL files section -->
<folder>sql</folder>
<!-- tables files section -->
<folder>tables</folder>
<!-- models files section -->
<folder>models</folder>
<!-- views files section -->
<folder>views</folder>
</files>
<languages folder="admin/language">
<language tag="en-GB">en-GB/en-GB.com_helloworld.ini</language>
<language tag="en-GB">en-GB/en-GB.com_helloworld.sys.ini</language>
</languages>
</administration>
</extension>
In this helloworld.xml file, languages are installed in:
- administrator/language for the admin part (look at the xml languages tag).
- components/com_helloworld/language for the site part (there are no xml languages tag in the site part of the xml description file, but the language folder is included).
Please create a pull request or issue at https://github.com/joomla/Joomla-3.2-Hello-World-Component for any code descprepancies or if editing any of the source code on this page.