it’s not developers’ problem Pros: – Developers are more independent Cons: – Phrases can be untranslated for undefined time – Can’t translate before next release
* LoaderInterface is the interface implemented by all translation loaders. */ interface LoaderInterface { /** * Loads a locale. * * @param mixed $resource A resource * @param string $locale A locale * @param string $domain The domain * * @return MessageCatalogue A MessageCatalogue instance */ public function load($resource, $locale, $domain = 'messages'); }
each HTTP request o Only store the last modification time on a Redis key o Deploying translations means updating the Redis token HTTP Request Translator isFresh() SELECT translations fwrite app/cache
o Kunstmaan/KunstmaanTranslatorBundle o lexik/LexikTranslationBundle o servergrove/TranslationEditorBundle o schmittjoh/JMSTranslationBundle o Elao/ElaoFormTranslationBundle o Incenteev/IncenteevTranslationCheckerBundle o matteosister/TranslationBundle o Wiakowe/TranslationBundle o Pierstoval/TranslationBundle o fre5h/TranslationBundle o GiZystems/TranslationBundle o dinecat/I18nBundle o PUGX/PUGXI18nBundle o emmanuelballery/EBTranslationBundle
just curious github.com/openl10n § openl10n: The core project (API + javascript client) § openl10n-sdk: API client (Guzzle 4) § openl10n-cli: CLI tool § openl10n.js: In-context translations (not planned yet) § demo-(silex|symfony|angular|rails): Example of application with a openl10n configuration § etc.